@cline/shared 0.0.45 → 0.0.46-nightly.1781147825
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.
- package/dist/hub.d.ts +18 -0
- package/dist/index.browser.d.ts +1 -2
- package/dist/index.browser.js +14 -14
- package/dist/index.d.ts +1 -2
- package/dist/index.js +42 -42
- package/dist/rpc/runtime.d.ts +1 -2
- package/dist/types/auth.d.ts +4 -14
- package/package.json +1 -1
package/dist/hub.d.ts
CHANGED
|
@@ -3,6 +3,24 @@ import type { ReasoningEffort } from "./agents/types";
|
|
|
3
3
|
import type { GatewayModelSelection, JsonValue } from "./llms/gateway";
|
|
4
4
|
import type { RuntimeConfigExtensionKind } from "./session/runtime-config";
|
|
5
5
|
export type HubProtocolVersion = "v1";
|
|
6
|
+
export declare const CURRENT_HUB_PROTOCOL_VERSION: HubProtocolVersion;
|
|
7
|
+
export declare const MIN_CLIENT_HUB_PROTOCOL_VERSION: HubProtocolVersion;
|
|
8
|
+
export declare const MAX_CLIENT_HUB_PROTOCOL_VERSION: HubProtocolVersion;
|
|
9
|
+
export type HubCapabilityName = "client.register" | "client.list" | "session.create" | "session.list" | "session.get" | "session.run" | "session.abort" | "schedule.create" | "schedule.list" | "settings.get" | "settings.set";
|
|
10
|
+
export declare const HUB_CAPABILITIES: readonly HubCapabilityName[];
|
|
11
|
+
export interface HubProtocolMetadata {
|
|
12
|
+
protocolVersion: string;
|
|
13
|
+
minClientProtocolVersion?: string;
|
|
14
|
+
maxClientProtocolVersion?: string;
|
|
15
|
+
capabilities?: readonly string[];
|
|
16
|
+
}
|
|
17
|
+
export type HubCompatibilityResult = {
|
|
18
|
+
compatible: true;
|
|
19
|
+
} | {
|
|
20
|
+
compatible: false;
|
|
21
|
+
reason: "missing_protocol" | "unsupported_protocol";
|
|
22
|
+
};
|
|
23
|
+
export declare function isHubProtocolCompatible(hub: HubProtocolMetadata, clientProtocolVersion?: HubProtocolVersion): HubCompatibilityResult;
|
|
6
24
|
export type HubActorKind = "client" | "peerHub";
|
|
7
25
|
export type HubTransportKind = "native" | "browser" | "remote" | "native-grpc" | "browser-ws" | "browser-grpc-web" | "peer-grpc";
|
|
8
26
|
export type HubRuntimeStatus = "idle" | "running" | "pending" | "completed" | "aborted" | "failed";
|
package/dist/index.browser.d.ts
CHANGED
|
@@ -56,6 +56,5 @@ export type { RuntimeEnv } from "./session/runtime-env";
|
|
|
56
56
|
export * from "./session/workspace";
|
|
57
57
|
export * from "./team";
|
|
58
58
|
export { createTool } from "./tools/create";
|
|
59
|
-
export
|
|
60
|
-
export { AUTH_ERROR_PATTERNS, isLikelyAuthError, isOAuthProviderId, OAUTH_PROVIDER_IDS, } from "./types/auth";
|
|
59
|
+
export { AUTH_ERROR_PATTERNS, isLikelyAuthError } from "./types/auth";
|
|
61
60
|
export type { VcrRecording } from "./types/vcr";
|
package/dist/index.browser.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import{z as w}from"zod";import{z as F}from"zod";var sn=F.enum(["default","openai-responses","r1"]),af={DEFAULT:"default",OPENAI_RESPONSES:"openai-responses",R1:"r1"},Jn=F.enum(["images","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),Bn=F.enum(["active","preview","deprecated","legacy"]),Qn=F.object({input:F.number().optional(),output:F.number().optional(),cacheWrite:F.number().optional(),cacheRead:F.number().optional()}),Vn=F.object({maxBudget:F.number().optional(),outputPrice:F.number().optional(),thinkingLevel:F.enum(["low","high"]).optional()}),Wn=F.object({reasoningDefaultOn:F.boolean().optional()}).catchall(F.unknown()),v=F.object({id:F.string(),name:F.string().optional(),description:F.string().optional(),maxTokens:F.number().optional(),contextWindow:F.number().optional(),maxInputTokens:F.number().optional(),capabilities:F.array(Jn).optional(),apiFormat:sn.optional(),systemRole:F.enum(["system","developer"]).optional(),temperature:F.number().optional(),pricing:Qn.optional(),thinkingConfig:Vn.optional(),status:Bn.optional(),deprecationNotice:F.string().optional(),replacedBy:F.string().optional(),releaseDate:F.string().optional(),deprecationDate:F.string().optional(),family:F.string().optional(),metadata:Wn.optional()});import{z as b}from"zod";var nn=b.object({id:b.string(),name:b.string(),input:b.unknown(),output:b.unknown(),error:b.string().optional(),durationMs:b.number(),startedAt:b.date(),endedAt:b.date()});var zf=w.enum(["completed","max_iterations","aborted","mistake_limit","error"]),no=w.object({inputTokens:w.number(),outputTokens:w.number(),cacheReadTokens:w.number().optional(),cacheWriteTokens:w.number().optional(),totalCost:w.number().optional()}),og=w.object({text:w.string(),usage:no,messages:w.array(w.custom()),toolCalls:w.array(nn),iterations:w.number(),finishReason:zf,model:w.object({id:w.string(),provider:w.string(),info:v.optional()}),startedAt:w.date(),endedAt:w.date(),durationMs:w.number()}),fo=w.enum(["low","medium","high","xhigh"]),rg=w.object({sessionId:w.string().optional(),providerId:w.string(),modelId:w.string(),apiKey:w.string().optional(),baseUrl:w.string().url().optional(),headers:w.record(w.string(),w.string()).optional(),knownModels:w.record(w.string(),v).optional(),providerConfig:w.unknown().optional(),initialMessages:w.array(w.custom()).optional(),systemPrompt:w.string(),tools:w.array(w.custom()),maxIterations:w.number().positive().optional(),maxParallelToolCalls:w.number().int().positive().default(8),maxTokensPerTurn:w.number().positive().optional(),apiTimeoutMs:w.number().positive().default(180000),userFileContentLoader:w.function().input([w.string()]).output(w.promise(w.string())).optional(),toolContextMetadata:w.record(w.string(),w.unknown()).optional(),execution:w.object({maxConsecutiveMistakes:w.number().int().positive().optional(),reminderAfterIterations:w.number().nonnegative().optional(),reminderText:w.string().optional(),loopDetection:w.union([w.literal(!1),w.object({softThreshold:w.number().int().positive().optional(),hardThreshold:w.number().int().positive().optional()})]).optional()}).optional(),reasoningEffort:fo.optional(),thinkingBudgetTokens:w.number().positive().optional(),thinking:w.boolean().optional(),onEvent:w.function().input([w.custom()]).output(w.void()).optional(),hooks:w.custom().optional(),parentAgentId:w.string().optional(),extensions:w.array(w.custom()).optional(),hookErrorMode:w.enum(["ignore","throw"]).default("ignore"),toolPolicies:w.record(w.string(),w.object({enabled:w.boolean().optional(),autoApprove:w.boolean().optional()})).optional(),requestToolApproval:w.function().input([w.object({sessionId:w.string(),agentId:w.string(),conversationId:w.string(),iteration:w.number(),toolCallId:w.string(),toolName:w.string(),input:w.unknown(),policy:w.object({enabled:w.boolean().optional(),autoApprove:w.boolean().optional()}).default({})})]).output(w.union([w.object({approved:w.boolean(),reason:w.string().optional()}),w.promise(w.object({approved:w.boolean(),reason:w.string().optional()}))])).optional(),onConsecutiveMistakeLimitReached:w.function().input([w.object({iteration:w.number().int().positive(),consecutiveMistakes:w.number().int().positive(),maxConsecutiveMistakes:w.number().int().positive(),reason:w.enum(["api_error","invalid_tool_call","tool_execution_failed"]),details:w.string().optional()})]).output(w.union([w.object({action:w.literal("continue"),guidance:w.string().optional()}),w.object({action:w.literal("stop"),reason:w.string().optional()}),w.promise(w.union([w.object({action:w.literal("continue"),guidance:w.string().optional()}),w.object({action:w.literal("stop"),reason:w.string().optional()})]))])).optional(),logger:w.custom().optional(),extensionContext:w.custom().optional(),abortSignal:w.custom().optional()});import{z as H}from"zod";var jn=H.enum(["connector.started","connector.stopping","session.authorize","message.received","message.denied","message.completed","message.failed","session.started","session.reused","session.reset","schedule.delivery.started","schedule.delivery.sent","schedule.delivery.failed"]),Kn=H.object({id:H.string().optional(),label:H.string().optional(),role:H.string().optional(),participantKey:H.string().optional(),participantLabel:H.string().optional(),platformUserId:H.string().optional(),metadata:H.record(H.string(),H.unknown()).optional()}),Tn=H.object({source:H.string(),sourceEvent:H.string(),threadId:H.string(),channelId:H.string(),isDM:H.boolean(),sessionId:H.string().optional(),workspaceRoot:H.string().optional(),metadata:H.record(H.string(),H.unknown()).optional()}),oo=H.object({actor:Kn,context:Tn,payload:H.record(H.string(),H.unknown()).optional()}),ro=H.object({action:H.enum(["allow","deny"]).default("allow"),message:H.string().optional(),reason:H.string().optional(),metadata:H.record(H.string(),H.unknown()).optional()}),go=H.object({adapter:H.string(),botUserName:H.string().optional(),event:jn,payload:H.record(H.string(),H.unknown()),ts:H.string()});var wo=["hooks","tools","commands","rules","skills","messageBuilders","providers","automationEvents"],$o=new Set(wo);function Mn(n,f){return n.name||`extension_${String(f).padStart(4,"0")}`}function Nn(n){return Array.isArray(n)&&n.every((f)=>typeof f==="string")}function Cn(n){if(!Array.isArray(n))return;let f=n.filter((o)=>typeof o==="string").map((o)=>o.trim()).filter((o)=>o.length>0);return f.length>0?f:void 0}function On(n){let f=Cn(n.providerIds),o=Cn(n.modelIds);return{...n,...f?{providerIds:f}:{},...o?{modelIds:o}:{}}}function yo(n,f){let o=Mn(n,f),d=n.manifest;if(!d||typeof d!=="object")throw Error(`Invalid manifest for extension "${o}": manifest is required`);if(!Array.isArray(d.capabilities)||d.capabilities.length===0)throw Error(`Invalid manifest for extension "${o}": capabilities must be a non-empty array`);let $=new Set;for(let I of d.capabilities){if(!$o.has(I))throw Error(`Invalid manifest for extension "${o}": unsupported capability "${String(I)}"`);$.add(I)}if(Object.hasOwn(d,"providerIds")&&!Nn(d.providerIds))throw Error(`Invalid manifest for extension "${o}": providerIds must be a string array when provided`);if(Object.hasOwn(d,"modelIds")&&!Nn(d.modelIds))throw Error(`Invalid manifest for extension "${o}": modelIds must be a string array when provided`);let y=$.has("hooks");if(n.hooks!==void 0&&!y)throw Error(`Invalid manifest for extension "${o}": runtime hooks require the "hooks" capability`);return{capabilities:$,raw:On(d)}}function Ro(n,f){if(!n||typeof n!=="object")throw Error(`Invalid automation event contribution for extension "${f}": expected object`);let o=typeof n.eventType==="string"?n.eventType.trim():"",d=typeof n.source==="string"?n.source.trim():"";if(!o)throw Error(`Invalid automation event contribution for extension "${f}": eventType is required`);if(!d)throw Error(`Invalid automation event contribution for extension "${f}": source is required`);return{...n,eventType:o,source:d,examples:n.examples?[...n.examples]:void 0,metadata:n.metadata?{...n.metadata}:void 0}}class fn{extensions;registry={tools:[],commands:[],rules:[],messageBuilder:[],providers:[],automationEventTypes:[]};normalized=[];phase="resolve";setupContext;constructor(n={}){this.extensions=n.extensions??[],this.setupContext=n.setupContext??{}}resolve(){if(this.phase!=="resolve")return;this.normalized=this.extensions.map((n,f)=>({extension:n,order:f,manifest:{capabilities:new Set,raw:n.manifest}})),this.phase="validate"}validate(){if(this.phase==="resolve")this.resolve();if(this.phase!=="validate")return;this.normalized=this.normalized.map((n)=>({...n,manifest:yo(n.extension,n.order)})),this.phase="setup"}async setup(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();if(this.phase!=="setup")return;for(let n of this.normalized){let{extension:f}=n;if(f.disabled)continue;let o=Mn(f,n.order),d={registerTool:(y)=>this.registry.tools.push(y),registerCommand:(y)=>this.registry.commands.push(y),registerRule:(y)=>{if(!n.manifest.capabilities.has("rules"))throw Error(`Invalid setup for extension "${o}": registerRule requires the "rules" capability`);this.registry.rules.push(y)},registerMessageBuilder:(y)=>this.registry.messageBuilder.push(y),registerProvider:(y)=>this.registry.providers.push(y),registerAutomationEventType:(y)=>{if(!n.manifest.capabilities.has("automationEvents"))throw Error(`Invalid setup for extension "${o}": registerAutomationEventType requires the "automationEvents" capability`);this.registry.automationEventTypes.push(Ro(y,o))}},$=n.manifest.capabilities.has("automationEvents")?this.setupContext:{...this.setupContext,automation:void 0};await f.setup?.(d,$)}this.phase="activate"}activate(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();if(this.phase==="setup")throw Error("Contribution registry setup must complete before activation");if(this.phase!=="activate")return;this.phase="run"}async initialize(){this.resolve(),this.validate(),await this.setup(),this.activate()}isActivated(){return this.phase==="run"}getRegistrySnapshot(){return{tools:[...this.registry.tools],commands:[...this.registry.commands],rules:[...this.registry.rules],messageBuilder:[...this.registry.messageBuilder],providers:[...this.registry.providers],automationEventTypes:[...this.registry.automationEventTypes]}}getRegisteredTools(){return[...this.registry.tools]}getRegisteredRules(){return[...this.registry.rules]}getRegisteredAutomationEventTypes(){return[...this.registry.automationEventTypes]}getValidatedExtensions(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();return this.normalized.slice().sort((n,f)=>n.order-f.order).map(({extension:n})=>n)}}function _o(n={}){return new fn(n)}var Eo=[".js",".ts"];import{z as R}from"zod";var cn=R.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),j=R.record(R.string(),R.string()),Ho=R.object({toolName:R.string(),parameters:j}),qo=R.object({toolName:R.string(),parameters:j,result:R.string(),success:R.boolean(),executionTimeMs:R.number()}),ko=R.object({prompt:R.string(),attachments:R.array(R.string())}),Uo=R.object({taskMetadata:j}),Fo=R.object({taskMetadata:j,previousState:j}),Io=R.object({taskMetadata:j}),Lo=R.object({taskMetadata:j}),Yo=R.object({taskId:R.string(),ulid:R.string(),contextSize:R.number(),compactionStrategy:R.string(),previousApiReqIndex:R.number(),tokensIn:R.number(),tokensOut:R.number(),tokensInCache:R.number(),tokensOutCache:R.number(),deletedRangeStart:R.number(),deletedRangeEnd:R.number(),contextJsonPath:R.string(),contextRawPath:R.string()}),hn=R.object({clineVersion:R.string(),hookName:cn,timestamp:R.string(),taskId:R.string(),sessionContext:R.object({rootSessionId:R.string().optional(),hookLogPath:R.string().optional()}).optional(),workspaceRoots:R.array(R.string()),workspaceInfo:R.custom().optional(),userId:R.string(),agent_id:R.string(),parent_agent_id:R.string().nullable(),iteration:R.number().optional(),reason:R.string().optional(),tool_call:R.object({id:R.string(),name:R.string(),input:R.unknown()}).optional(),tool_result:R.custom().optional(),turn:R.unknown().optional(),error:R.object({name:R.string(),message:R.string(),stack:R.string().optional()}).optional(),preToolUse:Ho.optional(),postToolUse:qo.optional(),userPromptSubmit:ko.optional(),taskStart:Uo.optional(),taskResume:Fo.optional(),taskCancel:Io.optional(),taskComplete:Lo.optional(),preCompact:Yo.optional()}).passthrough();function lo(n){let f=hn.safeParse(n);if(!f.success)return;return f.data}var qg=30000,kg=5000;function Do(n){switch(n){case"run.start":case"session.send_input":return null;default:return 30000}}function Ug(n,f){return f===void 0?Do(n):f}var Go=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],Ao=new Set(Go);function Fg(n){return typeof n==="string"&&Ao.has(n)}var Ig="tool_executor.",Lg="custom_tool.",Yg="hook.",lg="compaction.compact",Dg="checkpoint.create",Gg="mistake_limit.decide",Ag="user_instructions.snapshot";function on(n,f){return`<file_content path="${n}">
|
|
1
|
+
import{z as d}from"zod";import{z as U}from"zod";var Vn=U.enum(["default","openai-responses","r1"]),ef={DEFAULT:"default",OPENAI_RESPONSES:"openai-responses",R1:"r1"},Pn=U.enum(["images","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),Wn=U.enum(["active","preview","deprecated","legacy"]),jn=U.object({input:U.number().optional(),output:U.number().optional(),cacheWrite:U.number().optional(),cacheRead:U.number().optional()}),ln=U.object({maxBudget:U.number().optional(),outputPrice:U.number().optional(),thinkingLevel:U.enum(["low","high"]).optional()}),bn=U.object({reasoningDefaultOn:U.boolean().optional()}).catchall(U.unknown()),m=U.object({id:U.string(),name:U.string().optional(),description:U.string().optional(),maxTokens:U.number().optional(),contextWindow:U.number().optional(),maxInputTokens:U.number().optional(),capabilities:U.array(Pn).optional(),apiFormat:Vn.optional(),systemRole:U.enum(["system","developer"]).optional(),temperature:U.number().optional(),pricing:jn.optional(),thinkingConfig:ln.optional(),status:Wn.optional(),deprecationNotice:U.string().optional(),replacedBy:U.string().optional(),releaseDate:U.string().optional(),deprecationDate:U.string().optional(),family:U.string().optional(),metadata:bn.optional()});import{z as B}from"zod";var fn=B.object({id:B.string(),name:B.string(),input:B.unknown(),output:B.unknown(),error:B.string().optional(),durationMs:B.number(),startedAt:B.date(),endedAt:B.date()});var af=d.enum(["completed","max_iterations","aborted","mistake_limit","error"]),zf=d.object({inputTokens:d.number(),outputTokens:d.number(),cacheReadTokens:d.number().optional(),cacheWriteTokens:d.number().optional(),totalCost:d.number().optional()}),or=d.object({text:d.string(),usage:zf,messages:d.array(d.custom()),toolCalls:d.array(fn),iterations:d.number(),finishReason:af,model:d.object({id:d.string(),provider:d.string(),info:m.optional()}),startedAt:d.date(),endedAt:d.date(),durationMs:d.number()}),no=d.enum(["low","medium","high","xhigh"]),gr=d.object({sessionId:d.string().optional(),providerId:d.string(),modelId:d.string(),apiKey:d.string().optional(),baseUrl:d.string().url().optional(),headers:d.record(d.string(),d.string()).optional(),knownModels:d.record(d.string(),m).optional(),providerConfig:d.unknown().optional(),initialMessages:d.array(d.custom()).optional(),systemPrompt:d.string(),tools:d.array(d.custom()),maxIterations:d.number().positive().optional(),maxParallelToolCalls:d.number().int().positive().default(8),maxTokensPerTurn:d.number().positive().optional(),apiTimeoutMs:d.number().positive().default(180000),userFileContentLoader:d.function().input([d.string()]).output(d.promise(d.string())).optional(),toolContextMetadata:d.record(d.string(),d.unknown()).optional(),execution:d.object({maxConsecutiveMistakes:d.number().int().positive().optional(),reminderAfterIterations:d.number().nonnegative().optional(),reminderText:d.string().optional(),loopDetection:d.union([d.literal(!1),d.object({softThreshold:d.number().int().positive().optional(),hardThreshold:d.number().int().positive().optional()})]).optional()}).optional(),reasoningEffort:no.optional(),thinkingBudgetTokens:d.number().positive().optional(),thinking:d.boolean().optional(),onEvent:d.function().input([d.custom()]).output(d.void()).optional(),hooks:d.custom().optional(),parentAgentId:d.string().optional(),extensions:d.array(d.custom()).optional(),hookErrorMode:d.enum(["ignore","throw"]).default("ignore"),toolPolicies:d.record(d.string(),d.object({enabled:d.boolean().optional(),autoApprove:d.boolean().optional()})).optional(),requestToolApproval:d.function().input([d.object({sessionId:d.string(),agentId:d.string(),conversationId:d.string(),iteration:d.number(),toolCallId:d.string(),toolName:d.string(),input:d.unknown(),policy:d.object({enabled:d.boolean().optional(),autoApprove:d.boolean().optional()}).default({})})]).output(d.union([d.object({approved:d.boolean(),reason:d.string().optional()}),d.promise(d.object({approved:d.boolean(),reason:d.string().optional()}))])).optional(),onConsecutiveMistakeLimitReached:d.function().input([d.object({iteration:d.number().int().positive(),consecutiveMistakes:d.number().int().positive(),maxConsecutiveMistakes:d.number().int().positive(),reason:d.enum(["api_error","invalid_tool_call","tool_execution_failed"]),details:d.string().optional()})]).output(d.union([d.object({action:d.literal("continue"),guidance:d.string().optional()}),d.object({action:d.literal("stop"),reason:d.string().optional()}),d.promise(d.union([d.object({action:d.literal("continue"),guidance:d.string().optional()}),d.object({action:d.literal("stop"),reason:d.string().optional()})]))])).optional(),logger:d.custom().optional(),extensionContext:d.custom().optional(),abortSignal:d.custom().optional()});import{z as q}from"zod";var Kn=q.enum(["connector.started","connector.stopping","session.authorize","message.received","message.denied","message.completed","message.failed","session.started","session.reused","session.reset","schedule.delivery.started","schedule.delivery.sent","schedule.delivery.failed"]),Tn=q.object({id:q.string().optional(),label:q.string().optional(),role:q.string().optional(),participantKey:q.string().optional(),participantLabel:q.string().optional(),platformUserId:q.string().optional(),metadata:q.record(q.string(),q.unknown()).optional()}),Nn=q.object({source:q.string(),sourceEvent:q.string(),threadId:q.string(),channelId:q.string(),isDM:q.boolean(),sessionId:q.string().optional(),workspaceRoot:q.string().optional(),metadata:q.record(q.string(),q.unknown()).optional()}),fo=q.object({actor:Tn,context:Nn,payload:q.record(q.string(),q.unknown()).optional()}),oo=q.object({action:q.enum(["allow","deny"]).default("allow"),message:q.string().optional(),reason:q.string().optional(),metadata:q.record(q.string(),q.unknown()).optional()}),go=q.object({adapter:q.string(),botUserName:q.string().optional(),event:Kn,payload:q.record(q.string(),q.unknown()),ts:q.string()});var ro=["hooks","tools","commands","rules","skills","messageBuilders","providers","automationEvents"],wo=new Set(ro);function On(n,f){return n.name||`extension_${String(f).padStart(4,"0")}`}function Cn(n){return Array.isArray(n)&&n.every((f)=>typeof f==="string")}function Mn(n){if(!Array.isArray(n))return;let f=n.filter((o)=>typeof o==="string").map((o)=>o.trim()).filter((o)=>o.length>0);return f.length>0?f:void 0}function Sn(n){let f=Mn(n.providerIds),o=Mn(n.modelIds);return{...n,...f?{providerIds:f}:{},...o?{modelIds:o}:{}}}function $o(n,f){let o=On(n,f),w=n.manifest;if(!w||typeof w!=="object")throw Error(`Invalid manifest for extension "${o}": manifest is required`);if(!Array.isArray(w.capabilities)||w.capabilities.length===0)throw Error(`Invalid manifest for extension "${o}": capabilities must be a non-empty array`);let $=new Set;for(let Y of w.capabilities){if(!wo.has(Y))throw Error(`Invalid manifest for extension "${o}": unsupported capability "${String(Y)}"`);$.add(Y)}if(Object.hasOwn(w,"providerIds")&&!Cn(w.providerIds))throw Error(`Invalid manifest for extension "${o}": providerIds must be a string array when provided`);if(Object.hasOwn(w,"modelIds")&&!Cn(w.modelIds))throw Error(`Invalid manifest for extension "${o}": modelIds must be a string array when provided`);let R=$.has("hooks");if(n.hooks!==void 0&&!R)throw Error(`Invalid manifest for extension "${o}": runtime hooks require the "hooks" capability`);return{capabilities:$,raw:Sn(w)}}function Ro(n,f){if(!n||typeof n!=="object")throw Error(`Invalid automation event contribution for extension "${f}": expected object`);let o=typeof n.eventType==="string"?n.eventType.trim():"",w=typeof n.source==="string"?n.source.trim():"";if(!o)throw Error(`Invalid automation event contribution for extension "${f}": eventType is required`);if(!w)throw Error(`Invalid automation event contribution for extension "${f}": source is required`);return{...n,eventType:o,source:w,examples:n.examples?[...n.examples]:void 0,metadata:n.metadata?{...n.metadata}:void 0}}class on{extensions;registry={tools:[],commands:[],rules:[],messageBuilder:[],providers:[],automationEventTypes:[]};normalized=[];phase="resolve";setupContext;constructor(n={}){this.extensions=n.extensions??[],this.setupContext=n.setupContext??{}}resolve(){if(this.phase!=="resolve")return;this.normalized=this.extensions.map((n,f)=>({extension:n,order:f,manifest:{capabilities:new Set,raw:n.manifest}})),this.phase="validate"}validate(){if(this.phase==="resolve")this.resolve();if(this.phase!=="validate")return;this.normalized=this.normalized.map((n)=>({...n,manifest:$o(n.extension,n.order)})),this.phase="setup"}async setup(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();if(this.phase!=="setup")return;for(let n of this.normalized){let{extension:f}=n;if(f.disabled)continue;let o=On(f,n.order),w={registerTool:(R)=>this.registry.tools.push(R),registerCommand:(R)=>this.registry.commands.push(R),registerRule:(R)=>{if(!n.manifest.capabilities.has("rules"))throw Error(`Invalid setup for extension "${o}": registerRule requires the "rules" capability`);this.registry.rules.push(R)},registerMessageBuilder:(R)=>this.registry.messageBuilder.push(R),registerProvider:(R)=>this.registry.providers.push(R),registerAutomationEventType:(R)=>{if(!n.manifest.capabilities.has("automationEvents"))throw Error(`Invalid setup for extension "${o}": registerAutomationEventType requires the "automationEvents" capability`);this.registry.automationEventTypes.push(Ro(R,o))}},$=n.manifest.capabilities.has("automationEvents")?this.setupContext:{...this.setupContext,automation:void 0};await f.setup?.(w,$)}this.phase="activate"}activate(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();if(this.phase==="setup")throw Error("Contribution registry setup must complete before activation");if(this.phase!=="activate")return;this.phase="run"}async initialize(){this.resolve(),this.validate(),await this.setup(),this.activate()}isActivated(){return this.phase==="run"}getRegistrySnapshot(){return{tools:[...this.registry.tools],commands:[...this.registry.commands],rules:[...this.registry.rules],messageBuilder:[...this.registry.messageBuilder],providers:[...this.registry.providers],automationEventTypes:[...this.registry.automationEventTypes]}}getRegisteredTools(){return[...this.registry.tools]}getRegisteredRules(){return[...this.registry.rules]}getRegisteredAutomationEventTypes(){return[...this.registry.automationEventTypes]}getValidatedExtensions(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();return this.normalized.slice().sort((n,f)=>n.order-f.order).map(({extension:n})=>n)}}function yo(n={}){return new on(n)}var _o=[".js",".ts"];import{z as y}from"zod";var hn=y.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),b=y.record(y.string(),y.string()),Eo=y.object({toolName:y.string(),parameters:b}),qo=y.object({toolName:y.string(),parameters:b,result:y.string(),success:y.boolean(),executionTimeMs:y.number()}),Ho=y.object({prompt:y.string(),attachments:y.array(y.string())}),Io=y.object({taskMetadata:b}),ko=y.object({taskMetadata:b,previousState:b}),Uo=y.object({taskMetadata:b}),Yo=y.object({taskMetadata:b}),Fo=y.object({taskId:y.string(),ulid:y.string(),contextSize:y.number(),compactionStrategy:y.string(),previousApiReqIndex:y.number(),tokensIn:y.number(),tokensOut:y.number(),tokensInCache:y.number(),tokensOutCache:y.number(),deletedRangeStart:y.number(),deletedRangeEnd:y.number(),contextJsonPath:y.string(),contextRawPath:y.string()}),cn=y.object({clineVersion:y.string(),hookName:hn,timestamp:y.string(),taskId:y.string(),sessionContext:y.object({rootSessionId:y.string().optional(),hookLogPath:y.string().optional()}).optional(),workspaceRoots:y.array(y.string()),workspaceInfo:y.custom().optional(),userId:y.string(),agent_id:y.string(),parent_agent_id:y.string().nullable(),iteration:y.number().optional(),reason:y.string().optional(),tool_call:y.object({id:y.string(),name:y.string(),input:y.unknown()}).optional(),tool_result:y.custom().optional(),turn:y.unknown().optional(),error:y.object({name:y.string(),message:y.string(),stack:y.string().optional()}).optional(),preToolUse:Eo.optional(),postToolUse:qo.optional(),userPromptSubmit:Ho.optional(),taskStart:Io.optional(),taskResume:ko.optional(),taskCancel:Uo.optional(),taskComplete:Yo.optional(),preCompact:Fo.optional()}).passthrough();function Lo(n){let f=cn.safeParse(n);if(!f.success)return;return f.data}var Hr="v1",Ir="v1",kr="v1",Ur=["client.register","client.list","session.create","session.list","session.get","session.run","session.abort","schedule.create","schedule.list","settings.get","settings.set"];function p(n){let f=/^v(\d+)$/.exec(n?.trim()??"");if(!f)return;return Number.parseInt(f[1]??"",10)}function Yr(n,f="v1"){let o=p(n.protocolVersion),w=p(f);if(o===void 0||w===void 0)return{compatible:!1,reason:"missing_protocol"};let $=p(n.minClientProtocolVersion)??o,R=p(n.maxClientProtocolVersion)??o;return w>=$&&w<=R?{compatible:!0}:{compatible:!1,reason:"unsupported_protocol"}}var Do=30000,Fr=5000;function Ao(n){switch(n){case"run.start":case"session.send_input":return null;default:return Do}}function Lr(n,f){return f===void 0?Ao(n):f}var Go=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],Zo=new Set(Go);function Dr(n){return typeof n==="string"&&Zo.has(n)}var Ar="tool_executor.",Gr="custom_tool.",Zr="hook.",Xr="compaction.compact",Jr="checkpoint.create",Qr="mistake_limit.decide",Br="user_instructions.snapshot";function gn(n,f){return`<file_content path="${n}">
|
|
2
2
|
${f}
|
|
3
|
-
</file_content>`}function
|
|
4
|
-
+`.includes(n)}function wn(n){return n>="a"&&n<="z"||n>="A"&&n<="Z"||n==="_"||n==="$"}function
|
|
5
|
-
+`.includes(n)}function
|
|
6
|
-
`||n==="\r"||n==="\t"||n==="\b"||n==="\f"}function
|
|
7
|
-
`,r:"\r",t:"\t"};function kn(n){let f=0,o="";if(
|
|
8
|
-
`)f++;return!0}return!1}function
|
|
3
|
+
</file_content>`}function Xo(n,f="act"){return`<user_input mode="${f}">${n}</user_input>`}function Jo(n,f){return`<user_command slash="${f}">${n}</user_command>`}function Qo(n,f){let o=n.trim(),w=new RegExp(`^<${f}\\b([^>]*)>([\\s\\S]*?)<\\/${f}>$`,"i").exec(o);if(!w)return;return{attrs:w[1]??"",content:w[2]??""}}function Bo(n,f){return new RegExp(`${f}="([^"]+)"`,"i").exec(n)?.[1]?.trim()||void 0}function xn(n){if(!n?.trim())return;let f=Qo(n,"user_command");if(!f)return;let o=Bo(f.attrs,"slash");if(!o)return;return{slash:o,content:f.content.trim()}}function un(n){if(!n?.trim())return"";let f=n.trim();for(let o of["user_input","user_command"]){let w=vn(f,o);f=(w!==f?w:f.replace(new RegExp(`<${o}[^>]*>`,"g"),"")).trim()}return f}function so(n){let f=un(n),o=xn(n);if(!o)return f;if(o.slash.toLowerCase()==="team"){let $=f.toLowerCase().startsWith("spawn a team of agents for the following task:")?f.slice(46).trim():f;return $?`/team ${$}`:"/team"}return f?`/${o.slash} ${f}`:`/${o.slash}`}function vn(n,f){if(!n?.trim())return"";if(!f)return n;let o=new RegExp(`<${f}\\b[^>]*>([\\s\\S]*?)</${f}>`,"g");return n.replace(o,"$1")}function X(n){return n.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,"�")}var rn="ERROR: EMPTY CONTENT";function mn(n,f){let o=n[n.length-1];if(f.role==="tool"&&o?.role==="tool"&&Array.isArray(o.content)&&Array.isArray(f.content)){o.content.push(...f.content);return}n.push(f)}function Vo(n){if(!Array.isArray(n)||n.length===0)return!1;return n.every((f)=>{if(!f||typeof f!=="object")return!1;let o=f;if(o.type==="text")return typeof o.text==="string";if(o.type==="image")return typeof o.data==="string"&&typeof o.mediaType==="string";return!1})}function dn(n,f){if(n==null||typeof n!=="object")return n;if(Array.isArray(n)){let $=[];for(let R of n){if(R&&typeof R==="object"){let E=R;if(E.type==="image"&&typeof E.data==="string"&&typeof E.mediaType==="string"){f.push({type:"image",data:E.data,mediaType:E.mediaType});continue}if(E.type==="text"&&typeof E.text==="string"){$.push(E.text);continue}}$.push(dn(R,f))}return $}let o=n,w={};for(let[$,R]of Object.entries(o))w[$]=dn(R,f);return w}function i(n){if(typeof n==="string")return X(n);if(Array.isArray(n))return n.map((f)=>i(f));if(n!==null&&typeof n==="object"){let f=n,o={};for(let[w,$]of Object.entries(f))o[w]=i($);return o}return n}function pn(n,f=!1){if(typeof n==="string")return{type:f?"error-text":"text",value:X(n)};if(!f&&Vo(n))return{type:"content",value:n.map((o)=>o.type==="image"?{type:"image-data",data:o.data,mediaType:o.mediaType}:{type:"text",text:X(o.text)})};if(!f&&n!==null&&typeof n==="object"){let o=[],w=dn(n,o);if(o.length>0)return{type:"content",value:[{type:"text",text:typeof w==="string"?X(w):JSON.stringify(i(w))},...o.map((R)=>({type:"image-data",data:R.data,mediaType:R.mediaType}))]}}if(n===null||typeof n==="boolean"||typeof n==="number"||typeof n==="object")return{type:f?"error-json":"json",value:i(n)};return{type:f?"error-text":"text",value:X(String(n))}}function Po(n,f,o){let w=o?.assistantToolCallArgKey??"input",$=[];if(typeof n==="string"&&n.trim().length>0||Array.isArray(n)&&n.length>0)$.push({role:"system",content:typeof n==="string"?X(n):n});for(let R of f){let E=R.content;if(typeof E==="string"){if(E.trim().length===0){$.push({role:R.role,content:[{type:"text",text:rn}]});continue}$.push({role:R.role,content:X(E)});continue}let Y=[],G=[];if(E.length===0){$.push({role:R.role,content:[{type:"text",text:rn}]});continue}for(let I of E)switch(I.type){case"text":Y.push({type:"text",text:X(I.text),...I.providerOptions?{providerOptions:I.providerOptions}:{}});break;case"reasoning":Y.push({type:"reasoning",text:X(I.text),...I.providerOptions?{providerOptions:I.providerOptions}:{}});break;case"image":Y.push({type:"image",image:I.image,mediaType:I.mediaType});break;case"file":Y.push({type:"text",text:gn(I.path,X(I.content))});break;case"tool-call":if(R.role==="assistant")Y.push({type:"tool-call",toolCallId:I.toolCallId,toolName:I.toolName,[w]:I.input,...I.providerOptions?{providerOptions:I.providerOptions}:{}});break;case"tool-result":{G.push({type:"tool-result",toolCallId:I.toolCallId,toolName:I.toolName,output:pn(I.output,I.isError??!1)});break}}if(Y.length>0)mn($,{role:R.role,content:Y});if(G.length>0)mn($,{role:"tool",content:G})}return $}var S={xhigh:0.95,high:0.8,medium:0.5,low:0.2,minimal:0.1,none:0},Wo=void 0;function jo(n,f){if(typeof n==="string"&&n.toLowerCase()in S)return n.toLowerCase();return f?void 0:void 0}function tn(n,f){let o=typeof n==="string"?n.toLowerCase():void 0;if(o&&o in S)return S[o];if(f?.fallbackEffort)return S[f.fallbackEffort];return}function lo(n){let f=tn(n.effort,{fallbackEffort:n.fallbackEffort});if(f===void 0)return;if(f<=0)return 0;let o=n.minimumBudget??1;if(n.maxBudget<o)return;let w=n.scaleTokens??n.maxBudget;return Math.min(Math.max(Math.floor(w*f),o),n.maxBudget)}var bo={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","X-IS-MULTIROOT":"false","X-CLIENT-TYPE":"cline-sdk"};function Ko(n){return n instanceof Error?{name:n.name,message:n.message}:n}function To(n){return Math.max(1,Math.ceil(n/3))}var No={debug:()=>{},log:()=>{},error:()=>{}};class P extends Error{constructor(n,f){super(`${n} at position ${f}`);this.position=f}}function en(n){return/^[0-9A-Fa-f]$/.test(n)}function j(n){return n>="0"&&n<="9"}function an(n){return n>=" "}function h(n){return`,:[]/{}()
|
|
4
|
+
+`.includes(n)}function wn(n){return n>="a"&&n<="z"||n>="A"&&n<="Z"||n==="_"||n==="$"}function $n(n){return n>="a"&&n<="z"||n>="A"&&n<="Z"||n==="_"||n==="$"||n>="0"&&n<="9"}var Rn=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,yn=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function _n(n){return`,[]/{}
|
|
5
|
+
+`.includes(n)}function En(n){return c(n)||Co.test(n)}var Co=/^[[{\w-]$/;function zn(n){return n===`
|
|
6
|
+
`||n==="\r"||n==="\t"||n==="\b"||n==="\f"}function W(n,f){let o=n.charCodeAt(f);return o===32||o===10||o===9||o===13}function nf(n,f){let o=n.charCodeAt(f);return o===32||o===9||o===13}function ff(n,f){let o=n.charCodeAt(f);return o===160||o===6158||o>=8192&&o<=8203||o===8239||o===8287||o===12288||o===65279}function c(n){return qn(n)||t(n)}function qn(n){return n==='"'||n==="“"||n==="”"}function Hn(n){return n==='"'}function t(n){return n==="'"||n==="‘"||n==="’"||n==="`"||n==="´"}function In(n){return n==="'"}function C(n,f){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,w=n.lastIndexOf(f);return w!==-1?n.substring(0,w)+(o?"":n.substring(w+1)):n}function Z(n,f){let o=n.length;if(!W(n,o-1))return n+f;while(W(n,o-1))o--;return n.substring(0,o)+f+n.substring(o)}function of(n,f,o){return n.substring(0,f)+n.substring(f+o)}function gf(n){return/[,\n][ \t\r]*$/.test(n)}var Mo={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},Oo={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
7
|
+
`,r:"\r",t:"\t"};function kn(n){let f=0,o="";if(I(["```","[```","{```"]),!R())mf();I(["```","```]","```}"]);let $=K(",");if($)E();if(En(n[f])&&gf(o)){if(!$)o=Z(o,",");hf()}else if($)o=C(o,",");while(n[f]==="}"||n[f]==="]")f++,E();if(f>=n.length)return o;vf();function R(){E();let _=Of()||Sf()||T()||D()||cf()||Jn(!1)||xf();return E(),_}function E(){let _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,H=f,k=Y(_);do if(k=G(),k)k=Y(_);while(k);return f>H}function Y(_){let H=_?W:nf,k="";while(!0)if(H(n,f))k+=n[f],f++;else if(ff(n,f))k+=" ",f++;else break;if(k.length>0)return o+=k,!0;return!1}function G(){if(n[f]==="/"&&n[f+1]==="*"){while(f<n.length&&!So(n,f))f++;return f+=2,!0}if(n[f]==="/"&&n[f+1]==="/"){while(f<n.length&&n[f]!==`
|
|
8
|
+
`)f++;return!0}return!1}function I(_){if(x(_)){if(wn(n[f]))while(f<n.length&&$n(n[f]))f++;return E(),!0}return!1}function x(_){Y(!0);for(let H of _){let k=f+H.length;if(n.slice(f,k)===H)return f=k,!0}return!1}function K(_){if(n[f]===_)return o+=n[f],f++,!0;return!1}function s(_){if(n[f]===_)return f++,!0;return!1}function Mf(){return s("\\")}function Zn(){if(E(),n[f]==="."&&n[f+1]==="."&&n[f+2]===".")return f+=3,E(),s(","),!0;return!1}function Of(){if(n[f]==="{"){if(o+="{",f++,E(),s(","))E();let _=!0;while(f<n.length&&n[f]!=="}"){let H;if(!_){if(H=K(","),!H)o=Z(o,",");E()}else H=!0,_=!1;if(Zn(),!(T()||Jn(!0))){if(n[f]==="}"||n[f]==="{"||n[f]==="]"||n[f]==="["||n[f]===void 0)o=C(o,",");else pf();break}E();let v=K(":"),l=f>=n.length;if(!v)if(En(n[f])||l)o=Z(o,":");else Bn();if(!R())if(v||l)o+="null";else Bn()}if(n[f]==="}")o+="}",f++;else o=Z(o,"}");return!0}return!1}function Sf(){if(n[f]==="["){if(o+="[",f++,E(),s(","))E();let _=!0;while(f<n.length&&n[f]!=="]"){if(!_){if(!K(","))o=Z(o,",")}else _=!1;if(Zn(),!R()){o=C(o,",");break}}if(n[f]==="]")o+="]",f++;else o=Z(o,"]");return!0}return!1}function hf(){let _=!0,H=!0;while(H){if(!_){if(!K(","))o=Z(o,",")}else _=!1;H=R()}if(!H)o=C(o,",");o=`[
|
|
9
9
|
${o}
|
|
10
|
-
]`}function T(){let _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,
|
|
11
|
-
`)
|
|
10
|
+
]`}function T(){let _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,k=n[f]==="\\";if(k)f++,k=!0;if(c(n[f])){let v=Hn(n[f])?Hn:In(n[f])?In:t(n[f])?t:qn,l=f,O=o.length,L='"';f++;while(!0){if(f>=n.length){let A=Qn(f-1);if(!_&&h(n.charAt(A)))return f=l,o=o.substring(0,O),T(!0);return L=Z(L,'"'),o+=L,!0}if(f===H)return L=Z(L,'"'),o+=L,!0;if(v(n[f])){let A=f,nn=L.length;if(L+='"',f++,o+=L,E(!1),_||f>=n.length||h(n[f])||c(n[f])||j(n[f]))return Xn(),!0;let V=Qn(A-1),sn=n.charAt(V);if(sn===",")return f=l,o=o.substring(0,O),T(!1,V);if(h(sn))return f=l,o=o.substring(0,O),T(!0);o=o.substring(0,O),f=A+1,L=`${L.substring(0,nn)}\\${L.substring(nn)}`}else if(_&&_n(n[f])){if(n[f-1]===":"&&Rn.test(n.substring(l+1,f+2)))while(f<n.length&&yn.test(n[f]))L+=n[f],f++;return L=Z(L,'"'),o+=L,Xn(),!0}else if(n[f]==="\\"){let A=n.charAt(f+1);if(Oo[A]!==void 0)L+=n.slice(f,f+2),f+=2;else if(A==="u"){let V=2;while(V<6&&en(n[f+V]))V++;if(V===6)L+=n.slice(f,f+6),f+=6;else if(f+V>=n.length)f=n.length;else tf()}else if(A===`
|
|
11
|
+
`)L+="\\n",f+=2;else L+=A,f+=2}else{let A=n.charAt(f);if(A==='"'&&n[f-1]!=="\\")L+=`\\${A}`,f++;else if(zn(A))L+=Mo[A],f++;else{if(!an(A))uf(A);L+=A,f++}}if(k)Mf()}}return!1}function Xn(){let _=!1;E();while(n[f]==="+"){_=!0,f++,E(),o=C(o,'"',!0);let H=o.length;if(T())o=of(o,H,1);else o=Z(o,'"')}return _}function D(){let _=f;if(n[f]==="-"){if(f++,u())return z(_),!0;if(!j(n[f]))return f=_,!1}while(j(n[f]))f++;if(n[f]==="."){if(f++,u())return z(_),!0;if(!j(n[f]))return f=_,!1;while(j(n[f]))f++}if(n[f]==="e"||n[f]==="E"){if(f++,n[f]==="-"||n[f]==="+")f++;if(u())return z(_),!0;if(!j(n[f]))return f=_,!1;while(j(n[f]))f++}if(!u())return f=_,!1;if(f>_){let H=n.slice(_,f),k=/^0\d/.test(H);return o+=k?`"${H}"`:H,!0}return!1}function cf(){return N("true","true")||N("false","false")||N("null","null")||N("True","true")||N("False","false")||N("None","null")}function N(_,H){if(n.slice(f,f+_.length)===_)return o+=H,f+=_.length,!0;return!1}function Jn(_){let H=f;if(wn(n[f])){while(f<n.length&&$n(n[f]))f++;let k=f;while(W(n,k))k++;if(n[k]==="("){if(f=k+1,R(),n[f]===")"){if(f++,n[f]===";")f++}return!0}}while(f<n.length&&!_n(n[f])&&!c(n[f])&&(!_||n[f]!==":"))f++;if(n[f-1]===":"&&Rn.test(n.substring(H,f+2)))while(f<n.length&&yn.test(n[f]))f++;if(f>H){while(W(n,f-1)&&f>0)f--;let k=n.slice(H,f);if(o+=k==="undefined"?"null":JSON.stringify(k),n[f]==='"')f++;return!0}}function xf(){if(n[f]==="/"){let _=f;f++;while(f<n.length&&(n[f]!=="/"||n[f-1]==="\\"))f++;return f++,o+=JSON.stringify(n.substring(_,f)),!0}}function Qn(_){let H=_;while(H>0&&W(n,H))H--;return H}function u(){return f>=n.length||h(n[f])||W(n,f)}function z(_){o+=`${n.slice(_,f)}0`}function uf(_){throw new P(`Invalid character ${JSON.stringify(_)}`,f)}function vf(){throw new P(`Unexpected character ${JSON.stringify(n[f])}`,f)}function mf(){throw new P("Unexpected end of json string",n.length)}function pf(){throw new P("Object key expected",f)}function Bn(){throw new P("Colon expected",f)}function tf(){let _=n.slice(f,f+6);throw new P(`Invalid unicode character "${_}"`,f)}}function So(n,f){return n[f]==="*"&&n[f+1]==="/"}var ho=/^\{\s*"([A-Za-z0-9_.$-]+)"\s*:\s*([\s\S]+?)\s*\}$/;function co(n){let f=n.match(ho);if(!f)return;let[,o,w]=f,$=w.trim();if(!$)return;let R=$[0];if(R==='"'||R==="{"||R==="["||$==="true"||$==="false"||$==="null"||Number.isFinite(Number($)))return;return JSON.parse(`{"${o}":${JSON.stringify($)}}`)}var xo=[(n)=>JSON.parse(n),(n)=>JSON.parse(kn(n)),co];function uo(n){if(typeof n!=="string")return n;let f=n.trimStart();if(f[0]!=="{"&&f[0]!=="[")return n;for(let o of xo)try{let w=o(f);if(w!==void 0)return w}catch{}return n}function vo(n){let f=new WeakSet;try{return JSON.stringify(n,(w,$)=>{if(typeof $==="bigint")return $.toString();if($&&typeof $==="object"){if(f.has($))return"[Circular]";f.add($)}return $})??"null"}catch{return String(n)}}function mo(n){try{return JSON.parse(n)}catch{return}}function po(n){let f=n.replaceAll("\\","/"),o=f.lastIndexOf("/");return(o>=0?f.slice(o+1):f).toLowerCase()}function io(n){return n==="win32"?"powershell":"/bin/bash"}function to(n,f){let o=po(n);if(o==="powershell"||o==="powershell.exe"||o==="pwsh"||o==="pwsh.exe")return["-NoProfile","-NonInteractive","-Command",f];if(o==="cmd"||o==="cmd.exe")return["/d","/s","/c",f];return["-c",f]}function eo(n){return n.toLowerCase().replace(/[^\w.-]+/g,"_")}function rf(n,f){if(n.length<=f)return n;return`${n.slice(0,f-1)}…`}function ao(n,f="/",o=100){if(!n||n.length<=o)return n||"";let w=n.split(f)?.shift()?.trim()?.slice(0,o-1);return w?`${w}…`:rf(n,o)}function zo(n){if(n.length<=8)return"****";return`${n.slice(0,4)}...${n.slice(-4)}`}function ng(n){if(!n)return"(unknown-date)";let f=new Date(n);if(Number.isNaN(f.getTime()))return n;return f.toLocaleString("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!0})}function fg(n){let f=Math.max(0,Math.floor(n/1000)),o=Math.floor(f/86400),w=Math.floor(f%86400/3600),$=Math.floor(f%3600/60),R=f%60;if(o>0)return`${o}d ${w}h`;if(w>0)return`${w}h ${$}m`;if($>0)return`${$}m ${R}s`;return`${R}s`}import{z as df}from"zod";function og(n,f){let o=n.safeParse(f);if(!o.success)throw Error(df.prettifyError(o.error));return o.data}function Un(n){return df.toJSONSchema(n)}var wf=`You are Cline, an AI coding agent. Your primary goal is to assist users with various coding tasks by leveraging your knowledge and the tools at your disposal. Given the user's prompt, you should use the tools available to you to answer user's question.
|
|
12
12
|
|
|
13
13
|
Always gather all the necessary context before starting to work on a task. For example, if you are generating a unit test or new code, make sure you understand the requirement, the naming conventions, frameworks and libraries used and aligned in the current codebase, and the environment and commands used to run and test the code etc. Always validate the new unit test at the end including running the code if possible for live feedback.
|
|
14
14
|
Review each question carefully and answer it with detailed, accurate information.
|
|
@@ -41,7 +41,7 @@ When you have completed the task, please provide a summary of what you did and a
|
|
|
41
41
|
|
|
42
42
|
If user asked a simple question without any coding context, answer it directly without using any tools.
|
|
43
43
|
{{CLINE_RULES}}
|
|
44
|
-
{{CLINE_METADATA}}
|
|
44
|
+
{{CLINE_METADATA}}`,$f=`You are Cline, a careful and helpful coding agent that works in the background.
|
|
45
45
|
You are tasked to solve an issue reported by the user who you cannot communicate with directly.
|
|
46
46
|
Your goal is to utilize the tools at your disposal to investigate and answer the question according to user's instructions with the aim to verify that the issue is resolved.
|
|
47
47
|
|
|
@@ -69,8 +69,8 @@ IMPORTANT:
|
|
|
69
69
|
- Always includes tool calls in your response until the task is completed. You should only end the task when all the requirements are met by calling the 'submit_and_exit' tool.
|
|
70
70
|
- Response without the submit_and_exit tool call will considered not completed and the task will continue.
|
|
71
71
|
{{CLINE_RULES}}
|
|
72
|
-
{{CLINE_METADATA}}`;var
|
|
73
|
-
${
|
|
74
|
-
${
|
|
72
|
+
{{CLINE_METADATA}}`;var Yn="# Workspace Configuration";function Rf(n,f,o){if(o?.trim()?.includes(Yn))return o.trim();let w=o||JSON.stringify({workspaces:{[n]:{hint:f||n.split("/").at(-1)||n}}},null,2);return`
|
|
73
|
+
${Yn}
|
|
74
|
+
${w}`}function gg(n){let{ide:f="Terminal Shell",mode:o,platform:w="unknown",workspaceName:$,metadata:R,rules:E,overridePrompt:Y,providerId:G}=n,I=n.workspaceRoot??n.rootPath??"",x=G==="cline";if(Y?.trim()){let s=Y.trim();if(x&&R?.trim()&&!s.includes(Yn))return`${s}
|
|
75
75
|
|
|
76
|
-
${$f(k,$,y)}`.trim();return s}return(o==="yolo"?df:wf).replace("{{PLATFORM_NAME}}",d).replace("{{CWD}}",k).replace("{{CURRENT_DATE}}",new Date().toLocaleDateString()).replace("{{IDE_NAME}}",f).replace("{{CLINE_METADATA}}",u?$f(k,$,y):"").replace("{{CLINE_RULES}}",E||"").trim()}var gr="remote://";import{z as g}from"zod";var yf=g.object({id:g.string(),temperature:g.number().optional(),isR1FormatRequired:g.boolean().optional(),maxTokens:g.number().optional(),contextWindow:g.number().optional(),inputPrice:g.number().optional(),outputPrice:g.number().optional(),supportsImages:g.boolean().optional()}),Rf=g.object({models:g.array(yf).optional(),openAiBaseUrl:g.string().optional(),openAiHeaders:g.record(g.string(),g.string()).optional(),azureApiVersion:g.string().optional(),azureIdentity:g.boolean().optional()}),_f=g.object({id:g.string(),thinkingBudgetTokens:g.number().optional()}),Ef=g.object({name:g.string(),baseModelId:g.string(),thinkingBudgetTokens:g.number().optional()}),Hf=g.object({models:g.array(_f).optional(),customModels:g.array(Ef).optional(),awsRegion:g.string().optional(),awsUseCrossRegionInference:g.boolean().optional(),awsUseGlobalInference:g.boolean().optional(),awsBedrockUsePromptCache:g.boolean().optional(),awsBedrockEndpoint:g.string().optional()}),qf=g.object({id:g.string()}),kf=g.object({models:g.array(qf).optional()}),Uf=g.object({id:g.string(),thinkingBudgetTokens:g.number().optional()}),Ff=g.object({models:g.array(Uf).optional(),vertexProjectId:g.string().optional(),vertexRegion:g.string().optional()}),If=g.object({id:g.string(),thinkingBudgetTokens:g.number().optional(),promptCachingEnabled:g.boolean().optional()}),Lf=g.object({models:g.array(If).optional(),baseUrl:g.string().optional()}),Yf=g.object({id:g.string(),thinkingBudgetTokens:g.number().optional()}),lf=g.object({models:g.array(Yf).optional(),baseUrl:g.string().optional()}),wr=g.object({OpenAiCompatible:Rf.optional(),AwsBedrock:Hf.optional(),Cline:kf.optional(),Vertex:Ff.optional(),LiteLLM:Lf.optional(),Anthropic:lf.optional()}),Df=g.object({id:g.string()}),Gf=g.object({name:g.string(),url:g.string(),alwaysEnabled:g.boolean().optional(),headers:g.record(g.string(),g.string()).optional()}),In=g.object({alwaysEnabled:g.boolean(),name:g.string(),contents:g.string()}),t=g.object({bucket:g.string(),accessKeyId:g.string(),secretAccessKey:g.string(),region:g.string().optional(),endpoint:g.string().optional(),accountId:g.string().optional()}),Af=g.object({enabled:g.boolean().optional(),type:g.union([g.literal("s3_access_keys"),g.literal("r2_access_keys"),g.literal("azure_access_keys")]).optional(),s3AccessSettings:t.optional(),r2AccessSettings:t.optional(),azureAccessSettings:t.optional()}),Pf=g.object({promptUploading:Af.optional()}),dr=g.object({version:g.string(),providerSettings:wr.optional(),telemetryEnabled:g.boolean().optional(),kanbanEnabled:g.boolean().optional(),mcpMarketplaceEnabled:g.boolean().optional(),allowedMCPServers:g.array(Df).optional(),remoteMCPServers:g.array(Gf).optional(),blockPersonalRemoteMCPServers:g.boolean().optional(),yoloModeAllowed:g.boolean().optional(),openTelemetryEnabled:g.boolean().optional(),openTelemetryMetricsExporter:g.string().optional(),openTelemetryLogsExporter:g.string().optional(),openTelemetryOtlpProtocol:g.string().optional(),openTelemetryOtlpEndpoint:g.string().optional(),openTelemetryOtlpHeaders:g.record(g.string(),g.string()).optional(),openTelemetryOtlpMetricsProtocol:g.string().optional(),openTelemetryOtlpMetricsEndpoint:g.string().optional(),openTelemetryOtlpMetricsHeaders:g.record(g.string(),g.string()).optional(),openTelemetryOtlpLogsProtocol:g.string().optional(),openTelemetryOtlpLogsEndpoint:g.string().optional(),openTelemetryOtlpLogsHeaders:g.record(g.string(),g.string()).optional(),openTelemetryMetricExportInterval:g.number().optional(),openTelemetryOtlpInsecure:g.boolean().optional(),openTelemetryLogBatchSize:g.number().optional(),openTelemetryLogBatchTimeout:g.number().optional(),openTelemetryLogMaxQueueSize:g.number().optional(),enterpriseTelemetry:Pf.optional(),globalRules:g.array(In).optional(),globalWorkflows:g.array(In).optional()}),$r=g.record(g.string(),g.string());var yr=4317;var Rr="127.0.0.1:4317";import Ln from"zod";var _r=Ln.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth","popular"]),Er=Ln.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),Hr=Ln.enum(["anthropic","ai-sdk","ai-sdk-community","openai","openai-compatible","openai-r1","gemini","bedrock","custom","fetch","vertex"]);var qr="runtime.team.progress.v1",kr="runtime.team.lifecycle.v1";var Ur="CLINE_ENVIRONMENT",Fr="CLINE_ENVIRONMENT_OVERRIDE",Yn={production:{environment:"production",appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",mcpBaseUrl:"https://api.cline.bot/v1/mcp",workOsClientId:"client_01K3A541FN8TA3EPPHTD2325AR"},staging:{environment:"staging",appBaseUrl:"https://staging-app.cline.bot",apiBaseUrl:"https://core-api.staging.int.cline.bot",mcpBaseUrl:"https://core-api.staging.int.cline.bot/v1/mcp",workOsClientId:"client_01K3A5415VF6QBQBG3XYCW91G6"},local:{environment:"local",appBaseUrl:"http://localhost:3000",apiBaseUrl:"http://localhost:7777",mcpBaseUrl:"http://localhost:7777/v1/mcp",workOsClientId:"client_01K6XQAY7JK6T5HXVSZW2S5VYK"}},Ir="production";function Zf(n){let f=n?.trim().toLowerCase();if(f==="production"||f==="staging"||f==="local")return f;return}function Lr(){if(typeof process>"u"||!process?.env)return{};return process.env}function Xf(n={}){let f=n.env??Lr();return Zf(f.CLINE_ENVIRONMENT_OVERRIDE)??Zf(f.CLINE_ENVIRONMENT)??"production"}function Yr(n){if(typeof n==="string")return Yn[n];return Yn[Xf(n)]}var lr="sdk.error";function Dr(n,f){if(!n)return;n.capture({event:f.event??"sdk.error",properties:sf(f)})}function sf(n){return{...n.context??{},component:n.component,operation:n.operation,severity:n.severity??"error",handled:n.handled??!0,...Jf(n.error,n.messageLimit)}}function Jf(n,f=500){let o=Pr(n)?n:void 0,d=n instanceof Error?n:void 0,$=d?.message??bf(o?.message)??(typeof n==="string"?n:String(n)),y=Zr(o?.code),E=ln(o?.status)??ln(o?.statusCode)??ln(o?.responseStatus);return{error_type:d?.name?.trim()||bf(o?.name)||d?.constructor?.name||"Error",error_message:Ar(Gr($),f),...y!==void 0?{error_code:y}:{},...E!==void 0?{error_status:E}:{}}}function Gr(n){return n.replace(/(authorization=Bearer\s+)[^&\s]+/gi,"$1[redacted]").replace(/(api[_-]?key|access[_-]?token|refresh[_-]?token|authorization|password|secret)=([^&\s]+)/gi,"$1=[redacted]").replace(/(Bearer\s+)[A-Za-z0-9._~+/-]+=*/gi,"$1[redacted]").replace(/\/Users\/[^/\s]+/g,"/Users/[redacted]").replace(/\/home\/[^/\s]+/g,"/home/[redacted]").replace(/([A-Za-z]:[\\/]+Users[\\/]+)[^\\/\s]+/g,"$1[redacted]")}function Ar(n,f){let o=Math.max(1,Math.floor(f));return n.length>o?n.substring(0,o):n}function Pr(n){return typeof n==="object"&&n!==null}function bf(n){return typeof n==="string"&&n.trim().length>0?n:void 0}function Zr(n){if(typeof n==="string"&&n.trim().length>0)return n;if(typeof n==="number"&&Number.isFinite(n))return n;return}function ln(n){return typeof n==="number"&&Number.isFinite(n)?n:void 0}function Bf(n){let f={};if(!n)return f;try{n.split(",").forEach((o)=>{let d=o.indexOf("=");if(d<=0)return;let $=decodeURIComponent(o.substring(0,d).trim()),y=decodeURIComponent(o.substring(d+1).trim());if(!$||!y)return;f[$]=y})}catch{}return f}function Xr(){if(!process.env)return{enabled:!1};return{enabled:process.env.OTEL_TELEMETRY_ENABLED==="1"||process.env.OTEL_TELEMETRY_ENABLED==="true",metricsExporter:process.env.OTEL_METRICS_EXPORTER||"otlp",logsExporter:process.env.OTEL_LOGS_EXPORTER||"otlp",tracesExporter:process.env.OTEL_TRACES_EXPORTER,otlpProtocol:process.env.OTEL_EXPORTER_OTLP_PROTOCOL||"http/json",otlpEndpoint:process.env.OTEL_EXPORTER_OTLP_ENDPOINT,metricExportInterval:process.env.OTEL_METRIC_EXPORT_INTERVAL?Number.parseInt(process.env.OTEL_METRIC_EXPORT_INTERVAL,10):void 0,otlpHeaders:process.env.OTEL_EXPORTER_OTLP_HEADERS?Bf(process.env.OTEL_EXPORTER_OTLP_HEADERS):void 0}}function Qf(n={}){return{extension_version:"unknown",cline_type:"unknown",platform:"terminal",platform_version:process?.version||"unknown",os_type:process?.platform||"unknown",os_version:process?.platform==="win32"?process?.env?.OS??"unknown":"unknown",...n}}function br(n={}){return{...Xr(),...n,metadata:Qf(n.metadata)}}function Vf(n){let f=n?.trim();return f?f:void 0}function sr(n,f){if(!n)return;let o=typeof n==="function"?n(f):n;if(!o)return;let d=Vf(o.rootSessionId);if(!d)return;return{rootSessionId:d}}function Jr(n){return Vf(n?.rootSessionId)}var Br=(n)=>crypto.getRandomValues(new Uint8Array(n)),Qr=(n,f,o)=>{let d=256-256%n.length;if(d===256){let y=n.length-1;return(E=f)=>{if(!E)return"";let I="";while(!0){let G=o(E),k=E;while(k--)if(I+=n[G[k]&y],I.length>=E)return I}}}let $=Math.ceil(409.6*f/d);return(y=f)=>{if(!y)return"";let E="";while(!0){let I=o($),G=$;while(G--)if(I[G]<d){if(E+=n[I[G]%n.length],E.length>=y)return E}}}},Wf=(n,f=21)=>Qr(n,f|0,Br);function Vr(n="",f=""){let o=Wf("1234567890abcdefghijklmnopqrstuvwxyz",10);return`${n}${Date.now()}_${o(5)}${f}`}var Wr=["idle","running","pending","completed","failed","cancelled"];var Dn=["rules","skills","workflows","plugins"],jf=Dn,jr=new Set(Dn);function Kf(n){return typeof n==="string"&&jr.has(n)}function Kr(n){if(!Array.isArray(n))return;let f=n.map((o)=>typeof o==="string"?o.trim():"").filter(Kf);return[...new Set(f)]}function Tr(n,f){return new Set(n??jf).has(f)}import{z as Z}from"zod";var Nr=Z.object({rootPath:Z.string().min(1),hint:Z.string().min(1).optional(),associatedRemoteUrls:Z.array(Z.string().min(1)).optional(),latestGitCommitHash:Z.string().min(1).optional(),latestGitBranchName:Z.string().min(1).optional()}),Cr=Z.object({currentWorkspacePath:Z.string().min(1).optional(),workspaces:Z.record(Z.string().min(1),Nr)});function Fw(){return{workspaces:{}}}function Iw(n,f){let o={...n,workspaces:{...n.workspaces,[f.rootPath]:f}};if(!o.currentWorkspacePath)o.currentWorkspacePath=f.rootPath;return Cr.parse(o)}import{z as r}from"zod";var Mr=["current_state","boundary_analysis","interface_proposal"],lw=3600000,Dw=240,Gw=400,X=r.preprocess((n)=>n instanceof Date?n.toISOString():n,r.string().datetime()),M=r.enum(["pending","in_progress","blocked","completed"]),Tf=r.enum(["queued","running","completed","failed","cancelled","interrupted"]),e=r.enum(["draft","in_review","finalized"]),Or=r.object({agentId:r.string(),role:r.enum(["lead","teammate"]),description:r.string().optional(),status:r.enum(["idle","running","stopped"])}),Aw=r.object({agentId:r.string(),rolePrompt:r.string(),modelId:r.string().optional(),maxIterations:r.number().optional()});function L(n){return r.preprocess((f)=>f===null?void 0:f,n.optional())}var Pw=r.object({agentId:r.string().min(1).describe("Teammate identifier"),rolePrompt:r.string().min(1).describe("System prompt describing teammate role")}).strict(),Zw=r.object({agentId:r.string().min(1).describe("Teammate identifier"),reason:L(r.string().min(1)).describe("Optional shutdown reason")}),Xw=r.object({}),cr={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]},bw={create:["status","taskId","summary","reason"]},sw=r.object({action:r.enum(["create","list","claim","complete","block"]),title:L(r.string().min(1)).describe("Task title"),description:L(r.string().min(1)).describe("Task details"),dependsOn:L(r.array(r.string().describe("Dependency task ID"))).describe("Array of dependency task IDs"),assignee:L(r.string().min(1)).describe("Optional assignee"),status:L(r.enum(["pending","in_progress","blocked","completed"])).describe("Optional task status filter"),taskId:L(r.string()).describe("Task ID"),summary:L(r.string().min(1)).describe("Completion summary"),reason:L(r.string().min(1)).describe("Blocking reason")}).superRefine((n,f)=>{for(let o of cr[n.action]){if(n[o]!==void 0)continue;f.addIssue({code:"custom",path:[o],message:`Field "${o}" is required when action=${n.action}`})}}),Jw=r.object({agentId:r.string().describe("Teammate agent ID"),task:r.string().min(1).describe("Task instructions for the teammate"),taskId:L(r.string()).describe("Optional shared task list ID"),runMode:L(r.enum(["sync","async"])).describe("Execution mode: 'sync' blocks until the teammate finishes and returns the result (default if omitted); 'async' queues the run and returns a runId immediately — use team_await_runs to collect results later."),continueConversation:L(r.boolean()).describe("If true, continue the teammate conversation; otherwise start fresh")}),Bw=r.object({status:L(r.enum(["queued","running","completed","failed","cancelled","interrupted"])).describe("Optional run status filter. Omit to include all statuses."),agentId:L(r.string().min(1)).describe("Optional teammate ID filter. Omit to include all teammates."),includeCompleted:L(r.boolean()).describe("Include completed/failed runs (default true)")}),Qw=r.object({runId:r.string().min(1).describe("Run ID"),reason:L(r.string().min(1)).describe("Optional cancellation reason")}),Vw=r.object({runId:L(r.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),Ww=r.object({toAgentId:r.string().min(1).describe("Recipient agent ID"),subject:r.string().min(1).describe("Message subject"),body:r.string().min(1).describe("Message body"),taskId:L(r.string().min(1)).describe("Optional task ID context")}),jw=r.object({subject:r.string().min(1).describe("Message subject"),body:r.string().min(1).describe("Message body"),taskId:L(r.string().min(1)).describe("Optional task ID context")}),Kw=r.object({unreadOnly:L(r.boolean()).describe("Only unread messages for read action (default true)")}),Tw=r.object({kind:r.enum(["progress","handoff","blocked","decision","done","error"]),summary:r.string().min(1).describe("Update summary"),taskId:L(r.string().min(1)).describe("Optional task ID context"),evidence:L(r.array(r.string().min(1))).describe("Optional evidence links/snippets"),nextAction:L(r.string().min(1)).describe("Planned next step")}),Nw=r.object({}),Cw=r.object({title:r.string().describe("Outcome title"),requiredSections:r.array(r.string()).default(Mr).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),Mw=r.object({outcomeId:r.string().describe("Outcome ID"),section:r.string().describe("Section name"),sourceRunId:L(r.string()).describe("Optional source run ID"),content:r.string().describe("Section fragment content")}),Ow=r.object({fragmentId:r.string().describe("Fragment ID"),approved:r.boolean().describe("Review decision")}),cw=r.object({outcomeId:r.string().describe("Outcome ID")}),hw=r.object({}),Sw=r.object({teamId:r.string(),teamName:r.string(),members:r.array(Or),taskCounts:r.record(M,r.number()),unreadMessages:r.number(),missionLogEntries:r.number(),activeRuns:r.number(),queuedRuns:r.number(),outcomeCounts:r.record(e,r.number())}),hr=r.object({id:r.string(),title:r.string(),description:r.string(),status:M,createdAt:X,updatedAt:X,createdBy:r.string(),assignee:r.string().optional(),dependsOn:r.array(r.string()),summary:r.string().optional(),isReady:r.boolean(),blockedBy:r.array(r.string())}),uw=r.discriminatedUnion("action",[r.object({action:r.literal("create"),taskId:r.string(),status:M,ignoredFields:r.array(r.string()).optional(),note:r.string().optional()}),r.object({action:r.literal("list"),tasks:r.array(hr)}),r.object({action:r.literal("claim"),taskId:r.string(),status:M,nextStep:r.string()}),r.object({action:r.literal("complete"),taskId:r.string(),status:M}),r.object({action:r.literal("block"),taskId:r.string(),status:M})]),xw=r.object({agentId:r.string(),mode:r.enum(["sync","async"]),status:r.enum(["dispatched","running","queued","joined"]),dispatched:r.boolean(),message:r.string(),deduped:r.boolean().optional(),runId:r.string().optional(),text:r.string().optional(),iterations:r.number().optional()}),Sr=r.object({textPreview:r.string(),iterations:r.number(),finishReason:r.string(),durationMs:r.number(),usage:r.object({inputTokens:r.number(),outputTokens:r.number(),cacheReadTokens:r.number().optional(),cacheWriteTokens:r.number().optional(),totalCost:r.number().optional()})}),mw=r.object({id:r.string(),agentId:r.string(),taskId:r.string().optional(),status:Tf,messagePreview:r.string(),priority:r.number(),retryCount:r.number(),maxRetries:r.number(),nextAttemptAt:X.optional(),continueConversation:r.boolean().optional(),startedAt:X,endedAt:X.optional(),leaseOwner:r.string().optional(),heartbeatAt:X.optional(),lastProgressAt:X.optional(),lastProgressMessage:r.string().optional(),currentActivity:r.string().optional(),error:r.string().optional(),resultSummary:Sr.optional()}),vw=r.object({id:r.string(),teamId:r.string(),fromAgentId:r.string(),toAgentId:r.string(),subject:r.string(),body:r.string(),taskId:r.string().optional(),sentAt:X,readAt:X.optional()}),pw=r.object({id:r.string(),teamId:r.string(),title:r.string(),status:e,requiredSections:r.array(r.string()),createdBy:r.string(),createdAt:X,finalizedAt:X.optional()}),iw=r.object({outcomeId:r.string(),status:e,requiredSections:r.array(r.string())}),tw=r.object({agentId:r.string(),status:r.string()}),ew=r.object({runId:r.string(),status:Tf}),aw=r.object({id:r.string(),toAgentId:r.string()}),zw=r.object({delivered:r.number()}),nd=r.object({id:r.string()}),fd=r.object({status:r.string()}),od=r.object({fragmentId:r.string(),status:r.string()}),rd=r.object({outcomeId:r.string(),status:e});var ur;((l)=>{l.TaskStart="task_start";l.TaskEnd="task_end";l.AgentEvent="agent_event";l.TeammateSpawned="teammate_spawned";l.TeammateShutdown="teammate_shutdown";l.TeamTaskUpdated="team_task_updated";l.TeamMessage="team_message";l.TeamMissionLog="team_mission_log";l.TeamTaskCompleted="team_task_completed";l.RunStarted="run_started";l.RunQueued="run_queued";l.RunProgress="run_progress";l.RunCompleted="run_completed";l.RunFailed="run_failed";l.RunCancelled="run_cancelled";l.RunInterrupted="run_interrupted";l.OutcomeCreated="outcome_created";l.OutcomeFragmentAttached="outcome_fragment_attached";l.OutcomeFragmentReviewed="outcome_fragment_reviewed";l.OutcomeFinalized="outcome_finalized"})(ur||={});import{z as xr}from"zod";function mr(n){let{$schema:f,...o}=n;if(typeof o.type==="string")return o;if("properties"in o||"required"in o||"additionalProperties"in o)return{type:"object",...o};for(let d of["oneOf","anyOf","allOf"]){let $=o[d];if(!Array.isArray($)||$.length===0)continue;if(d==="allOf"){if($.some((I)=>I&&typeof I==="object"&&I.type==="object"))return{type:"object",...o};throw Error('Tool inputSchema must describe an object at the top level, but the schema has a top-level "allOf" with no branch that asserts type: "object". Add type: "object" to at least one allOf branch to make the object constraint explicit.')}if($.every((E)=>E&&typeof E==="object"&&E.type==="object"))return{type:"object",...o};throw Error(`Tool inputSchema must describe an object at the top level, but the schema has a top-level "${d}" whose branches include non-object types. Pass the strict object schema as inputSchema and reserve union/coercion schemas for use inside execute().`)}return o}function vr(n){let f=mr(n.inputSchema instanceof xr.ZodType?Un(n.inputSchema):n.inputSchema);return{name:n.name,description:n.description,inputSchema:f,lifecycle:n.lifecycle,timeoutMs:n.timeoutMs??30000,retryable:n.retryable??!0,maxRetries:n.maxRetries??3,execute:n.execute}}var Nf=["cline","oca","openai-codex"];function Cf(n){return Nf.includes(n)}var Mf=["401","403","unauthorized","forbidden","invalid token","expired token","authentication"];function pr(n,f){if(!Cf(f))return!1;let o=n instanceof Error?n.message.toLowerCase():String(n);return Mf.some((d)=>o.includes(d))}export{Un as zodToJsonSchema,xn as xmlTagsRemoval,or as validateWithZod,Iw as upsertWorkspaceInfo,rf as truncateStr,ao as truncateSplit,vn as toAiSdkToolResultOutput,Ko as serializeAbortReason,P as sanitizeSurrogates,eo as sanitizeFileName,mo as safeJsonStringify,vo as safeJsonParse,Jr as resolveRootSessionId,pn as resolveReasoningEffortRatio,Wo as resolveReasoningBudgetFromRatio,Ug as resolveHubCommandTimeoutMs,sr as resolveHookSessionContext,Vo as resolveEffectiveReasoningEffort,Xf as resolveClineEnvironment,Sn as parseUserCommandEnvelope,Kr as parseRuntimeConfigExtensions,xo as parseJsonStream,lo as parseHookEventPayload,un as normalizeUserInput,Jf as normalizeSdkError,On as normalizePluginManifest,No as noopBasicLogger,zo as maskSecret,Kf as isRuntimeConfigExtensionKind,Cf as isOAuthProviderId,pr as isLikelyAuthError,Fg as isHubToolExecutorName,Tr as hasRuntimeConfigExtension,to as getShellArgs,io as getDefaultShell,Do as getDefaultHubCommandTimeoutMs,Yr as getClineEnvironmentConfig,Po as formatUserInputBlock,Zo as formatUserCommandBlock,fr as formatUptime,Bo as formatMessagesForAiSdk,nr as formatHumanReadableDate,on as formatFileContentBlock,so as formatDisplayUserInput,To as estimateTokens,Fw as emptyWorkspaceManifest,vr as createTool,Vr as createSessionId,_o as createContributionRegistry,Qf as createClineTelemetryServiceMetadata,br as createClineTelemetryServiceConfig,Dr as captureSdkError,sf as buildSdkErrorProperties,rr as buildClineSystemPrompt,Cr as WorkspaceManifestSchema,Nr as WorkspaceInfoSchema,Ff as VertexSettingsSchema,Uf as VertexModelSchema,nn as ToolCallRecordSchema,Vn as ThinkingConfigSchema,Aw as TeamTeammateSpecSchema,uw as TeamTaskToolResultSchema,hr as TeamTaskListItemToolResultSchema,sw as TeamTaskInputSchema,Sw as TeamStatusToolResultSchema,Xw as TeamStatusInputSchema,Pw as TeamSpawnTeammateInputSchema,tw as TeamSimpleAgentStatusToolResultSchema,Zw as TeamShutdownTeammateInputSchema,aw as TeamSendMessageToolResultSchema,Ww as TeamSendMessageInputSchema,mw as TeamRunToolSummarySchema,xw as TeamRunTaskToolResultSchema,Jw as TeamRunTaskInputSchema,Sr as TeamRunResultSummarySchema,Ow as TeamReviewOutcomeFragmentInputSchema,Kw as TeamReadMailboxInputSchema,pw as TeamOutcomeToolResultSchema,od as TeamOutcomeFragmentToolResultSchema,nd as TeamMissionLogToolResultSchema,Tw as TeamMissionLogInputSchema,ur as TeamMessageType,vw as TeamMailboxMessageToolResultSchema,Bw as TeamListRunsInputSchema,hw as TeamListOutcomesInputSchema,rd as TeamFinalizeOutcomeToolResultSchema,cw as TeamFinalizeOutcomeInputSchema,iw as TeamCreateOutcomeToolResultSchema,Cw as TeamCreateOutcomeInputSchema,fd as TeamCleanupToolResultSchema,Nw as TeamCleanupInputSchema,ew as TeamCancelRunToolResultSchema,Qw as TeamCancelRunInputSchema,zw as TeamBroadcastToolResultSchema,jw as TeamBroadcastInputSchema,Vw as TeamAwaitRunsInputSchema,Mw as TeamAttachOutcomeFragmentInputSchema,bw as TEAM_TASK_IGNORED_FIELDS_BY_ACTION,Gw as TEAM_RUN_TEXT_PREVIEW_LIMIT,Dw as TEAM_RUN_MESSAGE_PREVIEW_LIMIT,qr as TEAM_PROGRESS_EVENT_TYPE,kr as TEAM_LIFECYCLE_EVENT_TYPE,lw as TEAM_AWAIT_TIMEOUT_MS,Wr as SESSION_STATUS_VALUES,lr as SDK_ERROR_TELEMETRY_EVENT,t as S3AccessKeySettingsSchema,Gf as RemoteMCPServerSchema,dr as RemoteConfigSchema,fo as ReasoningEffortSchema,Dn as RUNTIME_CONFIG_EXTENSION_KINDS,gr as REMOTE_URI_SCHEME,c as REASONING_EFFORT_RATIOS,Er as ProviderProtocolSchema,Hr as ProviderClientSchema,_r as ProviderCapabilitySchema,Af as PromptUploadingSchema,Eo as PLUGIN_FILE_EXTENSIONS,Rf as OpenAiCompatibleSchema,yf as OpenAiCompatibleModelSchema,Nf as OAUTH_PROVIDER_IDS,Bn as ModelStatusSchema,Qn as ModelPricingSchema,Wn as ModelMetadataSchema,v as ModelInfoSchema,Jn as ModelCapabilitySchema,Lf as LiteLLMSchema,If as LiteLLMModelSchema,hn as HookEventPayloadSchema,cn as HookEventNameSchema,Ag as HUB_USER_INSTRUCTIONS_SNAPSHOT_CAPABILITY,Go as HUB_TOOL_EXECUTOR_NAMES,Ig as HUB_TOOL_EXECUTOR_CAPABILITY_PREFIX,Gg as HUB_MISTAKE_LIMIT_CAPABILITY,Yg as HUB_HOOK_CAPABILITY_PREFIX,qg as HUB_DEFAULT_COMMAND_TIMEOUT_MS,Lg as HUB_CUSTOM_TOOL_CAPABILITY_PREFIX,lg as HUB_COMPACTION_CAPABILITY,kg as HUB_COMMAND_SLOW_LOG_MS,Dg as HUB_CHECKPOINT_CAPABILITY,In as GlobalInstructionsFileSchema,Pf as EnterpriseTelemetrySchema,rn as EMPTY_CONTENT_TEXT,jf as DEFAULT_RUNTIME_CONFIG_EXTENSIONS,jo as DEFAULT_REQUEST_HEADERS,Qo as DEFAULT_REASONING_EFFORT,Mr as DEFAULT_OUTCOME_REQUIRED_SECTIONS,Ir as DEFAULT_CLINE_ENVIRONMENT,fn as ContributionRegistry,go as ConnectorHookEventSchema,jn as ConnectorHookEventNameSchema,Tn as ConnectorEventContextSchema,Kn as ConnectorEventActorSchema,oo as ConnectorAuthorizationRequestSchema,ro as ConnectorAuthorizationDecisionSchema,kf as ClineSettingsSchema,qf as ClineModelSchema,Fr as CLINE_ENVIRONMENT_OVERRIDE_ENV,Ur as CLINE_ENVIRONMENT_ENV,Yn as CLINE_ENVIRONMENTS,yr as CLINE_DEFAULT_RPC_PORT,Rr as CLINE_DEFAULT_RPC_ADDRESS,Hf as AwsBedrockSettingsSchema,_f as AwsBedrockModelSchema,Ef as AwsBedrockCustomModelSchema,sn as ApiFormatSchema,af as ApiFormat,lf as AnthropicSchema,Yf as AnthropicModelSchema,Df as AllowedMCPServerSchema,no as AgentUsageSchema,og as AgentResultSchema,zf as AgentFinishReasonSchema,rg as AgentConfigSchema,Mf as AUTH_ERROR_PATTERNS,$r as APIKeySchema};
|
|
76
|
+
${Rf(I,$,R)}`.trim();return s}return(o==="yolo"?$f:wf).replace("{{PLATFORM_NAME}}",w).replace("{{CWD}}",I).replace("{{CURRENT_DATE}}",new Date().toLocaleDateString()).replace("{{IDE_NAME}}",f).replace("{{CLINE_METADATA}}",x?Rf(I,$,R):"").replace("{{CLINE_RULES}}",E||"").trim()}var rg="remote://";import{z as r}from"zod";var yf=r.object({id:r.string(),temperature:r.number().optional(),isR1FormatRequired:r.boolean().optional(),maxTokens:r.number().optional(),contextWindow:r.number().optional(),inputPrice:r.number().optional(),outputPrice:r.number().optional(),supportsImages:r.boolean().optional()}),_f=r.object({models:r.array(yf).optional(),openAiBaseUrl:r.string().optional(),openAiHeaders:r.record(r.string(),r.string()).optional(),azureApiVersion:r.string().optional(),azureIdentity:r.boolean().optional()}),Ef=r.object({id:r.string(),thinkingBudgetTokens:r.number().optional()}),qf=r.object({name:r.string(),baseModelId:r.string(),thinkingBudgetTokens:r.number().optional()}),Hf=r.object({models:r.array(Ef).optional(),customModels:r.array(qf).optional(),awsRegion:r.string().optional(),awsUseCrossRegionInference:r.boolean().optional(),awsUseGlobalInference:r.boolean().optional(),awsBedrockUsePromptCache:r.boolean().optional(),awsBedrockEndpoint:r.string().optional()}),If=r.object({id:r.string()}),kf=r.object({models:r.array(If).optional()}),Uf=r.object({id:r.string(),thinkingBudgetTokens:r.number().optional()}),Yf=r.object({models:r.array(Uf).optional(),vertexProjectId:r.string().optional(),vertexRegion:r.string().optional()}),Ff=r.object({id:r.string(),thinkingBudgetTokens:r.number().optional(),promptCachingEnabled:r.boolean().optional()}),Lf=r.object({models:r.array(Ff).optional(),baseUrl:r.string().optional()}),Df=r.object({id:r.string(),thinkingBudgetTokens:r.number().optional()}),Af=r.object({models:r.array(Df).optional(),baseUrl:r.string().optional()}),dg=r.object({OpenAiCompatible:_f.optional(),AwsBedrock:Hf.optional(),Cline:kf.optional(),Vertex:Yf.optional(),LiteLLM:Lf.optional(),Anthropic:Af.optional()}),Gf=r.object({id:r.string()}),Zf=r.object({name:r.string(),url:r.string(),alwaysEnabled:r.boolean().optional(),headers:r.record(r.string(),r.string()).optional()}),Fn=r.object({alwaysEnabled:r.boolean(),name:r.string(),contents:r.string()}),e=r.object({bucket:r.string(),accessKeyId:r.string(),secretAccessKey:r.string(),region:r.string().optional(),endpoint:r.string().optional(),accountId:r.string().optional()}),Xf=r.object({enabled:r.boolean().optional(),type:r.union([r.literal("s3_access_keys"),r.literal("r2_access_keys"),r.literal("azure_access_keys")]).optional(),s3AccessSettings:e.optional(),r2AccessSettings:e.optional(),azureAccessSettings:e.optional()}),Jf=r.object({promptUploading:Xf.optional()}),wg=r.object({version:r.string(),providerSettings:dg.optional(),telemetryEnabled:r.boolean().optional(),kanbanEnabled:r.boolean().optional(),mcpMarketplaceEnabled:r.boolean().optional(),allowedMCPServers:r.array(Gf).optional(),remoteMCPServers:r.array(Zf).optional(),blockPersonalRemoteMCPServers:r.boolean().optional(),yoloModeAllowed:r.boolean().optional(),openTelemetryEnabled:r.boolean().optional(),openTelemetryMetricsExporter:r.string().optional(),openTelemetryLogsExporter:r.string().optional(),openTelemetryOtlpProtocol:r.string().optional(),openTelemetryOtlpEndpoint:r.string().optional(),openTelemetryOtlpHeaders:r.record(r.string(),r.string()).optional(),openTelemetryOtlpMetricsProtocol:r.string().optional(),openTelemetryOtlpMetricsEndpoint:r.string().optional(),openTelemetryOtlpMetricsHeaders:r.record(r.string(),r.string()).optional(),openTelemetryOtlpLogsProtocol:r.string().optional(),openTelemetryOtlpLogsEndpoint:r.string().optional(),openTelemetryOtlpLogsHeaders:r.record(r.string(),r.string()).optional(),openTelemetryMetricExportInterval:r.number().optional(),openTelemetryOtlpInsecure:r.boolean().optional(),openTelemetryLogBatchSize:r.number().optional(),openTelemetryLogBatchTimeout:r.number().optional(),openTelemetryLogMaxQueueSize:r.number().optional(),enterpriseTelemetry:Jf.optional(),globalRules:r.array(Fn).optional(),globalWorkflows:r.array(Fn).optional()}),$g=r.record(r.string(),r.string());var Rg=4317;var yg="127.0.0.1:4317";import Ln from"zod";var _g=Ln.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth","popular"]),Eg=Ln.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),qg=Ln.enum(["anthropic","ai-sdk","ai-sdk-community","openai","openai-compatible","openai-r1","gemini","bedrock","custom","fetch","vertex"]);var Hg="runtime.team.progress.v1",Ig="runtime.team.lifecycle.v1";var kg="CLINE_ENVIRONMENT",Ug="CLINE_ENVIRONMENT_OVERRIDE",Dn={production:{environment:"production",appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",mcpBaseUrl:"https://api.cline.bot/v1/mcp",workOsClientId:"client_01K3A541FN8TA3EPPHTD2325AR"},staging:{environment:"staging",appBaseUrl:"https://staging-app.cline.bot",apiBaseUrl:"https://core-api.staging.int.cline.bot",mcpBaseUrl:"https://core-api.staging.int.cline.bot/v1/mcp",workOsClientId:"client_01K3A5415VF6QBQBG3XYCW91G6"},local:{environment:"local",appBaseUrl:"http://localhost:3000",apiBaseUrl:"http://localhost:7777",mcpBaseUrl:"http://localhost:7777/v1/mcp",workOsClientId:"client_01K6XQAY7JK6T5HXVSZW2S5VYK"}},Yg="production";function Qf(n){let f=n?.trim().toLowerCase();if(f==="production"||f==="staging"||f==="local")return f;return}function Fg(){if(typeof process>"u"||!process?.env)return{};return process.env}function Bf(n={}){let f=n.env??Fg();return Qf(f.CLINE_ENVIRONMENT_OVERRIDE)??Qf(f.CLINE_ENVIRONMENT)??"production"}function Lg(n){if(typeof n==="string")return Dn[n];return Dn[Bf(n)]}var Dg="sdk.error";function Ag(n,f){if(!n)return;n.capture({event:f.event??"sdk.error",properties:Vf(f)})}function Vf(n){return{...n.context??{},component:n.component,operation:n.operation,severity:n.severity??"error",handled:n.handled??!0,...Pf(n.error,n.messageLimit)}}function Pf(n,f=500){let o=Xg(n)?n:void 0,w=n instanceof Error?n:void 0,$=w?.message??sf(o?.message)??(typeof n==="string"?n:String(n)),R=Jg(o?.code),E=An(o?.status)??An(o?.statusCode)??An(o?.responseStatus);return{error_type:w?.name?.trim()||sf(o?.name)||w?.constructor?.name||"Error",error_message:Zg(Gg($),f),...R!==void 0?{error_code:R}:{},...E!==void 0?{error_status:E}:{}}}function Gg(n){return n.replace(/(authorization=Bearer\s+)[^&\s]+/gi,"$1[redacted]").replace(/(api[_-]?key|access[_-]?token|refresh[_-]?token|authorization|password|secret)=([^&\s]+)/gi,"$1=[redacted]").replace(/(Bearer\s+)[A-Za-z0-9._~+/-]+=*/gi,"$1[redacted]").replace(/\/Users\/[^/\s]+/g,"/Users/[redacted]").replace(/\/home\/[^/\s]+/g,"/home/[redacted]").replace(/([A-Za-z]:[\\/]+Users[\\/]+)[^\\/\s]+/g,"$1[redacted]")}function Zg(n,f){let o=Math.max(1,Math.floor(f));return n.length>o?n.substring(0,o):n}function Xg(n){return typeof n==="object"&&n!==null}function sf(n){return typeof n==="string"&&n.trim().length>0?n:void 0}function Jg(n){if(typeof n==="string"&&n.trim().length>0)return n;if(typeof n==="number"&&Number.isFinite(n))return n;return}function An(n){return typeof n==="number"&&Number.isFinite(n)?n:void 0}function Wf(n){let f={};if(!n)return f;try{n.split(",").forEach((o)=>{let w=o.indexOf("=");if(w<=0)return;let $=decodeURIComponent(o.substring(0,w).trim()),R=decodeURIComponent(o.substring(w+1).trim());if(!$||!R)return;f[$]=R})}catch{}return f}function Qg(){if(!process.env)return{enabled:!1};return{enabled:process.env.OTEL_TELEMETRY_ENABLED==="1"||process.env.OTEL_TELEMETRY_ENABLED==="true",metricsExporter:process.env.OTEL_METRICS_EXPORTER||"otlp",logsExporter:process.env.OTEL_LOGS_EXPORTER||"otlp",tracesExporter:process.env.OTEL_TRACES_EXPORTER,otlpProtocol:process.env.OTEL_EXPORTER_OTLP_PROTOCOL||"http/json",otlpEndpoint:process.env.OTEL_EXPORTER_OTLP_ENDPOINT,metricExportInterval:process.env.OTEL_METRIC_EXPORT_INTERVAL?Number.parseInt(process.env.OTEL_METRIC_EXPORT_INTERVAL,10):void 0,otlpHeaders:process.env.OTEL_EXPORTER_OTLP_HEADERS?Wf(process.env.OTEL_EXPORTER_OTLP_HEADERS):void 0}}function jf(n={}){return{extension_version:"unknown",cline_type:"unknown",platform:"terminal",platform_version:process?.version||"unknown",os_type:process?.platform||"unknown",os_version:process?.platform==="win32"?process?.env?.OS??"unknown":"unknown",...n}}function Bg(n={}){return{...Qg(),...n,metadata:jf(n.metadata)}}function lf(n){let f=n?.trim();return f?f:void 0}function sg(n,f){if(!n)return;let o=typeof n==="function"?n(f):n;if(!o)return;let w=lf(o.rootSessionId);if(!w)return;return{rootSessionId:w}}function Vg(n){return lf(n?.rootSessionId)}var Pg=(n)=>crypto.getRandomValues(new Uint8Array(n)),Wg=(n,f,o)=>{let w=256-256%n.length;if(w===256){let R=n.length-1;return(E=f)=>{if(!E)return"";let Y="";while(!0){let G=o(E),I=E;while(I--)if(Y+=n[G[I]&R],Y.length>=E)return Y}}}let $=Math.ceil(409.6*f/w);return(R=f)=>{if(!R)return"";let E="";while(!0){let Y=o($),G=$;while(G--)if(Y[G]<w){if(E+=n[Y[G]%n.length],E.length>=R)return E}}}},bf=(n,f=21)=>Wg(n,f|0,Pg);function jg(n="",f=""){let o=bf("1234567890abcdefghijklmnopqrstuvwxyz",10);return`${n}${Date.now()}_${o(5)}${f}`}var lg=["idle","running","pending","completed","failed","cancelled"];var Gn=["rules","skills","workflows","plugins"],Kf=Gn,bg=new Set(Gn);function Tf(n){return typeof n==="string"&&bg.has(n)}function Kg(n){if(!Array.isArray(n))return;let f=n.map((o)=>typeof o==="string"?o.trim():"").filter(Tf);return[...new Set(f)]}function Tg(n,f){return new Set(n??Kf).has(f)}import{z as J}from"zod";var Ng=J.object({rootPath:J.string().min(1),hint:J.string().min(1).optional(),associatedRemoteUrls:J.array(J.string().min(1)).optional(),latestGitCommitHash:J.string().min(1).optional(),latestGitBranchName:J.string().min(1).optional()}),Cg=J.object({currentWorkspacePath:J.string().min(1).optional(),workspaces:J.record(J.string().min(1),Ng)});function Dd(){return{workspaces:{}}}function Ad(n,f){let o={...n,workspaces:{...n.workspaces,[f.rootPath]:f}};if(!o.currentWorkspacePath)o.currentWorkspacePath=f.rootPath;return Cg.parse(o)}import{z as g}from"zod";var Mg=["current_state","boundary_analysis","interface_proposal"],Xd=3600000,Jd=240,Qd=400,Q=g.preprocess((n)=>n instanceof Date?n.toISOString():n,g.string().datetime()),M=g.enum(["pending","in_progress","blocked","completed"]),Nf=g.enum(["queued","running","completed","failed","cancelled","interrupted"]),a=g.enum(["draft","in_review","finalized"]),Og=g.object({agentId:g.string(),role:g.enum(["lead","teammate"]),description:g.string().optional(),status:g.enum(["idle","running","stopped"])}),Bd=g.object({agentId:g.string(),rolePrompt:g.string(),modelId:g.string().optional(),maxIterations:g.number().optional()});function F(n){return g.preprocess((f)=>f===null?void 0:f,n.optional())}var sd=g.object({agentId:g.string().min(1).describe("Teammate identifier"),rolePrompt:g.string().min(1).describe("System prompt describing teammate role")}).strict(),Vd=g.object({agentId:g.string().min(1).describe("Teammate identifier"),reason:F(g.string().min(1)).describe("Optional shutdown reason")}),Pd=g.object({}),Sg={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]},Wd={create:["status","taskId","summary","reason"]},jd=g.object({action:g.enum(["create","list","claim","complete","block"]),title:F(g.string().min(1)).describe("Task title"),description:F(g.string().min(1)).describe("Task details"),dependsOn:F(g.array(g.string().describe("Dependency task ID"))).describe("Array of dependency task IDs"),assignee:F(g.string().min(1)).describe("Optional assignee"),status:F(g.enum(["pending","in_progress","blocked","completed"])).describe("Optional task status filter"),taskId:F(g.string()).describe("Task ID"),summary:F(g.string().min(1)).describe("Completion summary"),reason:F(g.string().min(1)).describe("Blocking reason")}).superRefine((n,f)=>{for(let o of Sg[n.action]){if(n[o]!==void 0)continue;f.addIssue({code:"custom",path:[o],message:`Field "${o}" is required when action=${n.action}`})}}),ld=g.object({agentId:g.string().describe("Teammate agent ID"),task:g.string().min(1).describe("Task instructions for the teammate"),taskId:F(g.string()).describe("Optional shared task list ID"),runMode:F(g.enum(["sync","async"])).describe("Execution mode: 'sync' blocks until the teammate finishes and returns the result (default if omitted); 'async' queues the run and returns a runId immediately — use team_await_runs to collect results later."),continueConversation:F(g.boolean()).describe("If true, continue the teammate conversation; otherwise start fresh")}),bd=g.object({status:F(g.enum(["queued","running","completed","failed","cancelled","interrupted"])).describe("Optional run status filter. Omit to include all statuses."),agentId:F(g.string().min(1)).describe("Optional teammate ID filter. Omit to include all teammates."),includeCompleted:F(g.boolean()).describe("Include completed/failed runs (default true)")}),Kd=g.object({runId:g.string().min(1).describe("Run ID"),reason:F(g.string().min(1)).describe("Optional cancellation reason")}),Td=g.object({runId:F(g.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),Nd=g.object({toAgentId:g.string().min(1).describe("Recipient agent ID"),subject:g.string().min(1).describe("Message subject"),body:g.string().min(1).describe("Message body"),taskId:F(g.string().min(1)).describe("Optional task ID context")}),Cd=g.object({subject:g.string().min(1).describe("Message subject"),body:g.string().min(1).describe("Message body"),taskId:F(g.string().min(1)).describe("Optional task ID context")}),Md=g.object({unreadOnly:F(g.boolean()).describe("Only unread messages for read action (default true)")}),Od=g.object({kind:g.enum(["progress","handoff","blocked","decision","done","error"]),summary:g.string().min(1).describe("Update summary"),taskId:F(g.string().min(1)).describe("Optional task ID context"),evidence:F(g.array(g.string().min(1))).describe("Optional evidence links/snippets"),nextAction:F(g.string().min(1)).describe("Planned next step")}),Sd=g.object({}),hd=g.object({title:g.string().describe("Outcome title"),requiredSections:g.array(g.string()).default(Mg).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),cd=g.object({outcomeId:g.string().describe("Outcome ID"),section:g.string().describe("Section name"),sourceRunId:F(g.string()).describe("Optional source run ID"),content:g.string().describe("Section fragment content")}),xd=g.object({fragmentId:g.string().describe("Fragment ID"),approved:g.boolean().describe("Review decision")}),ud=g.object({outcomeId:g.string().describe("Outcome ID")}),vd=g.object({}),md=g.object({teamId:g.string(),teamName:g.string(),members:g.array(Og),taskCounts:g.record(M,g.number()),unreadMessages:g.number(),missionLogEntries:g.number(),activeRuns:g.number(),queuedRuns:g.number(),outcomeCounts:g.record(a,g.number())}),hg=g.object({id:g.string(),title:g.string(),description:g.string(),status:M,createdAt:Q,updatedAt:Q,createdBy:g.string(),assignee:g.string().optional(),dependsOn:g.array(g.string()),summary:g.string().optional(),isReady:g.boolean(),blockedBy:g.array(g.string())}),pd=g.discriminatedUnion("action",[g.object({action:g.literal("create"),taskId:g.string(),status:M,ignoredFields:g.array(g.string()).optional(),note:g.string().optional()}),g.object({action:g.literal("list"),tasks:g.array(hg)}),g.object({action:g.literal("claim"),taskId:g.string(),status:M,nextStep:g.string()}),g.object({action:g.literal("complete"),taskId:g.string(),status:M}),g.object({action:g.literal("block"),taskId:g.string(),status:M})]),id=g.object({agentId:g.string(),mode:g.enum(["sync","async"]),status:g.enum(["dispatched","running","queued","joined"]),dispatched:g.boolean(),message:g.string(),deduped:g.boolean().optional(),runId:g.string().optional(),text:g.string().optional(),iterations:g.number().optional()}),cg=g.object({textPreview:g.string(),iterations:g.number(),finishReason:g.string(),durationMs:g.number(),usage:g.object({inputTokens:g.number(),outputTokens:g.number(),cacheReadTokens:g.number().optional(),cacheWriteTokens:g.number().optional(),totalCost:g.number().optional()})}),td=g.object({id:g.string(),agentId:g.string(),taskId:g.string().optional(),status:Nf,messagePreview:g.string(),priority:g.number(),retryCount:g.number(),maxRetries:g.number(),nextAttemptAt:Q.optional(),continueConversation:g.boolean().optional(),startedAt:Q,endedAt:Q.optional(),leaseOwner:g.string().optional(),heartbeatAt:Q.optional(),lastProgressAt:Q.optional(),lastProgressMessage:g.string().optional(),currentActivity:g.string().optional(),error:g.string().optional(),resultSummary:cg.optional()}),ed=g.object({id:g.string(),teamId:g.string(),fromAgentId:g.string(),toAgentId:g.string(),subject:g.string(),body:g.string(),taskId:g.string().optional(),sentAt:Q,readAt:Q.optional()}),ad=g.object({id:g.string(),teamId:g.string(),title:g.string(),status:a,requiredSections:g.array(g.string()),createdBy:g.string(),createdAt:Q,finalizedAt:Q.optional()}),zd=g.object({outcomeId:g.string(),status:a,requiredSections:g.array(g.string())}),nw=g.object({agentId:g.string(),status:g.string()}),fw=g.object({runId:g.string(),status:Nf}),ow=g.object({id:g.string(),toAgentId:g.string()}),gw=g.object({delivered:g.number()}),rw=g.object({id:g.string()}),dw=g.object({status:g.string()}),ww=g.object({fragmentId:g.string(),status:g.string()}),$w=g.object({outcomeId:g.string(),status:a});var xg;((D)=>{D.TaskStart="task_start";D.TaskEnd="task_end";D.AgentEvent="agent_event";D.TeammateSpawned="teammate_spawned";D.TeammateShutdown="teammate_shutdown";D.TeamTaskUpdated="team_task_updated";D.TeamMessage="team_message";D.TeamMissionLog="team_mission_log";D.TeamTaskCompleted="team_task_completed";D.RunStarted="run_started";D.RunQueued="run_queued";D.RunProgress="run_progress";D.RunCompleted="run_completed";D.RunFailed="run_failed";D.RunCancelled="run_cancelled";D.RunInterrupted="run_interrupted";D.OutcomeCreated="outcome_created";D.OutcomeFragmentAttached="outcome_fragment_attached";D.OutcomeFragmentReviewed="outcome_fragment_reviewed";D.OutcomeFinalized="outcome_finalized"})(xg||={});import{z as ug}from"zod";function vg(n){let{$schema:f,...o}=n;if(typeof o.type==="string")return o;if("properties"in o||"required"in o||"additionalProperties"in o)return{type:"object",...o};for(let w of["oneOf","anyOf","allOf"]){let $=o[w];if(!Array.isArray($)||$.length===0)continue;if(w==="allOf"){if($.some((Y)=>Y&&typeof Y==="object"&&Y.type==="object"))return{type:"object",...o};throw Error('Tool inputSchema must describe an object at the top level, but the schema has a top-level "allOf" with no branch that asserts type: "object". Add type: "object" to at least one allOf branch to make the object constraint explicit.')}if($.every((E)=>E&&typeof E==="object"&&E.type==="object"))return{type:"object",...o};throw Error(`Tool inputSchema must describe an object at the top level, but the schema has a top-level "${w}" whose branches include non-object types. Pass the strict object schema as inputSchema and reserve union/coercion schemas for use inside execute().`)}return o}function mg(n){let f=vg(n.inputSchema instanceof ug.ZodType?Un(n.inputSchema):n.inputSchema);return{name:n.name,description:n.description,inputSchema:f,lifecycle:n.lifecycle,timeoutMs:n.timeoutMs??30000,retryable:n.retryable??!0,maxRetries:n.maxRetries??3,execute:n.execute}}var Cf=["401","403","unauthorized","forbidden","invalid token","expired token","authentication"];function pg(n){let f=n instanceof Error?n.message.toLowerCase():String(n);return Cf.some((o)=>f.includes(o))}export{Un as zodToJsonSchema,vn as xmlTagsRemoval,og as validateWithZod,Ad as upsertWorkspaceInfo,rf as truncateStr,ao as truncateSplit,pn as toAiSdkToolResultOutput,Ko as serializeAbortReason,X as sanitizeSurrogates,eo as sanitizeFileName,vo as safeJsonStringify,mo as safeJsonParse,Vg as resolveRootSessionId,tn as resolveReasoningEffortRatio,lo as resolveReasoningBudgetFromRatio,Lr as resolveHubCommandTimeoutMs,sg as resolveHookSessionContext,jo as resolveEffectiveReasoningEffort,Bf as resolveClineEnvironment,xn as parseUserCommandEnvelope,Kg as parseRuntimeConfigExtensions,uo as parseJsonStream,Lo as parseHookEventPayload,un as normalizeUserInput,Pf as normalizeSdkError,Sn as normalizePluginManifest,No as noopBasicLogger,zo as maskSecret,Tf as isRuntimeConfigExtensionKind,pg as isLikelyAuthError,Dr as isHubToolExecutorName,Yr as isHubProtocolCompatible,Tg as hasRuntimeConfigExtension,to as getShellArgs,io as getDefaultShell,Ao as getDefaultHubCommandTimeoutMs,Lg as getClineEnvironmentConfig,Xo as formatUserInputBlock,Jo as formatUserCommandBlock,fg as formatUptime,Po as formatMessagesForAiSdk,ng as formatHumanReadableDate,gn as formatFileContentBlock,so as formatDisplayUserInput,To as estimateTokens,Dd as emptyWorkspaceManifest,mg as createTool,jg as createSessionId,yo as createContributionRegistry,jf as createClineTelemetryServiceMetadata,Bg as createClineTelemetryServiceConfig,Ag as captureSdkError,Vf as buildSdkErrorProperties,gg as buildClineSystemPrompt,Cg as WorkspaceManifestSchema,Ng as WorkspaceInfoSchema,Yf as VertexSettingsSchema,Uf as VertexModelSchema,fn as ToolCallRecordSchema,ln as ThinkingConfigSchema,Bd as TeamTeammateSpecSchema,pd as TeamTaskToolResultSchema,hg as TeamTaskListItemToolResultSchema,jd as TeamTaskInputSchema,md as TeamStatusToolResultSchema,Pd as TeamStatusInputSchema,sd as TeamSpawnTeammateInputSchema,nw as TeamSimpleAgentStatusToolResultSchema,Vd as TeamShutdownTeammateInputSchema,ow as TeamSendMessageToolResultSchema,Nd as TeamSendMessageInputSchema,td as TeamRunToolSummarySchema,id as TeamRunTaskToolResultSchema,ld as TeamRunTaskInputSchema,cg as TeamRunResultSummarySchema,xd as TeamReviewOutcomeFragmentInputSchema,Md as TeamReadMailboxInputSchema,ad as TeamOutcomeToolResultSchema,ww as TeamOutcomeFragmentToolResultSchema,rw as TeamMissionLogToolResultSchema,Od as TeamMissionLogInputSchema,xg as TeamMessageType,ed as TeamMailboxMessageToolResultSchema,bd as TeamListRunsInputSchema,vd as TeamListOutcomesInputSchema,$w as TeamFinalizeOutcomeToolResultSchema,ud as TeamFinalizeOutcomeInputSchema,zd as TeamCreateOutcomeToolResultSchema,hd as TeamCreateOutcomeInputSchema,dw as TeamCleanupToolResultSchema,Sd as TeamCleanupInputSchema,fw as TeamCancelRunToolResultSchema,Kd as TeamCancelRunInputSchema,gw as TeamBroadcastToolResultSchema,Cd as TeamBroadcastInputSchema,Td as TeamAwaitRunsInputSchema,cd as TeamAttachOutcomeFragmentInputSchema,Wd as TEAM_TASK_IGNORED_FIELDS_BY_ACTION,Qd as TEAM_RUN_TEXT_PREVIEW_LIMIT,Jd as TEAM_RUN_MESSAGE_PREVIEW_LIMIT,Hg as TEAM_PROGRESS_EVENT_TYPE,Ig as TEAM_LIFECYCLE_EVENT_TYPE,Xd as TEAM_AWAIT_TIMEOUT_MS,lg as SESSION_STATUS_VALUES,Dg as SDK_ERROR_TELEMETRY_EVENT,e as S3AccessKeySettingsSchema,Zf as RemoteMCPServerSchema,wg as RemoteConfigSchema,no as ReasoningEffortSchema,Gn as RUNTIME_CONFIG_EXTENSION_KINDS,rg as REMOTE_URI_SCHEME,S as REASONING_EFFORT_RATIOS,Eg as ProviderProtocolSchema,qg as ProviderClientSchema,_g as ProviderCapabilitySchema,Xf as PromptUploadingSchema,_o as PLUGIN_FILE_EXTENSIONS,_f as OpenAiCompatibleSchema,yf as OpenAiCompatibleModelSchema,Wn as ModelStatusSchema,jn as ModelPricingSchema,bn as ModelMetadataSchema,m as ModelInfoSchema,Pn as ModelCapabilitySchema,Ir as MIN_CLIENT_HUB_PROTOCOL_VERSION,kr as MAX_CLIENT_HUB_PROTOCOL_VERSION,Lf as LiteLLMSchema,Ff as LiteLLMModelSchema,cn as HookEventPayloadSchema,hn as HookEventNameSchema,Br as HUB_USER_INSTRUCTIONS_SNAPSHOT_CAPABILITY,Go as HUB_TOOL_EXECUTOR_NAMES,Ar as HUB_TOOL_EXECUTOR_CAPABILITY_PREFIX,Qr as HUB_MISTAKE_LIMIT_CAPABILITY,Zr as HUB_HOOK_CAPABILITY_PREFIX,Do as HUB_DEFAULT_COMMAND_TIMEOUT_MS,Gr as HUB_CUSTOM_TOOL_CAPABILITY_PREFIX,Xr as HUB_COMPACTION_CAPABILITY,Fr as HUB_COMMAND_SLOW_LOG_MS,Jr as HUB_CHECKPOINT_CAPABILITY,Ur as HUB_CAPABILITIES,Fn as GlobalInstructionsFileSchema,Jf as EnterpriseTelemetrySchema,rn as EMPTY_CONTENT_TEXT,Kf as DEFAULT_RUNTIME_CONFIG_EXTENSIONS,bo as DEFAULT_REQUEST_HEADERS,Wo as DEFAULT_REASONING_EFFORT,Mg as DEFAULT_OUTCOME_REQUIRED_SECTIONS,Yg as DEFAULT_CLINE_ENVIRONMENT,on as ContributionRegistry,go as ConnectorHookEventSchema,Kn as ConnectorHookEventNameSchema,Nn as ConnectorEventContextSchema,Tn as ConnectorEventActorSchema,fo as ConnectorAuthorizationRequestSchema,oo as ConnectorAuthorizationDecisionSchema,kf as ClineSettingsSchema,If as ClineModelSchema,Hr as CURRENT_HUB_PROTOCOL_VERSION,Ug as CLINE_ENVIRONMENT_OVERRIDE_ENV,kg as CLINE_ENVIRONMENT_ENV,Dn as CLINE_ENVIRONMENTS,Rg as CLINE_DEFAULT_RPC_PORT,yg as CLINE_DEFAULT_RPC_ADDRESS,Hf as AwsBedrockSettingsSchema,Ef as AwsBedrockModelSchema,qf as AwsBedrockCustomModelSchema,Vn as ApiFormatSchema,ef as ApiFormat,Af as AnthropicSchema,Df as AnthropicModelSchema,Gf as AllowedMCPServerSchema,zf as AgentUsageSchema,or as AgentResultSchema,af as AgentFinishReasonSchema,gr as AgentConfigSchema,Cf as AUTH_ERROR_PATTERNS,$g as APIKeySchema};
|
package/dist/index.d.ts
CHANGED
|
@@ -64,6 +64,5 @@ export * from "./session/workspace";
|
|
|
64
64
|
export * from "./team";
|
|
65
65
|
export { createTool } from "./tools/create";
|
|
66
66
|
export * from "./types";
|
|
67
|
-
export
|
|
68
|
-
export { AUTH_ERROR_PATTERNS, isLikelyAuthError, isOAuthProviderId, OAUTH_PROVIDER_IDS, } from "./types/auth";
|
|
67
|
+
export { AUTH_ERROR_PATTERNS, isLikelyAuthError } from "./types/auth";
|
|
69
68
|
export { initVcr } from "./vcr";
|