@cline/llms 0.0.68 → 0.0.69

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":"ai-sdk.d.ts","sourceRoot":"","sources":["../../src/providers/ai-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIX,sBAAsB,EACtB,sBAAsB,EAEtB,oBAAoB,EACpB,MAAM,eAAe,CAAC;AASvB,OAAO,EAAE,KAAK,YAAY,EAA2C,MAAM,IAAI,CAAC;AAoBhF,OAAO,KAAK,EAGX,qBAAqB,EACrB,gBAAgB,EAEhB,MAAM,iBAAiB,CAAC;AAEzB,UAAU,sBAAsB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,sBAAsB,GAC9B,OAAO,CAAC,YAAY,CAAC,CAOvB;AAwVD,UAAU,kBAAkB;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,kBAAkB,EAAE,EAC3E,QAAQ,EACR,KAAK,GACL,EAAE;IACF,QAAQ,EAAE,CAAC,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;CACf,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAqBpB;AAkOD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC7B,UAAU,EACP,gBAAgB,GAChB,qBAAqB,GACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,SAAS,EACZ,gBAAgB,CAAC,EAAE,OAAO,EAC1B,YAAY,CAAC,EAAE,OAAO,GACpB,sBAAsB,CAsIxB;AA8dD,eAAO,MAAM,oBAAoB,wBAAgC,CAAC;AAClE,eAAO,MAAM,8BAA8B,wBACF,CAAC;AAC1C,eAAO,MAAM,uBAAuB,wBAAmC,CAAC;AACxE,eAAO,MAAM,oBAAoB,wBAAgC,CAAC;AAClE,eAAO,MAAM,oBAAoB,wBAAgC,CAAC;AAClE,eAAO,MAAM,qBAAqB,wBAAiC,CAAC;AACpE,eAAO,MAAM,qBAAqB,wBAAiC,CAAC;AACpE,eAAO,MAAM,wBAAwB,wBAAqC,CAAC;AAC3E,eAAO,MAAM,yBAAyB,wBAAsC,CAAC;AAC7E,eAAO,MAAM,sBAAsB,wBAAkC,CAAC;AACtE,eAAO,MAAM,kBAAkB,wBAA8B,CAAC;AAC9D,eAAO,MAAM,oBAAoB,wBAAgC,CAAC;AAClE,eAAO,MAAM,uBAAuB,wBAAmC,CAAC"}
1
+ {"version":3,"file":"ai-sdk.d.ts","sourceRoot":"","sources":["../../src/providers/ai-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIX,sBAAsB,EACtB,sBAAsB,EAEtB,oBAAoB,EACpB,MAAM,eAAe,CAAC;AASvB,OAAO,EAAE,KAAK,YAAY,EAA2C,MAAM,IAAI,CAAC;AAoBhF,OAAO,KAAK,EAGX,qBAAqB,EACrB,gBAAgB,EAEhB,MAAM,iBAAiB,CAAC;AAEzB,UAAU,sBAAsB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,sBAAsB,GAC9B,OAAO,CAAC,YAAY,CAAC,CAOvB;AAwVD,UAAU,kBAAkB;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,kBAAkB,EAAE,EAC3E,QAAQ,EACR,KAAK,GACL,EAAE;IACF,QAAQ,EAAE,CAAC,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;CACf,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAqBpB;AAkOD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC7B,UAAU,EACP,gBAAgB,GAChB,qBAAqB,GACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,SAAS,EACZ,gBAAgB,CAAC,EAAE,OAAO,EAC1B,YAAY,CAAC,EAAE,OAAO,GACpB,sBAAsB,CAsIxB;AAgeD,eAAO,MAAM,oBAAoB,wBAAgC,CAAC;AAClE,eAAO,MAAM,8BAA8B,wBACF,CAAC;AAC1C,eAAO,MAAM,uBAAuB,wBAAmC,CAAC;AACxE,eAAO,MAAM,oBAAoB,wBAAgC,CAAC;AAClE,eAAO,MAAM,oBAAoB,wBAAgC,CAAC;AAClE,eAAO,MAAM,qBAAqB,wBAAiC,CAAC;AACpE,eAAO,MAAM,qBAAqB,wBAAiC,CAAC;AACpE,eAAO,MAAM,wBAAwB,wBAAqC,CAAC;AAC3E,eAAO,MAAM,yBAAyB,wBAAsC,CAAC;AAC7E,eAAO,MAAM,sBAAsB,wBAAkC,CAAC;AACtE,eAAO,MAAM,kBAAkB,wBAA8B,CAAC;AAC9D,eAAO,MAAM,oBAAoB,wBAAgC,CAAC;AAClE,eAAO,MAAM,uBAAuB,wBAAmC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { LanguageModelV3Middleware } from "@ai-sdk/provider";
2
+ /** Minimal logger surface (a subset of `BasicLogger`). */
3
+ interface RetryLogger {
4
+ log?(message: string, meta?: Record<string, unknown>): void;
5
+ }
6
+ export interface RetryEmptyResponseOptions {
7
+ /** Total attempts including the first (so `3` means up to 2 retries). */
8
+ maxAttempts?: number;
9
+ /** Delay before each retry, in milliseconds. */
10
+ retryDelayMs?: number;
11
+ logger?: RetryLogger;
12
+ }
13
+ /** Default total attempts (first try + 2 retries). */
14
+ export declare const DEFAULT_EMPTY_RESPONSE_MAX_ATTEMPTS = 3;
15
+ /** Default delay before a retry. */
16
+ export declare const DEFAULT_EMPTY_RESPONSE_RETRY_DELAY_MS = 250;
17
+ /**
18
+ * Create a middleware that retries empty Ollama responses. Apply it as the
19
+ * outermost middleware (first in the `wrapLanguageModel` array) so each retry
20
+ * re-runs the full request.
21
+ */
22
+ export declare function createRetryEmptyResponseMiddleware(options?: RetryEmptyResponseOptions): LanguageModelV3Middleware;
23
+ export {};
24
+ //# sourceMappingURL=retry-empty-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-empty-response.d.ts","sourceRoot":"","sources":["../../../src/providers/middleware/retry-empty-response.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACX,yBAAyB,EAGzB,MAAM,kBAAkB,CAAC;AAE1B,0DAA0D;AAC1D,UAAU,WAAW;IACpB,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,yBAAyB;IACzC,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,sDAAsD;AACtD,eAAO,MAAM,mCAAmC,IAAI,CAAC;AACrD,oCAAoC;AACpC,eAAO,MAAM,qCAAqC,MAAM,CAAC;AAwCzD;;;;GAIG;AACH,wBAAgB,kCAAkC,CACjD,OAAO,GAAE,yBAA8B,GACrC,yBAAyB,CAwG3B"}
@@ -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", "cortecs", "crof", "crossmodel", "daoxe", "databricks", "deepseek", "digitalocean", "dinference", "drun", "ebcloud", "empiriolabs", "evroc", "fastrouter", "fireworks", "freemodel", "friendli", "frogbot", "gemini", "github-copilot", "github-models", "gmicloud", "greenpt", "groq", "helicone", "hetzner", "hpc-ai", "huggingface", "hyper", "iflowcn", "inception", "inceptron", "inference", "inferx", "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", "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", "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", "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", "cortecs", "crof", "crossmodel", "daoxe", "databricks", "deepseek", "digitalocean", "dinference", "drun", "ebcloud", "empiriolabs", "evroc", "fastrouter", "fireworks", "freemodel", "friendli", "frogbot", "gemini", "github-copilot", "github-models", "gmicloud", "greenpt", "groq", "helicone", "hetzner", "hpc-ai", "huggingface", "hyper", "iflowcn", "inception", "inceptron", "inference", "inferx", "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", "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,8qEAsKzB,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,osEAwKzB,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,EAkwE1D,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,EA8xE1D,CAAC"}
@@ -20,12 +20,24 @@ export declare function normalizeOllamaBaseUrl(baseUrl: string | undefined): str
20
20
  export declare function readOllamaNumCtx(context: GatewayProviderContext): number;
21
21
  /**
22
22
  * Time to wait for the response to start when no timeout is configured.
23
- * Matches the pre-SDK-migration Ollama handler default.
23
+ *
24
+ * Deliberately generous: Ollama holds `/api/chat` open while it cold-loads
25
+ * the model and only sends response headers once loading finishes, so with a
26
+ * large model (or a large `num_ctx`, which this vendor requests) the first
27
+ * request of a session routinely takes minutes before the stream starts.
28
+ * A tight budget here turns every cold load into a user-facing timeout error
29
+ * (see cline/cline#12829 — the legacy handler's 30s default was only
30
+ * tolerable because its retry decorator silently re-issued the request until
31
+ * the model was loaded). Unreachable servers are not this timeout's job:
32
+ * connection-level failures (refused, DNS) reject on their own immediately,
33
+ * and users can always cancel a request from the UI. This only bounds the
34
+ * accepted-but-silent case, and 5 minutes matches the header-timeout default
35
+ * other AI SDK-based agents use.
24
36
  */
25
- export declare const OLLAMA_DEFAULT_TIMEOUT_MS = 30000;
37
+ export declare const OLLAMA_DEFAULT_TIMEOUT_MS = 300000;
26
38
  /**
27
- * Read the configured request timeout, mirroring the legacy handler's
28
- * `requestTimeoutMs || 30000` (zero/invalid values fall back to the default).
39
+ * Read the configured request timeout (the legacy `requestTimeoutMs`
40
+ * setting); zero/invalid values fall back to the default.
29
41
  */
30
42
  export declare function readOllamaTimeoutMs(config: GatewayResolvedProviderConfig): number;
31
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/ollama.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACX,sBAAsB,EACtB,6BAA6B,EAC7B,MAAM,eAAe,CAAC;AAMvB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,0FAA0F;AAC1F,eAAO,MAAM,sBAAsB,QAAgC,CAAC;AAEpE;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,MAAM,GAAG,SAAS,GACzB,MAAM,GAAG,SAAS,CAMpB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAMxE;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,6BAA6B,GACnC,MAAM,CAUR;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACxC,SAAS,EAAE,OAAO,KAAK,EACvB,SAAS,EAAE,MAAM,GACf,OAAO,KAAK,CAyBd;AAED,wBAAsB,0BAA0B,CAC/C,MAAM,EAAE,6BAA6B,EACrC,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CA4BhC"}
1
+ {"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../../src/providers/vendors/ollama.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACX,sBAAsB,EACtB,6BAA6B,EAC7B,MAAM,eAAe,CAAC;AAOvB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErD,0FAA0F;AAC1F,eAAO,MAAM,sBAAsB,QAAgC,CAAC;AAEpE;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,MAAM,GAAG,SAAS,GACzB,MAAM,GAAG,SAAS,CAMpB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAMxE;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,yBAAyB,SAAU,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,6BAA6B,GACnC,MAAM,CAUR;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACxC,SAAS,EAAE,OAAO,KAAK,EACvB,SAAS,EAAE,MAAM,GACf,OAAO,KAAK,CAyBd;AAED,wBAAsB,0BAA0B,CAC/C,MAAM,EAAE,6BAA6B,EACrC,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAiChC"}
@@ -1 +1 @@
1
- import{z as r}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 n}from"zod";import{z as Bt}from"zod";import{z as t}from"zod";import E from"zod";import{z as p}from"zod";import{z as e}from"zod";import{z as xr}from"zod";var R=["none","minimal","low","medium","high","xhigh","max"],Y=d.enum(R),X=Y.exclude(["none"]),K=d.enum([...R,"default"]).nullable(),J=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((o)=>o.min===void 0||o.max===void 0||o.min<=o.max,{message:"Minimum reasoning budget cannot exceed maximum",path:["min"]})]),Z=l.enum(["default","openai-responses","r1"]);var Q=l.enum(["images","video","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),V=l.enum(["active","preview","deprecated","legacy"]),ee=l.object({input:l.number().optional(),output:l.number().optional(),cacheWrite:l.number().optional(),cacheRead:l.number().optional()}),te=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()),N=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(Q).optional(),reasoningOptions:l.array(J).optional(),apiFormat:Z.optional(),systemRole:l.enum(["system","developer"]).optional(),temperature:l.number().optional(),pricing:ee.optional(),thinkingConfig:te.optional(),status:V.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()}),ne=r.enum(["completed","max_iterations","aborted","mistake_limit","error"]),ae=r.object({inputTokens:r.number(),outputTokens:r.number(),cacheReadTokens:r.number().optional(),cacheWriteTokens:r.number().optional(),totalCost:r.number().optional()}),kt=r.object({text:r.string(),usage:ae,messages:r.array(r.custom()),toolCalls:r.array(oe),iterations:r.number(),finishReason:ne,model:r.object({id:r.string(),provider:r.string(),info:N.optional()}),startedAt:r.date(),endedAt:r.date(),durationMs:r.number()}),Tt=r.object({sessionId:r.string().optional(),providerId:r.string(),modelId:r.string(),apiKey:r.string().optional(),baseUrl:r.string().url().optional(),headers:r.record(r.string(),r.string()).optional(),knownModels:r.record(r.string(),N).optional(),providerConfig:r.unknown().optional(),initialMessages:r.array(r.custom()).optional(),systemPrompt:r.string(),tools:r.array(r.custom()),maxIterations:r.number().positive().optional(),maxParallelToolCalls:r.number().int().positive().default(8),maxTokensPerTurn:r.number().positive().optional(),temperature:r.number().nonnegative().optional(),apiTimeoutMs:r.number().positive().default(180000),userFileContentLoader:r.function().input([r.string()]).output(r.promise(r.string())).optional(),toolContextMetadata:r.record(r.string(),r.unknown()).optional(),execution:r.object({maxConsecutiveMistakes:r.number().int().positive().optional(),reminderAfterIterations:r.number().nonnegative().optional(),reminderText:r.string().optional(),loopDetection:r.union([r.literal(!1),r.object({softThreshold:r.number().int().positive().optional(),hardThreshold:r.number().int().positive().optional()})]).optional()}).optional(),reasoningEffort:X.optional(),thinkingBudgetTokens:r.number().positive().optional(),thinking:r.boolean().optional(),onEvent:r.function().input([r.custom()]).output(r.void()).optional(),hooks:r.custom().optional(),parentAgentId:r.string().optional(),extensions:r.array(r.custom()).optional(),hookErrorMode:r.enum(["ignore","throw"]).default("ignore"),toolPolicies:r.record(r.string(),r.object({enabled:r.boolean().optional(),autoApprove:r.boolean().optional()})).optional(),requestToolApproval:r.function().input([r.object({sessionId:r.string(),agentId:r.string(),conversationId:r.string(),iteration:r.number(),toolCallId:r.string(),toolName:r.string(),input:r.unknown(),policy:r.object({enabled:r.boolean().optional(),autoApprove:r.boolean().optional()}).default({})})]).output(r.union([r.object({approved:r.boolean(),reason:r.string().optional()}),r.promise(r.object({approved:r.boolean(),reason:r.string().optional()}))])).optional(),onConsecutiveMistakeLimitReached:r.function().input([r.object({iteration:r.number().int().positive(),consecutiveMistakes:r.number().int().positive(),maxConsecutiveMistakes:r.number().int().positive(),reason:r.enum(["api_error","invalid_tool_call","tool_execution_failed"]),details:r.string().optional()})]).output(r.union([r.object({action:r.literal("continue"),guidance:r.string().optional()}),r.object({action:r.literal("stop"),reason:r.string().optional()}),r.promise(r.union([r.object({action:r.literal("continue"),guidance:r.string().optional()}),r.object({action:r.literal("stop"),reason:r.string().optional()})]))])).optional(),logger:r.custom().optional(),extensionContext:r.custom().optional(),abortSignal:r.custom().optional()}),ie=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"]),se=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()}),le=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()}),wt=s.object({actor:se,context:le,payload:s.record(s.string(),s.unknown()).optional()}),St=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()}),_t=s.object({adapter:s.string(),botUserName:s.string().optional(),event:ie,payload:s.record(s.string(),s.unknown()),ts:s.string()});var ue=["hooks","tools","commands","rules","skills","messageBuilders","providers","automationEvents","mcp"],At=new Set(ue);var j={CLINE_PASS:"ext-cline-pass"},Ct={[j.CLINE_PASS]:!1},It=Object.values(j),ce=n.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),h=n.record(n.string(),n.string()),de=n.object({toolName:n.string(),parameters:h}),pe=n.object({toolName:n.string(),parameters:h,result:n.string(),success:n.boolean(),executionTimeMs:n.number()}),me=n.object({prompt:n.string(),attachments:n.array(n.string())}),ge=n.object({taskMetadata:h}),fe=n.object({taskMetadata:h,previousState:h}),he=n.object({taskMetadata:h}),be=n.object({taskMetadata:h}),ye=n.object({taskId:n.string(),ulid:n.string(),contextSize:n.number(),compactionStrategy:n.string(),previousApiReqIndex:n.number(),tokensIn:n.number(),tokensOut:n.number(),tokensInCache:n.number(),tokensOutCache:n.number(),deletedRangeStart:n.number(),deletedRangeEnd:n.number(),contextJsonPath:n.string(),contextRawPath:n.string()}),Mt=n.object({clineVersion:n.string(),hookName:ce,timestamp:n.string(),taskId:n.string(),sessionContext:n.object({rootSessionId:n.string().optional(),hookLogPath:n.string().optional()}).optional(),workspaceRoots:n.array(n.string()),workspaceInfo:n.custom().optional(),userId:n.string(),agent_id:n.string(),parent_agent_id:n.string().nullable(),iteration:n.number().optional(),reason:n.string().optional(),tool_call:n.object({id:n.string(),name:n.string(),input:n.unknown()}).optional(),tool_result:n.custom().optional(),turn:n.unknown().optional(),error:n.object({name:n.string(),message:n.string(),stack:n.string().optional()}).optional(),preToolUse:de.optional(),postToolUse:pe.optional(),userPromptSubmit:me.optional(),taskStart:ge.optional(),taskResume:fe.optional(),taskCancel:he.optional(),taskComplete:be.optional(),preCompact:ye.optional()}).passthrough();var ve=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],Ot=new Set(ve);var Rt=["show","hide","subscription"];function ke(o){if(typeof globalThis.atob==="function")try{let i=globalThis.atob(o),c=Uint8Array.from(i,(f)=>f.charCodeAt(0));return new TextDecoder().decode(c)}catch{return null}if(typeof Buffer<"u")try{return Buffer.from(o,"base64").toString("utf8")}catch{return null}return null}function Nt(o){let i=o?.trim();if(!i)return null;try{let c=i.split(".");if(c.length!==3)return null;let f=c[1];if(!f)return null;let b=f.replace(/-/g,"+").replace(/_/g,"/"),W=b.padEnd(b.length+(4-b.length%4)%4,"="),I=ke(W);return I?JSON.parse(I):null}catch{return null}}var Lt="anthropic/claude-sonnet-5";var Te=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(Te).optional(),openAiBaseUrl:t.string().optional(),openAiHeaders:t.record(t.string(),t.string()).optional(),azureApiVersion:t.string().optional(),azureIdentity:t.boolean().optional()}),we=t.object({id:t.string(),thinkingBudgetTokens:t.number().optional()}),Se=t.object({name:t.string(),baseModelId:t.string(),thinkingBudgetTokens:t.number().optional()}),_e=t.object({models:t.array(we).optional(),customModels:t.array(Se).optional(),awsRegion:t.string().optional(),awsUseCrossRegionInference:t.boolean().optional(),awsUseGlobalInference:t.boolean().optional(),awsBedrockUsePromptCache:t.boolean().optional(),awsBedrockEndpoint:t.string().optional()}),Ae=t.object({id:t.string()}),Ce=t.object({models:t.array(Ae).optional()}),Ie=t.object({id:t.string(),thinkingBudgetTokens:t.number().optional()}),xe=t.object({models:t.array(Ie).optional(),vertexProjectId:t.string().optional(),vertexRegion:t.string().optional()}),Me=t.object({id:t.string(),thinkingBudgetTokens:t.number().optional(),promptCachingEnabled:t.boolean().optional()}),Oe=t.object({models:t.array(Me).optional(),baseUrl:t.string().optional()}),Re=t.object({id:t.string(),thinkingBudgetTokens:t.number().optional()}),Ne=t.object({models:t.array(Re).optional(),baseUrl:t.string().optional()}),je=t.object({OpenAiCompatible:Ee.optional(),AwsBedrock:_e.optional(),Cline:Ce.optional(),Vertex:xe.optional(),LiteLLM:Oe.optional(),Anthropic:Ne.optional()}),Be=t.object({id:t.string()}),Le=t.object({name:t.string(),url:t.string(),alwaysEnabled:t.boolean().optional(),headers:t.record(t.string(),t.string()).optional()}),x=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()}),Pe=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()}),De=t.object({promptUploading:Pe.optional()}),Dt=t.object({version:t.string(),providerSettings:je.optional(),telemetryEnabled:t.boolean().optional(),kanbanEnabled:t.boolean().optional(),mcpMarketplaceEnabled:t.boolean().optional(),allowedMCPServers:t.array(Be).optional(),remoteMCPServers:t.array(Le).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:De.optional(),globalRules:t.array(x).optional(),globalWorkflows:t.array(x).optional()}),$t=t.record(t.string(),t.string());var Ut=E.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth","popular"]),qt=E.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),zt=E.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(o){let i=o?.trim().toLowerCase();if(i==="production"||i==="staging"||i==="local")return i;return}function B(){if(typeof process>"u"||!process?.env)return{};return process.env}function $e(){let o=B();return O(o.CLINE_ENVIRONMENT_OVERRIDE)??O(o.CLINE_ENVIRONMENT)??"production"}function Fe(o){if(typeof o==="string")return M[o];return M[$e()]}function Ue(o,i){if(i.CLINE_API_BASE_URL)o={...o,apiBaseUrl:i.CLINE_API_BASE_URL,mcpBaseUrl:`${i.CLINE_API_BASE_URL}/v1/mcp`};return o}function L(o){let i=Fe(o);return Ue(i,B())}var qe=["rules","skills","workflows","plugins"];var Ht=new Set(qe);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()}),Wt=p.object({currentWorkspacePath:p.string().min(1).optional(),workspaces:p.record(p.string().min(1),ze)});var He=["current_state","boundary_analysis","interface_proposal"];var m=e.preprocess((o)=>o instanceof Date?o.toISOString():o,e.string().datetime()),y=e.enum(["pending","in_progress","blocked","completed"]),P=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(o){return e.preprocess((i)=>i===null?void 0:i,o.optional())}var Kt=e.object({agentId:e.string().min(1).describe("Teammate identifier"),rolePrompt:e.string().min(1).describe("System prompt describing teammate role")}).strict(),Jt=e.object({agentId:e.string().min(1).describe("Teammate identifier"),reason:u(e.string().min(1)).describe("Optional shutdown reason")}),Zt=e.object({}),We={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]};var Qt=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((o,i)=>{for(let c of We[o.action]){if(o[c]!==void 0)continue;i.addIssue({code:"custom",path:[c],message:`Field "${c}" is required when action=${o.action}`})}}),Vt=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")}),er=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)")}),tr=e.object({runId:e.string().min(1).describe("Run ID"),reason:u(e.string().min(1)).describe("Optional cancellation reason")}),rr=e.object({runId:u(e.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),or=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")}),nr=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")}),ar=e.object({unreadOnly:u(e.boolean()).describe("Only unread messages for read action (default true)")}),ir=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")}),sr=e.object({}),lr=e.object({title:e.string().describe("Outcome title"),requiredSections:e.array(e.string()).default(He).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),ur=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")}),cr=e.object({fragmentId:e.string().describe("Fragment ID"),approved:e.boolean().describe("Review decision")}),dr=e.object({outcomeId:e.string().describe("Outcome ID")}),pr=e.object({}),mr=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())}),gr=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})]),fr=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()}),Xe=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()})}),hr=e.object({id:e.string(),agentId:e.string(),taskId:e.string().optional(),status:P,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:Xe.optional()}),br=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()}),yr=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()}),vr=e.object({outcomeId:e.string(),status:v,requiredSections:e.array(e.string())}),kr=e.object({agentId:e.string(),status:e.string()}),Tr=e.object({runId:e.string(),status:P}),Er=e.object({id:e.string(),toAgentId:e.string()}),wr=e.object({delivered:e.number()}),Sr=e.object({id:e.string()}),_r=e.object({status:e.string()}),Ar=e.object({fragmentId:e.string(),status:e.string()}),Cr=e.object({outcomeId:e.string(),status:v}),Ke;((o)=>{o.TaskStart="task_start",o.TaskEnd="task_end",o.AgentEvent="agent_event",o.TeammateSpawned="teammate_spawned",o.TeammateShutdown="teammate_shutdown",o.TeamTaskUpdated="team_task_updated",o.TeamMessage="team_message",o.TeamMissionLog="team_mission_log",o.TeamTaskCompleted="team_task_completed",o.RunStarted="run_started",o.RunQueued="run_queued",o.RunProgress="run_progress",o.RunCompleted="run_completed",o.RunFailed="run_failed",o.RunCancelled="run_cancelled",o.RunInterrupted="run_interrupted",o.OutcomeCreated="outcome_created",o.OutcomeFragmentAttached="outcome_fragment_attached",o.OutcomeFragmentReviewed="outcome_fragment_reviewed",o.OutcomeFinalized="outcome_finalized"})(Ke||={});var Je="the user is not subscribed to required model plan",Ze="no access to clinepass subscription models yet. subscribe to clinepass",Qe="organization accounts cannot use individual model inference subscriptions",Ve="you have reached your",et="clinepass limit",D="please try again later.",tt="free limit reached on model",$="try again in ",rt="model not found";function F(o){let i=o.toLowerCase(),c=i.indexOf(Ve);if(c===-1)return;let f=i.indexOf(D,c);if(f===-1)return;let b=f+D.length;if(!i.slice(c,b).includes(et))return;return{start:c,end:b}}function U(){return`${new URL("/dashboard/subscription?personal=true",L().appBaseUrl).toString()}`}function q(){return`No access to ClinePass subscription models yet. Subscribe to ClinePass, the low cost open weights model coding plan: ${U()}`}class w extends Error{providerId;constructor(o){super(q());this.name="ClineNotSubscribedError",this.providerId=o}}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(o){super(z());this.name="ClineOrgIndividualInferenceSubscriptionError",this.providerId=o}}class _ extends Error{providerId;constructor(o,i){super(o);this.name="ClinePassLimitError",this.providerId=i}}class A extends Error{providerId;constructor(o,i){super(o);this.name="ClineFreeModelLimitError",this.providerId=i}}function ot(o){return o instanceof w}function nt(o){return o instanceof S}function at(o){return o instanceof _}function it(o){return o instanceof A}function st(o){let i=o.trim().toLowerCase();return i.includes(Je)||i.includes(Ze)}function lt(o){return o.toLowerCase().includes(Qe)}function ut(o){return F(o)!==void 0}function ct(o){let i=F(o);return i?o.slice(i.start,i.end):void 0}function dt(o){return o.toLowerCase().includes(tt)}function pt(o){return o.toLowerCase().includes(rt)}function mt(o){let i=o.toLowerCase(),c=i.indexOf($);if(c===-1)return;return i.slice(c+$.length).trim()||void 0}var H=["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","cortecs","crof","crossmodel","daoxe","databricks","deepseek","digitalocean","dinference","drun","ebcloud","empiriolabs","evroc","fastrouter","fireworks","freemodel","friendli","frogbot","gemini","github-copilot","github-models","gmicloud","greenpt","groq","helicone","hetzner","hpc-ai","huggingface","hyper","iflowcn","inception","inceptron","inference","inferx","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","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","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","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 gt={openai:"openai-compatible",togetherai:"together","sap-ai-core":"sapaicore"},G=[...new Set([...Object.values(k),...H])];function C(o){let i=o.trim();return gt[i]??i}export{C as normalizeProviderId,ut as isClinePassLimitMessage,at as isClinePassLimitError,lt as isClineOrgIndividualInferenceSubscriptionMessage,nt as isClineOrgIndividualInferenceSubscriptionError,st as isClineNotSubscribedMessage,ot as isClineNotSubscribedError,pt as isClineModelNotFoundMessage,dt as isClineFreeModelLimitMessage,it as isClineFreeModelLimitError,U as getClinePassSubscriptionUrl,z as getClineOrgIndividualInferenceSubscriptionMessage,q as getClineNotSubscribedMessage,ct as extractClinePassLimitMessage,mt as extractClineFreeModelLimitResetTime,_ as ClinePassLimitError,S as ClineOrgIndividualInferenceSubscriptionError,w as ClineNotSubscribedError,A as ClineFreeModelLimitError};
1
+ import{z as r}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 n}from"zod";import{z as Bt}from"zod";import{z as t}from"zod";import E from"zod";import{z as p}from"zod";import{z as e}from"zod";import{z as xr}from"zod";var R=["none","minimal","low","medium","high","xhigh","max"],Y=d.enum(R),X=Y.exclude(["none"]),J=d.enum([...R,"default"]).nullable(),K=d.discriminatedUnion("type",[d.object({type:d.literal("toggle")}).strict(),d.object({type:d.literal("effort"),values:d.array(J)}).strict(),d.object({type:d.literal("budget_tokens"),min:d.number().min(-1).optional(),max:d.number().min(0).optional()}).strict().refine((o)=>o.min===void 0||o.max===void 0||o.min<=o.max,{message:"Minimum reasoning budget cannot exceed maximum",path:["min"]})]),Z=l.enum(["default","openai-responses","r1"]);var Q=l.enum(["images","video","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),V=l.enum(["active","preview","deprecated","legacy"]),ee=l.object({input:l.number().optional(),output:l.number().optional(),cacheWrite:l.number().optional(),cacheRead:l.number().optional()}),te=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(Q).optional(),reasoningOptions:l.array(K).optional(),apiFormat:Z.optional(),systemRole:l.enum(["system","developer"]).optional(),temperature:l.number().optional(),pricing:ee.optional(),thinkingConfig:te.optional(),status:V.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()}),ne=r.enum(["completed","max_iterations","aborted","mistake_limit","error"]),ae=r.object({inputTokens:r.number(),outputTokens:r.number(),cacheReadTokens:r.number().optional(),cacheWriteTokens:r.number().optional(),totalCost:r.number().optional()}),kt=r.object({text:r.string(),usage:ae,messages:r.array(r.custom()),toolCalls:r.array(oe),iterations:r.number(),finishReason:ne,model:r.object({id:r.string(),provider:r.string(),info:j.optional()}),startedAt:r.date(),endedAt:r.date(),durationMs:r.number()}),Tt=r.object({sessionId:r.string().optional(),providerId:r.string(),modelId:r.string(),apiKey:r.string().optional(),baseUrl:r.string().url().optional(),headers:r.record(r.string(),r.string()).optional(),knownModels:r.record(r.string(),j).optional(),providerConfig:r.unknown().optional(),initialMessages:r.array(r.custom()).optional(),systemPrompt:r.string(),tools:r.array(r.custom()),maxIterations:r.number().positive().optional(),maxParallelToolCalls:r.number().int().positive().default(8),maxTokensPerTurn:r.number().positive().optional(),temperature:r.number().nonnegative().optional(),apiTimeoutMs:r.number().positive().default(180000),userFileContentLoader:r.function().input([r.string()]).output(r.promise(r.string())).optional(),toolContextMetadata:r.record(r.string(),r.unknown()).optional(),execution:r.object({maxConsecutiveMistakes:r.number().int().positive().optional(),reminderAfterIterations:r.number().nonnegative().optional(),reminderText:r.string().optional(),loopDetection:r.union([r.literal(!1),r.object({softThreshold:r.number().int().positive().optional(),hardThreshold:r.number().int().positive().optional()})]).optional()}).optional(),reasoningEffort:X.optional(),thinkingBudgetTokens:r.number().positive().optional(),thinking:r.boolean().optional(),onEvent:r.function().input([r.custom()]).output(r.void()).optional(),hooks:r.custom().optional(),parentAgentId:r.string().optional(),extensions:r.array(r.custom()).optional(),hookErrorMode:r.enum(["ignore","throw"]).default("ignore"),toolPolicies:r.record(r.string(),r.object({enabled:r.boolean().optional(),autoApprove:r.boolean().optional()})).optional(),requestToolApproval:r.function().input([r.object({sessionId:r.string(),agentId:r.string(),conversationId:r.string(),iteration:r.number(),toolCallId:r.string(),toolName:r.string(),input:r.unknown(),policy:r.object({enabled:r.boolean().optional(),autoApprove:r.boolean().optional()}).default({})})]).output(r.union([r.object({approved:r.boolean(),reason:r.string().optional()}),r.promise(r.object({approved:r.boolean(),reason:r.string().optional()}))])).optional(),onConsecutiveMistakeLimitReached:r.function().input([r.object({iteration:r.number().int().positive(),consecutiveMistakes:r.number().int().positive(),maxConsecutiveMistakes:r.number().int().positive(),reason:r.enum(["api_error","invalid_tool_call","tool_execution_failed"]),details:r.string().optional()})]).output(r.union([r.object({action:r.literal("continue"),guidance:r.string().optional()}),r.object({action:r.literal("stop"),reason:r.string().optional()}),r.promise(r.union([r.object({action:r.literal("continue"),guidance:r.string().optional()}),r.object({action:r.literal("stop"),reason:r.string().optional()})]))])).optional(),logger:r.custom().optional(),extensionContext:r.custom().optional(),abortSignal:r.custom().optional()}),ie=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"]),se=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()}),le=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()}),wt=s.object({actor:se,context:le,payload:s.record(s.string(),s.unknown()).optional()}),St=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()}),_t=s.object({adapter:s.string(),botUserName:s.string().optional(),event:ie,payload:s.record(s.string(),s.unknown()),ts:s.string()});var ue=["hooks","tools","commands","rules","skills","messageBuilders","providers","automationEvents","mcp"],At=new Set(ue);var N={CLINE_PASS:"ext-cline-pass"},Ct={[N.CLINE_PASS]:!1},It=Object.values(N),ce=n.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),h=n.record(n.string(),n.string()),de=n.object({toolName:n.string(),parameters:h}),pe=n.object({toolName:n.string(),parameters:h,result:n.string(),success:n.boolean(),executionTimeMs:n.number()}),me=n.object({prompt:n.string(),attachments:n.array(n.string())}),ge=n.object({taskMetadata:h}),fe=n.object({taskMetadata:h,previousState:h}),he=n.object({taskMetadata:h}),be=n.object({taskMetadata:h}),ye=n.object({taskId:n.string(),ulid:n.string(),contextSize:n.number(),compactionStrategy:n.string(),previousApiReqIndex:n.number(),tokensIn:n.number(),tokensOut:n.number(),tokensInCache:n.number(),tokensOutCache:n.number(),deletedRangeStart:n.number(),deletedRangeEnd:n.number(),contextJsonPath:n.string(),contextRawPath:n.string()}),Mt=n.object({clineVersion:n.string(),hookName:ce,timestamp:n.string(),taskId:n.string(),sessionContext:n.object({rootSessionId:n.string().optional(),hookLogPath:n.string().optional()}).optional(),workspaceRoots:n.array(n.string()),workspaceInfo:n.custom().optional(),userId:n.string(),agent_id:n.string(),parent_agent_id:n.string().nullable(),iteration:n.number().optional(),reason:n.string().optional(),tool_call:n.object({id:n.string(),name:n.string(),input:n.unknown()}).optional(),tool_result:n.custom().optional(),turn:n.unknown().optional(),error:n.object({name:n.string(),message:n.string(),stack:n.string().optional()}).optional(),preToolUse:de.optional(),postToolUse:pe.optional(),userPromptSubmit:me.optional(),taskStart:ge.optional(),taskResume:fe.optional(),taskCancel:he.optional(),taskComplete:be.optional(),preCompact:ye.optional()}).passthrough();var ve=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],Ot=new Set(ve);var Rt=["show","hide","subscription"];function ke(o){if(typeof globalThis.atob==="function")try{let i=globalThis.atob(o),c=Uint8Array.from(i,(f)=>f.charCodeAt(0));return new TextDecoder().decode(c)}catch{return null}if(typeof Buffer<"u")try{return Buffer.from(o,"base64").toString("utf8")}catch{return null}return null}function jt(o){let i=o?.trim();if(!i)return null;try{let c=i.split(".");if(c.length!==3)return null;let f=c[1];if(!f)return null;let b=f.replace(/-/g,"+").replace(/_/g,"/"),W=b.padEnd(b.length+(4-b.length%4)%4,"="),I=ke(W);return I?JSON.parse(I):null}catch{return null}}var Pt="anthropic/claude-sonnet-5";var Te=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(Te).optional(),openAiBaseUrl:t.string().optional(),openAiHeaders:t.record(t.string(),t.string()).optional(),azureApiVersion:t.string().optional(),azureIdentity:t.boolean().optional()}),we=t.object({id:t.string(),thinkingBudgetTokens:t.number().optional()}),Se=t.object({name:t.string(),baseModelId:t.string(),thinkingBudgetTokens:t.number().optional()}),_e=t.object({models:t.array(we).optional(),customModels:t.array(Se).optional(),awsRegion:t.string().optional(),awsUseCrossRegionInference:t.boolean().optional(),awsUseGlobalInference:t.boolean().optional(),awsBedrockUsePromptCache:t.boolean().optional(),awsBedrockEndpoint:t.string().optional()}),Ae=t.object({id:t.string()}),Ce=t.object({models:t.array(Ae).optional()}),Ie=t.object({id:t.string(),thinkingBudgetTokens:t.number().optional()}),xe=t.object({models:t.array(Ie).optional(),vertexProjectId:t.string().optional(),vertexRegion:t.string().optional()}),Me=t.object({id:t.string(),thinkingBudgetTokens:t.number().optional(),promptCachingEnabled:t.boolean().optional()}),Oe=t.object({models:t.array(Me).optional(),baseUrl:t.string().optional()}),Re=t.object({id:t.string(),thinkingBudgetTokens:t.number().optional()}),je=t.object({models:t.array(Re).optional(),baseUrl:t.string().optional()}),Ne=t.object({OpenAiCompatible:Ee.optional(),AwsBedrock:_e.optional(),Cline:Ce.optional(),Vertex:xe.optional(),LiteLLM:Oe.optional(),Anthropic:je.optional()}),Be=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()}),x=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()}),Le=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:Le.optional()}),$t=t.object({version:t.string(),providerSettings:Ne.optional(),telemetryEnabled:t.boolean().optional(),kanbanEnabled:t.boolean().optional(),mcpMarketplaceEnabled:t.boolean().optional(),allowedMCPServers:t.array(Be).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(x).optional(),globalWorkflows:t.array(x).optional()}),Dt=t.record(t.string(),t.string());var Ut=E.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth","popular"]),qt=E.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),zt=E.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(o){let i=o?.trim().toLowerCase();if(i==="production"||i==="staging"||i==="local")return i;return}function B(){if(typeof process>"u"||!process?.env)return{};return process.env}function De(){let o=B();return O(o.CLINE_ENVIRONMENT_OVERRIDE)??O(o.CLINE_ENVIRONMENT)??"production"}function Fe(o){if(typeof o==="string")return M[o];return M[De()]}function Ue(o,i){if(i.CLINE_API_BASE_URL)o={...o,apiBaseUrl:i.CLINE_API_BASE_URL,mcpBaseUrl:`${i.CLINE_API_BASE_URL}/v1/mcp`};return o}function P(o){let i=Fe(o);return Ue(i,B())}var qe=["rules","skills","workflows","plugins"];var Ht=new Set(qe);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()}),Wt=p.object({currentWorkspacePath:p.string().min(1).optional(),workspaces:p.record(p.string().min(1),ze)});var He=["current_state","boundary_analysis","interface_proposal"];var m=e.preprocess((o)=>o instanceof Date?o.toISOString():o,e.string().datetime()),y=e.enum(["pending","in_progress","blocked","completed"]),L=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(o){return e.preprocess((i)=>i===null?void 0:i,o.optional())}var Jt=e.object({agentId:e.string().min(1).describe("Teammate identifier"),rolePrompt:e.string().min(1).describe("System prompt describing teammate role")}).strict(),Kt=e.object({agentId:e.string().min(1).describe("Teammate identifier"),reason:u(e.string().min(1)).describe("Optional shutdown reason")}),Zt=e.object({}),We={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]};var Qt=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((o,i)=>{for(let c of We[o.action]){if(o[c]!==void 0)continue;i.addIssue({code:"custom",path:[c],message:`Field "${c}" is required when action=${o.action}`})}}),Vt=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")}),er=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)")}),tr=e.object({runId:e.string().min(1).describe("Run ID"),reason:u(e.string().min(1)).describe("Optional cancellation reason")}),rr=e.object({runId:u(e.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),or=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")}),nr=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")}),ar=e.object({unreadOnly:u(e.boolean()).describe("Only unread messages for read action (default true)")}),ir=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")}),sr=e.object({}),lr=e.object({title:e.string().describe("Outcome title"),requiredSections:e.array(e.string()).default(He).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),ur=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")}),cr=e.object({fragmentId:e.string().describe("Fragment ID"),approved:e.boolean().describe("Review decision")}),dr=e.object({outcomeId:e.string().describe("Outcome ID")}),pr=e.object({}),mr=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())}),gr=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})]),fr=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()}),Xe=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()})}),hr=e.object({id:e.string(),agentId:e.string(),taskId:e.string().optional(),status:L,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:Xe.optional()}),br=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()}),yr=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()}),vr=e.object({outcomeId:e.string(),status:v,requiredSections:e.array(e.string())}),kr=e.object({agentId:e.string(),status:e.string()}),Tr=e.object({runId:e.string(),status:L}),Er=e.object({id:e.string(),toAgentId:e.string()}),wr=e.object({delivered:e.number()}),Sr=e.object({id:e.string()}),_r=e.object({status:e.string()}),Ar=e.object({fragmentId:e.string(),status:e.string()}),Cr=e.object({outcomeId:e.string(),status:v}),Je;((o)=>{o.TaskStart="task_start",o.TaskEnd="task_end",o.AgentEvent="agent_event",o.TeammateSpawned="teammate_spawned",o.TeammateShutdown="teammate_shutdown",o.TeamTaskUpdated="team_task_updated",o.TeamMessage="team_message",o.TeamMissionLog="team_mission_log",o.TeamTaskCompleted="team_task_completed",o.RunStarted="run_started",o.RunQueued="run_queued",o.RunProgress="run_progress",o.RunCompleted="run_completed",o.RunFailed="run_failed",o.RunCancelled="run_cancelled",o.RunInterrupted="run_interrupted",o.OutcomeCreated="outcome_created",o.OutcomeFragmentAttached="outcome_fragment_attached",o.OutcomeFragmentReviewed="outcome_fragment_reviewed",o.OutcomeFinalized="outcome_finalized"})(Je||={});var Ke="the user is not subscribed to required model plan",Ze="no access to clinepass subscription models yet. subscribe to clinepass",Qe="organization accounts cannot use individual model inference subscriptions",Ve="you have reached your",et="clinepass limit",$="please try again later.",tt="free limit reached on model",D="try again in ",rt="model not found";function F(o){let i=o.toLowerCase(),c=i.indexOf(Ve);if(c===-1)return;let f=i.indexOf($,c);if(f===-1)return;let b=f+$.length;if(!i.slice(c,b).includes(et))return;return{start:c,end:b}}function U(){return`${new URL("/dashboard/subscription?personal=true",P().appBaseUrl).toString()}`}function q(){return`No access to ClinePass subscription models yet. Subscribe to ClinePass, the low cost open weights model coding plan: ${U()}`}class w extends Error{providerId;constructor(o){super(q());this.name="ClineNotSubscribedError",this.providerId=o}}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(o){super(z());this.name="ClineOrgIndividualInferenceSubscriptionError",this.providerId=o}}class _ extends Error{providerId;constructor(o,i){super(o);this.name="ClinePassLimitError",this.providerId=i}}class A extends Error{providerId;constructor(o,i){super(o);this.name="ClineFreeModelLimitError",this.providerId=i}}function ot(o){return o instanceof w}function nt(o){return o instanceof S}function at(o){return o instanceof _}function it(o){return o instanceof A}function st(o){let i=o.trim().toLowerCase();return i.includes(Ke)||i.includes(Ze)}function lt(o){return o.toLowerCase().includes(Qe)}function ut(o){return F(o)!==void 0}function ct(o){let i=F(o);return i?o.slice(i.start,i.end):void 0}function dt(o){return o.toLowerCase().includes(tt)}function pt(o){return o.toLowerCase().includes(rt)}function mt(o){let i=o.toLowerCase(),c=i.indexOf(D);if(c===-1)return;return i.slice(c+D.length).trim()||void 0}var H=["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","cortecs","crof","crossmodel","daoxe","databricks","deepseek","digitalocean","dinference","drun","ebcloud","empiriolabs","evroc","fastrouter","fireworks","freemodel","friendli","frogbot","gemini","github-copilot","github-models","gmicloud","greenpt","groq","helicone","hetzner","hpc-ai","huggingface","hyper","iflowcn","inception","inceptron","inference","inferx","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","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 gt={openai:"openai-compatible",togetherai:"together","sap-ai-core":"sapaicore"},G=[...new Set([...Object.values(k),...H])];function C(o){let i=o.trim();return gt[i]??i}export{C as normalizeProviderId,ut as isClinePassLimitMessage,at as isClinePassLimitError,lt as isClineOrgIndividualInferenceSubscriptionMessage,nt as isClineOrgIndividualInferenceSubscriptionError,st as isClineNotSubscribedMessage,ot as isClineNotSubscribedError,pt as isClineModelNotFoundMessage,dt as isClineFreeModelLimitMessage,it as isClineFreeModelLimitError,U as getClinePassSubscriptionUrl,z as getClineOrgIndividualInferenceSubscriptionMessage,q as getClineNotSubscribedMessage,ct as extractClinePassLimitMessage,mt as extractClineFreeModelLimitResetTime,_ as ClinePassLimitError,S as ClineOrgIndividualInferenceSubscriptionError,w as ClineNotSubscribedError,A as ClineFreeModelLimitError};