@llumiverse/common 1.2.0 → 1.4.0-dev.20260629.090753Z

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 (184) hide show
  1. package/lib/capability/anthropic.d.ts +3 -0
  2. package/lib/capability/anthropic.d.ts.map +1 -0
  3. package/lib/capability/anthropic.js +92 -0
  4. package/lib/capability/anthropic.js.map +1 -0
  5. package/lib/{types/capability → capability}/azure_foundry.d.ts +1 -1
  6. package/lib/capability/azure_foundry.d.ts.map +1 -0
  7. package/lib/capability/azure_foundry.js +394 -0
  8. package/lib/capability/azure_foundry.js.map +1 -0
  9. package/lib/{types/capability → capability}/bedrock.d.ts +1 -1
  10. package/lib/capability/bedrock.d.ts.map +1 -0
  11. package/lib/capability/bedrock.js +300 -0
  12. package/lib/capability/bedrock.js.map +1 -0
  13. package/lib/{types/capability → capability}/openai.d.ts +1 -1
  14. package/lib/capability/openai.d.ts.map +1 -0
  15. package/lib/capability/openai.js +179 -0
  16. package/lib/capability/openai.js.map +1 -0
  17. package/lib/{types/capability → capability}/vertexai.d.ts +1 -1
  18. package/lib/capability/vertexai.d.ts.map +1 -0
  19. package/lib/capability/vertexai.js +137 -0
  20. package/lib/capability/vertexai.js.map +1 -0
  21. package/lib/{types/capability.d.ts → capability.d.ts} +1 -1
  22. package/lib/capability.d.ts.map +1 -0
  23. package/lib/{esm/capability.js → capability.js} +21 -15
  24. package/lib/capability.js.map +1 -0
  25. package/lib/index.d.ts +14 -0
  26. package/lib/index.d.ts.map +1 -0
  27. package/lib/index.js +14 -0
  28. package/lib/index.js.map +1 -0
  29. package/lib/options/anthropic.d.ts +16 -0
  30. package/lib/options/anthropic.d.ts.map +1 -0
  31. package/lib/options/anthropic.js +34 -0
  32. package/lib/options/anthropic.js.map +1 -0
  33. package/lib/{types/options → options}/azure_foundry.d.ts +14 -14
  34. package/lib/options/azure_foundry.d.ts.map +1 -0
  35. package/lib/{esm/options → options}/azure_foundry.js +126 -126
  36. package/lib/options/azure_foundry.js.map +1 -0
  37. package/lib/options/bedrock.d.ts +61 -0
  38. package/lib/options/bedrock.d.ts.map +1 -0
  39. package/lib/options/bedrock.js +489 -0
  40. package/lib/options/bedrock.js.map +1 -0
  41. package/lib/options/context-windows.d.ts.map +1 -0
  42. package/lib/options/context-windows.js.map +1 -0
  43. package/lib/options/embedding.d.ts +38 -0
  44. package/lib/options/embedding.d.ts.map +1 -0
  45. package/lib/options/embedding.js +77 -0
  46. package/lib/options/embedding.js.map +1 -0
  47. package/lib/{types/options → options}/fallback.d.ts +2 -2
  48. package/lib/options/fallback.d.ts.map +1 -0
  49. package/lib/options/fallback.js +65 -0
  50. package/lib/options/fallback.js.map +1 -0
  51. package/lib/{types/options → options}/groq.d.ts +2 -2
  52. package/lib/options/groq.d.ts.map +1 -0
  53. package/lib/options/groq.js +54 -0
  54. package/lib/options/groq.js.map +1 -0
  55. package/lib/options/openai.d.ts +40 -0
  56. package/lib/options/openai.d.ts.map +1 -0
  57. package/lib/options/openai.js +284 -0
  58. package/lib/options/openai.js.map +1 -0
  59. package/lib/{types/options → options}/shared-parsing.d.ts +1 -1
  60. package/lib/options/shared-parsing.d.ts.map +1 -0
  61. package/lib/{esm/options → options}/shared-parsing.js +14 -17
  62. package/lib/options/shared-parsing.js.map +1 -0
  63. package/lib/options/version-parsing.d.ts.map +1 -0
  64. package/lib/{esm/options → options}/version-parsing.js +15 -15
  65. package/lib/options/version-parsing.js.map +1 -0
  66. package/lib/{types/options → options}/vertexai.d.ts +18 -15
  67. package/lib/options/vertexai.d.ts.map +1 -0
  68. package/lib/options/vertexai.js +606 -0
  69. package/lib/options/vertexai.js.map +1 -0
  70. package/lib/{types/options.d.ts → options.d.ts} +1 -1
  71. package/lib/options.d.ts.map +1 -0
  72. package/lib/{esm/options.js → options.js} +10 -7
  73. package/lib/options.js.map +1 -0
  74. package/lib/{types/types.d.ts → types.d.ts} +161 -42
  75. package/lib/types.d.ts.map +1 -0
  76. package/lib/{esm/types.js → types.js} +28 -22
  77. package/lib/types.js.map +1 -0
  78. package/package.json +12 -34
  79. package/src/LlumiverseError.test.ts +18 -72
  80. package/src/capability/anthropic.ts +99 -0
  81. package/src/capability/azure_foundry.ts +303 -65
  82. package/src/capability/bedrock.ts +201 -56
  83. package/src/capability/openai.ts +135 -41
  84. package/src/capability/vertexai.ts +105 -35
  85. package/src/capability.ts +21 -16
  86. package/src/index.ts +13 -11
  87. package/src/options/anthropic.ts +59 -0
  88. package/src/options/azure_foundry.ts +157 -143
  89. package/src/options/bedrock.ts +266 -187
  90. package/src/options/context-windows.ts +2 -2
  91. package/src/options/embedding.ts +92 -0
  92. package/src/options/fallback.ts +50 -17
  93. package/src/options/groq.ts +48 -21
  94. package/src/options/openai.ts +231 -183
  95. package/src/options/shared-parsing.ts +16 -21
  96. package/src/options/version-parsing.ts +17 -17
  97. package/src/options/vertexai.ts +385 -288
  98. package/src/options.ts +11 -8
  99. package/src/types.ts +284 -160
  100. package/lib/cjs/capability/azure_foundry.js +0 -160
  101. package/lib/cjs/capability/azure_foundry.js.map +0 -1
  102. package/lib/cjs/capability/bedrock.js +0 -158
  103. package/lib/cjs/capability/bedrock.js.map +0 -1
  104. package/lib/cjs/capability/openai.js +0 -98
  105. package/lib/cjs/capability/openai.js.map +0 -1
  106. package/lib/cjs/capability/vertexai.js +0 -80
  107. package/lib/cjs/capability/vertexai.js.map +0 -1
  108. package/lib/cjs/capability.js +0 -109
  109. package/lib/cjs/capability.js.map +0 -1
  110. package/lib/cjs/index.js +0 -27
  111. package/lib/cjs/index.js.map +0 -1
  112. package/lib/cjs/options/azure_foundry.js +0 -423
  113. package/lib/cjs/options/azure_foundry.js.map +0 -1
  114. package/lib/cjs/options/bedrock.js +0 -427
  115. package/lib/cjs/options/bedrock.js.map +0 -1
  116. package/lib/cjs/options/context-windows.js +0 -138
  117. package/lib/cjs/options/context-windows.js.map +0 -1
  118. package/lib/cjs/options/fallback.js +0 -35
  119. package/lib/cjs/options/fallback.js.map +0 -1
  120. package/lib/cjs/options/groq.js +0 -37
  121. package/lib/cjs/options/groq.js.map +0 -1
  122. package/lib/cjs/options/openai.js +0 -246
  123. package/lib/cjs/options/openai.js.map +0 -1
  124. package/lib/cjs/options/shared-parsing.js +0 -144
  125. package/lib/cjs/options/shared-parsing.js.map +0 -1
  126. package/lib/cjs/options/version-parsing.js +0 -326
  127. package/lib/cjs/options/version-parsing.js.map +0 -1
  128. package/lib/cjs/options/vertexai.js +0 -525
  129. package/lib/cjs/options/vertexai.js.map +0 -1
  130. package/lib/cjs/options.js +0 -30
  131. package/lib/cjs/options.js.map +0 -1
  132. package/lib/cjs/package.json +0 -3
  133. package/lib/cjs/types.js +0 -299
  134. package/lib/cjs/types.js.map +0 -1
  135. package/lib/esm/capability/azure_foundry.js +0 -157
  136. package/lib/esm/capability/azure_foundry.js.map +0 -1
  137. package/lib/esm/capability/bedrock.js +0 -155
  138. package/lib/esm/capability/bedrock.js.map +0 -1
  139. package/lib/esm/capability/openai.js +0 -95
  140. package/lib/esm/capability/openai.js.map +0 -1
  141. package/lib/esm/capability/vertexai.js +0 -77
  142. package/lib/esm/capability/vertexai.js.map +0 -1
  143. package/lib/esm/capability.js.map +0 -1
  144. package/lib/esm/index.js +0 -11
  145. package/lib/esm/index.js.map +0 -1
  146. package/lib/esm/options/azure_foundry.js.map +0 -1
  147. package/lib/esm/options/bedrock.js +0 -423
  148. package/lib/esm/options/bedrock.js.map +0 -1
  149. package/lib/esm/options/context-windows.js.map +0 -1
  150. package/lib/esm/options/fallback.js +0 -32
  151. package/lib/esm/options/fallback.js.map +0 -1
  152. package/lib/esm/options/groq.js +0 -34
  153. package/lib/esm/options/groq.js.map +0 -1
  154. package/lib/esm/options/openai.js +0 -243
  155. package/lib/esm/options/openai.js.map +0 -1
  156. package/lib/esm/options/shared-parsing.js.map +0 -1
  157. package/lib/esm/options/version-parsing.js.map +0 -1
  158. package/lib/esm/options/vertexai.js +0 -519
  159. package/lib/esm/options/vertexai.js.map +0 -1
  160. package/lib/esm/options.js.map +0 -1
  161. package/lib/esm/types.js.map +0 -1
  162. package/lib/types/capability/azure_foundry.d.ts.map +0 -1
  163. package/lib/types/capability/bedrock.d.ts.map +0 -1
  164. package/lib/types/capability/openai.d.ts.map +0 -1
  165. package/lib/types/capability/vertexai.d.ts.map +0 -1
  166. package/lib/types/capability.d.ts.map +0 -1
  167. package/lib/types/index.d.ts +0 -11
  168. package/lib/types/index.d.ts.map +0 -1
  169. package/lib/types/options/azure_foundry.d.ts.map +0 -1
  170. package/lib/types/options/bedrock.d.ts +0 -54
  171. package/lib/types/options/bedrock.d.ts.map +0 -1
  172. package/lib/types/options/context-windows.d.ts.map +0 -1
  173. package/lib/types/options/fallback.d.ts.map +0 -1
  174. package/lib/types/options/groq.d.ts.map +0 -1
  175. package/lib/types/options/openai.d.ts +0 -37
  176. package/lib/types/options/openai.d.ts.map +0 -1
  177. package/lib/types/options/shared-parsing.d.ts.map +0 -1
  178. package/lib/types/options/version-parsing.d.ts.map +0 -1
  179. package/lib/types/options/vertexai.d.ts.map +0 -1
  180. package/lib/types/options.d.ts.map +0 -1
  181. package/lib/types/types.d.ts.map +0 -1
  182. /package/lib/{types/options → options}/context-windows.d.ts +0 -0
  183. /package/lib/{esm/options → options}/context-windows.js +0 -0
  184. /package/lib/{types/options → options}/version-parsing.d.ts +0 -0
