@linxiraos/pi-catalog 1.1.7 → 1.1.8

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.
Files changed (287) hide show
  1. package/CHANGELOG.md +8 -8
  2. package/README.md +9 -8
  3. package/dist/types/build.d.ts +13 -8
  4. package/dist/types/cline-pass-model-id.d.ts +4 -0
  5. package/dist/types/compat/anthropic.d.ts +10 -4
  6. package/dist/types/compat/auth-ids.d.ts +4 -0
  7. package/dist/types/compat/auth.d.ts +7 -0
  8. package/dist/types/compat/axes.d.ts +50 -0
  9. package/dist/types/compat/behavior.d.ts +69 -0
  10. package/dist/types/compat/cascade.d.ts +37 -0
  11. package/dist/types/{variant-collapse.d.ts → compat/collapse.d.ts} +60 -35
  12. package/dist/types/compat/openai.d.ts +7 -26
  13. package/dist/types/compat/resolve.d.ts +15 -0
  14. package/dist/types/compat/revision.d.ts +41 -0
  15. package/dist/types/compat/taxonomy.d.ts +93 -0
  16. package/dist/types/compat/types.d.ts +565 -0
  17. package/dist/types/discovery/antigravity.d.ts +1 -1
  18. package/dist/types/discovery/cursor-proto.d.ts +6 -6
  19. package/dist/types/discovery/cursor.d.ts +5 -3
  20. package/dist/types/discovery/devin-proto.d.ts +363 -0
  21. package/dist/types/discovery/gemini-cli.d.ts +1 -1
  22. package/dist/types/identity/id.d.ts +1 -0
  23. package/dist/types/identity/index.d.ts +3 -3
  24. package/dist/types/identity/reference.d.ts +0 -10
  25. package/dist/types/index.d.ts +1 -1
  26. package/dist/types/model-thinking.d.ts +6 -24
  27. package/dist/types/provider-models/cline-pass.d.ts +22 -0
  28. package/dist/types/provider-models/descriptors.d.ts +20 -1
  29. package/dist/types/provider-models/models-dev-policies.d.ts +2 -1
  30. package/dist/types/provider-models/openai-compat.d.ts +59 -46
  31. package/dist/types/provider-models/special.d.ts +23 -2
  32. package/dist/types/types.d.ts +177 -13
  33. package/dist/types/wire/cline-pass.d.ts +21 -0
  34. package/dist/types/wire/devin-proto.d.ts +14 -0
  35. package/dist/types/wire/devin.d.ts +36 -0
  36. package/dist/types/wire/github-copilot.d.ts +31 -12
  37. package/package.json +6 -4
  38. package/src/build.ts +165 -48
  39. package/src/cline-pass-model-id.ts +11 -0
  40. package/src/compat/anthropic.ts +15 -136
  41. package/src/compat/auth-ids.ts +157 -0
  42. package/src/compat/auth.ts +60 -0
  43. package/src/compat/axes.ts +290 -0
  44. package/src/compat/behavior.ts +207 -0
  45. package/src/compat/cascade.ts +230 -0
  46. package/src/{variant-collapse.ts → compat/collapse.ts} +381 -773
  47. package/src/compat/openai.ts +17 -848
  48. package/src/compat/resolve.ts +1229 -0
  49. package/src/compat/revision.ts +154 -0
  50. package/src/compat/rules/README.md +315 -0
  51. package/src/compat/rules/auth/_order.kdl +13 -0
  52. package/src/compat/rules/auth/abliteration.kdl +9 -0
  53. package/src/compat/rules/auth/aiand.kdl +9 -0
  54. package/src/compat/rules/auth/aimlapi.kdl +3 -0
  55. package/src/compat/rules/auth/alibaba-coding-plan.kdl +5 -0
  56. package/src/compat/rules/auth/alibaba-token-plan.kdl +11 -0
  57. package/src/compat/rules/auth/amazon-bedrock.kdl +5 -0
  58. package/src/compat/rules/auth/anthropic.kdl +53 -0
  59. package/src/compat/rules/auth/azure.kdl +3 -0
  60. package/src/compat/rules/auth/baseten.kdl +9 -0
  61. package/src/compat/rules/auth/bedrock-mantle.kdl +5 -0
  62. package/src/compat/rules/auth/cerebras.kdl +9 -0
  63. package/src/compat/rules/auth/cline-pass.kdl +12 -0
  64. package/src/compat/rules/auth/cloudflare-ai-gateway.kdl +4 -0
  65. package/src/compat/rules/auth/coreweave.kdl +9 -0
  66. package/src/compat/rules/auth/cursor.kdl +5 -0
  67. package/src/compat/rules/auth/deepinfra.kdl +11 -0
  68. package/src/compat/rules/auth/deepseek.kdl +10 -0
  69. package/src/compat/rules/auth/devin.kdl +28 -0
  70. package/src/compat/rules/auth/exa.kdl +9 -0
  71. package/src/compat/rules/auth/firepass.kdl +14 -0
  72. package/src/compat/rules/auth/fireworks.kdl +16 -0
  73. package/src/compat/rules/auth/github-copilot.kdl +7 -0
  74. package/src/compat/rules/auth/gitlab-duo-agent.kdl +23 -0
  75. package/src/compat/rules/auth/gitlab-duo.kdl +24 -0
  76. package/src/compat/rules/auth/gmi-cloud.kdl +9 -0
  77. package/src/compat/rules/auth/google-antigravity.kdl +28 -0
  78. package/src/compat/rules/auth/google-gemini-cli.kdl +26 -0
  79. package/src/compat/rules/auth/google-vertex.kdl +5 -0
  80. package/src/compat/rules/auth/google.kdl +3 -0
  81. package/src/compat/rules/auth/groq.kdl +3 -0
  82. package/src/compat/rules/auth/huggingface.kdl +9 -0
  83. package/src/compat/rules/auth/kagi.kdl +9 -0
  84. package/src/compat/rules/auth/kilo.kdl +4 -0
  85. package/src/compat/rules/auth/kimi-code.kdl +18 -0
  86. package/src/compat/rules/auth/litellm.kdl +8 -0
  87. package/src/compat/rules/auth/llama.cpp.kdl +10 -0
  88. package/src/compat/rules/auth/lm-studio.kdl +7 -0
  89. package/src/compat/rules/auth/meta.kdl +9 -0
  90. package/src/compat/rules/auth/minimax-code-cn.kdl +9 -0
  91. package/src/compat/rules/auth/minimax-code.kdl +9 -0
  92. package/src/compat/rules/auth/minimax.kdl +3 -0
  93. package/src/compat/rules/auth/mistral.kdl +3 -0
  94. package/src/compat/rules/auth/moonshot.kdl +9 -0
  95. package/src/compat/rules/auth/nanogpt.kdl +9 -0
  96. package/src/compat/rules/auth/novita.kdl +12 -0
  97. package/src/compat/rules/auth/nvidia.kdl +11 -0
  98. package/src/compat/rules/auth/ollama-cloud.kdl +8 -0
  99. package/src/compat/rules/auth/ollama.kdl +9 -0
  100. package/src/compat/rules/auth/openai-codex-device.kdl +20 -0
  101. package/src/compat/rules/auth/openai-codex.kdl +33 -0
  102. package/src/compat/rules/auth/openai.kdl +3 -0
  103. package/src/compat/rules/auth/opencode-go.kdl +10 -0
  104. package/src/compat/rules/auth/opencode-zen.kdl +9 -0
  105. package/src/compat/rules/auth/openrouter.kdl +32 -0
  106. package/src/compat/rules/auth/parallel.kdl +9 -0
  107. package/src/compat/rules/auth/perplexity.kdl +7 -0
  108. package/src/compat/rules/auth/qianfan.kdl +9 -0
  109. package/src/compat/rules/auth/qwen-portal.kdl +9 -0
  110. package/src/compat/rules/auth/sakana.kdl +9 -0
  111. package/src/compat/rules/auth/siliconflow-cn.kdl +9 -0
  112. package/src/compat/rules/auth/siliconflow.kdl +9 -0
  113. package/src/compat/rules/auth/synthetic.kdl +9 -0
  114. package/src/compat/rules/auth/tavily.kdl +9 -0
  115. package/src/compat/rules/auth/together.kdl +14 -0
  116. package/src/compat/rules/auth/umans.kdl +9 -0
  117. package/src/compat/rules/auth/venice.kdl +9 -0
  118. package/src/compat/rules/auth/vercel-ai-gateway.kdl +8 -0
  119. package/src/compat/rules/auth/vllm.kdl +9 -0
  120. package/src/compat/rules/auth/wafer-serverless.kdl +11 -0
  121. package/src/compat/rules/auth/xai-oauth.kdl +27 -0
  122. package/src/compat/rules/auth/xai.kdl +9 -0
  123. package/src/compat/rules/auth/xiaomi-token-plan-ams.kdl +9 -0
  124. package/src/compat/rules/auth/xiaomi-token-plan-cn.kdl +9 -0
  125. package/src/compat/rules/auth/xiaomi-token-plan-sgp.kdl +9 -0
  126. package/src/compat/rules/auth/xiaomi.kdl +6 -0
  127. package/src/compat/rules/auth/yolo-auto.kdl +11 -0
  128. package/src/compat/rules/auth/zai-coding-plan.kdl +29 -0
  129. package/src/compat/rules/auth/zai.kdl +9 -0
  130. package/src/compat/rules/auth/zenmux.kdl +9 -0
  131. package/src/compat/rules/auth/zhipu-coding-plan.kdl +9 -0
  132. package/src/compat/rules/classes/amazon.kdl +21 -0
  133. package/src/compat/rules/classes/anthropic.kdl +285 -0
  134. package/src/compat/rules/classes/baidu.kdl +9 -0
  135. package/src/compat/rules/classes/bytedance.kdl +9 -0
  136. package/src/compat/rules/classes/cohere.kdl +7 -0
  137. package/src/compat/rules/classes/deepseek.kdl +80 -0
  138. package/src/compat/rules/classes/gemini.kdl +107 -0
  139. package/src/compat/rules/classes/gemma.kdl +14 -0
  140. package/src/compat/rules/classes/glm.kdl +115 -0
  141. package/src/compat/rules/classes/gpt-oss.kdl +16 -0
  142. package/src/compat/rules/classes/kimi.kdl +113 -0
  143. package/src/compat/rules/classes/meta.kdl +15 -0
  144. package/src/compat/rules/classes/mimo.kdl +32 -0
  145. package/src/compat/rules/classes/minimax.kdl +79 -0
  146. package/src/compat/rules/classes/mistral.kdl +19 -0
  147. package/src/compat/rules/classes/openai.kdl +42 -0
  148. package/src/compat/rules/classes/qwen.kdl +72 -0
  149. package/src/compat/rules/classes/stepfun.kdl +10 -0
  150. package/src/compat/rules/classes/xai.kdl +45 -0
  151. package/src/compat/rules/providers/abliteration.kdl +8 -0
  152. package/src/compat/rules/providers/aiand.kdl +19 -0
  153. package/src/compat/rules/providers/aimlapi.kdl +24 -0
  154. package/src/compat/rules/providers/alibaba-coding-plan.kdl +20 -0
  155. package/src/compat/rules/providers/alibaba-token-plan.kdl +35 -0
  156. package/src/compat/rules/providers/amazon-bedrock.kdl +36 -0
  157. package/src/compat/rules/providers/anthropic.kdl +24 -0
  158. package/src/compat/rules/providers/azure.kdl +19 -0
  159. package/src/compat/rules/providers/baseten.kdl +19 -0
  160. package/src/compat/rules/providers/bedrock-mantle.kdl +15 -0
  161. package/src/compat/rules/providers/cerebras.kdl +19 -0
  162. package/src/compat/rules/providers/cline-pass.kdl +8 -0
  163. package/src/compat/rules/providers/cloudflare-ai-gateway.kdl +26 -0
  164. package/src/compat/rules/providers/coreweave.kdl +16 -0
  165. package/src/compat/rules/providers/cursor.kdl +52 -0
  166. package/src/compat/rules/providers/deepseek.kdl +21 -0
  167. package/src/compat/rules/providers/firepass.kdl +15 -0
  168. package/src/compat/rules/providers/fireworks.kdl +43 -0
  169. package/src/compat/rules/providers/github-copilot.kdl +62 -0
  170. package/src/compat/rules/providers/gitlab-duo.kdl +24 -0
  171. package/src/compat/rules/providers/gmi-cloud.kdl +8 -0
  172. package/src/compat/rules/providers/google-antigravity.kdl +59 -0
  173. package/src/compat/rules/providers/google-gemini-cli.kdl +12 -0
  174. package/src/compat/rules/providers/google-vertex.kdl +25 -0
  175. package/src/compat/rules/providers/google.kdl +17 -0
  176. package/src/compat/rules/providers/groq.kdl +8 -0
  177. package/src/compat/rules/providers/huggingface.kdl +24 -0
  178. package/src/compat/rules/providers/kilo.kdl +51 -0
  179. package/src/compat/rules/providers/kimi-code.kdl +37 -0
  180. package/src/compat/rules/providers/llama.cpp.kdl +6 -0
  181. package/src/compat/rules/providers/lm-studio.kdl +6 -0
  182. package/src/compat/rules/providers/meta.kdl +10 -0
  183. package/src/compat/rules/providers/minimax-code-cn.kdl +13 -0
  184. package/src/compat/rules/providers/minimax-code.kdl +13 -0
  185. package/src/compat/rules/providers/minimax.kdl +6 -0
  186. package/src/compat/rules/providers/mistral.kdl +8 -0
  187. package/src/compat/rules/providers/moonshot.kdl +36 -0
  188. package/src/compat/rules/providers/nanogpt.kdl +100 -0
  189. package/src/compat/rules/providers/novita.kdl +34 -0
  190. package/src/compat/rules/providers/nvidia.kdl +27 -0
  191. package/src/compat/rules/providers/ollama-cloud.kdl +20 -0
  192. package/src/compat/rules/providers/ollama.kdl +12 -0
  193. package/src/compat/rules/providers/openai-codex.kdl +121 -0
  194. package/src/compat/rules/providers/openai.kdl +82 -0
  195. package/src/compat/rules/providers/opencode-go.kdl +97 -0
  196. package/src/compat/rules/providers/opencode-zen.kdl +103 -0
  197. package/src/compat/rules/providers/openrouter.kdl +66 -0
  198. package/src/compat/rules/providers/qianfan.kdl +8 -0
  199. package/src/compat/rules/providers/sakana.kdl +10 -0
  200. package/src/compat/rules/providers/synthetic.kdl +16 -0
  201. package/src/compat/rules/providers/together.kdl +22 -0
  202. package/src/compat/rules/providers/umans.kdl +28 -0
  203. package/src/compat/rules/providers/venice.kdl +46 -0
  204. package/src/compat/rules/providers/vercel-ai-gateway.kdl +73 -0
  205. package/src/compat/rules/providers/vllm.kdl +8 -0
  206. package/src/compat/rules/providers/wafer-serverless.kdl +35 -0
  207. package/src/compat/rules/providers/xai-oauth.kdl +48 -0
  208. package/src/compat/rules/providers/xai.kdl +50 -0
  209. package/src/compat/rules/providers/xiaomi-token-plan-ams.kdl +9 -0
  210. package/src/compat/rules/providers/xiaomi-token-plan-cn.kdl +9 -0
  211. package/src/compat/rules/providers/xiaomi-token-plan-sgp.kdl +9 -0
  212. package/src/compat/rules/providers/xiaomi.kdl +22 -0
  213. package/src/compat/rules/providers/yolo-auto.kdl +16 -0
  214. package/src/compat/rules/providers/zai.kdl +36 -0
  215. package/src/compat/rules/providers/zenmux.kdl +108 -0
  216. package/src/compat/rules/providers/zhipu-coding-plan.kdl +49 -0
  217. package/src/compat/rules/runtime/behavior.kdl +254 -0
  218. package/src/compat/rules/taxonomy/_collapse.kdl +747 -0
  219. package/src/compat/rules/taxonomy/_discovery.kdl +60 -0
  220. package/src/compat/rules/taxonomy/ai21.kdl +6 -0
  221. package/src/compat/rules/taxonomy/amazon.kdl +8 -0
  222. package/src/compat/rules/taxonomy/anthropic.kdl +17 -0
  223. package/src/compat/rules/taxonomy/baidu.kdl +5 -0
  224. package/src/compat/rules/taxonomy/bytedance.kdl +5 -0
  225. package/src/compat/rules/taxonomy/cohere.kdl +6 -0
  226. package/src/compat/rules/taxonomy/deepseek.kdl +18 -0
  227. package/src/compat/rules/taxonomy/gemini.kdl +9 -0
  228. package/src/compat/rules/taxonomy/gemma.kdl +3 -0
  229. package/src/compat/rules/taxonomy/glm.kdl +17 -0
  230. package/src/compat/rules/taxonomy/gpt-oss.kdl +11 -0
  231. package/src/compat/rules/taxonomy/kimi.kdl +20 -0
  232. package/src/compat/rules/taxonomy/meta.kdl +10 -0
  233. package/src/compat/rules/taxonomy/mimo.kdl +7 -0
  234. package/src/compat/rules/taxonomy/minimax.kdl +9 -0
  235. package/src/compat/rules/taxonomy/mistral.kdl +7 -0
  236. package/src/compat/rules/taxonomy/openai.kdl +43 -0
  237. package/src/compat/rules/taxonomy/qwen.kdl +33 -0
  238. package/src/compat/rules/taxonomy/stepfun.kdl +5 -0
  239. package/src/compat/rules/taxonomy/unknown.kdl +3 -0
  240. package/src/compat/rules/taxonomy/xai.kdl +12 -0
  241. package/src/compat/rules.d.json.ts +5 -0
  242. package/src/compat/rules.json +16933 -0
  243. package/src/compat/taxonomy.ts +452 -0
  244. package/src/compat/types.ts +586 -0
  245. package/src/discovery/antigravity.ts +5 -6
  246. package/src/discovery/codex.ts +12 -7
  247. package/src/discovery/cursor-proto.ts +7 -7
  248. package/src/discovery/cursor.ts +47 -58
  249. package/src/discovery/devin-proto.ts +613 -0
  250. package/src/discovery/devin.ts +358 -52
  251. package/src/discovery/gemini-cli.ts +14 -11
  252. package/src/discovery/gemini.ts +2 -0
  253. package/src/identity/dialect.ts +2 -2
  254. package/src/identity/id.ts +12 -0
  255. package/src/identity/index.ts +3 -3
  256. package/src/identity/reference.ts +30 -4
  257. package/src/index.ts +1 -1
  258. package/src/model-manager.ts +4 -4
  259. package/src/model-thinking.ts +6 -810
  260. package/src/model-tokenizer.ts +37 -44
  261. package/src/models.json +86187 -23440
  262. package/src/models.ts +6 -1
  263. package/src/provider-models/bundled-references.ts +3 -1
  264. package/src/provider-models/cline-pass.ts +226 -0
  265. package/src/provider-models/descriptors.ts +18 -0
  266. package/src/provider-models/google.ts +14 -5
  267. package/src/provider-models/models-dev-policies.ts +4 -29
  268. package/src/provider-models/ollama.ts +15 -2
  269. package/src/provider-models/openai-compat.ts +794 -520
  270. package/src/provider-models/special.ts +186 -2
  271. package/src/types.ts +197 -11
  272. package/src/wire/cline-pass.ts +35 -0
  273. package/src/wire/devin-proto.ts +30 -0
  274. package/src/wire/devin.ts +72 -0
  275. package/src/wire/github-copilot.ts +49 -7
  276. package/dist/types/compat/bedrock.d.ts +0 -3
  277. package/dist/types/compat/devin.d.ts +0 -9
  278. package/dist/types/identity/classify.d.ts +0 -69
  279. package/dist/types/identity/family.d.ts +0 -243
  280. package/dist/types/identity/markers.d.ts +0 -4
  281. package/dist/types/openai-pricing.d.ts +0 -17
  282. package/src/compat/bedrock.ts +0 -153
  283. package/src/compat/devin.ts +0 -12
  284. package/src/identity/classify.ts +0 -242
  285. package/src/identity/family.ts +0 -496
  286. package/src/identity/markers.ts +0 -49
  287. package/src/openai-pricing.ts +0 -29
