@cline/core 0.0.75 → 0.0.76

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 (55) hide show
  1. package/dist/cron/service/schedule-command-service.d.ts +6 -1
  2. package/dist/cron/service/schedule-service.d.ts +1 -0
  3. package/dist/cron/service/schedule-tool.d.ts +81 -0
  4. package/dist/cron/store/sqlite-cron-store.d.ts +1 -0
  5. package/dist/extensions/config/index.d.ts +1 -1
  6. package/dist/extensions/config/runtime-commands.d.ts +12 -1
  7. package/dist/extensions/config/user-instruction-service.d.ts +2 -2
  8. package/dist/extensions/tools/executors/bash.d.ts +32 -0
  9. package/dist/extensions/tools/executors/index.d.ts +1 -0
  10. package/dist/extensions/tools/executors/run-command-execution-controller.d.ts +16 -0
  11. package/dist/extensions/tools/index.d.ts +2 -2
  12. package/dist/extensions/tools/runtime.d.ts +9 -0
  13. package/dist/hooks/subprocess.d.ts +6 -0
  14. package/dist/hub/client/index.d.ts +4 -1
  15. package/dist/hub/client/session-client.d.ts +14 -1
  16. package/dist/hub/daemon/entry.js +368 -202
  17. package/dist/hub/index.d.ts +2 -0
  18. package/dist/hub/index.js +363 -197
  19. package/dist/hub/runtime-host/hub-runtime-host.d.ts +1 -0
  20. package/dist/hub/server/browser-websocket.d.ts +5 -2
  21. package/dist/hub/server/command-transport.d.ts +9 -2
  22. package/dist/hub/server/handlers/context.d.ts +7 -3
  23. package/dist/hub/server/handlers/run-handlers.d.ts +1 -0
  24. package/dist/hub/server/handlers/session-handlers.d.ts +4 -0
  25. package/dist/hub/server/hub-server-options.d.ts +7 -2
  26. package/dist/hub/server/hub-server-transport.d.ts +8 -1
  27. package/dist/hub/server/native-transport.d.ts +3 -3
  28. package/dist/hub/server/task-command-service.d.ts +11 -0
  29. package/dist/index.d.ts +10 -8
  30. package/dist/index.js +361 -195
  31. package/dist/runtime/config/agent-runtime-config-builder.d.ts +5 -0
  32. package/dist/runtime/host/local-runtime-host.d.ts +2 -0
  33. package/dist/runtime/host/runtime-host.d.ts +3 -0
  34. package/dist/runtime/orchestration/runtime-event-adapter.d.ts +2 -0
  35. package/dist/runtime/orchestration/session-runtime.d.ts +2 -1
  36. package/dist/runtime/process-start-token.d.ts +23 -0
  37. package/dist/services/global-settings.d.ts +3 -3
  38. package/dist/services/llms/cline-recommended-models.d.ts +33 -0
  39. package/dist/services/llms/provider-defaults.d.ts +8 -0
  40. package/dist/services/providers/local-provider-registry.d.ts +85 -4
  41. package/dist/services/providers/local-provider-service.d.ts +27 -1
  42. package/dist/services/storage/provider-settings-manager.d.ts +3 -1
  43. package/dist/services/telemetry/index.js +1 -1
  44. package/dist/tasks/agenda-task-api.d.ts +20 -0
  45. package/dist/tasks/agenda-task-manager.d.ts +102 -0
  46. package/dist/tasks/agenda-task-tool.d.ts +94 -0
  47. package/dist/tasks/index.d.ts +9 -0
  48. package/dist/tasks/specs/task-spec-file-store.d.ts +38 -0
  49. package/dist/tasks/specs/task-spec-parser.d.ts +65 -0
  50. package/dist/tasks/store/sqlite-task-store.d.ts +73 -0
  51. package/dist/tasks/store/task-schema.d.ts +2 -0
  52. package/dist/tasks/task-location.d.ts +14 -0
  53. package/dist/tasks/task-tool.d.ts +134 -0
  54. package/dist/types/provider-settings.d.ts +10 -0
  55. package/package.json +4 -4