@@ -0,0 +1,65 @@
1
+ import { OptionType, SharedOptions } from '../types.js';
2
+ export const textOptionsFallback = {
3
+ _option_id: 'text-fallback',
4
+ options: [
5
+ {
6
+ name: SharedOptions.max_tokens,
7
+ type: OptionType.numeric,
8
+ min: 1,
9
+ integer: true,
10
+ step: 200,
11
+ description: 'The maximum number of tokens to generate',
12
+ },
13
+ {
14
+ name: SharedOptions.temperature,
15
+ type: OptionType.numeric,
16
+ min: 0.0,
17
+ default: 0.7,
18
+ integer: false,
19
+ step: 0.1,
20
+ description: 'A higher temperature biases toward less likely tokens, making the model more creative',
21
+ },
22
+ {
23
+ name: SharedOptions.top_p,
24
+ type: OptionType.numeric,
25
+ min: 0,
26
+ max: 1,
27
+ integer: false,
28
+ step: 0.1,
29
+ description: 'Limits token sampling to the cumulative probability of the top p tokens',
30
+ },
31
+ {
32
+ name: SharedOptions.top_k,
33
+ type: OptionType.numeric,
34
+ min: 1,
35
+ integer: true,
36
+ step: 1,
37
+ description: 'Limits token sampling to the top k tokens',
38
+ },
39
+ {
40
+ name: SharedOptions.presence_penalty,
41
+ type: OptionType.numeric,
42
+ min: -2.0,
43
+ max: 2.0,
44
+ integer: false,
45
+ step: 0.1,
46
+ description: 'Penalise tokens if they appear at least once in the text',
47
+ },
48
+ {
49
+ name: SharedOptions.frequency_penalty,
50
+ type: OptionType.numeric,
51
+ min: -2.0,
52
+ max: 2.0,
53
+ integer: false,
54
+ step: 0.1,
55
+ description: 'Penalise tokens based on their frequency in the text',
56
+ },
57
+ {
58
+ name: SharedOptions.stop_sequence,
59
+ type: OptionType.string_list,
60
+ value: [],
61
+ description: 'The generation will halt if one of the stop sequences is output',
62
+ },
63
+ ],
64
+ };
65
+ //# sourceMappingURL=fallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../src/options/fallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAa/E,MAAM,CAAC,MAAM,mBAAmB,GAAqB;IACjD,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE;QACL;YACI,IAAI,EAAE,aAAa,CAAC,UAAU;YAC9B,IAAI,EAAE,UAAU,CAAC,OAAO;YACxB,GAAG,EAAE,CAAC;YACN,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,0CAA0C;SAC1D;QACD;YACI,IAAI,EAAE,aAAa,CAAC,WAAW;YAC/B,IAAI,EAAE,UAAU,CAAC,OAAO;YACxB,GAAG,EAAE,GAAG;YACR,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,uFAAuF;SACvG;QACD;YACI,IAAI,EAAE,aAAa,CAAC,KAAK;YACzB,IAAI,EAAE,UAAU,CAAC,OAAO;YACxB,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,yEAAyE;SACzF;QACD;YACI,IAAI,EAAE,aAAa,CAAC,KAAK;YACzB,IAAI,EAAE,UAAU,CAAC,OAAO;YACxB,GAAG,EAAE,CAAC;YACN,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,CAAC;YACP,WAAW,EAAE,2CAA2C;SAC3D;QACD;YACI,IAAI,EAAE,aAAa,CAAC,gBAAgB;YACpC,IAAI,EAAE,UAAU,CAAC,OAAO;YACxB,GAAG,EAAE,CAAC,GAAG;YACT,GAAG,EAAE,GAAG;YACR,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,0DAA0D;SAC1E;QACD;YACI,IAAI,EAAE,aAAa,CAAC,iBAAiB;YACrC,IAAI,EAAE,UAAU,CAAC,OAAO;YACxB,GAAG,EAAE,CAAC,GAAG;YACT,GAAG,EAAE,GAAG;YACR,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,sDAAsD;SACtE;QACD;YACI,IAAI,EAAE,aAAa,CAAC,aAAa;YACjC,IAAI,EAAE,UAAU,CAAC,WAAW;YAC5B,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,iEAAiE;SACjF;KACJ;CACJ,CAAC"}
@@ -1,7 +1,7 @@
1
- import { ModelOptionsInfo, ModelOptions } from "../types.js";
1
+ import { type ModelOptions, type ModelOptionsInfo } from '../types.js';
2
2
  export type GroqOptions = GroqDeepseekThinkingOptions;