@@ -22,8 +22,10 @@ export interface CursorModelDiscoveryOptions {
22
22
  */
23
23
  export declare function fetchCursorUsableModels(options: CursorModelDiscoveryOptions): Promise<ModelSpec<"cursor-agent">[] | null>;
24
24
  /**
25
- * Resolves input modalities from a bundled reference when available, except
26
- * for Cursor-only families whose image support is known independently. Without
27
- * a reference, native multimodal families fall back to id classification.
25
+ * Resolves input modalities from a bundled reference when available. The
26
+ * Cursor-verified families (K3, grok-4, composer-2.5) are rule-owned via
27
+ * `input-modalities` in `providers/cursor.kdl` and corrected at build time.
28
+ * Without a reference, families whose native catalogs are multimodal
29
+ * (anthropic, gemini, openai) fall back to id classification.
28
30
  */
29
31
  export declare function resolveCursorInput(id: string, referenceInput?: ("text" | "image")[]): ("text" | "image")[];
@@ -72,11 +72,26 @@ export declare enum AuthSource {
72
72
  SUPERBLOCKS = 7,
73
73
  EMBARCADERO = 8
74
74
  }
75
+ /** Devin enum BillingStrategy. */
76
+ export declare enum BillingStrategy {
77
+ UNSPECIFIED = 0,
78
+ CREDITS = 1,
79
+ QUOTA = 2,
80
+ ACU = 3
81
+ }
75
82
  /** Devin enum CacheControlType. */
76
83
  export declare enum CacheControlType {
77
84
  UNSPECIFIED = 0,
78
85
  EPHEMERAL = 1
79
86
  }
87
+ /** Devin enum CascadeCommandsAutoExecution. */
88
+ export declare enum CascadeCommandsAutoExecution {
89
+ UNSPECIFIED = 0,
90
+ OFF = 1,
91
+ AUTO = 2,
92
+ EAGER = 3,
93
+ DISABLED = 4
94
+ }
80
95
  /** Devin enum ChatMessageRequestType. */
81
96
  export declare enum ChatMessageRequestType {
82
97
  UNSPECIFIED = 0,
@@ -415,6 +430,13 @@ export declare enum ExperimentSource {
415
430
  LANGUAGE_SERVER = 2,
416
431
  API_SERVER = 3
417
432
  }
433
+ /** Devin enum GracePeriodStatus. */
434
+ export declare enum GracePeriodStatus {
435
+ UNSPECIFIED = 0,
436
+ NONE = 1,
437
+ ACTIVE = 2,
438
+ EXPIRED = 3
439
+ }
418
440
  /** Devin enum Language. */
419
441
  export declare enum Language {
420
442
  UNSPECIFIED = 0,
@@ -903,6 +925,41 @@ export declare enum ModelType {
903
925
  EMBED = 3,
904
926
  QUERY = 4
905
927
  }
928
+ /** Devin enum Permission. */
929
+ export declare enum Permission {
930
+ UNSPECIFIED = 0,
931
+ ATTRIBUTION_READ = 1,
932
+ ANALYTICS_READ = 2,
933
+ LICENSE_READ = 3,
934
+ TEAM_USER_READ = 4,
935
+ TEAM_USER_UPDATE = 5,
936
+ TEAM_USER_DELETE = 6,
937
+ TEAM_USER_INVITE = 17,
938
+ INDEXING_READ = 7,
939
+ INDEXING_CREATE = 8,
940
+ INDEXING_UPDATE = 9,
941
+ INDEXING_DELETE = 10,
942
+ INDEXING_MANAGEMENT = 27,
943
+ FINETUNING_READ = 19,
944
+ FINETUNING_CREATE = 20,
945
+ FINETUNING_UPDATE = 21,
946
+ FINETUNING_DELETE = 22,
947
+ SSO_READ = 11,
948
+ SSO_WRITE = 12,
949
+ SERVICE_KEY_READ = 13,
950
+ SERVICE_KEY_CREATE = 14,
951
+ SERVICE_KEY_UPDATE = 28,
952
+ SERVICE_KEY_DELETE = 15,
953
+ ROLE_READ = 23,
954
+ ROLE_CREATE = 24,
955
+ ROLE_UPDATE = 25,
956
+ ROLE_DELETE = 26,
957
+ BILLING_READ = 16,
958
+ BILLING_WRITE = 18,
959
+ EXTERNAL_CHAT_UPDATE = 29,
960
+ TEAM_SETTINGS_READ = 30,
961
+ TEAM_SETTINGS_UPDATE = 31
962
+ }
906
963
  /** Devin enum PromptAnnotationKind. */
907
964
  export declare enum PromptAnnotationKind {
908
965
  UNSPECIFIED = 0,
@@ -935,6 +992,12 @@ export declare enum ProviderSource {
935
992
  TAB_JUMP = 11,
936
993
  CASCADE = 12
937
994
  }
995
+ /** Devin enum SandboxEnforcementMode. */
996
+ export declare enum SandboxEnforcementMode {
997
+ UNSPECIFIED = 0,
998
+ OPTIONAL = 1,
999
+ REQUIRED = 2
1000
+ }
938
1001
  /** Devin enum StopReason. */
939
1002
  export declare enum StopReason {
940
1003
  UNSPECIFIED = 0,
@@ -952,6 +1015,17 @@ export declare enum StopReason {
952
1015
  NON_INSERTION = 12,
953
1016
  ERROR = 13
954
1017
  }
1018
+ /** Devin enum TeamsFeatures. */
1019
+ export declare enum TeamsFeatures {
1020
+ UNSPECIFIED = 0,
1021
+ SSO = 1,
1022
+ ATTRIBUTION = 2,
1023
+ PHI = 3,
1024
+ CORTEX = 4,
1025
+ OPENAI_DISABLED = 5,
1026
+ REMOTE_INDEXING_DISABLED = 6,
1027
+ API_KEY_ENABLED = 7
1028
+ }
955
1029
  /** Devin enum TeamsTier. */
956
1030
  export declare enum TeamsTier {
957
1031
  UNSPECIFIED = 0,
@@ -986,6 +1060,33 @@ export declare enum ToolFormatterType {
986
1060
  QWENCODER = 6,
987
1061
  SUPERCOMPLETE = 7
988
1062
  }
1063
+ /** Devin enum TransactionStatus. */
1064
+ export declare enum TransactionStatus {
1065
+ UNSPECIFIED = 0,
1066
+ SUCCEEDED = 1,
1067
+ PROCESSING = 2,
1068
+ FAILED = 3,
1069
+ NO_ACTIVE = 4
1070
+ }
1071
+ /** Devin enum UserFeatures. */
1072
+ export declare enum UserFeatures {
1073
+ UNSPECIFIED = 0,
1074
+ CORTEX = 1,
1075
+ CORTEX_TEST = 2
1076
+ }
1077
+ /** Devin enum UserTeamStatus. */
1078
+ export declare enum UserTeamStatus {
1079
+ UNSPECIFIED = 0,
1080
+ PENDING = 1,
1081
+ APPROVED = 2,
1082
+ REJECTED = 3
1083
+ }
1084
+ /** Devin message exa.codeium_common_pb.AllowedModelConfig. */
1085
+ export interface AllowedModelConfig extends ProtoMessage {
1086
+ modelOrAlias?: ModelOrAlias;
1087
+ creditMultiplier: number;
1088
+ }
1089
+ export declare const AllowedModelConfigSchema: MessageCodec<AllowedModelConfig>;
989
1090
  /** Devin message exa.codeium_common_pb.AnthropicInferenceConfig. */
990
1091
  export interface AnthropicInferenceConfig extends ProtoMessage {
991
1092
  thinking: boolean;
@@ -999,6 +1100,28 @@ export interface ArenaConfig extends ProtoMessage {
999
1100
  tokensPerSecond: number;
1000
1101
  }
1001
1102
  export declare const ArenaConfigSchema: MessageCodec<ArenaConfig>;
1103
+ /** Devin message exa.api_server_pb.AssignModelRequest. */
1104
+ export interface AssignModelRequest extends ProtoMessage {
1105
+ metadata?: Metadata;
1106
+ modelRouterUid: string;
1107
+ cascadeId: string;
1108
+ chatMessagePrompt?: ChatMessagePrompt;
1109
+ }
1110
+ export declare const AssignModelRequestSchema: MessageCodec<AssignModelRequest>;
1111
+ /** Devin message exa.api_server_pb.AssignModelResponse. */
1112
+ export interface AssignModelResponse extends ProtoMessage {
1113
+ assignment?: ModelAssignment;
1114
+ }
1115
+ export declare const AssignModelResponseSchema: MessageCodec<AssignModelResponse>;
1116
+ /** Devin message exa.codeium_common_pb.CascadeModelConfigData. */
1117
+ export interface CascadeModelConfigData extends ProtoMessage {
1118
+ clientModelConfigs: ClientModelConfig[];
1119
+ clientModelSorts: ClientModelSort[];
1120
+ defaultOverrideModelConfig?: DefaultOverrideModelConfig;
1121
+ arenaModeCostFast: number;
1122
+ arenaModeCostSmart: number;
1123
+ }
1124
+ export declare const CascadeModelConfigDataSchema: MessageCodec<CascadeModelConfigData>;
1002
1125
  /** Devin message exa.chat_pb.ChatMessagePrompt. */
1003
1126
  export interface ChatMessagePrompt extends ProtoMessage {
1004
1127
  messageId: string;
@@ -1095,6 +1218,19 @@ export interface ClientModelConfig extends ProtoMessage {
1095
1218
  disabledReason?: ModelDisabledReason;
1096
1219
  }
1097
1220
  export declare const ClientModelConfigSchema: MessageCodec<ClientModelConfig>;
1221
+ /** Devin message exa.codeium_common_pb.ClientModelGroup. */
1222
+ export interface ClientModelGroup extends ProtoMessage {
1223
+ groupName: string;
1224
+ modelLabels: string[];
1225
+ }
1226
+ export declare const ClientModelGroupSchema: MessageCodec<ClientModelGroup>;
1227
+ /** Devin message exa.codeium_common_pb.ClientModelSort. */
1228
+ export interface ClientModelSort extends ProtoMessage {
1229
+ name: string;
1230
+ groups: ClientModelGroup[];
1231
+ displayMetric?: string;
1232
+ }
1233
+ export declare const ClientModelSortSchema: MessageCodec<ClientModelSort>;
1098
1234
  /** Devin message exa.codeium_common_pb.CompletionConfiguration. */
1099
1235
  export interface CompletionConfiguration extends ProtoMessage {
1100
1236
  numCompletions: bigint;
@@ -1149,6 +1285,18 @@ export interface DefaultOverrideModelConfig extends ProtoMessage {
1149
1285
  versionId: string;
1150
1286
  }
1151
1287
  export declare const DefaultOverrideModelConfigSchema: MessageCodec<DefaultOverrideModelConfig>;
1288
+ /** Devin message exa.codeium_common_pb.DevinPlanInfo. */
1289
+ export interface DevinPlanInfo extends ProtoMessage {
1290
+ canUseCascade: boolean;
1291
+ canUseCli: boolean;
1292
+ isAdmin: boolean;
1293
+ orgId: string;
1294
+ webappHost: string;
1295
+ devinReviewEnabled?: boolean;
1296
+ apiUrl: string;
1297
+ accountDisplayName: string;
1298
+ }
1299
+ export declare const DevinPlanInfoSchema: MessageCodec<DevinPlanInfo>;
1152
1300
  /** Devin message exa.codeium_common_pb.ExperimentConfig. */
1153
1301
  export interface ExperimentConfig extends ProtoMessage {
1154
1302
  experiments: ExperimentWithVariant[];
@@ -1269,6 +1417,17 @@ export interface GetUserJwtResponse extends ProtoMessage {
1269
1417
  customApiServerUrl: string;
1270
1418
  }
1271
1419
  export declare const GetUserJwtResponseSchema: MessageCodec<GetUserJwtResponse>;
1420
+ /** Devin message exa.seat_management_pb.GetUserStatusRequest. */
1421
+ export interface GetUserStatusRequest extends ProtoMessage {
1422
+ metadata?: Metadata;
1423
+ }
1424
+ export declare const GetUserStatusRequestSchema: MessageCodec<GetUserStatusRequest>;
1425
+ /** Devin message exa.seat_management_pb.GetUserStatusResponse. */
1426
+ export interface GetUserStatusResponse extends ProtoMessage {
1427
+ userStatus?: UserStatus;
1428
+ planInfo?: PlanInfo;
1429
+ }
1430
+ export declare const GetUserStatusResponseSchema: MessageCodec<GetUserStatusResponse>;
1272
1431
  /** Devin message exa.codeium_common_pb.GoogleInferenceConfig. */
1273
1432
  export interface GoogleInferenceConfig extends ProtoMessage {
1274
1433
  reasoningEffort: string;
@@ -1298,6 +1457,35 @@ export interface InferenceConfig extends ProtoMessage {
1298
1457
  };
1299
1458
  }
1300
1459
  export declare const InferenceConfigSchema: MessageCodec<InferenceConfig>;
1460
+ /** Devin message exa.codeium_common_pb.McpLocalServer. */
1461
+ export interface McpLocalServer extends ProtoMessage {
1462
+ command: string;
1463
+ args: string[];
1464
+ env: Record<string, string>;
1465
+ }
1466
+ export declare const McpLocalServerSchema: MessageCodec<McpLocalServer>;
1467
+ /** Devin message exa.codeium_common_pb.McpRemoteServer. */
1468
+ export interface McpRemoteServer extends ProtoMessage {
1469
+ type: string;
1470
+ url: string;
1471
+ headers: Record<string, string>;
1472
+ }
1473
+ export declare const McpRemoteServerSchema: MessageCodec<McpRemoteServer>;
1474
+ /** Devin message exa.codeium_common_pb.McpServerConfig. */
1475
+ export interface McpServerConfig extends ProtoMessage {
1476
+ serverId: string;
1477
+ configuration: {
1478
+ case: undefined;
1479
+ value?: undefined;
1480
+ } | {
1481
+ case: "local";
1482
+ value: McpLocalServer;
1483
+ } | {
1484
+ case: "remote";
1485
+ value: McpRemoteServer;
1486
+ };
1487
+ }
1488
+ export declare const McpServerConfigSchema: MessageCodec<McpServerConfig>;
1301
1489
  /** Devin message exa.codeium_common_pb.Metadata. */
1302
1490
  export interface Metadata extends ProtoMessage {
1303
1491
  ideName: string;
@@ -1331,6 +1519,13 @@ export interface Metadata extends ProtoMessage {
1331
1519
  teamId: string;
1332
1520
  }
1333
1521
  export declare const MetadataSchema: MessageCodec<Metadata>;
1522
+ /** Devin message exa.api_server_pb.ModelAssignment. */
1523
+ export interface ModelAssignment extends ProtoMessage {
1524
+ assignmentJwt: string;
1525
+ modelUid: string;
1526
+ harnessUids: string[];
1527
+ }
1528
+ export declare const ModelAssignmentSchema: MessageCodec<ModelAssignment>;
1334
1529
  /** Devin message exa.codeium_common_pb.ModelDimension. */
1335
1530
  export interface ModelDimension extends ProtoMessage {
1336
1531
  label: string;
@@ -1462,6 +1657,69 @@ export interface OpenAIInferenceConfig extends ProtoMessage {
1462
1657
  extendedPromptCacheRetention: boolean;
1463
1658
  }
1464
1659
  export declare const OpenAIInferenceConfigSchema: MessageCodec<OpenAIInferenceConfig>;
1660
+ /** Devin message exa.codeium_common_pb.PlanInfo. */
1661
+ export interface PlanInfo extends ProtoMessage {
1662
+ teamsTier: TeamsTier;
1663
+ planName: string;
1664
+ hasAutocompleteFastMode: boolean;
1665
+ allowStickyPremiumModels: boolean;
1666
+ hasForgeAccess: boolean;
1667
+ disableCodeSnippetTelemetry: boolean;
1668
+ allowPremiumCommandModels: boolean;
1669
+ hasTabToJump: boolean;
1670
+ maxNumPremiumChatMessages: bigint;
1671
+ maxNumChatInputTokens: bigint;
1672
+ maxCustomChatInstructionCharacters: bigint;
1673
+ maxNumPinnedContextItems: bigint;
1674
+ maxLocalIndexSize: bigint;
1675
+ maxUnclaimedSites: number;
1676
+ monthlyPromptCredits: number;
1677
+ monthlyFlowCredits: number;
1678
+ monthlyFlexCreditPurchaseAmount: number;
1679
+ isTeams: boolean;
1680
+ isEnterprise: boolean;
1681
+ hasPaidFeatures: boolean;
1682
+ canBuyMoreCredits: boolean;
1683
+ cascadeWebSearchEnabled: boolean;
1684
+ canCustomizeAppIcon: boolean;
1685
+ cascadeCanAutoRunCommands: boolean;
1686
+ canGenerateCommitMessages: boolean;
1687
+ knowledgeBaseEnabled: boolean;
1688
+ cascadeAllowedModelsConfig: AllowedModelConfig[];
1689
+ defaultTeamConfig?: TeamConfig;
1690
+ canShareConversations: boolean;
1691
+ canAllowCascadeInBackground: boolean;
1692
+ defaultTeamFeatures: Record<string, TeamsFeaturesMetadata>;
1693
+ browserEnabled: boolean;
1694
+ devinInfo?: DevinPlanInfo;
1695
+ isDevin: boolean;
1696
+ billingStrategy: BillingStrategy;
1697
+ hideDailyQuota: boolean;
1698
+ hideWeeklyQuota: boolean;
1699
+ }
1700
+ export declare const PlanInfoSchema: MessageCodec<PlanInfo>;
1701
+ /** Devin message exa.codeium_common_pb.PlanStatus. */
1702
+ export interface PlanStatus extends ProtoMessage {
1703
+ planInfo?: PlanInfo;
1704
+ planStart?: Timestamp;
1705
+ planEnd?: Timestamp;
1706
+ availablePromptCredits: number;
1707
+ availableFlowCredits: number;
1708
+ availableFlexCredits: number;
1709
+ usedFlexCredits: number;
1710
+ usedFlowCredits: number;
1711
+ usedPromptCredits: number;
1712
+ topUpStatus?: TopUpStatus;
1713
+ wasReducedByOrphanedUsage: boolean;
1714
+ gracePeriodStatus: GracePeriodStatus;
1715
+ gracePeriodEnd?: Timestamp;
1716
+ dailyQuotaRemainingPercent: number;
1717
+ weeklyQuotaRemainingPercent: number;
1718
+ overageBalanceMicros: bigint;
1719
+ dailyQuotaResetAtUnix: bigint;
1720
+ weeklyQuotaResetAtUnix: bigint;
1721
+ }
1722
+ export declare const PlanStatusSchema: MessageCodec<PlanStatus>;
1465
1723
  /** Devin message exa.codeium_common_pb.PromoStatus. */
1466
1724
  export interface PromoStatus extends ProtoMessage {
1467
1725
  isActive: boolean;
@@ -1541,9 +1799,114 @@ export interface SingleModelCompletionProfile extends ProtoMessage {
1541
1799
  totalModelTime: number;
1542
1800
  }
1543
1801
  export declare const SingleModelCompletionProfileSchema: MessageCodec<SingleModelCompletionProfile>;
1802
+ /** Devin message exa.codeium_common_pb.TeamConfig. */
1803
+ export interface TeamConfig extends ProtoMessage {
1804
+ teamId: string;
1805
+ userPromptCreditCap: number;
1806
+ userFlowCreditCap: number;
1807
+ autoProvisionCascadeSeat: boolean;
1808
+ allowMcpServers: boolean;
1809
+ allowAutoRunCommands: boolean;
1810
+ maxUnclaimedSites: number;
1811
+ allowAppDeployments: boolean;
1812
+ allowSandboxAppDeployments: boolean;
1813
+ allowTeamsAppDeployments: boolean;
1814
+ maxNewSitesPerDay: number;
1815
+ allowGithubReviews: boolean;
1816
+ allowGithubDescriptionEdits: boolean;
1817
+ pullRequestReviewGuidelines: string;
1818
+ pullRequestDescriptionGuidelines: string;
1819
+ disableToolCalls: boolean;
1820
+ allowIndividualLevelAnalytics: boolean;
1821
+ allowConversationSharing?: boolean;
1822
+ pullRequestReviewRateLimit?: number;
1823
+ allowAttribution: boolean;
1824
+ allowedMcpServers: McpServerConfig[];
1825
+ allowGithubAutoReviews: boolean;
1826
+ allowBrowserExperimentalFeatures: boolean;
1827
+ disableToolCallExecutionOutsideWorkspace: boolean;
1828
+ allowVibeAndReplace: boolean;
1829
+ disableDeepwiki: boolean;
1830
+ userAddOnCreditCap: number;
1831
+ disableCodemaps: boolean;
1832
+ allowCodemapSharing: string;
1833
+ disableFastContext: boolean;
1834
+ disableLifeguard: boolean;
1835
+ allowedIpRanges: string[];
1836
+ maxCascadeAutoExecutionLevel: CascadeCommandsAutoExecution;
1837
+ cascadeWebSearchEnabled?: boolean;
1838
+ terminalAllowList: string[];
1839
+ terminalDenyList: string[];
1840
+ cliPermissionsAllow: string[];
1841
+ cliPermissionsDeny: string[];
1842
+ cliPermissionsAsk: string[];
1843
+ defaultModelUid: string;
1844
+ allowArenaMode: boolean;
1845
+ cascadeHooksJson: string;
1846
+ allowBundlingDevinCli: boolean;
1847
+ mcpRegistryUrls: string[];
1848
+ enforceMcpRegistry: boolean;
1849
+ cliDefaultDisabled: boolean;
1850
+ acpRegistryConfig: string;
1851
+ sandboxEnforcementMode: SandboxEnforcementMode;
1852
+ sandboxAllowedDomains: string[];
1853
+ sandboxDeniedDomains: string[];
1854
+ devinTerminalAcpEnabled: boolean;
1855
+ devinCloudAcpEnabled: boolean;
1856
+ userConfiguredBannerEnabled: boolean;
1857
+ userConfiguredBannerLabel: string;
1858
+ userConfiguredBannerColor: string;
1859
+ disableCascade: boolean;
1860
+ extensionPolicy: string;
1861
+ apiKeyExpirationDays?: number;
1862
+ disablePlugins: boolean;
1863
+ }
1864
+ export declare const TeamConfigSchema: MessageCodec<TeamConfig>;
1865
+ /** Devin message exa.codeium_common_pb.TeamsFeaturesMetadata. */
1866
+ export interface TeamsFeaturesMetadata extends ProtoMessage {
1867
+ isActive: boolean;
1868
+ stripeSubscriptionId: string;
1869
+ hasAccess: boolean;
1870
+ }
1871
+ export declare const TeamsFeaturesMetadataSchema: MessageCodec<TeamsFeaturesMetadata>;
1544
1872
  /** Devin message google.protobuf.Timestamp. */
1545
1873
  export interface Timestamp extends ProtoMessage {
1546
1874
  seconds: bigint;
1547
1875
  nanos: number;
1548
1876
  }
1549
1877
  export declare const TimestampSchema: MessageCodec<Timestamp>;
1878
+ /** Devin message exa.codeium_common_pb.TopUpStatus. */
1879
+ export interface TopUpStatus extends ProtoMessage {
1880
+ topUpTransactionStatus: TransactionStatus;
1881
+ topUpEnabled: boolean;
1882
+ monthlyTopUpAmount: number;
1883
+ topUpSpent: number;
1884
+ topUpIncrement: number;
1885
+ topUpCriteriaMet: boolean;
1886
+ }
1887
+ export declare const TopUpStatusSchema: MessageCodec<TopUpStatus>;
1888
+ /** Devin message exa.codeium_common_pb.UserStatus. */
1889
+ export interface UserStatus extends ProtoMessage {
1890
+ pro: boolean;
1891
+ disableTelemetry: boolean;
1892
+ name: string;
1893
+ ignoreChatTelemetrySetting: boolean;
1894
+ teamId: string;
1895
+ teamStatus: UserTeamStatus;
1896
+ email: string;
1897
+ userFeatures: UserFeatures[];
1898
+ teamsFeatures: TeamsFeatures[];
1899
+ teamsTier: TeamsTier;
1900
+ permissions: Permission[];
1901
+ planStatus?: PlanStatus;
1902
+ hasUsedWindsurf: boolean;
1903
+ userUsedPromptCredits: bigint;
1904
+ userUsedFlowCredits: bigint;
1905
+ hasFingerprintSet: boolean;
1906
+ teamConfig?: TeamConfig;
1907
+ cascadeModelConfigData?: CascadeModelConfigData;
1908
+ windsurfProTrialEndTime?: Timestamp;
1909
+ maxNumPremiumChatMessages: bigint;
1910
+ userId: string;
1911
+ }
1912
+ export declare const UserStatusSchema: MessageCodec<UserStatus>;
@@ -1,5 +1,5 @@
1
+ import { type VariantCollapseTable } from "../compat/collapse.js";
1
2
  import type { ModelSpec } from "../types.js";
2
- import { type VariantCollapseTable } from "../variant-collapse.js";
3
3
  /**
4
4
  * Options for the Gemini CLI quota-based discovery fallback.
5
5
  */
@@ -1,3 +1,4 @@
1
+ export declare function bareModelId(modelId: string): string;
1
2
  export declare function getModelLikeIdSegments(modelId: string): string[];
2
3
  export declare function getLongestModelLikeIdSegment(modelId: string): string | undefined;
3
4
  /**
@@ -1,8 +1,8 @@
1
+ export * from "../compat/revision.js";
2
+ export { classifyModel } from "../compat/taxonomy.js";
3
+ export type { ModelIdentity } from "../compat/types.js";
1
4
  export * from "./bundled.js";
2
- export * from "./classify.js";
3
5
  export * from "./dialect.js";
4
- export * from "./family.js";
5
6
  export * from "./id.js";
6
- export * from "./markers.js";
7
7
  export * from "./priority.js";
8
8
  export * from "./reference.js";
@@ -1,13 +1,3 @@
1
- /**
2
- * Proxy/reseller reference lookup: given a custom model id served through a
3
- * proxy (`[Kiro] claude-opus-4-8`, `gpt-5.4:cloud`, `vendor/claude-sonnet-4-6-thinking`),
4
- * find the bundled upstream model so missing pricing/capability metadata can be
5
- * inherited while keeping the custom transport.
6
- *
7
- * Kept separate from canonical-id resolution (`./equivalence`): this lookup
8
- * may strip `search`-style markers and prefers cache-pricing-complete
9
- * references, both of which would be wrong for canonical coalescing.
10
- */
11
1
  import type { Api, Model, ThinkingConfig } from "../types.js";
12
2
  export interface ModelReferenceIndex {
13
3
  exact: Map<string, Model<Api>>;
@@ -1,3 +1,4 @@
1
+ export * from "./compat/collapse.js";
1
2
  export * from "./compat/openai.js";
2
3
  export * from "./discovery/index.js";
3
4
  export * from "./effort.js";
@@ -11,7 +12,6 @@ export * from "./models.js";
11
12
  export * from "./provider-models/index.js";
12
13
  export * from "./types.js";
13
14
  export * from "./utils.js";
14
- export * from "./variant-collapse.js";
15
15
  export * from "./wire/codex.js";
16
16
  export * from "./wire/coreweave.js";
17
17
  export * from "./wire/gemini-headers.js";
@@ -1,36 +1,18 @@
1
1
  /**
2
- * Thinking metadata: build-time derivation and runtime field-read helpers.
2
+ * Thinking metadata: runtime field-read helpers.
3
3
  *
4
- * Derivation (`resolveModelThinking`) runs exactly once per model — from
5
- * `buildModel` for dynamic specs and from the catalog generator for bundled
6
- * entries. Everything below the "runtime helpers" divider reads baked fields
7
- * only: no id parsing, no host matching, no compat detection per request.
4
+ * Derivation lives in the compat engine (`compat/resolve`) and runs exactly
5
+ * once per model — from `buildModel` for dynamic specs and from the catalog
6
+ * generator for bundled entries. Everything here reads baked fields only: no
7
+ * id parsing, no host matching, no compat detection per request.
8
8
  */
9
9
  import { Effort } from "./effort.js";
10
- import type { Api, CompatOf, Model, ModelSpec, ThinkingConfig } from "./types.js";
10
+ import type { Api, Model, ModelSpec } from "./types.js";
11
11
  /**
12
12
  * Runtime helpers read baked metadata only, so they accept both pre-build
13
13
  * specs and built models.
14
14
  */
15
15
  type ApiModel<TApi extends Api = Api> = ModelSpec<TApi> | Model<TApi>;
16
- /**
17
- * Resolve the canonical thinking metadata for a spec. Called exactly once per
18
- * model by `buildModel`, after compat resolution.
19
- *
20
- * - Non-reasoning models never carry thinking.
21
- * - Models that reason natively but reject the wire effort param
22
- * (`compat.supportsReasoningEffort: false` on openai-responses*) carry no
23
- * thinking either: `reasoning: true, thinking: undefined` IS the encoding
24
- * for "thinks, but exposes no control surface".
25
- * - Explicit spec thinking (generator-baked or user-authored) owns the
26
- * capability surface (`mode`, `efforts`, `defaultLevel`); the wire facts
27
- * (`effortMap`, `supportsDisplay`) are backfilled from identity when not
28
- * explicitly set, so configs never need to know provider wire tier tables.
29
- * - Sparse specs go through full inference.
30
- */
31
- export declare function resolveModelThinking<TApi extends Api>(spec: ModelSpec<TApi>, compat: CompatOf<TApi>): ThinkingConfig | undefined;
32
- /** Derive thinking from identity + resolved compat, ignoring any baked value. Generator-side entry. */
33
- export declare function deriveThinking<TApi extends Api>(spec: ModelSpec<TApi>, compat: CompatOf<TApi>): ThinkingConfig;
34
16
  /**
35
17
  * Returns the supported thinking efforts declared on the model metadata.
36
18
  * Empty for non-reasoning models and for reasoning models without a
@@ -0,0 +1,22 @@
1
+ import type { ModelSpec, ThinkingConfig } from "../types.js";
2
+ type ClinePassCost = ModelSpec<"openai-completions">["cost"];
3
+ type ClinePassInput = ModelSpec<"openai-completions">["input"];
4
+ export interface ClinePassModelMetadata {
5
+ name: string;
6
+ contextWindow: number;
7
+ maxTokens: number;
8
+ input: ClinePassInput;
9
+ cost: ClinePassCost;
10
+ reasoning: boolean;
11
+ thinking?: ThinkingConfig;
12
+ tier: "subscription" | "free";
13
+ }
14
+ /**
15
+ * ClinePass metadata published by Cline CLI 3.0.58 / @cline/llms 0.0.79.
16
+ * The public recommended-models endpoint remains authoritative for membership;
17
+ * this snapshot supplies the exact limits, plan pricing, and reasoning controls
18
+ * that endpoint omits, including a deterministic offline catalog floor.
19
+ */
20
+ export declare const CLINE_PASS_MODEL_METADATA: Readonly<Record<string, ClinePassModelMetadata>>;
21
+ export declare function getClinePassModelMetadata(id: string): ClinePassModelMetadata | undefined;
22
+ export {};
@@ -7,6 +7,15 @@
7
7
  */
8
8
  import type { ModelManagerConfig, ProviderCatalogEntry, ProviderDescriptor } from "./descriptor-types.js";
9
9
  export declare const CATALOG_PROVIDERS: readonly [{
10
+ readonly id: "abliteration";
11
+ readonly defaultModel: "abliterated-model";
12
+ readonly envVars: readonly ["ABLITERATION_API_KEY", "ABLIT_KEY"];
13
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-responses", unknown>;
14
+ readonly dynamicModelsAuthoritative: true;
15
+ readonly catalogDiscovery: {
16
+ readonly label: "Abliteration";
17
+ };
18
+ }, {
10
19
  readonly id: "aiand";
11
20
  readonly defaultModel: "moonshotai/kimi-k2.7-code";
12
21
  readonly envVars: readonly ["AIAND_API_KEY"];
@@ -126,6 +135,16 @@ export declare const CATALOG_PROVIDERS: readonly [{
126
135
  readonly envVars: readonly ["DEVIN_API_KEY"];
127
136
  readonly oauthProvider: "devin";
128
137
  };
138
+ }, {
139
+ readonly id: "cline-pass";
140
+ readonly defaultModel: "kimi-k3";
141
+ readonly envVars: readonly ["CLINE_API_KEY"];
142
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"openai-completions", unknown>;
143
+ readonly dynamicModelsAuthoritative: true;
144
+ readonly catalogDiscovery: {
145
+ readonly label: "ClinePass";
146
+ readonly allowUnauthenticated: true;
147
+ };
129
148
  }, {
130
149
  readonly id: "firepass";
131
150
  readonly defaultModel: "kimi-k2.6-turbo";
@@ -492,7 +511,7 @@ export declare const CATALOG_PROVIDERS: readonly [{
492
511
  readonly id: "zai";
493
512
  readonly defaultModel: "glm-5.3";
494
513
  readonly envVars: readonly ["ZAI_API_KEY"];
495
- readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"anthropic-messages", unknown>;
514
+ readonly createModelManagerOptions: (config: ModelManagerConfig) => import("../index.js").ModelManagerOptions<"anthropic-messages" | "openai-completions", unknown>;
496
515
  readonly catalogDiscovery: {
497
516
  readonly label: "zAI";
498
517
  };
@@ -1,6 +1,7 @@
1
1
  import type { Api, ModelSpec } from "../types.js";
2
2
  /**
3
- * Remove models.dev rows that OMP cannot route successfully.
3
+ * Remove models.dev rows that OMP cannot route successfully; the roster
4
+ * policy lives in the `exclude-models` behavior rules.
4
5
  *
5
6
  * Generation and runtime refresh share this policy so a live catalog cannot
6
7
  * reintroduce selectors deliberately excluded from the bundled catalog.