@@ -1,9 +1,14 @@
1
1
  import type { HubCommandEnvelope, HubReplyEnvelope } from "@cline/shared";
2
+ import type { HubConnectionAuthority } from "../../hub/server/command-transport";
2
3
  import type { HubScheduleService } from "./schedule-service";
3
4
  export declare class HubScheduleCommandService {
4
5
  private readonly schedules;
5
6
  constructor(schedules: HubScheduleService);
6
- handleCommand(envelope: HubCommandEnvelope): Promise<HubReplyEnvelope>;
7
+ handleCommand(envelope: HubCommandEnvelope, authority?: HubConnectionAuthority): Promise<HubReplyEnvelope>;
8
+ private resolveScope;
9
+ private requireScopedSchedule;
10
+ private scopedScheduleIds;
11
+ private listScopedExecutions;
7
12
  private toCreateInput;
8
13
  private toUpdateInput;
9
14
  }
@@ -63,6 +63,7 @@ export interface ListSchedulesOptions {
63
63
  enabled?: boolean;
64
64
  limit?: number;
65
65
  tags?: string[];
66
+ workspaceRoot?: string;
66
67
  }
67
68
  export interface ListScheduleExecutionsOptions {
68
69
  scheduleId?: string;
@@ -0,0 +1,81 @@
1
+ import type { AgentTool, GatewayModelSelection, HubScheduleCreateInput, HubScheduleUpdateInput, ITelemetryService, ScheduleExecutionRecord, ScheduleRecord } from "@cline/shared";
2
+ import { z } from "zod";
3
+ import type { ListSchedulesOptions } from "./schedule-service";
4
+ export declare const ScheduledTaskInputSchema: z.ZodObject<{
5
+ operation: z.ZodEnum<{
6
+ update: "update";
7
+ create: "create";
8
+ list: "list";
9
+ pause: "pause";
10
+ resume: "resume";
11
+ get: "get";
12
+ delete: "delete";
13
+ run_now: "run_now";
14
+ }>;
15
+ schedule_id: z.ZodOptional<z.ZodString>;
16
+ schedule_type: z.ZodOptional<z.ZodEnum<{
17
+ once: "once";
18
+ recurring: "recurring";
19
+ }>>;
20
+ name: z.ZodOptional<z.ZodString>;
21
+ prompt: z.ZodOptional<z.ZodString>;
22
+ run_at: z.ZodOptional<z.ZodString>;
23
+ cron_pattern: z.ZodOptional<z.ZodString>;
24
+ timezone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
25
+ enabled: z.ZodOptional<z.ZodBoolean>;
26
+ mode: z.ZodOptional<z.ZodEnum<{
27
+ plan: "plan";
28
+ act: "act";
29
+ yolo: "yolo";
30
+ }>>;
31
+ system_prompt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
32
+ max_iterations: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
33
+ timeout_seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
34
+ max_parallel: z.ZodOptional<z.ZodNumber>;
35
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
36
+ model_selection: z.ZodOptional<z.ZodObject<{
37
+ provider_id: z.ZodString;
38
+ model_id: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$strip>>;
40
+ limit: z.ZodOptional<z.ZodNumber>;
41
+ }, z.core.$strip>;
42
+ export type ScheduledTaskInput = z.infer<typeof ScheduledTaskInputSchema>;
43
+ export interface ScheduleSessionDefaults {
44
+ workspaceRoot: string;
45
+ cwd?: string;
46
+ modelSelection?: GatewayModelSelection;
47
+ interactive: boolean;
48
+ }
49
+ export interface AgentScheduleServiceApi {
50
+ createSchedule(input: HubScheduleCreateInput): ScheduleRecord;
51
+ getSchedule(scheduleId: string): ScheduleRecord | undefined;
52
+ listSchedules(options?: ListSchedulesOptions): ScheduleRecord[];
53
+ updateSchedule(scheduleId: string, updates: HubScheduleUpdateInput): ScheduleRecord | undefined;
54
+ deleteSchedule(scheduleId: string): boolean;
55
+ pauseSchedule(scheduleId: string): ScheduleRecord | undefined;
56
+ resumeSchedule(scheduleId: string): ScheduleRecord | undefined;
57
+ triggerScheduleNowDetached(scheduleId: string): ScheduleExecutionRecord | undefined;
58
+ }
59
+ export interface ScheduleTaskOperationOptions {
60
+ schedules: AgentScheduleServiceApi;
61
+ telemetry?: ITelemetryService;
62
+ resolveSessionDefaults: (sessionId: string) => Promise<ScheduleSessionDefaults | undefined>;
63
+ publish?: (event: "schedule.created" | "schedule.updated" | "schedule.deleted" | "schedule.triggered", payload: Record<string, unknown>, sessionId: string) => void;
64
+ }
65
+ export type ScheduledTaskResult = {
66
+ ok: true;
67
+ operation: ScheduledTaskInput["operation"];
68
+ schedule?: ScheduleRecord;
69
+ schedules?: ScheduleRecord[];
70
+ execution?: ScheduleExecutionRecord;
71
+ deleted?: boolean;
72
+ } | {
73
+ ok: false;
74
+ operation?: ScheduledTaskInput["operation"];
75
+ error: {
76
+ code: string;
77
+ message: string;
78
+ };
79
+ };
80
+ /** Execute a scheduled-work operation through the Hub schedule service. */
81
+ export declare function executeScheduleOperation(options: ScheduleTaskOperationOptions, rawInput: unknown, context: Parameters<AgentTool<ScheduledTaskInput, ScheduledTaskResult>["execute"]>[1]): Promise<ScheduledTaskResult>;
@@ -168,6 +168,7 @@ export declare class SqliteCronStore {
168
168
  enabled?: boolean;
169
169
  limit?: number;
170
170
  tags?: string[];
171
+ workspaceRoot?: string;
171
172
  }): CronSpecRecord[];
172
173
  updateHubSchedule(scheduleId: string, updates: HubScheduleUpdateInput): CronSpecRecord | undefined;
173
174
  private initializeHubScheduleNextRun;
@@ -1,4 +1,4 @@
1
- export type { AvailableRuntimeCommand, RuntimeCommandKind, } from "./runtime-commands";
1
+ export type { AvailableRuntimeCommand, ResolveRuntimeSlashCommandOptions, RuntimeCommandKind, } from "./runtime-commands";
2
2
  export type { UnifiedConfigDefinition, UnifiedConfigFileCandidate, UnifiedConfigFileContext, UnifiedConfigRecord, UnifiedConfigWatcherEvent, UnifiedConfigWatcherOptions, } from "./unified-config-file-watcher";
3
3
  export { UnifiedConfigFileWatcher } from "./unified-config-file-watcher";
4
4
  export type { CreateInstructionWatcherOptions, CreateRulesConfigDefinitionOptions, CreateSkillsConfigDefinitionOptions, CreateWorkflowsConfigDefinitionOptions, ParseMarkdownFrontmatterResult, RuleConfig, SkillConfig, UserInstructionConfig, UserInstructionConfigType, WorkflowConfig, } from "./user-instruction-config-loader";
@@ -9,4 +9,15 @@ export type AvailableRuntimeCommand = {
9
9
  };
10
10
  export declare function normalizeRuntimeCommandName(name: string): string;
11
11
  export declare function listAvailableRuntimeCommandsFromWatcher(watcher: UserInstructionConfigWatcher): AvailableRuntimeCommand[];
12
- export declare function resolveRuntimeSlashCommandFromWatcher(input: string, watcher: UserInstructionConfigWatcher): string;
12
+ export type ResolveRuntimeSlashCommandOptions = {
13
+ /**
14
+ * Whether a matched skill command is textually expanded into the prompt.
15
+ * Hosts pass false when the session registers the runtime's `skills`
16
+ * tool: the typed `/skill args` then goes through as-is and the model
17
+ * loads the instructions via the tool, so the persisted transcript keeps
18
+ * the typed command instead of the skill body. Workflows always expand —
19
+ * the skills tool does not serve them. Defaults to true.
20
+ */
21
+ expandSkillCommands?: boolean;
22
+ };
23
+ export declare function resolveRuntimeSlashCommandFromWatcher(input: string, watcher: UserInstructionConfigWatcher, options?: ResolveRuntimeSlashCommandOptions): string;
@@ -1,6 +1,6 @@
1
1
  import type { AgentExtension } from "@cline/shared";
2
2
  import type { SkillsExecutorWithMetadata } from "../tools";
3
- import { type AvailableRuntimeCommand } from "./runtime-commands";
3
+ import { type AvailableRuntimeCommand, type ResolveRuntimeSlashCommandOptions } from "./runtime-commands";
4
4
  import { type CreateUserInstructionConfigWatcherOptions, type UserInstructionConfig, type UserInstructionConfigType } from "./user-instruction-config-loader";
5
5
  import { type CreateUserInstructionPluginOptions } from "./user-instruction-plugin";
6
6
  export interface UserInstructionConfigRecord<TConfig extends UserInstructionConfig = UserInstructionConfig> {
@@ -17,7 +17,7 @@ export interface UserInstructionConfigService {
17
17
  refreshType(type: UserInstructionConfigType): Promise<void>;
18
18
  listRecords<TConfig extends UserInstructionConfig = UserInstructionConfig>(type: UserInstructionConfigType): UserInstructionConfigRecord<TConfig>[];
19
19
  listRuntimeCommands(): AvailableRuntimeCommand[];
20
- resolveRuntimeSlashCommand(input: string): string;
20
+ resolveRuntimeSlashCommand(input: string, options?: ResolveRuntimeSlashCommandOptions): string;
21
21
  hasConfiguredSkills(allowedSkillNames?: ReadonlyArray<string>): boolean;
22
22
  createSkillsExecutor?(allowedSkillNames?: ReadonlyArray<string>): SkillsExecutorWithMetadata;
23
23
  createExtension(options: Omit<CreateUserInstructionPluginOptions, "watcher" | "watcherReady">): AgentExtension;
@@ -3,7 +3,25 @@
3
3
  *
4
4
  * Built-in implementation for running shell commands using Node.js spawn.
5
5
  */
6
+ import { type ProcessStartTokenProbeResult } from "../../../runtime/process-start-token";
6
7
  import type { ShellExecutor } from "../types";
8
+ import type { RunCommandExecutionController } from "./run-command-execution-controller";
9
+ export type ProcessStartTokenProbe = (pid: number) => ProcessStartTokenProbeResult | Promise<ProcessStartTokenProbeResult>;
10
+ export interface DetachedCommandLogCleanupOptions {
11
+ tempDirectory?: string;
12
+ retentionMs?: number;
13
+ nowMs?: number;
14
+ processStartTokenProbe?: ProcessStartTokenProbe;
15
+ activeCommandPollIntervalMs?: number;
16
+ }
17
+ /**
18
+ * Reaps completed detached command logs outside the retention window,
19
+ * schedules retained logs for their remaining lifetime, and follows active
20
+ * command identities until they exit. Local runtime hosts call this at startup
21
+ * so cleanup survives host exits and restarts instead of depending only on the
22
+ * process that launched the command.
23
+ */
24
+ export declare function cleanupStaleDetachedCommandLogs(options?: DetachedCommandLogCleanupOptions): Promise<number>;
7
25
  export declare class CommandExitError extends Error {
8
26
  readonly exitCode: number;
9
27
  readonly output: string;
@@ -46,6 +64,20 @@ export interface ShellExecutorOptions {
46
64
  * @default true
47
65
  */
48
66
  combineOutput?: boolean;
67
+ /**
68
+ * Optional host-scoped controller that can release an in-flight command
69
+ * from its tool call while continuing to drain output to a bounded log.
70
+ */
71
+ executionController?: RunCommandExecutionController;
72
+ /**
73
+ * How long a completed detached command log remains available before its
74
+ * temporary directory is removed.
75
+ *
76
+ * @default 24 hours
77
+ */
78
+ detachedLogRetentionMs?: number;
79
+ /** Process identity provider used to enable safe command detachment. */
80
+ processStartTokenProbe?: ProcessStartTokenProbe;
49
81
  }
50
82
  /**
51
83
  * Create a shell executor using Node.js spawn
@@ -17,6 +17,7 @@ export { PATCH_MARKERS, PatchActionType } from "./apply-patch-parser";
17
17
  export { CommandExitError, createShellExecutor, type ShellExecutorOptions, } from "./bash";
18
18
  export { createEditorExecutor, type EditorExecutorOptions } from "./editor";
19
19
  export { createFileReadExecutor, type FileReadExecutorOptions, } from "./file-read";
20
+ export { RunCommandExecutionController, type RunningCommandRegistration, } from "./run-command-execution-controller";
20
21
  export { createSearchExecutor, type SearchExecutorOptions } from "./search";
21
22
  export { createWebFetchExecutor, type WebFetchExecutorOptions, } from "./web-fetch";
22
23
  /**
@@ -0,0 +1,16 @@
1
+ export interface RunningCommandRegistration {
2
+ executionId: string;
3
+ sessionId: string;
4
+ toolCallId?: string;
5
+ detach: () => boolean;
6
+ }
7
+ /**
8
+ * Tracks shell processes that can release their owning tool call while the
9
+ * process keeps running. The controller is host-scoped so hub commands can
10
+ * target only commands owned by a particular session/tool call.
11
+ */
12
+ export declare class RunCommandExecutionController {
13
+ private readonly commands;
14
+ register(command: RunningCommandRegistration): () => void;
15
+ proceedWhileRunning(sessionId: string, toolCallId?: string): number;
16
+ }
@@ -7,11 +7,11 @@ export { validateWithZod, zodToJsonSchema } from "@cline/shared";
7
7
  export { createPlanModeCommandGuardExtension, PLAN_MODE_COMMAND_GUARD_EXTENSION_NAME, type PlanModeCommandGuardOptions, } from "./command-guard-extension";
8
8
  export { ALL_DEFAULT_TOOL_NAMES, DefaultToolNames } from "./constants";
9
9
  export { createApplyPatchTool, createAskQuestionTool, createDefaultTools, createEditorTool, createReadFilesTool, createSearchTool, createShellTool, createSkillsTool, createSubmitAndExitTool, createWebFetchTool, } from "./definitions";
10
- export { type ApplyPatchExecutorOptions, CommandExitError, computePatchChanges, createApplyPatchExecutor, createDefaultExecutors, createDefaultShellExecutor, createEditorExecutor, createFileReadExecutor, createSearchExecutor, createShellExecutor, createWebFetchExecutor, type DefaultExecutorsOptions, type EditorExecutorOptions, type FileReadExecutorOptions, PATCH_MARKERS, PatchActionType, type PatchFileChange, type SearchExecutorOptions, type ShellExecutorOptions, type WebFetchExecutorOptions, } from "./executors/index";
10
+ export { type ApplyPatchExecutorOptions, CommandExitError, computePatchChanges, createApplyPatchExecutor, createDefaultExecutors, createDefaultShellExecutor, createEditorExecutor, createFileReadExecutor, createSearchExecutor, createShellExecutor, createWebFetchExecutor, type DefaultExecutorsOptions, type EditorExecutorOptions, type FileReadExecutorOptions, PATCH_MARKERS, PatchActionType, type PatchFileChange, RunCommandExecutionController, type RunningCommandRegistration, type SearchExecutorOptions, type ShellExecutorOptions, type WebFetchExecutorOptions, } from "./executors/index";
11
11
  export { MAX_COMMAND_OUTPUT_CHARS, truncateCommandOutput, } from "./executors/output-limits";
12
12
  export { DEFAULT_MODEL_TOOL_ROUTING_RULES, resolveToolRoutingConfig, type ToolRoutingRule, } from "./model-tool-routing";
13
13
  export { createDefaultToolsWithPreset, createToolPoliciesWithPreset, resolveToolPresetName, type ToolPolicyPresetName, type ToolPresetName, ToolPresets, } from "./presets";
14
- export { type BuiltinToolAvailabilityContext, getCoreAcpToolNames, getCoreBuiltinToolCatalog, getCoreDefaultEnabledToolIds, getCoreHeadlessToolNames, resolveCoreSelectedToolIds, type ToolCatalogEntry, } from "./runtime";
14
+ export { type BuiltinToolAvailabilityContext, getCoreAcpToolNames, getCoreBuiltinToolCatalog, getCoreDefaultEnabledToolIds, getCoreHeadlessToolNames, isSkillsToolAvailable, resolveCoreSelectedToolIds, type ToolCatalogEntry, } from "./runtime";
15
15
  export { type ApplyPatchInput, ApplyPatchInputSchema, type AskQuestionInput, AskQuestionInputSchema, type EditFileInput, EditFileInputSchema, type FetchWebContentInput, FetchWebContentInputSchema, type ReadFileRequest, ReadFileRequestSchema, type ReadFilesInput, ReadFilesInputSchema, type RunCommandsInput, RunCommandsInputSchema, type SearchCodebaseInput, SearchCodebaseInputSchema, type SkillsInput, SkillsInputSchema, type StructuredCommandInput, StructuredCommandInputSchema, type SubmitInput, SubmitInputSchema, type WebFetchRequest, WebFetchRequestSchema, } from "./schemas";
16
16
  export { TEAM_TOOL_NAMES } from "./team/team-tools";
17
17
  export type { ApplyPatchExecutor, AskQuestionExecutor, CreateDefaultToolsOptions, DefaultToolName, DefaultToolsConfig, EditorExecutor, FileReadExecutor, SearchExecutor, ShellExecutor, SkillsExecutor, SkillsExecutorSkillMetadata, SkillsExecutorWithMetadata, ToolExecutors, ToolOperationResult, VerifySubmitExecutor, WebFetchExecutor, } from "./types";
@@ -15,6 +15,15 @@ export interface BuiltinToolAvailabilityContext {
15
15
  enabledModelToolIds?: ReadonlySet<string>;
16
16
  }
17
17
  export declare function getCoreBuiltinToolCatalog(context?: BuiltinToolAvailabilityContext): ToolCatalogEntry[];
18
+ /**
19
+ * Whether the `skills` tool is part of a session's default toolset for this
20
+ * availability context. Hosts consult this before dispatching a typed
21
+ * `/skill` command: when the tool is available the command passes through as
22
+ * typed and the model loads the instructions via the tool; when it is not
23
+ * (e.g. the yolo preset or a user toggle disables it), textual expansion is
24
+ * the only delivery path left.
25
+ */
26
+ export declare function isSkillsToolAvailable(context?: BuiltinToolAvailabilityContext): boolean;
18
27
  export declare function getCoreDefaultEnabledToolIds(context?: BuiltinToolAvailabilityContext): string[];
19
28
  export declare function resolveCoreSelectedToolIds(input: {
20
29
  enabled: boolean;
@@ -1,6 +1,12 @@
1
1
  import { type AgentAbortHookPayload, type AgentEndHookPayload, type AgentErrorHookPayload, type AgentHooks, type AgentResumeHookPayload, type AgentStartHookPayload, type HookEventName, HookEventNameSchema, type HookEventPayload, type HookEventPayloadBase, HookEventPayloadSchema, type HookSessionContextProvider, type PostToolUseData, type PreCompactData, type PreCompactHookPayload, type PreToolUseData, type PromptSubmitHookPayload, parseHookEventPayload, type SessionShutdownHookPayload, type TaskCancelData, type TaskCompleteData, type TaskResumeData, type TaskStartData, type ToolCallHookPayload, type ToolResultHookPayload, type UserPromptSubmitData, type WorkspaceInfo } from "@cline/shared";
2
2
  import { z } from "zod";
3
3
  import { type RunSubprocessEventResult } from "./subprocess-runner";
4
+ /**
5
+ * Maximum size for a hook's injected context (`contextModification`), matching
6
+ * the legacy extension's cap. Prevents a hook from overflowing the prompt.
7
+ */
8
+ export declare const MAX_HOOK_CONTEXT_SIZE = 50000;
9
+ export declare function truncateHookContext(context: string | undefined): string | undefined;
4
10
  export interface HookOutput {
5
11
  contextModification: string;
6
12
  cancel: boolean;
@@ -1,4 +1,4 @@
1
- import { type HubCommandEnvelope, type HubEventEnvelope, type HubReplyEnvelope } from "@cline/shared";
1
+ import { type HubClientRegistration, type HubCommandEnvelope, type HubEventEnvelope, type HubReplyEnvelope } from "@cline/shared";
2
2
  import { type HubOwnerContext } from "../discovery";
3
3
  export interface HubClientOptions {
4
4
  url: string;
@@ -8,6 +8,7 @@ export interface HubClientOptions {
8
8
  workspaceRoot?: string;
9
9
  cwd?: string;
10
10
  authToken?: string;
11
+ capabilities?: HubClientRegistration["capabilities"];
11
12
  }
12
13
  export interface LocalHubResolutionOptions {
13
14
  endpoint?: string;
@@ -51,11 +52,13 @@ export declare class NodeHubClient {
51
52
  private lastCloseError;
52
53
  private sawSocketClose;
53
54
  private registered;
55
+ private capabilities;
54
56
  constructor(options: HubClientOptions);
55
57
  getClientId(): string;
56
58
  getUrl(): string;
57
59
  isConnected(): boolean;
58
60
  getConnectionError(): HubTransportError | null;
61
+ updateCapabilities(capabilities: NonNullable<HubClientRegistration["capabilities"]>): Promise<void>;
59
62
  connect(): Promise<void>;
60
63
  subscribe(listener: (event: HubEventEnvelope) => void, options?: {
61
64
  sessionId?: string;
@@ -1,5 +1,5 @@
1
1
  import type * as LlmsProviders from "@cline/llms";
2
- import type { ChatRunTurnRequest, ChatStartSessionRequest, ChatStartSessionResponse, ChatTurnResult, TeamProgressProjectionEvent } from "@cline/shared";
2
+ import type { AgendaAutomationPolicy, AgendaTaskListInput, AgendaTaskRecord, AgendaTaskRunRecord, ChatRunTurnRequest, ChatStartSessionRequest, ChatStartSessionResponse, ChatTurnResult, HubTaskCreateInput, HubTaskUpdateInput, TeamProgressProjectionEvent } from "@cline/shared";
3
3
  import type { CheckpointEntry } from "../../hooks/checkpoint-hooks";
4
4
  type ScheduleClientRecord = Record<string, unknown> & {
5
5
  metadata?: Record<string, unknown>;
@@ -62,6 +62,7 @@ export declare class HubSessionClient {
62
62
  constructor(options: HubSessionClientOptions);
63
63
  private ensureMetadataApplied;
64
64
  connect(): Promise<void>;
65
+ private taskCommand;
65
66
  close(): void;
66
67
  dispose(): Promise<void>;
67
68
  startRuntimeSession(request: ChatStartSessionRequest): Promise<ChatStartSessionResponse>;
@@ -116,5 +117,17 @@ export declare class HubSessionClient {
116
117
  getScheduleStats(): Promise<Record<string, unknown> | undefined>;
117
118
  getActiveScheduledExecutions(): Promise<Array<Record<string, unknown>>>;
118
119
  getUpcomingScheduledRuns(limit?: number): Promise<Array<Record<string, unknown>>>;
120
+ createTask(input: HubTaskCreateInput): Promise<AgendaTaskRecord>;
121
+ listTasks(input?: AgendaTaskListInput): Promise<AgendaTaskRecord[]>;
122
+ getTask(taskId: string): Promise<AgendaTaskRecord | undefined>;
123
+ updateTask(input: HubTaskUpdateInput): Promise<AgendaTaskRecord>;
124
+ approveTask(taskId: string, expectedRevision: number): Promise<AgendaTaskRecord>;
125
+ cancelTask(taskId: string, expectedRevision: number, reason?: string): Promise<AgendaTaskRecord>;
126
+ runTask(taskId: string, expectedRevision: number): Promise<{
127
+ task: AgendaTaskRecord;
128
+ run?: AgendaTaskRunRecord;
129
+ }>;
130
+ getTaskAutomation(): Promise<AgendaAutomationPolicy>;
131
+ setTaskAutomation(policy: Omit<AgendaAutomationPolicy, "updatedAt">): Promise<AgendaAutomationPolicy>;
119
132
  }
120
133
  export {};