3
3
  export interface GroqDeepseekThinkingOptions {
4
- _option_id: "groq-deepseek-thinking";
4
+ _option_id: 'groq-deepseek-thinking';
5
5
  max_tokens?: number;
6
6
  temperature?: number;
7
7
  top_p?: number;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groq.d.ts","sourceRoot":"","sources":["../../src/options/groq.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAGxB,MAAM,aAAa,CAAC;AAIrB,MAAM,MAAM,WAAW,GAAG,2BAA2B,CAAC;AAEtD,MAAM,WAAW,2BAA2B;IACxC,UAAU,EAAE,wBAAwB,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;CACjD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,gBAAgB,CAoDtF"}
@@ -0,0 +1,54 @@
1
+ import { OptionType, SharedOptions, } from '../types.js';
2
+ import { textOptionsFallback } from './fallback.js';
3
+ export function getGroqOptions(model, _option) {
4
+ if (model.includes('deepseek') && model.includes('r1')) {
5
+ const commonOptions = [
6
+ {
7
+ name: SharedOptions.max_tokens,
8
+ type: OptionType.numeric,
9
+ min: 1,
10
+ max: 131072,
11
+ integer: true,
12
+ description: 'The maximum number of tokens to generate',
13
+ },
14
+ {
15
+ name: SharedOptions.temperature,
16
+ type: OptionType.numeric,
17
+ min: 0.0,
18
+ default: 0.7,
19
+ max: 2.0,
20
+ integer: false,
21
+ step: 0.1,
22
+ description: 'A higher temperature biases toward less likely tokens, making the model more creative. A lower temperature than other models is recommended for deepseek R1, 0.3-0.7 approximately.',
23
+ },
24
+ {
25
+ name: SharedOptions.top_p,
26
+ type: OptionType.numeric,
27
+ min: 0,
28
+ max: 1,
29
+ integer: false,
30
+ step: 0.1,
31
+ description: 'Limits token sampling to the cumulative probability of the top p tokens',
32
+ },
33
+ {
34
+ name: SharedOptions.stop_sequence,
35
+ type: OptionType.string_list,
36
+ value: [],
37
+ description: 'The generation will halt if one of the stop sequences is output',
38
+ },
39
+ {
40
+ name: 'reasoning_format',
41
+ type: OptionType.enum,
42
+ enum: { Parsed: 'parsed', Raw: 'raw', Hidden: 'hidden' },
43
+ default: 'parsed',
44
+ description: 'Controls how the reasoning is returned.',
45
+ },
46
+ ];
47
+ return {
48
+ _option_id: 'groq-deepseek-thinking',
49
+ options: commonOptions,
50
+ };
51
+ }
52
+ return textOptionsFallback;
53
+ }
54
+ //# sourceMappingURL=groq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groq.js","sourceRoot":"","sources":["../../src/options/groq.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,UAAU,EACV,aAAa,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAcpD,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,OAAsB;IAChE,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,aAAa,GAA0B;YACzC;gBACI,IAAI,EAAE,aAAa,CAAC,UAAU;gBAC9B,IAAI,EAAE,UAAU,CAAC,OAAO;gBACxB,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,MAAM;gBACX,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,0CAA0C;aAC1D;YACD;gBACI,IAAI,EAAE,aAAa,CAAC,WAAW;gBAC/B,IAAI,EAAE,UAAU,CAAC,OAAO;gBACxB,GAAG,EAAE,GAAG;gBACR,OAAO,EAAE,GAAG;gBACZ,GAAG,EAAE,GAAG;gBACR,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,GAAG;gBACT,WAAW,EACP,qLAAqL;aAC5L;YACD;gBACI,IAAI,EAAE,aAAa,CAAC,KAAK;gBACzB,IAAI,EAAE,UAAU,CAAC,OAAO;gBACxB,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,CAAC;gBACN,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,GAAG;gBACT,WAAW,EAAE,yEAAyE;aACzF;YACD;gBACI,IAAI,EAAE,aAAa,CAAC,aAAa;gBACjC,IAAI,EAAE,UAAU,CAAC,WAAW;gBAC5B,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,iEAAiE;aACjF;YACD;gBACI,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE;gBACxD,OAAO,EAAE,QAAQ;gBACjB,WAAW,EAAE,yCAAyC;aACzD;SACJ,CAAC;QAEF,OAAO;YACH,UAAU,EAAE,wBAAwB;YACpC,OAAO,EAAE,aAAa;SACzB,CAAC;IACN,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { type ModelOptions, type ModelOptionsInfo, type ReasoningEffort } from '../types.js';
2
+ /**
3
+ * @discriminator _option_id
4
+ */
5
+ export type OpenAiOptions = OpenAiThinkingOptions | OpenAiTextOptions | OpenAiDalleOptions | OpenAiGptImageOptions;
6
+ export interface OpenAiThinkingOptions {
7
+ _option_id: 'openai-thinking';
8
+ max_tokens?: number;
9
+ stop_sequence?: string[];
10
+ effort?: ReasoningEffort;
11
+ reasoning_effort?: ReasoningEffort;
12
+ image_detail?: 'low' | 'high' | 'auto';
13
+ }
14
+ export interface OpenAiTextOptions {
15
+ _option_id: 'openai-text';
16
+ max_tokens?: number;
17
+ temperature?: number;
18
+ top_p?: number;
19
+ presence_penalty?: number;
20
+ frequency_penalty?: number;
21
+ stop_sequence?: string[];
22
+ image_detail?: 'low' | 'high' | 'auto';
23
+ }
24
+ export interface OpenAiDalleOptions {
25
+ _option_id: 'openai-dalle';
26
+ size?: '256x256' | '512x512' | '1024x1024' | '1792x1024' | '1024x1792';
27
+ image_quality?: 'standard' | 'hd';
28
+ style?: 'vivid' | 'natural';
29
+ response_format?: 'url' | 'b64_json';
30
+ n?: number;
31
+ }
32
+ export interface OpenAiGptImageOptions {
33
+ _option_id: 'openai-gpt-image';
34
+ size?: '1024x1024' | '1024x1536' | '1536x1024' | 'auto';
35
+ image_quality?: 'low' | 'medium' | 'high' | 'auto';
36
+ background?: 'transparent' | 'opaque' | 'auto';
37
+ output_format?: 'png' | 'webp' | 'jpeg';
38
+ }
39
+ export declare function getOpenAiOptions(model: string, _option?: ModelOptions): ModelOptionsInfo;
40
+ //# sourceMappingURL=openai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/options/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAErB,KAAK,eAAe,EAEvB,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,qBAAqB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,qBAAqB,CAAC;AAEnH,MAAM,WAAW,qBAAqB;IAClC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,YAAY,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,aAAa,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CAC1C;AACD,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,cAAc,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;IACvE,aAAa,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,eAAe,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC;IACrC,CAAC,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IAClC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;IACxD,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACnD,UAAU,CAAC,EAAE,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CAC3C;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,gBAAgB,CAmQxF"}
@@ -0,0 +1,284 @@
1
+ import { OptionType, SharedOptions, } from '../types.js';
2
+ export function getOpenAiOptions(model, _option) {
3
+ const visionOptions = isVisionModel(model)
4
+ ? [
5
+ {
6
+ name: 'image_detail',
7
+ type: OptionType.enum,
8
+ enum: { Low: 'low', High: 'high', Auto: 'auto' },
9
+ default: 'auto',
10
+ description: 'Controls how the model processes an input image.',
11
+ },
12
+ ]
13
+ : [];
14
+ // Image generation models
15
+ if (isImageModel(model)) {
16
+ const isGPTImage = model.includes('gpt-image') || model.includes('chatgpt-image');
17
+ const isDallE2 = model.includes('dall-e-2');
18
+ const isDallE3 = model.includes('dall-e-3');
19
+ const sizeOptions = {};
20
+ if (isGPTImage) {
21
+ sizeOptions['1024x1024'] = '1024x1024';
22
+ sizeOptions['1024x1536'] = '1024x1536';
23
+ sizeOptions['1536x1024'] = '1536x1024';
24
+ sizeOptions.Auto = 'auto';
25
+ }
26
+ else if (isDallE2) {
27
+ sizeOptions['256x256'] = '256x256';
28
+ sizeOptions['512x512'] = '512x512';
29
+ sizeOptions['1024x1024'] = '1024x1024';
30
+ }
31
+ else if (isDallE3) {
32
+ sizeOptions['1024x1024'] = '1024x1024';
33
+ sizeOptions['1792x1024'] = '1792x1024';
34
+ sizeOptions['1024x1792'] = '1024x1792';
35
+ }
36
+ const baseImageOptions = [
37
+ {
38
+ name: 'size',
39
+ type: OptionType.enum,
40
+ enum: sizeOptions,
41
+ default: '1024x1024',
42
+ description: 'The size of the generated image',
43
+ },
44
+ ];
45
+ const gptImageOptions = isGPTImage
46
+ ? [
47
+ {
48
+ name: 'image_quality',
49
+ type: OptionType.enum,
50
+ enum: { Low: 'low', Medium: 'medium', High: 'high', Auto: 'auto' },
51
+ default: 'auto',
52
+ description: 'The quality of the generated image',
53
+ },
54
+ {
55
+ name: 'background',
56
+ type: OptionType.enum,
57
+ enum: { Transparent: 'transparent', Opaque: 'opaque', Auto: 'auto' },
58
+ default: 'auto',
59
+ description: 'The background setting for the image',
60
+ },
61
+ {
62
+ name: 'output_format',
63
+ type: OptionType.enum,
64
+ enum: { PNG: 'png', WebP: 'webp', JPEG: 'jpeg' },
65
+ default: 'png',
66
+ description: 'The output format for the image',
67
+ },
68
+ ]
69
+ : [];
70
+ const dalleOptions = isDallE2 || isDallE3
71
+ ? [
72
+ {
73
+ name: 'image_quality',
74
+ type: OptionType.enum,
75
+ enum: isDallE3 ? { Standard: 'standard', HD: 'hd' } : { Standard: 'standard' },
76
+ default: 'standard',
77
+ description: 'The quality of the generated image',
78
+ },
79
+ {
80
+ name: 'style',
81
+ type: OptionType.enum,
82
+ enum: { Vivid: 'vivid', Natural: 'natural' },
83
+ default: 'vivid',
84
+ description: 'The style of the generated image (DALL-E 3 only)',
85
+ },
86
+ {
87
+ name: 'response_format',
88
+ type: OptionType.enum,
89
+ enum: { URL: 'url', 'Base64 JSON': 'b64_json' },
90
+ default: 'b64_json',
91
+ description: 'The format of the response',
92
+ },
93
+ ]
94
+ : [];
95
+ const nImagesOption = isDallE2
96
+ ? [
97
+ {
98
+ name: 'n',
99
+ type: OptionType.numeric,
100
+ min: 1,
101
+ max: 10,
102
+ default: 1,
103
+ integer: true,
104
+ description: 'Number of images to generate (DALL-E 2 only)',
105
+ },
106
+ ]
107
+ : [];
108
+ return {
109
+ _option_id: isGPTImage ? 'openai-gpt-image' : 'openai-dalle',
110
+ options: [...baseImageOptions, ...gptImageOptions, ...dalleOptions, ...nImagesOption],
111
+ };
112
+ }
113
+ if (isReasoningModel(model)) {
114
+ //Is thinking text model
115
+ let max_tokens_limit = 4096;
116
+ if (model.includes('o1')) {
117
+ if (model.includes('preview')) {
118
+ max_tokens_limit = 32768;
119
+ }
120
+ else if (model.includes('mini')) {
121
+ max_tokens_limit = 65536;
122
+ }
123
+ else {
124
+ max_tokens_limit = 100000;
125
+ }
126
+ }
127
+ else if (model.includes('o3')) {
128
+ max_tokens_limit = 100000;
129
+ }
130
+ else if (model.includes('o4') || model.includes('gpt-5')) {
131
+ max_tokens_limit = 128000;
132
+ }
133
+ const commonOptions = [
134
+ {
135
+ name: SharedOptions.max_tokens,
136
+ type: OptionType.numeric,
137
+ min: 1,
138
+ max: max_tokens_limit,
139
+ integer: true,
140
+ description: 'The maximum number of tokens to generate',
141
+ },
142
+ {
143
+ name: SharedOptions.stop_sequence,
144
+ type: OptionType.string_list,
145
+ value: [],
146
+ description: 'The stop sequence of the generated image',
147
+ },
148
+ ];
149
+ const reasoningOptions = isGpt5ProModel(model)
150
+ ? [
151
+ {
152
+ name: SharedOptions.effort,
153
+ type: OptionType.enum,
154
+ enum: { High: 'high' },
155
+ default: 'high',
156
+ description: 'GPT-5 Pro only supports high reasoning effort.',
157
+ },
158
+ ]
159
+ : model.includes('o3') || model.includes('o4') || model.includes('gpt-5') || isO1Full(model)
160
+ ? [
161
+ {
162
+ name: SharedOptions.effort,
163
+ type: OptionType.enum,
164
+ enum: { Low: 'low', Medium: 'medium', High: 'high' },
165
+ default: 'medium',
166
+ description: 'How much effort the model should put into reasoning, lower values result in faster responses and less tokens used.',
167
+ },
168
+ ]
169
+ : [];
170
+ return {
171
+ _option_id: 'openai-thinking',
172
+ options: [...commonOptions, ...reasoningOptions, ...visionOptions],
173
+ };
174
+ }
175
+ else {
176
+ let max_tokens_limit = 4096;
177
+ if (model.includes('gpt-4o')) {
178
+ max_tokens_limit = 16384;
179
+ if (model.includes('gpt-4o-2024-05-13') || model.includes('realtime')) {
180
+ max_tokens_limit = 4096;
181
+ }
182
+ }
183
+ else if (model.includes('gpt-4')) {
184
+ if (model.includes('turbo')) {
185
+ max_tokens_limit = 4096;
186
+ }
187
+ else {
188
+ max_tokens_limit = 8192;
189
+ }
190
+ }
191
+ else if (model.includes('gpt-3-5')) {
192
+ max_tokens_limit = 4096;
193
+ }
194
+ else if (model.includes('gpt-5')) {
195
+ max_tokens_limit = 128000;
196
+ }
197
+ //Is non-thinking text model
198
+ const commonOptions = [
199
+ {
200
+ name: SharedOptions.max_tokens,
201
+ type: OptionType.numeric,
202
+ min: 1,
203
+ max: max_tokens_limit,
204
+ integer: true,
205
+ step: 200,
206
+ description: 'The maximum number of tokens to generate',
207
+ },
208
+ {
209
+ name: 'temperature',
210
+ type: OptionType.numeric,
211
+ min: 0.0,
212
+ max: 2.0,
213
+ default: 0.7,
214
+ integer: false,
215
+ step: 0.1,
216
+ description: 'A higher temperature biases toward less likely tokens, making the model more creative',
217
+ },
218
+ {
219
+ name: 'top_p',
220
+ type: OptionType.numeric,
221
+ min: 0,
222
+ max: 1,
223
+ integer: false,
224
+ step: 0.1,
225
+ description: 'Limits token sampling to the cumulative probability of the top p tokens',
226
+ },
227
+ {
228
+ name: 'presence_penalty',
229
+ type: OptionType.numeric,
230
+ min: -2.0,
231
+ max: 2.0,
232
+ integer: false,
233
+ step: 0.1,
234
+ description: 'Penalise tokens if they appear at least once in the text',
235
+ },
236
+ {
237
+ name: 'frequency_penalty',
238
+ type: OptionType.numeric,
239
+ min: -2.0,
240
+ max: 2.0,
241
+ integer: false,
242
+ step: 0.1,
243
+ description: 'Penalise tokens based on their frequency in the text',
244
+ },
245
+ {
246
+ name: SharedOptions.stop_sequence,
247
+ type: OptionType.string_list,
248
+ value: [],
249
+ description: 'The generation will halt if one of the stop sequences is output',
250
+ },
251
+ ];
252
+ return {
253
+ _option_id: 'openai-text',
254
+ options: [...commonOptions, ...visionOptions],
255
+ };
256
+ }
257
+ }
258
+ function isO1Full(model) {
259
+ if (model.includes('o1')) {
260
+ if (model.includes('mini') || model.includes('preview')) {
261
+ return false;
262
+ }
263
+ return true;
264
+ }
265
+ return false;
266
+ }
267
+ function isReasoningModel(model) {
268
+ const normalized = model.toLowerCase();
269
+ return (normalized.includes('o1') ||
270
+ normalized.includes('o3') ||
271
+ normalized.includes('o4') ||
272
+ normalized.includes('gpt-5'));
273
+ }
274
+ function isGpt5ProModel(model) {
275
+ const modelName = model.toLowerCase().split('/').pop() ?? model.toLowerCase();
276
+ return /^gpt-5(?:\.\d+)?-pro/.test(modelName);
277
+ }
278
+ function isVisionModel(model) {
279
+ return model.includes('gpt-4o') || isO1Full(model) || model.includes('gpt-4-turbo');
280
+ }
281
+ function isImageModel(model) {
282
+ return model.includes('dall-e') || model.includes('gpt-image') || model.includes('chatgpt-image');
283
+ }
284
+ //# sourceMappingURL=openai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/options/openai.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * the per-provider files stay focused on provider-specific concerns (base options,
6
6
  * max-tokens limits for non-Claude models, etc.).
