@cline/llms 0.0.73 → 0.0.74

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 +1 @@
1
- {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/providers/builtins.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,uBAAuB,EAO5B,MAAM,eAAe,CAAC;AAQvB,OAAO,KAAK,EACX,eAAe,EAIf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAuBpE,eAAO,MAAM,6BAA6B,0FAC8C,CAAC;AACzF,eAAO,MAAM,6BAA6B,iFACqC,CAAC;AAWhF;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AAEnD,YAAY,EACX,WAAW,EACX,eAAe,EACf,cAAc,GACd,MAAM,iBAAiB,CAAC;AAyjCzB,eAAO,MAAM,aAAa,EAAE,WAAW,EAGtC,CAAC;AAWF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC5C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,GACd,MAAM,GAAG,SAAS,CAOpB;AAiDD,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,uBAAuB,CAiCrE;AAED,eAAO,MAAM,gCAAgC,EAAE,eAAe,EACzB,CAAC;AAEtC,eAAO,MAAM,kCAAkC,EAAE,MAAM,CACtD,MAAM,EACN,eAAe,CAMf,CAAC"}
1
+ {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../src/providers/builtins.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,uBAAuB,EAO5B,MAAM,eAAe,CAAC;AAQvB,OAAO,KAAK,EACX,eAAe,EAIf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAuBpE,eAAO,MAAM,6BAA6B,0FAC8C,CAAC;AACzF,eAAO,MAAM,6BAA6B,iFACqC,CAAC;AAWhF;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AAEnD,YAAY,EACX,WAAW,EACX,eAAe,EACf,cAAc,GACd,MAAM,iBAAiB,CAAC;AA+jCzB,eAAO,MAAM,aAAa,EAAE,WAAW,EAGtC,CAAC;AAWF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC5C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,GACd,MAAM,GAAG,SAAS,CAOpB;AAiDD,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,uBAAuB,CAiCrE;AAED,eAAO,MAAM,gCAAgC,EAAE,eAAe,EACzB,CAAC;AAEtC,eAAO,MAAM,kCAAkC,EAAE,MAAM,CACtD,MAAM,EACN,eAAe,CAMf,CAAC"}
@@ -9,5 +9,5 @@
9
9
  *
10
10
  * WARNING: DO NOT EDIT THIS FILE MANUALLY.
11
11
  */
12
- export declare const GENERATED_PROVIDER_IDS: readonly ["302ai", "abacus", "abliteration-ai", "ai-router", "aiand", "aihubmix", "aki-io", "alibaba", "alibaba-cn", "alibaba-coding-plan", "alibaba-coding-plan-cn", "alibaba-token-plan", "alibaba-token-plan-cn", "ambient", "anthropic", "anyapi", "atomic-chat", "auriko", "bailing", "baseten", "bedrock", "berget", "blueclaw", "cerebras", "chutes", "clarifai", "claudinio", "cline-pass", "cloudferro-sherlock", "cloudflare-workers-ai", "coralbricks", "cortecs", "crof", "crossmodel", "daoxe", "databricks", "deepseek", "digitalocean", "dinference", "drun", "ebcloud", "empiriolabs", "evroc", "fastrouter", "fireworks", "freemodel", "friendli", "frogbot", "gemini", "github-copilot", "gmicloud", "greenpt", "groq", "helicone", "hetzner", "hpc-ai", "huggingface", "hyper", "iflowcn", "impossibl", "inception", "inceptron", "inference", "inferx", "infomaniak", "io-net", "jiekou", "kenari", "kilo", "kimi-for-coding", "kuae-cloud-coding-plan", "lilac", "llama", "llmgateway", "llmtr", "lmstudio", "longcat", "lucidquery", "lynkr", "meganova", "meta", "minimax", "minimax-cn", "minimax-cn-coding-plan", "minimax-coding-plan", "mistral", "mixlayer", "moark", "modal", "model-oracle-ai", "modelis", "modelscope", "moonshot", "moonshotai-cn", "morph", "nano-gpt", "nearai", "nebius", "neon", "neuralwatt", "nova", "novita-ai", "nvidia", "ofox", "ollama", "openai-native", "opencode", "opencode-go", "openrouter", "orcarouter", "ovhcloud", "perplexity-agent", "pioneer", "poe", "poolside", "privatemode-ai", "qihang-ai", "qiniu-ai", "regolo-ai", "requesty", "routing-run", "sakana", "sapaicore", "sarvam", "scaleway", "scx", "siliconflow", "siliconflow-cn", "snowflake-cortex", "stackit", "stepfun", "stepfun-ai", "stepfun-ai-step-plan", "stepfun-step-plan", "subconscious", "submodel", "synthetic", "tencent-coding-plan", "tencent-token-plan", "tencent-tokenhub", "tensorx", "the-grid-ai", "thinkingmachines", "tinfoil", "together", "trustedrouter", "umans-ai", "umans-ai-coding-plan", "unorouter", "upstage", "v0", "vercel-ai-gateway", "vertex", "vivgrid", "vultr", "wafer.ai", "wandb", "xai", "xiaomi", "xiaomi-token-plan-ams", "xiaomi-token-plan-cn", "xiaomi-token-plan-sgp", "xpersona", "zai", "zai-coding-plan", "zeldoc", "zenifra", "zenmux", "zhipuai", "zhipuai-coding-plan"];
12
+ export declare const GENERATED_PROVIDER_IDS: readonly ["302ai", "abacus", "abliteration-ai", "ai-router", "aiand", "aihubmix", "aki-io", "alibaba", "alibaba-cn", "alibaba-coding-plan", "alibaba-coding-plan-cn", "alibaba-token-plan", "alibaba-token-plan-cn", "ambient", "anthropic", "anyapi", "atomic-chat", "auriko", "bailing", "baseten", "bedrock", "berget", "blueclaw", "cerebras", "chutes", "clarifai", "claudinio", "cline-pass", "cloudferro-sherlock", "cloudflare-workers-ai", "coralbricks", "cortecs", "crof", "crossmodel", "daoxe", "databricks", "deepseek", "digitalocean", "dinference", "drun", "ebcloud", "edenai", "empiriolabs", "evroc", "fastrouter", "fireworks", "freemodel", "friendli", "frogbot", "gemini", "github-copilot", "gmicloud", "greenpt", "groq", "helicone", "hetzner", "hpc-ai", "huggingface", "hyper", "iflowcn", "impossibl", "inception", "inceptron", "inference", "inferx", "infomaniak", "io-net", "jiekou", "kenari", "kilo", "kimi-for-coding", "kuae-cloud-coding-plan", "lilac", "llama", "llmgateway", "llmtr", "lmstudio", "longcat", "lucidquery", "lynkr", "meganova", "meta", "minimax", "minimax-cn", "minimax-cn-coding-plan", "minimax-coding-plan", "mistral", "mixlayer", "moark", "modal", "model-oracle-ai", "modelis", "modelscope", "moonshot", "moonshotai-cn", "morph", "nano-gpt", "nearai", "nebius", "neon", "neuralwatt", "nova", "novita-ai", "nvidia", "ofox", "ollama", "openai-native", "opencode", "opencode-go", "openrouter", "orcarouter", "ovhcloud", "perplexity-agent", "pioneer", "poe", "poolside", "privatemode-ai", "qihang-ai", "qiniu-ai", "regolo-ai", "requesty", "routing-run", "sakana", "sapaicore", "sarvam", "scaleway", "scx", "siliconflow", "siliconflow-cn", "snowflake-cortex", "stackit", "stepfun", "stepfun-ai", "stepfun-ai-step-plan", "stepfun-step-plan", "subconscious", "submodel", "synthetic", "tencent-coding-plan", "tencent-token-plan", "tencent-tokenhub", "tensorx", "the-grid-ai", "thinkingmachines", "tinfoil", "together", "trustedrouter", "umans-ai", "umans-ai-coding-plan", "unorouter", "upstage", "v0", "vercel-ai-gateway", "vertex", "vivgrid", "vultr", "wafer.ai", "wandb", "xai", "xiaomi", "xiaomi-token-plan-ams", "xiaomi-token-plan-cn", "xiaomi-token-plan-sgp", "xpersona", "zai", "zai-coding-plan", "zeldoc", "zenifra", "zenmux", "zhipuai", "zhipuai-coding-plan"];
13
13
  //# sourceMappingURL=provider-ids.generated.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-ids.generated.d.ts","sourceRoot":"","sources":["../../src/providers/provider-ids.generated.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,ouEA2KzB,CAAC"}
1
+ {"version":3,"file":"provider-ids.generated.d.ts","sourceRoot":"","sources":["../../src/providers/provider-ids.generated.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,8uEA4KzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"providers.generated.d.ts","sourceRoot":"","sources":["../../src/providers/providers.generated.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,eAAO,MAAM,wBAAwB,EAAE,SAAS,WAAW,EA00E1D,CAAC"}
1
+ {"version":3,"file":"providers.generated.d.ts","sourceRoot":"","sources":["../../src/providers/providers.generated.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,eAAO,MAAM,wBAAwB,EAAE,SAAS,WAAW,EAw1E1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"community.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/community.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAQnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAsErD,wBAAsB,8BAA8B,CACnD,MAAM,EAAE,6BAA6B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAgChC;AAED,wBAAsB,+BAA+B,CACpD,MAAM,EAAE,6BAA6B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAmBhC;AA+BD,wBAAsB,4BAA4B,CACjD,MAAM,EAAE,6BAA6B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAgBhC;AAED,wBAAsB,wBAAwB,CAC7C,MAAM,EAAE,6BAA6B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAchC;AAyID,wBAAsB,6BAA6B,CAClD,MAAM,EAAE,6BAA6B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CA6BhC"}
1
+ {"version":3,"file":"community.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/community.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAQnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAsErD,wBAAsB,8BAA8B,CACnD,MAAM,EAAE,6BAA6B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAyDhC;AAED,wBAAsB,+BAA+B,CACpD,MAAM,EAAE,6BAA6B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAmBhC;AA+BD,wBAAsB,4BAA4B,CACjD,MAAM,EAAE,6BAA6B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAgBhC;AAED,wBAAsB,wBAAwB,CAC7C,MAAM,EAAE,6BAA6B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAchC;AAyID,wBAAsB,6BAA6B,CAClD,MAAM,EAAE,6BAA6B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CA6BhC"}
@@ -1,4 +1,4 @@
1
- import{z as n}from"zod";import{z as l}from"zod";import{z as d}from"zod";import{z as g}from"zod";import{z as s}from"zod";import{z as o}from"zod";import{z as Dt}from"zod";import{z as t}from"zod";import w from"zod";import{z as p}from"zod";import{z as e}from"zod";import{z as jn}from"zod";var R=["none","minimal","low","medium","high","xhigh","max"],Y=d.enum(R),Z=Y.exclude(["none"]),K=d.enum([...R,"default"]).nullable(),X=d.discriminatedUnion("type",[d.object({type:d.literal("toggle")}).strict(),d.object({type:d.literal("effort"),values:d.array(K)}).strict(),d.object({type:d.literal("budget_tokens"),min:d.number().min(-1).optional(),max:d.number().min(0).optional()}).strict().refine((r)=>r.min===void 0||r.max===void 0||r.min<=r.max,{message:"Minimum reasoning budget cannot exceed maximum",path:["min"]})]),Q=l.enum(["default","openai-responses","r1"]);var V=l.enum(["images","video","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),ee=l.enum(["active","preview","deprecated","legacy"]),te=l.object({input:l.number().optional(),output:l.number().optional(),cacheWrite:l.number().optional(),cacheRead:l.number().optional()}),ne=l.object({maxBudget:l.number().optional(),outputPrice:l.number().optional(),thinkingLevel:l.enum(["low","high"]).optional()}),re=l.object({reasoningDefaultOn:l.boolean().optional()}).catchall(l.unknown()),j=l.object({id:l.string(),name:l.string().optional(),description:l.string().optional(),maxTokens:l.number().optional(),contextWindow:l.number().optional(),maxInputTokens:l.number().optional(),capabilities:l.array(V).optional(),reasoningOptions:l.array(X).optional(),apiFormat:Q.optional(),systemRole:l.enum(["system","developer"]).optional(),temperature:l.number().optional(),pricing:te.optional(),thinkingConfig:ne.optional(),status:ee.optional(),deprecationNotice:l.string().optional(),replacedBy:l.string().optional(),releaseDate:l.string().optional(),deprecationDate:l.string().optional(),family:l.string().optional(),metadata:re.optional()}),oe=g.object({id:g.string(),name:g.string(),input:g.unknown(),output:g.unknown(),error:g.string().optional(),durationMs:g.number(),startedAt:g.date(),endedAt:g.date()}),ae=n.enum(["completed","max_iterations","aborted","mistake_limit","error"]),ie=n.object({inputTokens:n.number(),outputTokens:n.number(),cacheReadTokens:n.number().optional(),cacheWriteTokens:n.number().optional(),totalCost:n.number().optional()}),Tt=n.object({text:n.string(),usage:ie,messages:n.array(n.custom()),toolCalls:n.array(oe),iterations:n.number(),finishReason:ae,model:n.object({id:n.string(),provider:n.string(),info:j.optional()}),startedAt:n.date(),endedAt:n.date(),durationMs:n.number()}),wt=n.object({sessionId:n.string().optional(),providerId:n.string(),modelId:n.string(),apiKey:n.string().optional(),baseUrl:n.string().url().optional(),headers:n.record(n.string(),n.string()).optional(),knownModels:n.record(n.string(),j).optional(),providerConfig:n.unknown().optional(),initialMessages:n.array(n.custom()).optional(),systemPrompt:n.string(),tools:n.array(n.custom()),maxIterations:n.number().positive().optional(),maxParallelToolCalls:n.number().int().positive().default(8),maxTokensPerTurn:n.number().positive().optional(),temperature:n.number().nonnegative().optional(),apiTimeoutMs:n.number().positive().default(180000),userFileContentLoader:n.function().input([n.string()]).output(n.promise(n.string())).optional(),toolContextMetadata:n.record(n.string(),n.unknown()).optional(),execution:n.object({maxConsecutiveMistakes:n.number().int().positive().optional(),reminderAfterIterations:n.number().nonnegative().optional(),reminderText:n.string().optional(),loopDetection:n.union([n.literal(!1),n.object({softThreshold:n.number().int().positive().optional(),hardThreshold:n.number().int().positive().optional()})]).optional()}).optional(),reasoningEffort:Z.optional(),thinkingBudgetTokens:n.number().positive().optional(),thinking:n.boolean().optional(),onEvent:n.function().input([n.custom()]).output(n.void()).optional(),hooks:n.custom().optional(),parentAgentId:n.string().optional(),extensions:n.array(n.custom()).optional(),hookErrorMode:n.enum(["ignore","throw"]).default("ignore"),toolPolicies:n.record(n.string(),n.object({enabled:n.boolean().optional(),autoApprove:n.boolean().optional()})).optional(),requestToolApproval:n.function().input([n.object({sessionId:n.string(),agentId:n.string(),conversationId:n.string(),iteration:n.number(),toolCallId:n.string(),toolName:n.string(),input:n.unknown(),policy:n.object({enabled:n.boolean().optional(),autoApprove:n.boolean().optional()}).default({})})]).output(n.union([n.object({approved:n.boolean(),reason:n.string().optional()}),n.promise(n.object({approved:n.boolean(),reason:n.string().optional()}))])).optional(),onConsecutiveMistakeLimitReached:n.function().input([n.object({iteration:n.number().int().positive(),consecutiveMistakes:n.number().int().positive(),maxConsecutiveMistakes:n.number().int().positive(),reason:n.enum(["api_error","invalid_tool_call","tool_execution_failed"]),details:n.string().optional()})]).output(n.union([n.object({action:n.literal("continue"),guidance:n.string().optional()}),n.object({action:n.literal("stop"),reason:n.string().optional()}),n.promise(n.union([n.object({action:n.literal("continue"),guidance:n.string().optional()}),n.object({action:n.literal("stop"),reason:n.string().optional()})]))])).optional(),logger:n.custom().optional(),extensionContext:n.custom().optional(),abortSignal:n.custom().optional()}),se=s.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"]),le=s.object({id:s.string().optional(),label:s.string().optional(),role:s.string().optional(),participantKey:s.string().optional(),participantLabel:s.string().optional(),platformUserId:s.string().optional(),metadata:s.record(s.string(),s.unknown()).optional()}),ue=s.object({source:s.string(),sourceEvent:s.string(),threadId:s.string(),channelId:s.string(),isDM:s.boolean(),sessionId:s.string().optional(),workspaceRoot:s.string().optional(),metadata:s.record(s.string(),s.unknown()).optional()}),St=s.object({actor:le,context:ue,payload:s.record(s.string(),s.unknown()).optional()}),At=s.object({action:s.enum(["allow","deny"]).default("allow"),message:s.string().optional(),reason:s.string().optional(),metadata:s.record(s.string(),s.unknown()).optional()}),Ct=s.object({adapter:s.string(),botUserName:s.string().optional(),event:se,payload:s.record(s.string(),s.unknown()),ts:s.string()});var ce=["hooks","tools","commands","rules","skills","messageBuilders","providers","automationEvents","mcp"],_t=new Set(ce);var N={CLINE_PASS:"ext-cline-pass"},xt={[N.CLINE_PASS]:!1},It=Object.values(N),de=o.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),f=o.record(o.string(),o.string()),pe=o.object({toolName:o.string(),parameters:f}),me=o.object({toolName:o.string(),parameters:f,result:o.string(),success:o.boolean(),executionTimeMs:o.number()}),ge=o.object({prompt:o.string(),attachments:o.array(o.string())}),he=o.object({taskMetadata:f}),fe=o.object({taskMetadata:f,previousState:f}),be=o.object({taskMetadata:f}),ye=o.object({taskMetadata:f}),ve=o.object({taskId:o.string(),ulid:o.string(),contextSize:o.number(),compactionStrategy:o.string(),previousApiReqIndex:o.number(),tokensIn:o.number(),tokensOut:o.number(),tokensInCache:o.number(),tokensOutCache:o.number(),deletedRangeStart:o.number(),deletedRangeEnd:o.number(),contextJsonPath:o.string(),contextRawPath:o.string()}),Ot=o.object({clineVersion:o.string(),hookName:de,timestamp:o.string(),taskId:o.string(),sessionContext:o.object({rootSessionId:o.string().optional(),hookLogPath:o.string().optional()}).optional(),workspaceRoots:o.array(o.string()),workspaceInfo:o.custom().optional(),userId:o.string(),agent_id:o.string(),parent_agent_id:o.string().nullable(),iteration:o.number().optional(),reason:o.string().optional(),tool_call:o.object({id:o.string(),name:o.string(),input:o.unknown()}).optional(),tool_result:o.custom().optional(),turn:o.unknown().optional(),error:o.object({name:o.string(),message:o.string(),stack:o.string().optional()}).optional(),preToolUse:pe.optional(),postToolUse:me.optional(),userPromptSubmit:ge.optional(),taskStart:he.optional(),taskResume:fe.optional(),taskCancel:be.optional(),taskComplete:ye.optional(),preCompact:ve.optional()}).passthrough();var ke=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],Rt=new Set(ke);var jt=["show","hide","subscription"];function Te(r){if(typeof globalThis.atob==="function")try{let i=globalThis.atob(r),c=Uint8Array.from(i,(h)=>h.charCodeAt(0));return new TextDecoder().decode(c)}catch{return null}if(typeof Buffer<"u")try{return Buffer.from(r,"base64").toString("utf8")}catch{return null}return null}function Nt(r){let i=r?.trim();if(!i)return null;try{let c=i.split(".");if(c.length!==3)return null;let h=c[1];if(!h)return null;let b=h.replace(/-/g,"+").replace(/_/g,"/"),J=b.padEnd(b.length+(4-b.length%4)%4,"="),x=Te(J);return x?JSON.parse(x):null}catch{return null}}var L=`# Plan Mode
1
+ import{z as n}from"zod";import{z as l}from"zod";import{z as d}from"zod";import{z as g}from"zod";import{z as s}from"zod";import{z as o}from"zod";import{z as Dt}from"zod";import{z as t}from"zod";import w from"zod";import{z as p}from"zod";import{z as e}from"zod";import{z as jn}from"zod";var R=["none","minimal","low","medium","high","xhigh","max"],Y=d.enum(R),Z=Y.exclude(["none"]),K=d.enum([...R,"default"]).nullable(),X=d.discriminatedUnion("type",[d.object({type:d.literal("toggle")}).strict(),d.object({type:d.literal("effort"),values:d.array(K)}).strict(),d.object({type:d.literal("budget_tokens"),min:d.number().min(-1).optional(),max:d.number().min(0).optional()}).strict().refine((r)=>r.min===void 0||r.max===void 0||r.min<=r.max,{message:"Minimum reasoning budget cannot exceed maximum",path:["min"]})]),Q=l.enum(["default","openai-responses","r1"]);var V=l.enum(["images","video","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),ee=l.enum(["active","preview","deprecated","legacy"]),te=l.object({input:l.number().optional(),output:l.number().optional(),cacheWrite:l.number().optional(),cacheRead:l.number().optional()}),ne=l.object({maxBudget:l.number().optional(),outputPrice:l.number().optional(),thinkingLevel:l.enum(["low","high"]).optional()}),re=l.object({reasoningDefaultOn:l.boolean().optional()}).catchall(l.unknown()),j=l.object({id:l.string(),name:l.string().optional(),description:l.string().optional(),maxTokens:l.number().optional(),contextWindow:l.number().optional(),maxInputTokens:l.number().optional(),capabilities:l.array(V).optional(),reasoningOptions:l.array(X).optional(),apiFormat:Q.optional(),systemRole:l.enum(["system","developer"]).optional(),temperature:l.number().optional(),pricing:te.optional(),thinkingConfig:ne.optional(),status:ee.optional(),deprecationNotice:l.string().optional(),replacedBy:l.string().optional(),releaseDate:l.string().optional(),deprecationDate:l.string().optional(),family:l.string().optional(),metadata:re.optional()}),oe=g.object({id:g.string(),name:g.string(),input:g.unknown(),output:g.unknown(),error:g.string().optional(),durationMs:g.number(),startedAt:g.date(),endedAt:g.date()}),ie=n.enum(["completed","max_iterations","aborted","mistake_limit","error"]),ae=n.object({inputTokens:n.number(),outputTokens:n.number(),cacheReadTokens:n.number().optional(),cacheWriteTokens:n.number().optional(),totalCost:n.number().optional()}),Tt=n.object({text:n.string(),usage:ae,messages:n.array(n.custom()),toolCalls:n.array(oe),iterations:n.number(),finishReason:ie,model:n.object({id:n.string(),provider:n.string(),info:j.optional()}),startedAt:n.date(),endedAt:n.date(),durationMs:n.number()}),wt=n.object({sessionId:n.string().optional(),providerId:n.string(),modelId:n.string(),apiKey:n.string().optional(),baseUrl:n.string().url().optional(),headers:n.record(n.string(),n.string()).optional(),knownModels:n.record(n.string(),j).optional(),providerConfig:n.unknown().optional(),initialMessages:n.array(n.custom()).optional(),systemPrompt:n.string(),tools:n.array(n.custom()),maxIterations:n.number().positive().optional(),maxParallelToolCalls:n.number().int().positive().default(8),maxTokensPerTurn:n.number().positive().optional(),temperature:n.number().nonnegative().optional(),apiTimeoutMs:n.number().positive().default(180000),userFileContentLoader:n.function().input([n.string()]).output(n.promise(n.string())).optional(),toolContextMetadata:n.record(n.string(),n.unknown()).optional(),execution:n.object({maxConsecutiveMistakes:n.number().int().positive().optional(),reminderAfterIterations:n.number().nonnegative().optional(),reminderText:n.string().optional(),loopDetection:n.union([n.literal(!1),n.object({softThreshold:n.number().int().positive().optional(),hardThreshold:n.number().int().positive().optional()})]).optional()}).optional(),reasoningEffort:Z.optional(),thinkingBudgetTokens:n.number().positive().optional(),thinking:n.boolean().optional(),onEvent:n.function().input([n.custom()]).output(n.void()).optional(),hooks:n.custom().optional(),parentAgentId:n.string().optional(),extensions:n.array(n.custom()).optional(),hookErrorMode:n.enum(["ignore","throw"]).default("ignore"),toolPolicies:n.record(n.string(),n.object({enabled:n.boolean().optional(),autoApprove:n.boolean().optional()})).optional(),requestToolApproval:n.function().input([n.object({sessionId:n.string(),agentId:n.string(),conversationId:n.string(),iteration:n.number(),toolCallId:n.string(),toolName:n.string(),input:n.unknown(),policy:n.object({enabled:n.boolean().optional(),autoApprove:n.boolean().optional()}).default({})})]).output(n.union([n.object({approved:n.boolean(),reason:n.string().optional()}),n.promise(n.object({approved:n.boolean(),reason:n.string().optional()}))])).optional(),onConsecutiveMistakeLimitReached:n.function().input([n.object({iteration:n.number().int().positive(),consecutiveMistakes:n.number().int().positive(),maxConsecutiveMistakes:n.number().int().positive(),reason:n.enum(["api_error","invalid_tool_call","tool_execution_failed"]),details:n.string().optional()})]).output(n.union([n.object({action:n.literal("continue"),guidance:n.string().optional()}),n.object({action:n.literal("stop"),reason:n.string().optional()}),n.promise(n.union([n.object({action:n.literal("continue"),guidance:n.string().optional()}),n.object({action:n.literal("stop"),reason:n.string().optional()})]))])).optional(),logger:n.custom().optional(),extensionContext:n.custom().optional(),abortSignal:n.custom().optional()}),se=s.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"]),le=s.object({id:s.string().optional(),label:s.string().optional(),role:s.string().optional(),participantKey:s.string().optional(),participantLabel:s.string().optional(),platformUserId:s.string().optional(),metadata:s.record(s.string(),s.unknown()).optional()}),ue=s.object({source:s.string(),sourceEvent:s.string(),threadId:s.string(),channelId:s.string(),isDM:s.boolean(),sessionId:s.string().optional(),workspaceRoot:s.string().optional(),metadata:s.record(s.string(),s.unknown()).optional()}),St=s.object({actor:le,context:ue,payload:s.record(s.string(),s.unknown()).optional()}),At=s.object({action:s.enum(["allow","deny"]).default("allow"),message:s.string().optional(),reason:s.string().optional(),metadata:s.record(s.string(),s.unknown()).optional()}),Ct=s.object({adapter:s.string(),botUserName:s.string().optional(),event:se,payload:s.record(s.string(),s.unknown()),ts:s.string()});var ce=["hooks","tools","commands","rules","skills","messageBuilders","providers","automationEvents","mcp"],_t=new Set(ce);var N={CLINE_PASS:"ext-cline-pass"},xt={[N.CLINE_PASS]:!1},It=Object.values(N),de=o.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),f=o.record(o.string(),o.string()),pe=o.object({toolName:o.string(),parameters:f}),me=o.object({toolName:o.string(),parameters:f,result:o.string(),success:o.boolean(),executionTimeMs:o.number()}),ge=o.object({prompt:o.string(),attachments:o.array(o.string())}),he=o.object({taskMetadata:f}),fe=o.object({taskMetadata:f,previousState:f}),be=o.object({taskMetadata:f}),ye=o.object({taskMetadata:f}),ve=o.object({taskId:o.string(),ulid:o.string(),contextSize:o.number(),compactionStrategy:o.string(),previousApiReqIndex:o.number(),tokensIn:o.number(),tokensOut:o.number(),tokensInCache:o.number(),tokensOutCache:o.number(),deletedRangeStart:o.number(),deletedRangeEnd:o.number(),contextJsonPath:o.string(),contextRawPath:o.string()}),Ot=o.object({clineVersion:o.string(),hookName:de,timestamp:o.string(),taskId:o.string(),sessionContext:o.object({rootSessionId:o.string().optional(),hookLogPath:o.string().optional()}).optional(),workspaceRoots:o.array(o.string()),workspaceInfo:o.custom().optional(),userId:o.string(),agent_id:o.string(),parent_agent_id:o.string().nullable(),iteration:o.number().optional(),reason:o.string().optional(),tool_call:o.object({id:o.string(),name:o.string(),input:o.unknown()}).optional(),tool_result:o.custom().optional(),turn:o.unknown().optional(),error:o.object({name:o.string(),message:o.string(),stack:o.string().optional()}).optional(),preToolUse:pe.optional(),postToolUse:me.optional(),userPromptSubmit:ge.optional(),taskStart:he.optional(),taskResume:fe.optional(),taskCancel:be.optional(),taskComplete:ye.optional(),preCompact:ve.optional()}).passthrough();var ke=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],Rt=new Set(ke);var jt=["show","hide","subscription"];function Te(r){if(typeof globalThis.atob==="function")try{let a=globalThis.atob(r),c=Uint8Array.from(a,(h)=>h.charCodeAt(0));return new TextDecoder().decode(c)}catch{return null}if(typeof Buffer<"u")try{return Buffer.from(r,"base64").toString("utf8")}catch{return null}return null}function Nt(r){let a=r?.trim();if(!a)return null;try{let c=a.split(".");if(c.length!==3)return null;let h=c[1];if(!h)return null;let b=h.replace(/-/g,"+").replace(/_/g,"/"),J=b.padEnd(b.length+(4-b.length%4)%4,"="),x=Te(J);return x?JSON.parse(x):null}catch{return null}}var L=`# Plan Mode
2
2
 
3
3
  You are in Plan mode. Your role is to explore, analyze, and plan -- not to execute.
4
4
 
@@ -13,4 +13,4 @@ The run_commands tool remains available in plan mode strictly for read-only insp
13
13
 
14
14
  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.`,Bt=`${L}
15
15
 
16
- Once you have presented your plan, end your turn and wait for the user's response. You do NOT have the ability to switch to act mode yourself -- the user must do it manually with the Plan/Act toggle once they are satisfied with the plan. If the task requires tools that are only available in act mode, ask the user to "toggle to Act mode" (use those words).`;var $t="anthropic/claude-sonnet-5";var we=t.object({id:t.string(),temperature:t.number().optional(),maxTokens:t.number().optional(),contextWindow:t.number().optional(),inputPrice:t.number().optional(),outputPrice:t.number().optional(),supportsImages:t.boolean().optional()}),Ee=t.object({models:t.array(we).optional(),openAiBaseUrl:t.string().optional(),openAiHeaders:t.record(t.string(),t.string()).optional(),azureApiVersion:t.string().optional(),azureIdentity:t.boolean().optional()}),Se=t.object({id:t.string(),thinkingBudgetTokens:t.number().optional()}),Ae=t.object({name:t.string(),baseModelId:t.string(),thinkingBudgetTokens:t.number().optional()}),Ce=t.object({models:t.array(Se).optional(),customModels:t.array(Ae).optional(),awsRegion:t.string().optional(),awsUseCrossRegionInference:t.boolean().optional(),awsUseGlobalInference:t.boolean().optional(),awsBedrockUsePromptCache:t.boolean().optional(),awsBedrockEndpoint:t.string().optional()}),_e=t.object({id:t.string()}),xe=t.object({models:t.array(_e).optional()}),Ie=t.object({id:t.string(),thinkingBudgetTokens:t.number().optional()}),Me=t.object({models:t.array(Ie).optional(),vertexProjectId:t.string().optional(),vertexRegion:t.string().optional()}),Oe=t.object({id:t.string(),thinkingBudgetTokens:t.number().optional(),promptCachingEnabled:t.boolean().optional()}),Re=t.object({models:t.array(Oe).optional(),baseUrl:t.string().optional()}),je=t.object({id:t.string(),thinkingBudgetTokens:t.number().optional()}),Ne=t.object({models:t.array(je).optional(),baseUrl:t.string().optional()}),Le=t.object({OpenAiCompatible:Ee.optional(),AwsBedrock:Ce.optional(),Cline:xe.optional(),Vertex:Me.optional(),LiteLLM:Re.optional(),Anthropic:Ne.optional()}),De=t.object({id:t.string()}),Pe=t.object({name:t.string(),url:t.string(),alwaysEnabled:t.boolean().optional(),headers:t.record(t.string(),t.string()).optional()}),I=t.object({alwaysEnabled:t.boolean(),name:t.string(),contents:t.string()}),T=t.object({bucket:t.string(),accessKeyId:t.string(),secretAccessKey:t.string(),region:t.string().optional(),endpoint:t.string().optional(),accountId:t.string().optional()}),Be=t.object({enabled:t.boolean().optional(),type:t.union([t.literal("s3_access_keys"),t.literal("r2_access_keys"),t.literal("azure_access_keys")]).optional(),s3AccessSettings:T.optional(),r2AccessSettings:T.optional(),azureAccessSettings:T.optional()}),$e=t.object({promptUploading:Be.optional()}),Ut=t.object({version:t.string(),providerSettings:Le.optional(),telemetryEnabled:t.boolean().optional(),kanbanEnabled:t.boolean().optional(),mcpMarketplaceEnabled:t.boolean().optional(),allowedMCPServers:t.array(De).optional(),remoteMCPServers:t.array(Pe).optional(),blockPersonalRemoteMCPServers:t.boolean().optional(),yoloModeAllowed:t.boolean().optional(),openTelemetryEnabled:t.boolean().optional(),openTelemetryMetricsExporter:t.string().optional(),openTelemetryLogsExporter:t.string().optional(),openTelemetryOtlpProtocol:t.string().optional(),openTelemetryOtlpEndpoint:t.string().optional(),openTelemetryOtlpHeaders:t.record(t.string(),t.string()).optional(),openTelemetryOtlpMetricsProtocol:t.string().optional(),openTelemetryOtlpMetricsEndpoint:t.string().optional(),openTelemetryOtlpMetricsHeaders:t.record(t.string(),t.string()).optional(),openTelemetryOtlpLogsProtocol:t.string().optional(),openTelemetryOtlpLogsEndpoint:t.string().optional(),openTelemetryOtlpLogsHeaders:t.record(t.string(),t.string()).optional(),openTelemetryMetricExportInterval:t.number().optional(),openTelemetryOtlpInsecure:t.boolean().optional(),openTelemetryLogBatchSize:t.number().optional(),openTelemetryLogBatchTimeout:t.number().optional(),openTelemetryLogMaxQueueSize:t.number().optional(),enterpriseTelemetry:$e.optional(),globalRules:t.array(I).optional(),globalWorkflows:t.array(I).optional()}),qt=t.record(t.string(),t.string());var zt=w.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth","popular"]),Wt=w.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),Gt=w.enum(["anthropic","ai-sdk","ai-sdk-community","openai","openai-compatible","openai-r1","gemini","bedrock","custom","fetch","vertex"]);var M={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"}};function O(r){let i=r?.trim().toLowerCase();if(i==="production"||i==="staging"||i==="local")return i;return}function D(){if(typeof process>"u"||!process?.env)return{};return process.env}function Fe(){let r=D();return O(r.CLINE_ENVIRONMENT_OVERRIDE)??O(r.CLINE_ENVIRONMENT)??"production"}function Ue(r){if(typeof r==="string")return M[r];return M[Fe()]}function qe(r,i){if(i.CLINE_API_BASE_URL)r={...r,apiBaseUrl:i.CLINE_API_BASE_URL,mcpBaseUrl:`${i.CLINE_API_BASE_URL}/v1/mcp`};return r}function P(r){let i=Ue(r);return qe(i,D())}var He=["rules","skills","workflows","plugins"];var Jt=new Set(He);var ze=p.object({rootPath:p.string().min(1),hint:p.string().min(1).optional(),associatedRemoteUrls:p.array(p.string().min(1)).optional(),latestGitCommitHash:p.string().min(1).optional(),latestGitBranchName:p.string().min(1).optional()}),Zt=p.object({currentWorkspacePath:p.string().min(1).optional(),workspaces:p.record(p.string().min(1),ze)});var We=["current_state","boundary_analysis","interface_proposal"];var m=e.preprocess((r)=>r instanceof Date?r.toISOString():r,e.string().datetime()),y=e.enum(["pending","in_progress","blocked","completed"]),B=e.enum(["queued","running","completed","failed","cancelled","interrupted"]),v=e.enum(["draft","in_review","finalized"]),Ge=e.object({agentId:e.string(),role:e.enum(["lead","teammate"]),description:e.string().optional(),status:e.enum(["idle","running","stopped"])}),Xt=e.object({agentId:e.string(),rolePrompt:e.string(),modelId:e.string().optional(),maxIterations:e.number().optional()});function u(r){return e.preprocess((i)=>i===null?void 0:i,r.optional())}var Qt=e.object({agentId:e.string().min(1).describe("Teammate identifier"),rolePrompt:e.string().min(1).describe("System prompt describing teammate role")}).strict(),Vt=e.object({agentId:e.string().min(1).describe("Teammate identifier"),reason:u(e.string().min(1)).describe("Optional shutdown reason")}),en=e.object({}),Je={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]};var tn=e.object({action:e.enum(["create","list","claim","complete","block"]),title:u(e.string().min(1)).describe("Task title"),description:u(e.string().min(1)).describe("Task details"),dependsOn:u(e.array(e.string().describe("Dependency task ID"))).describe("Array of dependency task IDs"),assignee:u(e.string().min(1)).describe("Optional assignee"),status:u(e.enum(["pending","in_progress","blocked","completed"])).describe("Optional task status filter"),taskId:u(e.string()).describe("Task ID"),summary:u(e.string().min(1)).describe("Completion summary"),reason:u(e.string().min(1)).describe("Blocking reason")}).superRefine((r,i)=>{for(let c of Je[r.action]){if(r[c]!==void 0)continue;i.addIssue({code:"custom",path:[c],message:`Field "${c}" is required when action=${r.action}`})}}),nn=e.object({agentId:e.string().describe("Teammate agent ID"),task:e.string().min(1).describe("Task instructions for the teammate"),taskId:u(e.string()).describe("Optional shared task list ID"),runMode:u(e.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:u(e.boolean()).describe("If true, continue the teammate conversation; otherwise start fresh")}),rn=e.object({status:u(e.enum(["queued","running","completed","failed","cancelled","interrupted"])).describe("Optional run status filter. Omit to include all statuses."),agentId:u(e.string().min(1)).describe("Optional teammate ID filter. Omit to include all teammates."),includeCompleted:u(e.boolean()).describe("Include completed/failed runs (default true)")}),on=e.object({runId:e.string().min(1).describe("Run ID"),reason:u(e.string().min(1)).describe("Optional cancellation reason")}),an=e.object({runId:u(e.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),sn=e.object({toAgentId:e.string().min(1).describe("Recipient agent ID"),subject:e.string().min(1).describe("Message subject"),body:e.string().min(1).describe("Message body"),taskId:u(e.string().min(1)).describe("Optional task ID context")}),ln=e.object({subject:e.string().min(1).describe("Message subject"),body:e.string().min(1).describe("Message body"),taskId:u(e.string().min(1)).describe("Optional task ID context")}),un=e.object({unreadOnly:u(e.boolean()).describe("Only unread messages for read action (default true)")}),cn=e.object({kind:e.enum(["progress","handoff","blocked","decision","done","error"]),summary:e.string().min(1).describe("Update summary"),taskId:u(e.string().min(1)).describe("Optional task ID context"),evidence:u(e.array(e.string().min(1))).describe("Optional evidence links/snippets"),nextAction:u(e.string().min(1)).describe("Planned next step")}),dn=e.object({}),pn=e.object({title:e.string().describe("Outcome title"),requiredSections:e.array(e.string()).default(We).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),mn=e.object({outcomeId:e.string().describe("Outcome ID"),section:e.string().describe("Section name"),sourceRunId:u(e.string()).describe("Optional source run ID"),content:e.string().describe("Section fragment content")}),gn=e.object({fragmentId:e.string().describe("Fragment ID"),approved:e.boolean().describe("Review decision")}),hn=e.object({outcomeId:e.string().describe("Outcome ID")}),fn=e.object({}),bn=e.object({teamId:e.string(),teamName:e.string(),members:e.array(Ge),taskCounts:e.record(y,e.number()),unreadMessages:e.number(),missionLogEntries:e.number(),activeRuns:e.number(),queuedRuns:e.number(),outcomeCounts:e.record(v,e.number())}),Ye=e.object({id:e.string(),title:e.string(),description:e.string(),status:y,createdAt:m,updatedAt:m,createdBy:e.string(),assignee:e.string().optional(),dependsOn:e.array(e.string()),summary:e.string().optional(),isReady:e.boolean(),blockedBy:e.array(e.string())}),yn=e.discriminatedUnion("action",[e.object({action:e.literal("create"),taskId:e.string(),status:y,ignoredFields:e.array(e.string()).optional(),note:e.string().optional()}),e.object({action:e.literal("list"),tasks:e.array(Ye)}),e.object({action:e.literal("claim"),taskId:e.string(),status:y,nextStep:e.string()}),e.object({action:e.literal("complete"),taskId:e.string(),status:y}),e.object({action:e.literal("block"),taskId:e.string(),status:y})]),vn=e.object({agentId:e.string(),mode:e.enum(["sync","async"]),status:e.enum(["dispatched","running","queued","joined"]),dispatched:e.boolean(),message:e.string(),deduped:e.boolean().optional(),runId:e.string().optional(),text:e.string().optional(),iterations:e.number().optional()}),Ze=e.object({textPreview:e.string(),iterations:e.number(),finishReason:e.string(),durationMs:e.number(),usage:e.object({inputTokens:e.number(),outputTokens:e.number(),cacheReadTokens:e.number().optional(),cacheWriteTokens:e.number().optional(),totalCost:e.number().optional()})}),kn=e.object({id:e.string(),agentId:e.string(),taskId:e.string().optional(),status:B,messagePreview:e.string(),priority:e.number(),retryCount:e.number(),maxRetries:e.number(),nextAttemptAt:m.optional(),continueConversation:e.boolean().optional(),startedAt:m,endedAt:m.optional(),leaseOwner:e.string().optional(),heartbeatAt:m.optional(),lastProgressAt:m.optional(),lastProgressMessage:e.string().optional(),currentActivity:e.string().optional(),error:e.string().optional(),resultSummary:Ze.optional()}),Tn=e.object({id:e.string(),teamId:e.string(),fromAgentId:e.string(),toAgentId:e.string(),subject:e.string(),body:e.string(),taskId:e.string().optional(),sentAt:m,readAt:m.optional()}),wn=e.object({id:e.string(),teamId:e.string(),title:e.string(),status:v,requiredSections:e.array(e.string()),createdBy:e.string(),createdAt:m,finalizedAt:m.optional()}),En=e.object({outcomeId:e.string(),status:v,requiredSections:e.array(e.string())}),Sn=e.object({agentId:e.string(),status:e.string()}),An=e.object({runId:e.string(),status:B}),Cn=e.object({id:e.string(),toAgentId:e.string()}),_n=e.object({delivered:e.number()}),xn=e.object({id:e.string()}),In=e.object({status:e.string()}),Mn=e.object({fragmentId:e.string(),status:e.string()}),On=e.object({outcomeId:e.string(),status:v}),Ke;((r)=>{r.TaskStart="task_start",r.TaskEnd="task_end",r.AgentEvent="agent_event",r.TeammateSpawned="teammate_spawned",r.TeammateShutdown="teammate_shutdown",r.TeamTaskUpdated="team_task_updated",r.TeamMessage="team_message",r.TeamMissionLog="team_mission_log",r.TeamTaskCompleted="team_task_completed",r.RunStarted="run_started",r.RunQueued="run_queued",r.RunProgress="run_progress",r.RunCompleted="run_completed",r.RunFailed="run_failed",r.RunCancelled="run_cancelled",r.RunInterrupted="run_interrupted",r.OutcomeCreated="outcome_created",r.OutcomeFragmentAttached="outcome_fragment_attached",r.OutcomeFragmentReviewed="outcome_fragment_reviewed",r.OutcomeFinalized="outcome_finalized"})(Ke||={});var Xe="the user is not subscribed to required model plan",Qe="no access to clinepass subscription models yet. subscribe to clinepass",Ve="organization accounts cannot use individual model inference subscriptions",et="you have reached your",tt="clinepass limit",$="please try again later.",nt="free limit reached on model",F="try again in ",rt="model not found";function U(r){let i=r.toLowerCase(),c=i.indexOf(et);if(c===-1)return;let h=i.indexOf($,c);if(h===-1)return;let b=h+$.length;if(!i.slice(c,b).includes(tt))return;return{start:c,end:b}}function q(){return`${new URL("/dashboard/subscription?personal=true",P().appBaseUrl).toString()}`}function H(){return`No access to ClinePass subscription models yet. Subscribe to ClinePass, the low cost open weights model coding plan: ${q()}`}class E extends Error{providerId;constructor(r){super(H());this.name="ClineNotSubscribedError",this.providerId=r}}function z(){return"Organization accounts cannot use ClinePass subscriptions. Go to /account -> change account to switch to your personal account for ClinePass"}class S extends Error{providerId;constructor(r){super(z());this.name="ClineOrgIndividualInferenceSubscriptionError",this.providerId=r}}class A extends Error{providerId;constructor(r,i){super(r);this.name="ClinePassLimitError",this.providerId=i}}class C extends Error{providerId;constructor(r,i){super(r);this.name="ClineFreeModelLimitError",this.providerId=i}}function ot(r){return r instanceof E}function at(r){return r instanceof S}function it(r){return r instanceof A}function st(r){return r instanceof C}function lt(r){let i=r.trim().toLowerCase();return i.includes(Xe)||i.includes(Qe)}function ut(r){return r.toLowerCase().includes(Ve)}function ct(r){return U(r)!==void 0}function dt(r){let i=U(r);return i?r.slice(i.start,i.end):void 0}function pt(r){return r.toLowerCase().includes(nt)}function mt(r){return r.toLowerCase().includes(rt)}function gt(r){let i=r.toLowerCase(),c=i.indexOf(F);if(c===-1)return;return i.slice(c+F.length).trim()||void 0}var W=["302ai","abacus","abliteration-ai","ai-router","aiand","aihubmix","aki-io","alibaba","alibaba-cn","alibaba-coding-plan","alibaba-coding-plan-cn","alibaba-token-plan","alibaba-token-plan-cn","ambient","anthropic","anyapi","atomic-chat","auriko","bailing","baseten","bedrock","berget","blueclaw","cerebras","chutes","clarifai","claudinio","cline-pass","cloudferro-sherlock","cloudflare-workers-ai","coralbricks","cortecs","crof","crossmodel","daoxe","databricks","deepseek","digitalocean","dinference","drun","ebcloud","empiriolabs","evroc","fastrouter","fireworks","freemodel","friendli","frogbot","gemini","github-copilot","gmicloud","greenpt","groq","helicone","hetzner","hpc-ai","huggingface","hyper","iflowcn","impossibl","inception","inceptron","inference","inferx","infomaniak","io-net","jiekou","kenari","kilo","kimi-for-coding","kuae-cloud-coding-plan","lilac","llama","llmgateway","llmtr","lmstudio","longcat","lucidquery","lynkr","meganova","meta","minimax","minimax-cn","minimax-cn-coding-plan","minimax-coding-plan","mistral","mixlayer","moark","modal","model-oracle-ai","modelis","modelscope","moonshot","moonshotai-cn","morph","nano-gpt","nearai","nebius","neon","neuralwatt","nova","novita-ai","nvidia","ofox","ollama","openai-native","opencode","opencode-go","openrouter","orcarouter","ovhcloud","perplexity-agent","pioneer","poe","poolside","privatemode-ai","qihang-ai","qiniu-ai","regolo-ai","requesty","routing-run","sakana","sapaicore","sarvam","scaleway","scx","siliconflow","siliconflow-cn","snowflake-cortex","stackit","stepfun","stepfun-ai","stepfun-ai-step-plan","stepfun-step-plan","subconscious","submodel","synthetic","tencent-coding-plan","tencent-token-plan","tencent-tokenhub","tensorx","the-grid-ai","thinkingmachines","tinfoil","together","trustedrouter","umans-ai","umans-ai-coding-plan","unorouter","upstage","v0","vercel-ai-gateway","vertex","vivgrid","vultr","wafer.ai","wandb","xai","xiaomi","xiaomi-token-plan-ams","xiaomi-token-plan-cn","xiaomi-token-plan-sgp","xpersona","zai","zai-coding-plan","zeldoc","zenifra","zenmux","zhipuai","zhipuai-coding-plan"];var k;((a)=>{a.ANTHROPIC="anthropic";a.CLAUDE_CODE="claude-code";a.CLINE="cline";a.CLINE_PASS="cline-pass";a.OPENAI_COMPATIBLE="openai-compatible";a.OPENAI_NATIVE="openai-native";a.OPENAI_CODEX="openai-codex";a.OPENAI_CODEX_CLI="openai-codex-cli";a.OPENCODE="opencode";a.BEDROCK="bedrock";a.VERTEX="vertex";a.GEMINI="gemini";a.OLLAMA="ollama";a.LMSTUDIO="lmstudio";a.DEEPSEEK="deepseek";a.XAI="xai";a.TOGETHER="together";a.FIREWORKS="fireworks";a.GROQ="groq";a.POOLSIDE="poolside";a.CEREBRAS="cerebras";a.SAMBANOVA="sambanova";a.NEBIUS="nebius";a.BASETEN="baseten";a.REQUESTY="requesty";a.LITELLM="litellm";a.HUGGINGFACE="huggingface";a.VERCEL_AI_GATEWAY="vercel-ai-gateway";a.V0="v0";a.AIHUBMIX="aihubmix";a.HICAP="hicap";a.NOUS_RESEARCH="nousResearch";a.HUAWEI_CLOUD_MAAS="huawei-cloud-maas";a.WANDB="wandb";a.XIAOMI="xiaomi";a.TENCENT_TOKENHUB="tencent-tokenhub";a.KILO="kilo";a.ZAI="zai";a.ZAI_CODING_PLAN="zai-coding-plan";a.QWEN="qwen";a.QWEN_CODE="qwen-code";a.DOUBAO="doubao";a.MISTRAL="mistral";a.MOONSHOT="moonshot";a.ASKSAGE="asksage";a.MINIMAX="minimax";a.DIFY="dify";a.OCA="oca";a.SAPAICORE="sapaicore";a.OPENROUTER="openrouter"})(k||={});var ht={openai:"openai-compatible",togetherai:"together","sap-ai-core":"sapaicore"},G=[...new Set([...Object.values(k),...W])];function _(r){let i=r.trim();return ht[i]??i}export{_ as normalizeProviderId,ct as isClinePassLimitMessage,it as isClinePassLimitError,ut as isClineOrgIndividualInferenceSubscriptionMessage,at as isClineOrgIndividualInferenceSubscriptionError,lt as isClineNotSubscribedMessage,ot as isClineNotSubscribedError,mt as isClineModelNotFoundMessage,pt as isClineFreeModelLimitMessage,st as isClineFreeModelLimitError,q as getClinePassSubscriptionUrl,z as getClineOrgIndividualInferenceSubscriptionMessage,H as getClineNotSubscribedMessage,dt as extractClinePassLimitMessage,gt as extractClineFreeModelLimitResetTime,A as ClinePassLimitError,S as ClineOrgIndividualInferenceSubscriptionError,E as ClineNotSubscribedError,C as ClineFreeModelLimitError};
16
+ Once you have presented your plan, end your turn and wait for the user's response. You do NOT have the ability to switch to act mode yourself -- the user must do it manually with the Plan/Act toggle once they are satisfied with the plan. If the task requires tools that are only available in act mode, ask the user to "toggle to Act mode" (use those words).`;var $t="anthropic/claude-sonnet-5";var we=t.object({id:t.string(),temperature:t.number().optional(),maxTokens:t.number().optional(),contextWindow:t.number().optional(),inputPrice:t.number().optional(),outputPrice:t.number().optional(),supportsImages:t.boolean().optional()}),Ee=t.object({models:t.array(we).optional(),openAiBaseUrl:t.string().optional(),openAiHeaders:t.record(t.string(),t.string()).optional(),azureApiVersion:t.string().optional(),azureIdentity:t.boolean().optional()}),Se=t.object({id:t.string(),thinkingBudgetTokens:t.number().optional()}),Ae=t.object({name:t.string(),baseModelId:t.string(),thinkingBudgetTokens:t.number().optional()}),Ce=t.object({models:t.array(Se).optional(),customModels:t.array(Ae).optional(),awsRegion:t.string().optional(),awsUseCrossRegionInference:t.boolean().optional(),awsUseGlobalInference:t.boolean().optional(),awsBedrockUsePromptCache:t.boolean().optional(),awsBedrockEndpoint:t.string().optional()}),_e=t.object({id:t.string()}),xe=t.object({models:t.array(_e).optional()}),Ie=t.object({id:t.string(),thinkingBudgetTokens:t.number().optional()}),Me=t.object({models:t.array(Ie).optional(),vertexProjectId:t.string().optional(),vertexRegion:t.string().optional()}),Oe=t.object({id:t.string(),thinkingBudgetTokens:t.number().optional(),promptCachingEnabled:t.boolean().optional()}),Re=t.object({models:t.array(Oe).optional(),baseUrl:t.string().optional()}),je=t.object({id:t.string(),thinkingBudgetTokens:t.number().optional()}),Ne=t.object({models:t.array(je).optional(),baseUrl:t.string().optional()}),Le=t.object({OpenAiCompatible:Ee.optional(),AwsBedrock:Ce.optional(),Cline:xe.optional(),Vertex:Me.optional(),LiteLLM:Re.optional(),Anthropic:Ne.optional()}),De=t.object({id:t.string()}),Pe=t.object({name:t.string(),url:t.string(),alwaysEnabled:t.boolean().optional(),headers:t.record(t.string(),t.string()).optional()}),I=t.object({alwaysEnabled:t.boolean(),name:t.string(),contents:t.string()}),T=t.object({bucket:t.string(),accessKeyId:t.string(),secretAccessKey:t.string(),region:t.string().optional(),endpoint:t.string().optional(),accountId:t.string().optional()}),Be=t.object({enabled:t.boolean().optional(),type:t.union([t.literal("s3_access_keys"),t.literal("r2_access_keys"),t.literal("azure_access_keys")]).optional(),s3AccessSettings:T.optional(),r2AccessSettings:T.optional(),azureAccessSettings:T.optional()}),$e=t.object({promptUploading:Be.optional()}),Ut=t.object({version:t.string(),providerSettings:Le.optional(),telemetryEnabled:t.boolean().optional(),kanbanEnabled:t.boolean().optional(),mcpMarketplaceEnabled:t.boolean().optional(),allowedMCPServers:t.array(De).optional(),remoteMCPServers:t.array(Pe).optional(),blockPersonalRemoteMCPServers:t.boolean().optional(),yoloModeAllowed:t.boolean().optional(),openTelemetryEnabled:t.boolean().optional(),openTelemetryMetricsExporter:t.string().optional(),openTelemetryLogsExporter:t.string().optional(),openTelemetryOtlpProtocol:t.string().optional(),openTelemetryOtlpEndpoint:t.string().optional(),openTelemetryOtlpHeaders:t.record(t.string(),t.string()).optional(),openTelemetryOtlpMetricsProtocol:t.string().optional(),openTelemetryOtlpMetricsEndpoint:t.string().optional(),openTelemetryOtlpMetricsHeaders:t.record(t.string(),t.string()).optional(),openTelemetryOtlpLogsProtocol:t.string().optional(),openTelemetryOtlpLogsEndpoint:t.string().optional(),openTelemetryOtlpLogsHeaders:t.record(t.string(),t.string()).optional(),openTelemetryMetricExportInterval:t.number().optional(),openTelemetryOtlpInsecure:t.boolean().optional(),openTelemetryLogBatchSize:t.number().optional(),openTelemetryLogBatchTimeout:t.number().optional(),openTelemetryLogMaxQueueSize:t.number().optional(),enterpriseTelemetry:$e.optional(),globalRules:t.array(I).optional(),globalWorkflows:t.array(I).optional()}),qt=t.record(t.string(),t.string());var zt=w.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth","popular"]),Wt=w.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),Gt=w.enum(["anthropic","ai-sdk","ai-sdk-community","openai","openai-compatible","openai-r1","gemini","bedrock","custom","fetch","vertex"]);var M={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"}};function O(r){let a=r?.trim().toLowerCase();if(a==="production"||a==="staging"||a==="local")return a;return}function D(){if(typeof process>"u"||!process?.env)return{};return process.env}function Fe(){let r=D();return O(r.CLINE_ENVIRONMENT_OVERRIDE)??O(r.CLINE_ENVIRONMENT)??"production"}function Ue(r){if(typeof r==="string")return M[r];return M[Fe()]}function qe(r,a){if(a.CLINE_API_BASE_URL)r={...r,apiBaseUrl:a.CLINE_API_BASE_URL,mcpBaseUrl:`${a.CLINE_API_BASE_URL}/v1/mcp`};return r}function P(r){let a=Ue(r);return qe(a,D())}var He=["rules","skills","workflows","plugins"];var Jt=new Set(He);var ze=p.object({rootPath:p.string().min(1),hint:p.string().min(1).optional(),associatedRemoteUrls:p.array(p.string().min(1)).optional(),latestGitCommitHash:p.string().min(1).optional(),latestGitBranchName:p.string().min(1).optional()}),Zt=p.object({currentWorkspacePath:p.string().min(1).optional(),workspaces:p.record(p.string().min(1),ze)});var We=["current_state","boundary_analysis","interface_proposal"];var m=e.preprocess((r)=>r instanceof Date?r.toISOString():r,e.string().datetime()),y=e.enum(["pending","in_progress","blocked","completed"]),B=e.enum(["queued","running","completed","failed","cancelled","interrupted"]),v=e.enum(["draft","in_review","finalized"]),Ge=e.object({agentId:e.string(),role:e.enum(["lead","teammate"]),description:e.string().optional(),status:e.enum(["idle","running","stopped"])}),Xt=e.object({agentId:e.string(),rolePrompt:e.string(),modelId:e.string().optional(),maxIterations:e.number().optional()});function u(r){return e.preprocess((a)=>a===null?void 0:a,r.optional())}var Qt=e.object({agentId:e.string().min(1).describe("Teammate identifier"),rolePrompt:e.string().min(1).describe("System prompt describing teammate role")}).strict(),Vt=e.object({agentId:e.string().min(1).describe("Teammate identifier"),reason:u(e.string().min(1)).describe("Optional shutdown reason")}),en=e.object({}),Je={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]};var tn=e.object({action:e.enum(["create","list","claim","complete","block"]),title:u(e.string().min(1)).describe("Task title"),description:u(e.string().min(1)).describe("Task details"),dependsOn:u(e.array(e.string().describe("Dependency task ID"))).describe("Array of dependency task IDs"),assignee:u(e.string().min(1)).describe("Optional assignee"),status:u(e.enum(["pending","in_progress","blocked","completed"])).describe("Optional task status filter"),taskId:u(e.string()).describe("Task ID"),summary:u(e.string().min(1)).describe("Completion summary"),reason:u(e.string().min(1)).describe("Blocking reason")}).superRefine((r,a)=>{for(let c of Je[r.action]){if(r[c]!==void 0)continue;a.addIssue({code:"custom",path:[c],message:`Field "${c}" is required when action=${r.action}`})}}),nn=e.object({agentId:e.string().describe("Teammate agent ID"),task:e.string().min(1).describe("Task instructions for the teammate"),taskId:u(e.string()).describe("Optional shared task list ID"),runMode:u(e.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:u(e.boolean()).describe("If true, continue the teammate conversation; otherwise start fresh")}),rn=e.object({status:u(e.enum(["queued","running","completed","failed","cancelled","interrupted"])).describe("Optional run status filter. Omit to include all statuses."),agentId:u(e.string().min(1)).describe("Optional teammate ID filter. Omit to include all teammates."),includeCompleted:u(e.boolean()).describe("Include completed/failed runs (default true)")}),on=e.object({runId:e.string().min(1).describe("Run ID"),reason:u(e.string().min(1)).describe("Optional cancellation reason")}),an=e.object({runId:u(e.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),sn=e.object({toAgentId:e.string().min(1).describe("Recipient agent ID"),subject:e.string().min(1).describe("Message subject"),body:e.string().min(1).describe("Message body"),taskId:u(e.string().min(1)).describe("Optional task ID context")}),ln=e.object({subject:e.string().min(1).describe("Message subject"),body:e.string().min(1).describe("Message body"),taskId:u(e.string().min(1)).describe("Optional task ID context")}),un=e.object({unreadOnly:u(e.boolean()).describe("Only unread messages for read action (default true)")}),cn=e.object({kind:e.enum(["progress","handoff","blocked","decision","done","error"]),summary:e.string().min(1).describe("Update summary"),taskId:u(e.string().min(1)).describe("Optional task ID context"),evidence:u(e.array(e.string().min(1))).describe("Optional evidence links/snippets"),nextAction:u(e.string().min(1)).describe("Planned next step")}),dn=e.object({}),pn=e.object({title:e.string().describe("Outcome title"),requiredSections:e.array(e.string()).default(We).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),mn=e.object({outcomeId:e.string().describe("Outcome ID"),section:e.string().describe("Section name"),sourceRunId:u(e.string()).describe("Optional source run ID"),content:e.string().describe("Section fragment content")}),gn=e.object({fragmentId:e.string().describe("Fragment ID"),approved:e.boolean().describe("Review decision")}),hn=e.object({outcomeId:e.string().describe("Outcome ID")}),fn=e.object({}),bn=e.object({teamId:e.string(),teamName:e.string(),members:e.array(Ge),taskCounts:e.record(y,e.number()),unreadMessages:e.number(),missionLogEntries:e.number(),activeRuns:e.number(),queuedRuns:e.number(),outcomeCounts:e.record(v,e.number())}),Ye=e.object({id:e.string(),title:e.string(),description:e.string(),status:y,createdAt:m,updatedAt:m,createdBy:e.string(),assignee:e.string().optional(),dependsOn:e.array(e.string()),summary:e.string().optional(),isReady:e.boolean(),blockedBy:e.array(e.string())}),yn=e.discriminatedUnion("action",[e.object({action:e.literal("create"),taskId:e.string(),status:y,ignoredFields:e.array(e.string()).optional(),note:e.string().optional()}),e.object({action:e.literal("list"),tasks:e.array(Ye)}),e.object({action:e.literal("claim"),taskId:e.string(),status:y,nextStep:e.string()}),e.object({action:e.literal("complete"),taskId:e.string(),status:y}),e.object({action:e.literal("block"),taskId:e.string(),status:y})]),vn=e.object({agentId:e.string(),mode:e.enum(["sync","async"]),status:e.enum(["dispatched","running","queued","joined"]),dispatched:e.boolean(),message:e.string(),deduped:e.boolean().optional(),runId:e.string().optional(),text:e.string().optional(),iterations:e.number().optional()}),Ze=e.object({textPreview:e.string(),iterations:e.number(),finishReason:e.string(),durationMs:e.number(),usage:e.object({inputTokens:e.number(),outputTokens:e.number(),cacheReadTokens:e.number().optional(),cacheWriteTokens:e.number().optional(),totalCost:e.number().optional()})}),kn=e.object({id:e.string(),agentId:e.string(),taskId:e.string().optional(),status:B,messagePreview:e.string(),priority:e.number(),retryCount:e.number(),maxRetries:e.number(),nextAttemptAt:m.optional(),continueConversation:e.boolean().optional(),startedAt:m,endedAt:m.optional(),leaseOwner:e.string().optional(),heartbeatAt:m.optional(),lastProgressAt:m.optional(),lastProgressMessage:e.string().optional(),currentActivity:e.string().optional(),error:e.string().optional(),resultSummary:Ze.optional()}),Tn=e.object({id:e.string(),teamId:e.string(),fromAgentId:e.string(),toAgentId:e.string(),subject:e.string(),body:e.string(),taskId:e.string().optional(),sentAt:m,readAt:m.optional()}),wn=e.object({id:e.string(),teamId:e.string(),title:e.string(),status:v,requiredSections:e.array(e.string()),createdBy:e.string(),createdAt:m,finalizedAt:m.optional()}),En=e.object({outcomeId:e.string(),status:v,requiredSections:e.array(e.string())}),Sn=e.object({agentId:e.string(),status:e.string()}),An=e.object({runId:e.string(),status:B}),Cn=e.object({id:e.string(),toAgentId:e.string()}),_n=e.object({delivered:e.number()}),xn=e.object({id:e.string()}),In=e.object({status:e.string()}),Mn=e.object({fragmentId:e.string(),status:e.string()}),On=e.object({outcomeId:e.string(),status:v}),Ke;((r)=>{r.TaskStart="task_start",r.TaskEnd="task_end",r.AgentEvent="agent_event",r.TeammateSpawned="teammate_spawned",r.TeammateShutdown="teammate_shutdown",r.TeamTaskUpdated="team_task_updated",r.TeamMessage="team_message",r.TeamMissionLog="team_mission_log",r.TeamTaskCompleted="team_task_completed",r.RunStarted="run_started",r.RunQueued="run_queued",r.RunProgress="run_progress",r.RunCompleted="run_completed",r.RunFailed="run_failed",r.RunCancelled="run_cancelled",r.RunInterrupted="run_interrupted",r.OutcomeCreated="outcome_created",r.OutcomeFragmentAttached="outcome_fragment_attached",r.OutcomeFragmentReviewed="outcome_fragment_reviewed",r.OutcomeFinalized="outcome_finalized"})(Ke||={});var Xe="the user is not subscribed to required model plan",Qe="no access to clinepass subscription models yet. subscribe to clinepass",Ve="organization accounts cannot use individual model inference subscriptions",et="you have reached your",tt="clinepass limit",$="please try again later.",nt="free limit reached on model",F="try again in ",rt="model not found";function U(r){let a=r.toLowerCase(),c=a.indexOf(et);if(c===-1)return;let h=a.indexOf($,c);if(h===-1)return;let b=h+$.length;if(!a.slice(c,b).includes(tt))return;return{start:c,end:b}}function q(){return`${new URL("/dashboard/subscription?personal=true",P().appBaseUrl).toString()}`}function H(){return`No access to ClinePass subscription models yet. Subscribe to ClinePass, the low cost open weights model coding plan: ${q()}`}class E extends Error{providerId;constructor(r){super(H());this.name="ClineNotSubscribedError",this.providerId=r}}function z(){return"Organization accounts cannot use ClinePass subscriptions. Go to /account -> change account to switch to your personal account for ClinePass"}class S extends Error{providerId;constructor(r){super(z());this.name="ClineOrgIndividualInferenceSubscriptionError",this.providerId=r}}class A extends Error{providerId;constructor(r,a){super(r);this.name="ClinePassLimitError",this.providerId=a}}class C extends Error{providerId;constructor(r,a){super(r);this.name="ClineFreeModelLimitError",this.providerId=a}}function ot(r){return r instanceof E}function it(r){return r instanceof S}function at(r){return r instanceof A}function st(r){return r instanceof C}function lt(r){let a=r.trim().toLowerCase();return a.includes(Xe)||a.includes(Qe)}function ut(r){return r.toLowerCase().includes(Ve)}function ct(r){return U(r)!==void 0}function dt(r){let a=U(r);return a?r.slice(a.start,a.end):void 0}function pt(r){return r.toLowerCase().includes(nt)}function mt(r){return r.toLowerCase().includes(rt)}function gt(r){let a=r.toLowerCase(),c=a.indexOf(F);if(c===-1)return;return a.slice(c+F.length).trim()||void 0}var W=["302ai","abacus","abliteration-ai","ai-router","aiand","aihubmix","aki-io","alibaba","alibaba-cn","alibaba-coding-plan","alibaba-coding-plan-cn","alibaba-token-plan","alibaba-token-plan-cn","ambient","anthropic","anyapi","atomic-chat","auriko","bailing","baseten","bedrock","berget","blueclaw","cerebras","chutes","clarifai","claudinio","cline-pass","cloudferro-sherlock","cloudflare-workers-ai","coralbricks","cortecs","crof","crossmodel","daoxe","databricks","deepseek","digitalocean","dinference","drun","ebcloud","edenai","empiriolabs","evroc","fastrouter","fireworks","freemodel","friendli","frogbot","gemini","github-copilot","gmicloud","greenpt","groq","helicone","hetzner","hpc-ai","huggingface","hyper","iflowcn","impossibl","inception","inceptron","inference","inferx","infomaniak","io-net","jiekou","kenari","kilo","kimi-for-coding","kuae-cloud-coding-plan","lilac","llama","llmgateway","llmtr","lmstudio","longcat","lucidquery","lynkr","meganova","meta","minimax","minimax-cn","minimax-cn-coding-plan","minimax-coding-plan","mistral","mixlayer","moark","modal","model-oracle-ai","modelis","modelscope","moonshot","moonshotai-cn","morph","nano-gpt","nearai","nebius","neon","neuralwatt","nova","novita-ai","nvidia","ofox","ollama","openai-native","opencode","opencode-go","openrouter","orcarouter","ovhcloud","perplexity-agent","pioneer","poe","poolside","privatemode-ai","qihang-ai","qiniu-ai","regolo-ai","requesty","routing-run","sakana","sapaicore","sarvam","scaleway","scx","siliconflow","siliconflow-cn","snowflake-cortex","stackit","stepfun","stepfun-ai","stepfun-ai-step-plan","stepfun-step-plan","subconscious","submodel","synthetic","tencent-coding-plan","tencent-token-plan","tencent-tokenhub","tensorx","the-grid-ai","thinkingmachines","tinfoil","together","trustedrouter","umans-ai","umans-ai-coding-plan","unorouter","upstage","v0","vercel-ai-gateway","vertex","vivgrid","vultr","wafer.ai","wandb","xai","xiaomi","xiaomi-token-plan-ams","xiaomi-token-plan-cn","xiaomi-token-plan-sgp","xpersona","zai","zai-coding-plan","zeldoc","zenifra","zenmux","zhipuai","zhipuai-coding-plan"];var k;((i)=>{i.ANTHROPIC="anthropic";i.CLAUDE_CODE="claude-code";i.CLINE="cline";i.CLINE_PASS="cline-pass";i.OPENAI_COMPATIBLE="openai-compatible";i.OPENAI_NATIVE="openai-native";i.OPENAI_CODEX="openai-codex";i.OPENAI_CODEX_CLI="openai-codex-cli";i.OPENCODE="opencode";i.BEDROCK="bedrock";i.VERTEX="vertex";i.GEMINI="gemini";i.OLLAMA="ollama";i.LMSTUDIO="lmstudio";i.DEEPSEEK="deepseek";i.XAI="xai";i.TOGETHER="together";i.FIREWORKS="fireworks";i.GROQ="groq";i.POOLSIDE="poolside";i.CEREBRAS="cerebras";i.SAMBANOVA="sambanova";i.NEBIUS="nebius";i.BASETEN="baseten";i.REQUESTY="requesty";i.LITELLM="litellm";i.HUGGINGFACE="huggingface";i.VERCEL_AI_GATEWAY="vercel-ai-gateway";i.V0="v0";i.AIHUBMIX="aihubmix";i.HICAP="hicap";i.NOUS_RESEARCH="nousResearch";i.HUAWEI_CLOUD_MAAS="huawei-cloud-maas";i.WANDB="wandb";i.XIAOMI="xiaomi";i.TENCENT_TOKENHUB="tencent-tokenhub";i.KILO="kilo";i.ZAI="zai";i.ZAI_CODING_PLAN="zai-coding-plan";i.QWEN="qwen";i.QWEN_CODE="qwen-code";i.DOUBAO="doubao";i.MISTRAL="mistral";i.MOONSHOT="moonshot";i.ASKSAGE="asksage";i.MINIMAX="minimax";i.DIFY="dify";i.OCA="oca";i.SAPAICORE="sapaicore";i.OPENROUTER="openrouter"})(k||={});var ht={openai:"openai-compatible",togetherai:"together","sap-ai-core":"sapaicore"},G=[...new Set([...Object.values(k),...W])];function _(r){let a=r.trim();return ht[a]??a}export{_ as normalizeProviderId,ct as isClinePassLimitMessage,at as isClinePassLimitError,ut as isClineOrgIndividualInferenceSubscriptionMessage,it as isClineOrgIndividualInferenceSubscriptionError,lt as isClineNotSubscribedMessage,ot as isClineNotSubscribedError,mt as isClineModelNotFoundMessage,pt as isClineFreeModelLimitMessage,st as isClineFreeModelLimitError,q as getClinePassSubscriptionUrl,z as getClineOrgIndividualInferenceSubscriptionMessage,H as getClineNotSubscribedMessage,dt as extractClinePassLimitMessage,gt as extractClineFreeModelLimitResetTime,A as ClinePassLimitError,S as ClineOrgIndividualInferenceSubscriptionError,E as ClineNotSubscribedError,C as ClineFreeModelLimitError};