@caupulican/pi-ai 0.81.25 → 0.81.27

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 (60) hide show
  1. package/dist/models.d.ts.map +1 -1
  2. package/dist/models.generated.d.ts +402 -51
  3. package/dist/models.generated.d.ts.map +1 -1
  4. package/dist/models.generated.js +342 -74
  5. package/dist/models.generated.js.map +1 -1
  6. package/dist/models.js +18 -2
  7. package/dist/models.js.map +1 -1
  8. package/dist/providers/amazon-bedrock.d.ts.map +1 -1
  9. package/dist/providers/amazon-bedrock.js +7 -3
  10. package/dist/providers/amazon-bedrock.js.map +1 -1
  11. package/dist/providers/anthropic.d.ts.map +1 -1
  12. package/dist/providers/anthropic.js +1 -1
  13. package/dist/providers/anthropic.js.map +1 -1
  14. package/dist/providers/azure-openai-responses.d.ts +1 -1
  15. package/dist/providers/azure-openai-responses.d.ts.map +1 -1
  16. package/dist/providers/azure-openai-responses.js +3 -3
  17. package/dist/providers/azure-openai-responses.js.map +1 -1
  18. package/dist/providers/faux.d.ts +4 -2
  19. package/dist/providers/faux.d.ts.map +1 -1
  20. package/dist/providers/faux.js +2 -0
  21. package/dist/providers/faux.js.map +1 -1
  22. package/dist/providers/google-vertex.d.ts.map +1 -1
  23. package/dist/providers/google-vertex.js +8 -2
  24. package/dist/providers/google-vertex.js.map +1 -1
  25. package/dist/providers/google.d.ts.map +1 -1
  26. package/dist/providers/google.js +5 -2
  27. package/dist/providers/google.js.map +1 -1
  28. package/dist/providers/openai-codex-responses.d.ts +1 -1
  29. package/dist/providers/openai-codex-responses.d.ts.map +1 -1
  30. package/dist/providers/openai-codex-responses.js +117 -14
  31. package/dist/providers/openai-codex-responses.js.map +1 -1
  32. package/dist/providers/openai-completions.d.ts +1 -1
  33. package/dist/providers/openai-completions.d.ts.map +1 -1
  34. package/dist/providers/openai-completions.js +1 -1
  35. package/dist/providers/openai-completions.js.map +1 -1
  36. package/dist/providers/openai-responses-shared.d.ts +5 -1
  37. package/dist/providers/openai-responses-shared.d.ts.map +1 -1
  38. package/dist/providers/openai-responses-shared.js +37 -17
  39. package/dist/providers/openai-responses-shared.js.map +1 -1
  40. package/dist/providers/openai-responses.d.ts +1 -1
  41. package/dist/providers/openai-responses.d.ts.map +1 -1
  42. package/dist/providers/openai-responses.js +26 -7
  43. package/dist/providers/openai-responses.js.map +1 -1
  44. package/dist/providers/simple-options.d.ts +1 -1
  45. package/dist/providers/simple-options.d.ts.map +1 -1
  46. package/dist/providers/simple-options.js +4 -1
  47. package/dist/providers/simple-options.js.map +1 -1
  48. package/dist/stream.d.ts.map +1 -1
  49. package/dist/stream.js +6 -10
  50. package/dist/stream.js.map +1 -1
  51. package/dist/types.d.ts +24 -2
  52. package/dist/types.d.ts.map +1 -1
  53. package/dist/types.js.map +1 -1
  54. package/dist/utils/tool-repair/repairer.d.ts.map +1 -1
  55. package/dist/utils/tool-repair/repairer.js +76 -49
  56. package/dist/utils/tool-repair/repairer.js.map +1 -1
  57. package/dist/utils/tool-repair/text-protocol.d.ts.map +1 -1
  58. package/dist/utils/tool-repair/text-protocol.js +11 -12
  59. package/dist/utils/tool-repair/text-protocol.js.map +1 -1
  60. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAavF,KAAK,QAAQ,CACZ,SAAS,SAAS,aAAa,EAC/B,QAAQ,SAAS,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,IAC9C,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG,CAAC,IAAI,SAAS,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;AAEjH,wBAAgB,QAAQ,CAAC,SAAS,SAAS,aAAa,EAAE,QAAQ,SAAS,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,EAC1G,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,QAAQ,GACf,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAGtC;AAED,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAE9C;AAED,wBAAgB,SAAS,CAAC,SAAS,SAAS,aAAa,EACxD,QAAQ,EAAE,SAAS,GACjB,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAGhE;AAED,wBAAgB,aAAa,CAAC,IAAI,SAAS,GAAG,EAC7C,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE;IAAE,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/C,KAAK,CAAC,MAAM,CAAC,CASf;AAID,wBAAgB,0BAA0B,CAAC,IAAI,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,EAAE,CASrG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,SAAS,GAAG,EAClD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,KAAK,EAAE,kBAAkB,GACvB,kBAAkB,CAgBpB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,SAAS,GAAG,EAC9C,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,EACjC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,GAC/B,OAAO,CAGT","sourcesContent":["import { MODELS } from \"./models.generated.ts\";\nimport type { Api, KnownProvider, Model, ModelThinkingLevel, Usage } from \"./types.ts\";\n\nconst modelRegistry: Map<string, Map<string, Model<Api>>> = new Map();\n\n// Initialize registry from MODELS on module load\nfor (const [provider, models] of Object.entries(MODELS)) {\n\tconst providerModels = new Map<string, Model<Api>>();\n\tfor (const [id, model] of Object.entries(models)) {\n\t\tproviderModels.set(id, model as Model<Api>);\n\t}\n\tmodelRegistry.set(provider, providerModels);\n}\n\ntype ModelApi<\n\tTProvider extends KnownProvider,\n\tTModelId extends keyof (typeof MODELS)[TProvider],\n> = (typeof MODELS)[TProvider][TModelId] extends { api: infer TApi } ? (TApi extends Api ? TApi : never) : never;\n\nexport function getModel<TProvider extends KnownProvider, TModelId extends keyof (typeof MODELS)[TProvider]>(\n\tprovider: TProvider,\n\tmodelId: TModelId,\n): Model<ModelApi<TProvider, TModelId>> {\n\tconst providerModels = modelRegistry.get(provider);\n\treturn providerModels?.get(modelId as string) as Model<ModelApi<TProvider, TModelId>>;\n}\n\nexport function getProviders(): KnownProvider[] {\n\treturn Array.from(modelRegistry.keys()) as KnownProvider[];\n}\n\nexport function getModels<TProvider extends KnownProvider>(\n\tprovider: TProvider,\n): Model<ModelApi<TProvider, keyof (typeof MODELS)[TProvider]>>[] {\n\tconst models = modelRegistry.get(provider);\n\treturn models ? (Array.from(models.values()) as Model<ModelApi<TProvider, keyof (typeof MODELS)[TProvider]>>[]) : [];\n}\n\nexport function calculateCost<TApi extends Api>(\n\tmodel: Model<TApi>,\n\tusage: Usage,\n\toptions: { providerSuppliedTotal?: boolean } = {},\n): Usage[\"cost\"] {\n\tusage.cost.input = (model.cost.input / 1000000) * usage.input;\n\tusage.cost.output = (model.cost.output / 1000000) * usage.output;\n\tusage.cost.cacheRead = (model.cost.cacheRead / 1000000) * usage.cacheRead;\n\tusage.cost.cacheWrite = (model.cost.cacheWrite / 1000000) * usage.cacheWrite;\n\tif (!options.providerSuppliedTotal) {\n\t\tusage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;\n\t}\n\treturn usage.cost;\n}\n\nconst EXTENDED_THINKING_LEVELS: ModelThinkingLevel[] = [\"off\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\"];\n\nexport function getSupportedThinkingLevels<TApi extends Api>(model: Model<TApi>): ModelThinkingLevel[] {\n\tif (!model.reasoning) return [\"off\"];\n\n\treturn EXTENDED_THINKING_LEVELS.filter((level) => {\n\t\tconst mapped = model.thinkingLevelMap?.[level];\n\t\tif (mapped === null) return false;\n\t\tif (level === \"xhigh\") return mapped !== undefined;\n\t\treturn true;\n\t});\n}\n\nexport function clampThinkingLevel<TApi extends Api>(\n\tmodel: Model<TApi>,\n\tlevel: ModelThinkingLevel,\n): ModelThinkingLevel {\n\tconst availableLevels = getSupportedThinkingLevels(model);\n\tif (availableLevels.includes(level)) return level;\n\n\tconst requestedIndex = EXTENDED_THINKING_LEVELS.indexOf(level);\n\tif (requestedIndex === -1) return availableLevels[0] ?? \"off\";\n\n\tfor (let i = requestedIndex; i < EXTENDED_THINKING_LEVELS.length; i++) {\n\t\tconst candidate = EXTENDED_THINKING_LEVELS[i];\n\t\tif (availableLevels.includes(candidate)) return candidate;\n\t}\n\tfor (let i = requestedIndex - 1; i >= 0; i--) {\n\t\tconst candidate = EXTENDED_THINKING_LEVELS[i];\n\t\tif (availableLevels.includes(candidate)) return candidate;\n\t}\n\treturn availableLevels[0] ?? \"off\";\n}\n\n/**\n * Check if two models are equal by comparing both their id and provider.\n * Returns false if either model is null or undefined.\n */\nexport function modelsAreEqual<TApi extends Api>(\n\ta: Model<TApi> | null | undefined,\n\tb: Model<TApi> | null | undefined,\n): boolean {\n\tif (!a || !b) return false;\n\treturn a.id === b.id && a.provider === b.provider;\n}\n"]}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAavF,KAAK,QAAQ,CACZ,SAAS,SAAS,aAAa,EAC/B,QAAQ,SAAS,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,IAC9C,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG,CAAC,IAAI,SAAS,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;AAEjH,wBAAgB,QAAQ,CAAC,SAAS,SAAS,aAAa,EAAE,QAAQ,SAAS,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,EAC1G,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,QAAQ,GACf,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAGtC;AAED,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAE9C;AAED,wBAAgB,SAAS,CAAC,SAAS,SAAS,aAAa,EACxD,QAAQ,EAAE,SAAS,GACjB,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAGhE;AAED,wBAAgB,aAAa,CAAC,IAAI,SAAS,GAAG,EAC7C,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE;IAAE,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/C,KAAK,CAAC,MAAM,CAAC,CAgBf;AAaD,wBAAgB,0BAA0B,CAAC,IAAI,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,EAAE,CASrG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,SAAS,GAAG,EAClD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,KAAK,EAAE,kBAAkB,GACvB,kBAAkB,CAgBpB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,SAAS,GAAG,EAC9C,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,EACjC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,GAC/B,OAAO,CAGT","sourcesContent":["import { MODELS } from \"./models.generated.ts\";\nimport type { Api, KnownProvider, Model, ModelThinkingLevel, Usage } from \"./types.ts\";\n\nconst modelRegistry: Map<string, Map<string, Model<Api>>> = new Map();\n\n// Initialize registry from MODELS on module load\nfor (const [provider, models] of Object.entries(MODELS)) {\n\tconst providerModels = new Map<string, Model<Api>>();\n\tfor (const [id, model] of Object.entries(models)) {\n\t\tproviderModels.set(id, model as Model<Api>);\n\t}\n\tmodelRegistry.set(provider, providerModels);\n}\n\ntype ModelApi<\n\tTProvider extends KnownProvider,\n\tTModelId extends keyof (typeof MODELS)[TProvider],\n> = (typeof MODELS)[TProvider][TModelId] extends { api: infer TApi } ? (TApi extends Api ? TApi : never) : never;\n\nexport function getModel<TProvider extends KnownProvider, TModelId extends keyof (typeof MODELS)[TProvider]>(\n\tprovider: TProvider,\n\tmodelId: TModelId,\n): Model<ModelApi<TProvider, TModelId>> {\n\tconst providerModels = modelRegistry.get(provider);\n\treturn providerModels?.get(modelId as string) as Model<ModelApi<TProvider, TModelId>>;\n}\n\nexport function getProviders(): KnownProvider[] {\n\treturn Array.from(modelRegistry.keys()) as KnownProvider[];\n}\n\nexport function getModels<TProvider extends KnownProvider>(\n\tprovider: TProvider,\n): Model<ModelApi<TProvider, keyof (typeof MODELS)[TProvider]>>[] {\n\tconst models = modelRegistry.get(provider);\n\treturn models ? (Array.from(models.values()) as Model<ModelApi<TProvider, keyof (typeof MODELS)[TProvider]>>[]) : [];\n}\n\nexport function calculateCost<TApi extends Api>(\n\tmodel: Model<TApi>,\n\tusage: Usage,\n\toptions: { providerSuppliedTotal?: boolean } = {},\n): Usage[\"cost\"] {\n\tusage.cost.input = (model.cost.input / 1000000) * usage.input;\n\tusage.cost.output = (model.cost.output / 1000000) * usage.output;\n\tusage.cost.cacheRead = (model.cost.cacheRead / 1000000) * usage.cacheRead;\n\tusage.cost.cacheWrite = (model.cost.cacheWrite / 1000000) * usage.cacheWrite;\n\tconst longContextPricing = model.longContextPricing;\n\tif (longContextPricing && usage.input + usage.cacheRead + usage.cacheWrite > longContextPricing.thresholdTokens) {\n\t\tusage.cost.input *= longContextPricing.inputMultiplier;\n\t\tusage.cost.cacheRead *= longContextPricing.inputMultiplier;\n\t\tusage.cost.cacheWrite *= longContextPricing.inputMultiplier;\n\t\tusage.cost.output *= longContextPricing.outputMultiplier;\n\t}\n\tif (!options.providerSuppliedTotal) {\n\t\tusage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;\n\t}\n\treturn usage.cost;\n}\n\nconst EXTENDED_THINKING_LEVELS: ModelThinkingLevel[] = [\n\t\"off\",\n\t\"minimal\",\n\t\"low\",\n\t\"medium\",\n\t\"high\",\n\t\"xhigh\",\n\t\"max\",\n\t\"ultra\",\n];\n\nexport function getSupportedThinkingLevels<TApi extends Api>(model: Model<TApi>): ModelThinkingLevel[] {\n\tif (!model.reasoning) return [\"off\"];\n\n\treturn EXTENDED_THINKING_LEVELS.filter((level) => {\n\t\tconst mapped = model.thinkingLevelMap?.[level];\n\t\tif (mapped === null) return false;\n\t\tif (level === \"xhigh\" || level === \"max\" || level === \"ultra\") return mapped !== undefined;\n\t\treturn true;\n\t});\n}\n\nexport function clampThinkingLevel<TApi extends Api>(\n\tmodel: Model<TApi>,\n\tlevel: ModelThinkingLevel,\n): ModelThinkingLevel {\n\tconst availableLevels = getSupportedThinkingLevels(model);\n\tif (availableLevels.includes(level)) return level;\n\n\tconst requestedIndex = EXTENDED_THINKING_LEVELS.indexOf(level);\n\tif (requestedIndex === -1) return availableLevels[0] ?? \"off\";\n\n\tfor (let i = requestedIndex; i < EXTENDED_THINKING_LEVELS.length; i++) {\n\t\tconst candidate = EXTENDED_THINKING_LEVELS[i];\n\t\tif (availableLevels.includes(candidate)) return candidate;\n\t}\n\tfor (let i = requestedIndex - 1; i >= 0; i--) {\n\t\tconst candidate = EXTENDED_THINKING_LEVELS[i];\n\t\tif (availableLevels.includes(candidate)) return candidate;\n\t}\n\treturn availableLevels[0] ?? \"off\";\n}\n\n/**\n * Check if two models are equal by comparing both their id and provider.\n * Returns false if either model is null or undefined.\n */\nexport function modelsAreEqual<TApi extends Api>(\n\ta: Model<TApi> | null | undefined,\n\tb: Model<TApi> | null | undefined,\n): boolean {\n\tif (!a || !b) return false;\n\treturn a.id === b.id && a.provider === b.provider;\n}\n"]}
