@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,77 @@
1
+ export interface UnifiedConfigFileContext<TType extends string = string> {
2
+ type: TType;
3
+ directoryPath: string;
4
+ fileName: string;
5
+ filePath: string;
6
+ content: string;
7
+ }
8
+ export interface UnifiedConfigFileCandidate {
9
+ directoryPath: string;
10
+ fileName: string;
11
+ filePath: string;
12
+ }
13
+ export interface UnifiedConfigDefinition<TType extends string = string, TItem = unknown> {
14
+ type: TType;
15
+ directories: ReadonlyArray<string>;
16
+ discoverFiles?: (directoryPath: string) => Promise<ReadonlyArray<UnifiedConfigFileCandidate>>;
17
+ includeFile?: (fileName: string, filePath: string) => boolean;
18
+ parseFile: (context: UnifiedConfigFileContext<TType>) => TItem;
19
+ resolveId: (item: TItem, context: UnifiedConfigFileContext<TType>) => string;
20
+ }
21
+ export interface UnifiedConfigWatcherOptions {
22
+ debounceMs?: number;
23
+ emitParseErrors?: boolean;
24
+ }
25
+ export interface UnifiedConfigRecord<TType extends string = string, TItem = unknown> {
26
+ type: TType;
27
+ id: string;
28
+ item: TItem;
29
+ filePath: string;
30
+ }
31
+ export type UnifiedConfigWatcherEvent<TType extends string = string, TItem = unknown> = {
32
+ kind: "upsert";
33
+ record: UnifiedConfigRecord<TType, TItem>;
34
+ } | {
35
+ kind: "remove";
36
+ type: TType;
37
+ id: string;
38
+ filePath: string;
39
+ } | {
40
+ kind: "error";
41
+ type: TType;
42
+ error: unknown;
43
+ filePath?: string;
44
+ };
45
+ export declare class UnifiedConfigFileWatcher<TType extends string = string, TItem = unknown> {
46
+ private readonly definitions;
47
+ private readonly debounceMs;
48
+ private readonly emitParseErrors;
49
+ private readonly listeners;
50
+ private readonly recordsByType;
51
+ private readonly watchersByDirectory;
52
+ private readonly baseTypesByDirectory;
53
+ private watchedTypesByDirectory;
54
+ private readonly discoveredDirectoriesByType;
55
+ private readonly definitionsByType;
56
+ private readonly pendingTypes;
57
+ private flushTimer;
58
+ private refreshQueue;
59
+ private started;
60
+ constructor(definitions: ReadonlyArray<UnifiedConfigDefinition<TType, TItem>>, options?: UnifiedConfigWatcherOptions);
61
+ subscribe(listener: (event: UnifiedConfigWatcherEvent<TType, TItem>) => void): () => void;
62
+ start(): Promise<void>;
63
+ stop(): void;
64
+ refreshAll(): Promise<void>;
65
+ refreshType(type: TType): Promise<void>;
66
+ getSnapshot(type: TType): Map<string, UnifiedConfigRecord<TType, TItem>>;
67
+ getAllSnapshots(): Map<TType, Map<string, UnifiedConfigRecord<TType, TItem>>>;
68
+ private emit;
69
+ private enqueueRefresh;
70
+ private startDirectoryWatchers;
71
+ private syncDirectoryWatchers;
72
+ private scheduleFlush;
73
+ private refreshTypeInternal;
74
+ private loadDefinition;
75
+ private buildDesiredTypesByDirectory;
76
+ private readDirectoryFileCandidates;
77
+ }
@@ -0,0 +1,64 @@
1
+ import { RULES_CONFIG_DIRECTORY_NAME, SKILLS_CONFIG_DIRECTORY_NAME, WORKFLOWS_CONFIG_DIRECTORY_NAME } from "@cline/shared/storage";
2
+ import { type UnifiedConfigDefinition, UnifiedConfigFileWatcher, type UnifiedConfigWatcherEvent } from "./unified-config-file-watcher";
3
+ export { RULES_CONFIG_DIRECTORY_NAME, SKILLS_CONFIG_DIRECTORY_NAME, WORKFLOWS_CONFIG_DIRECTORY_NAME, };
4
+ export interface ParseMarkdownFrontmatterResult {
5
+ data: Record<string, unknown>;
6
+ body: string;
7
+ hadFrontmatter: boolean;
8
+ parseError?: string;
9
+ }
10
+ export interface SkillConfig {
11
+ name: string;
12
+ description?: string;
13
+ disabled?: boolean;
14
+ instructions: string;
15
+ frontmatter: Record<string, unknown>;
16
+ }
17
+ export interface RuleConfig {
18
+ name: string;
19
+ disabled?: boolean;
20
+ instructions: string;
21
+ frontmatter: Record<string, unknown>;
22
+ }
23
+ export interface WorkflowConfig {
24
+ name: string;
25
+ disabled?: boolean;
26
+ description?: string;
27
+ instructions: string;
28
+ frontmatter: Record<string, unknown>;
29
+ }
30
+ export type UserInstructionConfigType = "skill" | "rule" | "workflow";
31
+ export type UserInstructionConfig = SkillConfig | RuleConfig | WorkflowConfig;
32
+ export type UserInstructionConfigWatcher = UnifiedConfigFileWatcher<UserInstructionConfigType, UserInstructionConfig>;
33
+ export type UserInstructionConfigWatcherEvent = UnifiedConfigWatcherEvent<UserInstructionConfigType, UserInstructionConfig>;
34
+ export interface CreateInstructionWatcherOptions {
35
+ debounceMs?: number;
36
+ emitParseErrors?: boolean;
37
+ }
38
+ export interface CreateSkillsConfigDefinitionOptions {
39
+ directories?: ReadonlyArray<string>;
40
+ workspacePath?: string;
41
+ }
42
+ export interface CreateRulesConfigDefinitionOptions {
43
+ directories?: ReadonlyArray<string>;
44
+ workspacePath?: string;
45
+ }
46
+ export interface CreateWorkflowsConfigDefinitionOptions {
47
+ directories?: ReadonlyArray<string>;
48
+ workspacePath?: string;
49
+ }
50
+ export declare function parseSkillConfigFromMarkdown(content: string, fallbackName: string): SkillConfig;
51
+ export declare function parseRuleConfigFromMarkdown(content: string, fallbackName: string): RuleConfig;
52
+ export declare function parseWorkflowConfigFromMarkdown(content: string, fallbackName: string): WorkflowConfig;
53
+ export declare function resolveSkillsConfigSearchPaths(workspacePath?: string): string[];
54
+ export declare function resolveRulesConfigSearchPaths(workspacePath?: string): string[];
55
+ export declare function resolveWorkflowsConfigSearchPaths(workspacePath?: string): string[];
56
+ export declare function createSkillsConfigDefinition(options?: CreateSkillsConfigDefinitionOptions): UnifiedConfigDefinition<"skill", SkillConfig>;
57
+ export declare function createRulesConfigDefinition(options?: CreateRulesConfigDefinitionOptions): UnifiedConfigDefinition<"rule", RuleConfig>;
58
+ export declare function createWorkflowsConfigDefinition(options?: CreateWorkflowsConfigDefinitionOptions): UnifiedConfigDefinition<"workflow", WorkflowConfig>;
59
+ export interface CreateUserInstructionConfigWatcherOptions extends CreateInstructionWatcherOptions {
60
+ skills?: CreateSkillsConfigDefinitionOptions;
61
+ rules?: CreateRulesConfigDefinitionOptions;
62
+ workflows?: CreateWorkflowsConfigDefinitionOptions;
63
+ }
64
+ export declare function createUserInstructionConfigWatcher(options?: CreateUserInstructionConfigWatcherOptions): UserInstructionConfigWatcher;
@@ -0,0 +1,25 @@
1
+ import type { AgentExtension } from "@cline/shared";
2
+ import { type SkillsExecutorWithMetadata } from "../tools";
3
+ import type { SkillConfig, UserInstructionConfigWatcher } from "./user-instruction-config-loader";
4
+ type SkillsExecutorMetadataItem = {
5
+ id: string;
6
+ name: string;
7
+ description?: string;
8
+ disabled: boolean;
9
+ };
10
+ type ConfiguredSkill = SkillsExecutorMetadataItem & {
11
+ skill: SkillConfig;
12
+ };
13
+ export interface CreateUserInstructionPluginOptions {
14
+ watcher: UserInstructionConfigWatcher;
15
+ watcherReady?: Promise<void>;
16
+ includeRules?: boolean;
17
+ includeSkills?: boolean;
18
+ includeWorkflows?: boolean;
19
+ registerSkillsTool?: boolean;
20
+ allowedSkillNames?: ReadonlyArray<string>;
21
+ }
22
+ export declare function getConfiguredSkillsFromWatcher(watcher: UserInstructionConfigWatcher, allowedSkillNames?: ReadonlyArray<string>): ConfiguredSkill[];
23
+ export declare function createUserInstructionSkillsExecutor(watcher: UserInstructionConfigWatcher, watcherReady?: Promise<void>, allowedSkillNames?: ReadonlyArray<string>): SkillsExecutorWithMetadata;
24
+ export declare function createUserInstructionPlugin(options: CreateUserInstructionPluginOptions): AgentExtension;
25
+ export {};
@@ -0,0 +1,23 @@
1
+ import type { AgentExtension } from "@cline/shared";
2
+ import { type AvailableRuntimeCommand } from "./runtime-commands";
3
+ import { type CreateUserInstructionConfigWatcherOptions, type UserInstructionConfig, type UserInstructionConfigType } from "./user-instruction-config-loader";
4
+ import { type CreateUserInstructionPluginOptions } from "./user-instruction-plugin";
5
+ export interface UserInstructionConfigRecord<TConfig extends UserInstructionConfig = UserInstructionConfig> {
6
+ type: UserInstructionConfigType;
7
+ id: string;
8
+ filePath: string;
9
+ item: TConfig;
10
+ }
11
+ export interface CreateUserInstructionConfigServiceOptions extends CreateUserInstructionConfigWatcherOptions {
12
+ }
13
+ export interface UserInstructionConfigService {
14
+ start(): Promise<void>;
15
+ stop(): void;
16
+ refreshType(type: UserInstructionConfigType): Promise<void>;
17
+ listRecords<TConfig extends UserInstructionConfig = UserInstructionConfig>(type: UserInstructionConfigType): UserInstructionConfigRecord<TConfig>[];
18
+ listRuntimeCommands(): AvailableRuntimeCommand[];
19
+ resolveRuntimeSlashCommand(input: string): string;
20
+ hasConfiguredSkills(allowedSkillNames?: ReadonlyArray<string>): boolean;
21
+ createExtension(options: Omit<CreateUserInstructionPluginOptions, "watcher" | "watcherReady">): AgentExtension;
22
+ }
23
+ export declare function createUserInstructionConfigService(options?: CreateUserInstructionConfigServiceOptions): UserInstructionConfigService;
@@ -0,0 +1,12 @@
1
+ import type { BasicLogger } from "@cline/shared";
2
+ import type { CoreCompactionContext, CoreCompactionResult, CoreCompactionSummarizerConfig } from "../../types/config";
3
+ import type { ProviderConfig } from "../../types/provider-settings";
4
+ import { type EstimateMessageTokens } from "./compaction-shared";
5
+ export declare function runAgenticCompaction(options: {
6
+ context: CoreCompactionContext;
7
+ providerConfig: ProviderConfig;
8
+ summarizer?: CoreCompactionSummarizerConfig;
9
+ preserveRecentTokens: number;
10
+ estimateMessageTokens: EstimateMessageTokens;
11
+ logger?: BasicLogger;
12
+ }): Promise<CoreCompactionResult | undefined>;
@@ -0,0 +1,8 @@
1
+ import type { BasicLogger } from "@cline/shared";
2
+ import type { CoreCompactionContext, CoreCompactionResult } from "../../types/config";
3
+ import { type EstimateMessageTokens } from "./compaction-shared";
4
+ export declare function runBasicCompaction(options: {
5
+ context: CoreCompactionContext;
6
+ estimateMessageTokens: EstimateMessageTokens;
7
+ logger?: BasicLogger;
8
+ }): CoreCompactionResult | undefined;
@@ -0,0 +1,61 @@
1
+ import type { ToolResultContent } from "@cline/llms";
2
+ import { estimateTokens, type MessageWithMetadata } from "@cline/shared";
3
+ export { estimateTokens };
4
+ import type { CoreCompactionContext, CoreCompactionSummarizerConfig } from "../../types/config";
5
+ import type { ProviderConfig } from "../../types/provider-settings";
6
+ export declare const DEFAULT_MAX_INPUT_TOKENS = 200000;
7
+ export declare const DEFAULT_THRESHOLD_RATIO = 0.9;
8
+ export declare const DEFAULT_RESERVE_TOKENS = 16384;
9
+ export declare const DEFAULT_PRESERVE_RECENT_TOKENS = 20000;
10
+ export declare const DEFAULT_SUMMARY_MAX_OUTPUT_TOKENS = 1024;
11
+ export declare const TOOL_RESULT_CHAR_LIMIT = 2000;
12
+ export declare const FILE_CONTENT_CHAR_LIMIT = 2000;
13
+ export declare const MIN_TRUNCATED_MESSAGE_TOKENS = 8;
14
+ export interface FileOperationSummary {
15
+ readFiles: string[];
16
+ modifiedFiles: string[];
17
+ }
18
+ export interface CompactionSummaryMetadata {
19
+ kind: "compaction_summary";
20
+ summary: string;
21
+ details: FileOperationSummary;
22
+ tokensBefore: number;
23
+ generatedAt: number;
24
+ }
25
+ export type EstimateMessageTokens = (message: MessageWithMetadata) => number;
26
+ export declare function truncateText(text: string, limit: number): string;
27
+ export declare function flattenToolResultContent(content: ToolResultContent["content"]): string;
28
+ export declare function truncateToolResultContentForCompaction(content: ToolResultContent["content"]): ToolResultContent["content"];
29
+ export declare function formatToolInput(input: Record<string, unknown>): string;
30
+ export declare function serializeMessage(message: MessageWithMetadata): string;
31
+ export declare function serializeConversation(messages: MessageWithMetadata[]): string;
32
+ export declare function createTokenEstimator(): EstimateMessageTokens;
33
+ export declare function isCompactionSummaryMessage(message: MessageWithMetadata): boolean;
34
+ export declare function getCompactionSummaryMetadata(message: MessageWithMetadata): CompactionSummaryMetadata | undefined;
35
+ export declare function isToolResultOnlyUserMessage(message: MessageWithMetadata): boolean;
36
+ export declare function isTurnStartMessage(message: MessageWithMetadata): boolean;
37
+ export declare function findFirstUserMessageIndex(messages: MessageWithMetadata[]): number;
38
+ export declare function findLastTurnStartIndex(messages: MessageWithMetadata[]): number;
39
+ export declare function findLastAssistantIndex(messages: MessageWithMetadata[]): number;
40
+ export declare function findLatestSummaryIndex(messages: MessageWithMetadata[]): number;
41
+ export declare function findCutIndex(messages: MessageWithMetadata[], preserveRecentTokens: number, estimateMessageTokens: EstimateMessageTokens): number;
42
+ export declare function collectPaths(value: unknown): string[];
43
+ export declare function mergeUnique(base: string[], next: Iterable<string>): string[];
44
+ export declare function extractFileOps(messages: MessageWithMetadata[]): FileOperationSummary;
45
+ export declare function renderFilesSection(fileOps: FileOperationSummary): string;
46
+ export declare function ensureFilesSection(summary: string, fileOps: FileOperationSummary): string;
47
+ export declare function buildSummaryRequest(options: {
48
+ previousSummary?: string;
49
+ conversationText: string;
50
+ fileOps: FileOperationSummary;
51
+ }): string;
52
+ export declare function resolveSummarizerConfig(options: {
53
+ activeProviderConfig: ProviderConfig;
54
+ summarizer?: CoreCompactionSummarizerConfig;
55
+ }): ProviderConfig;
56
+ export declare function buildSummaryMessage(options: {
57
+ summary: string;
58
+ fileOps: FileOperationSummary;
59
+ tokensBefore: number;
60
+ }): MessageWithMetadata;
61
+ export declare function getMaxInputTokens(context: Pick<CoreCompactionContext, "maxInputTokens">): number;
@@ -0,0 +1,38 @@
1
+ import type { CoreCompactionContext, CoreSessionConfig } from "../../types/config";
2
+ export interface ContextPipelinePrepareTurnInput {
3
+ agentId: string;
4
+ conversationId: string;
5
+ parentAgentId: string | null;
6
+ iteration: number;
7
+ messages: CoreCompactionContext["messages"];
8
+ apiMessages: CoreCompactionContext["messages"];
9
+ abortSignal: AbortSignal;
10
+ systemPrompt: string;
11
+ tools: unknown[];
12
+ model: CoreCompactionContext["model"];
13
+ emitStatusNotice?: (message: string, metadata?: Record<string, unknown>) => void;
14
+ }
15
+ export interface ContextPipelinePrepareTurnResult {
16
+ messages: CoreCompactionContext["messages"];
17
+ systemPrompt?: string;
18
+ }
19
+ export type ContextCompactionMode = "auto" | "manual";
20
+ export interface ContextCompactionPrepareTurnOptions {
21
+ mode?: ContextCompactionMode;
22
+ manualTargetRatio?: number;
23
+ }
24
+ /**
25
+ * Build the `prepareTurn` callback used by the agent runtime to compact the
26
+ * transcript before each model request.
27
+ *
28
+ * Telemetry: emits `task.compaction_executed` on a successful compaction and
29
+ * `task.compaction_skipped` when the configured strategy returns `undefined`.
30
+ * Telemetry is keyed by `config.sessionId` (falling back to the per-turn
31
+ * `conversationId`) and tagged with `provider` / `modelId`.
32
+ *
33
+ * Known gap: compactions performed via plugin `registerMessageBuilder()` or
34
+ * via the `beforeModel` runtime hook bypass this wrapper entirely, so they
35
+ * do not emit compaction telemetry. If we want coverage there too, the
36
+ * plugin/hook pipelines must be instrumented separately.
37
+ */
38
+ export declare function createContextCompactionPrepareTurn(config: Pick<CoreSessionConfig, "providerConfig" | "providerId" | "modelId" | "compaction" | "logger" | "telemetry" | "sessionId">, options?: ContextCompactionPrepareTurnOptions): ((context: ContextPipelinePrepareTurnInput) => Promise<ContextPipelinePrepareTurnResult | undefined>) | undefined;
@@ -0,0 +1,5 @@
1
+ export type { ResolveAgentPluginPathsOptions } from "./plugin/plugin-config-loader";
2
+ export { discoverPluginModulePaths, resolveAgentPluginPaths, resolveAndLoadAgentPlugins, resolvePluginConfigSearchPaths, } from "./plugin/plugin-config-loader";
3
+ export type { PluginInitializationFailure, PluginInitializationWarning, PluginLoadDiagnostics, } from "./plugin/plugin-load-report";
4
+ export type { LoadAgentPluginFromPathOptions } from "./plugin/plugin-loader";
5
+ export { loadAgentPluginFromPath, loadAgentPluginsFromPaths, loadAgentPluginsFromPathsWithDiagnostics, } from "./plugin/plugin-loader";
@@ -0,0 +1,9 @@
1
+ import type { FetchLike } from "@modelcontextprotocol/sdk/shared/transport.js";
2
+ import type { McpServerClientFactory } from "./types";
3
+ export interface DefaultMcpServerClientFactoryOptions {
4
+ settingsPath?: string;
5
+ clientName?: string;
6
+ clientVersion?: string;
7
+ fetch?: FetchLike;
8
+ }
9
+ export declare function createDefaultMcpServerClientFactory(options?: DefaultMcpServerClientFactoryOptions): McpServerClientFactory;
@@ -0,0 +1,25 @@
1
+ import type { McpManager, McpServerOAuthState, McpServerOAuthStatus, McpServerRegistration } from "./types";
2
+ export interface McpSettingsFile {
3
+ mcpServers: Record<string, Omit<McpServerRegistration, "name">>;
4
+ }
5
+ export interface LoadMcpSettingsOptions {
6
+ filePath?: string;
7
+ }
8
+ export interface RegisterMcpServersFromSettingsOptions {
9
+ filePath?: string;
10
+ }
11
+ export interface SetMcpServerDisabledOptions {
12
+ filePath?: string;
13
+ name: string;
14
+ disabled: boolean;
15
+ }
16
+ export declare function resolveDefaultMcpSettingsPath(): string;
17
+ export declare function loadMcpSettingsFile(options?: LoadMcpSettingsOptions): McpSettingsFile;
18
+ export declare function normalizeMcpServerOAuthState(value: McpServerOAuthState | undefined): McpServerOAuthState | undefined;
19
+ export declare function hasMcpSettingsFile(options?: LoadMcpSettingsOptions): boolean;
20
+ export declare function resolveMcpServerRegistrations(options?: LoadMcpSettingsOptions): McpServerRegistration[];
21
+ export declare function setMcpServerDisabled(options: SetMcpServerDisabledOptions): void;
22
+ export declare function getMcpServerOAuthState(serverName: string, options?: LoadMcpSettingsOptions): McpServerOAuthState | undefined;
23
+ export declare function updateMcpServerOAuthState(serverName: string, updater: (current: McpServerOAuthState) => McpServerOAuthState, options?: LoadMcpSettingsOptions): McpServerOAuthState;
24
+ export declare function listMcpServerOAuthStatuses(options?: LoadMcpSettingsOptions): McpServerOAuthStatus[];
25
+ export declare function registerMcpServersFromSettingsFile(manager: Pick<McpManager, "registerServer">, options?: RegisterMcpServersFromSettingsOptions): Promise<McpServerRegistration[]>;
@@ -0,0 +1,11 @@
1
+ export type { DefaultMcpServerClientFactoryOptions } from "./client";
2
+ export { createDefaultMcpServerClientFactory } from "./client";
3
+ export type { LoadMcpSettingsOptions, McpSettingsFile, RegisterMcpServersFromSettingsOptions, SetMcpServerDisabledOptions, } from "./config-loader";
4
+ export { getMcpServerOAuthState, hasMcpSettingsFile, listMcpServerOAuthStatuses, loadMcpSettingsFile, registerMcpServersFromSettingsFile, resolveDefaultMcpSettingsPath, resolveMcpServerRegistrations, setMcpServerDisabled, updateMcpServerOAuthState, } from "./config-loader";
5
+ export { InMemoryMcpManager } from "./manager";
6
+ export type { AuthorizeMcpServerOAuthOptions, AuthorizeMcpServerOAuthResult, CreateMcpOAuthProviderContextOptions, McpOAuthProviderContext, } from "./oauth";
7
+ export { authorizeMcpServerOAuth } from "./oauth";
8
+ export type { CreateDisabledMcpToolPoliciesOptions, CreateDisabledMcpToolPolicyOptions, } from "./policies";
9
+ export { createDisabledMcpToolPolicies, createDisabledMcpToolPolicy, } from "./policies";
10
+ export { createMcpTools } from "./tools";
11
+ export type { CreateMcpToolsOptions, McpConnectionStatus, McpManager, McpManagerOptions, McpServerClient, McpServerClientFactory, McpServerOAuthState, McpServerOAuthStatus, McpServerRegistration, McpServerSnapshot, McpServerTransportConfig, McpSseTransportConfig, McpStdioTransportConfig, McpStreamableHttpTransportConfig, McpToolCallRequest, McpToolCallResult, McpToolDescriptor, McpToolNameTransform, McpToolProvider, } from "./types";
@@ -0,0 +1,23 @@
1
+ import type { McpManager, McpManagerOptions, McpServerRegistration, McpServerSnapshot, McpToolCallRequest, McpToolCallResult, McpToolDescriptor } from "./types";
2
+ export declare class InMemoryMcpManager implements McpManager {
3
+ private readonly toolsCacheTtlMs;
4
+ private readonly clientFactory;
5
+ private readonly servers;
6
+ private readonly operationLocks;
7
+ constructor(options: McpManagerOptions);
8
+ registerServer(registration: McpServerRegistration): Promise<void>;
9
+ unregisterServer(serverName: string): Promise<void>;
10
+ connectServer(serverName: string): Promise<void>;
11
+ disconnectServer(serverName: string): Promise<void>;
12
+ setServerDisabled(serverName: string, disabled: boolean): Promise<void>;
13
+ listServers(): readonly McpServerSnapshot[];
14
+ listTools(serverName: string): Promise<readonly McpToolDescriptor[]>;
15
+ refreshTools(serverName: string): Promise<readonly McpToolDescriptor[]>;
16
+ callTool(request: McpToolCallRequest): Promise<McpToolCallResult>;
17
+ dispose(): Promise<void>;
18
+ private ensureConnectedClient;
19
+ private connectState;
20
+ private disconnectState;
21
+ private requireServer;
22
+ private runExclusive;
23
+ }
@@ -0,0 +1,2 @@
1
+ import type { McpToolNameTransform } from "./types";
2
+ export declare const defaultMcpToolNameTransform: McpToolNameTransform;
@@ -0,0 +1,48 @@
1
+ import type { OAuthClientProvider } from "@modelcontextprotocol/sdk/client/auth.js";
2
+ import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
3
+ import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
4
+ import type { FetchLike } from "@modelcontextprotocol/sdk/shared/transport.js";
5
+ import { type OAuthServerCloseInfo, type OAuthServerListeningInfo } from "../../auth/server";
6
+ import type { McpServerRegistration } from "./types";
7
+ export type McpSdkAuthCapableTransport = SSEClientTransport | StreamableHTTPClientTransport;
8
+ export interface CreateMcpOAuthProviderContextOptions {
9
+ settingsPath?: string;
10
+ serverName: string;
11
+ redirectUrl: string;
12
+ onAuthorizationUrl?: (url: string) => void | Promise<void>;
13
+ }
14
+ export interface McpOAuthProviderContext {
15
+ provider: OAuthClientProvider;
16
+ getLastAuthorizationUrl(): string | undefined;
17
+ getLastOAuthState(): string | undefined;
18
+ resetInteractiveState(): Promise<void>;
19
+ markError(errorMessage: string): Promise<void>;
20
+ clearError(): Promise<void>;
21
+ }
22
+ export interface AuthorizeMcpServerOAuthOptions {
23
+ serverName: string;
24
+ filePath?: string;
25
+ clientName?: string;
26
+ clientVersion?: string;
27
+ fetch?: FetchLike;
28
+ openUrl?: (url: string) => void | Promise<void>;
29
+ callbackHost?: string;
30
+ callbackPorts?: number[];
31
+ callbackPath?: string;
32
+ timeoutMs?: number;
33
+ successHtml?: string;
34
+ onServerListening?: (info: OAuthServerListeningInfo) => void | Promise<void>;
35
+ onServerClose?: (info: OAuthServerCloseInfo) => void | Promise<void>;
36
+ }
37
+ export interface AuthorizeMcpServerOAuthResult {
38
+ serverName: string;
39
+ authorized: true;
40
+ message: string;
41
+ }
42
+ export declare function createMcpOAuthProviderContext(options: CreateMcpOAuthProviderContextOptions): McpOAuthProviderContext;
43
+ export declare function createMcpSdkTransport(input: {
44
+ registration: McpServerRegistration;
45
+ oauthProvider?: OAuthClientProvider;
46
+ fetch?: FetchLike;
47
+ }): McpSdkAuthCapableTransport;
48
+ export declare function authorizeMcpServerOAuth(options: AuthorizeMcpServerOAuthOptions): Promise<AuthorizeMcpServerOAuthResult>;
@@ -0,0 +1,14 @@
1
+ import type { ToolPolicy } from "@cline/shared";
2
+ import type { McpToolNameTransform } from "./types";
3
+ export interface CreateDisabledMcpToolPolicyOptions {
4
+ serverName: string;
5
+ toolName: string;
6
+ nameTransform?: McpToolNameTransform;
7
+ }
8
+ export interface CreateDisabledMcpToolPoliciesOptions {
9
+ serverName: string;
10
+ toolNames: readonly string[];
11
+ nameTransform?: McpToolNameTransform;
12
+ }
13
+ export declare function createDisabledMcpToolPolicy(options: CreateDisabledMcpToolPolicyOptions): Record<string, ToolPolicy>;
14
+ export declare function createDisabledMcpToolPolicies(options: CreateDisabledMcpToolPoliciesOptions): Record<string, ToolPolicy>;
@@ -0,0 +1,3 @@
1
+ import { type AgentTool } from "@cline/shared";
2
+ import type { CreateMcpToolsOptions } from "./types";
3
+ export declare function createMcpTools(options: CreateMcpToolsOptions): Promise<AgentTool[]>;
@@ -0,0 +1,111 @@
1
+ import type { AgentToolContext } from "@cline/shared";
2
+ export interface McpToolDescriptor {
3
+ name: string;
4
+ description?: string;
5
+ inputSchema: Record<string, unknown>;
6
+ }
7
+ export interface McpToolCallRequest {
8
+ serverName: string;
9
+ toolName: string;
10
+ arguments?: Record<string, unknown>;
11
+ context?: AgentToolContext;
12
+ }
13
+ export type McpToolCallResult = unknown;
14
+ export interface McpToolProvider {
15
+ listTools(serverName: string): Promise<readonly McpToolDescriptor[]>;
16
+ callTool(request: McpToolCallRequest): Promise<McpToolCallResult>;
17
+ }
18
+ export type McpToolNameTransform = (input: {
19
+ serverName: string;
20
+ toolName: string;
21
+ }) => string;
22
+ export interface CreateMcpToolsOptions {
23
+ serverName: string;
24
+ provider: McpToolProvider;
25
+ nameTransform?: McpToolNameTransform;
26
+ timeoutMs?: number;
27
+ retryable?: boolean;
28
+ maxRetries?: number;
29
+ }
30
+ export type McpConnectionStatus = "disconnected" | "connecting" | "connected";
31
+ export interface McpStdioTransportConfig {
32
+ type: "stdio";
33
+ command: string;
34
+ args?: string[];
35
+ cwd?: string;
36
+ env?: Record<string, string>;
37
+ }
38
+ export interface McpSseTransportConfig {
39
+ type: "sse";
40
+ url: string;
41
+ headers?: Record<string, string>;
42
+ }
43
+ export interface McpStreamableHttpTransportConfig {
44
+ type: "streamableHttp";
45
+ url: string;
46
+ headers?: Record<string, string>;
47
+ }
48
+ export type McpServerTransportConfig = McpStdioTransportConfig | McpSseTransportConfig | McpStreamableHttpTransportConfig;
49
+ export interface McpServerOAuthState {
50
+ clientInformation?: Record<string, unknown>;
51
+ tokens?: Record<string, unknown>;
52
+ codeVerifier?: string;
53
+ discoveryState?: Record<string, unknown>;
54
+ redirectUrl?: string;
55
+ lastError?: string;
56
+ lastAuthenticatedAt?: number;
57
+ }
58
+ export interface McpServerRegistration {
59
+ name: string;
60
+ transport: McpServerTransportConfig;
61
+ disabled?: boolean;
62
+ metadata?: Record<string, unknown>;
63
+ oauth?: McpServerOAuthState;
64
+ }
65
+ export interface McpServerSnapshot {
66
+ name: string;
67
+ status: McpConnectionStatus;
68
+ disabled: boolean;
69
+ lastError?: string;
70
+ toolCount: number;
71
+ updatedAt: number;
72
+ metadata?: Record<string, unknown>;
73
+ }
74
+ export interface McpServerClient {
75
+ connect(): Promise<void>;
76
+ disconnect(): Promise<void>;
77
+ listTools(): Promise<readonly McpToolDescriptor[]>;
78
+ callTool(request: {
79
+ name: string;
80
+ arguments?: Record<string, unknown>;
81
+ context?: AgentToolContext;
82
+ }): Promise<McpToolCallResult>;
83
+ }
84
+ export type McpServerClientFactory = (registration: McpServerRegistration) => Promise<McpServerClient> | McpServerClient;
85
+ export interface McpServerOAuthStatus {
86
+ serverName: string;
87
+ oauthSupported: boolean;
88
+ oauthConfigured: boolean;
89
+ lastError?: string;
90
+ lastAuthenticatedAt?: number;
91
+ }
92
+ export interface McpManagerOptions {
93
+ clientFactory: McpServerClientFactory;
94
+ /**
95
+ * Cache TTL for tools/list responses.
96
+ * A short cache avoids repeated list requests while keeping server metadata fresh.
97
+ * @default 5000
98
+ */
99
+ toolsCacheTtlMs?: number;
100
+ }
101
+ export interface McpManager extends McpToolProvider {
102
+ registerServer(registration: McpServerRegistration): Promise<void>;
103
+ unregisterServer(serverName: string): Promise<void>;
104
+ connectServer(serverName: string): Promise<void>;
105
+ disconnectServer(serverName: string): Promise<void>;
106
+ setServerDisabled(serverName: string, disabled: boolean): Promise<void>;
107
+ listServers(): readonly McpServerSnapshot[];
108
+ refreshTools(serverName: string): Promise<readonly McpToolDescriptor[]>;
109
+ callTool(request: McpToolCallRequest): Promise<McpToolCallResult>;
110
+ dispose(): Promise<void>;
111
+ }
@@ -0,0 +1,40 @@
1
+ import type { AgentConfig, PluginSetupContext, WorkspaceInfo } from "@cline/shared";
2
+ import type { PluginLoadDiagnostics } from "./plugin-load-report";
3
+ import type { PluginTargeting } from "./plugin-targeting";
4
+ type AgentPlugin = NonNullable<AgentConfig["extensions"]>[number];
5
+ export declare function resolvePluginConfigSearchPaths(workspacePath?: string): string[];
6
+ export declare function discoverPluginModulePaths(directoryPath: string): string[];
7
+ export interface ResolveAgentPluginPathsOptions {
8
+ pluginPaths?: ReadonlyArray<string>;
9
+ workspacePath?: string;
10
+ cwd?: string;
11
+ }
12
+ export declare function resolveAgentPluginPaths(options?: ResolveAgentPluginPathsOptions): string[];
13
+ export interface ResolveAndLoadAgentPluginsOptions extends ResolveAgentPluginPathsOptions, PluginTargeting {
14
+ mode?: "sandbox" | "in_process";
15
+ exportName?: string;
16
+ importTimeoutMs?: number;
17
+ hookTimeoutMs?: number;
18
+ contributionTimeoutMs?: number;
19
+ onEvent?: (event: {
20
+ name: string;
21
+ payload?: unknown;
22
+ }) => void;
23
+ /**
24
+ * Structured workspace and git metadata. Forwarded to sandboxed plugins
25
+ * via PluginSetupCtx.workspaceInfo and made available to in-process plugins
26
+ * in the extension context.
27
+ */
28
+ workspaceInfo?: WorkspaceInfo;
29
+ session?: PluginSetupContext["session"];
30
+ client?: PluginSetupContext["client"];
31
+ user?: PluginSetupContext["user"];
32
+ automation?: PluginSetupContext["automation"];
33
+ logger?: PluginSetupContext["logger"];
34
+ telemetry?: PluginSetupContext["telemetry"];
35
+ }
36
+ export declare function resolveAndLoadAgentPlugins(options?: ResolveAndLoadAgentPluginsOptions): Promise<{
37
+ extensions: AgentPlugin[];
38
+ shutdown?: () => Promise<void>;
39
+ } & PluginLoadDiagnostics>;
40
+ export {};
@@ -0,0 +1,18 @@
1
+ export interface PluginInitializationFailure {
2
+ pluginPath: string;
3
+ pluginName?: string;
4
+ phase: "load" | "setup";
5
+ message: string;
6
+ stack?: string;
7
+ }
8
+ export interface PluginInitializationWarning {
9
+ type: "duplicate_plugin_override";
10
+ pluginPath: string;
11
+ pluginName: string;
12
+ overriddenPluginPath: string;
13
+ message: string;
14
+ }
15
+ export interface PluginLoadDiagnostics {
16
+ failures: PluginInitializationFailure[];
17
+ warnings: PluginInitializationWarning[];
18
+ }