@sctg/cline-core 3.84.0-beta.20260524130712

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 (230) hide show
  1. package/README.md +110 -0
  2. package/dist/ClineCore.d.ts +283 -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 +47 -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 +61 -0
  44. package/dist/extensions/context/compaction.d.ts +38 -0
  45. package/dist/extensions/index.d.ts +5 -0
  46. package/dist/extensions/mcp/client.d.ts +9 -0
  47. package/dist/extensions/mcp/config-loader.d.ts +25 -0
  48. package/dist/extensions/mcp/index.d.ts +11 -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/oauth.d.ts +48 -0
  52. package/dist/extensions/mcp/policies.d.ts +14 -0
  53. package/dist/extensions/mcp/tools.d.ts +3 -0
  54. package/dist/extensions/mcp/types.d.ts +111 -0
  55. package/dist/extensions/plugin/plugin-config-loader.d.ts +40 -0
  56. package/dist/extensions/plugin/plugin-load-report.d.ts +18 -0
  57. package/dist/extensions/plugin/plugin-loader.d.ts +22 -0
  58. package/dist/extensions/plugin/plugin-module-import.d.ts +4 -0
  59. package/dist/extensions/plugin/plugin-sandbox.d.ts +36 -0
  60. package/dist/extensions/plugin/plugin-targeting.d.ts +6 -0
  61. package/dist/extensions/plugin-sandbox-bootstrap.js +1 -0
  62. package/dist/extensions/tools/constants.d.ts +24 -0
  63. package/dist/extensions/tools/definitions.d.ts +102 -0
  64. package/dist/extensions/tools/executors/apply-patch-parser.d.ts +68 -0
  65. package/dist/extensions/tools/executors/apply-patch.d.ts +28 -0
  66. package/dist/extensions/tools/executors/bash.d.ts +49 -0
  67. package/dist/extensions/tools/executors/editor.d.ts +31 -0
  68. package/dist/extensions/tools/executors/file-read.d.ts +40 -0
  69. package/dist/extensions/tools/executors/index.d.ts +50 -0
  70. package/dist/extensions/tools/executors/search.d.ts +50 -0
  71. package/dist/extensions/tools/executors/web-fetch.d.ts +58 -0
  72. package/dist/extensions/tools/helpers.d.ts +15 -0
  73. package/dist/extensions/tools/index.d.ts +59 -0
  74. package/dist/extensions/tools/model-tool-routing.d.ts +33 -0
  75. package/dist/extensions/tools/presets.d.ts +132 -0
  76. package/dist/extensions/tools/runtime.d.ts +24 -0
  77. package/dist/extensions/tools/schemas.d.ts +241 -0
  78. package/dist/extensions/tools/team/delegated-agent.d.ts +43 -0
  79. package/dist/extensions/tools/team/index.d.ts +2 -0
  80. package/dist/extensions/tools/team/multi-agent.d.ts +230 -0
  81. package/dist/extensions/tools/team/projections.d.ts +8 -0
  82. package/dist/extensions/tools/team/runtime.d.ts +4 -0
  83. package/dist/extensions/tools/team/spawn-agent-tool.d.ts +84 -0
  84. package/dist/extensions/tools/team/subagent-prompts.d.ts +3 -0
  85. package/dist/extensions/tools/team/team-tools.d.ts +35 -0
  86. package/dist/extensions/tools/types.d.ts +254 -0
  87. package/dist/hooks/checkpoint-hooks.d.ts +45 -0
  88. package/dist/hooks/hook-extension.d.ts +2 -0
  89. package/dist/hooks/hook-file-config.d.ts +24 -0
  90. package/dist/hooks/hook-file-hooks.d.ts +21 -0
  91. package/dist/hooks/index.d.ts +5 -0
  92. package/dist/hooks/subprocess-runner.d.ts +21 -0
  93. package/dist/hooks/subprocess.d.ts +68 -0
  94. package/dist/hub/client/connect.d.ts +14 -0
  95. package/dist/hub/client/index.d.ts +88 -0
  96. package/dist/hub/client/session-client.d.ts +118 -0
  97. package/dist/hub/client/ui-client.d.ts +45 -0
  98. package/dist/hub/daemon/entry.d.ts +1 -0
  99. package/dist/hub/daemon/entry.js +722 -0
  100. package/dist/hub/daemon/index.d.ts +9 -0
  101. package/dist/hub/daemon/runtime-handlers.d.ts +12 -0
  102. package/dist/hub/daemon/start-shared-server.d.ts +18 -0
  103. package/dist/hub/discovery/defaults.d.ts +16 -0
  104. package/dist/hub/discovery/index.d.ts +30 -0
  105. package/dist/hub/discovery/workspace.d.ts +3 -0
  106. package/dist/hub/index.d.ts +32 -0
  107. package/dist/hub/index.js +719 -0
  108. package/dist/hub/runtime-host/hub-runtime-host.d.ts +76 -0
  109. package/dist/hub/runtime-host/remote-runtime-host.d.ts +9 -0
  110. package/dist/hub/server/browser-websocket.d.ts +19 -0
  111. package/dist/hub/server/command-transport.d.ts +7 -0
  112. package/dist/hub/server/handlers/approval-handlers.d.ts +17 -0
  113. package/dist/hub/server/handlers/capability-handlers.d.ts +12 -0
  114. package/dist/hub/server/handlers/client-handlers.d.ts +6 -0
  115. package/dist/hub/server/handlers/context.d.ts +57 -0
  116. package/dist/hub/server/handlers/run-handlers.d.ts +5 -0
  117. package/dist/hub/server/handlers/session-event-projector.d.ts +7 -0
  118. package/dist/hub/server/handlers/session-handlers.d.ts +20 -0
  119. package/dist/hub/server/hub-client-contributions.d.ts +19 -0
  120. package/dist/hub/server/hub-notifications.d.ts +7 -0
  121. package/dist/hub/server/hub-schedule-events.d.ts +2 -0
  122. package/dist/hub/server/hub-server-logging.d.ts +2 -0
  123. package/dist/hub/server/hub-server-options.d.ts +55 -0
  124. package/dist/hub/server/hub-server-transport.d.ts +37 -0
  125. package/dist/hub/server/hub-session-records.d.ts +9 -0
  126. package/dist/hub/server/hub-websocket-server.d.ts +6 -0
  127. package/dist/hub/server/index.d.ts +4 -0
  128. package/dist/hub/server/native-transport.d.ts +16 -0
  129. package/dist/index.d.ts +104 -0
  130. package/dist/index.js +717 -0
  131. package/dist/remote-config/integration.d.ts +17 -0
  132. package/dist/runtime/capabilities/index.d.ts +2 -0
  133. package/dist/runtime/capabilities/normalize-runtime-capabilities.d.ts +2 -0
  134. package/dist/runtime/capabilities/runtime-capabilities.d.ts +6 -0
  135. package/dist/runtime/config/agent-message-codec.d.ts +6 -0
  136. package/dist/runtime/config/agent-runtime-config-builder.d.ts +80 -0
  137. package/dist/runtime/host/history.d.ts +19 -0
  138. package/dist/runtime/host/host.d.ts +7 -0
  139. package/dist/runtime/host/local/agent-event-bridge.d.ts +30 -0
  140. package/dist/runtime/host/local/session-record.d.ts +6 -0
  141. package/dist/runtime/host/local/session-service-invoker.d.ts +4 -0
  142. package/dist/runtime/host/local/spawn-tool.d.ts +15 -0
  143. package/dist/runtime/host/local/user-files.d.ts +1 -0
  144. package/dist/runtime/host/local-runtime-host.d.ts +127 -0
  145. package/dist/runtime/host/runtime-host-support.d.ts +20 -0
  146. package/dist/runtime/host/runtime-host.d.ts +169 -0
  147. package/dist/runtime/orchestration/runtime-builder.d.ts +6 -0
  148. package/dist/runtime/orchestration/runtime-event-adapter.d.ts +101 -0
  149. package/dist/runtime/orchestration/runtime-oauth-token-manager.d.ts +30 -0
  150. package/dist/runtime/orchestration/session-runtime-orchestrator.d.ts +218 -0
  151. package/dist/runtime/orchestration/session-runtime.d.ts +58 -0
  152. package/dist/runtime/orchestration/user-input-builder.d.ts +15 -0
  153. package/dist/runtime/safety/loop-detection.d.ts +58 -0
  154. package/dist/runtime/safety/mistake-tracker.d.ts +68 -0
  155. package/dist/runtime/safety/rules.d.ts +6 -0
  156. package/dist/runtime/tools/subprocess-sandbox.d.ts +43 -0
  157. package/dist/runtime/tools/tool-approval.d.ts +9 -0
  158. package/dist/runtime/turn-queue/pending-prompt-service.d.ts +69 -0
  159. package/dist/services/agent-events.d.ts +34 -0
  160. package/dist/services/config.d.ts +2 -0
  161. package/dist/services/global-settings.d.ts +34 -0
  162. package/dist/services/llms/cline-recommended-models.d.ts +19 -0
  163. package/dist/services/llms/configured-provider-registry.d.ts +27 -0
  164. package/dist/services/llms/handler-factory.d.ts +3 -0
  165. package/dist/services/llms/provider-defaults.d.ts +28 -0
  166. package/dist/services/llms/provider-settings.d.ts +250 -0
  167. package/dist/services/llms/runtime-config.d.ts +3 -0
  168. package/dist/services/llms/runtime-registry.d.ts +19 -0
  169. package/dist/services/llms/runtime-types.d.ts +84 -0
  170. package/dist/services/local-runtime-bootstrap.d.ts +45 -0
  171. package/dist/services/plugin-tools.d.ts +28 -0
  172. package/dist/services/providers/local-provider-registry.d.ts +230 -0
  173. package/dist/services/providers/local-provider-service.d.ts +70 -0
  174. package/dist/services/providers/model-source.d.ts +3 -0
  175. package/dist/services/providers/provider-config-fields.d.ts +37 -0
  176. package/dist/services/session-artifacts.d.ts +17 -0
  177. package/dist/services/session-data.d.ts +51 -0
  178. package/dist/services/session-telemetry.d.ts +15 -0
  179. package/dist/services/storage/file-team-store.d.ts +28 -0
  180. package/dist/services/storage/provider-settings-legacy-migration.d.ts +38 -0
  181. package/dist/services/storage/provider-settings-manager.d.ts +23 -0
  182. package/dist/services/storage/sqlite-session-store.d.ts +30 -0
  183. package/dist/services/storage/sqlite-team-store.d.ts +34 -0
  184. package/dist/services/storage/team-store.d.ts +15 -0
  185. package/dist/services/telemetry/ITelemetryAdapter.d.ts +54 -0
  186. package/dist/services/telemetry/OpenTelemetryAdapter.d.ts +43 -0
  187. package/dist/services/telemetry/OpenTelemetryProvider.d.ts +83 -0
  188. package/dist/services/telemetry/TelemetryLoggerSink.d.ts +27 -0
  189. package/dist/services/telemetry/TelemetryService.d.ts +34 -0
  190. package/dist/services/telemetry/core-events.d.ts +276 -0
  191. package/dist/services/telemetry/distinct-id.d.ts +1 -0
  192. package/dist/services/telemetry/index.d.ts +3 -0
  193. package/dist/services/telemetry/index.js +1 -0
  194. package/dist/services/usage.d.ts +19 -0
  195. package/dist/services/workspace/file-indexer.d.ts +5 -0
  196. package/dist/services/workspace/index.d.ts +4 -0
  197. package/dist/services/workspace/mention-enricher.d.ts +13 -0
  198. package/dist/services/workspace/workspace-manager.d.ts +27 -0
  199. package/dist/services/workspace/workspace-manifest.d.ts +31 -0
  200. package/dist/services/workspace/workspace-telemetry.d.ts +18 -0
  201. package/dist/session/checkpoint-restore.d.ts +20 -0
  202. package/dist/session/models/session-graph.d.ts +15 -0
  203. package/dist/session/models/session-manifest.d.ts +31 -0
  204. package/dist/session/models/session-row.d.ts +92 -0
  205. package/dist/session/services/file-session-service.d.ts +10 -0
  206. package/dist/session/services/message-builder.d.ts +66 -0
  207. package/dist/session/services/persistence-service.d.ts +59 -0
  208. package/dist/session/services/session-service.d.ts +15 -0
  209. package/dist/session/session-snapshot.d.ts +59 -0
  210. package/dist/session/session-versioning-service.d.ts +48 -0
  211. package/dist/session/stores/conversation-store.d.ts +29 -0
  212. package/dist/session/stores/session-manifest-store.d.ts +23 -0
  213. package/dist/session/stores/team-persistence-store.d.ts +23 -0
  214. package/dist/session/team/index.d.ts +2 -0
  215. package/dist/session/team/team-child-session-manager.d.ts +35 -0
  216. package/dist/session/team/team-session-coordinator.d.ts +13 -0
  217. package/dist/settings/index.d.ts +2 -0
  218. package/dist/settings/settings-service.d.ts +6 -0
  219. package/dist/settings/types.d.ts +43 -0
  220. package/dist/types/chat-schema.d.ts +163 -0
  221. package/dist/types/common.d.ts +24 -0
  222. package/dist/types/config.d.ts +167 -0
  223. package/dist/types/events.d.ts +89 -0
  224. package/dist/types/provider-settings.d.ts +19 -0
  225. package/dist/types/session.d.ts +122 -0
  226. package/dist/types/sessions.d.ts +38 -0
  227. package/dist/types/storage.d.ts +36 -0
  228. package/dist/types.d.ts +32 -0
  229. package/dist/version.d.ts +1 -0
  230. package/package.json +80 -0