7
7
  */
8
- import { type ModelOptionInfoItem } from "../types.js";
8
+ import { type ModelOptionInfoItem } from '../types.js';
9
9
  /**
10
10
  * Canonical max output-tokens limit for Claude models, shared by all providers.
11
11
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-parsing.d.ts","sourceRoot":"","sources":["../../src/options/shared-parsing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,mBAAmB,EAAc,MAAM,aAAa,CAAC;AAQnE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI7D;AAMD,yDAAyD;AACzD,wBAAgB,uBAAuB,IAAI,mBAAmB,EAAE,CAU/D;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,mBAAmB,EAAE,CAWxF;AAMD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAY7E;AAMD;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAepF;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAUrF;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAE/E"}
@@ -5,9 +5,9 @@
5
5
  * the per-provider files stay focused on provider-specific concerns (base options,
6
6
  * max-tokens limits for non-Claude models, etc.).
7
7
  */
8
- import { OptionType } from "../types.js";
9
- import { getMaxOutputTokens } from "./context-windows.js";
10
- import { getAvailableEffortLevels, isClaudeVersionGTE, supportsAdaptiveThinking, } from "./version-parsing.js";
8
+ import { OptionType } from '../types.js';
9
+ import { getMaxOutputTokens } from './context-windows.js';
10
+ import { getAvailableEffortLevels, isClaudeVersionGTE, supportsAdaptiveThinking } from './version-parsing.js';
11
11
  // ============================================================================
