@cline/llms 0.0.81 → 0.0.82

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,EAMN,KAAK,uBAAuB,EAO5B,MAAM,eAAe,CAAC;AAQvB,OAAO,KAAK,EACX,eAAe,EAIf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACX,WAAW,EACX,eAAe,EAEf,MAAM,iBAAiB,CAAC;AA2BzB,eAAO,MAAM,6BAA6B,0FAC8C,CAAC;AACzF,eAAO,MAAM,6BAA6B,iFACqC,CAAC;AA+BhF;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AAEnD,YAAY,EACX,WAAW,EACX,eAAe,EACf,cAAc,GACd,MAAM,iBAAiB,CAAC;AA2oCzB,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,CAoDrE;AAED,qFAAqF;AACrF,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CACtD,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAGvC,CAAC;AAEF,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,EAKN,KAAK,uBAAuB,EAO5B,MAAM,eAAe,CAAC;AAQvB,OAAO,KAAK,EACX,eAAe,EAIf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACX,WAAW,EACX,eAAe,EAEf,MAAM,iBAAiB,CAAC;AA4BzB,eAAO,MAAM,6BAA6B,0FAC8C,CAAC;AACzF,eAAO,MAAM,6BAA6B,iFACqC,CAAC;AA+BhF;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AAEnD,YAAY,EACX,WAAW,EACX,eAAe,EACf,cAAc,GACd,MAAM,iBAAiB,CAAC;AAunCzB,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,CAuDrE;AAED,qFAAqF;AACrF,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CACtD,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAGvC,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,eAAe,EACzB,CAAC;AAEtC,eAAO,MAAM,kCAAkC,EAAE,MAAM,CACtD,MAAM,EACN,eAAe,CAMf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../src/providers/compat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,sBAAsB,EAGtB,oBAAoB,EACpB,MAAM,eAAe,CAAC;AA4BvB,OAAO,EACN,KAAK,UAAU,EAIf,KAAK,OAAO,EAEZ,KAAK,cAAc,EAGnB,MAAM,SAAS,CAAC;AAwQjB,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,OAAO,EAAE,GACjB,oBAAoB,CAAC,UAAU,CAAC,CAiGlC;AAwCD,iBAAS,kBAAkB,CAC1B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,cAAc,GACpB,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,EAAE,GAAG,SAAS,CAkE1D;AAED,iBAAS,kBAAkB,CAAC,MAAM,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCjD;AA6JD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,CAE1E;AAED,wBAAsB,4BAA4B,CACjD,MAAM,EAAE,cAAc,GACpB,OAAO,CAAC,UAAU,CAAC,CAqCrB;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ;;;CAGpB,CAAC"}
1
+ {"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../src/providers/compat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,sBAAsB,EAGtB,oBAAoB,EACpB,MAAM,eAAe,CAAC;AA6BvB,OAAO,EACN,KAAK,UAAU,EAIf,KAAK,OAAO,EAEZ,KAAK,cAAc,EAGnB,MAAM,SAAS,CAAC;AAiOjB,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,OAAO,EAAE,GACjB,oBAAoB,CAAC,UAAU,CAAC,CAiGlC;AAwCD,iBAAS,kBAAkB,CAC1B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,cAAc,GACpB,IAAI,CAAC,sBAAsB,EAAE,YAAY,CAAC,EAAE,GAAG,SAAS,CAkE1D;AAED,iBAAS,kBAAkB,CAAC,MAAM,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCjD;AA6JD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,CAE1E;AAED,wBAAsB,4BAA4B,CACjD,MAAM,EAAE,cAAc,GACpB,OAAO,CAAC,UAAU,CAAC,CAqCrB;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ;;;CAGpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"error-classification.d.ts","sourceRoot":"","sources":["../../src/providers/error-classification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAiB,MAAM,eAAe,CAAC;AAsQvE;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAqBxE"}
1
+ {"version":3,"file":"error-classification.d.ts","sourceRoot":"","sources":["../../src/providers/error-classification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAiB,MAAM,eAAe,CAAC;AAqRvE;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAqBxE"}
@@ -0,0 +1,15 @@
1
+ import type { GatewayModelCapability, ModelInfo } from "@cline/shared";
2
+ /**
3
+ * Translates catalog capabilities into gateway capabilities.
4
+ *
5
+ * Every gateway model accepts text, so `"text"` is always present and leads
6
+ * the result. Capabilities outside `ModelCapabilitySchema` reach this function
7
+ * from dynamic provider listings typed as plain strings; they contribute only
8
+ * the implied text capability rather than being passed through unvalidated.
9
+ *
10
+ * A missing or empty list yields `undefined`, matching `modelHasCapability`'s
11
+ * treatment of both as "no capability signal" so downstream gates apply their
12
+ * own defaults instead of reading an authoritative denial.
13
+ */
14
+ export declare function toGatewayModelCapabilities(capabilities: ModelInfo["capabilities"] | readonly string[] | undefined): GatewayModelCapability[] | undefined;
15
+ //# sourceMappingURL=model-capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-capabilities.d.ts","sourceRoot":"","sources":["../../src/providers/model-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,sBAAsB,EAEtB,SAAS,EACT,MAAM,eAAe,CAAC;AAiCvB;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACzC,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,GACrE,sBAAsB,EAAE,GAAG,SAAS,CActC"}
@@ -9,6 +9,12 @@ export declare function getProvider(providerId: string): Promise<ProviderInfo |
9
9
  export declare function getProviderCollectionSync(providerId: string): ModelCollection | undefined;
10
10
  export declare function getProviderCollection(providerId: string): Promise<ModelCollection | undefined>;
11
11
  export declare function getModelsForProvider(providerId: string, options?: GetModelsForProviderOptions): Promise<Record<string, ModelInfo>>;
12
+ /**
13
+ * Returns only models explicitly registered at runtime, excluding the bundled
14
+ * provider collection. These overrides must remain highest-precedence when a
15
+ * caller merges the registry with a freshly fetched catalog.
16
+ */
17
+ export declare function getModelOverridesForProvider(providerId: string): Promise<Record<string, ModelInfo>>;
12
18
  export declare function getAllProviders(): Promise<ProviderInfo[]>;
13
19
  export declare function registerProvider(collection: ModelCollection): void;
14
20
  export declare function registerModel(providerId: string, modelId: string, info: ModelInfo): void;
@@ -1 +1 @@
1
- {"version":3,"file":"model-registry.d.ts","sourceRoot":"","sources":["../../src/providers/model-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,eAAe,EACf,SAAS,EACT,YAAY,EACZ,MAAM,kBAAkB,CAAC;AAG1B,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEzC,MAAM,WAAW,2BAA2B;IAC3C,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC7B;AA8BD,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAMzC;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAsB,WAAW,CAChC,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAEnC;AAED,wBAAgB,yBAAyB,CACxC,UAAU,EAAE,MAAM,GAChB,eAAe,GAAG,SAAS,CAE7B;AAED,wBAAsB,qBAAqB,CAC1C,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAEtC;AAED,wBAAsB,oBAAoB,CACzC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,2BAAgC,GACvC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAepC;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAI/D;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAElE;AAED,wBAAgB,aAAa,CAC5B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,GACb,IAAI,CAKN;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5E;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAG9D;AAED,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAGD,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAgB1E,CAAC"}
1
+ {"version":3,"file":"model-registry.d.ts","sourceRoot":"","sources":["../../src/providers/model-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,eAAe,EACf,SAAS,EACT,YAAY,EACZ,MAAM,kBAAkB,CAAC;AAG1B,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEzC,MAAM,WAAW,2BAA2B;IAC3C,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC7B;AA8BD,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAMzC;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAsB,WAAW,CAChC,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAEnC;AAED,wBAAgB,yBAAyB,CACxC,UAAU,EAAE,MAAM,GAChB,eAAe,GAAG,SAAS,CAE7B;AAED,wBAAsB,qBAAqB,CAC1C,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAEtC;AAED,wBAAsB,oBAAoB,CACzC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,2BAAgC,GACvC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAepC;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,CACjD,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAMpC;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAI/D;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAElE;AAED,wBAAgB,aAAa,CAC5B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,GACb,IAAI,CAKN;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5E;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAG9D;AAED,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAGD,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAgB1E,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", "agentrouter", "agnes", "ai-router", "aiand", "aihubmix", "aixy", "aki-io", "alibaba", "alibaba-cn", "alibaba-coding-plan", "alibaba-coding-plan-cn", "alibaba-token-plan", "alibaba-token-plan-cn", "ambient", "amd", "anthropic", "anyapi", "arcee", "atomic-chat", "auriko", "bailing", "baseten", "bedrock", "berget", "blueclaw", "cerebras", "chutes", "clarifai", "claudinio", "cline-pass", "cloudferro-sherlock", "cloudflare-workers-ai", "coralbricks", "cortecs", "crof", "crossmodel", "crusoe", "daoxe", "databricks", "deepseek", "digitalocean", "dinference", "drun", "ebcloud", "echo", "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", "iteracompute", "jalapeno", "jiekou", "kenari", "kilo", "kimi-for-coding", "kosmik", "kuae-cloud-coding-plan", "lilac", "llama", "llmgateway", "llmgateway-providers", "llmtech", "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", "neosmith", "neuralwatt", "nova", "novita-ai", "nvidia", "ofox", "ollama", "openai-native", "opencode", "opencode-go", "openrouter", "opper", "orcarouter", "ovhcloud", "pendra", "perplexity-agent", "pioneer", "poe", "poolside", "privatemode-ai", "qihang-ai", "qiniu-ai", "regolo-ai", "requesty", "routing-run", "runinfra", "sakana", "sapaicore", "sarvam", "scaleway", "scnet-token-plan", "scx-ai", "siliconflow", "siliconflow-cn", "snowflake-cortex", "stackit", "standardcompute", "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", "above", "agentrouter", "agnes", "ai-router", "aiand", "aihubmix", "aixy", "aki-io", "alibaba", "alibaba-cn", "alibaba-coding-plan", "alibaba-coding-plan-cn", "alibaba-token-plan", "alibaba-token-plan-cn", "ambient", "amd", "anthropic", "anyapi", "arcee", "atomic-chat", "auriko", "bailing", "baseten", "bedrock", "berget", "blueclaw", "bothub", "cerebras", "chutes", "clarifai", "claudinio", "cline-pass", "cloudferro-sherlock", "cloudflare-workers-ai", "coralbricks", "cortecs", "crof", "crossmodel", "crusoe", "daoxe", "databricks", "deepseek", "digitalocean", "dinference", "drun", "ebcloud", "echo", "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", "iteracompute", "jalapeno", "jiekou", "kenari", "kilo", "kimi-for-coding", "klokintegration", "kosmik", "kuae-cloud-coding-plan", "lilac", "llama", "llmgateway", "llmgateway-providers", "llmtech", "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", "neosmith", "neuralwatt", "nova", "novita-ai", "nvidia", "ofox", "ollama", "openai-native", "opencode", "opencode-go", "openreason", "openrouter", "opper", "orcarouter", "ovhcloud", "pendra", "perplexity-agent", "pioneer", "poe", "poolside", "privatemode-ai", "qihang-ai", "qiniu-ai", "regolo-ai", "requesty", "routing-run", "runinfra", "sakana", "sapaicore", "sarvam", "scaleway", "scnet-token-plan", "scx-ai", "sensenova", "siliconflow", "siliconflow-cn", "snowflake-cortex", "stackit", "standardcompute", "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", "tokengo", "tokenrouter", "trustedrouter", "umans-ai", "umans-ai-coding-plan", "unorouter", "upstage", "v0", "vancine", "vercel-ai-gateway", "vertex", "vivgrid", "volcengine", "volcengine-coding-plan", "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,88EA8LzB,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,4lFAwMzB,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,EAqlF1D,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,EAiuF1D,CAAC"}
@@ -1,4 +1,4 @@
1
- import{z as t}from"zod";import{z as l}from"zod";import{z as p}from"zod";import{z as h}from"zod";import{z as s}from"zod";import{z as o}from"zod";import{z as d}from"zod";import{z as Xt}from"zod";import{z as n}from"zod";import w from"zod";import{z as m}from"zod";import{z as e}from"zod";import{z as zn}from"zod";var N=["none","minimal","low","medium","high","xhigh","max"],J=p.enum(N),Q=J.exclude(["none"]),Z=p.enum([...N,"default"]).nullable(),V=p.discriminatedUnion("type",[p.object({type:p.literal("toggle")}).strict(),p.object({type:p.literal("effort"),values:p.array(Z)}).strict(),p.object({type:p.literal("budget_tokens"),min:p.number().min(-1).optional(),max:p.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"]})]),ee=l.enum(["default","openai-responses","r1"]);var te=l.enum(["images","video","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),ne=l.enum(["active","preview","deprecated","legacy"]),re=l.object({input:l.number().optional(),output:l.number().optional(),cacheWrite:l.number().optional(),cacheRead:l.number().optional()}),oe=l.object({maxBudget:l.number().optional(),outputPrice:l.number().optional(),thinkingLevel:l.enum(["low","high"]).optional()}),ae=l.object({reasoningDefaultOn:l.boolean().optional()}).catchall(l.unknown()),I=l.enum(["text","image","audio","video","pdf"]),ie=l.object({input:l.array(I),output:l.array(I)});function se(r){return(r?.input===void 0||r.input.includes("text"))&&(r?.output===void 0||r.output.includes("text"))}var le=l.enum(["language","image-generation","speech-generation","video-generation","transcription"]);function Mt(r){return(r.operation===void 0||r.operation==="language")&&se(r.modalities)}var ue=l.enum(["batch","streaming"]);var L=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(te).optional(),operation:le.optional(),operationModes:l.array(ue).optional(),modalities:ie.optional(),reasoningOptions:l.array(V).optional(),apiFormat:ee.optional(),systemRole:l.enum(["system","developer"]).optional(),temperature:l.number().optional(),pricing:re.optional(),thinkingConfig:oe.optional(),status:ne.optional(),deprecationNotice:l.string().optional(),replacedBy:l.string().optional(),releaseDate:l.string().optional(),deprecationDate:l.string().optional(),family:l.string().optional(),metadata:ae.optional()}),ce=h.object({id:h.string(),name:h.string(),execution:h.enum(["client","provider"]).optional(),input:h.unknown(),output:h.unknown(),error:h.string().optional(),durationMs:h.number(),startedAt:h.date(),endedAt:h.date()}),de=t.enum(["completed","max_iterations","aborted","mistake_limit","error"]),pe=t.object({inputTokens:t.number(),outputTokens:t.number(),cacheReadTokens:t.number().optional(),cacheWriteTokens:t.number().optional(),totalCost:t.number().optional()}),Ot=t.object({text:t.string(),usage:pe,messages:t.array(t.custom()),toolCalls:t.array(ce),iterations:t.number(),finishReason:de,model:t.object({id:t.string(),provider:t.string(),info:L.optional()}),startedAt:t.date(),endedAt:t.date(),durationMs:t.number()}),Rt=t.object({distinctId:t.string().optional(),sessionId:t.string().optional(),providerId:t.string(),modelId:t.string(),apiKey:t.string().optional(),baseUrl:t.string().url().optional(),headers:t.record(t.string(),t.string()).optional(),knownModels:t.record(t.string(),L).optional(),providerConfig:t.unknown().optional(),initialMessages:t.array(t.custom()).optional(),systemPrompt:t.string(),tools:t.array(t.custom()),modelTools:t.array(t.custom()).optional(),maxIterations:t.number().positive().optional(),maxParallelToolCalls:t.number().int().positive().default(8),maxTokensPerTurn:t.number().positive().optional(),temperature:t.number().nonnegative().optional(),apiTimeoutMs:t.number().positive().default(180000),userFileContentLoader:t.function().input([t.string()]).output(t.promise(t.string())).optional(),toolContextMetadata:t.record(t.string(),t.unknown()).optional(),execution:t.object({maxConsecutiveMistakes:t.number().int().positive().optional(),reminderAfterIterations:t.number().nonnegative().optional(),reminderText:t.string().optional(),loopDetection:t.union([t.literal(!1),t.object({softThreshold:t.number().int().positive().optional(),hardThreshold:t.number().int().positive().optional()})]).optional()}).optional(),reasoningEffort:Q.optional(),thinkingBudgetTokens:t.number().positive().optional(),thinking:t.boolean().optional(),onEvent:t.function().input([t.custom()]).output(t.void()).optional(),hooks:t.custom().optional(),parentAgentId:t.string().optional(),extensions:t.array(t.custom()).optional(),hookErrorMode:t.enum(["ignore","throw"]).default("ignore"),toolPolicies:t.record(t.string(),t.object({enabled:t.boolean().optional(),autoApprove:t.boolean().optional()})).optional(),requestToolApproval:t.function().input([t.object({sessionId:t.string(),agentId:t.string(),conversationId:t.string(),iteration:t.number(),toolCallId:t.string(),toolName:t.string(),input:t.unknown(),policy:t.object({enabled:t.boolean().optional(),autoApprove:t.boolean().optional()}).default({})})]).output(t.union([t.object({approved:t.boolean(),reason:t.string().optional()}),t.promise(t.object({approved:t.boolean(),reason:t.string().optional()}))])).optional(),onConsecutiveMistakeLimitReached:t.function().input([t.object({iteration:t.number().int().positive(),consecutiveMistakes:t.number().int().positive(),maxConsecutiveMistakes:t.number().int().positive(),reason:t.enum(["api_error","invalid_tool_call","tool_execution_failed"]),details:t.string().optional()})]).output(t.union([t.object({action:t.literal("continue"),guidance:t.string().optional()}),t.object({action:t.literal("stop"),reason:t.string().optional()}),t.promise(t.union([t.object({action:t.literal("continue"),guidance:t.string().optional()}),t.object({action:t.literal("stop"),reason:t.string().optional()})]))])).optional(),logger:t.custom().optional(),extensionContext:t.custom().optional(),abortSignal:t.custom().optional()}),me=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"]),ge=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()}),he=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()}),Nt=s.object({actor:ge,context:he,payload:s.record(s.string(),s.unknown()).optional()}),Lt=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()}),Pt=s.object({adapter:s.string(),botUserName:s.string().optional(),event:me,payload:s.record(s.string(),s.unknown()),ts:s.string()});var fe=["hooks","tools","commands","rules","skills","messageBuilders","providers","automationEvents","mcp"],Dt=new Set(fe);var P={CLINE_PASS:"ext-cline-pass"},Bt={[P.CLINE_PASS]:!1},$t=Object.values(P),ye=o.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),y=o.record(o.string(),o.string()),be=o.object({toolName:o.string(),parameters:y}),ve=o.object({toolName:o.string(),parameters:y,result:o.string(),success:o.boolean(),executionTimeMs:o.number()}),ke=o.object({prompt:o.string(),attachments:o.array(o.string())}),Te=o.object({taskMetadata:y}),Ee=o.object({taskMetadata:y,previousState:y}),we=o.object({taskMetadata:y}),Se=o.object({taskMetadata:y}),Ae=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()}),qt=o.object({clineVersion:o.string(),hookName:ye,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:be.optional(),postToolUse:ve.optional(),userPromptSubmit:ke.optional(),taskStart:Te.optional(),taskResume:Ee.optional(),taskCancel:we.optional(),taskComplete:Se.optional(),preCompact:Ae.optional()}).passthrough();var Ce=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],Ft=new Set(Ce);var _e=d.enum(["image","audio","video","file"]),xe=d.discriminatedUnion("type",[d.object({type:d.literal("base64"),data:d.string().min(1)}),d.object({type:d.literal("url"),url:d.string().url().refine((r)=>{let i=new URL(r).protocol;return i==="http:"||i==="https:"},"Generated media URLs must use HTTP or HTTPS")}),d.object({type:d.literal("artifact"),artifactId:d.string().min(1)})]);function Me(r){if(r.startsWith("image/"))return"image";if(r.startsWith("audio/"))return"audio";if(r.startsWith("video/"))return"video";return"file"}var Gt=d.object({id:d.string().min(1),modality:_e,mediaType:d.string().min(1),source:xe,name:d.string().min(1).optional(),sizeBytes:d.number().int().nonnegative().optional()}).refine((r)=>Me(r.mediaType)===r.modality,{message:"Generated media modality must match its media type",path:["modality"]});var zt=["show","hide","subscription"];function Ie(r){if(typeof globalThis.atob==="function")try{let i=globalThis.atob(r),c=Uint8Array.from(i,(f)=>f.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 Ht(r){let i=r?.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,"/"),K=b.padEnd(b.length+(4-b.length%4)%4,"="),M=Ie(K);return M?JSON.parse(M):null}catch{return null}}var D=`# Plan Mode
1
+ import{z as t}from"zod";import{z as l}from"zod";import{z as p}from"zod";import{z as f}from"zod";import{z as s}from"zod";import{z as o}from"zod";import{z as d}from"zod";import{z as Xt}from"zod";import{z as n}from"zod";import S from"zod";import{z as m}from"zod";import{z as e}from"zod";import{z as Wn}from"zod";var L=["none","minimal","low","medium","high","xhigh","max"],Z=p.enum(L),Q=Z.exclude(["none"]),V=p.enum([...L,"default"]).nullable(),$=p.discriminatedUnion("type",[p.object({type:p.literal("toggle")}).strict(),p.object({type:p.literal("effort"),values:p.array(V)}).strict(),p.object({type:p.literal("budget_tokens"),min:p.number().min(-1).optional(),max:p.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"]})]),ee=l.enum(["default","openai-responses","r1"]);var te=l.enum(["images","video","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),ne=l.enum(["active","preview","deprecated","legacy"]),re=l.object({input:l.number().optional(),output:l.number().optional(),cacheWrite:l.number().optional(),cacheRead:l.number().optional()}),oe=l.object({maxBudget:l.number().optional(),outputPrice:l.number().optional(),thinkingLevel:l.enum(["low","high"]).optional()}),ae=l.object({reasoningDefaultOn:l.boolean().optional()}).catchall(l.unknown()),O=l.enum(["text","image","audio","video","pdf"]),ie=l.object({input:l.array(O),output:l.array(O)});function se(r){return(r?.input===void 0||r.input.includes("text"))&&(r?.output===void 0||r.output.includes("text"))}var le=l.enum(["language","image-generation","speech-generation","video-generation","transcription"]);function Mt(r){return(r.operation===void 0||r.operation==="language")&&se(r.modalities)}var ue=l.enum(["batch","streaming"]);var P=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(te).optional(),operation:le.optional(),operationModes:l.array(ue).optional(),modalities:ie.optional(),reasoningOptions:l.array($).optional(),apiFormat:ee.optional(),systemRole:l.enum(["system","developer"]).optional(),temperature:l.number().optional(),pricing:re.optional(),thinkingConfig:oe.optional(),status:ne.optional(),deprecationNotice:l.string().optional(),replacedBy:l.string().optional(),releaseDate:l.string().optional(),deprecationDate:l.string().optional(),family:l.string().optional(),metadata:ae.optional()});var ce=f.object({id:f.string(),name:f.string(),execution:f.enum(["client","provider"]).optional(),input:f.unknown(),output:f.unknown(),error:f.string().optional(),durationMs:f.number(),startedAt:f.date(),endedAt:f.date()}),de=t.enum(["completed","max_iterations","aborted","mistake_limit","error"]),pe=t.object({inputTokens:t.number(),outputTokens:t.number(),cacheReadTokens:t.number().optional(),cacheWriteTokens:t.number().optional(),totalCost:t.number().optional()}),Ot=t.object({text:t.string(),usage:pe,messages:t.array(t.custom()),toolCalls:t.array(ce),iterations:t.number(),finishReason:de,model:t.object({id:t.string(),provider:t.string(),info:P.optional()}),startedAt:t.date(),endedAt:t.date(),durationMs:t.number()}),Rt=t.object({distinctId:t.string().optional(),sessionId:t.string().optional(),providerId:t.string(),modelId:t.string(),apiKey:t.string().optional(),baseUrl:t.string().url().optional(),headers:t.record(t.string(),t.string()).optional(),knownModels:t.record(t.string(),P).optional(),providerConfig:t.unknown().optional(),initialMessages:t.array(t.custom()).optional(),systemPrompt:t.string(),tools:t.array(t.custom()),modelTools:t.array(t.custom()).optional(),maxIterations:t.number().positive().optional(),maxParallelToolCalls:t.number().int().positive().default(8),maxTokensPerTurn:t.number().positive().optional(),temperature:t.number().nonnegative().optional(),apiTimeoutMs:t.number().positive().default(180000),userFileContentLoader:t.function().input([t.string()]).output(t.promise(t.string())).optional(),toolContextMetadata:t.record(t.string(),t.unknown()).optional(),execution:t.object({maxConsecutiveMistakes:t.number().int().positive().optional(),reminderAfterIterations:t.number().nonnegative().optional(),reminderText:t.string().optional(),loopDetection:t.union([t.literal(!1),t.object({softThreshold:t.number().int().positive().optional(),hardThreshold:t.number().int().positive().optional()})]).optional()}).optional(),reasoningEffort:Q.optional(),thinkingBudgetTokens:t.number().positive().optional(),thinking:t.boolean().optional(),onEvent:t.function().input([t.custom()]).output(t.void()).optional(),hooks:t.custom().optional(),parentAgentId:t.string().optional(),extensions:t.array(t.custom()).optional(),hookErrorMode:t.enum(["ignore","throw"]).default("ignore"),toolPolicies:t.record(t.string(),t.object({enabled:t.boolean().optional(),autoApprove:t.boolean().optional()})).optional(),requestToolApproval:t.function().input([t.object({sessionId:t.string(),agentId:t.string(),conversationId:t.string(),iteration:t.number(),toolCallId:t.string(),toolName:t.string(),input:t.unknown(),policy:t.object({enabled:t.boolean().optional(),autoApprove:t.boolean().optional()}).default({})})]).output(t.union([t.object({approved:t.boolean(),reason:t.string().optional()}),t.promise(t.object({approved:t.boolean(),reason:t.string().optional()}))])).optional(),onConsecutiveMistakeLimitReached:t.function().input([t.object({iteration:t.number().int().positive(),consecutiveMistakes:t.number().int().positive(),maxConsecutiveMistakes:t.number().int().positive(),reason:t.enum(["api_error","invalid_tool_call","tool_execution_failed"]),details:t.string().optional()})]).output(t.union([t.object({action:t.literal("continue"),guidance:t.string().optional()}),t.object({action:t.literal("stop"),reason:t.string().optional()}),t.promise(t.union([t.object({action:t.literal("continue"),guidance:t.string().optional()}),t.object({action:t.literal("stop"),reason:t.string().optional()})]))])).optional(),logger:t.custom().optional(),extensionContext:t.custom().optional(),abortSignal:t.custom().optional()}),me=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"]),ge=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()}),fe=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()}),Nt=s.object({actor:ge,context:fe,payload:s.record(s.string(),s.unknown()).optional()}),Lt=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()}),Pt=s.object({adapter:s.string(),botUserName:s.string().optional(),event:me,payload:s.record(s.string(),s.unknown()),ts:s.string()});var he=["hooks","tools","commands","rules","skills","messageBuilders","providers","automationEvents","mcp"],Dt=new Set(he);var w={CLINE_PASS:"ext-cline-pass",CODE_ONBOARDING_GITHUB:"code-onboarding-github"},Bt={[w.CLINE_PASS]:!1,[w.CODE_ONBOARDING_GITHUB]:!1},Ut=Object.values(w),ye=o.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),y=o.record(o.string(),o.string()),be=o.object({toolName:o.string(),parameters:y}),ve=o.object({toolName:o.string(),parameters:y,result:o.string(),success:o.boolean(),executionTimeMs:o.number()}),ke=o.object({prompt:o.string(),attachments:o.array(o.string())}),Te=o.object({taskMetadata:y}),Ee=o.object({taskMetadata:y,previousState:y}),we=o.object({taskMetadata:y}),Se=o.object({taskMetadata:y}),Ae=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()}),qt=o.object({clineVersion:o.string(),hookName:ye,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:be.optional(),postToolUse:ve.optional(),userPromptSubmit:ke.optional(),taskStart:Te.optional(),taskResume:Ee.optional(),taskCancel:we.optional(),taskComplete:Se.optional(),preCompact:Ae.optional()}).passthrough();var Ce=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],Gt=new Set(Ce);var _e=d.enum(["image","audio","video","file"]),xe=d.discriminatedUnion("type",[d.object({type:d.literal("base64"),data:d.string().min(1)}),d.object({type:d.literal("url"),url:d.string().url().refine((r)=>{let i=new URL(r).protocol;return i==="http:"||i==="https:"},"Generated media URLs must use HTTP or HTTPS")}),d.object({type:d.literal("artifact"),artifactId:d.string().min(1)})]);function Me(r){if(r.startsWith("image/"))return"image";if(r.startsWith("audio/"))return"audio";if(r.startsWith("video/"))return"video";return"file"}var Ht=d.object({id:d.string().min(1),modality:_e,mediaType:d.string().min(1),source:xe,name:d.string().min(1).optional(),sizeBytes:d.number().int().nonnegative().optional()}).refine((r)=>Me(r.mediaType)===r.modality,{message:"Generated media modality must match its media type",path:["modality"]});var Wt=["show","hide","subscription"];function Ie(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 zt(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,"="),I=Ie(J);return I?JSON.parse(I):null}catch{return null}}var D=`# Plan Mode
2
2
 
3
3
  You are in Plan mode. Your role is to explore, analyze, and plan -- not to execute.
4
4
 
@@ -9,8 +9,8 @@ You are in Plan mode. Your role is to explore, analyze, and plan -- not to execu
9
9
  - Do NOT edit files, write code, run destructive commands, or make any changes
10
10
  - Do NOT implement anything -- focus on understanding and alignment first
11
11
 
12
- The run_commands tool remains available in plan mode strictly for read-only inspection -- listing files, searching (grep), reading configs, inspecting git history and diffs, checking tool versions, and the like. Never use it to change anything: no creating, modifying, or deleting files, no writing scripts that make changes, and no state-changing commands (installs, migrations, database or schema changes, container commands that mutate state, etc.). File-editing commands (rm/mv/cp, in-place edits like sed -i, output redirection to files outside /tmp, git commands that change the working tree, package installs) are hard-blocked in plan mode: they are not executed and return a tool error instead, so do not attempt them. If the task requires a mutation, put it in the plan; it happens only after the user switches to act mode.`,Kt=`${D}
12
+ The run_commands tool remains available in plan mode strictly for read-only inspection -- listing files, searching (grep), reading configs, inspecting git history and diffs, checking tool versions, and the like. Never use it to change anything: no creating, modifying, or deleting files, no writing scripts that make changes, and no state-changing commands (installs, migrations, database or schema changes, container commands that mutate state, etc.). File-editing commands (rm/mv/cp, in-place edits like sed -i, output redirection to files outside /tmp, git commands that change the working tree, package installs) are hard-blocked in plan mode: they are not executed and return a tool error instead, so do not attempt them. If the task requires a mutation, put it in the plan; it happens only after the user switches to act mode.`,Jt=`${D}
13
13
 
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.`,Jt=`${D}
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.`,Zt=`${D}
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 Qt="anthropic/claude-sonnet-5";var Oe=n.object({id:n.string(),temperature:n.number().optional(),maxTokens:n.number().optional(),contextWindow:n.number().optional(),inputPrice:n.number().optional(),outputPrice:n.number().optional(),supportsImages:n.boolean().optional()}),Re=n.object({models:n.array(Oe).optional(),openAiBaseUrl:n.string().optional(),openAiHeaders:n.record(n.string(),n.string()).optional(),azureApiVersion:n.string().optional(),azureIdentity:n.boolean().optional()}),je=n.object({id:n.string(),thinkingBudgetTokens:n.number().optional()}),Ne=n.object({name:n.string(),baseModelId:n.string(),thinkingBudgetTokens:n.number().optional()}),Le=n.object({models:n.array(je).optional(),customModels:n.array(Ne).optional(),awsRegion:n.string().optional(),awsUseCrossRegionInference:n.boolean().optional(),awsUseGlobalInference:n.boolean().optional(),awsBedrockUsePromptCache:n.boolean().optional(),awsBedrockEndpoint:n.string().optional()}),Pe=n.object({id:n.string()}),De=n.object({models:n.array(Pe).optional()}),Be=n.object({id:n.string(),thinkingBudgetTokens:n.number().optional()}),$e=n.object({models:n.array(Be).optional(),vertexProjectId:n.string().optional(),vertexRegion:n.string().optional()}),Ue=n.object({id:n.string(),thinkingBudgetTokens:n.number().optional(),promptCachingEnabled:n.boolean().optional()}),qe=n.object({models:n.array(Ue).optional(),baseUrl:n.string().optional()}),Fe=n.object({id:n.string(),thinkingBudgetTokens:n.number().optional()}),Ye=n.object({models:n.array(Fe).optional(),baseUrl:n.string().optional()}),Ge=n.object({OpenAiCompatible:Re.optional(),AwsBedrock:Le.optional(),Cline:De.optional(),Vertex:$e.optional(),LiteLLM:qe.optional(),Anthropic:Ye.optional()}),ze=n.object({id:n.string()}),He=n.object({name:n.string(),url:n.string(),alwaysEnabled:n.boolean().optional(),headers:n.record(n.string(),n.string()).optional()}),O=n.object({alwaysEnabled:n.boolean(),name:n.string(),contents:n.string()}),E=n.object({bucket:n.string(),accessKeyId:n.string(),secretAccessKey:n.string(),region:n.string().optional(),endpoint:n.string().optional(),accountId:n.string().optional()}),We=n.object({enabled:n.boolean().optional(),type:n.union([n.literal("s3_access_keys"),n.literal("r2_access_keys"),n.literal("azure_access_keys")]).optional(),s3AccessSettings:E.optional(),r2AccessSettings:E.optional(),azureAccessSettings:E.optional()}),Xe=n.object({promptUploading:We.optional()}),Vt=n.object({version:n.string(),providerSettings:Ge.optional(),telemetryEnabled:n.boolean().optional(),kanbanEnabled:n.boolean().optional(),mcpMarketplaceEnabled:n.boolean().optional(),allowedMCPServers:n.array(ze).optional(),remoteMCPServers:n.array(He).optional(),blockPersonalRemoteMCPServers:n.boolean().optional(),yoloModeAllowed:n.boolean().optional(),openTelemetryEnabled:n.boolean().optional(),openTelemetryMetricsExporter:n.string().optional(),openTelemetryLogsExporter:n.string().optional(),openTelemetryOtlpProtocol:n.string().optional(),openTelemetryOtlpEndpoint:n.string().optional(),openTelemetryOtlpHeaders:n.record(n.string(),n.string()).optional(),openTelemetryOtlpMetricsProtocol:n.string().optional(),openTelemetryOtlpMetricsEndpoint:n.string().optional(),openTelemetryOtlpMetricsHeaders:n.record(n.string(),n.string()).optional(),openTelemetryOtlpLogsProtocol:n.string().optional(),openTelemetryOtlpLogsEndpoint:n.string().optional(),openTelemetryOtlpLogsHeaders:n.record(n.string(),n.string()).optional(),openTelemetryMetricExportInterval:n.number().optional(),openTelemetryOtlpInsecure:n.boolean().optional(),openTelemetryLogBatchSize:n.number().optional(),openTelemetryLogBatchTimeout:n.number().optional(),openTelemetryLogMaxQueueSize:n.number().optional(),enterpriseTelemetry:Xe.optional(),globalRules:n.array(O).optional(),globalWorkflows:n.array(O).optional()}),en=n.record(n.string(),n.string());var nn=w.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth","popular"]),rn=w.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),on=w.enum(["anthropic","ai-sdk","ai-sdk-community","openai","openai-compatible","openai-r1","gemini","bedrock","custom","fetch","vertex"]);var R={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 j(r){let i=r?.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 Ke(){let r=B();return j(r.CLINE_ENVIRONMENT_OVERRIDE)??j(r.CLINE_ENVIRONMENT)??"production"}function Je(r){if(typeof r==="string")return R[r];return R[Ke()]}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 $(r){let i=Je(r);return Qe(i,B())}var Ze=["rules","skills","workflows","plugins","hooks"];var an=new Set(Ze);var Ve=m.object({rootPath:m.string().min(1),hint:m.string().min(1).optional(),associatedRemoteUrls:m.array(m.string().min(1)).optional(),latestGitCommitHash:m.string().min(1).optional(),latestGitBranchName:m.string().min(1).optional()}),ln=m.object({currentWorkspacePath:m.string().min(1).optional(),workspaces:m.record(m.string().min(1),Ve)});var et=["current_state","boundary_analysis","interface_proposal"];var g=e.preprocess((r)=>r instanceof Date?r.toISOString():r,e.string().datetime()),v=e.enum(["pending","in_progress","blocked","completed"]),U=e.enum(["queued","running","completed","failed","cancelled","interrupted"]),k=e.enum(["draft","in_review","finalized"]),tt=e.object({agentId:e.string(),role:e.enum(["lead","teammate"]),description:e.string().optional(),status:e.enum(["idle","running","stopped"])}),cn=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 dn=e.object({agentId:e.string().min(1).describe("Teammate identifier"),rolePrompt:e.string().min(1).describe("System prompt describing teammate role")}).strict(),pn=e.object({agentId:e.string().min(1).describe("Teammate identifier"),reason:u(e.string().min(1)).describe("Optional shutdown reason")}),mn=e.object({}),nt={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]};var gn=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 nt[r.action]){if(r[c]!==void 0)continue;i.addIssue({code:"custom",path:[c],message:`Field "${c}" is required when action=${r.action}`})}}),hn=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")}),fn=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)")}),yn=e.object({runId:e.string().min(1).describe("Run ID"),reason:u(e.string().min(1)).describe("Optional cancellation reason")}),bn=e.object({runId:u(e.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),vn=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")}),kn=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")}),Tn=e.object({unreadOnly:u(e.boolean()).describe("Only unread messages for read action (default true)")}),En=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")}),wn=e.object({}),Sn=e.object({title:e.string().describe("Outcome title"),requiredSections:e.array(e.string()).default(et).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),An=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")}),Cn=e.object({fragmentId:e.string().describe("Fragment ID"),approved:e.boolean().describe("Review decision")}),_n=e.object({outcomeId:e.string().describe("Outcome ID")}),xn=e.object({}),Mn=e.object({teamId:e.string(),teamName:e.string(),members:e.array(tt),taskCounts:e.record(v,e.number()),unreadMessages:e.number(),missionLogEntries:e.number(),activeRuns:e.number(),queuedRuns:e.number(),outcomeCounts:e.record(k,e.number())}),rt=e.object({id:e.string(),title:e.string(),description:e.string(),status:v,createdAt:g,updatedAt:g,createdBy:e.string(),assignee:e.string().optional(),dependsOn:e.array(e.string()),summary:e.string().optional(),isReady:e.boolean(),blockedBy:e.array(e.string())}),In=e.discriminatedUnion("action",[e.object({action:e.literal("create"),taskId:e.string(),status:v,ignoredFields:e.array(e.string()).optional(),note:e.string().optional()}),e.object({action:e.literal("list"),tasks:e.array(rt)}),e.object({action:e.literal("claim"),taskId:e.string(),status:v,nextStep:e.string()}),e.object({action:e.literal("complete"),taskId:e.string(),status:v}),e.object({action:e.literal("block"),taskId:e.string(),status:v})]),On=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()}),ot=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()})}),Rn=e.object({id:e.string(),agentId:e.string(),taskId:e.string().optional(),status:U,messagePreview:e.string(),priority:e.number(),retryCount:e.number(),maxRetries:e.number(),nextAttemptAt:g.optional(),continueConversation:e.boolean().optional(),startedAt:g,endedAt:g.optional(),leaseOwner:e.string().optional(),heartbeatAt:g.optional(),lastProgressAt:g.optional(),lastProgressMessage:e.string().optional(),currentActivity:e.string().optional(),error:e.string().optional(),resultSummary:ot.optional()}),jn=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:g,readAt:g.optional()}),Nn=e.object({id:e.string(),teamId:e.string(),title:e.string(),status:k,requiredSections:e.array(e.string()),createdBy:e.string(),createdAt:g,finalizedAt:g.optional()}),Ln=e.object({outcomeId:e.string(),status:k,requiredSections:e.array(e.string())}),Pn=e.object({agentId:e.string(),status:e.string()}),Dn=e.object({runId:e.string(),status:U}),Bn=e.object({id:e.string(),toAgentId:e.string()}),$n=e.object({delivered:e.number()}),Un=e.object({id:e.string()}),qn=e.object({status:e.string()}),Fn=e.object({fragmentId:e.string(),status:e.string()}),Yn=e.object({outcomeId:e.string(),status:k}),at;((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"})(at||={});var it="the user is not subscribed to required model plan",st="no access to clinepass subscription models yet. subscribe to clinepass",lt="organization accounts cannot use individual model inference subscriptions",ut="you have reached your",ct="clinepass limit",q="please try again later.",dt="free limit reached on model",F="try again in ",pt="model not found";function Y(r){let i=r.toLowerCase(),c=i.indexOf(ut);if(c===-1)return;let f=i.indexOf(q,c);if(f===-1)return;let b=f+q.length;if(!i.slice(c,b).includes(ct))return;return{start:c,end:b}}function G(){return`${new URL("/dashboard/subscription?personal=true",$().appBaseUrl).toString()}`}function z(){return`No access to ClinePass subscription models yet. Subscribe to ClinePass, the low cost open weights model coding plan: ${G()}`}class S extends Error{providerId;constructor(r){super(z());this.name="ClineNotSubscribedError",this.providerId=r}}function H(){return"Organization accounts cannot use ClinePass subscriptions. Go to /account -> change account to switch to your personal account for ClinePass"}class A extends Error{providerId;constructor(r){super(H());this.name="ClineOrgIndividualInferenceSubscriptionError",this.providerId=r}}class C extends Error{providerId;constructor(r,i){super(r);this.name="ClinePassLimitError",this.providerId=i}}class _ extends Error{providerId;constructor(r,i){super(r);this.name="ClineFreeModelLimitError",this.providerId=i}}function mt(r){return r instanceof S}function gt(r){return r instanceof A}function ht(r){return r instanceof C}function ft(r){return r instanceof _}function yt(r){let i=r.trim().toLowerCase();return i.includes(it)||i.includes(st)}function bt(r){return r.toLowerCase().includes(lt)}function vt(r){return Y(r)!==void 0}function kt(r){let i=Y(r);return i?r.slice(i.start,i.end):void 0}function Tt(r){return r.toLowerCase().includes(dt)}function Et(r){return r.toLowerCase().includes(pt)}function wt(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","agentrouter","agnes","ai-router","aiand","aihubmix","aixy","aki-io","alibaba","alibaba-cn","alibaba-coding-plan","alibaba-coding-plan-cn","alibaba-token-plan","alibaba-token-plan-cn","ambient","amd","anthropic","anyapi","arcee","atomic-chat","auriko","bailing","baseten","bedrock","berget","blueclaw","cerebras","chutes","clarifai","claudinio","cline-pass","cloudferro-sherlock","cloudflare-workers-ai","coralbricks","cortecs","crof","crossmodel","crusoe","daoxe","databricks","deepseek","digitalocean","dinference","drun","ebcloud","echo","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","iteracompute","jalapeno","jiekou","kenari","kilo","kimi-for-coding","kosmik","kuae-cloud-coding-plan","lilac","llama","llmgateway","llmgateway-providers","llmtech","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","neosmith","neuralwatt","nova","novita-ai","nvidia","ofox","ollama","openai-native","opencode","opencode-go","openrouter","opper","orcarouter","ovhcloud","pendra","perplexity-agent","pioneer","poe","poolside","privatemode-ai","qihang-ai","qiniu-ai","regolo-ai","requesty","routing-run","runinfra","sakana","sapaicore","sarvam","scaleway","scnet-token-plan","scx-ai","siliconflow","siliconflow-cn","snowflake-cortex","stackit","standardcompute","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 T;((a)=>{a.ANTHROPIC="anthropic";a.CLAUDE_CODE="claude-code";a.CLINE="cline";a.CLINE_PASS="cline-pass";a.ELEVENLABS="elevenlabs";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"})(T||={});var St={openai:"openai-compatible",togetherai:"together","sap-ai-core":"sapaicore"},X=[...new Set([...Object.values(T),...W])];function x(r){let i=r.trim();return St[i]??i}export{x as normalizeProviderId,vt as isClinePassLimitMessage,ht as isClinePassLimitError,bt as isClineOrgIndividualInferenceSubscriptionMessage,gt as isClineOrgIndividualInferenceSubscriptionError,yt as isClineNotSubscribedMessage,mt as isClineNotSubscribedError,Et as isClineModelNotFoundMessage,Tt as isClineFreeModelLimitMessage,ft as isClineFreeModelLimitError,G as getClinePassSubscriptionUrl,H as getClineOrgIndividualInferenceSubscriptionMessage,z as getClineNotSubscribedMessage,kt as extractClinePassLimitMessage,wt as extractClineFreeModelLimitResetTime,C as ClinePassLimitError,A as ClineOrgIndividualInferenceSubscriptionError,S as ClineNotSubscribedError,_ 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 Qt="anthropic/claude-sonnet-5";var Oe=n.object({id:n.string(),temperature:n.number().optional(),maxTokens:n.number().optional(),contextWindow:n.number().optional(),inputPrice:n.number().optional(),outputPrice:n.number().optional(),supportsImages:n.boolean().optional()}),Re=n.object({models:n.array(Oe).optional(),openAiBaseUrl:n.string().optional(),openAiHeaders:n.record(n.string(),n.string()).optional(),azureApiVersion:n.string().optional(),azureIdentity:n.boolean().optional()}),je=n.object({id:n.string(),thinkingBudgetTokens:n.number().optional()}),Ne=n.object({name:n.string(),baseModelId:n.string(),thinkingBudgetTokens:n.number().optional()}),Le=n.object({models:n.array(je).optional(),customModels:n.array(Ne).optional(),awsRegion:n.string().optional(),awsUseCrossRegionInference:n.boolean().optional(),awsUseGlobalInference:n.boolean().optional(),awsBedrockUsePromptCache:n.boolean().optional(),awsBedrockEndpoint:n.string().optional()}),Pe=n.object({id:n.string()}),De=n.object({models:n.array(Pe).optional()}),Be=n.object({id:n.string(),thinkingBudgetTokens:n.number().optional()}),Ue=n.object({models:n.array(Be).optional(),vertexProjectId:n.string().optional(),vertexRegion:n.string().optional()}),Fe=n.object({id:n.string(),thinkingBudgetTokens:n.number().optional(),promptCachingEnabled:n.boolean().optional()}),qe=n.object({models:n.array(Fe).optional(),baseUrl:n.string().optional()}),Ge=n.object({id:n.string(),thinkingBudgetTokens:n.number().optional()}),Ye=n.object({models:n.array(Ge).optional(),baseUrl:n.string().optional()}),He=n.object({OpenAiCompatible:Re.optional(),AwsBedrock:Le.optional(),Cline:De.optional(),Vertex:Ue.optional(),LiteLLM:qe.optional(),Anthropic:Ye.optional()}),We=n.object({id:n.string()}),ze=n.object({name:n.string(),url:n.string(),alwaysEnabled:n.boolean().optional(),headers:n.record(n.string(),n.string()).optional()}),R=n.object({alwaysEnabled:n.boolean(),name:n.string(),contents:n.string()}),E=n.object({bucket:n.string(),accessKeyId:n.string(),secretAccessKey:n.string(),region:n.string().optional(),endpoint:n.string().optional(),accountId:n.string().optional()}),Ke=n.object({enabled:n.boolean().optional(),type:n.union([n.literal("s3_access_keys"),n.literal("r2_access_keys"),n.literal("azure_access_keys")]).optional(),s3AccessSettings:E.optional(),r2AccessSettings:E.optional(),azureAccessSettings:E.optional()}),Xe=n.object({promptUploading:Ke.optional()}),$t=n.object({version:n.string(),providerSettings:He.optional(),telemetryEnabled:n.boolean().optional(),kanbanEnabled:n.boolean().optional(),mcpMarketplaceEnabled:n.boolean().optional(),allowedMCPServers:n.array(We).optional(),remoteMCPServers:n.array(ze).optional(),blockPersonalRemoteMCPServers:n.boolean().optional(),yoloModeAllowed:n.boolean().optional(),openTelemetryEnabled:n.boolean().optional(),openTelemetryMetricsExporter:n.string().optional(),openTelemetryLogsExporter:n.string().optional(),openTelemetryOtlpProtocol:n.string().optional(),openTelemetryOtlpEndpoint:n.string().optional(),openTelemetryOtlpHeaders:n.record(n.string(),n.string()).optional(),openTelemetryOtlpMetricsProtocol:n.string().optional(),openTelemetryOtlpMetricsEndpoint:n.string().optional(),openTelemetryOtlpMetricsHeaders:n.record(n.string(),n.string()).optional(),openTelemetryOtlpLogsProtocol:n.string().optional(),openTelemetryOtlpLogsEndpoint:n.string().optional(),openTelemetryOtlpLogsHeaders:n.record(n.string(),n.string()).optional(),openTelemetryMetricExportInterval:n.number().optional(),openTelemetryOtlpInsecure:n.boolean().optional(),openTelemetryLogBatchSize:n.number().optional(),openTelemetryLogBatchTimeout:n.number().optional(),openTelemetryLogMaxQueueSize:n.number().optional(),enterpriseTelemetry:Xe.optional(),globalRules:n.array(R).optional(),globalWorkflows:n.array(R).optional()}),en=n.record(n.string(),n.string());var nn=S.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth","popular"]),rn=S.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),on=S.enum(["anthropic","ai-sdk","ai-sdk-community","openai","openai-compatible","openai-r1","gemini","bedrock","custom","fetch","vertex"]);var j={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 N(r){let i=r?.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 Je(){let r=B();return N(r.CLINE_ENVIRONMENT_OVERRIDE)??N(r.CLINE_ENVIRONMENT)??"production"}function Ze(r){if(typeof r==="string")return j[r];return j[Je()]}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 U(r){let i=Ze(r);return Qe(i,B())}var Ve=["rules","skills","workflows","plugins","hooks"];var an=new Set(Ve);var $e=m.object({rootPath:m.string().min(1),hint:m.string().min(1).optional(),associatedRemoteUrls:m.array(m.string().min(1)).optional(),latestGitCommitHash:m.string().min(1).optional(),latestGitBranchName:m.string().min(1).optional()}),ln=m.object({currentWorkspacePath:m.string().min(1).optional(),workspaces:m.record(m.string().min(1),$e)});var et=["current_state","boundary_analysis","interface_proposal"];var g=e.preprocess((r)=>r instanceof Date?r.toISOString():r,e.string().datetime()),v=e.enum(["pending","in_progress","blocked","completed"]),F=e.enum(["queued","running","completed","failed","cancelled","interrupted"]),k=e.enum(["draft","in_review","finalized"]),tt=e.object({agentId:e.string(),role:e.enum(["lead","teammate"]),description:e.string().optional(),status:e.enum(["idle","running","stopped"])}),cn=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 dn=e.object({agentId:e.string().min(1).describe("Teammate identifier"),rolePrompt:e.string().min(1).describe("System prompt describing teammate role")}).strict(),pn=e.object({agentId:e.string().min(1).describe("Teammate identifier"),reason:u(e.string().min(1)).describe("Optional shutdown reason")}),mn=e.object({}),nt={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]};var gn=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 nt[r.action]){if(r[c]!==void 0)continue;i.addIssue({code:"custom",path:[c],message:`Field "${c}" is required when action=${r.action}`})}}),fn=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")}),hn=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)")}),yn=e.object({runId:e.string().min(1).describe("Run ID"),reason:u(e.string().min(1)).describe("Optional cancellation reason")}),bn=e.object({runId:u(e.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),vn=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")}),kn=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")}),Tn=e.object({unreadOnly:u(e.boolean()).describe("Only unread messages for read action (default true)")}),En=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")}),wn=e.object({}),Sn=e.object({title:e.string().describe("Outcome title"),requiredSections:e.array(e.string()).default(et).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),An=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")}),Cn=e.object({fragmentId:e.string().describe("Fragment ID"),approved:e.boolean().describe("Review decision")}),_n=e.object({outcomeId:e.string().describe("Outcome ID")}),xn=e.object({}),Mn=e.object({teamId:e.string(),teamName:e.string(),members:e.array(tt),taskCounts:e.record(v,e.number()),unreadMessages:e.number(),missionLogEntries:e.number(),activeRuns:e.number(),queuedRuns:e.number(),outcomeCounts:e.record(k,e.number())}),rt=e.object({id:e.string(),title:e.string(),description:e.string(),status:v,createdAt:g,updatedAt:g,createdBy:e.string(),assignee:e.string().optional(),dependsOn:e.array(e.string()),summary:e.string().optional(),isReady:e.boolean(),blockedBy:e.array(e.string())}),In=e.discriminatedUnion("action",[e.object({action:e.literal("create"),taskId:e.string(),status:v,ignoredFields:e.array(e.string()).optional(),note:e.string().optional()}),e.object({action:e.literal("list"),tasks:e.array(rt)}),e.object({action:e.literal("claim"),taskId:e.string(),status:v,nextStep:e.string()}),e.object({action:e.literal("complete"),taskId:e.string(),status:v}),e.object({action:e.literal("block"),taskId:e.string(),status:v})]),On=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()}),ot=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()})}),Rn=e.object({id:e.string(),agentId:e.string(),taskId:e.string().optional(),status:F,messagePreview:e.string(),priority:e.number(),retryCount:e.number(),maxRetries:e.number(),nextAttemptAt:g.optional(),continueConversation:e.boolean().optional(),startedAt:g,endedAt:g.optional(),leaseOwner:e.string().optional(),heartbeatAt:g.optional(),lastProgressAt:g.optional(),lastProgressMessage:e.string().optional(),currentActivity:e.string().optional(),error:e.string().optional(),resultSummary:ot.optional()}),jn=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:g,readAt:g.optional()}),Nn=e.object({id:e.string(),teamId:e.string(),title:e.string(),status:k,requiredSections:e.array(e.string()),createdBy:e.string(),createdAt:g,finalizedAt:g.optional()}),Ln=e.object({outcomeId:e.string(),status:k,requiredSections:e.array(e.string())}),Pn=e.object({agentId:e.string(),status:e.string()}),Dn=e.object({runId:e.string(),status:F}),Bn=e.object({id:e.string(),toAgentId:e.string()}),Un=e.object({delivered:e.number()}),Fn=e.object({id:e.string()}),qn=e.object({status:e.string()}),Gn=e.object({fragmentId:e.string(),status:e.string()}),Yn=e.object({outcomeId:e.string(),status:k}),at;((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"})(at||={});var it="the user is not subscribed to required model plan",st="no access to clinepass subscription models yet. subscribe to clinepass",lt="organization accounts cannot use individual model inference subscriptions",ut="you have reached your",ct="clinepass limit",q="please try again later.",dt="free limit reached on model",G="try again in ",pt="model not found";function Y(r){let i=r.toLowerCase(),c=i.indexOf(ut);if(c===-1)return;let h=i.indexOf(q,c);if(h===-1)return;let b=h+q.length;if(!i.slice(c,b).includes(ct))return;return{start:c,end:b}}function H(){return`${new URL("/dashboard/subscription?personal=true",U().appBaseUrl).toString()}`}function W(){return`No access to ClinePass subscription models yet. Subscribe to ClinePass, the low cost open weights model coding plan: ${H()}`}class A extends Error{providerId;constructor(r){super(W());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 C extends Error{providerId;constructor(r){super(z());this.name="ClineOrgIndividualInferenceSubscriptionError",this.providerId=r}}class _ extends Error{providerId;constructor(r,i){super(r);this.name="ClinePassLimitError",this.providerId=i}}class x extends Error{providerId;constructor(r,i){super(r);this.name="ClineFreeModelLimitError",this.providerId=i}}function mt(r){return r instanceof A}function gt(r){return r instanceof C}function ft(r){return r instanceof _}function ht(r){return r instanceof x}function yt(r){let i=r.trim().toLowerCase();return i.includes(it)||i.includes(st)}function bt(r){return r.toLowerCase().includes(lt)}function vt(r){return Y(r)!==void 0}function kt(r){let i=Y(r);return i?r.slice(i.start,i.end):void 0}function Tt(r){return r.toLowerCase().includes(dt)}function Et(r){return r.toLowerCase().includes(pt)}function wt(r){let i=r.toLowerCase(),c=i.indexOf(G);if(c===-1)return;return i.slice(c+G.length).trim()||void 0}var K=["302ai","abacus","abliteration-ai","above","agentrouter","agnes","ai-router","aiand","aihubmix","aixy","aki-io","alibaba","alibaba-cn","alibaba-coding-plan","alibaba-coding-plan-cn","alibaba-token-plan","alibaba-token-plan-cn","ambient","amd","anthropic","anyapi","arcee","atomic-chat","auriko","bailing","baseten","bedrock","berget","blueclaw","bothub","cerebras","chutes","clarifai","claudinio","cline-pass","cloudferro-sherlock","cloudflare-workers-ai","coralbricks","cortecs","crof","crossmodel","crusoe","daoxe","databricks","deepseek","digitalocean","dinference","drun","ebcloud","echo","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","iteracompute","jalapeno","jiekou","kenari","kilo","kimi-for-coding","klokintegration","kosmik","kuae-cloud-coding-plan","lilac","llama","llmgateway","llmgateway-providers","llmtech","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","neosmith","neuralwatt","nova","novita-ai","nvidia","ofox","ollama","openai-native","opencode","opencode-go","openreason","openrouter","opper","orcarouter","ovhcloud","pendra","perplexity-agent","pioneer","poe","poolside","privatemode-ai","qihang-ai","qiniu-ai","regolo-ai","requesty","routing-run","runinfra","sakana","sapaicore","sarvam","scaleway","scnet-token-plan","scx-ai","sensenova","siliconflow","siliconflow-cn","snowflake-cortex","stackit","standardcompute","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","tokengo","tokenrouter","trustedrouter","umans-ai","umans-ai-coding-plan","unorouter","upstage","v0","vancine","vercel-ai-gateway","vertex","vivgrid","volcengine","volcengine-coding-plan","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 T;((a)=>{a.ANTHROPIC="anthropic";a.CLAUDE_CODE="claude-code";a.CLINE="cline";a.CLINE_PASS="cline-pass";a.ELEVENLABS="elevenlabs";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"})(T||={});var St={openai:"openai-compatible",togetherai:"together","sap-ai-core":"sapaicore"},X=[...new Set([...Object.values(T),...K])];function M(r){let i=r.trim();return St[i]??i}export{M as normalizeProviderId,vt as isClinePassLimitMessage,ft as isClinePassLimitError,bt as isClineOrgIndividualInferenceSubscriptionMessage,gt as isClineOrgIndividualInferenceSubscriptionError,yt as isClineNotSubscribedMessage,mt as isClineNotSubscribedError,Et as isClineModelNotFoundMessage,Tt as isClineFreeModelLimitMessage,ht as isClineFreeModelLimitError,H as getClinePassSubscriptionUrl,z as getClineOrgIndividualInferenceSubscriptionMessage,W as getClineNotSubscribedMessage,kt as extractClinePassLimitMessage,wt as extractClineFreeModelLimitResetTime,_ as ClinePassLimitError,C as ClineOrgIndividualInferenceSubscriptionError,A as ClineNotSubscribedError,x as ClineFreeModelLimitError};