@cline/shared 0.0.43 → 0.0.45
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/index.browser.d.ts +1 -1
- package/dist/index.browser.js +14 -14
- package/dist/index.d.ts +1 -1
- package/dist/index.js +29 -29
- package/dist/llms/ai-sdk-format.d.ts +1 -0
- package/dist/llms/gateway.d.ts +1 -1
- package/package.json +1 -1
package/dist/index.browser.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export type { AgentAbortHookPayload, AgentEndHookPayload, AgentErrorHookPayload,
|
|
|
13
13
|
export { HookEventNameSchema, HookEventPayloadSchema, parseHookEventPayload, } from "./hooks/events";
|
|
14
14
|
export * from "./hub";
|
|
15
15
|
export type { AiSdkFormatterMessage, AiSdkFormatterMessageRole, AiSdkFormatterPart, AiSdkMessage, AiSdkMessagePart, } from "./llms/ai-sdk-format";
|
|
16
|
-
export { formatMessagesForAiSdk, sanitizeSurrogates, toAiSdkToolResultOutput, } from "./llms/ai-sdk-format";
|
|
16
|
+
export { EMPTY_CONTENT_TEXT, formatMessagesForAiSdk, sanitizeSurrogates, toAiSdkToolResultOutput, } from "./llms/ai-sdk-format";
|
|
17
17
|
export type * from "./llms/gateway";
|
|
18
18
|
export type { ContentBlock, FileContent, ImageContent, Message, MessageRole, MessageWithMetadata, RedactedThinkingContent, TextContent, ThinkingContent, ToolDefinition, ToolResultContent, ToolUseContent, } from "./llms/messages";
|
|
19
19
|
export { ApiFormat, ApiFormatSchema, type ModelCapability, ModelCapabilitySchema, type ModelInfo, ModelInfoSchema, type ModelMetadata, ModelMetadataSchema, type ModelPricing, ModelPricingSchema, type ModelStatus, ModelStatusSchema, type ThinkingConfig, ThinkingConfigSchema, } from "./llms/model-info";
|
package/dist/index.browser.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import{z as w}from"zod";import{z as Y}from"zod";var Zn=Y.enum(["default","openai-responses","r1"]),ef={DEFAULT:"default",OPENAI_RESPONSES:"openai-responses",R1:"r1"},bn=Y.enum(["images","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),Jn=Y.enum(["active","preview","deprecated","legacy"]),Bn=Y.object({input:Y.number().optional(),output:Y.number().optional(),cacheWrite:Y.number().optional(),cacheRead:Y.number().optional()}),Qn=Y.object({maxBudget:Y.number().optional(),outputPrice:Y.number().optional(),thinkingLevel:Y.enum(["low","high"]).optional()}),Vn=Y.object({reasoningDefaultOn:Y.boolean().optional()}).catchall(Y.unknown()),v=Y.object({id:Y.string(),name:Y.string().optional(),description:Y.string().optional(),maxTokens:Y.number().optional(),contextWindow:Y.number().optional(),maxInputTokens:Y.number().optional(),capabilities:Y.array(bn).optional(),apiFormat:Zn.optional(),systemRole:Y.enum(["system","developer"]).optional(),temperature:Y.number().optional(),pricing:Bn.optional(),thinkingConfig:Qn.optional(),status:Jn.optional(),deprecationNotice:Y.string().optional(),replacedBy:Y.string().optional(),releaseDate:Y.string().optional(),deprecationDate:Y.string().optional(),family:Y.string().optional(),metadata:Vn.optional()});import{z as Z}from"zod";var nn=Z.object({id:Z.string(),name:Z.string(),input:Z.unknown(),output:Z.unknown(),error:Z.string().optional(),durationMs:Z.number(),startedAt:Z.date(),endedAt:Z.date()});var af=w.enum(["completed","max_iterations","aborted","mistake_limit","error"]),zf=w.object({inputTokens:w.number(),outputTokens:w.number(),cacheReadTokens:w.number().optional(),cacheWriteTokens:w.number().optional(),totalCost:w.number().optional()}),fg=w.object({text:w.string(),usage:zf,messages:w.array(w.custom()),toolCalls:w.array(nn),iterations:w.number(),finishReason:af,model:w.object({id:w.string(),provider:w.string(),info:v.optional()}),startedAt:w.date(),endedAt:w.date(),durationMs:w.number()}),no=w.enum(["low","medium","high","xhigh"]),og=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:no.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 Wn=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"]),jn=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()}),fo=H.object({actor:jn,context:Tn,payload:H.record(H.string(),H.unknown()).optional()}),oo=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()}),ro=H.object({adapter:H.string(),botUserName:H.string().optional(),event:Wn,payload:H.record(H.string(),H.unknown()),ts:H.string()});var go=["hooks","tools","commands","rules","skills","messageBuilders","providers","automationEvents"],wo=new Set(go);function Cn(n,f){return n.name||`extension_${String(f).padStart(4,"0")}`}function Kn(n){return Array.isArray(n)&&n.every((f)=>typeof f==="string")}function Nn(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 Mn(n){let f=Nn(n.providerIds),o=Nn(n.modelIds);return{...n,...f?{providerIds:f}:{},...o?{modelIds:o}:{}}}function $o(n,f){let o=Cn(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 F of d.capabilities){if(!wo.has(F))throw Error(`Invalid manifest for extension "${o}": unsupported capability "${String(F)}"`);$.add(F)}if(Object.hasOwn(d,"providerIds")&&!Kn(d.providerIds))throw Error(`Invalid manifest for extension "${o}": providerIds must be a string array when provided`);if(Object.hasOwn(d,"modelIds")&&!Kn(d.modelIds))throw Error(`Invalid manifest for extension "${o}": modelIds must be a string array when provided`);let _=$.has("hooks");if(n.hooks!==void 0&&!_)throw Error(`Invalid manifest for extension "${o}": runtime hooks require the "hooks" capability`);return{capabilities:$,raw:Mn(d)}}function Eo(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:$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=Cn(f,n.order),d={registerTool:(_)=>this.registry.tools.push(_),registerCommand:(_)=>this.registry.commands.push(_),registerRule:(_)=>{if(!n.manifest.capabilities.has("rules"))throw Error(`Invalid setup for extension "${o}": registerRule requires the "rules" capability`);this.registry.rules.push(_)},registerMessageBuilder:(_)=>this.registry.messageBuilder.push(_),registerProvider:(_)=>this.registry.providers.push(_),registerAutomationEventType:(_)=>{if(!n.manifest.capabilities.has("automationEvents"))throw Error(`Invalid setup for extension "${o}": registerAutomationEventType requires the "automationEvents" capability`);this.registry.automationEventTypes.push(Eo(_,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 yo=[".js",".ts"];import{z as E}from"zod";var On=E.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),j=E.record(E.string(),E.string()),Ro=E.object({toolName:E.string(),parameters:j}),Ho=E.object({toolName:E.string(),parameters:j,result:E.string(),success:E.boolean(),executionTimeMs:E.number()}),qo=E.object({prompt:E.string(),attachments:E.array(E.string())}),ko=E.object({taskMetadata:j}),Uo=E.object({taskMetadata:j,previousState:j}),Yo=E.object({taskMetadata:j}),Fo=E.object({taskMetadata:j}),Io=E.object({taskId:E.string(),ulid:E.string(),contextSize:E.number(),compactionStrategy:E.string(),previousApiReqIndex:E.number(),tokensIn:E.number(),tokensOut:E.number(),tokensInCache:E.number(),tokensOutCache:E.number(),deletedRangeStart:E.number(),deletedRangeEnd:E.number(),contextJsonPath:E.string(),contextRawPath:E.string()}),cn=E.object({clineVersion:E.string(),hookName:On,timestamp:E.string(),taskId:E.string(),sessionContext:E.object({rootSessionId:E.string().optional(),hookLogPath:E.string().optional()}).optional(),workspaceRoots:E.array(E.string()),workspaceInfo:E.custom().optional(),userId:E.string(),agent_id:E.string(),parent_agent_id:E.string().nullable(),iteration:E.number().optional(),reason:E.string().optional(),tool_call:E.object({id:E.string(),name:E.string(),input:E.unknown()}).optional(),tool_result:E.custom().optional(),turn:E.unknown().optional(),error:E.object({name:E.string(),message:E.string(),stack:E.string().optional()}).optional(),preToolUse:Ro.optional(),postToolUse:Ho.optional(),userPromptSubmit:qo.optional(),taskStart:ko.optional(),taskResume:Uo.optional(),taskCancel:Yo.optional(),taskComplete:Fo.optional(),preCompact:Io.optional()}).passthrough();function Lo(n){let f=cn.safeParse(n);if(!f.success)return;return f.data}var Hg=30000,qg=5000;function lo(n){switch(n){case"run.start":case"session.send_input":return null;default:return 30000}}function kg(n,f){return f===void 0?lo(n):f}var so=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],Po=new Set(so);function Ug(n){return typeof n==="string"&&Po.has(n)}var Yg="tool_executor.",Fg="custom_tool.",Ig="hook.",Lg="compaction.compact",lg="checkpoint.create",sg="mistake_limit.decide",Pg="user_instructions.snapshot";function on(n,f){return`<file_content path="${n}">
|
|
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}">
|
|
2
2
|
${f}
|
|
3
|
-
</file_content>`}function
|
|
4
|
-
+`.includes(n)}function
|
|
5
|
-
+`.includes(n)}function _n(n){return S(n)||
|
|
6
|
-
`||n==="\r"||n==="\t"||n==="\b"||n==="\f"}function Q(n,f){let o=n.charCodeAt(f);return o===32||o===10||o===9||o===13}function
|
|
7
|
-
`,r:"\r",t:"\t"};function
|
|
8
|
-
`)f++;return!0}return!1}function k(
|
|
3
|
+
</file_content>`}function Po(n,f="act"){return`<user_input mode="${f}">${n}</user_input>`}function Zo(n,f){return`<user_command slash="${f}">${n}</user_command>`}function Xo(n,f){let o=n.trim(),d=new RegExp(`^<${f}\\b([^>]*)>([\\s\\S]*?)<\\/${f}>$`,"i").exec(o);if(!d)return;return{attrs:d[1]??"",content:d[2]??""}}function bo(n,f){return new RegExp(`${f}="([^"]+)"`,"i").exec(n)?.[1]?.trim()||void 0}function Sn(n){if(!n?.trim())return;let f=Xo(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 d=xn(f,o);f=(d!==f?d:f.replace(new RegExp(`<${o}[^>]*>`,"g"),"")).trim()}return f}function so(n){let f=un(n),o=Sn(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 xn(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 P(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 Jo(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 gn(n,f){if(n==null||typeof n!=="object")return n;if(Array.isArray(n)){let $=[];for(let y of n){if(y&&typeof y==="object"){let E=y;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(gn(y,f))}return $}let o=n,d={};for(let[$,y]of Object.entries(o))d[$]=gn(y,f);return d}function p(n){if(typeof n==="string")return P(n);if(Array.isArray(n))return n.map((f)=>p(f));if(n!==null&&typeof n==="object"){let f=n,o={};for(let[d,$]of Object.entries(f))o[d]=p($);return o}return n}function vn(n,f=!1){if(typeof n==="string")return{type:f?"error-text":"text",value:P(n)};if(!f&&Jo(n))return{type:"content",value:n.map((o)=>o.type==="image"?{type:"image-data",data:o.data,mediaType:o.mediaType}:{type:"text",text:P(o.text)})};if(!f&&n!==null&&typeof n==="object"){let o=[],d=gn(n,o);if(o.length>0)return{type:"content",value:[{type:"text",text:typeof d==="string"?P(d):JSON.stringify(p(d))},...o.map((y)=>({type:"image-data",data:y.data,mediaType:y.mediaType}))]}}if(n===null||typeof n==="boolean"||typeof n==="number"||typeof n==="object")return{type:f?"error-json":"json",value:p(n)};return{type:f?"error-text":"text",value:P(String(n))}}function Bo(n,f,o){let d=o?.assistantToolCallArgKey??"input",$=[];if(typeof n==="string"&&n.trim().length>0||Array.isArray(n)&&n.length>0)$.push({role:"system",content:typeof n==="string"?P(n):n});for(let y of f){let E=y.content;if(typeof E==="string"){if(E.trim().length===0){$.push({role:y.role,content:[{type:"text",text:rn}]});continue}$.push({role:y.role,content:P(E)});continue}let I=[],G=[];if(E.length===0){$.push({role:y.role,content:[{type:"text",text:rn}]});continue}for(let k of E)switch(k.type){case"text":I.push({type:"text",text:P(k.text),...k.providerOptions?{providerOptions:k.providerOptions}:{}});break;case"reasoning":I.push({type:"reasoning",text:P(k.text),...k.providerOptions?{providerOptions:k.providerOptions}:{}});break;case"image":I.push({type:"image",image:k.image,mediaType:k.mediaType});break;case"file":I.push({type:"text",text:on(k.path,P(k.content))});break;case"tool-call":if(y.role==="assistant")I.push({type:"tool-call",toolCallId:k.toolCallId,toolName:k.toolName,[d]:k.input,...k.providerOptions?{providerOptions:k.providerOptions}:{}});break;case"tool-result":{G.push({type:"tool-result",toolCallId:k.toolCallId,toolName:k.toolName,output:vn(k.output,k.isError??!1)});break}}if(I.length>0)mn($,{role:y.role,content:I});if(G.length>0)mn($,{role:"tool",content:G})}return $}var c={xhigh:0.95,high:0.8,medium:0.5,low:0.2,minimal:0.1,none:0},Qo=void 0;function Vo(n,f){if(typeof n==="string"&&n.toLowerCase()in c)return n.toLowerCase();return f?void 0:void 0}function pn(n,f){let o=typeof n==="string"?n.toLowerCase():void 0;if(o&&o in c)return c[o];if(f?.fallbackEffort)return c[f.fallbackEffort];return}function Wo(n){let f=pn(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 d=n.scaleTokens??n.maxBudget;return Math.min(Math.max(Math.floor(d*f),o),n.maxBudget)}var jo={"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 B extends Error{constructor(n,f){super(`${n} at position ${f}`);this.position=f}}function tn(n){return/^[0-9A-Fa-f]$/.test(n)}function V(n){return n>="0"&&n<="9"}function en(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 dn(n){return n>="a"&&n<="z"||n>="A"&&n<="Z"||n==="_"||n==="$"||n>="0"&&n<="9"}var $n=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,yn=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function Rn(n){return`,[]/{}
|
|
5
|
+
+`.includes(n)}function _n(n){return S(n)||Co.test(n)}var Co=/^[[{\w-]$/;function an(n){return n===`
|
|
6
|
+
`||n==="\r"||n==="\t"||n==="\b"||n==="\f"}function Q(n,f){let o=n.charCodeAt(f);return o===32||o===10||o===9||o===13}function zn(n,f){let o=n.charCodeAt(f);return o===32||o===9||o===13}function nf(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 S(n){return En(n)||i(n)}function En(n){return n==='"'||n==="“"||n==="”"}function Hn(n){return n==='"'}function i(n){return n==="'"||n==="‘"||n==="’"||n==="`"||n==="´"}function qn(n){return n==="'"}function C(n,f){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,d=n.lastIndexOf(f);return d!==-1?n.substring(0,d)+(o?"":n.substring(d+1)):n}function A(n,f){let o=n.length;if(!Q(n,o-1))return n+f;while(Q(n,o-1))o--;return n.substring(0,o)+f+n.substring(o)}function ff(n,f,o){return n.substring(0,f)+n.substring(f+o)}function of(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(k(["```","[```","{```"]),!y())pf();k(["```","```]","```}"]);let $=K(",");if($)E();if(_n(n[f])&&of(o)){if(!$)o=A(o,",");Sf()}else if($)o=C(o,",");while(n[f]==="}"||n[f]==="]")f++,E();if(f>=n.length)return o;vf();function y(){E();let _=cf()||hf()||T()||l()||uf()||Pn(!1)||xf();return E(),_}function E(){let _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,q=f,U=I(_);do if(U=G(),U)U=I(_);while(U);return f>q}function I(_){let q=_?Q:zn,U="";while(!0)if(q(n,f))U+=n[f],f++;else if(nf(n,f))U+=" ",f++;else break;if(U.length>0)return o+=U,!0;return!1}function G(){if(n[f]==="/"&&n[f+1]==="*"){while(f<n.length&&!co(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 k(_){if(u(_)){if(wn(n[f]))while(f<n.length&&dn(n[f]))f++;return E(),!0}return!1}function u(_){I(!0);for(let q of _){let U=f+q.length;if(n.slice(f,U)===q)return f=U,!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 Of(){return s("\\")}function Gn(){if(E(),n[f]==="."&&n[f+1]==="."&&n[f+2]===".")return f+=3,E(),s(","),!0;return!1}function cf(){if(n[f]==="{"){if(o+="{",f++,E(),s(","))E();let _=!0;while(f<n.length&&n[f]!=="}"){let q;if(!_){if(q=K(","),!q)o=A(o,",");E()}else q=!0,_=!1;if(Gn(),!(T()||Pn(!0))){if(n[f]==="}"||n[f]==="{"||n[f]==="]"||n[f]==="["||n[f]===void 0)o=C(o,",");else tf();break}E();let m=K(":"),W=f>=n.length;if(!m)if(_n(n[f])||W)o=A(o,":");else Xn();if(!y())if(m||W)o+="null";else Xn()}if(n[f]==="}")o+="}",f++;else o=A(o,"}");return!0}return!1}function hf(){if(n[f]==="["){if(o+="[",f++,E(),s(","))E();let _=!0;while(f<n.length&&n[f]!=="]"){if(!_){if(!K(","))o=A(o,",")}else _=!1;if(Gn(),!y()){o=C(o,",");break}}if(n[f]==="]")o+="]",f++;else o=A(o,"]");return!0}return!1}function Sf(){let _=!0,q=!0;while(q){if(!_){if(!K(","))o=A(o,",")}else _=!1;q=y()}if(!q)o=C(o,",");o=`[
|
|
9
9
|
${o}
|
|
10
|
-
]`}function
|
|
11
|
-
`)
|
|
10
|
+
]`}function T(){let _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,U=n[f]==="\\";if(U)f++,U=!0;if(S(n[f])){let m=Hn(n[f])?Hn:qn(n[f])?qn:i(n[f])?i:En,W=f,O=o.length,Y='"';f++;while(!0){if(f>=n.length){let D=Zn(f-1);if(!_&&h(n.charAt(D)))return f=W,o=o.substring(0,O),T(!0);return Y=A(Y,'"'),o+=Y,!0}if(f===q)return Y=A(Y,'"'),o+=Y,!0;if(m(n[f])){let D=f,z=Y.length;if(Y+='"',f++,o+=Y,E(!1),_||f>=n.length||h(n[f])||S(n[f])||V(n[f]))return An(),!0;let J=Zn(D-1),bn=n.charAt(J);if(bn===",")return f=W,o=o.substring(0,O),T(!1,J);if(h(bn))return f=W,o=o.substring(0,O),T(!0);o=o.substring(0,O),f=D+1,Y=`${Y.substring(0,z)}\\${Y.substring(z)}`}else if(_&&Rn(n[f])){if(n[f-1]===":"&&$n.test(n.substring(W+1,f+2)))while(f<n.length&&yn.test(n[f]))Y+=n[f],f++;return Y=A(Y,'"'),o+=Y,An(),!0}else if(n[f]==="\\"){let D=n.charAt(f+1);if(Oo[D]!==void 0)Y+=n.slice(f,f+2),f+=2;else if(D==="u"){let J=2;while(J<6&&tn(n[f+J]))J++;if(J===6)Y+=n.slice(f,f+6),f+=6;else if(f+J>=n.length)f=n.length;else ef()}else if(D===`
|
|
11
|
+
`)Y+="\\n",f+=2;else Y+=D,f+=2}else{let D=n.charAt(f);if(D==='"'&&n[f-1]!=="\\")Y+=`\\${D}`,f++;else if(an(D))Y+=Mo[D],f++;else{if(!en(D))mf(D);Y+=D,f++}}if(U)Of()}}return!1}function An(){let _=!1;E();while(n[f]==="+"){_=!0,f++,E(),o=C(o,'"',!0);let q=o.length;if(T())o=ff(o,q,1);else o=A(o,'"')}return _}function l(){let _=f;if(n[f]==="-"){if(f++,x())return a(_),!0;if(!V(n[f]))return f=_,!1}while(V(n[f]))f++;if(n[f]==="."){if(f++,x())return a(_),!0;if(!V(n[f]))return f=_,!1;while(V(n[f]))f++}if(n[f]==="e"||n[f]==="E"){if(f++,n[f]==="-"||n[f]==="+")f++;if(x())return a(_),!0;if(!V(n[f]))return f=_,!1;while(V(n[f]))f++}if(!x())return f=_,!1;if(f>_){let q=n.slice(_,f),U=/^0\d/.test(q);return o+=U?`"${q}"`:q,!0}return!1}function uf(){return N("true","true")||N("false","false")||N("null","null")||N("True","true")||N("False","false")||N("None","null")}function N(_,q){if(n.slice(f,f+_.length)===_)return o+=q,f+=_.length,!0;return!1}function Pn(_){let q=f;if(wn(n[f])){while(f<n.length&&dn(n[f]))f++;let U=f;while(Q(n,U))U++;if(n[U]==="("){if(f=U+1,y(),n[f]===")"){if(f++,n[f]===";")f++}return!0}}while(f<n.length&&!Rn(n[f])&&!S(n[f])&&(!_||n[f]!==":"))f++;if(n[f-1]===":"&&$n.test(n.substring(q,f+2)))while(f<n.length&&yn.test(n[f]))f++;if(f>q){while(Q(n,f-1)&&f>0)f--;let U=n.slice(q,f);if(o+=U==="undefined"?"null":JSON.stringify(U),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 Zn(_){let q=_;while(q>0&&Q(n,q))q--;return q}function x(){return f>=n.length||h(n[f])||Q(n,f)}function a(_){o+=`${n.slice(_,f)}0`}function mf(_){throw new B(`Invalid character ${JSON.stringify(_)}`,f)}function vf(){throw new B(`Unexpected character ${JSON.stringify(n[f])}`,f)}function pf(){throw new B("Unexpected end of json string",n.length)}function tf(){throw new B("Object key expected",f)}function Xn(){throw new B("Colon expected",f)}function ef(){let _=n.slice(f,f+6);throw new B(`Invalid unicode character "${_}"`,f)}}function co(n,f){return n[f]==="*"&&n[f+1]==="/"}var ho=/^\{\s*"([A-Za-z0-9_.$-]+)"\s*:\s*([\s\S]+?)\s*\}$/;function So(n){let f=n.match(ho);if(!f)return;let[,o,d]=f,$=d.trim();if(!$)return;let y=$[0];if(y==='"'||y==="{"||y==="["||$==="true"||$==="false"||$==="null"||Number.isFinite(Number($)))return;return JSON.parse(`{"${o}":${JSON.stringify($)}}`)}var uo=[(n)=>JSON.parse(n),(n)=>JSON.parse(kn(n)),So];function xo(n){if(typeof n!=="string")return n;let f=n.trimStart();if(f[0]!=="{"&&f[0]!=="[")return n;for(let o of uo)try{let d=o(f);if(d!==void 0)return d}catch{}return n}function mo(n){let f=new WeakSet;try{return JSON.stringify(n,(d,$)=>{if(typeof $==="bigint")return $.toString();if($&&typeof $==="object"){if(f.has($))return"[Circular]";f.add($)}return $})??"null"}catch{return String(n)}}function vo(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 d=n.split(f)?.shift()?.trim()?.slice(0,o-1);return d?`${d}…`:rf(n,o)}function zo(n){if(n.length<=8)return"****";return`${n.slice(0,4)}...${n.slice(-4)}`}function nr(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 fr(n){let f=Math.max(0,Math.floor(n/1000)),o=Math.floor(f/86400),d=Math.floor(f%86400/3600),$=Math.floor(f%3600/60),y=f%60;if(o>0)return`${o}d ${d}h`;if(d>0)return`${d}h ${$}m`;if($>0)return`${$}m ${y}s`;return`${y}s`}import{z as gf}from"zod";function or(n,f){let o=n.safeParse(f);if(!o.success)throw Error(gf.prettifyError(o.error));return o.data}function Un(n){return gf.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}}`,df=`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
|
-
${d}`}function
|
|
72
|
+
{{CLINE_METADATA}}`;var Fn="# Workspace Configuration";function $f(n,f,o){if(o?.trim()?.includes(Fn))return o.trim();let d=o||JSON.stringify({workspaces:{[n]:{hint:f||n.split("/").at(-1)||n}}},null,2);return`
|
|
73
|
+
${Fn}
|
|
74
|
+
${d}`}function rr(n){let{ide:f="Terminal Shell",mode:o,platform:d="unknown",workspaceName:$,metadata:y,rules:E,overridePrompt:I,providerId:G}=n,k=n.workspaceRoot??n.rootPath??"",u=G==="cline";if(I?.trim()){let s=I.trim();if(u&&y?.trim()&&!s.includes(Fn))return`${s}
|
|
75
75
|
|
|
76
|
-
${df(k,$,_)}`.trim();return b}return(o==="yolo"?wf:gf).replace("{{PLATFORM_NAME}}",d).replace("{{CWD}}",k).replace("{{CURRENT_DATE}}",new Date().toLocaleDateString()).replace("{{IDE_NAME}}",f).replace("{{CLINE_METADATA}}",u?df(k,$,_):"").replace("{{CLINE_RULES}}",R||"").trim()}var rr="remote://";import{z as g}from"zod";var $f=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()}),Ef=g.object({models:g.array($f).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()}),yf=g.object({name:g.string(),baseModelId:g.string(),thinkingBudgetTokens:g.number().optional()}),Rf=g.object({models:g.array(_f).optional(),customModels:g.array(yf).optional(),awsRegion:g.string().optional(),awsUseCrossRegionInference:g.boolean().optional(),awsUseGlobalInference:g.boolean().optional(),awsBedrockUsePromptCache:g.boolean().optional(),awsBedrockEndpoint:g.string().optional()}),Hf=g.object({id:g.string()}),qf=g.object({models:g.array(Hf).optional()}),kf=g.object({id:g.string(),thinkingBudgetTokens:g.number().optional()}),Uf=g.object({models:g.array(kf).optional(),vertexProjectId:g.string().optional(),vertexRegion:g.string().optional()}),Yf=g.object({id:g.string(),thinkingBudgetTokens:g.number().optional(),promptCachingEnabled:g.boolean().optional()}),Ff=g.object({models:g.array(Yf).optional(),baseUrl:g.string().optional()}),If=g.object({id:g.string(),thinkingBudgetTokens:g.number().optional()}),Lf=g.object({models:g.array(If).optional(),baseUrl:g.string().optional()}),gr=g.object({OpenAiCompatible:Ef.optional(),AwsBedrock:Rf.optional(),Cline:qf.optional(),Vertex:Uf.optional(),LiteLLM:Ff.optional(),Anthropic:Lf.optional()}),lf=g.object({id:g.string()}),sf=g.object({name:g.string(),url:g.string(),alwaysEnabled:g.boolean().optional(),headers:g.record(g.string(),g.string()).optional()}),Yn=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()}),Pf=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()}),Df=g.object({promptUploading:Pf.optional()}),wr=g.object({version:g.string(),providerSettings:gr.optional(),telemetryEnabled:g.boolean().optional(),kanbanEnabled:g.boolean().optional(),mcpMarketplaceEnabled:g.boolean().optional(),allowedMCPServers:g.array(lf).optional(),remoteMCPServers:g.array(sf).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:Df.optional(),globalRules:g.array(Yn).optional(),globalWorkflows:g.array(Yn).optional()}),dr=g.record(g.string(),g.string());var $r=4317;var Er="127.0.0.1:4317";import Fn from"zod";var _r=Fn.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth","popular"]),yr=Fn.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),Rr=Fn.enum(["anthropic","ai-sdk","ai-sdk-community","openai","openai-compatible","openai-r1","gemini","bedrock","custom","fetch","vertex"]);var Hr="runtime.team.progress.v1",qr="runtime.team.lifecycle.v1";var kr="CLINE_ENVIRONMENT",Ur="CLINE_ENVIRONMENT_OVERRIDE",In={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"}},Yr="production";function Gf(n){let f=n?.trim().toLowerCase();if(f==="production"||f==="staging"||f==="local")return f;return}function Fr(){if(typeof process>"u"||!process?.env)return{};return process.env}function Af(n={}){let f=n.env??Fr();return Gf(f.CLINE_ENVIRONMENT_OVERRIDE)??Gf(f.CLINE_ENVIRONMENT)??"production"}function Ir(n){if(typeof n==="string")return In[n];return In[Af(n)]}var Lr="sdk.error";function lr(n,f){if(!n)return;n.capture({event:f.event??"sdk.error",properties:Zf(f)})}function Zf(n){return{...n.context??{},component:n.component,operation:n.operation,severity:n.severity??"error",handled:n.handled??!0,...bf(n.error,n.messageLimit)}}function bf(n,f=500){let o=Dr(n)?n:void 0,d=n instanceof Error?n:void 0,$=d?.message??Xf(o?.message)??(typeof n==="string"?n:String(n)),_=Gr(o?.code),R=Ln(o?.status)??Ln(o?.statusCode)??Ln(o?.responseStatus);return{error_type:d?.name?.trim()||Xf(o?.name)||d?.constructor?.name||"Error",error_message:Pr(sr($),f),..._!==void 0?{error_code:_}:{},...R!==void 0?{error_status:R}:{}}}function sr(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 Pr(n,f){let o=Math.max(1,Math.floor(f));return n.length>o?n.substring(0,o):n}function Dr(n){return typeof n==="object"&&n!==null}function Xf(n){return typeof n==="string"&&n.trim().length>0?n:void 0}function Gr(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 Jf(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()),_=decodeURIComponent(o.substring(d+1).trim());if(!$||!_)return;f[$]=_})}catch{}return f}function Ar(){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?Jf(process.env.OTEL_EXPORTER_OTLP_HEADERS):void 0}}function Bf(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 Xr(n={}){return{...Ar(),...n,metadata:Bf(n.metadata)}}function Qf(n){let f=n?.trim();return f?f:void 0}function Zr(n,f){if(!n)return;let o=typeof n==="function"?n(f):n;if(!o)return;let d=Qf(o.rootSessionId);if(!d)return;return{rootSessionId:d}}function br(n){return Qf(n?.rootSessionId)}var Jr=(n)=>crypto.getRandomValues(new Uint8Array(n)),Br=(n,f,o)=>{let d=256-256%n.length;if(d===256){let _=n.length-1;return(R=f)=>{if(!R)return"";let F="";while(!0){let P=o(R),k=R;while(k--)if(F+=n[P[k]&_],F.length>=R)return F}}}let $=Math.ceil(409.6*f/d);return(_=f)=>{if(!_)return"";let R="";while(!0){let F=o($),P=$;while(P--)if(F[P]<d){if(R+=n[F[P]%n.length],R.length>=_)return R}}}},Vf=(n,f=21)=>Br(n,f|0,Jr);function Qr(n="",f=""){let o=Vf("1234567890abcdefghijklmnopqrstuvwxyz",10);return`${n}${Date.now()}_${o(5)}${f}`}var Vr=["idle","running","pending","completed","failed","cancelled"];var ln=["rules","skills","workflows","plugins"],Wf=ln,Wr=new Set(ln);function jf(n){return typeof n==="string"&&Wr.has(n)}function jr(n){if(!Array.isArray(n))return;let f=n.map((o)=>typeof o==="string"?o.trim():"").filter(jf);return[...new Set(f)]}function Tr(n,f){return new Set(n??Wf).has(f)}import{z as A}from"zod";var Kr=A.object({rootPath:A.string().min(1),hint:A.string().min(1).optional(),associatedRemoteUrls:A.array(A.string().min(1)).optional(),latestGitCommitHash:A.string().min(1).optional(),latestGitBranchName:A.string().min(1).optional()}),Nr=A.object({currentWorkspacePath:A.string().min(1).optional(),workspaces:A.record(A.string().min(1),Kr)});function Uw(){return{workspaces:{}}}function Yw(n,f){let o={...n,workspaces:{...n.workspaces,[f.rootPath]:f}};if(!o.currentWorkspacePath)o.currentWorkspacePath=f.rootPath;return Nr.parse(o)}import{z as r}from"zod";var Cr=["current_state","boundary_analysis","interface_proposal"],Lw=3600000,lw=240,sw=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"]),Mr=r.object({agentId:r.string(),role:r.enum(["lead","teammate"]),description:r.string().optional(),status:r.enum(["idle","running","stopped"])}),Pw=r.object({agentId:r.string(),rolePrompt:r.string(),modelId:r.string().optional(),maxIterations:r.number().optional()});function I(n){return r.preprocess((f)=>f===null?void 0:f,n.optional())}var Dw=r.object({agentId:r.string().min(1).describe("Teammate identifier"),rolePrompt:r.string().min(1).describe("System prompt describing teammate role")}).strict(),Gw=r.object({agentId:r.string().min(1).describe("Teammate identifier"),reason:I(r.string().min(1)).describe("Optional shutdown reason")}),Aw=r.object({}),Or={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]},Xw={create:["status","taskId","summary","reason"]},Zw=r.object({action:r.enum(["create","list","claim","complete","block"]),title:I(r.string().min(1)).describe("Task title"),description:I(r.string().min(1)).describe("Task details"),dependsOn:I(r.array(r.string().describe("Dependency task ID"))).describe("Array of dependency task IDs"),assignee:I(r.string().min(1)).describe("Optional assignee"),status:I(r.enum(["pending","in_progress","blocked","completed"])).describe("Optional task status filter"),taskId:I(r.string()).describe("Task ID"),summary:I(r.string().min(1)).describe("Completion summary"),reason:I(r.string().min(1)).describe("Blocking reason")}).superRefine((n,f)=>{for(let o of Or[n.action]){if(n[o]!==void 0)continue;f.addIssue({code:"custom",path:[o],message:`Field "${o}" is required when action=${n.action}`})}}),bw=r.object({agentId:r.string().describe("Teammate agent ID"),task:r.string().min(1).describe("Task instructions for the teammate"),taskId:I(r.string()).describe("Optional shared task list ID"),runMode:I(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:I(r.boolean()).describe("If true, continue the teammate conversation; otherwise start fresh")}),Jw=r.object({status:I(r.enum(["queued","running","completed","failed","cancelled","interrupted"])).describe("Optional run status filter. Omit to include all statuses."),agentId:I(r.string().min(1)).describe("Optional teammate ID filter. Omit to include all teammates."),includeCompleted:I(r.boolean()).describe("Include completed/failed runs (default true)")}),Bw=r.object({runId:r.string().min(1).describe("Run ID"),reason:I(r.string().min(1)).describe("Optional cancellation reason")}),Qw=r.object({runId:I(r.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),Vw=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:I(r.string().min(1)).describe("Optional task ID context")}),Ww=r.object({subject:r.string().min(1).describe("Message subject"),body:r.string().min(1).describe("Message body"),taskId:I(r.string().min(1)).describe("Optional task ID context")}),jw=r.object({unreadOnly:I(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:I(r.string().min(1)).describe("Optional task ID context"),evidence:I(r.array(r.string().min(1))).describe("Optional evidence links/snippets"),nextAction:I(r.string().min(1)).describe("Planned next step")}),Kw=r.object({}),Nw=r.object({title:r.string().describe("Outcome title"),requiredSections:r.array(r.string()).default(Cr).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),Cw=r.object({outcomeId:r.string().describe("Outcome ID"),section:r.string().describe("Section name"),sourceRunId:I(r.string()).describe("Optional source run ID"),content:r.string().describe("Section fragment content")}),Mw=r.object({fragmentId:r.string().describe("Fragment ID"),approved:r.boolean().describe("Review decision")}),Ow=r.object({outcomeId:r.string().describe("Outcome ID")}),cw=r.object({}),hw=r.object({teamId:r.string(),teamName:r.string(),members:r.array(Mr),taskCounts:r.record(M,r.number()),unreadMessages:r.number(),missionLogEntries:r.number(),activeRuns:r.number(),queuedRuns:r.number(),outcomeCounts:r.record(e,r.number())}),cr=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())}),Sw=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(cr)}),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})]),uw=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()}),hr=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()})}),xw=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:hr.optional()}),mw=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()}),vw=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()}),pw=r.object({outcomeId:r.string(),status:e,requiredSections:r.array(r.string())}),iw=r.object({agentId:r.string(),status:r.string()}),tw=r.object({runId:r.string(),status:Tf}),ew=r.object({id:r.string(),toAgentId:r.string()}),aw=r.object({delivered:r.number()}),zw=r.object({id:r.string()}),nd=r.object({status:r.string()}),fd=r.object({fragmentId:r.string(),status:r.string()}),od=r.object({outcomeId:r.string(),status:e});var Sr;((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"})(Sr||={});import{z as ur}from"zod";function xr(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((F)=>F&&typeof F==="object"&&F.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((R)=>R&&typeof R==="object"&&R.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 mr(n){let f=xr(n.inputSchema instanceof ur.ZodType?kn(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 Kf=["cline","oca","openai-codex"];function Nf(n){return Kf.includes(n)}var Cf=["401","403","unauthorized","forbidden","invalid token","expired token","authentication"];function vr(n,f){if(!Nf(f))return!1;let o=n instanceof Error?n.message.toLowerCase():String(n);return Cf.some((d)=>o.includes(d))}export{kn as zodToJsonSchema,un as xmlTagsRemoval,fr as validateWithZod,Yw as upsertWorkspaceInfo,of as truncateStr,eo as truncateSplit,mn as toAiSdkToolResultOutput,jo as serializeAbortReason,G as sanitizeSurrogates,to as sanitizeFileName,xo as safeJsonStringify,mo as safeJsonParse,br as resolveRootSessionId,vn as resolveReasoningEffortRatio,Vo as resolveReasoningBudgetFromRatio,kg as resolveHubCommandTimeoutMs,Zr as resolveHookSessionContext,Qo as resolveEffectiveReasoningEffort,Af as resolveClineEnvironment,hn as parseUserCommandEnvelope,jr as parseRuntimeConfigExtensions,uo as parseJsonStream,Lo as parseHookEventPayload,Sn as normalizeUserInput,bf as normalizeSdkError,Mn as normalizePluginManifest,Ko as noopBasicLogger,ao as maskSecret,jf as isRuntimeConfigExtensionKind,Nf as isOAuthProviderId,vr as isLikelyAuthError,Ug as isHubToolExecutorName,Tr as hasRuntimeConfigExtension,io as getShellArgs,po as getDefaultShell,lo as getDefaultHubCommandTimeoutMs,Ir as getClineEnvironmentConfig,Do as formatUserInputBlock,Go as formatUserCommandBlock,nr as formatUptime,Jo as formatMessagesForAiSdk,zo as formatHumanReadableDate,on as formatFileContentBlock,Zo as formatDisplayUserInput,To as estimateTokens,Uw as emptyWorkspaceManifest,mr as createTool,Qr as createSessionId,_o as createContributionRegistry,Bf as createClineTelemetryServiceMetadata,Xr as createClineTelemetryServiceConfig,lr as captureSdkError,Zf as buildSdkErrorProperties,or as buildClineSystemPrompt,Nr as WorkspaceManifestSchema,Kr as WorkspaceInfoSchema,Uf as VertexSettingsSchema,kf as VertexModelSchema,nn as ToolCallRecordSchema,Qn as ThinkingConfigSchema,Pw as TeamTeammateSpecSchema,Sw as TeamTaskToolResultSchema,cr as TeamTaskListItemToolResultSchema,Zw as TeamTaskInputSchema,hw as TeamStatusToolResultSchema,Aw as TeamStatusInputSchema,Dw as TeamSpawnTeammateInputSchema,iw as TeamSimpleAgentStatusToolResultSchema,Gw as TeamShutdownTeammateInputSchema,ew as TeamSendMessageToolResultSchema,Vw as TeamSendMessageInputSchema,xw as TeamRunToolSummarySchema,uw as TeamRunTaskToolResultSchema,bw as TeamRunTaskInputSchema,hr as TeamRunResultSummarySchema,Mw as TeamReviewOutcomeFragmentInputSchema,jw as TeamReadMailboxInputSchema,vw as TeamOutcomeToolResultSchema,fd as TeamOutcomeFragmentToolResultSchema,zw as TeamMissionLogToolResultSchema,Tw as TeamMissionLogInputSchema,Sr as TeamMessageType,mw as TeamMailboxMessageToolResultSchema,Jw as TeamListRunsInputSchema,cw as TeamListOutcomesInputSchema,od as TeamFinalizeOutcomeToolResultSchema,Ow as TeamFinalizeOutcomeInputSchema,pw as TeamCreateOutcomeToolResultSchema,Nw as TeamCreateOutcomeInputSchema,nd as TeamCleanupToolResultSchema,Kw as TeamCleanupInputSchema,tw as TeamCancelRunToolResultSchema,Bw as TeamCancelRunInputSchema,aw as TeamBroadcastToolResultSchema,Ww as TeamBroadcastInputSchema,Qw as TeamAwaitRunsInputSchema,Cw as TeamAttachOutcomeFragmentInputSchema,Xw as TEAM_TASK_IGNORED_FIELDS_BY_ACTION,sw as TEAM_RUN_TEXT_PREVIEW_LIMIT,lw as TEAM_RUN_MESSAGE_PREVIEW_LIMIT,Hr as TEAM_PROGRESS_EVENT_TYPE,qr as TEAM_LIFECYCLE_EVENT_TYPE,Lw as TEAM_AWAIT_TIMEOUT_MS,Vr as SESSION_STATUS_VALUES,Lr as SDK_ERROR_TELEMETRY_EVENT,t as S3AccessKeySettingsSchema,sf as RemoteMCPServerSchema,wr as RemoteConfigSchema,no as ReasoningEffortSchema,ln as RUNTIME_CONFIG_EXTENSION_KINDS,rr as REMOTE_URI_SCHEME,c as REASONING_EFFORT_RATIOS,yr as ProviderProtocolSchema,Rr as ProviderClientSchema,_r as ProviderCapabilitySchema,Pf as PromptUploadingSchema,yo as PLUGIN_FILE_EXTENSIONS,Ef as OpenAiCompatibleSchema,$f as OpenAiCompatibleModelSchema,Kf as OAUTH_PROVIDER_IDS,Jn as ModelStatusSchema,Bn as ModelPricingSchema,Vn as ModelMetadataSchema,v as ModelInfoSchema,bn as ModelCapabilitySchema,Ff as LiteLLMSchema,Yf as LiteLLMModelSchema,cn as HookEventPayloadSchema,On as HookEventNameSchema,Pg as HUB_USER_INSTRUCTIONS_SNAPSHOT_CAPABILITY,so as HUB_TOOL_EXECUTOR_NAMES,Yg as HUB_TOOL_EXECUTOR_CAPABILITY_PREFIX,sg as HUB_MISTAKE_LIMIT_CAPABILITY,Ig as HUB_HOOK_CAPABILITY_PREFIX,Hg as HUB_DEFAULT_COMMAND_TIMEOUT_MS,Fg as HUB_CUSTOM_TOOL_CAPABILITY_PREFIX,Lg as HUB_COMPACTION_CAPABILITY,qg as HUB_COMMAND_SLOW_LOG_MS,lg as HUB_CHECKPOINT_CAPABILITY,Yn as GlobalInstructionsFileSchema,Df as EnterpriseTelemetrySchema,Wf as DEFAULT_RUNTIME_CONFIG_EXTENSIONS,Wo as DEFAULT_REQUEST_HEADERS,Bo as DEFAULT_REASONING_EFFORT,Cr as DEFAULT_OUTCOME_REQUIRED_SECTIONS,Yr as DEFAULT_CLINE_ENVIRONMENT,fn as ContributionRegistry,ro as ConnectorHookEventSchema,Wn as ConnectorHookEventNameSchema,Tn as ConnectorEventContextSchema,jn as ConnectorEventActorSchema,fo as ConnectorAuthorizationRequestSchema,oo as ConnectorAuthorizationDecisionSchema,qf as ClineSettingsSchema,Hf as ClineModelSchema,Ur as CLINE_ENVIRONMENT_OVERRIDE_ENV,kr as CLINE_ENVIRONMENT_ENV,In as CLINE_ENVIRONMENTS,$r as CLINE_DEFAULT_RPC_PORT,Er as CLINE_DEFAULT_RPC_ADDRESS,Rf as AwsBedrockSettingsSchema,_f as AwsBedrockModelSchema,yf as AwsBedrockCustomModelSchema,Zn as ApiFormatSchema,ef as ApiFormat,Lf as AnthropicSchema,If as AnthropicModelSchema,lf as AllowedMCPServerSchema,zf as AgentUsageSchema,fg as AgentResultSchema,af as AgentFinishReasonSchema,og as AgentConfigSchema,Cf as AUTH_ERROR_PATTERNS,dr as APIKeySchema};
|
|
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};
|
package/dist/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export type { AgentAbortHookPayload, AgentEndHookPayload, AgentErrorHookPayload,
|
|
|
15
15
|
export { HookEventNameSchema, HookEventPayloadSchema, parseHookEventPayload, } from "./hooks/events";
|
|
16
16
|
export * from "./hub";
|
|
17
17
|
export type { AiSdkFormatterMessage, AiSdkFormatterMessageRole, AiSdkFormatterPart, AiSdkMessage, AiSdkMessagePart, } from "./llms/ai-sdk-format";
|
|
18
|
-
export { formatMessagesForAiSdk, sanitizeSurrogates, toAiSdkToolResultOutput, } from "./llms/ai-sdk-format";
|
|
18
|
+
export { EMPTY_CONTENT_TEXT, formatMessagesForAiSdk, sanitizeSurrogates, toAiSdkToolResultOutput, } from "./llms/ai-sdk-format";
|
|
19
19
|
export type * from "./llms/gateway";
|
|
20
20
|
export type { ContentBlock, FileContent, ImageContent, Message, MessageRole, MessageWithMetadata, RedactedThinkingContent, TextContent, ThinkingContent, ToolDefinition, ToolResultContent, ToolUseContent, } from "./llms/messages";
|
|
21
21
|
export { ApiFormat, ApiFormatSchema, type ModelCapability, ModelCapabilitySchema, type ModelInfo, ModelInfoSchema, type ModelMetadata, ModelMetadataSchema, type ModelPricing, ModelPricingSchema, type ModelStatus, ModelStatusSchema, type ThinkingConfig, ThinkingConfigSchema, } from "./llms/model-info";
|