@@ -0,0 +1,20 @@
1
+ import type * as LlmsProviders from "@cline/llms";
2
+ import type { CheckpointEntry, CheckpointMetadata } from "../hooks/checkpoint-hooks";
3
+ import type { SessionRecord } from "../types/sessions";
4
+ export interface CheckpointRestorePlan {
5
+ checkpoint: CheckpointEntry;
6
+ messages?: LlmsProviders.Message[];
7
+ cwd: string;
8
+ }
9
+ export declare function readSessionCheckpointHistory(session: Pick<SessionRecord, "metadata"> | undefined): CheckpointEntry[];
10
+ export declare function createRestoredCheckpointMetadata(session: Pick<SessionRecord, "metadata"> | undefined, runCount: number): CheckpointMetadata | undefined;
11
+ export declare function trimMessagesToCheckpoint(messages: LlmsProviders.Message[], runCount: number): LlmsProviders.Message[];
12
+ export declare function trimMessagesBeforeCheckpoint(messages: LlmsProviders.Message[], runCount: number): LlmsProviders.Message[];
13
+ export declare function createCheckpointRestorePlan(input: {
14
+ session: SessionRecord;
15
+ messages?: LlmsProviders.Message[];
16
+ checkpointRunCount: number;
17
+ cwd?: string;
18
+ restoreMessages?: boolean;
19
+ }): CheckpointRestorePlan;
20
+ export declare function applyCheckpointToWorktree(cwd: string, checkpoint: CheckpointEntry): Promise<void>;
@@ -0,0 +1,15 @@
1
+ import type { HookEventPayload } from "../../hooks";
2
+ import type { SessionStatus } from "../../types/common";
3
+ export declare function sanitizeSessionToken(value: string): string;
4
+ export declare function makeSubSessionId(rootSessionId: string, agentId: string): string;
5
+ export declare function makeTeamTaskSubSessionId(rootSessionId: string, agentId: string): string;
6
+ export declare function parseTeamTaskSubSessionId(sessionId: string): {
7
+ rootSessionId: string;
8
+ agentId: string;
9
+ teamTaskId: string;
10
+ } | null;
11
+ export declare function parseSubSessionId(sessionId: string): {
12
+ rootSessionId: string;
13
+ agentId: string;
14
+ } | null;
15
+ export declare function deriveSubsessionStatus(event: HookEventPayload): SessionStatus;
@@ -0,0 +1,31 @@
1
+ import { z } from "zod";
2
+ export declare const SessionManifestSchema: z.ZodObject<{
3
+ version: z.ZodLiteral<1>;
4
+ session_id: z.ZodString;
5
+ source: z.ZodString;
6
+ pid: z.ZodNumber;
7
+ started_at: z.ZodString;
8
+ ended_at: z.ZodOptional<z.ZodString>;
9
+ exit_code: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
10
+ status: z.ZodEnum<{
11
+ failed: "failed";
12
+ running: "running";
13
+ cancelled: "cancelled";
14
+ pending: "pending";
15
+ completed: "completed";
16
+ idle: "idle";
17
+ }>;
18
+ interactive: z.ZodBoolean;
19
+ provider: z.ZodString;
20
+ model: z.ZodString;
21
+ cwd: z.ZodString;
22
+ workspace_root: z.ZodString;
23
+ team_name: z.ZodOptional<z.ZodString>;
24
+ enable_tools: z.ZodBoolean;
25
+ enable_spawn: z.ZodBoolean;
26
+ enable_teams: z.ZodBoolean;
27
+ prompt: z.ZodOptional<z.ZodString>;
28
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
29
+ messages_path: z.ZodOptional<z.ZodString>;
30
+ }, z.core.$strip>;
31
+ export type SessionManifest = z.infer<typeof SessionManifestSchema>;
@@ -0,0 +1,92 @@
1
+ import type { TeamTeammateSpec } from "@cline/shared";
2
+ import type { AgentTeamsRuntime } from "../../extensions/tools/team";
3
+ import type { SessionSource, SessionStatus } from "../../types/common";
4
+ import type { SessionManifest } from "./session-manifest";
5
+ export interface SessionRow {
6
+ sessionId: string;
7
+ source: string;
8
+ pid: number;
9
+ startedAt: string;
10
+ endedAt?: string | null;
11
+ exitCode?: number | null;
12
+ status: SessionStatus;
13
+ statusLock: number;
14
+ interactive: boolean;
15
+ provider: string;
16
+ model: string;
17
+ cwd: string;
18
+ workspaceRoot: string;
19
+ teamName?: string | null;
20
+ enableTools: boolean;
21
+ enableSpawn: boolean;
22
+ enableTeams: boolean;
23
+ parentSessionId?: string | null;
24
+ parentAgentId?: string | null;
25
+ agentId?: string | null;
26
+ conversationId?: string | null;
27
+ isSubagent: boolean;
28
+ prompt?: string | null;
29
+ metadata?: Record<string, unknown> | null;
30
+ hookPath?: string;
31
+ messagesPath?: string | null;
32
+ updatedAt: string;
33
+ }
34
+ export interface CreateRootSessionInput {
35
+ sessionId: string;
36
+ source: SessionSource;
37
+ pid: number;
38
+ startedAt: string;
39
+ interactive: boolean;
40
+ provider: string;
41
+ model: string;
42
+ cwd: string;
43
+ workspaceRoot: string;
44
+ teamName?: string;
45
+ enableTools: boolean;
46
+ enableSpawn: boolean;
47
+ enableTeams: boolean;
48
+ prompt?: string;
49
+ metadata?: Record<string, unknown>;
50
+ messagesPath: string;
51
+ }
52
+ export interface CreateRootSessionWithArtifactsInput {
53
+ sessionId: string;
54
+ source: SessionSource;
55
+ pid: number;
56
+ interactive: boolean;
57
+ provider: string;
58
+ model: string;
59
+ cwd: string;
60
+ workspaceRoot: string;
61
+ teamName?: string;
62
+ enableTools: boolean;
63
+ enableSpawn: boolean;
64
+ enableTeams: boolean;
65
+ prompt?: string;
66
+ metadata?: Record<string, unknown>;
67
+ startedAt?: string;
68
+ }
69
+ export interface RootSessionArtifacts {
70
+ manifestPath: string;
71
+ messagesPath: string;
72
+ manifest: SessionManifest;
73
+ }
74
+ export interface UpsertSubagentInput {
75
+ agentId: string;
76
+ parentAgentId: string;
77
+ conversationId: string;
78
+ prompt?: string;
79
+ rootSessionId?: string;
80
+ }
81
+ /** SELECT clause that aliases snake_case columns to camelCase SessionRow keys. */
82
+ export declare const SESSION_SELECT_COLUMNS = "\n\tsession_id AS sessionId,\n\tsource,\n\tpid,\n\tstarted_at AS startedAt,\n\tended_at AS endedAt,\n\texit_code AS exitCode,\n\tstatus,\n\tstatus_lock AS statusLock,\n\tinteractive,\n\tprovider,\n\tmodel,\n\tcwd,\n\tworkspace_root AS workspaceRoot,\n\tteam_name AS teamName,\n\tenable_tools AS enableTools,\n\tenable_spawn AS enableSpawn,\n\tenable_teams AS enableTeams,\n\tparent_session_id AS parentSessionId,\n\tparent_agent_id AS parentAgentId,\n\tagent_id AS agentId,\n\tconversation_id AS conversationId,\n\tis_subagent AS isSubagent,\n\tprompt,\n\tmetadata_json AS metadata,\n\thook_path AS hookPath,\n\tmessages_path AS messagesPath,\n\tupdated_at AS updatedAt";
83
+ export declare function patchSqliteRow(raw: Record<string, unknown>): SessionRow;
84
+ export declare function stringifyMetadata(metadata: Record<string, unknown> | null | undefined): string | null;
85
+ export type TeamRuntimeState = ReturnType<AgentTeamsRuntime["exportState"]>;
86
+ export interface PersistedTeamEnvelope {
87
+ version: 1;
88
+ updatedAt: string;
89
+ teamState: TeamRuntimeState;
90
+ teammates: TeamTeammateSpec[];
91
+ }
92
+ export declare function reviveTeamStateDates(state: TeamRuntimeState): TeamRuntimeState;
@@ -0,0 +1,10 @@
1
+ import type { BasicLogger } from "@cline/shared";
2
+ import type { SessionMessagesArtifactUploader } from "../../types/session";
3
+ import { UnifiedSessionPersistenceService } from "./persistence-service";
4
+ export declare class FileSessionService extends UnifiedSessionPersistenceService {
5
+ constructor(sessionsDir?: string, options?: {
6
+ messagesArtifactUploader?: SessionMessagesArtifactUploader;
7
+ logger?: BasicLogger;
8
+ });
9
+ ensureSessionsDir(): string;
10
+ }
@@ -0,0 +1,66 @@
1
+ /**
2
+ * API-safe message builder for provider payloads.
3
+ *
4
+ * @see PLAN.md §3.1 — moved from `packages/agents/src/context/message-builder.ts`.
5
+ * @see PLAN.md §3.2.3 — public surface of `MessageBuilder`.
6
+ *
7
+ * Walks the conversation to produce provider-ready messages, handling
8
+ * tool-result truncation and outdated-file-content rewrite for compaction.
9
+ * Per-instance caches make this host state.
10
+ */
11
+ import { type Message } from "@cline/shared";
12
+ /**
13
+ * Builds an API-safe message copy without mutating original conversation history.
14
+ */
15
+ export declare class MessageBuilder {
16
+ private readonly maxToolResultChars;
17
+ private readonly targetToolNames;
18
+ private readonly maxTotalTextBytes;
19
+ private indexedMessageCount;
20
+ private indexedTailRef;
21
+ private readonly toolNameByIdCache;
22
+ private readonly readLocatorsByToolUseIdCache;
23
+ private readonly latestReadToolUseByLocatorCache;
24
+ private readonly latestFullContentOwnerByPathCache;
25
+ private readResultLocatorCache;
26
+ constructor(maxToolResultChars?: number, targetToolNames?: Set<string>, maxTotalTextBytes?: number);
27
+ buildForApi(messages: Message[]): Message[];
28
+ private transformBlock;
29
+ private reindex;
30
+ private addMissingToolResults;
31
+ private appendMissingToolResults;
32
+ private shouldMergeUserAfterToolResults;
33
+ private contentBlocksForUserMerge;
34
+ private collectToolResultIds;
35
+ private isToolResultOnlyMessage;
36
+ private trackMissingToolCalls;
37
+ private createMissingToolResultMessage;
38
+ private createMissingToolResultBlocks;
39
+ private formatMissingToolResultText;
40
+ private resetIndexes;
41
+ private getReadLocators;
42
+ private extractLocatorsFromReadToolInput;
43
+ private extractReadLocatorsFromToolResultContent;
44
+ private tryParseReadLocators;
45
+ private extractLocatorsFromParsedReadResult;
46
+ private extractLocatorFromReadRequest;
47
+ private extractLocatorFromResultEntry;
48
+ private extractPath;
49
+ private extractLineNumber;
50
+ private parseReadQuery;
51
+ private dedupeReadLocators;
52
+ private toReadLocatorKey;
53
+ private isFullFileRead;
54
+ private isOutdatedReadLocator;
55
+ private replaceOutdatedReadContent;
56
+ private countOutdatedImageEntries;
57
+ private replaceOutdatedInString;
58
+ private replaceOutdatedReadEntry;
59
+ private isReadTool;
60
+ private shouldTruncateTool;
61
+ private truncateToolResultContent;
62
+ private truncateMiddle;
63
+ private truncateToTotalTextBudget;
64
+ private countMessageTextBytes;
65
+ private collectTruncationCandidates;
66
+ }
@@ -0,0 +1,59 @@
1
+ import type * as LlmsProviders from "@cline/llms";
2
+ import type { AgentResult, BasicLogger } from "@cline/shared";
3
+ import type { SubAgentEndContext, SubAgentStartContext } from "../../extensions/tools/team";
4
+ import type { HookEventPayload } from "../../hooks";
5
+ import { type SessionStatus, type TerminalSessionStatus } 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
+ logger?: BasicLogger;
19
+ });
20
+ private toPersistedMessages;
21
+ ensureSessionsDir(): string;
22
+ writeSessionManifest(manifestPath: string, manifest: import("../models/session-manifest").SessionManifest): void;
23
+ readSessionManifest(sessionId: string): import("../models/session-manifest").SessionManifest | undefined;
24
+ createRootSessionWithArtifacts(input: import("../models/session-row").CreateRootSessionWithArtifactsInput): Promise<import("../models/session-row").RootSessionArtifacts>;
25
+ updateSessionStatus(sessionId: string, status: SessionStatus, exitCode?: number | null): Promise<{
26
+ updated: boolean;
27
+ endedAt?: string;
28
+ }>;
29
+ updateSession(input: {
30
+ sessionId: string;
31
+ prompt?: string | null;
32
+ metadata?: Record<string, unknown> | null;
33
+ title?: string | null;
34
+ }): Promise<{
35
+ updated: boolean;
36
+ }>;
37
+ queueSpawnRequest(event: HookEventPayload): Promise<void>;
38
+ upsertSubagentSession(input: import("../models/session-row").UpsertSubagentInput): Promise<string | undefined>;
39
+ upsertSubagentSessionFromHook(event: HookEventPayload): Promise<string | undefined>;
40
+ appendSubagentHookAudit(_subSessionId: string, event: HookEventPayload): Promise<void>;
41
+ persistSessionMessages(sessionId: string, messages: LlmsProviders.Message[], systemPrompt?: string): Promise<void>;
42
+ applySubagentStatus(subSessionId: string, event: HookEventPayload): Promise<void>;
43
+ applySubagentStatusBySessionId(subSessionId: string, status: SessionStatus): Promise<void>;
44
+ applyStatusToRunningChildSessions(parentSessionId: string, status: TerminalSessionStatus): Promise<void>;
45
+ onTeamTaskStart(rootSessionId: string, agentId: string, message: string): Promise<void>;
46
+ onTeamTaskEnd(rootSessionId: string, agentId: string, status: SessionStatus, summary?: string, result?: AgentResult, messages?: LlmsProviders.Message[]): Promise<void>;
47
+ onTeamTaskProgress(rootSessionId: string, agentId: string, progress: string, options?: {
48
+ kind?: "heartbeat" | "progress" | "text";
49
+ }): Promise<void>;
50
+ handleSubAgentStart(rootSessionId: string, context: SubAgentStartContext): Promise<void>;
51
+ handleSubAgentEnd(rootSessionId: string, context: SubAgentEndContext): Promise<void>;
52
+ private isPidAlive;
53
+ private reconcileDeadRunningSession;
54
+ listSessions(limit?: number): Promise<SessionRow[]>;
55
+ reconcileDeadSessions(limit?: number): Promise<number>;
56
+ deleteSession(sessionId: string): Promise<{
57
+ deleted: boolean;
58
+ }>;
59
+ }
@@ -0,0 +1,15 @@
1
+ import type { BasicLogger } from "@cline/shared";
2
+ import type { SqliteSessionStore } from "../../services/storage/sqlite-session-store";
3
+ import type { SessionMessagesArtifactUploader } from "../../types/session";
4
+ import { type CreateRootSessionInput } from "../models/session-row";
5
+ import { UnifiedSessionPersistenceService } from "./persistence-service";
6
+ export declare class CoreSessionService extends UnifiedSessionPersistenceService {
7
+ private readonly store;
8
+ constructor(store: SqliteSessionStore, options?: {
9
+ sessionArtifactsDir?: string;
10
+ messagesArtifactUploader?: SessionMessagesArtifactUploader;
11
+ logger?: BasicLogger;
12
+ });
13
+ createRootSession(input: CreateRootSessionInput): void;
14
+ }
15
+ export type { CreateRootSessionInput, CreateRootSessionWithArtifactsInput, RootSessionArtifacts, SessionRow, UpsertSubagentInput, } from "../models/session-row";
@@ -0,0 +1,59 @@
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
+ aggregateUsage?: SessionAccumulatedUsage;
51
+ checkpoint?: CoreSessionCheckpointSnapshot;
52
+ }
53
+ export declare function createCoreSessionSnapshot(input: {
54
+ session: SessionRecord;
55
+ messages?: LlmsProviders.Message[];
56
+ usage?: SessionAccumulatedUsage;
57
+ aggregateUsage?: SessionAccumulatedUsage;
58
+ }): CoreSessionSnapshot;
59
+ 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,23 @@
1
+ import type * as LlmsProviders from "@cline/llms";
2
+ import type { BasicLogger } from "@cline/shared";
3
+ import { SessionArtifacts } from "../../services/session-artifacts";
4
+ import type { SessionMessagesArtifactUploader, SessionPersistenceAdapter } from "../../types/session";
5
+ import { type SessionManifest } from "../models/session-manifest";
6
+ export declare class SessionManifestStore {
7
+ private readonly adapter;
8
+ private readonly messagesArtifactUploader?;
9
+ private readonly logger?;
10
+ readonly artifacts: SessionArtifacts;
11
+ constructor(adapter: SessionPersistenceAdapter, messagesArtifactUploader?: SessionMessagesArtifactUploader | undefined, logger?: BasicLogger | undefined);
12
+ ensureSessionsDir(): string;
13
+ initializeMessagesFile(sessionId: string, path: string, startedAt: string): void;
14
+ writeSessionManifest(manifestPath: string, manifest: SessionManifest): void;
15
+ readSessionManifest(sessionId: string): SessionManifest | undefined;
16
+ readManifestFile(sessionId: string): {
17
+ path: string;
18
+ manifest?: SessionManifest;
19
+ };
20
+ resolveArtifactPath(sessionId: string, kind: "messagesPath", fallback: (id: string) => string): Promise<string>;
21
+ persistSessionMessages(sessionId: string, messages: LlmsProviders.Message[], systemPrompt?: string): Promise<void>;
22
+ appendStaleSessionHookLog(detectedAt: string, sessionId: string, pid: number, reason: string, source: string): void;
23
+ }
@@ -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, type TerminalSessionStatus } 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: TerminalSessionStatus): 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,43 @@
1
+ import type { UserInstructionConfigService } from "../extensions/config";
2
+ import type { BuiltinToolAvailabilityContext } from "../extensions/tools";
3
+ export type CoreSettingsType = "skills" | "workflows" | "rules" | "tools" | "mcp";
4
+ export type CoreSettingsItemKind = "skill" | "workflow" | "rule" | "tool" | "mcp";
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
+ mcp: CoreSettingsItem[];
22
+ }
23
+ export interface CoreSettingsListInput {
24
+ cwd?: string;
25
+ workspaceRoot?: string;
26
+ userInstructionService?: UserInstructionConfigService;
27
+ availabilityContext?: BuiltinToolAvailabilityContext;
28
+ }
29
+ export interface CoreSettingsToggleInput extends CoreSettingsListInput {
30
+ type: CoreSettingsType;
31
+ id?: string;
32
+ path?: string;
33
+ name?: string;
34
+ enabled?: boolean;
35
+ }
36
+ export interface CoreSettingsMutationResult {
37
+ snapshot: CoreSettingsSnapshot;
38
+ changedTypes: CoreSettingsType[];
39
+ }
40
+ export interface ClineCoreSettingsApi {
41
+ list(input?: CoreSettingsListInput): Promise<CoreSettingsSnapshot>;
42
+ toggle(input: CoreSettingsToggleInput): Promise<CoreSettingsMutationResult>;
43
+ }