@@ -8649,6 +8649,125 @@ export declare const MODELS: {
8649
8649
  contextWindow: number;
8650
8650
  maxTokens: number;
8651
8651
  };
8652
+ readonly "gpt-5.6": {
8653
+ id: string;
8654
+ name: string;
8655
+ api: "openai-responses";
8656
+ provider: string;
8657
+ baseUrl: string;
8658
+ reasoning: true;
8659
+ defaultThinkingLevel: "medium";
8660
+ thinkingLevelMap: {
8661
+ off: string;
8662
+ xhigh: string;
8663
+ max: string;
8664
+ ultra: string;
8665
+ minimal: null;
8666
+ };
8667
+ longContextPricing: {
8668
+ thresholdTokens: number;
8669
+ inputMultiplier: number;
8670
+ outputMultiplier: number;
8671
+ };
8672
+ input: ("image" | "text")[];
8673
+ cost: {
8674
+ input: number;
8675
+ output: number;
8676
+ cacheRead: number;
8677
+ cacheWrite: number;
8678
+ };
8679
+ contextWindow: number;
8680
+ maxTokens: number;
8681
+ };
8682
+ readonly "gpt-5.6-luna": {
8683
+ id: string;
8684
+ name: string;
8685
+ api: "openai-responses";
8686
+ provider: string;
8687
+ baseUrl: string;
8688
+ reasoning: true;
8689
+ defaultThinkingLevel: "medium";
8690
+ thinkingLevelMap: {
8691
+ off: string;
8692
+ xhigh: string;
8693
+ max: string;
8694
+ minimal: null;
8695
+ };
8696
+ longContextPricing: {
8697
+ thresholdTokens: number;
8698
+ inputMultiplier: number;
8699
+ outputMultiplier: number;
8700
+ };
8701
+ input: ("image" | "text")[];
8702
+ cost: {
8703
+ input: number;
8704
+ output: number;
8705
+ cacheRead: number;
8706
+ cacheWrite: number;
8707
+ };
8708
+ contextWindow: number;
8709
+ maxTokens: number;
8710
+ };
8711
+ readonly "gpt-5.6-sol": {
8712
+ id: string;
8713
+ name: string;
8714
+ api: "openai-responses";
8715
+ provider: string;
8716
+ baseUrl: string;
8717
+ reasoning: true;
8718
+ defaultThinkingLevel: "medium";
8719
+ thinkingLevelMap: {
8720
+ off: string;
8721
+ xhigh: string;
8722
+ max: string;
8723
+ ultra: string;
8724
+ minimal: null;
8725
+ };
8726
+ longContextPricing: {
8727
+ thresholdTokens: number;
8728
+ inputMultiplier: number;
8729
+ outputMultiplier: number;
8730
+ };
8731
+ input: ("image" | "text")[];
8732
+ cost: {
8733
+ input: number;
8734
+ output: number;
8735
+ cacheRead: number;
8736
+ cacheWrite: number;
8737
+ };
8738
+ contextWindow: number;
8739
+ maxTokens: number;
8740
+ };
8741
+ readonly "gpt-5.6-terra": {
8742
+ id: string;
8743
+ name: string;
8744
+ api: "openai-responses";
8745
+ provider: string;
8746
+ baseUrl: string;
8747
+ reasoning: true;
8748
+ defaultThinkingLevel: "medium";
8749
+ thinkingLevelMap: {
8750
+ off: string;
8751
+ xhigh: string;
8752
+ max: string;
8753
+ ultra: string;
8754
+ minimal: null;
8755
+ };
8756
+ longContextPricing: {
8757
+ thresholdTokens: number;
8758
+ inputMultiplier: number;
8759
+ outputMultiplier: number;
8760
+ };
8761
+ input: ("image" | "text")[];
8762
+ cost: {
8763
+ input: number;
8764
+ output: number;
8765
+ cacheRead: number;
8766
+ cacheWrite: number;
8767
+ };
8768
+ contextWindow: number;
8769
+ maxTokens: number;
8770
+ };
8652
8771
  readonly o1: {
8653
8772
  id: string;
8654
8773
  name: string;
@@ -8913,6 +9032,83 @@ export declare const MODELS: {
8913
9032
  contextWindow: number;
8914
9033
  maxTokens: number;
8915
9034
  };
9035
+ readonly "gpt-5.6-luna": {
9036
+ id: string;
9037
+ name: string;
9038
+ api: "openai-codex-responses";
9039
+ provider: string;
9040
+ baseUrl: string;
9041
+ reasoning: true;
9042
+ defaultThinkingLevel: "medium";
9043
+ thinkingLevelMap: {
9044
+ xhigh: string;
9045
+ max: string;
9046
+ minimal: null;
9047
+ off: null;
9048
+ };
9049
+ openaiResponsesLite: true;
9050
+ input: ("image" | "text")[];
9051
+ cost: {
9052
+ input: number;
9053
+ output: number;
9054
+ cacheRead: number;
9055
+ cacheWrite: number;
9056
+ };
9057
+ contextWindow: number;
9058
+ maxTokens: number;
9059
+ };
9060
+ readonly "gpt-5.6-sol": {
9061
+ id: string;
9062
+ name: string;
9063
+ api: "openai-codex-responses";
9064
+ provider: string;
9065
+ baseUrl: string;
9066
+ reasoning: true;
9067
+ defaultThinkingLevel: "low";
9068
+ thinkingLevelMap: {
9069
+ xhigh: string;
9070
+ max: string;
9071
+ ultra: string;
9072
+ minimal: null;
9073
+ off: null;
9074
+ };
9075
+ openaiResponsesLite: true;
9076
+ input: ("image" | "text")[];
9077
+ cost: {
9078
+ input: number;
9079
+ output: number;
9080
+ cacheRead: number;
9081
+ cacheWrite: number;
9082
+ };
9083
+ contextWindow: number;
9084
+ maxTokens: number;
9085
+ };
9086
+ readonly "gpt-5.6-terra": {
9087
+ id: string;
9088
+ name: string;
9089
+ api: "openai-codex-responses";
9090
+ provider: string;
9091
+ baseUrl: string;
9092
+ reasoning: true;
9093
+ defaultThinkingLevel: "medium";
9094
+ thinkingLevelMap: {
9095
+ xhigh: string;
9096
+ max: string;
9097
+ ultra: string;
9098
+ minimal: null;
9099
+ off: null;
9100
+ };
9101
+ openaiResponsesLite: true;
9102
+ input: ("image" | "text")[];
9103
+ cost: {
9104
+ input: number;
9105
+ output: number;
9106
+ cacheRead: number;
9107
+ cacheWrite: number;
9108
+ };
9109
+ contextWindow: number;
9110
+ maxTokens: number;
9111
+ };
8916
9112
  };