12
12
  // Max tokens
13
13
  // ============================================================================
@@ -32,10 +32,10 @@ export function getClaudeMaxTokensLimit(model) {
32
32
  export function buildClaudeCacheOptions() {
33
33
  return [
34
34
  {
35
- name: "cache_enabled",
35
+ name: 'cache_enabled',
36
36
  type: OptionType.boolean,
37
37
  default: false,
38
- description: "Enable prompt caching. Injects cache breakpoints at the system prompt, tools, and conversation pivot.",
38
+ description: 'Enable prompt caching. Injects cache breakpoints at the system prompt, tools, and conversation pivot.',
39
39
  },
40
40
  ];
41
41
  }
@@ -48,10 +48,10 @@ export function buildClaudeCacheTtlOptions(cacheEnabled) {
48
48
  return [];
49
49
  return [
50
50
  {
51
- name: "cache_ttl",
51
+ name: 'cache_ttl',
52
52
  type: OptionType.enum,
53
- enum: { "5 minutes (default)": "5m", "1 hour": "1h" },
54
- default: "5m",
53
+ enum: { '5 minutes (default)': '5m', '1 hour': '1h' },
54
+ default: '5m',
55
55
  description: "TTL for cache breakpoints. '1h' requires extended caching to be enabled on your account.",
56
56
  },
57
57
  ];
@@ -69,10 +69,10 @@ export function buildClaudeEffortOptions(model) {
69
69
  return [];
70
70
  return [
71
71
  {
72
- name: "effort",
72
+ name: 'effort',
73
73
  type: OptionType.enum,
74
74
  enum: effortLevels,
75
- description: "Controls how many tokens Claude uses when responding. Lower effort trades thoroughness for speed and cost savings.",
75
+ description: 'Controls how many tokens Claude uses when responding. Lower effort trades thoroughness for speed and cost savings.',
76
76
  },
77
77
  ];
78
78
  }
@@ -94,12 +94,12 @@ export function buildClaudeThinkingBudgetOption(model) {
94
94
  return [];
95
95
  return [
96
96
  {
97
- name: "thinking_budget_tokens",
97
+ name: 'thinking_budget_tokens',
98
98
  type: OptionType.numeric,
99
99
  min: 1024,
100
100
  integer: true,
101
101
  step: 1024,
102
- description: "Token budget for extended thinking. Enables thinking when set.",
102
+ description: 'Token budget for extended thinking. Enables thinking when set.',
103
103
  },
104
104
  ];
105
105
  }
@@ -115,7 +115,7 @@ export function buildClaudeIncludeThoughtsOption(model) {
115
115
  return [];
116
116
  return [
117
117
  {
118
- name: "include_thoughts",
118
+ name: 'include_thoughts',
119
119
  type: OptionType.boolean,
120
120
  default: false,
121
121
  description: "Include the model's thinking content in the response.",
@@ -127,9 +127,6 @@ export function buildClaudeIncludeThoughtsOption(model) {
127
127
  * Kept for backwards compatibility — delegates to the two new helpers.
128
128
  */
129
129
  export function buildClaudeThinkingOptions(model) {
130
- return [
131
- ...buildClaudeThinkingBudgetOption(model),
132
- ...buildClaudeIncludeThoughtsOption(model),
133
- ];
130
+ return [...buildClaudeThinkingBudgetOption(model), ...buildClaudeIncludeThoughtsOption(model)];
134
131
  }
135
132
  //# sourceMappingURL=shared-parsing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-parsing.js","sourceRoot":"","sources":["../../src/options/shared-parsing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-parsing.d.ts","sourceRoot":"","sources":["../../src/options/version-parsing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACxC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAqB5E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAYzG;AAuBD;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAExE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAErE;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAErE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,+BAA+B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAiB5E;AAMD,iDAAiD;AACjD,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE5E;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAc3D;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,IAAI,CAqBtG;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIzE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAUhG;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAoBpF"}