@cline/shared 0.0.66 → 0.0.67

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.
@@ -1,15 +1,15 @@
1
- import{z as I}from"zod";import{z as y}from"zod";var _f=y.enum(["default","openai-responses","r1"]),u4={DEFAULT:"default",OPENAI_RESPONSES:"openai-responses",R1:"r1"},wf=y.enum(["images","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),Bf=y.enum(["active","preview","deprecated","legacy"]),df=y.object({input:y.number().optional(),output:y.number().optional(),cacheWrite:y.number().optional(),cacheRead:y.number().optional()}),Af=y.object({maxBudget:y.number().optional(),outputPrice:y.number().optional(),thinkingLevel:y.enum(["low","high"]).optional()}),If=y.object({reasoningDefaultOn:y.boolean().optional()}).catchall(y.unknown()),An=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(wf).optional(),apiFormat:_f.optional(),systemRole:y.enum(["system","developer"]).optional(),temperature:y.number().optional(),pricing:df.optional(),thinkingConfig:Af.optional(),status:Bf.optional(),deprecationNotice:y.string().optional(),replacedBy:y.string().optional(),releaseDate:y.string().optional(),deprecationDate:y.string().optional(),family:y.string().optional(),metadata:If.optional()});import{z as W}from"zod";var qn=W.object({id:W.string(),name:W.string(),input:W.unknown(),output:W.unknown(),error:W.string().optional(),durationMs:W.number(),startedAt:W.date(),endedAt:W.date()});var m4=I.enum(["completed","max_iterations","aborted","mistake_limit","error"]),l4=I.object({inputTokens:I.number(),outputTokens:I.number(),cacheReadTokens:I.number().optional(),cacheWriteTokens:I.number().optional(),totalCost:I.number().optional()}),N0=I.object({text:I.string(),usage:l4,messages:I.array(I.custom()),toolCalls:I.array(qn),iterations:I.number(),finishReason:m4,model:I.object({id:I.string(),provider:I.string(),info:An.optional()}),startedAt:I.date(),endedAt:I.date(),durationMs:I.number()}),x4=I.enum(["low","medium","high","xhigh"]),C0=I.object({sessionId:I.string().optional(),providerId:I.string(),modelId:I.string(),apiKey:I.string().optional(),baseUrl:I.string().url().optional(),headers:I.record(I.string(),I.string()).optional(),knownModels:I.record(I.string(),An).optional(),providerConfig:I.unknown().optional(),initialMessages:I.array(I.custom()).optional(),systemPrompt:I.string(),tools:I.array(I.custom()),maxIterations:I.number().positive().optional(),maxParallelToolCalls:I.number().int().positive().default(8),maxTokensPerTurn:I.number().positive().optional(),temperature:I.number().nonnegative().optional(),apiTimeoutMs:I.number().positive().default(180000),userFileContentLoader:I.function().input([I.string()]).output(I.promise(I.string())).optional(),toolContextMetadata:I.record(I.string(),I.unknown()).optional(),execution:I.object({maxConsecutiveMistakes:I.number().int().positive().optional(),reminderAfterIterations:I.number().nonnegative().optional(),reminderText:I.string().optional(),loopDetection:I.union([I.literal(!1),I.object({softThreshold:I.number().int().positive().optional(),hardThreshold:I.number().int().positive().optional()})]).optional()}).optional(),reasoningEffort:x4.optional(),thinkingBudgetTokens:I.number().positive().optional(),thinking:I.boolean().optional(),onEvent:I.function().input([I.custom()]).output(I.void()).optional(),hooks:I.custom().optional(),parentAgentId:I.string().optional(),extensions:I.array(I.custom()).optional(),hookErrorMode:I.enum(["ignore","throw"]).default("ignore"),toolPolicies:I.record(I.string(),I.object({enabled:I.boolean().optional(),autoApprove:I.boolean().optional()})).optional(),requestToolApproval:I.function().input([I.object({sessionId:I.string(),agentId:I.string(),conversationId:I.string(),iteration:I.number(),toolCallId:I.string(),toolName:I.string(),input:I.unknown(),policy:I.object({enabled:I.boolean().optional(),autoApprove:I.boolean().optional()}).default({})})]).output(I.union([I.object({approved:I.boolean(),reason:I.string().optional()}),I.promise(I.object({approved:I.boolean(),reason:I.string().optional()}))])).optional(),onConsecutiveMistakeLimitReached:I.function().input([I.object({iteration:I.number().int().positive(),consecutiveMistakes:I.number().int().positive(),maxConsecutiveMistakes:I.number().int().positive(),reason:I.enum(["api_error","invalid_tool_call","tool_execution_failed"]),details:I.string().optional()})]).output(I.union([I.object({action:I.literal("continue"),guidance:I.string().optional()}),I.object({action:I.literal("stop"),reason:I.string().optional()}),I.promise(I.union([I.object({action:I.literal("continue"),guidance:I.string().optional()}),I.object({action:I.literal("stop"),reason:I.string().optional()})]))])).optional(),logger:I.custom().optional(),extensionContext:I.custom().optional(),abortSignal:I.custom().optional()});import{z as q}from"zod";var $f=q.enum(["connector.started","connector.stopping","session.authorize","message.received","message.denied","message.completed","message.failed","session.started","session.reused","session.reset","schedule.delivery.started","schedule.delivery.sent","schedule.delivery.failed"]),Ef=q.object({id:q.string().optional(),label:q.string().optional(),role:q.string().optional(),participantKey:q.string().optional(),participantLabel:q.string().optional(),platformUserId:q.string().optional(),metadata:q.record(q.string(),q.unknown()).optional()}),Rf=q.object({source:q.string(),sourceEvent:q.string(),threadId:q.string(),channelId:q.string(),isDM:q.boolean(),sessionId:q.string().optional(),workspaceRoot:q.string().optional(),metadata:q.record(q.string(),q.unknown()).optional()}),s4=q.object({actor:Ef,context:Rf,payload:q.record(q.string(),q.unknown()).optional()}),r4=q.object({action:q.enum(["allow","deny"]).default("allow"),message:q.string().optional(),reason:q.string().optional(),metadata:q.record(q.string(),q.unknown()).optional()}),z4=q.object({adapter:q.string(),botUserName:q.string().optional(),event:$f,payload:q.record(q.string(),q.unknown()),ts:q.string()});var Df=[{name:"discord",description:"Discord interactions and gateway bridge backed by RPC runtime sessions"},{name:"gchat",description:"Google Chat webhook bridge backed by RPC runtime sessions"},{name:"linear",description:"Linear webhook bridge backed by RPC runtime sessions"},{name:"slack",description:"Slack webhook/socket bridge backed by RPC runtime sessions"},{name:"telegram",description:"Bridge Telegram bot messages into RPC chat sessions"},{name:"whatsapp",description:"Bridge WhatsApp webhook messages into RPC chat sessions"}];function Yf(){return Df.map((n)=>({...n}))}function p4(n,f){let _=n.includeWhen;if(!_)return!0;let B=f[_.flag]??"";if(_.equals!==void 0&&B!==_.equals)return!1;if(_.notEquals!==void 0&&B===_.notEquals)return!1;return!0}function i4(n=Mf){let f=new Set(Yf().map((_)=>_.name));return n.filter((_)=>f.has(_.id)).map((_)=>({id:_.id,name:_.name,type:_.type,hint:_.hint,fields:_.fields.map((B)=>({flag:B.flag,label:B.label,placeholder:B.placeholder,required:B.required,help:B.help,initialValue:B.initialValue,options:B.options,includeWhen:B.includeWhen})),security:_.security?{prompt:_.security.prompt,fields:_.security.fields.map((B)=>({key:B.key,label:B.label,placeholder:B.placeholder,help:B.help,requiredMessage:B.requiredMessage}))}:void 0}))}function a4(n){return/^\d+$/.test(n)?void 0:"Telegram user ID must contain digits only"}function e4(n){return/^T[A-Z0-9]+$/.test(n)?void 0:"Slack workspace ID must start with T and contain uppercase letters or digits only"}function t4(n){return/^[UW][A-Z0-9]+$/.test(n)?void 0:"Slack member ID must start with U or W and contain uppercase letters or digits only"}var Mf=[{id:"telegram",name:"Telegram",type:"polling",hint:"Easiest to set up. No public URL needed.",derivedReconnectFlags:["-m","--bot-username"],fields:[{flag:"-k",aliases:["--bot-token"],label:"Bot token",placeholder:"7123456789:AAH...",required:!0,help:["Open Telegram and start a chat with @BotFather","Send /newbot and follow the prompts","BotFather gives you this after creating the bot","It looks like 7123456789:AAHxxx..."]}],security:{prompt:"By default, anyone who finds your bot can message it and run tasks on your machine. Restrict access to your Telegram user ID?",fields:[{key:"userId",label:"Your Telegram user ID",placeholder:"123456789",help:["Message @userinfobot on Telegram","It will reply with your numeric user ID"],requiredMessage:"User ID is required to restrict access",validate:a4}],argumentFlags:["--allowed-user-id","--hook-command"],buildArgs:({userId:n})=>["--allowed-user-id",n??""]}},{id:"slack",name:"Slack",type:"hybrid",hint:"Public URL for webhook mode; leave blank for socket mode.",fields:[{flag:"--bot-token",label:"Bot token",placeholder:"xoxb-...",required:!0,help:["Go to api.slack.com/apps and create a new app","Add Bot Token Scopes: chat:write, app_mentions:read, channels:history, channels:read, im:history, im:read, im:write, users:read","Install to workspace and copy the Bot Token"]},{flag:"--base-url",label:"Public base URL",placeholder:"leave blank for socket mode",help:["Enter a publicly accessible URL for webhook mode","Leave blank to use Slack socket mode instead"]},{flag:"--signing-secret",label:"Signing secret",required:!0,help:["Found in your app's Basic Information page"],includeWhen:{flag:"--base-url",notEquals:""}},{flag:"--app-token",label:"App-level token",placeholder:"xapp-...",required:!0,help:["Enable Socket Mode in the Slack app","Generate an app-level token with the connections:write scope"],includeWhen:{flag:"--base-url",equals:""}}],security:{prompt:"Restrict which Slack users can interact with the bot?",fields:[{key:"teamId",label:"Allowed Slack workspace ID",placeholder:"T01ABC123",help:["Open your Slack workspace URL in a browser","The workspace ID is the segment after /client/, for example T01ABC123"],requiredMessage:"Workspace ID is required to restrict access",validate:e4},{key:"userId",label:"Allowed Slack member ID",placeholder:"U01ABC123",help:["Click a user's name in Slack, then View full profile","Click ... and Copy member ID"],requiredMessage:"Member ID is required to restrict access",validate:t4}],argumentFlags:["--hook-command"],buildArgs:({teamId:n,userId:f})=>["--hook-command",`jq -r ".payload.actor.participantKey" | grep -qx "slack:team:${n}:user:${f}" && echo '{"action":"allow"}' || echo '{"action":"deny"}'`]}},{id:"discord",name:"Discord",type:"webhook",hint:"Requires a Discord app and public URL.",fields:[{flag:"--application-id",aliases:["--app-id"],label:"Application ID",required:!0,help:["Go to discord.com/developers/applications","Create a new app, copy the Application ID"]},{flag:"--bot-token",aliases:["--token"],label:"Bot token",required:!0,help:["Go to Bot section, create a bot, copy the token"]},{flag:"--public-key",label:"Public key",required:!0,help:["Found in General Information of your app"]},{flag:"--base-url",label:"Public base URL",placeholder:"https://example.com",required:!0,help:["Base URL for the connector","For Discord, set the Interactions Endpoint URL to <base-url>/api/webhooks/discord"]}]},{id:"whatsapp",name:"WhatsApp",type:"webhook",hint:"Requires Meta developer account and public URL.",fields:[{flag:"--phone-number-id",label:"Phone number ID",required:!0,help:["From your WhatsApp Business account in Meta Developer portal"]},{flag:"--access-token",label:"Access token",required:!0,help:["Generate a permanent token in Meta Developer portal"]},{flag:"--app-secret",label:"App secret",required:!0,help:["Found in App Settings > Basic"]},{flag:"--verify-token",label:"Webhook verify token",placeholder:"my-verify-token",required:!0,help:["Any string you choose, used to verify webhook setup"]},{flag:"--base-url",label:"Public base URL",placeholder:"https://example.com",required:!0}]},{id:"gchat",name:"Google Chat",type:"webhook",hint:"Requires Google Cloud project and public URL.",fields:[{flag:"--credentials-json",label:"Service account credentials JSON",required:!0,help:["Create a service account in Google Cloud Console","Download the credentials JSON file","Paste the JSON content here"]},{flag:"--base-url",label:"Public base URL",placeholder:"https://example.com",required:!0}]},{id:"linear",name:"Linear",type:"webhook",hint:"React to Linear issues and comments.",fields:[{flag:"--api-key",label:"API key",required:!0,help:["Go to Linear Settings > API > Personal API keys"]},{flag:"--webhook-secret",label:"Webhook signing secret",required:!0,help:["Go to Settings > API > Webhooks, create one","Copy the signing secret"]},{flag:"--base-url",label:"Public base URL",placeholder:"https://example.com",required:!0}]}];var n6=["hooks","tools","commands","rules","skills","messageBuilders","providers","automationEvents","mcp"],f6=new Set(n6);function kf(n,f){return n.name||`extension_${String(f).padStart(4,"0")}`}function Gf(n){return Array.isArray(n)&&n.every((f)=>typeof f==="string")}function Xf(n){if(!Array.isArray(n))return;let f=n.filter((_)=>typeof _==="string").map((_)=>_.trim()).filter((_)=>_.length>0);return f.length>0?f:void 0}function qf(n){let f=Xf(n.providerIds),_=Xf(n.modelIds);return{...n,...f?{providerIds:f}:{},..._?{modelIds:_}:{}}}function _6(n,f){let _=kf(n,f),B=n.manifest;if(!B||typeof B!=="object")throw Error(`Invalid manifest for extension "${_}": manifest is required`);if(!Array.isArray(B.capabilities)||B.capabilities.length===0)throw Error(`Invalid manifest for extension "${_}": capabilities must be a non-empty array`);let d=new Set;for(let D of B.capabilities){if(!f6.has(D))throw Error(`Invalid manifest for extension "${_}": unsupported capability "${String(D)}"`);d.add(D)}if(Object.hasOwn(B,"providerIds")&&!Gf(B.providerIds))throw Error(`Invalid manifest for extension "${_}": providerIds must be a string array when provided`);if(Object.hasOwn(B,"modelIds")&&!Gf(B.modelIds))throw Error(`Invalid manifest for extension "${_}": modelIds must be a string array when provided`);let E=d.has("hooks");if(n.hooks!==void 0&&!E)throw Error(`Invalid manifest for extension "${_}": runtime hooks require the "hooks" capability`);return{capabilities:d,raw:qf(B)}}function w6(n,f){if(!n||typeof n!=="object")throw Error(`Invalid automation event contribution for extension "${f}": expected object`);let _=typeof n.eventType==="string"?n.eventType.trim():"",B=typeof n.source==="string"?n.source.trim():"";if(!_)throw Error(`Invalid automation event contribution for extension "${f}": eventType is required`);if(!B)throw Error(`Invalid automation event contribution for extension "${f}": source is required`);return{...n,eventType:_,source:B,examples:n.examples?[...n.examples]:void 0,metadata:n.metadata?{...n.metadata}:void 0}}class Zn{extensions;registry={tools:[],commands:[],rules:[],messageBuilder:[],providers:[],automationEventTypes:[],mcpServers:[]};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:_6(n.extension,n.order)})),this.phase="setup"}async setup(n={}){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();if(this.phase!=="setup")return;let f,_=[];for(let B of this.normalized){let{extension:d}=B;if(d.disabled)continue;let E=kf(d,B.order),$={tools:[],commands:[],rules:[],messageBuilder:[],providers:[],automationEventTypes:[],mcpServers:[]},D={registerTool:(Y)=>$.tools.push(Y),registerCommand:(Y)=>$.commands.push(Y),registerRule:(Y)=>{if(!B.manifest.capabilities.has("rules"))throw Error(`Invalid setup for extension "${E}": registerRule requires the "rules" capability`);$.rules.push(Y)},registerMessageBuilder:(Y)=>$.messageBuilder.push(Y),registerProvider:(Y)=>$.providers.push(Y),registerAutomationEventType:(Y)=>{if(!B.manifest.capabilities.has("automationEvents"))throw Error(`Invalid setup for extension "${E}": registerAutomationEventType requires the "automationEvents" capability`);$.automationEventTypes.push(w6(Y,E))},registerMcpServer:(Y)=>{if(!B.manifest.capabilities.has("mcp"))throw Error(`Invalid setup for extension "${E}": registerMcpServer requires the "mcp" capability`);$.mcpServers.push({...Y,metadata:{...Y.metadata??{},source:"plugin",plugin:E}})}},X=B.manifest.capabilities.has("automationEvents")?this.setupContext:{...this.setupContext,automation:void 0};try{await d.setup?.(D,X),_.push($)}catch(Y){if(n.tolerateSetupErrors!==!0)throw Y;f??=Y}}if(f&&n.tolerateSetupErrors!==!0)throw f;for(let B of _)this.registry.tools.push(...B.tools),this.registry.commands.push(...B.commands),this.registry.rules.push(...B.rules),this.registry.messageBuilder.push(...B.messageBuilder),this.registry.providers.push(...B.providers),this.registry.automationEventTypes.push(...B.automationEventTypes),this.registry.mcpServers.push(...B.mcpServers);if(this.phase="activate",f)throw f}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(n={}){this.resolve(),this.validate();try{await this.setup(n)}finally{if(this.phase==="activate")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],mcpServers:[...this.registry.mcpServers]}}getRegisteredTools(){return[...this.registry.tools]}getRegisteredRules(){return[...this.registry.rules]}getRegisteredAutomationEventTypes(){return[...this.registry.automationEventTypes]}getRegisteredMcpServers(){return[...this.registry.mcpServers]}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 B6(n={}){return new Zn(n)}var d6=[".js",".ts"];var Zf={CLINE_PASS:"ext-cline-pass"},A6={[Zf.CLINE_PASS]:!1},I6=Object.values(Zf);import{z as R}from"zod";var yf=R.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),c=R.record(R.string(),R.string()),$6=R.object({toolName:R.string(),parameters:c}),E6=R.object({toolName:R.string(),parameters:c,result:R.string(),success:R.boolean(),executionTimeMs:R.number()}),R6=R.object({prompt:R.string(),attachments:R.array(R.string())}),D6=R.object({taskMetadata:c}),Y6=R.object({taskMetadata:c,previousState:c}),M6=R.object({taskMetadata:c}),G6=R.object({taskMetadata:c}),X6=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()}),Hf=R.object({clineVersion:R.string(),hookName:yf,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:$6.optional(),postToolUse:E6.optional(),userPromptSubmit:R6.optional(),taskStart:D6.optional(),taskResume:Y6.optional(),taskCancel:M6.optional(),taskComplete:G6.optional(),preCompact:X6.optional()}).passthrough();function k6(n){let f=Hf.safeParse(n);if(!f.success)return;return f.data}var p0="v1",i0="v1",a0="v1",e0=["client.register","client.list","session.create","session.list","session.get","session.run","session.abort","schedule.create","schedule.list","settings.get","settings.set"];function In(n){let f=/^v(\d+)$/.exec(n?.trim()??"");if(!f)return;return Number.parseInt(f[1]??"",10)}function t0(n,f="v1"){let _=In(n.protocolVersion),B=In(f);if(_===void 0||B===void 0)return{compatible:!1,reason:"missing_protocol"};let d=In(n.minClientProtocolVersion)??_,E=In(n.maxClientProtocolVersion)??_;return B>=d&&B<=E?{compatible:!0}:{compatible:!1,reason:"unsupported_protocol"}}var n1="0",f1="__hubScheduleRunAt",bf=["act","plan","yolo"];function q6(n){return bf.some((f)=>f===n)}function _1(n,f){if(!n||!Object.hasOwn(n,"mode"))return f;let _=n.mode;if(q6(_))return _;throw Error(`mode must be one of: ${bf.join(", ")}`)}var Z6=30000,w1=5000;function y6(n){switch(n){case"run.start":case"session.send_input":return null;default:return Z6}}function B1(n,f){return f===void 0?y6(n):f}var H6=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],b6=new Set(H6);function d1(n){return typeof n==="string"&&b6.has(n)}var A1="tool_executor.",I1="custom_tool.",$1="hook.",E1="compaction.compact",R1="checkpoint.create",D1="mistake_limit.decide",Y1="user_instructions.snapshot";function yn(n,f){return`<file_content path="${n}">
1
+ import{z as E}from"zod";import{z as Z}from"zod";import{z as V}from"zod";var En=["none","minimal","low","medium","high","xhigh","max"],kn=V.enum(En),An=kn.exclude(["none"]),s4=V.enum([...En,"default"]).nullable(),Hn=V.discriminatedUnion("type",[V.object({type:V.literal("toggle")}).strict(),V.object({type:V.literal("effort"),values:V.array(s4)}).strict(),V.object({type:V.literal("budget_tokens"),min:V.number().min(-1).optional(),max:V.number().min(0).optional()}).strict().refine((n)=>n.min===void 0||n.max===void 0||n.min<=n.max,{message:"Minimum reasoning budget cannot exceed maximum",path:["min"]})]);var Ef=Z.enum(["default","openai-responses","r1"]),z4={DEFAULT:"default",OPENAI_RESPONSES:"openai-responses",R1:"r1"},Af=Z.enum(["images","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),If=Z.enum(["active","preview","deprecated","legacy"]),$f=Z.object({input:Z.number().optional(),output:Z.number().optional(),cacheWrite:Z.number().optional(),cacheRead:Z.number().optional()}),Df=Z.object({maxBudget:Z.number().optional(),outputPrice:Z.number().optional(),thinkingLevel:Z.enum(["low","high"]).optional()}),Yf=Z.object({reasoningDefaultOn:Z.boolean().optional()}).catchall(Z.unknown()),In=Z.object({id:Z.string(),name:Z.string().optional(),description:Z.string().optional(),maxTokens:Z.number().optional(),contextWindow:Z.number().optional(),maxInputTokens:Z.number().optional(),capabilities:Z.array(Af).optional(),reasoningOptions:Z.array(Hn).optional(),apiFormat:Ef.optional(),systemRole:Z.enum(["system","developer"]).optional(),temperature:Z.number().optional(),pricing:$f.optional(),thinkingConfig:Df.optional(),status:If.optional(),deprecationNotice:Z.string().optional(),replacedBy:Z.string().optional(),releaseDate:Z.string().optional(),deprecationDate:Z.string().optional(),family:Z.string().optional(),metadata:Yf.optional()});import{z as O}from"zod";var Ln=O.object({id:O.string(),name:O.string(),input:O.unknown(),output:O.unknown(),error:O.string().optional(),durationMs:O.number(),startedAt:O.date(),endedAt:O.date()});var p4=E.enum(["completed","max_iterations","aborted","mistake_limit","error"]),i4=E.object({inputTokens:E.number(),outputTokens:E.number(),cacheReadTokens:E.number().optional(),cacheWriteTokens:E.number().optional(),totalCost:E.number().optional()}),s0=E.object({text:E.string(),usage:i4,messages:E.array(E.custom()),toolCalls:E.array(Ln),iterations:E.number(),finishReason:p4,model:E.object({id:E.string(),provider:E.string(),info:In.optional()}),startedAt:E.date(),endedAt:E.date(),durationMs:E.number()}),z0=E.object({sessionId:E.string().optional(),providerId:E.string(),modelId:E.string(),apiKey:E.string().optional(),baseUrl:E.string().url().optional(),headers:E.record(E.string(),E.string()).optional(),knownModels:E.record(E.string(),In).optional(),providerConfig:E.unknown().optional(),initialMessages:E.array(E.custom()).optional(),systemPrompt:E.string(),tools:E.array(E.custom()),maxIterations:E.number().positive().optional(),maxParallelToolCalls:E.number().int().positive().default(8),maxTokensPerTurn:E.number().positive().optional(),temperature:E.number().nonnegative().optional(),apiTimeoutMs:E.number().positive().default(180000),userFileContentLoader:E.function().input([E.string()]).output(E.promise(E.string())).optional(),toolContextMetadata:E.record(E.string(),E.unknown()).optional(),execution:E.object({maxConsecutiveMistakes:E.number().int().positive().optional(),reminderAfterIterations:E.number().nonnegative().optional(),reminderText:E.string().optional(),loopDetection:E.union([E.literal(!1),E.object({softThreshold:E.number().int().positive().optional(),hardThreshold:E.number().int().positive().optional()})]).optional()}).optional(),reasoningEffort:An.optional(),thinkingBudgetTokens:E.number().positive().optional(),thinking:E.boolean().optional(),onEvent:E.function().input([E.custom()]).output(E.void()).optional(),hooks:E.custom().optional(),parentAgentId:E.string().optional(),extensions:E.array(E.custom()).optional(),hookErrorMode:E.enum(["ignore","throw"]).default("ignore"),toolPolicies:E.record(E.string(),E.object({enabled:E.boolean().optional(),autoApprove:E.boolean().optional()})).optional(),requestToolApproval:E.function().input([E.object({sessionId:E.string(),agentId:E.string(),conversationId:E.string(),iteration:E.number(),toolCallId:E.string(),toolName:E.string(),input:E.unknown(),policy:E.object({enabled:E.boolean().optional(),autoApprove:E.boolean().optional()}).default({})})]).output(E.union([E.object({approved:E.boolean(),reason:E.string().optional()}),E.promise(E.object({approved:E.boolean(),reason:E.string().optional()}))])).optional(),onConsecutiveMistakeLimitReached:E.function().input([E.object({iteration:E.number().int().positive(),consecutiveMistakes:E.number().int().positive(),maxConsecutiveMistakes:E.number().int().positive(),reason:E.enum(["api_error","invalid_tool_call","tool_execution_failed"]),details:E.string().optional()})]).output(E.union([E.object({action:E.literal("continue"),guidance:E.string().optional()}),E.object({action:E.literal("stop"),reason:E.string().optional()}),E.promise(E.union([E.object({action:E.literal("continue"),guidance:E.string().optional()}),E.object({action:E.literal("stop"),reason:E.string().optional()})]))])).optional(),logger:E.custom().optional(),extensionContext:E.custom().optional(),abortSignal:E.custom().optional()});import{z as b}from"zod";var Mf=b.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"]),Gf=b.object({id:b.string().optional(),label:b.string().optional(),role:b.string().optional(),participantKey:b.string().optional(),participantLabel:b.string().optional(),platformUserId:b.string().optional(),metadata:b.record(b.string(),b.unknown()).optional()}),yf=b.object({source:b.string(),sourceEvent:b.string(),threadId:b.string(),channelId:b.string(),isDM:b.boolean(),sessionId:b.string().optional(),workspaceRoot:b.string().optional(),metadata:b.record(b.string(),b.unknown()).optional()}),a4=b.object({actor:Gf,context:yf,payload:b.record(b.string(),b.unknown()).optional()}),e4=b.object({action:b.enum(["allow","deny"]).default("allow"),message:b.string().optional(),reason:b.string().optional(),metadata:b.record(b.string(),b.unknown()).optional()}),t4=b.object({adapter:b.string(),botUserName:b.string().optional(),event:Mf,payload:b.record(b.string(),b.unknown()),ts:b.string()});var Xf=[{name:"discord",description:"Discord interactions and gateway bridge backed by RPC runtime sessions"},{name:"gchat",description:"Google Chat webhook bridge backed by RPC runtime sessions"},{name:"linear",description:"Linear webhook bridge backed by RPC runtime sessions"},{name:"slack",description:"Slack webhook/socket bridge backed by RPC runtime sessions"},{name:"telegram",description:"Bridge Telegram bot messages into RPC chat sessions"},{name:"whatsapp",description:"Bridge WhatsApp webhook messages into RPC chat sessions"}];function bf(){return Xf.map((n)=>({...n}))}function n6(n,f){let _=n.includeWhen;if(!_)return!0;let w=f[_.flag]??"";if(_.equals!==void 0&&w!==_.equals)return!1;if(_.notEquals!==void 0&&w===_.notEquals)return!1;return!0}function f6(n=qf){let f=new Set(bf().map((_)=>_.name));return n.filter((_)=>f.has(_.id)).map((_)=>({id:_.id,name:_.name,type:_.type,hint:_.hint,fields:_.fields.map((w)=>({flag:w.flag,label:w.label,placeholder:w.placeholder,required:w.required,help:w.help,initialValue:w.initialValue,options:w.options,includeWhen:w.includeWhen})),security:_.security?{prompt:_.security.prompt,fields:_.security.fields.map((w)=>({key:w.key,label:w.label,placeholder:w.placeholder,help:w.help,requiredMessage:w.requiredMessage}))}:void 0}))}function _6(n){return/^\d+$/.test(n)?void 0:"Telegram user ID must contain digits only"}function d6(n){return/^T[A-Z0-9]+$/.test(n)?void 0:"Slack workspace ID must start with T and contain uppercase letters or digits only"}function w6(n){return/^[UW][A-Z0-9]+$/.test(n)?void 0:"Slack member ID must start with U or W and contain uppercase letters or digits only"}var qf=[{id:"telegram",name:"Telegram",type:"polling",hint:"Easiest to set up. No public URL needed.",derivedReconnectFlags:["-m","--bot-username"],fields:[{flag:"-k",aliases:["--bot-token"],label:"Bot token",placeholder:"7123456789:AAH...",required:!0,help:["Open Telegram and start a chat with @BotFather","Send /newbot and follow the prompts","BotFather gives you this after creating the bot","It looks like 7123456789:AAHxxx..."]}],security:{prompt:"By default, anyone who finds your bot can message it and run tasks on your machine. Restrict access to your Telegram user ID?",fields:[{key:"userId",label:"Your Telegram user ID",placeholder:"123456789",help:["Message @userinfobot on Telegram","It will reply with your numeric user ID"],requiredMessage:"User ID is required to restrict access",validate:_6}],argumentFlags:["--allowed-user-id","--hook-command"],buildArgs:({userId:n})=>["--allowed-user-id",n??""]}},{id:"slack",name:"Slack",type:"hybrid",hint:"Public URL for webhook mode; leave blank for socket mode.",fields:[{flag:"--bot-token",label:"Bot token",placeholder:"xoxb-...",required:!0,help:["Go to api.slack.com/apps and create a new app","Add Bot Token Scopes: chat:write, app_mentions:read, channels:history, channels:read, im:history, im:read, im:write, users:read","Install to workspace and copy the Bot Token"]},{flag:"--base-url",label:"Public base URL",placeholder:"leave blank for socket mode",help:["Enter a publicly accessible URL for webhook mode","Leave blank to use Slack socket mode instead"]},{flag:"--signing-secret",label:"Signing secret",required:!0,help:["Found in your app's Basic Information page"],includeWhen:{flag:"--base-url",notEquals:""}},{flag:"--app-token",label:"App-level token",placeholder:"xapp-...",required:!0,help:["Enable Socket Mode in the Slack app","Generate an app-level token with the connections:write scope"],includeWhen:{flag:"--base-url",equals:""}}],security:{prompt:"Restrict which Slack users can interact with the bot?",fields:[{key:"teamId",label:"Allowed Slack workspace ID",placeholder:"T01ABC123",help:["Open your Slack workspace URL in a browser","The workspace ID is the segment after /client/, for example T01ABC123"],requiredMessage:"Workspace ID is required to restrict access",validate:d6},{key:"userId",label:"Allowed Slack member ID",placeholder:"U01ABC123",help:["Click a user's name in Slack, then View full profile","Click ... and Copy member ID"],requiredMessage:"Member ID is required to restrict access",validate:w6}],argumentFlags:["--hook-command"],buildArgs:({teamId:n,userId:f})=>["--hook-command",`jq -r ".payload.actor.participantKey" | grep -qx "slack:team:${n}:user:${f}" && echo '{"action":"allow"}' || echo '{"action":"deny"}'`]}},{id:"discord",name:"Discord",type:"webhook",hint:"Requires a Discord app and public URL.",fields:[{flag:"--application-id",aliases:["--app-id"],label:"Application ID",required:!0,help:["Go to discord.com/developers/applications","Create a new app, copy the Application ID"]},{flag:"--bot-token",aliases:["--token"],label:"Bot token",required:!0,help:["Go to Bot section, create a bot, copy the token"]},{flag:"--public-key",label:"Public key",required:!0,help:["Found in General Information of your app"]},{flag:"--base-url",label:"Public base URL",placeholder:"https://example.com",required:!0,help:["Base URL for the connector","For Discord, set the Interactions Endpoint URL to <base-url>/api/webhooks/discord"]}]},{id:"whatsapp",name:"WhatsApp",type:"webhook",hint:"Requires Meta developer account and public URL.",fields:[{flag:"--phone-number-id",label:"Phone number ID",required:!0,help:["From your WhatsApp Business account in Meta Developer portal"]},{flag:"--access-token",label:"Access token",required:!0,help:["Generate a permanent token in Meta Developer portal"]},{flag:"--app-secret",label:"App secret",required:!0,help:["Found in App Settings > Basic"]},{flag:"--verify-token",label:"Webhook verify token",placeholder:"my-verify-token",required:!0,help:["Any string you choose, used to verify webhook setup"]},{flag:"--base-url",label:"Public base URL",placeholder:"https://example.com",required:!0}]},{id:"gchat",name:"Google Chat",type:"webhook",hint:"Requires Google Cloud project and public URL.",fields:[{flag:"--credentials-json",label:"Service account credentials JSON",required:!0,help:["Create a service account in Google Cloud Console","Download the credentials JSON file","Paste the JSON content here"]},{flag:"--base-url",label:"Public base URL",placeholder:"https://example.com",required:!0}]},{id:"linear",name:"Linear",type:"webhook",hint:"React to Linear issues and comments.",fields:[{flag:"--api-key",label:"API key",required:!0,help:["Go to Linear Settings > API > Personal API keys"]},{flag:"--webhook-secret",label:"Webhook signing secret",required:!0,help:["Go to Settings > API > Webhooks, create one","Copy the signing secret"]},{flag:"--base-url",label:"Public base URL",placeholder:"https://example.com",required:!0}]}];var B6=["hooks","tools","commands","rules","skills","messageBuilders","providers","automationEvents","mcp"],R6=new Set(B6);function Hf(n,f){return n.name||`extension_${String(f).padStart(4,"0")}`}function Zf(n){return Array.isArray(n)&&n.every((f)=>typeof f==="string")}function kf(n){if(!Array.isArray(n))return;let f=n.filter((_)=>typeof _==="string").map((_)=>_.trim()).filter((_)=>_.length>0);return f.length>0?f:void 0}function Lf(n){let f=kf(n.providerIds),_=kf(n.modelIds);return{...n,...f?{providerIds:f}:{},..._?{modelIds:_}:{}}}function E6(n,f){let _=Hf(n,f),w=n.manifest;if(!w||typeof w!=="object")throw Error(`Invalid manifest for extension "${_}": manifest is required`);if(!Array.isArray(w.capabilities)||w.capabilities.length===0)throw Error(`Invalid manifest for extension "${_}": capabilities must be a non-empty array`);let B=new Set;for(let D of w.capabilities){if(!R6.has(D))throw Error(`Invalid manifest for extension "${_}": unsupported capability "${String(D)}"`);B.add(D)}if(Object.hasOwn(w,"providerIds")&&!Zf(w.providerIds))throw Error(`Invalid manifest for extension "${_}": providerIds must be a string array when provided`);if(Object.hasOwn(w,"modelIds")&&!Zf(w.modelIds))throw Error(`Invalid manifest for extension "${_}": modelIds must be a string array when provided`);let I=B.has("hooks");if(n.hooks!==void 0&&!I)throw Error(`Invalid manifest for extension "${_}": runtime hooks require the "hooks" capability`);return{capabilities:B,raw:Lf(w)}}function A6(n,f){if(!n||typeof n!=="object")throw Error(`Invalid automation event contribution for extension "${f}": expected object`);let _=typeof n.eventType==="string"?n.eventType.trim():"",w=typeof n.source==="string"?n.source.trim():"";if(!_)throw Error(`Invalid automation event contribution for extension "${f}": eventType is required`);if(!w)throw Error(`Invalid automation event contribution for extension "${f}": source is required`);return{...n,eventType:_,source:w,examples:n.examples?[...n.examples]:void 0,metadata:n.metadata?{...n.metadata}:void 0}}class Jn{extensions;registry={tools:[],commands:[],rules:[],messageBuilder:[],providers:[],automationEventTypes:[],mcpServers:[]};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:E6(n.extension,n.order)})),this.phase="setup"}async setup(n={}){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();if(this.phase!=="setup")return;let f,_=[];for(let w of this.normalized){let{extension:B}=w;if(B.disabled)continue;let I=Hf(B,w.order),A={tools:[],commands:[],rules:[],messageBuilder:[],providers:[],automationEventTypes:[],mcpServers:[]},D={registerTool:(Y)=>A.tools.push(Y),registerCommand:(Y)=>A.commands.push(Y),registerRule:(Y)=>{if(!w.manifest.capabilities.has("rules"))throw Error(`Invalid setup for extension "${I}": registerRule requires the "rules" capability`);A.rules.push(Y)},registerMessageBuilder:(Y)=>A.messageBuilder.push(Y),registerProvider:(Y)=>A.providers.push(Y),registerAutomationEventType:(Y)=>{if(!w.manifest.capabilities.has("automationEvents"))throw Error(`Invalid setup for extension "${I}": registerAutomationEventType requires the "automationEvents" capability`);A.automationEventTypes.push(A6(Y,I))},registerMcpServer:(Y)=>{if(!w.manifest.capabilities.has("mcp"))throw Error(`Invalid setup for extension "${I}": registerMcpServer requires the "mcp" capability`);A.mcpServers.push({...Y,metadata:{...Y.metadata??{},source:"plugin",plugin:I}})}},y=w.manifest.capabilities.has("automationEvents")?this.setupContext:{...this.setupContext,automation:void 0};try{await B.setup?.(D,y),_.push(A)}catch(Y){if(n.tolerateSetupErrors!==!0)throw Y;f??=Y}}if(f&&n.tolerateSetupErrors!==!0)throw f;for(let w of _)this.registry.tools.push(...w.tools),this.registry.commands.push(...w.commands),this.registry.rules.push(...w.rules),this.registry.messageBuilder.push(...w.messageBuilder),this.registry.providers.push(...w.providers),this.registry.automationEventTypes.push(...w.automationEventTypes),this.registry.mcpServers.push(...w.mcpServers);if(this.phase="activate",f)throw f}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(n={}){this.resolve(),this.validate();try{await this.setup(n)}finally{if(this.phase==="activate")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],mcpServers:[...this.registry.mcpServers]}}getRegisteredTools(){return[...this.registry.tools]}getRegisteredRules(){return[...this.registry.rules]}getRegisteredAutomationEventTypes(){return[...this.registry.automationEventTypes]}getRegisteredMcpServers(){return[...this.registry.mcpServers]}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 I6(n={}){return new Jn(n)}var $6=[".js",".ts"];var Jf={CLINE_PASS:"ext-cline-pass"},D6={[Jf.CLINE_PASS]:!1},Y6=Object.values(Jf);import{z as $}from"zod";var of=$.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),h=$.record($.string(),$.string()),M6=$.object({toolName:$.string(),parameters:h}),G6=$.object({toolName:$.string(),parameters:h,result:$.string(),success:$.boolean(),executionTimeMs:$.number()}),y6=$.object({prompt:$.string(),attachments:$.array($.string())}),X6=$.object({taskMetadata:h}),b6=$.object({taskMetadata:h,previousState:h}),q6=$.object({taskMetadata:h}),Z6=$.object({taskMetadata:h}),k6=$.object({taskId:$.string(),ulid:$.string(),contextSize:$.number(),compactionStrategy:$.string(),previousApiReqIndex:$.number(),tokensIn:$.number(),tokensOut:$.number(),tokensInCache:$.number(),tokensOutCache:$.number(),deletedRangeStart:$.number(),deletedRangeEnd:$.number(),contextJsonPath:$.string(),contextRawPath:$.string()}),Kf=$.object({clineVersion:$.string(),hookName:of,timestamp:$.string(),taskId:$.string(),sessionContext:$.object({rootSessionId:$.string().optional(),hookLogPath:$.string().optional()}).optional(),workspaceRoots:$.array($.string()),workspaceInfo:$.custom().optional(),userId:$.string(),agent_id:$.string(),parent_agent_id:$.string().nullable(),iteration:$.number().optional(),reason:$.string().optional(),tool_call:$.object({id:$.string(),name:$.string(),input:$.unknown()}).optional(),tool_result:$.custom().optional(),turn:$.unknown().optional(),error:$.object({name:$.string(),message:$.string(),stack:$.string().optional()}).optional(),preToolUse:M6.optional(),postToolUse:G6.optional(),userPromptSubmit:y6.optional(),taskStart:X6.optional(),taskResume:b6.optional(),taskCancel:q6.optional(),taskComplete:Z6.optional(),preCompact:k6.optional()}).passthrough();function H6(n){let f=Kf.safeParse(n);if(!f.success)return;return f.data}var E1="v1",A1="v1",I1="v1",$1=["client.register","client.list","session.create","session.list","session.get","session.run","session.abort","schedule.create","schedule.list","settings.get","settings.set"];function $n(n){let f=/^v(\d+)$/.exec(n?.trim()??"");if(!f)return;return Number.parseInt(f[1]??"",10)}function D1(n,f="v1"){let _=$n(n.protocolVersion),w=$n(f);if(_===void 0||w===void 0)return{compatible:!1,reason:"missing_protocol"};let B=$n(n.minClientProtocolVersion)??_,I=$n(n.maxClientProtocolVersion)??_;return w>=B&&w<=I?{compatible:!0}:{compatible:!1,reason:"unsupported_protocol"}}var Y1="0",M1="__hubScheduleRunAt",Tf=["act","plan","yolo"];function L6(n){return Tf.some((f)=>f===n)}function G1(n,f){if(!n||!Object.hasOwn(n,"mode"))return f;let _=n.mode;if(L6(_))return _;throw Error(`mode must be one of: ${Tf.join(", ")}`)}var J6=30000,y1=5000;function o6(n){switch(n){case"run.start":case"session.send_input":return null;default:return J6}}function X1(n,f){return f===void 0?o6(n):f}var K6=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],T6=new Set(K6);function b1(n){return typeof n==="string"&&T6.has(n)}var q1="tool_executor.",Z1="custom_tool.",k1="hook.",H1="compaction.compact",L1="checkpoint.create",J1="mistake_limit.decide",o1="user_instructions.snapshot";function on(n,f){return`<file_content path="${n}">
2
2
  ${f}
3
- </file_content>`}function T6(n,f="act"){return`<user_input mode="${f}">${n}</user_input>`}function J6(n,f){return`<user_command slash="${f}">${n}</user_command>`}function K6(n,f){return`<mode_notice>The user switched from ${n} mode to ${f} mode before sending this message.</mode_notice>`}function L6(){let n=null;return{record(f,_){if(f===_)return;if(n){n=n.from===_?null:{from:n.from,to:_};return}n={from:f,to:_}},consume(){let f=n;return n=null,f}}}function U6(n,f){let _=n.trim(),B=new RegExp(`^<${f}\\b([^>]*)>([\\s\\S]*?)<\\/${f}>$`,"i").exec(_);if(!B)return;return{attrs:B[1]??"",content:B[2]??""}}function V6(n,f){return new RegExp(`${f}="([^"]+)"`,"i").exec(n)?.[1]?.trim()||void 0}function Tf(n){if(!n?.trim())return;let f=U6(n,"user_command");if(!f)return;let _=V6(f.attrs,"slash");if(!_)return;return{slash:_,content:f.content.trim()}}function Jf(n){if(!n?.trim())return"";let f=n.trim();for(let _ of["user_input","user_command"]){let B=Lf(f,_);f=(B!==f?B:f.replace(new RegExp(`<${_}[^>]*>`,"g"),"")).trim()}return f}function Kf(n){if(!n?.trim())return"";return F6(n,"mode_notice").trim()}function F6(n,f){let _=`<${f}>`,B=`</${f}>`,d=n,E=d.indexOf(_);while(E!==-1){let $=d.indexOf(B,E+_.length);if($===-1)break;d=d.slice(0,E)+d.slice($+B.length),E=d.indexOf(_,E)}return d}function Q6(n){let f=Kf(Jf(n)),_=Tf(n);if(!_)return f;if(_.slash.toLowerCase()==="team"){let d=f.toLowerCase().startsWith("spawn a team of agents for the following task:")?f.slice(46).trim():f;return d?`/team ${d}`:"/team"}return f?`/${_.slash} ${f}`:`/${_.slash}`}function Lf(n,f){if(!n?.trim())return"";if(!f)return n;let _=new RegExp(`<${f}\\b[^>]*>([\\s\\S]*?)</${f}>`,"g");return n.replace(_,"$1")}var v="[media omitted: invalid or exceeds size limit]",En=["image/png","image/jpeg","image/gif","image/webp"],o6=5242880,C=5242880,h=6291456,P6=8388608;function j6(n){return n.length}function Uf(n){let f=n.endsWith("==")?2:n.endsWith("=")?1:0;return Math.floor(n.length*3/4)-f}function W6(n=5242880){return Math.floor(n*3/4)}function Hn(n){return Math.ceil(n/3)*4}function Vf(n={}){return{maxImageEncodedBytes:n.maxImageEncodedBytes??5242880,maxImageDecodedBytes:n.maxImageDecodedBytes??6291456,maxTotalMediaBytes:n.maxTotalMediaBytes??8388608}}function Rn(){return{totalEncodedBytes:0,keptImages:0,omittedImages:0,omittedReasons:{}}}function $n(n,f){n.omittedImages+=1,n.omittedReasons[f]=(n.omittedReasons[f]??0)+1}function t(n,f,_,B){let d=Vf(_);if(n>d.maxImageEncodedBytes){let E={ok:!1,reason:"encoded_limit",message:`Image media exceeds the ${d.maxImageEncodedBytes} byte encoded limit`};return $n(B,E.reason),E}if(f>d.maxImageDecodedBytes){let E={ok:!1,reason:"decoded_limit",message:`Image media exceeds the ${d.maxImageDecodedBytes} byte decoded limit`};return $n(B,E.reason),E}if(B.totalEncodedBytes+n>d.maxTotalMediaBytes){let E={ok:!1,reason:"total_limit",message:`Image media exceeds the ${d.maxTotalMediaBytes} byte total media limit`};return $n(B,E.reason),E}return B.totalEncodedBytes+=n,B.keptImages+=1,null}function Ff(n){return n>=65&&n<=90||n>=97&&n<=122||n>=48&&n<=57||n===43||n===47}function O6(n){return n.length>0&&Qf(n,0,n.length)}function Qf(n,f,_){let B=_-f;if(B%4!==0)return!1;let d=_;if(B>=2&&n.charCodeAt(_-2)===61&&n.charCodeAt(_-1)===61)d-=2;else if(B>=1&&n.charCodeAt(_-1)===61)d-=1;for(let E=f;E<d;E++)if(!Ff(n.charCodeAt(E)))return!1;for(let E=d;E<_;E++)if(n.charCodeAt(E)!==61)return!1;return!0}function g6(n,f,_){return _-f>=5&&(n.charCodeAt(f)|32)===100&&(n.charCodeAt(f+1)|32)===97&&(n.charCodeAt(f+2)|32)===116&&(n.charCodeAt(f+3)|32)===97&&n.charCodeAt(f+4)===58}function N6(n){let f=0,_=n.length;while(f<_&&/\s/.test(n[f]??""))f+=1;while(_>f&&/\s/.test(n[_-1]??""))_-=1;return{start:f,end:_}}function C6(n,f,_){if(!g6(n,f,_))return;let B=f+5,d=n.indexOf(",",B);if(d===-1||d>=_)return;if(d-B>128)return;let E=n.slice(B,d).toLowerCase(),$=";base64";if(!E.endsWith($))return;let D=E.slice(0,-$.length);if(!D||D.includes(";"))return;return{mediaType:D,base64Start:d+1,base64End:_}}function of(n,f,_={}){let B=_.maxEncodedBytes??5242880,d=_.maxDecodedBytes??6291456,E=new Set(_.supportedMediaTypes??En),$=n?.toLowerCase(),D=N6(f),X=D.start,Y=D.end,k=C6(f,D.start,D.end);if(k){if($&&$!==k.mediaType)return{ok:!1,reason:"media_type_mismatch",message:`Image media type ${n} does not match data URL type ${k.mediaType}`};$=k.mediaType,X=k.base64Start,Y=k.base64End}if(!$||!E.has($))return{ok:!1,reason:"unsupported_media_type",message:`Unsupported image media type: ${n??"unknown"}`};let L=Y-X;if(L===0)return{ok:!1,reason:"invalid_base64",message:"Image media must contain valid base64"};if(L>B)return{ok:!1,reason:"encoded_limit",message:`Image media exceeds the ${B} byte encoded limit`};if(!Qf(f,X,Y))return{ok:!1,reason:"invalid_base64",message:"Image media must contain valid base64"};let U=f.slice(X,Y),K=Uf(U);if(K>d)return{ok:!1,reason:"decoded_limit",message:`Image media exceeds the ${d} byte decoded limit`};return{ok:!0,mediaType:$,base64:U,encodedBytes:L,decodedBytes:K}}function nn(n,f,_,B){let d=of(n,f,{maxEncodedBytes:_.maxImageEncodedBytes,maxDecodedBytes:_.maxImageDecodedBytes});if(!d.ok)return $n(B,d.reason),d;let E=t(d.encodedBytes,d.decodedBytes,_,B);if(E)return E;return d}function F(n){return n.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,"�")}var bn="ERROR: EMPTY CONTENT",S6="[image attached]";function Pf(n,f){let _=n[n.length-1];if(f.role==="tool"&&_?.role==="tool"&&Array.isArray(_.content)&&Array.isArray(f.content)){_.content.push(...f.content);return}n.push(f)}function c6(n){if(!Array.isArray(n)||n.length===0)return!1;return n.every((f)=>{if(!f||typeof f!=="object")return!1;let _=f;if(_.type==="text")return typeof _.text==="string";if(_.type==="image")return typeof _.data==="string"&&typeof _.mediaType==="string";return!1})}function u(){return{type:"text",text:v}}function jf(n){return t(C,0,{maxImageEncodedBytes:C,maxImageDecodedBytes:h},n)===null}function v6(n){try{return new URL(n).protocol}catch{return}}function Tn(n,f){let _=nn(n.mediaType,n.data,{maxImageEncodedBytes:C,maxImageDecodedBytes:h},f);if(!_.ok)return u();return{type:"image-data",data:_.base64,mediaType:_.mediaType}}function h6(n,f){if(n.image instanceof URL){if(n.image.protocol==="data:"){let $=nn(n.mediaType,n.image.href,{maxImageEncodedBytes:C,maxImageDecodedBytes:h},f);if(!$.ok)return u();return{type:"image",image:`data:${$.mediaType};base64,${$.base64}`,mediaType:$.mediaType}}if(n.image.protocol!=="http:"&&n.image.protocol!=="https:")return u();if(!jf(f))return u();return{type:"image",image:n.image,mediaType:n.mediaType}}if(typeof n.image==="string"){let $=v6(n.image);if($==="http:"||$==="https:"){if(!jf(f))return u();return{type:"image",image:n.image,mediaType:n.mediaType}}let D=$==="data:",X=nn(n.mediaType??(D?void 0:"image/png"),n.image,{maxImageEncodedBytes:C,maxImageDecodedBytes:h},f);if(!X.ok)return u();return{type:"image",image:D?`data:${X.mediaType};base64,${X.base64}`:X.base64,mediaType:X.mediaType}}let _=n.image.byteLength,B=Hn(_),d=n.mediaType?.toLowerCase()??"image/png";if(!En.includes(d)||t(B,_,{maxImageEncodedBytes:C,maxImageDecodedBytes:h},f))return u();return{type:"image",image:n.image,mediaType:d}}function Jn(n,f,_,B=!0){if(n==null||typeof n!=="object")return{value:n,changed:!1,mediaChanged:!1};if(Array.isArray(n)){let X=[],Y=!1,k=!1;for(let L of n){if(L&&typeof L==="object"){let K=L;if(K.type==="image"&&typeof K.data==="string"&&typeof K.mediaType==="string"){if(!B){X.push(v),Y=!0,k=!0;continue}let wn={type:"image",data:K.data,mediaType:K.mediaType},m=Tn(wn,_);if(m.type==="image-data")f.push({type:"image",data:m.data,mediaType:m.mediaType});else X.push(m.text);Y=!0,k=!0;continue}if(K.type==="image"){X.push(v),Y=!0,k=!0;continue}if(K.type==="text"&&typeof K.text==="string"){X.push(K.text),Y=!0;continue}}let U=Jn(L,f,_,B);X.push(U.value),Y||=U.changed,k||=U.mediaChanged}return{value:Y?X:n,changed:Y,mediaChanged:k}}let d=n;if(d.type==="image"){if(typeof d.data==="string"&&typeof d.mediaType==="string"){if(!B)return{value:v,changed:!0,mediaChanged:!0};let X={type:"image",data:d.data,mediaType:d.mediaType},Y=Tn(X,_);if(Y.type==="image-data")return f.push({type:"image",data:Y.data,mediaType:Y.mediaType}),{value:S6,changed:!0,mediaChanged:!0};return{value:Y.text,changed:!0,mediaChanged:!0}}return{value:v,changed:!0,mediaChanged:!0}}let E={},$=!1,D=!1;for(let[X,Y]of Object.entries(d)){let k=Jn(Y,f,_,B);E[X]=k.value,$||=k.changed,D||=k.mediaChanged}return{value:$?E:n,changed:$,mediaChanged:D}}function fn(n){if(typeof n==="string")return F(n);if(Array.isArray(n))return n.map((f)=>fn(f));if(n!==null&&typeof n==="object"){let f=n,_={};for(let[B,d]of Object.entries(f))_[B]=fn(d);return _}return n}function Wf(n,f=!1,_=Rn()){if(typeof n==="string")return{type:f?"error-text":"text",value:F(n)};if(!f&&c6(n))return{type:"content",value:n.map((B)=>B.type==="image"?Tn(B,_):{type:"text",text:F(B.text)})};if(n!==null&&typeof n==="object"){let B=[],d=Jn(n,B,_,!f);if(!f&&B.length>0)return{type:"content",value:[{type:"text",text:typeof d.value==="string"?F(d.value):JSON.stringify(fn(d.value))},...B.map(($)=>({type:"image-data",data:$.data,mediaType:$.mediaType}))]};if(d.mediaChanged)return{type:f?"error-json":"json",value:fn(d.value)}}if(n===null||typeof n==="boolean"||typeof n==="number"||typeof n==="object")return{type:f?"error-json":"json",value:fn(n)};return{type:f?"error-text":"text",value:F(String(n))}}function u6(n,f,_){let B=_?.assistantToolCallArgKey??"input",d=[],E=Rn();if(typeof n==="string"&&n.trim().length>0||Array.isArray(n)&&n.length>0)d.push({role:"system",content:typeof n==="string"?F(n):n});for(let $ of f){let D=$.content;if(typeof D==="string"){if(D.trim().length===0){d.push({role:$.role,content:[{type:"text",text:bn}]});continue}d.push({role:$.role,content:F(D)});continue}let X=[],Y=[];if(D.length===0){d.push({role:$.role,content:[{type:"text",text:bn}]});continue}for(let k of D)switch(k.type){case"text":X.push({type:"text",text:F(k.text),...k.providerOptions?{providerOptions:k.providerOptions}:{}});break;case"reasoning":X.push({type:"reasoning",text:F(k.text),...k.providerOptions?{providerOptions:k.providerOptions}:{}});break;case"image":X.push(h6(k,E));break;case"file":X.push({type:"text",text:yn(k.path,F(k.content))});break;case"tool-call":if($.role==="assistant")X.push({type:"tool-call",toolCallId:k.toolCallId,toolName:k.toolName,[B]:k.input,...k.providerOptions?{providerOptions:k.providerOptions}:{}});break;case"tool-result":{Y.push({type:"tool-result",toolCallId:k.toolCallId,toolName:k.toolName,output:Wf(k.output,k.isError??!1,E)});break}}if(X.length>0)Pf(d,{role:$.role,content:X});if(Y.length>0)Pf(d,{role:"tool",content:Y})}return d}var y1=["show","hide","subscription"];function Of(n){return typeof n==="object"&&n!==null&&!Array.isArray(n)}function m6(n,f){if(!n&&!f)return;let _=n?.metadata,B=f?.metadata,d={...n??{},...f??{}};if(Of(_)&&Of(B))d.metadata={..._,...B};return d}var _n={xhigh:0.95,high:0.8,medium:0.5,low:0.2,minimal:0.1,none:0},l6=void 0;function x6(n,f){if(typeof n==="string"&&n.toLowerCase()in _n)return n.toLowerCase();return f?void 0:void 0}function gf(n,f){let _=typeof n==="string"?n.toLowerCase():void 0;if(_&&_ in _n)return _n[_];if(f?.fallbackEffort)return _n[f.fallbackEffort];return}function s6(n){let f=gf(n.effort,{fallbackEffort:n.fallbackEffort});if(f===void 0)return;if(f<=0)return 0;let _=n.minimumBudget??1;if(n.maxBudget<_)return;let B=n.scaleTokens??n.maxBudget;return Math.min(Math.max(Math.floor(B*f),_),n.maxBudget)}function r6(n){return n instanceof Error?{name:n.name,message:n.message}:n}var z6=3;function Nf(n){return Math.max(1,Math.ceil(n/3))}function Kn(n){let f=new WeakSet;try{return JSON.stringify(n,(_,B)=>{if(typeof B==="bigint")return B.toString();if(typeof B!=="object"||B===null)return B;if(f.has(B))return"[Circular]";return f.add(B),B})??""}catch{return String(n??"")}}function p6(n){let f;try{f=JSON.stringify({systemPrompt:n.systemPrompt,messages:n.messages,tools:n.tools})}catch{f=[Kn(n.systemPrompt),Kn(n.messages),Kn(n.tools)].join(`
4
- `)}return Nf(f.length)}var i6={debug:()=>{},log:()=>{},error:()=>{}};class S extends Error{constructor(n,f){super(`${n} at position ${f}`);this.position=f}}function Cf(n){return/^[0-9A-Fa-f]$/.test(n)}function g(n){return n>="0"&&n<="9"}function Sf(n){return n>=" "}function z(n){return`,:[]/{}()
5
- +`.includes(n)}function Ln(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 Un=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Vn=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function Fn(n){return`,[]/{}
6
- +`.includes(n)}function Qn(n){return p(n)||a6.test(n)}var a6=/^[[{\w-]$/;function on(n){return n===`
7
- `||n==="\r"||n==="\t"||n==="\b"||n==="\f"}function O(n,f){let _=n.charCodeAt(f);return _===32||_===10||_===9||_===13}function cf(n,f){let _=n.charCodeAt(f);return _===32||_===9||_===13}function vf(n,f){let _=n.charCodeAt(f);return _===160||_===6158||_>=8192&&_<=8203||_===8239||_===8287||_===12288||_===65279}function p(n){return Pn(n)||Yn(n)}function Pn(n){return n==='"'||n==="“"||n==="”"}function jn(n){return n==='"'}function Yn(n){return n==="'"||n==="‘"||n==="’"||n==="`"||n==="´"}function Wn(n){return n==="'"}function i(n,f){let _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,B=n.lastIndexOf(f);return B!==-1?n.substring(0,B)+(_?"":n.substring(B+1)):n}function V(n,f){let _=n.length;if(!O(n,_-1))return n+f;while(O(n,_-1))_--;return n.substring(0,_)+f+n.substring(_)}function hf(n,f,_){return n.substring(0,f)+n.substring(f+_)}function uf(n){return/[,\n][ \t\r]*$/.test(n)}var e6={"&quot;":'"',"&amp;":"&","&lt;":"<","&gt;":">","&apos;":"'"},On=12;function gn(n){if(n.charAt(0)!=="&")return null;let f=n.indexOf(";");if(f===-1)return null;let _=n.substring(0,f+1),B=e6[_];if(B!==void 0)return{char:B,length:_.length};if(n.charAt(1)==="#"){let d=n.substring(2,f),E=d.charAt(0)==="x"||d.charAt(0)==="X",$=E?d.substring(1):d;if($.length>0){let D=Number.parseInt($,E?16:10);if(!Number.isNaN(D)&&D>=0&&D<=1114111)return{char:String.fromCodePoint(D),length:_.length}}}return null}function mf(n){return n!==null&&n.char==='"'}function lf(n){return n!==null&&n.char==="'"}function r(n,f){let _=0;for(let B=0;B<n.length;B++)if(n.charAt(B)===f)_++;return _}function xf(n,f){switch(f){case")":return r(n,"(")>r(n,")");case"]":return r(n,"[")>r(n,"]");case"}":return r(n,"{")>r(n,"}");default:return!1}}var sf={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},t6={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
8
- `,r:"\r",t:"\t"};function Nn(n){let f=0,_="";if(Y(["```","[```","{```"]),!E())c4();Y(["```","```]","```}"]);let d=L(",");if(d)$();if(Qn(n[f])&&uf(_)){if(!d)_=V(_,",");O4()}else if(d)_=i(_,",");while(n[f]==="}"||n[f]==="]")f++,$();if(f>=n.length)return _;Xn();function E(){$();let M=m()||W4()||l()||T()||g4()||pn(!1)||N4();return $(),M}function $(){let M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,G=f,Z=D(M);do if(Z=X(),Z)Z=D(M);while(Z);return f>G}function D(M){let G=M?O:cf,Z="";while(!0)if(G(n,f))Z+=n[f],f++;else if(vf(n,f))Z+=" ",f++;else break;if(Z.length>0)return _+=Z,!0;return!1}function X(){if(n[f]==="/"&&n[f+1]==="*"){while(f<n.length&&!n_(n,f))f++;return f+=2,!0}if(n[f]==="/"&&n[f+1]==="/"){while(f<n.length&&n[f]!==`
9
- `)f++;return!0}return!1}function Y(M){if(k(M)){if(Ln(n[f]))while(f<n.length&&Dn(n[f]))f++;return $(),!0}return!1}function k(M){D(!0);for(let G of M){let Z=f+G.length;if(n.slice(f,Z)===G)return f=Z,!0}return!1}function L(M){if(n[f]===M)return _+=n[f],f++,!0;return!1}function U(M){if(n[f]===M)return f++,!0;return!1}function K(){return U("\\")}function wn(){if($(),n[f]==="."&&n[f+1]==="."&&n[f+2]===".")return f+=3,$(),U(","),!0;return!1}function m(){if(n[f]==="{"){if(_+="{",f++,$(),U(","))$();let M=!0;while(f<n.length&&n[f]!=="}"){let G;if(!M){if(G=L(","),!G)_=V(_,",");$()}else G=!0;if(wn(),!(l()||pn(!0))){if(n[f]==="}"||n[f]==="{"||n[f]==="]"||n[f]==="["||n[f]===void 0){if(!M)_=i(_,",")}else v4();break}$();let P=L(":"),s=f>=n.length;if(!P)if(Qn(n[f])||s)_=V(_,":");else tn();if(!E())if(P||s)_+="null";else tn();M=!1}if(n[f]==="}")_+="}",f++;else _=V(_,"}");return!0}return!1}function W4(){if(n[f]==="["){if(_+="[",f++,$(),U(","))$();let M=!0;while(f<n.length&&n[f]!=="]"){if(!M){if(!L(","))_=V(_,",")}if(wn(),!E()){if(!M)_=i(_,",");break}M=!1}if(n[f]==="]")_+="]",f++;else _=V(_,"]");return!0}return!1}function O4(){let M=!0,G=!0;while(G){if(!M){if(!L(","))_=V(_,",")}else M=!1;G=E()}if(!G)_=i(_,",");_=`[
3
+ </file_content>`}function V6(n,f="act"){return`<user_input mode="${f}">${n}</user_input>`}function U6(n,f){return`<user_command slash="${f}">${n}</user_command>`}function F6(n,f){return`<mode_notice>The user switched from ${n} mode to ${f} mode before sending this message.</mode_notice>`}function Q6(){let n=null;return{record(f,_){if(f===_)return;if(n){n=n.from===_?null:{from:n.from,to:_};return}n={from:f,to:_}},consume(){let f=n;return n=null,f}}}function j6(n,f){let _=n.trim(),w=new RegExp(`^<${f}\\b([^>]*)>([\\s\\S]*?)<\\/${f}>$`,"i").exec(_);if(!w)return;return{attrs:w[1]??"",content:w[2]??""}}function P6(n,f){return new RegExp(`${f}="([^"]+)"`,"i").exec(n)?.[1]?.trim()||void 0}function Vf(n){if(!n?.trim())return;let f=j6(n,"user_command");if(!f)return;let _=P6(f.attrs,"slash");if(!_)return;return{slash:_,content:f.content.trim()}}function Uf(n){if(!n?.trim())return"";let f=n.trim();for(let _ of["user_input","user_command"]){let w=Qf(f,_);f=(w!==f?w:f.replace(new RegExp(`<${_}[^>]*>`,"g"),"")).trim()}return f}function Ff(n){if(!n?.trim())return"";return W6(n,"mode_notice").trim()}function W6(n,f){let _=`<${f}>`,w=`</${f}>`,B=n,I=B.indexOf(_);while(I!==-1){let A=B.indexOf(w,I+_.length);if(A===-1)break;B=B.slice(0,I)+B.slice(A+w.length),I=B.indexOf(_,I)}return B}function O6(n){let f=Ff(Uf(n)),_=Vf(n);if(!_)return f;if(_.slash.toLowerCase()==="team"){let B=f.toLowerCase().startsWith("spawn a team of agents for the following task:")?f.slice(46).trim():f;return B?`/team ${B}`:"/team"}return f?`/${_.slash} ${f}`:`/${_.slash}`}function Qf(n,f){if(!n?.trim())return"";if(!f)return n;let _=new RegExp(`<${f}\\b[^>]*>([\\s\\S]*?)</${f}>`,"g");return n.replace(_,"$1")}var v="[media omitted: invalid or exceeds size limit]",Yn=["image/png","image/jpeg","image/gif","image/webp"],g6=5242880,S=5242880,m=6291456,N6=8388608;function C6(n){return n.length}function jf(n){let f=n.endsWith("==")?2:n.endsWith("=")?1:0;return Math.floor(n.length*3/4)-f}function S6(n=5242880){return Math.floor(n*3/4)}function Kn(n){return Math.ceil(n/3)*4}function Pf(n={}){return{maxImageEncodedBytes:n.maxImageEncodedBytes??5242880,maxImageDecodedBytes:n.maxImageDecodedBytes??6291456,maxTotalMediaBytes:n.maxTotalMediaBytes??8388608}}function Mn(){return{totalEncodedBytes:0,keptImages:0,omittedImages:0,omittedReasons:{}}}function Dn(n,f){n.omittedImages+=1,n.omittedReasons[f]=(n.omittedReasons[f]??0)+1}function nn(n,f,_,w){let B=Pf(_);if(n>B.maxImageEncodedBytes){let I={ok:!1,reason:"encoded_limit",message:`Image media exceeds the ${B.maxImageEncodedBytes} byte encoded limit`};return Dn(w,I.reason),I}if(f>B.maxImageDecodedBytes){let I={ok:!1,reason:"decoded_limit",message:`Image media exceeds the ${B.maxImageDecodedBytes} byte decoded limit`};return Dn(w,I.reason),I}if(w.totalEncodedBytes+n>B.maxTotalMediaBytes){let I={ok:!1,reason:"total_limit",message:`Image media exceeds the ${B.maxTotalMediaBytes} byte total media limit`};return Dn(w,I.reason),I}return w.totalEncodedBytes+=n,w.keptImages+=1,null}function Wf(n){return n>=65&&n<=90||n>=97&&n<=122||n>=48&&n<=57||n===43||n===47}function c6(n){return n.length>0&&Of(n,0,n.length)}function Of(n,f,_){let w=_-f;if(w%4!==0)return!1;let B=_;if(w>=2&&n.charCodeAt(_-2)===61&&n.charCodeAt(_-1)===61)B-=2;else if(w>=1&&n.charCodeAt(_-1)===61)B-=1;for(let I=f;I<B;I++)if(!Wf(n.charCodeAt(I)))return!1;for(let I=B;I<_;I++)if(n.charCodeAt(I)!==61)return!1;return!0}function h6(n,f,_){return _-f>=5&&(n.charCodeAt(f)|32)===100&&(n.charCodeAt(f+1)|32)===97&&(n.charCodeAt(f+2)|32)===116&&(n.charCodeAt(f+3)|32)===97&&n.charCodeAt(f+4)===58}function v6(n){let f=0,_=n.length;while(f<_&&/\s/.test(n[f]??""))f+=1;while(_>f&&/\s/.test(n[_-1]??""))_-=1;return{start:f,end:_}}function m6(n,f,_){if(!h6(n,f,_))return;let w=f+5,B=n.indexOf(",",w);if(B===-1||B>=_)return;if(B-w>128)return;let I=n.slice(w,B).toLowerCase(),A=";base64";if(!I.endsWith(A))return;let D=I.slice(0,-A.length);if(!D||D.includes(";"))return;return{mediaType:D,base64Start:B+1,base64End:_}}function gf(n,f,_={}){let w=_.maxEncodedBytes??5242880,B=_.maxDecodedBytes??6291456,I=new Set(_.supportedMediaTypes??Yn),A=n?.toLowerCase(),D=v6(f),y=D.start,Y=D.end,X=m6(f,D.start,D.end);if(X){if(A&&A!==X.mediaType)return{ok:!1,reason:"media_type_mismatch",message:`Image media type ${n} does not match data URL type ${X.mediaType}`};A=X.mediaType,y=X.base64Start,Y=X.base64End}if(!A||!I.has(A))return{ok:!1,reason:"unsupported_media_type",message:`Unsupported image media type: ${n??"unknown"}`};let K=Y-y;if(K===0)return{ok:!1,reason:"invalid_base64",message:"Image media must contain valid base64"};if(K>w)return{ok:!1,reason:"encoded_limit",message:`Image media exceeds the ${w} byte encoded limit`};if(!Of(f,y,Y))return{ok:!1,reason:"invalid_base64",message:"Image media must contain valid base64"};let T=f.slice(y,Y),o=jf(T);if(o>B)return{ok:!1,reason:"decoded_limit",message:`Image media exceeds the ${B} byte decoded limit`};return{ok:!0,mediaType:A,base64:T,encodedBytes:K,decodedBytes:o}}function fn(n,f,_,w){let B=gf(n,f,{maxEncodedBytes:_.maxImageEncodedBytes,maxDecodedBytes:_.maxImageDecodedBytes});if(!B.ok)return Dn(w,B.reason),B;let I=nn(B.encodedBytes,B.decodedBytes,_,w);if(I)return I;return B}function F(n){return n.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,"�")}var Tn="ERROR: EMPTY CONTENT",u6="[image attached]";function Nf(n,f){let _=n[n.length-1];if(f.role==="tool"&&_?.role==="tool"&&Array.isArray(_.content)&&Array.isArray(f.content)){_.content.push(...f.content);return}n.push(f)}function x6(n){if(!Array.isArray(n)||n.length===0)return!1;return n.every((f)=>{if(!f||typeof f!=="object")return!1;let _=f;if(_.type==="text")return typeof _.text==="string";if(_.type==="image")return typeof _.data==="string"&&typeof _.mediaType==="string";return!1})}function u(){return{type:"text",text:v}}function Cf(n){return nn(S,0,{maxImageEncodedBytes:S,maxImageDecodedBytes:m},n)===null}function l6(n){try{return new URL(n).protocol}catch{return}}function Vn(n,f){let _=fn(n.mediaType,n.data,{maxImageEncodedBytes:S,maxImageDecodedBytes:m},f);if(!_.ok)return u();return{type:"image-data",data:_.base64,mediaType:_.mediaType}}function r6(n,f){if(n.image instanceof URL){if(n.image.protocol==="data:"){let A=fn(n.mediaType,n.image.href,{maxImageEncodedBytes:S,maxImageDecodedBytes:m},f);if(!A.ok)return u();return{type:"image",image:`data:${A.mediaType};base64,${A.base64}`,mediaType:A.mediaType}}if(n.image.protocol!=="http:"&&n.image.protocol!=="https:")return u();if(!Cf(f))return u();return{type:"image",image:n.image,mediaType:n.mediaType}}if(typeof n.image==="string"){let A=l6(n.image);if(A==="http:"||A==="https:"){if(!Cf(f))return u();return{type:"image",image:n.image,mediaType:n.mediaType}}let D=A==="data:",y=fn(n.mediaType??(D?void 0:"image/png"),n.image,{maxImageEncodedBytes:S,maxImageDecodedBytes:m},f);if(!y.ok)return u();return{type:"image",image:D?`data:${y.mediaType};base64,${y.base64}`:y.base64,mediaType:y.mediaType}}let _=n.image.byteLength,w=Kn(_),B=n.mediaType?.toLowerCase()??"image/png";if(!Yn.includes(B)||nn(w,_,{maxImageEncodedBytes:S,maxImageDecodedBytes:m},f))return u();return{type:"image",image:n.image,mediaType:B}}function Un(n,f,_,w=!0){if(n==null||typeof n!=="object")return{value:n,changed:!1,mediaChanged:!1};if(Array.isArray(n)){let y=[],Y=!1,X=!1;for(let K of n){if(K&&typeof K==="object"){let o=K;if(o.type==="image"&&typeof o.data==="string"&&typeof o.mediaType==="string"){if(!w){y.push(v),Y=!0,X=!0;continue}let wn={type:"image",data:o.data,mediaType:o.mediaType},x=Vn(wn,_);if(x.type==="image-data")f.push({type:"image",data:x.data,mediaType:x.mediaType});else y.push(x.text);Y=!0,X=!0;continue}if(o.type==="image"){y.push(v),Y=!0,X=!0;continue}if(o.type==="text"&&typeof o.text==="string"){y.push(o.text),Y=!0;continue}}let T=Un(K,f,_,w);y.push(T.value),Y||=T.changed,X||=T.mediaChanged}return{value:Y?y:n,changed:Y,mediaChanged:X}}let B=n;if(B.type==="image"){if(typeof B.data==="string"&&typeof B.mediaType==="string"){if(!w)return{value:v,changed:!0,mediaChanged:!0};let y={type:"image",data:B.data,mediaType:B.mediaType},Y=Vn(y,_);if(Y.type==="image-data")return f.push({type:"image",data:Y.data,mediaType:Y.mediaType}),{value:u6,changed:!0,mediaChanged:!0};return{value:Y.text,changed:!0,mediaChanged:!0}}return{value:v,changed:!0,mediaChanged:!0}}let I={},A=!1,D=!1;for(let[y,Y]of Object.entries(B)){let X=Un(Y,f,_,w);I[y]=X.value,A||=X.changed,D||=X.mediaChanged}return{value:A?I:n,changed:A,mediaChanged:D}}function _n(n){if(typeof n==="string")return F(n);if(Array.isArray(n))return n.map((f)=>_n(f));if(n!==null&&typeof n==="object"){let f=n,_={};for(let[w,B]of Object.entries(f))_[w]=_n(B);return _}return n}function Sf(n,f=!1,_=Mn()){if(typeof n==="string")return{type:f?"error-text":"text",value:F(n)};if(!f&&x6(n))return{type:"content",value:n.map((w)=>w.type==="image"?Vn(w,_):{type:"text",text:F(w.text)})};if(n!==null&&typeof n==="object"){let w=[],B=Un(n,w,_,!f);if(!f&&w.length>0)return{type:"content",value:[{type:"text",text:typeof B.value==="string"?F(B.value):JSON.stringify(_n(B.value))},...w.map((A)=>({type:"image-data",data:A.data,mediaType:A.mediaType}))]};if(B.mediaChanged)return{type:f?"error-json":"json",value:_n(B.value)}}if(n===null||typeof n==="boolean"||typeof n==="number"||typeof n==="object")return{type:f?"error-json":"json",value:_n(n)};return{type:f?"error-text":"text",value:F(String(n))}}function s6(n,f,_){let w=_?.assistantToolCallArgKey??"input",B=[],I=Mn();if(typeof n==="string"&&n.trim().length>0||Array.isArray(n)&&n.length>0)B.push({role:"system",content:typeof n==="string"?F(n):n});for(let A of f){let D=A.content;if(typeof D==="string"){if(D.trim().length===0){B.push({role:A.role,content:[{type:"text",text:Tn}]});continue}B.push({role:A.role,content:F(D)});continue}let y=[],Y=[];if(D.length===0){B.push({role:A.role,content:[{type:"text",text:Tn}]});continue}for(let X of D)switch(X.type){case"text":y.push({type:"text",text:F(X.text),...X.providerOptions?{providerOptions:X.providerOptions}:{}});break;case"reasoning":y.push({type:"reasoning",text:F(X.text),...X.providerOptions?{providerOptions:X.providerOptions}:{}});break;case"image":y.push(r6(X,I));break;case"file":y.push({type:"text",text:on(X.path,F(X.content))});break;case"tool-call":if(A.role==="assistant")y.push({type:"tool-call",toolCallId:X.toolCallId,toolName:X.toolName,[w]:X.input,...X.providerOptions?{providerOptions:X.providerOptions}:{}});break;case"tool-result":{Y.push({type:"tool-result",toolCallId:X.toolCallId,toolName:X.toolName,output:Sf(X.output,X.isError??!1,I)});break}}if(y.length>0)Nf(B,{role:A.role,content:y});if(Y.length>0)Nf(B,{role:"tool",content:Y})}return B}var j1=["show","hide","subscription"];function cf(n){return typeof n==="object"&&n!==null&&!Array.isArray(n)}function z6(n,f){if(!n&&!f)return;let _=n?.metadata,w=f?.metadata,B={...n??{},...f??{}};if(cf(_)&&cf(w))B.metadata={..._,...w};return B}var dn={max:1,xhigh:0.95,high:0.8,medium:0.5,low:0.2,minimal:0.1,none:0},p6=void 0;function i6(n,f){if(typeof n==="string"&&n.toLowerCase()in dn)return n.toLowerCase();return f?void 0:void 0}function hf(n,f){let _=typeof n==="string"?n.toLowerCase():void 0;if(_&&_ in dn)return dn[_];if(f?.fallbackEffort)return dn[f.fallbackEffort];return}function a6(n){let f=hf(n.effort,{fallbackEffort:n.fallbackEffort});if(f===void 0)return;if(f<=0)return 0;let _=n.minimumBudget??1;if(n.maxBudget<_)return;let w=n.scaleTokens??n.maxBudget;return Math.min(Math.max(Math.floor(w*f),_),n.maxBudget)}function e6(n){return n instanceof Error?{name:n.name,message:n.message}:n}var t6=3;function vf(n){return Math.max(1,Math.ceil(n/3))}function Fn(n){let f=new WeakSet;try{return JSON.stringify(n,(_,w)=>{if(typeof w==="bigint")return w.toString();if(typeof w!=="object"||w===null)return w;if(f.has(w))return"[Circular]";return f.add(w),w})??""}catch{return String(n??"")}}function n_(n){let f;try{f=JSON.stringify({systemPrompt:n.systemPrompt,messages:n.messages,tools:n.tools})}catch{f=[Fn(n.systemPrompt),Fn(n.messages),Fn(n.tools)].join(`
4
+ `)}return vf(f.length)}var f_={debug:()=>{},log:()=>{},error:()=>{}};var S1=60,c1=1,h1=3600;function __(n){return typeof n==="number"&&Number.isFinite(n)}function d_(n){return Math.min(Math.max(n,1),3600)}function v1(n){if(!__(n))return 60;return d_(n)}function m1(n,f,_){let w=_?` (${_})`:"",B=Math.round(f/100)/10;return`MCP request to "${n}"${w} timed out after ${B}s. Increase the "timeout" field (in seconds) for this server in cline_mcp_settings.json.`}class c extends Error{constructor(n,f){super(`${n} at position ${f}`);this.position=f}}function mf(n){return/^[0-9A-Fa-f]$/.test(n)}function N(n){return n>="0"&&n<="9"}function uf(n){return n>=" "}function p(n){return`,:[]/{}()
5
+ +`.includes(n)}function Qn(n){return n>="a"&&n<="z"||n>="A"&&n<="Z"||n==="_"||n==="$"}function Gn(n){return n>="a"&&n<="z"||n>="A"&&n<="Z"||n==="_"||n==="$"||n>="0"&&n<="9"}var jn=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Pn=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function Wn(n){return`,[]/{}
6
+ +`.includes(n)}function On(n){return i(n)||w_.test(n)}var w_=/^[[{\w-]$/;function gn(n){return n===`
7
+ `||n==="\r"||n==="\t"||n==="\b"||n==="\f"}function g(n,f){let _=n.charCodeAt(f);return _===32||_===10||_===9||_===13}function xf(n,f){let _=n.charCodeAt(f);return _===32||_===9||_===13}function lf(n,f){let _=n.charCodeAt(f);return _===160||_===6158||_>=8192&&_<=8203||_===8239||_===8287||_===12288||_===65279}function i(n){return Nn(n)||yn(n)}function Nn(n){return n==='"'||n==="“"||n==="”"}function Cn(n){return n==='"'}function yn(n){return n==="'"||n==="‘"||n==="’"||n==="`"||n==="´"}function Sn(n){return n==="'"}function a(n,f){let _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,w=n.lastIndexOf(f);return w!==-1?n.substring(0,w)+(_?"":n.substring(w+1)):n}function U(n,f){let _=n.length;if(!g(n,_-1))return n+f;while(g(n,_-1))_--;return n.substring(0,_)+f+n.substring(_)}function rf(n,f,_){return n.substring(0,f)+n.substring(f+_)}function sf(n){return/[,\n][ \t\r]*$/.test(n)}var B_={"&quot;":'"',"&amp;":"&","&lt;":"<","&gt;":">","&apos;":"'"},cn=12;function hn(n){if(n.charAt(0)!=="&")return null;let f=n.indexOf(";");if(f===-1)return null;let _=n.substring(0,f+1),w=B_[_];if(w!==void 0)return{char:w,length:_.length};if(n.charAt(1)==="#"){let B=n.substring(2,f),I=B.charAt(0)==="x"||B.charAt(0)==="X",A=I?B.substring(1):B;if(A.length>0){let D=Number.parseInt(A,I?16:10);if(!Number.isNaN(D)&&D>=0&&D<=1114111)return{char:String.fromCodePoint(D),length:_.length}}}return null}function zf(n){return n!==null&&n.char==='"'}function pf(n){return n!==null&&n.char==="'"}function z(n,f){let _=0;for(let w=0;w<n.length;w++)if(n.charAt(w)===f)_++;return _}function af(n,f){switch(f){case")":return z(n,"(")>z(n,")");case"]":return z(n,"[")>z(n,"]");case"}":return z(n,"{")>z(n,"}");default:return!1}}var ef={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},R_={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
8
+ `,r:"\r",t:"\t"};function vn(n){let f=0,_="";if(Y(["```","[```","{```"]),!I())x4();Y(["```","```]","```}"]);let B=K(",");if(B)A();if(On(n[f])&&sf(_)){if(!B)_=U(_,",");c4()}else if(B)_=a(_,",");while(n[f]==="}"||n[f]==="]")f++,A();if(f>=n.length)return _;qn();function I(){A();let M=x()||S4()||l()||L()||h4()||ff(!1)||v4();return A(),M}function A(){let M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,G=f,q=D(M);do if(q=y(),q)q=D(M);while(q);return f>G}function D(M){let G=M?g:xf,q="";while(!0)if(G(n,f))q+=n[f],f++;else if(lf(n,f))q+=" ",f++;else break;if(q.length>0)return _+=q,!0;return!1}function y(){if(n[f]==="/"&&n[f+1]==="*"){while(f<n.length&&!E_(n,f))f++;return f+=2,!0}if(n[f]==="/"&&n[f+1]==="/"){while(f<n.length&&n[f]!==`
9
+ `)f++;return!0}return!1}function Y(M){if(X(M)){if(Qn(n[f]))while(f<n.length&&Gn(n[f]))f++;return A(),!0}return!1}function X(M){D(!0);for(let G of M){let q=f+G.length;if(n.slice(f,q)===G)return f=q,!0}return!1}function K(M){if(n[f]===M)return _+=n[f],f++,!0;return!1}function T(M){if(n[f]===M)return f++,!0;return!1}function o(){return T("\\")}function wn(){if(A(),n[f]==="."&&n[f+1]==="."&&n[f+2]===".")return f+=3,A(),T(","),!0;return!1}function x(){if(n[f]==="{"){if(_+="{",f++,A(),T(","))A();let M=!0;while(f<n.length&&n[f]!=="}"){let G;if(!M){if(G=K(","),!G)_=U(_,",");A()}else G=!0;if(wn(),!(l()||ff(!0))){if(n[f]==="}"||n[f]==="{"||n[f]==="]"||n[f]==="["||n[f]===void 0){if(!M)_=a(_,",")}else l4();break}A();let P=K(":"),s=f>=n.length;if(!P)if(On(n[f])||s)_=U(_,":");else wf();if(!I())if(P||s)_+="null";else wf();M=!1}if(n[f]==="}")_+="}",f++;else _=U(_,"}");return!0}return!1}function S4(){if(n[f]==="["){if(_+="[",f++,A(),T(","))A();let M=!0;while(f<n.length&&n[f]!=="]"){if(!M){if(!K(","))_=U(_,",")}if(wn(),!I()){if(!M)_=a(_,",");break}M=!1}if(n[f]==="]")_+="]",f++;else _=U(_,"]");return!0}return!1}function c4(){let M=!0,G=!0;while(G){if(!M){if(!K(","))_=U(_,",")}else M=!1;G=I()}if(!G)_=a(_,",");_=`[
10
10
  ${_}
11
- ]`}function l(){let M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,Z=n[f]==="\\";if(Z){if(f++,!p(n[f]))Xn()}let P=n[f]==="&"?gn(n.slice(f,f+On)):null,s=mf(P)||lf(P);if(p(n[f])||s){let nf=jn(n[f])?jn:Wn(n[f])?Wn:Yn(n[f])?Yn:Pn,Bn=f,dn=_.length,H='"';f+=s&&P?P.length:1;while(!0){if(f>=n.length){let J=an(f-1);if(!M&&z(n.charAt(J)))return f=Bn,_=_.substring(0,dn),l(!0);return H=V(H,'"'),_+=H,!0}if(f===G)return H=V(H,'"'),_+=H,!0;let j=s&&n[f]==="&"?gn(n.slice(f,f+On)):null;if(j&&P?j.char===P.char:nf(n[f])){let J=f,kn=H.length;if(H+='"',f+=j?j.length:1,_+=H,$(!1),M||f>=n.length||z(n[f])&&!xf(H,n[f])||p(n[f])&&!C4(f)||g(n[f]))return zn(),!0;if(n[f]==="\\")Xn();let N=an(J-1),ff=n.charAt(N);if(ff===",")return f=Bn,_=_.substring(0,dn),l(!1,N);if(z(ff))return f=Bn,_=_.substring(0,dn),l(!0);_=_.substring(0,dn),f=J+(j?j.length:1),H=`${H.substring(0,kn)}\\${H.substring(kn)}`}else if(M&&Fn(n[f])){if(n[f-1]===":"&&Un.test(n.substring(Bn+1,f+2)))while(f<n.length&&Vn.test(n[f]))H+=n[f],f++;return H=V(H,'"'),_+=H,zn(),!0}else if(j){let J=j.char;if(J==='"')H+="\\\"";else if(on(J))H+=sf[J];else H+=J;f+=j.length}else if(n[f]==="\\"){let J=n.charAt(f+1);if(t6[J]!==void 0)H+=n.slice(f,f+2),f+=2;else if(J==="u"){let N=2;while(N<6&&Cf(n[f+N]))N++;if(N===6)H+=n.slice(f,f+6),f+=6;else if(f+N>=n.length)f=n.length;else h4()}else if(J===`
12
- `)H+="\\n",f+=2;else H+=J,f+=2}else{let J=n.charAt(f);if(J==='"'&&n[f-1]!=="\\")H+=`\\${J}`,f++;else if(on(J))H+=sf[J],f++;else{if(!Sf(J))S4(J);H+=J,f++}}if(Z)K()}}return!1}function zn(){let M=!1;$();while(n[f]==="+"){M=!0,f++,$(),_=i(_,'"',!0);let G=_.length;if(l())_=hf(_,G,1);else _=V(_,'"')}return M}function T(){let M=f,G="",Z=!1;if(n[f]==="-"){if(G+=n[f],f++,!g(n[f])&&en())G+="0"}if(n[f]==="0"&&g(n[f+1]))Z=!0;while(g(n[f]))G+=n[f],f++;if(n[f]==="."){if(G===""||G==="-")G+="0";if(G+=n[f],f++,!g(n[f]))G+="0";while(g(n[f]))G+=n[f],f++}if(f>M){if(n[f]==="e"||n[f]==="E"){if(G==="-")Z=!0;if(G+=n[f],f++,n[f]==="-"||n[f]==="+")G+=n[f],f++;if(!g(n[f]))G+="0";while(g(n[f]))G+=n[f],f++}if(!en())return f=M,!1;return _+=Z?`"${n.substring(M,f)}"`:G,!0}return!1}function g4(){return x("true","true")||x("false","false")||x("null","null")||x("True","true")||x("False","false")||x("None","null")}function x(M,G){if(n.slice(f,f+M.length)===M&&!Dn(n[f+M.length]))return _+=G,f+=M.length,!0;return!1}function pn(M){let G=f;if(Ln(n[f])){while(f<n.length&&Dn(n[f]))f++;let Z=f;while(O(n,Z))Z++;if(n[Z]==="("){if(f=Z+1,E(),n[f]===")"){if(f++,n[f]===";")f++}return!0}}while(f<n.length&&!Fn(n[f])&&!p(n[f])&&(!M||n[f]!==":"))f++;if(n[f-1]===":"&&Un.test(n.substring(G,f+2)))while(f<n.length&&Vn.test(n[f]))f++;if(f>G){while(O(n,f-1)&&f>0)f--;let Z=n.slice(G,f);if(_+=Z==="undefined"?"null":JSON.stringify(Z),n[f]==='"')f++;return!0}}function N4(){if(n[f]==="/"){let M=f;f++;while(f<n.length&&(n[f]!=="/"||n[f-1]==="\\"))f++;return f++,_+=JSON.stringify(n.substring(M,f)),!0}}function an(M){let G=M;while(G>0&&O(n,G))G--;return G}function C4(M){let G=M+1;while(G<n.length&&O(n,G))G++;return G>=n.length||z(n[G])}function en(){return f>=n.length||z(n[f])||O(n,f)}function S4(M){throw new S(`Invalid character ${JSON.stringify(M)}`,f)}function Xn(){throw new S(`Unexpected character ${JSON.stringify(n[f])}`,f)}function c4(){throw new S("Unexpected end of json string",n.length)}function v4(){throw new S("Object key expected",f)}function tn(){throw new S("Colon expected",f)}function h4(){let M=n.slice(f,f+6);throw new S(`Invalid unicode character "${M}"`,f)}}function n_(n,f){return n[f]==="*"&&n[f+1]==="/"}var f_=/^\{\s*"([A-Za-z0-9_.$-]+)"\s*:\s*([\s\S]+?)\s*\}$/;function __(n){let f=n.match(f_);if(!f)return;let[,_,B]=f,d=B.trim();if(!d)return;let E=d[0];if(E==='"'||E==="{"||E==="["||d==="true"||d==="false"||d==="null"||Number.isFinite(Number(d)))return;return JSON.parse(`{"${_}":${JSON.stringify(d)}}`)}var w_=[(n)=>JSON.parse(n),(n)=>JSON.parse(Nn(n)),__];function B_(n){if(typeof n!=="string")return n;let f=n.trimStart();if(f[0]!=="{"&&f[0]!=="[")return n;for(let _ of w_)try{let B=_(f);if(B!==void 0)return B}catch{}return n}function d_(n){let f=new WeakSet;try{return JSON.stringify(n,(B,d)=>{if(typeof d==="bigint")return d.toString();if(d&&typeof d==="object"){if(f.has(d))return"[Circular]";f.add(d)}return d})??"null"}catch{return String(n)}}function A_(n){try{return JSON.parse(n)}catch{return}}function a(n){return typeof n==="object"&&n!==null&&!Array.isArray(n)}function I_(n){let f=n.type;if(typeof f==="string")return[f];return Array.isArray(f)?f.filter((_)=>typeof _==="string"):[]}function Cn(n,f){if(I_(n).includes(f))return!0;for(let B of["anyOf","oneOf","allOf"]){let d=n[B];if(Array.isArray(d)&&d.some((E)=>a(E)&&Cn(E,f)))return!0}return!1}function $_(n,f){if(typeof n!=="string")return n;let _=n.trim(),B=Cn(f,"array"),d=Cn(f,"object");if((!B||!_.startsWith("["))&&(!d||!_.startsWith("{")))return n;try{let E=JSON.parse(_);if(Array.isArray(E))return B?E:n;if(a(E))return d?E:n;return n}catch{return n}}function Sn(n,f){let _=$_(n,f);if(Array.isArray(_)){let $=f.items;if(!a($))return _;let D=!1,X=_.map((Y)=>{let k=Sn(Y,$);return D||=k!==Y,k});return D?X:_}if(!a(_))return _;let B=f.properties;if(!a(B))return _;let d=!1,E={..._};for(let[$,D]of Object.entries(B)){if(!($ in _)||!a(D))continue;let X=Sn(_[$],D);if(X!==_[$])E[$]=X,d=!0}return d?E:_}function E_(n){if(typeof globalThis.atob==="function")try{let f=globalThis.atob(n),_=Uint8Array.from(f,(B)=>B.charCodeAt(0));return new TextDecoder().decode(_)}catch{return null}if(typeof Buffer<"u")try{return Buffer.from(n,"base64").toString("utf8")}catch{return null}return null}function R_(n){let f=n?.trim();if(!f)return null;try{let _=f.split(".");if(_.length!==3)return null;let B=_[1];if(!B)return null;let d=B.replace(/-/g,"+").replace(/_/g,"/"),E=d.padEnd(d.length+(4-d.length%4)%4,"="),$=E_(E);return $?JSON.parse($):null}catch{return null}}function D_(n){return Object.fromEntries(Object.entries(n).filter(([,f])=>f!==void 0))}function Y_(n){let f=n.replaceAll("\\","/"),_=f.lastIndexOf("/");return(_>=0?f.slice(_+1):f).toLowerCase()}function M_(n){return n==="win32"?"powershell":"/bin/bash"}function rf(n){let f=Y_(n);if(f==="powershell"||f==="powershell.exe"||f==="pwsh"||f==="pwsh.exe")return"powershell";if(f==="cmd"||f==="cmd.exe")return"cmd";if(f==="wsl"||f==="wsl.exe")return"wsl";return"posix"}function G_(n,f){switch(rf(n)){case"powershell":return["-NoProfile","-NonInteractive","-Command",f];case"cmd":return["/d","/s","/c",f];case"wsl":return["bash","-c",f];case"posix":return["-c",f]}}function X_(n){return n.toLowerCase().replace(/[^\w.-]+/g,"_")}function k_(n){let f=n?.trim();return f?f:void 0}function zf(n,f){if(n.length<=f)return n;return`${n.slice(0,f-1)}…`}function q_(n,f="/",_=100){if(!n||n.length<=_)return n||"";let B=n.split(f)?.shift()?.trim()?.slice(0,_-1);return B?`${B}…`:zf(n,_)}function Z_(n){if(n.length<=8)return"****";return`${n.slice(0,4)}...${n.slice(-4)}`}function y_(n){return n.charCodeAt(0)===65279?n.slice(1):n}function H_(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 b_(n){let f=Math.max(0,Math.floor(n/1000)),_=Math.floor(f/86400),B=Math.floor(f%86400/3600),d=Math.floor(f%3600/60),E=f%60;if(_>0)return`${_}d ${B}h`;if(B>0)return`${B}h ${d}m`;if(d>0)return`${d}m ${E}s`;return`${E}s`}import{z as pf}from"zod";function T_(n,f){let _=n.safeParse(f);if(!_.success)throw Error(pf.prettifyError(_.error));return _.data}function cn(n){return pf.toJSONSchema(n)}function vn(n){return n==="cline"||n==="cline-pass"}var af=`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.
11
+ ]`}function l(){let M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,q=n[f]==="\\";if(q){if(f++,!i(n[f]))qn()}let P=n[f]==="&"?hn(n.slice(f,f+cn)):null,s=zf(P)||pf(P);if(i(n[f])||s){let Bf=Cn(n[f])?Cn:Sn(n[f])?Sn:yn(n[f])?yn:Nn,Bn=f,Rn=_.length,k='"';f+=s&&P?P.length:1;while(!0){if(f>=n.length){let J=_f(f-1);if(!M&&p(n.charAt(J)))return f=Bn,_=_.substring(0,Rn),l(!0);return k=U(k,'"'),_+=k,!0}if(f===G)return k=U(k,'"'),_+=k,!0;let W=s&&n[f]==="&"?hn(n.slice(f,f+cn)):null;if(W&&P?W.char===P.char:Bf(n[f])){let J=f,Zn=k.length;if(k+='"',f+=W?W.length:1,_+=k,A(!1),M||f>=n.length||p(n[f])&&!af(k,n[f])||i(n[f])&&!m4(f)||N(n[f]))return nf(),!0;if(n[f]==="\\")qn();let C=_f(J-1),Rf=n.charAt(C);if(Rf===",")return f=Bn,_=_.substring(0,Rn),l(!1,C);if(p(Rf))return f=Bn,_=_.substring(0,Rn),l(!0);_=_.substring(0,Rn),f=J+(W?W.length:1),k=`${k.substring(0,Zn)}\\${k.substring(Zn)}`}else if(M&&Wn(n[f])){if(n[f-1]===":"&&jn.test(n.substring(Bn+1,f+2)))while(f<n.length&&Pn.test(n[f]))k+=n[f],f++;return k=U(k,'"'),_+=k,nf(),!0}else if(W){let J=W.char;if(J==='"')k+="\\\"";else if(gn(J))k+=ef[J];else k+=J;f+=W.length}else if(n[f]==="\\"){let J=n.charAt(f+1);if(R_[J]!==void 0)k+=n.slice(f,f+2),f+=2;else if(J==="u"){let C=2;while(C<6&&mf(n[f+C]))C++;if(C===6)k+=n.slice(f,f+6),f+=6;else if(f+C>=n.length)f=n.length;else r4()}else if(J===`
12
+ `)k+="\\n",f+=2;else k+=J,f+=2}else{let J=n.charAt(f);if(J==='"'&&n[f-1]!=="\\")k+=`\\${J}`,f++;else if(gn(J))k+=ef[J],f++;else{if(!uf(J))u4(J);k+=J,f++}}if(q)o()}}return!1}function nf(){let M=!1;A();while(n[f]==="+"){M=!0,f++,A(),_=a(_,'"',!0);let G=_.length;if(l())_=rf(_,G,1);else _=U(_,'"')}return M}function L(){let M=f,G="",q=!1;if(n[f]==="-"){if(G+=n[f],f++,!N(n[f])&&df())G+="0"}if(n[f]==="0"&&N(n[f+1]))q=!0;while(N(n[f]))G+=n[f],f++;if(n[f]==="."){if(G===""||G==="-")G+="0";if(G+=n[f],f++,!N(n[f]))G+="0";while(N(n[f]))G+=n[f],f++}if(f>M){if(n[f]==="e"||n[f]==="E"){if(G==="-")q=!0;if(G+=n[f],f++,n[f]==="-"||n[f]==="+")G+=n[f],f++;if(!N(n[f]))G+="0";while(N(n[f]))G+=n[f],f++}if(!df())return f=M,!1;return _+=q?`"${n.substring(M,f)}"`:G,!0}return!1}function h4(){return r("true","true")||r("false","false")||r("null","null")||r("True","true")||r("False","false")||r("None","null")}function r(M,G){if(n.slice(f,f+M.length)===M&&!Gn(n[f+M.length]))return _+=G,f+=M.length,!0;return!1}function ff(M){let G=f;if(Qn(n[f])){while(f<n.length&&Gn(n[f]))f++;let q=f;while(g(n,q))q++;if(n[q]==="("){if(f=q+1,I(),n[f]===")"){if(f++,n[f]===";")f++}return!0}}while(f<n.length&&!Wn(n[f])&&!i(n[f])&&(!M||n[f]!==":"))f++;if(n[f-1]===":"&&jn.test(n.substring(G,f+2)))while(f<n.length&&Pn.test(n[f]))f++;if(f>G){while(g(n,f-1)&&f>0)f--;let q=n.slice(G,f);if(_+=q==="undefined"?"null":JSON.stringify(q),n[f]==='"')f++;return!0}}function v4(){if(n[f]==="/"){let M=f;f++;while(f<n.length&&(n[f]!=="/"||n[f-1]==="\\"))f++;return f++,_+=JSON.stringify(n.substring(M,f)),!0}}function _f(M){let G=M;while(G>0&&g(n,G))G--;return G}function m4(M){let G=M+1;while(G<n.length&&g(n,G))G++;return G>=n.length||p(n[G])}function df(){return f>=n.length||p(n[f])||g(n,f)}function u4(M){throw new c(`Invalid character ${JSON.stringify(M)}`,f)}function qn(){throw new c(`Unexpected character ${JSON.stringify(n[f])}`,f)}function x4(){throw new c("Unexpected end of json string",n.length)}function l4(){throw new c("Object key expected",f)}function wf(){throw new c("Colon expected",f)}function r4(){let M=n.slice(f,f+6);throw new c(`Invalid unicode character "${M}"`,f)}}function E_(n,f){return n[f]==="*"&&n[f+1]==="/"}var A_=/^\{\s*"([A-Za-z0-9_.$-]+)"\s*:\s*([\s\S]+?)\s*\}$/;function I_(n){let f=n.match(A_);if(!f)return;let[,_,w]=f,B=w.trim();if(!B)return;let I=B[0];if(I==='"'||I==="{"||I==="["||B==="true"||B==="false"||B==="null"||Number.isFinite(Number(B)))return;return JSON.parse(`{"${_}":${JSON.stringify(B)}}`)}var $_=[(n)=>JSON.parse(n),(n)=>JSON.parse(vn(n)),I_];function D_(n){if(typeof n!=="string")return n;let f=n.trimStart();if(f[0]!=="{"&&f[0]!=="[")return n;for(let _ of $_)try{let w=_(f);if(w!==void 0)return w}catch{}return n}function Y_(n){let f=new WeakSet;try{return JSON.stringify(n,(w,B)=>{if(typeof B==="bigint")return B.toString();if(B&&typeof B==="object"){if(f.has(B))return"[Circular]";f.add(B)}return B})??"null"}catch{return String(n)}}function M_(n){try{return JSON.parse(n)}catch{return}}function e(n){return typeof n==="object"&&n!==null&&!Array.isArray(n)}function G_(n){let f=n.type;if(typeof f==="string")return[f];return Array.isArray(f)?f.filter((_)=>typeof _==="string"):[]}function mn(n,f){if(G_(n).includes(f))return!0;for(let w of["anyOf","oneOf","allOf"]){let B=n[w];if(Array.isArray(B)&&B.some((I)=>e(I)&&mn(I,f)))return!0}return!1}function y_(n,f){if(typeof n!=="string")return n;let _=n.trim(),w=mn(f,"array"),B=mn(f,"object");if((!w||!_.startsWith("["))&&(!B||!_.startsWith("{")))return n;try{let I=JSON.parse(_);if(Array.isArray(I))return w?I:n;if(e(I))return B?I:n;return n}catch{return n}}function un(n,f){let _=y_(n,f);if(Array.isArray(_)){let A=f.items;if(!e(A))return _;let D=!1,y=_.map((Y)=>{let X=un(Y,A);return D||=X!==Y,X});return D?y:_}if(!e(_))return _;let w=f.properties;if(!e(w))return _;let B=!1,I={..._};for(let[A,D]of Object.entries(w)){if(!(A in _)||!e(D))continue;let y=un(_[A],D);if(y!==_[A])I[A]=y,B=!0}return B?I:_}function X_(n){if(typeof globalThis.atob==="function")try{let f=globalThis.atob(n),_=Uint8Array.from(f,(w)=>w.charCodeAt(0));return new TextDecoder().decode(_)}catch{return null}if(typeof Buffer<"u")try{return Buffer.from(n,"base64").toString("utf8")}catch{return null}return null}function b_(n){let f=n?.trim();if(!f)return null;try{let _=f.split(".");if(_.length!==3)return null;let w=_[1];if(!w)return null;let B=w.replace(/-/g,"+").replace(/_/g,"/"),I=B.padEnd(B.length+(4-B.length%4)%4,"="),A=X_(I);return A?JSON.parse(A):null}catch{return null}}function q_(n){return Object.fromEntries(Object.entries(n).filter(([,f])=>f!==void 0))}function Z_(n){let f=n.replaceAll("\\","/"),_=f.lastIndexOf("/");return(_>=0?f.slice(_+1):f).toLowerCase()}function k_(n){return n==="win32"?"powershell":"/bin/bash"}function tf(n){let f=Z_(n);if(f==="powershell"||f==="powershell.exe"||f==="pwsh"||f==="pwsh.exe")return"powershell";if(f==="cmd"||f==="cmd.exe")return"cmd";if(f==="wsl"||f==="wsl.exe")return"wsl";return"posix"}function H_(n,f){switch(tf(n)){case"powershell":return["-NoProfile","-NonInteractive","-Command",f];case"cmd":return["/d","/s","/c",f];case"wsl":return["bash","-c",f];case"posix":return["-c",f]}}function L_(n){return n.toLowerCase().replace(/[^\w.-]+/g,"_")}function J_(n){let f=n?.trim();return f?f:void 0}function n4(n,f){if(n.length<=f)return n;return`${n.slice(0,f-1)}…`}function o_(n,f="/",_=100){if(!n||n.length<=_)return n||"";let w=n.split(f)?.shift()?.trim()?.slice(0,_-1);return w?`${w}…`:n4(n,_)}function K_(n){if(n.length<=8)return"****";return`${n.slice(0,4)}...${n.slice(-4)}`}function T_(n){return n.charCodeAt(0)===65279?n.slice(1):n}function V_(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 U_(n){let f=Math.max(0,Math.floor(n/1000)),_=Math.floor(f/86400),w=Math.floor(f%86400/3600),B=Math.floor(f%3600/60),I=f%60;if(_>0)return`${_}d ${w}h`;if(w>0)return`${w}h ${B}m`;if(B>0)return`${B}m ${I}s`;return`${I}s`}import{z as f4}from"zod";function F_(n,f){let _=n.safeParse(f);if(!_.success)throw Error(f4.prettifyError(_.error));return _.data}function xn(n){return f4.toJSONSchema(n)}function ln(n){return n==="cline"||n==="cline-pass"}var _4=`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.
13
13
 
14
14
  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.
15
15
  Review each question carefully and answer it with detailed, accurate information.
@@ -44,7 +44,7 @@ When you have completed the task, please provide a summary of what you did and a
44
44
 
45
45
  If user asked a simple question without any coding context, answer it directly without using any tools.
46
46
  {{CLINE_RULES}}
47
- {{CLINE_METADATA}}`,ef=`You are Cline, a careful and helpful coding agent that works in the background.
47
+ {{CLINE_METADATA}}`,d4=`You are Cline, a careful and helpful coding agent that works in the background.
48
48
  You are tasked to solve an issue reported by the user who you cannot communicate with directly.
49
49
  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.
50
50
 
@@ -74,9 +74,9 @@ IMPORTANT:
74
74
  - 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.
75
75
  - Response without the submit_and_exit tool call will considered not completed and the task will continue.
76
76
  {{CLINE_RULES}}
77
- {{CLINE_METADATA}}`;var hn="# Workspace Configuration",n4=`# Plan / Act Modes
77
+ {{CLINE_METADATA}}`;var rn="# Workspace Configuration",B4=`# Plan / Act Modes
78
78
 
79
- User messages arrive wrapped in a <user_input mode="..."> tag. The mode attribute is the interaction mode the user was in when they sent that message: "plan" means plan-mode constraints applied (explore, analyze, and align on a plan -- no edits or state-changing commands), while "act" (or "yolo") means implementation was allowed. If the mode attribute changes between messages, the user switched modes -- the newest message's mode is what governs right now, regardless of what earlier messages allowed. A <mode_notice> block inside a message marks exactly when such a switch happened.`,f4=`# Plan Mode
79
+ User messages arrive wrapped in a <user_input mode="..."> tag. The mode attribute is the interaction mode the user was in when they sent that message: "plan" means plan-mode constraints applied (explore, analyze, and align on a plan -- no edits or state-changing commands), while "act" (or "yolo") means implementation was allowed. If the mode attribute changes between messages, the user switched modes -- the newest message's mode is what governs right now, regardless of what earlier messages allowed. A <mode_notice> block inside a message marks exactly when such a switch happened.`,R4=`# Plan Mode
80
80
 
81
81
  You are in Plan mode. Your role is to explore, analyze, and plan -- not to execute.
82
82
 
@@ -89,10 +89,10 @@ You are in Plan mode. Your role is to explore, analyze, and plan -- not to execu
89
89
 
90
90
  The run_commands tool remains available in plan mode strictly for read-only inspection -- listing files, searching (grep), reading configs, inspecting git history and diffs, checking tool versions, and the like. Never use it to change anything: no creating, modifying, or deleting files, no writing scripts that make changes, and no state-changing commands (installs, migrations, database or schema changes, container commands that mutate state, etc.). If the task requires a mutation, put it in the plan; it happens only after the user switches to act mode.
91
91
 
92
- Once the user has reviewed your plan and explicitly approved it in a follow-up message, use the switch_to_act_mode tool to switch to act mode and begin implementation. Calling switch_to_act_mode immediately starts execution, so never call it in the same turn you present a plan and never treat the original task request as approval -- end your turn after presenting the plan and wait for the user's response.`;function tf(n,f,_){if(_?.trim()?.includes(hn))return _.trim();let B=_||JSON.stringify({workspaces:{[n]:{hint:f||n.split("/").at(-1)||n}}},null,2);return`
93
- ${hn}
94
- ${B}`}function J_(n){let{ide:f="Terminal Shell",mode:_,platform:B="unknown",workspaceName:d,metadata:E,rules:$,overridePrompt:D,providerId:X}=n,Y=n.workspaceRoot??n.rootPath??"",k=vn(X||"");if(D?.trim()){let K=D.trim();if(k&&E?.trim()&&!K.includes(hn))return`${K}
92
+ Once the user has reviewed your plan and explicitly approved it in a follow-up message, use the switch_to_act_mode tool to switch to act mode and begin implementation. Calling switch_to_act_mode immediately starts execution, so never call it in the same turn you present a plan and never treat the original task request as approval -- end your turn after presenting the plan and wait for the user's response.`;function w4(n,f,_){if(_?.trim()?.includes(rn))return _.trim();let w=_||JSON.stringify({workspaces:{[n]:{hint:f||n.split("/").at(-1)||n}}},null,2);return`
93
+ ${rn}
94
+ ${w}`}function Q_(n){let{ide:f="Terminal Shell",mode:_,platform:w="unknown",workspaceName:B,metadata:I,rules:A,overridePrompt:D,providerId:y}=n,Y=n.workspaceRoot??n.rootPath??"",X=ln(y||"");if(D?.trim()){let o=D.trim();if(X&&I?.trim()&&!o.includes(rn))return`${o}
95
95
 
96
- ${tf(Y,d,E)}`.trim();return K}let L=_==="yolo"?ef:af,U=[$,n4,_==="plan"?f4:void 0].filter(Boolean).join(`
96
+ ${w4(Y,B,I)}`.trim();return o}let K=_==="yolo"?d4:_4,T=[A,B4,_==="plan"?R4:void 0].filter(Boolean).join(`
97
97
 
98
- `);return L.replace("{{PLATFORM_NAME}}",B).replace("{{CWD}}",Y).replace("{{CURRENT_DATE}}",new Date().toLocaleDateString()).replace("{{IDE_NAME}}",f).replace("{{CLINE_METADATA}}",k?tf(Y,d,E):"").replace("{{CLINE_RULES}}",U).trim()}var K_="anthropic/claude-sonnet-5";var L_="remote://";import{z as A}from"zod";var _4=A.object({id:A.string(),temperature:A.number().optional(),isR1FormatRequired:A.boolean().optional(),maxTokens:A.number().optional(),contextWindow:A.number().optional(),inputPrice:A.number().optional(),outputPrice:A.number().optional(),supportsImages:A.boolean().optional()}),w4=A.object({models:A.array(_4).optional(),openAiBaseUrl:A.string().optional(),openAiHeaders:A.record(A.string(),A.string()).optional(),azureApiVersion:A.string().optional(),azureIdentity:A.boolean().optional()}),B4=A.object({id:A.string(),thinkingBudgetTokens:A.number().optional()}),d4=A.object({name:A.string(),baseModelId:A.string(),thinkingBudgetTokens:A.number().optional()}),A4=A.object({models:A.array(B4).optional(),customModels:A.array(d4).optional(),awsRegion:A.string().optional(),awsUseCrossRegionInference:A.boolean().optional(),awsUseGlobalInference:A.boolean().optional(),awsBedrockUsePromptCache:A.boolean().optional(),awsBedrockEndpoint:A.string().optional()}),I4=A.object({id:A.string()}),$4=A.object({models:A.array(I4).optional()}),E4=A.object({id:A.string(),thinkingBudgetTokens:A.number().optional()}),R4=A.object({models:A.array(E4).optional(),vertexProjectId:A.string().optional(),vertexRegion:A.string().optional()}),D4=A.object({id:A.string(),thinkingBudgetTokens:A.number().optional(),promptCachingEnabled:A.boolean().optional()}),Y4=A.object({models:A.array(D4).optional(),baseUrl:A.string().optional()}),M4=A.object({id:A.string(),thinkingBudgetTokens:A.number().optional()}),G4=A.object({models:A.array(M4).optional(),baseUrl:A.string().optional()}),U_=A.object({OpenAiCompatible:w4.optional(),AwsBedrock:A4.optional(),Cline:$4.optional(),Vertex:R4.optional(),LiteLLM:Y4.optional(),Anthropic:G4.optional()}),X4=A.object({id:A.string()}),k4=A.object({name:A.string(),url:A.string(),alwaysEnabled:A.boolean().optional(),headers:A.record(A.string(),A.string()).optional()}),un=A.object({alwaysEnabled:A.boolean(),name:A.string(),contents:A.string()}),Mn=A.object({bucket:A.string(),accessKeyId:A.string(),secretAccessKey:A.string(),region:A.string().optional(),endpoint:A.string().optional(),accountId:A.string().optional()}),q4=A.object({enabled:A.boolean().optional(),type:A.union([A.literal("s3_access_keys"),A.literal("r2_access_keys"),A.literal("azure_access_keys")]).optional(),s3AccessSettings:Mn.optional(),r2AccessSettings:Mn.optional(),azureAccessSettings:Mn.optional()}),Z4=A.object({promptUploading:q4.optional()}),V_=A.object({version:A.string(),providerSettings:U_.optional(),telemetryEnabled:A.boolean().optional(),kanbanEnabled:A.boolean().optional(),mcpMarketplaceEnabled:A.boolean().optional(),allowedMCPServers:A.array(X4).optional(),remoteMCPServers:A.array(k4).optional(),blockPersonalRemoteMCPServers:A.boolean().optional(),yoloModeAllowed:A.boolean().optional(),openTelemetryEnabled:A.boolean().optional(),openTelemetryMetricsExporter:A.string().optional(),openTelemetryLogsExporter:A.string().optional(),openTelemetryOtlpProtocol:A.string().optional(),openTelemetryOtlpEndpoint:A.string().optional(),openTelemetryOtlpHeaders:A.record(A.string(),A.string()).optional(),openTelemetryOtlpMetricsProtocol:A.string().optional(),openTelemetryOtlpMetricsEndpoint:A.string().optional(),openTelemetryOtlpMetricsHeaders:A.record(A.string(),A.string()).optional(),openTelemetryOtlpLogsProtocol:A.string().optional(),openTelemetryOtlpLogsEndpoint:A.string().optional(),openTelemetryOtlpLogsHeaders:A.record(A.string(),A.string()).optional(),openTelemetryMetricExportInterval:A.number().optional(),openTelemetryOtlpInsecure:A.boolean().optional(),openTelemetryLogBatchSize:A.number().optional(),openTelemetryLogBatchTimeout:A.number().optional(),openTelemetryLogMaxQueueSize:A.number().optional(),enterpriseTelemetry:Z4.optional(),globalRules:A.array(un).optional(),globalWorkflows:A.array(un).optional()}),F_=A.record(A.string(),A.string());var Q_=4317;var o_="127.0.0.1:4317";import mn from"zod";var P_=mn.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth","popular"]),j_=mn.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),W_=mn.enum(["anthropic","ai-sdk","ai-sdk-community","openai","openai-compatible","openai-r1","gemini","bedrock","custom","fetch","vertex"]);var O_="runtime.team.progress.v1",g_="runtime.team.lifecycle.v1";var N_="CLINE_ENVIRONMENT",C_="CLINE_ENVIRONMENT_OVERRIDE",ln={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"}},S_="production";function y4(n){let f=n?.trim().toLowerCase();if(f==="production"||f==="staging"||f==="local")return f;return}function H4(){if(typeof process>"u"||!process?.env)return{};return process.env}function b4(){let n=H4();return y4(n.CLINE_ENVIRONMENT_OVERRIDE)??y4(n.CLINE_ENVIRONMENT)??"production"}function c_(n){if(typeof n==="string")return ln[n];return ln[b4()]}function v_(n,f){if(f.CLINE_API_BASE_URL)n={...n,apiBaseUrl:f.CLINE_API_BASE_URL,mcpBaseUrl:`${f.CLINE_API_BASE_URL}/v1/mcp`};return n}function h_(n){let f=c_(n);return v_(f,H4())}var u_="agent.reasoning.unexpected_tokens",m_="task.provider_request_started",l_="task.provider_stream_started",x_="task.first_chunk_received",s_="task.provider_stream_failed",r_="task.cancelled",z_="sdk.error";function p_(n,f){n?.capture({event:"agent.reasoning.unexpected_tokens",properties:K4({sessionId:f.sessionId,agentId:f.agentId,runId:f.runId,iteration:f.iteration,providerId:f.providerId,modelId:f.modelId,requestedThinking:f.requestedThinking,reasoningTokenCount:f.reasoningTokenCount})})}function i_(n,f){if(!n)return;n.capture({event:f.event,properties:K4({sessionId:f.sessionId,ulid:f.ulid??f.sessionId,agentId:f.agentId,conversationId:f.conversationId,runId:f.runId,iteration:f.iteration,provider:f.providerId,providerId:f.providerId,model:f.modelId,modelId:f.modelId,phase:f.phase,durationMs:f.durationMs,eventType:f.eventType,...f.error===void 0?{}:sn(f.error,f.messageLimit)})})}function a_(n,f){if(!n)return;n.capture({event:f.event??"sdk.error",properties:J4(f)})}function J4(n){return{...n.context??{},component:n.component,operation:n.operation,severity:n.severity??"error",handled:n.handled??!0,...sn(n.error,n.messageLimit)}}function K4(n){let f={};for(let[_,B]of Object.entries(n))if(B!==void 0)f[_]=B;return f}function sn(n,f=500){let _=n0(n)?n:void 0,B=n instanceof Error?n:void 0,d=B?.message??T4(_?.message)??(typeof n==="string"?n:String(n)),E=f0(_?.code),$=xn(_?.status)??xn(_?.statusCode)??xn(_?.responseStatus);return{error_type:B?.name?.trim()||T4(_?.name)||B?.constructor?.name||"Error",error_message:t_(e_(d),f),...E!==void 0?{error_code:E}:{},...$!==void 0?{error_status:$}:{}}}function e_(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 t_(n,f){let _=Math.max(1,Math.floor(f));return n.length>_?n.substring(0,_):n}function n0(n){return typeof n==="object"&&n!==null}function T4(n){return typeof n==="string"&&n.trim().length>0?n:void 0}function f0(n){if(typeof n==="string"&&n.trim().length>0)return n;if(typeof n==="number"&&Number.isFinite(n))return n;return}function xn(n){return typeof n==="number"&&Number.isFinite(n)?n:void 0}function L4(n){let f={};if(!n)return f;try{n.split(",").forEach((_)=>{let B=_.indexOf("=");if(B<=0)return;let d=decodeURIComponent(_.substring(0,B).trim()),E=decodeURIComponent(_.substring(B+1).trim());if(!d||!E)return;f[d]=E})}catch{}return f}function _0(){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?L4(process.env.OTEL_EXPORTER_OTLP_HEADERS):void 0}}function U4(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 w0(n={}){return{..._0(),...n,metadata:U4(n.metadata)}}function V4(n){let f=n?.trim();return f?f:void 0}function B0(n,f){if(!n)return;let _=typeof n==="function"?n(f):n;if(!_)return;let B=V4(_.rootSessionId);if(!B)return;return{rootSessionId:B}}function d0(n){return V4(n?.rootSessionId)}var A0=(n)=>crypto.getRandomValues(new Uint8Array(n)),I0=(n,f,_)=>{let B=256-256%n.length;if(B===256){let E=n.length-1;return($=f)=>{if(!$)return"";let D="";while(!0){let X=_($),Y=$;while(Y--)if(D+=n[X[Y]&E],D.length>=$)return D}}}let d=Math.ceil(409.6*f/B);return(E=f)=>{if(!E)return"";let $="";while(!0){let D=_(d),X=d;while(X--)if(D[X]<B){if($+=n[D[X]%n.length],$.length>=E)return $}}}},F4=(n,f=21)=>I0(n,f|0,A0);function $0(n="",f=""){let _=F4("1234567890abcdefghijklmnopqrstuvwxyz",10);return`${n}${Date.now()}_${_(5)}${f}`}var E0=["idle","running","pending","completed","failed","cancelled"];var rn=["rules","skills","workflows","plugins"],Q4=rn,R0=new Set(rn);function o4(n){return typeof n==="string"&&R0.has(n)}function D0(n){if(!Array.isArray(n))return;let f=n.map((_)=>typeof _==="string"?_.trim():"").filter(o4);return[...new Set(f)]}function Y0(n,f){return new Set(n??Q4).has(f)}import{z as Q}from"zod";var M0=Q.object({rootPath:Q.string().min(1),hint:Q.string().min(1).optional(),associatedRemoteUrls:Q.array(Q.string().min(1)).optional(),latestGitCommitHash:Q.string().min(1).optional(),latestGitBranchName:Q.string().min(1).optional()}),G0=Q.object({currentWorkspacePath:Q.string().min(1).optional(),workspaces:Q.record(Q.string().min(1),M0)});function Xw(){return{workspaces:{}}}function kw(n,f){let _={...n,workspaces:{...n.workspaces,[f.rootPath]:f}};if(!_.currentWorkspacePath)_.currentWorkspacePath=f.rootPath;return G0.parse(_)}var X0="workspaces",k0="chat";function q0(n){let f=n.trim(),_=/^[A-Za-z]:[\\/]/.test(f)||f.startsWith("\\\\"),B=f.startsWith("/");if(!_&&!B)return!1;let d=f.split(_?/[\\/]+/:/\/+/).filter(Boolean),E=d.at(-1)??"",$=d.at(-2)??"",D=d.at(-3)??"";return(d.at(-4)??"")===".cline"&&D==="data"&&$==="workspaces"&&E==="chat"}import{z as w}from"zod";var Z0=["current_state","boundary_analysis","interface_proposal"],Hw=3600000,bw=240,Tw=400,o=w.preprocess((n)=>n instanceof Date?n.toISOString():n,w.string().datetime()),e=w.enum(["pending","in_progress","blocked","completed"]),P4=w.enum(["queued","running","completed","failed","cancelled","interrupted"]),Gn=w.enum(["draft","in_review","finalized"]),y0=w.object({agentId:w.string(),role:w.enum(["lead","teammate"]),description:w.string().optional(),status:w.enum(["idle","running","stopped"])}),Jw=w.object({agentId:w.string(),rolePrompt:w.string(),modelId:w.string().optional(),maxIterations:w.number().optional()});function b(n){return w.preprocess((f)=>f===null?void 0:f,n.optional())}var Kw=w.object({agentId:w.string().min(1).describe("Teammate identifier"),rolePrompt:w.string().min(1).describe("System prompt describing teammate role")}).strict(),Lw=w.object({agentId:w.string().min(1).describe("Teammate identifier"),reason:b(w.string().min(1)).describe("Optional shutdown reason")}),Uw=w.object({}),H0={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]},Vw={create:["status","taskId","summary","reason"]},Fw=w.object({action:w.enum(["create","list","claim","complete","block"]),title:b(w.string().min(1)).describe("Task title"),description:b(w.string().min(1)).describe("Task details"),dependsOn:b(w.array(w.string().describe("Dependency task ID"))).describe("Array of dependency task IDs"),assignee:b(w.string().min(1)).describe("Optional assignee"),status:b(w.enum(["pending","in_progress","blocked","completed"])).describe("Optional task status filter"),taskId:b(w.string()).describe("Task ID"),summary:b(w.string().min(1)).describe("Completion summary"),reason:b(w.string().min(1)).describe("Blocking reason")}).superRefine((n,f)=>{for(let _ of H0[n.action]){if(n[_]!==void 0)continue;f.addIssue({code:"custom",path:[_],message:`Field "${_}" is required when action=${n.action}`})}}),Qw=w.object({agentId:w.string().describe("Teammate agent ID"),task:w.string().min(1).describe("Task instructions for the teammate"),taskId:b(w.string()).describe("Optional shared task list ID"),runMode:b(w.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:b(w.boolean()).describe("If true, continue the teammate conversation; otherwise start fresh")}),ow=w.object({status:b(w.enum(["queued","running","completed","failed","cancelled","interrupted"])).describe("Optional run status filter. Omit to include all statuses."),agentId:b(w.string().min(1)).describe("Optional teammate ID filter. Omit to include all teammates."),includeCompleted:b(w.boolean()).describe("Include completed/failed runs (default true)")}),Pw=w.object({runId:w.string().min(1).describe("Run ID"),reason:b(w.string().min(1)).describe("Optional cancellation reason")}),jw=w.object({runId:b(w.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),Ww=w.object({toAgentId:w.string().min(1).describe("Recipient agent ID"),subject:w.string().min(1).describe("Message subject"),body:w.string().min(1).describe("Message body"),taskId:b(w.string().min(1)).describe("Optional task ID context")}),Ow=w.object({subject:w.string().min(1).describe("Message subject"),body:w.string().min(1).describe("Message body"),taskId:b(w.string().min(1)).describe("Optional task ID context")}),gw=w.object({unreadOnly:b(w.boolean()).describe("Only unread messages for read action (default true)")}),Nw=w.object({kind:w.enum(["progress","handoff","blocked","decision","done","error"]),summary:w.string().min(1).describe("Update summary"),taskId:b(w.string().min(1)).describe("Optional task ID context"),evidence:b(w.array(w.string().min(1))).describe("Optional evidence links/snippets"),nextAction:b(w.string().min(1)).describe("Planned next step")}),Cw=w.object({}),Sw=w.object({title:w.string().describe("Outcome title"),requiredSections:w.array(w.string()).default(Z0).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),cw=w.object({outcomeId:w.string().describe("Outcome ID"),section:w.string().describe("Section name"),sourceRunId:b(w.string()).describe("Optional source run ID"),content:w.string().describe("Section fragment content")}),vw=w.object({fragmentId:w.string().describe("Fragment ID"),approved:w.boolean().describe("Review decision")}),hw=w.object({outcomeId:w.string().describe("Outcome ID")}),uw=w.object({}),mw=w.object({teamId:w.string(),teamName:w.string(),members:w.array(y0),taskCounts:w.record(e,w.number()),unreadMessages:w.number(),missionLogEntries:w.number(),activeRuns:w.number(),queuedRuns:w.number(),outcomeCounts:w.record(Gn,w.number())}),b0=w.object({id:w.string(),title:w.string(),description:w.string(),status:e,createdAt:o,updatedAt:o,createdBy:w.string(),assignee:w.string().optional(),dependsOn:w.array(w.string()),summary:w.string().optional(),isReady:w.boolean(),blockedBy:w.array(w.string())}),lw=w.discriminatedUnion("action",[w.object({action:w.literal("create"),taskId:w.string(),status:e,ignoredFields:w.array(w.string()).optional(),note:w.string().optional()}),w.object({action:w.literal("list"),tasks:w.array(b0)}),w.object({action:w.literal("claim"),taskId:w.string(),status:e,nextStep:w.string()}),w.object({action:w.literal("complete"),taskId:w.string(),status:e}),w.object({action:w.literal("block"),taskId:w.string(),status:e})]),xw=w.object({agentId:w.string(),mode:w.enum(["sync","async"]),status:w.enum(["dispatched","running","queued","joined"]),dispatched:w.boolean(),message:w.string(),deduped:w.boolean().optional(),runId:w.string().optional(),text:w.string().optional(),iterations:w.number().optional()}),T0=w.object({textPreview:w.string(),iterations:w.number(),finishReason:w.string(),durationMs:w.number(),usage:w.object({inputTokens:w.number(),outputTokens:w.number(),cacheReadTokens:w.number().optional(),cacheWriteTokens:w.number().optional(),totalCost:w.number().optional()})}),sw=w.object({id:w.string(),agentId:w.string(),taskId:w.string().optional(),status:P4,messagePreview:w.string(),priority:w.number(),retryCount:w.number(),maxRetries:w.number(),nextAttemptAt:o.optional(),continueConversation:w.boolean().optional(),startedAt:o,endedAt:o.optional(),leaseOwner:w.string().optional(),heartbeatAt:o.optional(),lastProgressAt:o.optional(),lastProgressMessage:w.string().optional(),currentActivity:w.string().optional(),error:w.string().optional(),resultSummary:T0.optional()}),rw=w.object({id:w.string(),teamId:w.string(),fromAgentId:w.string(),toAgentId:w.string(),subject:w.string(),body:w.string(),taskId:w.string().optional(),sentAt:o,readAt:o.optional()}),zw=w.object({id:w.string(),teamId:w.string(),title:w.string(),status:Gn,requiredSections:w.array(w.string()),createdBy:w.string(),createdAt:o,finalizedAt:o.optional()}),pw=w.object({outcomeId:w.string(),status:Gn,requiredSections:w.array(w.string())}),iw=w.object({agentId:w.string(),status:w.string()}),aw=w.object({runId:w.string(),status:P4}),ew=w.object({id:w.string(),toAgentId:w.string()}),tw=w.object({delivered:w.number()}),nB=w.object({id:w.string()}),fB=w.object({status:w.string()}),_B=w.object({fragmentId:w.string(),status:w.string()}),wB=w.object({outcomeId:w.string(),status:Gn});var J0;((T)=>{T.TaskStart="task_start";T.TaskEnd="task_end";T.AgentEvent="agent_event";T.TeammateSpawned="teammate_spawned";T.TeammateShutdown="teammate_shutdown";T.TeamTaskUpdated="team_task_updated";T.TeamMessage="team_message";T.TeamMissionLog="team_mission_log";T.TeamTaskCompleted="team_task_completed";T.RunStarted="run_started";T.RunQueued="run_queued";T.RunProgress="run_progress";T.RunCompleted="run_completed";T.RunFailed="run_failed";T.RunCancelled="run_cancelled";T.RunInterrupted="run_interrupted";T.OutcomeCreated="outcome_created";T.OutcomeFragmentAttached="outcome_fragment_attached";T.OutcomeFragmentReviewed="outcome_fragment_reviewed";T.OutcomeFinalized="outcome_finalized"})(J0||={});import{z as K0}from"zod";function L0(n){let{$schema:f,..._}=n;if(typeof _.type==="string")return _;if("properties"in _||"required"in _||"additionalProperties"in _)return{type:"object",..._};for(let B of["oneOf","anyOf","allOf"]){let d=_[B];if(!Array.isArray(d)||d.length===0)continue;if(B==="allOf"){if(d.some((D)=>D&&typeof D==="object"&&D.type==="object"))return{type:"object",..._};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(d.every(($)=>$&&typeof $==="object"&&$.type==="object"))return{type:"object",..._};throw Error(`Tool inputSchema must describe an object at the top level, but the schema has a top-level "${B}" whose branches include non-object types. Pass the strict object schema as inputSchema and reserve union/coercion schemas for use inside execute().`)}return _}function U0(n){let f=L0(n.inputSchema instanceof K0.ZodType?cn(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 j4=["401","403","unauthorized","forbidden","invalid token","expired token","authentication"];function V0(n){let f=(n instanceof Error?n.message:String(n)).toLowerCase();return j4.some((_)=>f.includes(_))}export{cn as zodToJsonSchema,Lf as xmlTagsRemoval,T_ as validateWithZod,of as validateImageMedia,nn as validateAndReserveImageMedia,kw as upsertWorkspaceInfo,zf as truncateStr,q_ as truncateSplit,k_ as trimNonEmpty,Wf as toAiSdkToolResultOutput,y_ as stripUtf8Bom,Kf as stripModeNotices,p4 as shouldIncludeConnectorField,r6 as serializeAbortReason,F as sanitizeSurrogates,X_ as sanitizeFileName,d_ as safeJsonStringify,A_ as safeJsonParse,d0 as resolveRootSessionId,gf as resolveReasoningEffortRatio,s6 as resolveReasoningBudgetFromRatio,Vf as resolveMediaBudget,B1 as resolveHubCommandTimeoutMs,B0 as resolveHookSessionContext,x6 as resolveEffectiveReasoningEffort,b4 as resolveClineEnvironment,t as reserveImageMediaBytes,_1 as readHubScheduleMode,Tf as parseUserCommandEnvelope,D0 as parseRuntimeConfigExtensions,B_ as parseJsonStream,k6 as parseHookEventPayload,D_ as omitUndefinedValues,Jf as normalizeUserInput,sn as normalizeSdkError,qf as normalizePluginManifest,Sn as normalizeJsonLikeStringsForSchema,i6 as noopBasicLogger,m6 as mergeModelOptions,Z_ as maskSecret,Yf as listConnectorCatalog,o4 as isRuntimeConfigExtensionKind,V0 as isLikelyAuthError,d1 as isHubToolExecutorName,q6 as isHubScheduleMode,t0 as isHubProtocolCompatible,vn as isClineProvider,q0 as isChatWorkspacePath,O6 as isCanonicalBase64,Ff as isBase64Char,W6 as imageFileMaxDecodedBytesForBase64Limit,Hn as imageBase64LengthForDecodedBytes,j6 as imageBase64EncodedByteLength,Uf as imageBase64DecodedByteLength,Y0 as hasRuntimeConfigExtension,rf as getShellKind,G_ as getShellArgs,M_ as getDefaultShell,y6 as getDefaultHubCommandTimeoutMs,h_ as getClineEnvironmentConfig,T6 as formatUserInputBlock,J6 as formatUserCommandBlock,b_ as formatUptime,K6 as formatModeSwitchNotice,u6 as formatMessagesForAiSdk,H_ as formatHumanReadableDate,yn as formatFileContentBlock,Q6 as formatDisplayUserInput,Nf as estimateTokens,p6 as estimateRequestInputTokens,Xw as emptyWorkspaceManifest,R_ as decodeJwtPayload,U0 as createTool,$0 as createSessionId,L6 as createModeSwitchNoticeTracker,Rn as createMediaBudgetState,B6 as createContributionRegistry,U4 as createClineTelemetryServiceMetadata,w0 as createClineTelemetryServiceConfig,i4 as connectorChannelsFromPlatforms,i_ as captureTaskLifecycleEvent,a_ as captureSdkError,p_ as captureAgentUnexpectedReasoningTokens,J4 as buildSdkErrorProperties,J_ as buildClineSystemPrompt,G0 as WorkspaceManifestSchema,M0 as WorkspaceInfoSchema,R4 as VertexSettingsSchema,E4 as VertexModelSchema,y1 as USAGE_COST_DISPLAYS,qn as ToolCallRecordSchema,Af as ThinkingConfigSchema,Jw as TeamTeammateSpecSchema,lw as TeamTaskToolResultSchema,b0 as TeamTaskListItemToolResultSchema,Fw as TeamTaskInputSchema,mw as TeamStatusToolResultSchema,Uw as TeamStatusInputSchema,Kw as TeamSpawnTeammateInputSchema,iw as TeamSimpleAgentStatusToolResultSchema,Lw as TeamShutdownTeammateInputSchema,ew as TeamSendMessageToolResultSchema,Ww as TeamSendMessageInputSchema,sw as TeamRunToolSummarySchema,xw as TeamRunTaskToolResultSchema,Qw as TeamRunTaskInputSchema,T0 as TeamRunResultSummarySchema,vw as TeamReviewOutcomeFragmentInputSchema,gw as TeamReadMailboxInputSchema,zw as TeamOutcomeToolResultSchema,_B as TeamOutcomeFragmentToolResultSchema,nB as TeamMissionLogToolResultSchema,Nw as TeamMissionLogInputSchema,J0 as TeamMessageType,rw as TeamMailboxMessageToolResultSchema,ow as TeamListRunsInputSchema,uw as TeamListOutcomesInputSchema,wB as TeamFinalizeOutcomeToolResultSchema,hw as TeamFinalizeOutcomeInputSchema,pw as TeamCreateOutcomeToolResultSchema,Sw as TeamCreateOutcomeInputSchema,fB as TeamCleanupToolResultSchema,Cw as TeamCleanupInputSchema,aw as TeamCancelRunToolResultSchema,Pw as TeamCancelRunInputSchema,tw as TeamBroadcastToolResultSchema,Ow as TeamBroadcastInputSchema,jw as TeamAwaitRunsInputSchema,cw as TeamAttachOutcomeFragmentInputSchema,Vw as TEAM_TASK_IGNORED_FIELDS_BY_ACTION,Tw as TEAM_RUN_TEXT_PREVIEW_LIMIT,bw as TEAM_RUN_MESSAGE_PREVIEW_LIMIT,O_ as TEAM_PROGRESS_EVENT_TYPE,g_ as TEAM_LIFECYCLE_EVENT_TYPE,Hw as TEAM_AWAIT_TIMEOUT_MS,l_ as TASK_PROVIDER_STREAM_STARTED_EVENT,s_ as TASK_PROVIDER_STREAM_FAILED_EVENT,m_ as TASK_PROVIDER_REQUEST_STARTED_EVENT,x_ as TASK_FIRST_CHUNK_RECEIVED_EVENT,r_ as TASK_CANCELLED_EVENT,En as SUPPORTED_IMAGE_MEDIA_TYPES,E0 as SESSION_STATUS_VALUES,z_ as SDK_ERROR_TELEMETRY_EVENT,Mn as S3AccessKeySettingsSchema,k4 as RemoteMCPServerSchema,V_ as RemoteConfigSchema,x4 as ReasoningEffortSchema,rn as RUNTIME_CONFIG_EXTENSION_KINDS,L_ as REMOTE_URI_SCHEME,_n as REASONING_EFFORT_RATIOS,j_ as ProviderProtocolSchema,W_ as ProviderClientSchema,P_ as ProviderCapabilitySchema,q4 as PromptUploadingSchema,d6 as PLUGIN_FILE_EXTENSIONS,f4 as PLAN_MODE_INSTRUCTIONS,w4 as OpenAiCompatibleSchema,_4 as OpenAiCompatibleModelSchema,f1 as ONE_TIME_SCHEDULE_RUN_AT_METADATA_KEY,n1 as ONE_TIME_SCHEDULE_CRON_PATTERN,Bf as ModelStatusSchema,df as ModelPricingSchema,If as ModelMetadataSchema,An as ModelInfoSchema,wf as ModelCapabilitySchema,n4 as MODE_TAG_INSTRUCTIONS,i0 as MIN_CLIENT_HUB_PROTOCOL_VERSION,a0 as MAX_CLIENT_HUB_PROTOCOL_VERSION,Y4 as LiteLLMSchema,D4 as LiteLLMModelSchema,v as IMAGE_OMITTED_PLACEHOLDER,Hf as HookEventPayloadSchema,yf as HookEventNameSchema,Y1 as HUB_USER_INSTRUCTIONS_SNAPSHOT_CAPABILITY,H6 as HUB_TOOL_EXECUTOR_NAMES,A1 as HUB_TOOL_EXECUTOR_CAPABILITY_PREFIX,bf as HUB_SCHEDULE_MODES,D1 as HUB_MISTAKE_LIMIT_CAPABILITY,$1 as HUB_HOOK_CAPABILITY_PREFIX,Z6 as HUB_DEFAULT_COMMAND_TIMEOUT_MS,I1 as HUB_CUSTOM_TOOL_CAPABILITY_PREFIX,E1 as HUB_COMPACTION_CAPABILITY,w1 as HUB_COMMAND_SLOW_LOG_MS,R1 as HUB_CHECKPOINT_CAPABILITY,e0 as HUB_CAPABILITIES,un as GlobalInstructionsFileSchema,A6 as FeatureFlagDefaultValue,I6 as FEATURE_FLAGS,Z4 as EnterpriseTelemetrySchema,bn as EMPTY_CONTENT_TEXT,Q4 as DEFAULT_RUNTIME_CONFIG_EXTENSIONS,l6 as DEFAULT_REASONING_EFFORT,Z0 as DEFAULT_OUTCOME_REQUIRED_SECTIONS,P6 as DEFAULT_MAX_TOTAL_MEDIA_BYTES,C as DEFAULT_MAX_IMAGE_ENCODED_BYTES,h as DEFAULT_MAX_IMAGE_DECODED_BYTES,o6 as DEFAULT_MAX_IMAGE_BASE64_BYTES,S_ as DEFAULT_CLINE_ENVIRONMENT,Zn as ContributionRegistry,z4 as ConnectorHookEventSchema,$f as ConnectorHookEventNameSchema,Rf as ConnectorEventContextSchema,Ef as ConnectorEventActorSchema,s4 as ConnectorAuthorizationRequestSchema,r4 as ConnectorAuthorizationDecisionSchema,$4 as ClineSettingsSchema,I4 as ClineModelSchema,p0 as CURRENT_HUB_PROTOCOL_VERSION,Mf as CONNECTOR_PLATFORMS,Df as CONNECTOR_CATALOG,X0 as CLINE_WORKSPACES_DIRECTORY_NAME,C_ as CLINE_ENVIRONMENT_OVERRIDE_ENV,N_ as CLINE_ENVIRONMENT_ENV,ln as CLINE_ENVIRONMENTS,Q_ as CLINE_DEFAULT_RPC_PORT,o_ as CLINE_DEFAULT_RPC_ADDRESS,K_ as CLINE_DEFAULT_MODEL_ID,k0 as CLINE_CHAT_WORKSPACE_DIRECTORY_NAME,z6 as CHARS_PER_TOKEN,A4 as AwsBedrockSettingsSchema,B4 as AwsBedrockModelSchema,d4 as AwsBedrockCustomModelSchema,_f as ApiFormatSchema,u4 as ApiFormat,G4 as AnthropicSchema,M4 as AnthropicModelSchema,X4 as AllowedMCPServerSchema,l4 as AgentUsageSchema,N0 as AgentResultSchema,m4 as AgentFinishReasonSchema,C0 as AgentConfigSchema,j4 as AUTH_ERROR_PATTERNS,F_ as APIKeySchema,u_ as AGENT_UNEXPECTED_REASONING_TOKENS_EVENT};
98
+ `);return K.replace("{{PLATFORM_NAME}}",w).replace("{{CWD}}",Y).replace("{{CURRENT_DATE}}",new Date().toLocaleDateString()).replace("{{IDE_NAME}}",f).replace("{{CLINE_METADATA}}",X?w4(Y,B,I):"").replace("{{CLINE_RULES}}",T).trim()}var j_="anthropic/claude-sonnet-5";var P_="remote://";import{z as R}from"zod";var E4=R.object({id:R.string(),temperature:R.number().optional(),maxTokens:R.number().optional(),contextWindow:R.number().optional(),inputPrice:R.number().optional(),outputPrice:R.number().optional(),supportsImages:R.boolean().optional()}),A4=R.object({models:R.array(E4).optional(),openAiBaseUrl:R.string().optional(),openAiHeaders:R.record(R.string(),R.string()).optional(),azureApiVersion:R.string().optional(),azureIdentity:R.boolean().optional()}),I4=R.object({id:R.string(),thinkingBudgetTokens:R.number().optional()}),$4=R.object({name:R.string(),baseModelId:R.string(),thinkingBudgetTokens:R.number().optional()}),D4=R.object({models:R.array(I4).optional(),customModels:R.array($4).optional(),awsRegion:R.string().optional(),awsUseCrossRegionInference:R.boolean().optional(),awsUseGlobalInference:R.boolean().optional(),awsBedrockUsePromptCache:R.boolean().optional(),awsBedrockEndpoint:R.string().optional()}),Y4=R.object({id:R.string()}),M4=R.object({models:R.array(Y4).optional()}),G4=R.object({id:R.string(),thinkingBudgetTokens:R.number().optional()}),y4=R.object({models:R.array(G4).optional(),vertexProjectId:R.string().optional(),vertexRegion:R.string().optional()}),X4=R.object({id:R.string(),thinkingBudgetTokens:R.number().optional(),promptCachingEnabled:R.boolean().optional()}),b4=R.object({models:R.array(X4).optional(),baseUrl:R.string().optional()}),q4=R.object({id:R.string(),thinkingBudgetTokens:R.number().optional()}),Z4=R.object({models:R.array(q4).optional(),baseUrl:R.string().optional()}),W_=R.object({OpenAiCompatible:A4.optional(),AwsBedrock:D4.optional(),Cline:M4.optional(),Vertex:y4.optional(),LiteLLM:b4.optional(),Anthropic:Z4.optional()}),k4=R.object({id:R.string()}),H4=R.object({name:R.string(),url:R.string(),alwaysEnabled:R.boolean().optional(),headers:R.record(R.string(),R.string()).optional()}),sn=R.object({alwaysEnabled:R.boolean(),name:R.string(),contents:R.string()}),Xn=R.object({bucket:R.string(),accessKeyId:R.string(),secretAccessKey:R.string(),region:R.string().optional(),endpoint:R.string().optional(),accountId:R.string().optional()}),L4=R.object({enabled:R.boolean().optional(),type:R.union([R.literal("s3_access_keys"),R.literal("r2_access_keys"),R.literal("azure_access_keys")]).optional(),s3AccessSettings:Xn.optional(),r2AccessSettings:Xn.optional(),azureAccessSettings:Xn.optional()}),J4=R.object({promptUploading:L4.optional()}),O_=R.object({version:R.string(),providerSettings:W_.optional(),telemetryEnabled:R.boolean().optional(),kanbanEnabled:R.boolean().optional(),mcpMarketplaceEnabled:R.boolean().optional(),allowedMCPServers:R.array(k4).optional(),remoteMCPServers:R.array(H4).optional(),blockPersonalRemoteMCPServers:R.boolean().optional(),yoloModeAllowed:R.boolean().optional(),openTelemetryEnabled:R.boolean().optional(),openTelemetryMetricsExporter:R.string().optional(),openTelemetryLogsExporter:R.string().optional(),openTelemetryOtlpProtocol:R.string().optional(),openTelemetryOtlpEndpoint:R.string().optional(),openTelemetryOtlpHeaders:R.record(R.string(),R.string()).optional(),openTelemetryOtlpMetricsProtocol:R.string().optional(),openTelemetryOtlpMetricsEndpoint:R.string().optional(),openTelemetryOtlpMetricsHeaders:R.record(R.string(),R.string()).optional(),openTelemetryOtlpLogsProtocol:R.string().optional(),openTelemetryOtlpLogsEndpoint:R.string().optional(),openTelemetryOtlpLogsHeaders:R.record(R.string(),R.string()).optional(),openTelemetryMetricExportInterval:R.number().optional(),openTelemetryOtlpInsecure:R.boolean().optional(),openTelemetryLogBatchSize:R.number().optional(),openTelemetryLogBatchTimeout:R.number().optional(),openTelemetryLogMaxQueueSize:R.number().optional(),enterpriseTelemetry:J4.optional(),globalRules:R.array(sn).optional(),globalWorkflows:R.array(sn).optional()}),g_=R.record(R.string(),R.string());var N_=4317;var C_="127.0.0.1:4317";import zn from"zod";var S_=zn.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth","popular"]),c_=zn.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),h_=zn.enum(["anthropic","ai-sdk","ai-sdk-community","openai","openai-compatible","openai-r1","gemini","bedrock","custom","fetch","vertex"]);var v_="runtime.team.progress.v1",m_="runtime.team.lifecycle.v1";var u_="CLINE_ENVIRONMENT",x_="CLINE_ENVIRONMENT_OVERRIDE",pn={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"}},l_="production";function o4(n){let f=n?.trim().toLowerCase();if(f==="production"||f==="staging"||f==="local")return f;return}function K4(){if(typeof process>"u"||!process?.env)return{};return process.env}function T4(){let n=K4();return o4(n.CLINE_ENVIRONMENT_OVERRIDE)??o4(n.CLINE_ENVIRONMENT)??"production"}function r_(n){if(typeof n==="string")return pn[n];return pn[T4()]}function s_(n,f){if(f.CLINE_API_BASE_URL)n={...n,apiBaseUrl:f.CLINE_API_BASE_URL,mcpBaseUrl:`${f.CLINE_API_BASE_URL}/v1/mcp`};return n}function z_(n){let f=r_(n);return s_(f,K4())}var p_="agent.reasoning.unexpected_tokens",i_="task.provider_request_started",a_="task.provider_stream_started",e_="task.first_chunk_received",t_="task.provider_stream_failed",n0="task.cancelled",f0="sdk.error";function _0(n,f){n?.capture({event:"agent.reasoning.unexpected_tokens",properties:F4({sessionId:f.sessionId,agentId:f.agentId,runId:f.runId,iteration:f.iteration,providerId:f.providerId,modelId:f.modelId,requestedThinking:f.requestedThinking,reasoningTokenCount:f.reasoningTokenCount})})}function d0(n,f){if(!n)return;n.capture({event:f.event,properties:F4({sessionId:f.sessionId,ulid:f.ulid??f.sessionId,agentId:f.agentId,conversationId:f.conversationId,runId:f.runId,iteration:f.iteration,provider:f.providerId,providerId:f.providerId,model:f.modelId,modelId:f.modelId,phase:f.phase,durationMs:f.durationMs,eventType:f.eventType,...f.error===void 0?{}:en(f.error,f.messageLimit)})})}function w0(n,f){if(!n)return;n.capture({event:f.event??"sdk.error",properties:U4(f)})}function U4(n){return{...n.context??{},component:n.component,operation:n.operation,severity:n.severity??"error",handled:n.handled??!0,...en(n.error,n.messageLimit)}}function F4(n){let f={};for(let[_,w]of Object.entries(n))if(w!==void 0)f[_]=w;return f}function en(n,f=500){let _=E0(n)?n:void 0,w=n instanceof Error?n:void 0,B=w?.message??V4(_?.message)??(typeof n==="string"?n:String(n)),I=A0(_?.code),A=an(_?.status)??an(_?.statusCode)??an(_?.responseStatus);return{error_type:w?.name?.trim()||V4(_?.name)||w?.constructor?.name||"Error",error_message:R0(B0(B),f),...I!==void 0?{error_code:I}:{},...A!==void 0?{error_status:A}:{}}}function B0(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 R0(n,f){let _=Math.max(1,Math.floor(f));return n.length>_?n.substring(0,_):n}function E0(n){return typeof n==="object"&&n!==null}function V4(n){return typeof n==="string"&&n.trim().length>0?n:void 0}function A0(n){if(typeof n==="string"&&n.trim().length>0)return n;if(typeof n==="number"&&Number.isFinite(n))return n;return}function an(n){return typeof n==="number"&&Number.isFinite(n)?n:void 0}function Q4(n){let f={};if(!n)return f;return n.split(",").forEach((_)=>{let w=_.indexOf("=");if(w<=0)return;try{let B=decodeURIComponent(_.substring(0,w).trim()),I=decodeURIComponent(_.substring(w+1).trim());if(!B||!I)return;f[B]=I}catch{}}),f}function I0(){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?Q4(process.env.OTEL_EXPORTER_OTLP_HEADERS):void 0}}function j4(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 $0(n={}){return{...I0(),...n,metadata:j4(n.metadata)}}function P4(n){let f=n?.trim();return f?f:void 0}function D0(n,f){if(!n)return;let _=typeof n==="function"?n(f):n;if(!_)return;let w=P4(_.rootSessionId);if(!w)return;return{rootSessionId:w}}function Y0(n){return P4(n?.rootSessionId)}var M0=(n)=>crypto.getRandomValues(new Uint8Array(n)),G0=(n,f,_)=>{let w=256-256%n.length;if(w===256){let I=n.length-1;return(A=f)=>{if(!A)return"";let D="";while(!0){let y=_(A),Y=A;while(Y--)if(D+=n[y[Y]&I],D.length>=A)return D}}}let B=Math.ceil(409.6*f/w);return(I=f)=>{if(!I)return"";let A="";while(!0){let D=_(B),y=B;while(y--)if(D[y]<w){if(A+=n[D[y]%n.length],A.length>=I)return A}}}},W4=(n,f=21)=>G0(n,f|0,M0);function y0(n="",f=""){let _=W4("1234567890abcdefghijklmnopqrstuvwxyz",10);return`${n}${Date.now()}_${_(5)}${f}`}var X0=["idle","running","pending","completed","failed","cancelled"];var tn=["rules","skills","workflows","plugins"],O4=tn,b0=new Set(tn);function g4(n){return typeof n==="string"&&b0.has(n)}function q0(n){if(!Array.isArray(n))return;let f=n.map((_)=>typeof _==="string"?_.trim():"").filter(g4);return[...new Set(f)]}function Z0(n,f){return new Set(n??O4).has(f)}import{z as Q}from"zod";var k0=Q.object({rootPath:Q.string().min(1),hint:Q.string().min(1).optional(),associatedRemoteUrls:Q.array(Q.string().min(1)).optional(),latestGitCommitHash:Q.string().min(1).optional(),latestGitBranchName:Q.string().min(1).optional()}),H0=Q.object({currentWorkspacePath:Q.string().min(1).optional(),workspaces:Q.record(Q.string().min(1),k0)});function Wd(){return{workspaces:{}}}function Od(n,f){let _={...n,workspaces:{...n.workspaces,[f.rootPath]:f}};if(!_.currentWorkspacePath)_.currentWorkspacePath=f.rootPath;return H0.parse(_)}var L0="workspaces",J0="chat";function o0(n){let f=n.trim(),_=/^[A-Za-z]:[\\/]/.test(f)||f.startsWith("\\\\"),w=f.startsWith("/");if(!_&&!w)return!1;let B=f.split(_?/[\\/]+/:/\/+/).filter(Boolean),I=B.at(-1)??"",A=B.at(-2)??"",D=B.at(-3)??"";return(B.at(-4)??"")===".cline"&&D==="data"&&A==="workspaces"&&I==="chat"}import{z as d}from"zod";var K0=["current_state","boundary_analysis","interface_proposal"],Sd=3600000,cd=240,hd=400,j=d.preprocess((n)=>n instanceof Date?n.toISOString():n,d.string().datetime()),t=d.enum(["pending","in_progress","blocked","completed"]),N4=d.enum(["queued","running","completed","failed","cancelled","interrupted"]),bn=d.enum(["draft","in_review","finalized"]),T0=d.object({agentId:d.string(),role:d.enum(["lead","teammate"]),description:d.string().optional(),status:d.enum(["idle","running","stopped"])}),vd=d.object({agentId:d.string(),rolePrompt:d.string(),modelId:d.string().optional(),maxIterations:d.number().optional()});function H(n){return d.preprocess((f)=>f===null?void 0:f,n.optional())}var md=d.object({agentId:d.string().min(1).describe("Teammate identifier"),rolePrompt:d.string().min(1).describe("System prompt describing teammate role")}).strict(),ud=d.object({agentId:d.string().min(1).describe("Teammate identifier"),reason:H(d.string().min(1)).describe("Optional shutdown reason")}),xd=d.object({}),V0={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]},ld={create:["status","taskId","summary","reason"]},rd=d.object({action:d.enum(["create","list","claim","complete","block"]),title:H(d.string().min(1)).describe("Task title"),description:H(d.string().min(1)).describe("Task details"),dependsOn:H(d.array(d.string().describe("Dependency task ID"))).describe("Array of dependency task IDs"),assignee:H(d.string().min(1)).describe("Optional assignee"),status:H(d.enum(["pending","in_progress","blocked","completed"])).describe("Optional task status filter"),taskId:H(d.string()).describe("Task ID"),summary:H(d.string().min(1)).describe("Completion summary"),reason:H(d.string().min(1)).describe("Blocking reason")}).superRefine((n,f)=>{for(let _ of V0[n.action]){if(n[_]!==void 0)continue;f.addIssue({code:"custom",path:[_],message:`Field "${_}" is required when action=${n.action}`})}}),sd=d.object({agentId:d.string().describe("Teammate agent ID"),task:d.string().min(1).describe("Task instructions for the teammate"),taskId:H(d.string()).describe("Optional shared task list ID"),runMode:H(d.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:H(d.boolean()).describe("If true, continue the teammate conversation; otherwise start fresh")}),zd=d.object({status:H(d.enum(["queued","running","completed","failed","cancelled","interrupted"])).describe("Optional run status filter. Omit to include all statuses."),agentId:H(d.string().min(1)).describe("Optional teammate ID filter. Omit to include all teammates."),includeCompleted:H(d.boolean()).describe("Include completed/failed runs (default true)")}),pd=d.object({runId:d.string().min(1).describe("Run ID"),reason:H(d.string().min(1)).describe("Optional cancellation reason")}),id=d.object({runId:H(d.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),ad=d.object({toAgentId:d.string().min(1).describe("Recipient agent ID"),subject:d.string().min(1).describe("Message subject"),body:d.string().min(1).describe("Message body"),taskId:H(d.string().min(1)).describe("Optional task ID context")}),ed=d.object({subject:d.string().min(1).describe("Message subject"),body:d.string().min(1).describe("Message body"),taskId:H(d.string().min(1)).describe("Optional task ID context")}),td=d.object({unreadOnly:H(d.boolean()).describe("Only unread messages for read action (default true)")}),nw=d.object({kind:d.enum(["progress","handoff","blocked","decision","done","error"]),summary:d.string().min(1).describe("Update summary"),taskId:H(d.string().min(1)).describe("Optional task ID context"),evidence:H(d.array(d.string().min(1))).describe("Optional evidence links/snippets"),nextAction:H(d.string().min(1)).describe("Planned next step")}),fw=d.object({}),_w=d.object({title:d.string().describe("Outcome title"),requiredSections:d.array(d.string()).default(K0).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),dw=d.object({outcomeId:d.string().describe("Outcome ID"),section:d.string().describe("Section name"),sourceRunId:H(d.string()).describe("Optional source run ID"),content:d.string().describe("Section fragment content")}),ww=d.object({fragmentId:d.string().describe("Fragment ID"),approved:d.boolean().describe("Review decision")}),Bw=d.object({outcomeId:d.string().describe("Outcome ID")}),Rw=d.object({}),Ew=d.object({teamId:d.string(),teamName:d.string(),members:d.array(T0),taskCounts:d.record(t,d.number()),unreadMessages:d.number(),missionLogEntries:d.number(),activeRuns:d.number(),queuedRuns:d.number(),outcomeCounts:d.record(bn,d.number())}),U0=d.object({id:d.string(),title:d.string(),description:d.string(),status:t,createdAt:j,updatedAt:j,createdBy:d.string(),assignee:d.string().optional(),dependsOn:d.array(d.string()),summary:d.string().optional(),isReady:d.boolean(),blockedBy:d.array(d.string())}),Aw=d.discriminatedUnion("action",[d.object({action:d.literal("create"),taskId:d.string(),status:t,ignoredFields:d.array(d.string()).optional(),note:d.string().optional()}),d.object({action:d.literal("list"),tasks:d.array(U0)}),d.object({action:d.literal("claim"),taskId:d.string(),status:t,nextStep:d.string()}),d.object({action:d.literal("complete"),taskId:d.string(),status:t}),d.object({action:d.literal("block"),taskId:d.string(),status:t})]),Iw=d.object({agentId:d.string(),mode:d.enum(["sync","async"]),status:d.enum(["dispatched","running","queued","joined"]),dispatched:d.boolean(),message:d.string(),deduped:d.boolean().optional(),runId:d.string().optional(),text:d.string().optional(),iterations:d.number().optional()}),F0=d.object({textPreview:d.string(),iterations:d.number(),finishReason:d.string(),durationMs:d.number(),usage:d.object({inputTokens:d.number(),outputTokens:d.number(),cacheReadTokens:d.number().optional(),cacheWriteTokens:d.number().optional(),totalCost:d.number().optional()})}),$w=d.object({id:d.string(),agentId:d.string(),taskId:d.string().optional(),status:N4,messagePreview:d.string(),priority:d.number(),retryCount:d.number(),maxRetries:d.number(),nextAttemptAt:j.optional(),continueConversation:d.boolean().optional(),startedAt:j,endedAt:j.optional(),leaseOwner:d.string().optional(),heartbeatAt:j.optional(),lastProgressAt:j.optional(),lastProgressMessage:d.string().optional(),currentActivity:d.string().optional(),error:d.string().optional(),resultSummary:F0.optional()}),Dw=d.object({id:d.string(),teamId:d.string(),fromAgentId:d.string(),toAgentId:d.string(),subject:d.string(),body:d.string(),taskId:d.string().optional(),sentAt:j,readAt:j.optional()}),Yw=d.object({id:d.string(),teamId:d.string(),title:d.string(),status:bn,requiredSections:d.array(d.string()),createdBy:d.string(),createdAt:j,finalizedAt:j.optional()}),Mw=d.object({outcomeId:d.string(),status:bn,requiredSections:d.array(d.string())}),Gw=d.object({agentId:d.string(),status:d.string()}),yw=d.object({runId:d.string(),status:N4}),Xw=d.object({id:d.string(),toAgentId:d.string()}),bw=d.object({delivered:d.number()}),qw=d.object({id:d.string()}),Zw=d.object({status:d.string()}),kw=d.object({fragmentId:d.string(),status:d.string()}),Hw=d.object({outcomeId:d.string(),status:bn});var Q0;((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"})(Q0||={});import{z as j0}from"zod";function P0(n){let{$schema:f,..._}=n;if(typeof _.type==="string")return _;if("properties"in _||"required"in _||"additionalProperties"in _)return{type:"object",..._};for(let w of["oneOf","anyOf","allOf"]){let B=_[w];if(!Array.isArray(B)||B.length===0)continue;if(w==="allOf"){if(B.some((D)=>D&&typeof D==="object"&&D.type==="object"))return{type:"object",..._};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(B.every((A)=>A&&typeof A==="object"&&A.type==="object"))return{type:"object",..._};throw Error(`Tool inputSchema must describe an object at the top level, but the schema has a top-level "${w}" whose branches include non-object types. Pass the strict object schema as inputSchema and reserve union/coercion schemas for use inside execute().`)}return _}function W0(n){let f=P0(n.inputSchema instanceof j0.ZodType?xn(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 C4=["401","403","unauthorized","forbidden","invalid token","expired token","authentication"];function O0(n){let f=(n instanceof Error?n.message:String(n)).toLowerCase();return C4.some((_)=>f.includes(_))}export{xn as zodToJsonSchema,Qf as xmlTagsRemoval,F_ as validateWithZod,gf as validateImageMedia,fn as validateAndReserveImageMedia,Od as upsertWorkspaceInfo,n4 as truncateStr,o_ as truncateSplit,J_ as trimNonEmpty,Sf as toAiSdkToolResultOutput,T_ as stripUtf8Bom,Ff as stripModeNotices,n6 as shouldIncludeConnectorField,e6 as serializeAbortReason,F as sanitizeSurrogates,L_ as sanitizeFileName,Y_ as safeJsonStringify,M_ as safeJsonParse,Y0 as resolveRootSessionId,hf as resolveReasoningEffortRatio,a6 as resolveReasoningBudgetFromRatio,Pf as resolveMediaBudget,v1 as resolveMcpTimeoutSeconds,X1 as resolveHubCommandTimeoutMs,D0 as resolveHookSessionContext,i6 as resolveEffectiveReasoningEffort,T4 as resolveClineEnvironment,nn as reserveImageMediaBytes,G1 as readHubScheduleMode,Vf as parseUserCommandEnvelope,q0 as parseRuntimeConfigExtensions,D_ as parseJsonStream,H6 as parseHookEventPayload,q_ as omitUndefinedValues,Uf as normalizeUserInput,en as normalizeSdkError,Lf as normalizePluginManifest,un as normalizeJsonLikeStringsForSchema,f_ as noopBasicLogger,z6 as mergeModelOptions,K_ as maskSecret,bf as listConnectorCatalog,g4 as isRuntimeConfigExtensionKind,__ as isMcpTimeoutConfigured,O0 as isLikelyAuthError,b1 as isHubToolExecutorName,L6 as isHubScheduleMode,D1 as isHubProtocolCompatible,ln as isClineProvider,o0 as isChatWorkspacePath,c6 as isCanonicalBase64,Wf as isBase64Char,S6 as imageFileMaxDecodedBytesForBase64Limit,Kn as imageBase64LengthForDecodedBytes,C6 as imageBase64EncodedByteLength,jf as imageBase64DecodedByteLength,Z0 as hasRuntimeConfigExtension,tf as getShellKind,H_ as getShellArgs,k_ as getDefaultShell,o6 as getDefaultHubCommandTimeoutMs,z_ as getClineEnvironmentConfig,V6 as formatUserInputBlock,U6 as formatUserCommandBlock,U_ as formatUptime,F6 as formatModeSwitchNotice,s6 as formatMessagesForAiSdk,m1 as formatMcpTimeoutErrorMessage,V_ as formatHumanReadableDate,on as formatFileContentBlock,O6 as formatDisplayUserInput,vf as estimateTokens,n_ as estimateRequestInputTokens,Wd as emptyWorkspaceManifest,b_ as decodeJwtPayload,W0 as createTool,y0 as createSessionId,Q6 as createModeSwitchNoticeTracker,Mn as createMediaBudgetState,I6 as createContributionRegistry,j4 as createClineTelemetryServiceMetadata,$0 as createClineTelemetryServiceConfig,f6 as connectorChannelsFromPlatforms,d_ as clampMcpTimeoutSeconds,d0 as captureTaskLifecycleEvent,w0 as captureSdkError,_0 as captureAgentUnexpectedReasoningTokens,U4 as buildSdkErrorProperties,Q_ as buildClineSystemPrompt,H0 as WorkspaceManifestSchema,k0 as WorkspaceInfoSchema,y4 as VertexSettingsSchema,G4 as VertexModelSchema,j1 as USAGE_COST_DISPLAYS,Ln as ToolCallRecordSchema,Df as ThinkingConfigSchema,vd as TeamTeammateSpecSchema,Aw as TeamTaskToolResultSchema,U0 as TeamTaskListItemToolResultSchema,rd as TeamTaskInputSchema,Ew as TeamStatusToolResultSchema,xd as TeamStatusInputSchema,md as TeamSpawnTeammateInputSchema,Gw as TeamSimpleAgentStatusToolResultSchema,ud as TeamShutdownTeammateInputSchema,Xw as TeamSendMessageToolResultSchema,ad as TeamSendMessageInputSchema,$w as TeamRunToolSummarySchema,Iw as TeamRunTaskToolResultSchema,sd as TeamRunTaskInputSchema,F0 as TeamRunResultSummarySchema,ww as TeamReviewOutcomeFragmentInputSchema,td as TeamReadMailboxInputSchema,Yw as TeamOutcomeToolResultSchema,kw as TeamOutcomeFragmentToolResultSchema,qw as TeamMissionLogToolResultSchema,nw as TeamMissionLogInputSchema,Q0 as TeamMessageType,Dw as TeamMailboxMessageToolResultSchema,zd as TeamListRunsInputSchema,Rw as TeamListOutcomesInputSchema,Hw as TeamFinalizeOutcomeToolResultSchema,Bw as TeamFinalizeOutcomeInputSchema,Mw as TeamCreateOutcomeToolResultSchema,_w as TeamCreateOutcomeInputSchema,Zw as TeamCleanupToolResultSchema,fw as TeamCleanupInputSchema,yw as TeamCancelRunToolResultSchema,pd as TeamCancelRunInputSchema,bw as TeamBroadcastToolResultSchema,ed as TeamBroadcastInputSchema,id as TeamAwaitRunsInputSchema,dw as TeamAttachOutcomeFragmentInputSchema,ld as TEAM_TASK_IGNORED_FIELDS_BY_ACTION,hd as TEAM_RUN_TEXT_PREVIEW_LIMIT,cd as TEAM_RUN_MESSAGE_PREVIEW_LIMIT,v_ as TEAM_PROGRESS_EVENT_TYPE,m_ as TEAM_LIFECYCLE_EVENT_TYPE,Sd as TEAM_AWAIT_TIMEOUT_MS,a_ as TASK_PROVIDER_STREAM_STARTED_EVENT,t_ as TASK_PROVIDER_STREAM_FAILED_EVENT,i_ as TASK_PROVIDER_REQUEST_STARTED_EVENT,e_ as TASK_FIRST_CHUNK_RECEIVED_EVENT,n0 as TASK_CANCELLED_EVENT,Yn as SUPPORTED_IMAGE_MEDIA_TYPES,X0 as SESSION_STATUS_VALUES,f0 as SDK_ERROR_TELEMETRY_EVENT,Xn as S3AccessKeySettingsSchema,H4 as RemoteMCPServerSchema,O_ as RemoteConfigSchema,kn as ReasoningLevelSchema,An as ReasoningEffortSchema,tn as RUNTIME_CONFIG_EXTENSION_KINDS,P_ as REMOTE_URI_SCHEME,En as REASONING_LEVELS,dn as REASONING_EFFORT_RATIOS,c_ as ProviderProtocolSchema,h_ as ProviderClientSchema,S_ as ProviderCapabilitySchema,L4 as PromptUploadingSchema,$6 as PLUGIN_FILE_EXTENSIONS,R4 as PLAN_MODE_INSTRUCTIONS,A4 as OpenAiCompatibleSchema,E4 as OpenAiCompatibleModelSchema,M1 as ONE_TIME_SCHEDULE_RUN_AT_METADATA_KEY,Y1 as ONE_TIME_SCHEDULE_CRON_PATTERN,If as ModelStatusSchema,Hn as ModelReasoningOptionSchema,$f as ModelPricingSchema,Yf as ModelMetadataSchema,In as ModelInfoSchema,Af as ModelCapabilitySchema,B4 as MODE_TAG_INSTRUCTIONS,c1 as MIN_MCP_TIMEOUT_SECONDS,A1 as MIN_CLIENT_HUB_PROTOCOL_VERSION,h1 as MAX_MCP_TIMEOUT_SECONDS,I1 as MAX_CLIENT_HUB_PROTOCOL_VERSION,b4 as LiteLLMSchema,X4 as LiteLLMModelSchema,v as IMAGE_OMITTED_PLACEHOLDER,Kf as HookEventPayloadSchema,of as HookEventNameSchema,o1 as HUB_USER_INSTRUCTIONS_SNAPSHOT_CAPABILITY,K6 as HUB_TOOL_EXECUTOR_NAMES,q1 as HUB_TOOL_EXECUTOR_CAPABILITY_PREFIX,Tf as HUB_SCHEDULE_MODES,J1 as HUB_MISTAKE_LIMIT_CAPABILITY,k1 as HUB_HOOK_CAPABILITY_PREFIX,J6 as HUB_DEFAULT_COMMAND_TIMEOUT_MS,Z1 as HUB_CUSTOM_TOOL_CAPABILITY_PREFIX,H1 as HUB_COMPACTION_CAPABILITY,y1 as HUB_COMMAND_SLOW_LOG_MS,L1 as HUB_CHECKPOINT_CAPABILITY,$1 as HUB_CAPABILITIES,sn as GlobalInstructionsFileSchema,D6 as FeatureFlagDefaultValue,Y6 as FEATURE_FLAGS,J4 as EnterpriseTelemetrySchema,Tn as EMPTY_CONTENT_TEXT,O4 as DEFAULT_RUNTIME_CONFIG_EXTENSIONS,p6 as DEFAULT_REASONING_EFFORT,K0 as DEFAULT_OUTCOME_REQUIRED_SECTIONS,S1 as DEFAULT_MCP_TIMEOUT_SECONDS,N6 as DEFAULT_MAX_TOTAL_MEDIA_BYTES,S as DEFAULT_MAX_IMAGE_ENCODED_BYTES,m as DEFAULT_MAX_IMAGE_DECODED_BYTES,g6 as DEFAULT_MAX_IMAGE_BASE64_BYTES,l_ as DEFAULT_CLINE_ENVIRONMENT,Jn as ContributionRegistry,t4 as ConnectorHookEventSchema,Mf as ConnectorHookEventNameSchema,yf as ConnectorEventContextSchema,Gf as ConnectorEventActorSchema,a4 as ConnectorAuthorizationRequestSchema,e4 as ConnectorAuthorizationDecisionSchema,M4 as ClineSettingsSchema,Y4 as ClineModelSchema,E1 as CURRENT_HUB_PROTOCOL_VERSION,qf as CONNECTOR_PLATFORMS,Xf as CONNECTOR_CATALOG,L0 as CLINE_WORKSPACES_DIRECTORY_NAME,x_ as CLINE_ENVIRONMENT_OVERRIDE_ENV,u_ as CLINE_ENVIRONMENT_ENV,pn as CLINE_ENVIRONMENTS,N_ as CLINE_DEFAULT_RPC_PORT,C_ as CLINE_DEFAULT_RPC_ADDRESS,j_ as CLINE_DEFAULT_MODEL_ID,J0 as CLINE_CHAT_WORKSPACE_DIRECTORY_NAME,t6 as CHARS_PER_TOKEN,D4 as AwsBedrockSettingsSchema,I4 as AwsBedrockModelSchema,$4 as AwsBedrockCustomModelSchema,Ef as ApiFormatSchema,z4 as ApiFormat,Z4 as AnthropicSchema,q4 as AnthropicModelSchema,k4 as AllowedMCPServerSchema,i4 as AgentUsageSchema,s0 as AgentResultSchema,p4 as AgentFinishReasonSchema,z0 as AgentConfigSchema,C4 as AUTH_ERROR_PATTERNS,g_ as APIKeySchema,p_ as AGENT_UNEXPECTED_REASONING_TOKENS_EVENT};
package/dist/index.d.ts CHANGED
@@ -25,11 +25,13 @@ export type { ContentBlock, FileContent, ImageContent, Message, MessageRole, Mes
25
25
  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";
26
26
  export { mergeModelOptions } from "./llms/model-options";
27
27
  export { DEFAULT_REASONING_EFFORT, REASONING_EFFORT_RATIOS, resolveEffectiveReasoningEffort, resolveReasoningBudgetFromRatio, resolveReasoningEffortRatio, } from "./llms/reasoning-effort";
28
+ export { type ModelReasoningOption, ModelReasoningOptionSchema, REASONING_LEVELS, type ReasoningEffort, ReasoningEffortSchema, type ReasoningLevel, ReasoningLevelSchema, } from "./llms/reasoning-options";
28
29
  export { serializeAbortReason } from "./llms/requests";
29
30
  export { CHARS_PER_TOKEN, estimateRequestInputTokens, estimateTokens, type TokenEstimatedRequest, } from "./llms/tokens";
30
31
  export type { ToolApprovalRequest, ToolApprovalResult, ToolCallRecord, ToolPolicy, } from "./llms/tools";
31
32
  export { ToolCallRecordSchema } from "./llms/tools";
32
33
  export { type BasicLogger, type BasicLogMetadata, noopBasicLogger, } from "./logging/logger";
34
+ export * from "./mcp";
33
35
  export { normalizeJsonLikeStringsForSchema, parseJsonStream, safeJsonParse, safeJsonStringify, } from "./parse/json";
34
36
  export { decodeJwtPayload } from "./parse/jwt";
35
37
  export { type OmitUndefinedValues, omitUndefinedValues } from "./parse/object";