8917
9113
  readonly opencode: {
8918
9114
  readonly "big-pickle": {
@@ -11016,23 +11212,6 @@ export declare const MODELS: {
11016
11212
  contextWindow: number;
11017
11213
  maxTokens: number;
11018
11214
  };
11019
- readonly "google/gemini-2.5-flash-lite-preview-09-2025": {
11020
- id: string;
11021
- name: string;
11022
- api: "openai-completions";
11023
- provider: string;
11024
- baseUrl: string;
11025
- reasoning: true;
11026
- input: ("image" | "text")[];
11027
- cost: {
11028
- input: number;
11029
- output: number;
11030
- cacheRead: number;
11031
- cacheWrite: number;
11032
- };
11033
- contextWindow: number;
11034
- maxTokens: number;
11035
- };
11036
11215
  readonly "google/gemini-2.5-pro": {
11037
11216
  id: string;
11038
11217
  name: string;
@@ -12897,6 +13076,132 @@ export declare const MODELS: {
12897
13076
  contextWindow: number;
12898
13077
  maxTokens: number;
12899
13078
  };
13079
+ readonly "openai/gpt-5.6-luna": {
13080
+ id: string;
13081
+ name: string;
13082
+ api: "openai-completions";
13083
+ provider: string;
13084
+ baseUrl: string;
13085
+ reasoning: true;
13086
+ thinkingLevelMap: {
13087
+ xhigh: string;
13088
+ max: string;
13089
+ };
13090
+ input: ("image" | "text")[];
13091
+ cost: {
13092
+ input: number;
13093
+ output: number;
13094
+ cacheRead: number;
13095
+ cacheWrite: number;
13096
+ };
13097
+ contextWindow: number;
13098
+ maxTokens: number;
13099
+ };
13100
+ readonly "openai/gpt-5.6-luna-pro": {
13101
+ id: string;
13102
+ name: string;
13103
+ api: "openai-completions";
13104
+ provider: string;
13105
+ baseUrl: string;
13106
+ reasoning: true;
13107
+ thinkingLevelMap: {
13108
+ xhigh: string;
13109
+ max: string;
13110
+ };
13111
+ input: ("image" | "text")[];
13112
+ cost: {
13113
+ input: number;
13114
+ output: number;
13115
+ cacheRead: number;
13116
+ cacheWrite: number;
13117
+ };
13118
+ contextWindow: number;
13119
+ maxTokens: number;
13120
+ };
13121
+ readonly "openai/gpt-5.6-sol": {
13122
+ id: string;
13123
+ name: string;
13124
+ api: "openai-completions";
13125
+ provider: string;
13126
+ baseUrl: string;
13127
+ reasoning: true;
13128
+ thinkingLevelMap: {
13129
+ xhigh: string;
13130
+ max: string;
13131
+ };
13132
+ input: ("image" | "text")[];
13133
+ cost: {
13134
+ input: number;
13135
+ output: number;
13136
+ cacheRead: number;
13137
+ cacheWrite: number;
13138
+ };
13139
+ contextWindow: number;
13140
+ maxTokens: number;
13141
+ };
13142
+ readonly "openai/gpt-5.6-sol-pro": {
13143
+ id: string;
13144
+ name: string;
13145
+ api: "openai-completions";
13146
+ provider: string;
13147
+ baseUrl: string;
13148
+ reasoning: true;
13149
+ thinkingLevelMap: {
13150
+ xhigh: string;
13151
+ max: string;
13152
+ };
13153
+ input: ("image" | "text")[];
13154
+ cost: {
13155
+ input: number;
13156
+ output: number;
13157
+ cacheRead: number;
13158
+ cacheWrite: number;
13159
+ };
13160
+ contextWindow: number;
13161
+ maxTokens: number;
13162
+ };
13163
+ readonly "openai/gpt-5.6-terra": {
13164
+ id: string;
13165
+ name: string;
13166
+ api: "openai-completions";
13167
+ provider: string;
13168
+ baseUrl: string;
13169
+ reasoning: true;
13170
+ thinkingLevelMap: {
13171
+ xhigh: string;
13172
+ max: string;
13173
+ };
13174
+ input: ("image" | "text")[];
13175
+ cost: {
13176
+ input: number;
13177
+ output: number;
13178
+ cacheRead: number;
13179
+ cacheWrite: number;
13180
+ };
13181
+ contextWindow: number;
13182
+ maxTokens: number;
13183
+ };
13184
+ readonly "openai/gpt-5.6-terra-pro": {
13185
+ id: string;
13186
+ name: string;
13187
+ api: "openai-completions";
13188
+ provider: string;
13189
+ baseUrl: string;
13190
+ reasoning: true;
13191
+ thinkingLevelMap: {
13192
+ xhigh: string;
13193
+ max: string;
13194
+ };
13195
+ input: ("image" | "text")[];
13196
+ cost: {
13197
+ input: number;
13198
+ output: number;
13199
+ cacheRead: number;
13200
+ cacheWrite: number;
13201
+ };
13202
+ contextWindow: number;
13203
+ maxTokens: number;
13204
+ };
12900
13205
  readonly "openai/gpt-audio": {
12901
13206
  id: string;
12902
13207
  name: string;
@@ -13305,40 +13610,6 @@ export declare const MODELS: {
13305
13610
  contextWindow: number;
13306
13611
  maxTokens: number;
13307
13612
  };
13308
- readonly "poolside/laguna-xs.2": {
13309
- id: string;
13310
- name: string;
13311
- api: "openai-completions";
13312
- provider: string;
13313
- baseUrl: string;
13314
- reasoning: true;
13315
- input: "text"[];
13316
- cost: {
13317
- input: number;
13318
- output: number;
13319
- cacheRead: number;
13320
- cacheWrite: number;
13321
- };
13322
- contextWindow: number;
13323
- maxTokens: number;
13324
- };
13325
- readonly "poolside/laguna-xs.2:free": {
13326
- id: string;
13327
- name: string;
13328
- api: "openai-completions";
13329
- provider: string;
13330
- baseUrl: string;
13331
- reasoning: true;
13332
- input: "text"[];
13333
- cost: {
13334
- input: number;
13335
- output: number;
13336
- cacheRead: number;
13337
- cacheWrite: number;
13338
- };
13339
- contextWindow: number;
13340
- maxTokens: number;
13341
- };
13342
13613
  readonly "qwen/qwen-2.5-72b-instruct": {
13343
13614
  id: string;
13344
13615
  name: string;
@@ -16795,6 +17066,23 @@ export declare const MODELS: {
16795
17066
  contextWindow: number;
16796
17067
  maxTokens: number;
16797
17068
  };
17069
+ readonly "meta/muse-spark-1.1": {
17070
+ id: string;
17071
+ name: string;
17072
+ api: "anthropic-messages";
17073
+ provider: string;
17074
+ baseUrl: string;
17075
+ reasoning: true;
17076
+ input: ("image" | "text")[];
17077
+ cost: {
17078
+ input: number;
17079
+ output: number;
17080
+ cacheRead: number;
17081
+ cacheWrite: number;
17082
+ };
17083
+ contextWindow: number;
17084
+ maxTokens: number;
17085
+ };
16798
17086
  readonly "minimax/minimax-m2": {
16799
17087
  id: string;
16800
17088
  name: string;
@@ -17939,6 +18227,69 @@ export declare const MODELS: {
17939
18227
  contextWindow: number;
17940
18228
  maxTokens: number;
17941
18229
  };
18230
+ readonly "openai/gpt-5.6-luna": {
18231
+ id: string;
18232
+ name: string;
18233
+ api: "anthropic-messages";
18234
+ provider: string;
18235
+ baseUrl: string;
18236
+ reasoning: true;
18237
+ thinkingLevelMap: {
18238
+ xhigh: string;
18239
+ max: string;
18240
+ };
18241
+ input: ("image" | "text")[];
18242
+ cost: {
18243
+ input: number;
18244
+ output: number;
18245
+ cacheRead: number;
18246
+ cacheWrite: number;
18247
+ };
18248
+ contextWindow: number;
18249
+ maxTokens: number;
18250
+ };
18251
+ readonly "openai/gpt-5.6-sol": {
18252
+ id: string;
18253
+ name: string;
18254
+ api: "anthropic-messages";
18255
+ provider: string;
18256
+ baseUrl: string;
18257
+ reasoning: true;
18258
+ thinkingLevelMap: {
18259
+ xhigh: string;
18260
+ max: string;
18261
+ };
18262
+ input: ("image" | "text")[];
18263
+ cost: {
18264
+ input: number;
18265
+ output: number;
18266
+ cacheRead: number;
18267
+ cacheWrite: number;
18268
+ };
18269
+ contextWindow: number;
18270
+ maxTokens: number;
18271
+ };
18272
+ readonly "openai/gpt-5.6-terra": {
18273
+ id: string;
18274
+ name: string;
18275
+ api: "anthropic-messages";
18276
+ provider: string;
18277
+ baseUrl: string;
18278
+ reasoning: true;
18279
+ thinkingLevelMap: {
18280
+ xhigh: string;
18281
+ max: string;
18282
+ };
18283
+ input: ("image" | "text")[];
18284
+ cost: {
18285
+ input: number;
18286
+ output: number;
18287
+ cacheRead: number;
18288
+ cacheWrite: number;
18289
+ };
18290
+ contextWindow: number;
18291
+ maxTokens: number;
18292
+ };
17942
18293
  readonly "openai/gpt-oss-120b": {
17943
18294
  id: string;
17944
18295
  name: string;