@code-yeongyu/senpi 2026.7.9 → 2026.7.10

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 (207) hide show
  1. package/CHANGELOG.md +37 -1
  2. package/README.md +1 -1
  3. package/dist/cli/args.js +3 -3
  4. package/dist/cli/args.js.map +1 -1
  5. package/dist/cli/config-selector.d.ts +4 -2
  6. package/dist/cli/config-selector.d.ts.map +1 -1
  7. package/dist/cli/config-selector.js +1 -1
  8. package/dist/cli/config-selector.js.map +1 -1
  9. package/dist/core/agent-session.d.ts +18 -3
  10. package/dist/core/agent-session.d.ts.map +1 -1
  11. package/dist/core/agent-session.js +153 -36
  12. package/dist/core/agent-session.js.map +1 -1
  13. package/dist/core/cache-stats.d.ts +49 -0
  14. package/dist/core/cache-stats.d.ts.map +1 -0
  15. package/dist/core/cache-stats.js +101 -0
  16. package/dist/core/cache-stats.js.map +1 -0
  17. package/dist/core/compaction/compaction.d.ts +1 -2
  18. package/dist/core/compaction/compaction.d.ts.map +1 -1
  19. package/dist/core/compaction/compaction.js +54 -79
  20. package/dist/core/compaction/compaction.js.map +1 -1
  21. package/dist/core/extensions/builtin/goal/continuation.js +1 -1
  22. package/dist/core/extensions/builtin/goal/continuation.js.map +1 -1
  23. package/dist/core/extensions/builtin/goal/index.d.ts.map +1 -1
  24. package/dist/core/extensions/builtin/goal/index.js +1 -0
  25. package/dist/core/extensions/builtin/goal/index.js.map +1 -1
  26. package/dist/core/extensions/builtin/import-repro.d.ts.map +1 -1
  27. package/dist/core/extensions/builtin/import-repro.js +100 -6
  28. package/dist/core/extensions/builtin/import-repro.js.map +1 -1
  29. package/dist/core/extensions/builtin/mcp/connection.d.ts +1 -0
  30. package/dist/core/extensions/builtin/mcp/connection.d.ts.map +1 -1
  31. package/dist/core/extensions/builtin/mcp/connection.js +15 -0
  32. package/dist/core/extensions/builtin/mcp/connection.js.map +1 -1
  33. package/dist/core/extensions/builtin/mcp/service.d.ts.map +1 -1
  34. package/dist/core/extensions/builtin/mcp/service.js +3 -1
  35. package/dist/core/extensions/builtin/mcp/service.js.map +1 -1
  36. package/dist/core/extensions/index.d.ts +1 -1
  37. package/dist/core/extensions/index.d.ts.map +1 -1
  38. package/dist/core/extensions/index.js.map +1 -1
  39. package/dist/core/extensions/runner.d.ts +4 -3
  40. package/dist/core/extensions/runner.d.ts.map +1 -1
  41. package/dist/core/extensions/runner.js +30 -24
  42. package/dist/core/extensions/runner.js.map +1 -1
  43. package/dist/core/extensions/types.d.ts +23 -3
  44. package/dist/core/extensions/types.d.ts.map +1 -1
  45. package/dist/core/extensions/types.js.map +1 -1
  46. package/dist/core/model-registry.d.ts +3 -0
  47. package/dist/core/model-registry.d.ts.map +1 -1
  48. package/dist/core/model-registry.js +20 -3
  49. package/dist/core/model-registry.js.map +1 -1
  50. package/dist/core/package-manager.d.ts +4 -1
  51. package/dist/core/package-manager.d.ts.map +1 -1
  52. package/dist/core/package-manager.js +68 -26
  53. package/dist/core/package-manager.js.map +1 -1
  54. package/dist/core/resource-loader.d.ts +2 -2
  55. package/dist/core/resource-loader.d.ts.map +1 -1
  56. package/dist/core/resource-loader.js +6 -7
  57. package/dist/core/resource-loader.js.map +1 -1
  58. package/dist/core/sdk.d.ts +1 -1
  59. package/dist/core/sdk.d.ts.map +1 -1
  60. package/dist/core/sdk.js +9 -2
  61. package/dist/core/sdk.js.map +1 -1
  62. package/dist/core/session-manager.d.ts.map +1 -1
  63. package/dist/core/session-manager.js +11 -2
  64. package/dist/core/session-manager.js.map +1 -1
  65. package/dist/core/settings-manager.d.ts +5 -0
  66. package/dist/core/settings-manager.d.ts.map +1 -1
  67. package/dist/core/settings-manager.js +8 -0
  68. package/dist/core/settings-manager.js.map +1 -1
  69. package/dist/core/slash-commands.d.ts +1 -0
  70. package/dist/core/slash-commands.d.ts.map +1 -1
  71. package/dist/core/slash-commands.js +3 -3
  72. package/dist/core/slash-commands.js.map +1 -1
  73. package/dist/index.d.ts +1 -1
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js.map +1 -1
  76. package/dist/main.d.ts +2 -2
  77. package/dist/main.d.ts.map +1 -1
  78. package/dist/main.js +1 -0
  79. package/dist/main.js.map +1 -1
  80. package/dist/modes/interactive/components/config-selector.d.ts +34 -3
  81. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  82. package/dist/modes/interactive/components/config-selector.js +272 -24
  83. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  84. package/dist/modes/interactive/components/footer.d.ts +4 -0
  85. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  86. package/dist/modes/interactive/components/footer.js +5 -2
  87. package/dist/modes/interactive/components/footer.js.map +1 -1
  88. package/dist/modes/interactive/components/oauth-selector.d.ts +3 -1
  89. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  90. package/dist/modes/interactive/components/oauth-selector.js +16 -6
  91. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  92. package/dist/modes/interactive/components/settings-selector.d.ts +2 -0
  93. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  94. package/dist/modes/interactive/components/settings-selector.js +10 -0
  95. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  96. package/dist/modes/interactive/interactive-mode.d.ts +10 -0
  97. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  98. package/dist/modes/interactive/interactive-mode.js +261 -37
  99. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  100. package/dist/modes/print-mode.js +1 -1
  101. package/dist/modes/print-mode.js.map +1 -1
  102. package/dist/modes/rpc/rpc-client.d.ts +6 -6
  103. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  104. package/dist/modes/rpc/rpc-client.js +3 -3
  105. package/dist/modes/rpc/rpc-client.js.map +1 -1
  106. package/dist/package-manager-cli.d.ts +2 -2
  107. package/dist/package-manager-cli.d.ts.map +1 -1
  108. package/dist/package-manager-cli.js +64 -17
  109. package/dist/package-manager-cli.js.map +1 -1
  110. package/dist/utils/clipboard-image.js +1 -1
  111. package/dist/utils/clipboard-image.js.map +1 -1
  112. package/docs/extensions.md +33 -9
  113. package/docs/models.md +4 -4
  114. package/docs/packages.md +7 -10
  115. package/docs/rpc.md +13 -3
  116. package/docs/sdk.md +22 -0
  117. package/docs/settings.md +1 -0
  118. package/docs/usage.md +1 -1
  119. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  120. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  121. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  122. package/examples/extensions/gondolin/package-lock.json +2 -2
  123. package/examples/extensions/gondolin/package.json +1 -1
  124. package/examples/extensions/reload-runtime.ts +2 -2
  125. package/examples/extensions/sandbox/package-lock.json +2 -2
  126. package/examples/extensions/sandbox/package.json +1 -1
  127. package/examples/extensions/with-deps/package-lock.json +2 -2
  128. package/examples/extensions/with-deps/package.json +1 -1
  129. package/examples/sdk/README.md +1 -1
  130. package/node_modules/@code-yeongyu/senpi-codemode/package.json +3 -3
  131. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  132. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +37 -2
  133. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  134. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.d.ts.map +1 -1
  135. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.js +2 -0
  136. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.js.map +1 -1
  137. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts +1 -0
  138. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts.map +1 -1
  139. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js +7 -0
  140. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js.map +1 -1
  141. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts +18 -4
  142. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
  143. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js +72 -37
  144. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
  145. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts +2 -0
  146. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -1
  147. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js.map +1 -1
  148. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts +2 -0
  149. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts.map +1 -1
  150. package/node_modules/@earendil-works/pi-agent-core/dist/index.js +2 -0
  151. package/node_modules/@earendil-works/pi-agent-core/dist/index.js.map +1 -1
  152. package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
  153. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
  154. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +2 -1
  155. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
  156. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js +1 -1
  157. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js.map +1 -1
  158. package/node_modules/@earendil-works/pi-ai/dist/api/transform-messages.d.ts.map +1 -1
  159. package/node_modules/@earendil-works/pi-ai/dist/api/transform-messages.js +4 -1
  160. package/node_modules/@earendil-works/pi-ai/dist/api/transform-messages.js.map +1 -1
  161. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +446 -195
  162. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  163. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.d.ts +84 -0
  164. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.d.ts.map +1 -1
  165. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.js +72 -0
  166. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.js.map +1 -1
  167. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js +4 -4
  168. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js.map +1 -1
  169. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.d.ts +63 -0
  170. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.d.ts.map +1 -1
  171. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.js +54 -0
  172. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.js.map +1 -1
  173. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.d.ts +84 -0
  174. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.d.ts.map +1 -1
  175. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.js +72 -0
  176. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.js.map +1 -1
  177. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.d.ts +138 -63
  178. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.d.ts.map +1 -1
  179. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js +136 -76
  180. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js.map +1 -1
  181. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.d.ts +77 -0
  182. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -1
  183. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js +72 -1
  184. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js.map +1 -1
  185. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.d.ts +0 -44
  186. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +1 -1
  187. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.js +9 -45
  188. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.js.map +1 -1
  189. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.d.ts +0 -44
  190. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +1 -1
  191. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.js +9 -45
  192. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.js.map +1 -1
  193. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.d.ts +0 -44
  194. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +1 -1
  195. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.js +9 -45
  196. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.js.map +1 -1
  197. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts.map +1 -1
  198. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js +3 -0
  199. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js.map +1 -1
  200. package/node_modules/@earendil-works/pi-ai/package.json +1 -1
  201. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  202. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
  203. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +22 -1
  204. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  205. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  206. package/package.json +7 -8
  207. package/npm-shrinkwrap.json +0 -3479
@@ -1,26 +1,4 @@
1
1
  export declare const XIAOMI_TOKEN_PLAN_AMS_MODELS: {
2
- readonly "mimo-v2-omni": {
3
- id: string;
4
- name: string;
5
- api: "openai-completions";
6
- provider: string;
7
- baseUrl: string;
8
- compat: {
9
- requiresReasoningContentOnAssistantMessages: true;
10
- thinkingFormat: "deepseek";
11
- supportsDisabledThinking: false;
12
- };
13
- reasoning: true;
14
- input: ("image" | "text")[];
15
- cost: {
16
- input: number;
17
- output: number;
18
- cacheRead: number;
19
- cacheWrite: number;
20
- };
21
- contextWindow: number;
22
- maxTokens: number;
23
- };
24
2
  readonly "mimo-v2-pro": {
25
3
  id: string;
26
4
  name: string;
@@ -87,27 +65,5 @@ export declare const XIAOMI_TOKEN_PLAN_AMS_MODELS: {
87
65
  contextWindow: number;
88
66
  maxTokens: number;
89
67
  };
90
- readonly "mimo-v2.5-pro-ultraspeed": {
91
- id: string;
92
- name: string;
93
- api: "openai-completions";
94
- provider: string;
95
- baseUrl: string;
96
- compat: {
97
- requiresReasoningContentOnAssistantMessages: true;
98
- thinkingFormat: "deepseek";
99
- supportsDisabledThinking: false;
100
- };
101
- reasoning: true;
102
- input: "text"[];
103
- cost: {
104
- input: number;
105
- output: number;
106
- cacheRead: number;
107
- cacheWrite: number;
108
- };
109
- contextWindow: number;
110
- maxTokens: number;
111
- };
112
68
  };
113
69
  //# sourceMappingURL=xiaomi-token-plan-ams.models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xiaomi-token-plan-ams.models.d.ts","sourceRoot":"","sources":["../../src/providers/xiaomi-token-plan-ams.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;YAWtC,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;CAKH,CAAC"}
1
+ {"version":3,"file":"xiaomi-token-plan-ams.models.d.ts","sourceRoot":"","sources":["../../src/providers/xiaomi-token-plan-ams.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;YAWtC,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;CAKH,CAAC"}
@@ -1,24 +1,6 @@
1
1
  // This file is auto-generated by scripts/generate-models.ts
2
2
  // Do not edit manually - run 'npm run generate-models' to update
3
3
  export const XIAOMI_TOKEN_PLAN_AMS_MODELS = {
4
- "mimo-v2-omni": {
5
- id: "mimo-v2-omni",
6
- name: "MiMo-V2-Omni",
7
- api: "openai-completions",
8
- provider: "xiaomi-token-plan-ams",
9
- baseUrl: "https://token-plan-ams.xiaomimimo.com/v1",
10
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek", "supportsDisabledThinking": false },
11
- reasoning: true,
12
- input: ["text", "image"],
13
- cost: {
14
- input: 0.14,
15
- output: 0.28,
16
- cacheRead: 0.0028,
17
- cacheWrite: 0,
18
- },
19
- contextWindow: 262144,
20
- maxTokens: 131072,
21
- },
22
4
  "mimo-v2-pro": {
23
5
  id: "mimo-v2-pro",
24
6
  name: "MiMo-V2-Pro",
@@ -29,9 +11,9 @@ export const XIAOMI_TOKEN_PLAN_AMS_MODELS = {
29
11
  reasoning: true,
30
12
  input: ["text"],
31
13
  cost: {
32
- input: 0.435,
33
- output: 0.87,
34
- cacheRead: 0.0036,
14
+ input: 0,
15
+ output: 0,
16
+ cacheRead: 0,
35
17
  cacheWrite: 0,
36
18
  },
37
19
  contextWindow: 1048576,
@@ -47,9 +29,9 @@ export const XIAOMI_TOKEN_PLAN_AMS_MODELS = {
47
29
  reasoning: true,
48
30
  input: ["text", "image"],
49
31
  cost: {
50
- input: 0.14,
51
- output: 0.28,
52
- cacheRead: 0.0028,
32
+ input: 0,
33
+ output: 0,
34
+ cacheRead: 0,
53
35
  cacheWrite: 0,
54
36
  },
55
37
  contextWindow: 1048576,
@@ -65,27 +47,9 @@ export const XIAOMI_TOKEN_PLAN_AMS_MODELS = {
65
47
  reasoning: true,
66
48
  input: ["text"],
67
49
  cost: {
68
- input: 0.435,
69
- output: 0.87,
70
- cacheRead: 0.0036,
71
- cacheWrite: 0,
72
- },
73
- contextWindow: 1048576,
74
- maxTokens: 131072,
75
- },
76
- "mimo-v2.5-pro-ultraspeed": {
77
- id: "mimo-v2.5-pro-ultraspeed",
78
- name: "MiMo-V2.5-Pro-UltraSpeed",
79
- api: "openai-completions",
80
- provider: "xiaomi-token-plan-ams",
81
- baseUrl: "https://token-plan-ams.xiaomimimo.com/v1",
82
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek", "supportsDisabledThinking": false },
83
- reasoning: true,
84
- input: ["text"],
85
- cost: {
86
- input: 1.305,
87
- output: 2.61,
88
- cacheRead: 0.0108,
50
+ input: 0,
51
+ output: 0,
52
+ cacheRead: 0,
89
53
  cacheWrite: 0,
90
54
  },
91
55
  contextWindow: 1048576,
@@ -1 +1 @@
1
- {"version":3,"file":"xiaomi-token-plan-ams.models.js","sourceRoot":"","sources":["../../src/providers/xiaomi-token-plan-ams.models.ts"],"names":[],"mappings":"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","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../types.ts\";\n\nexport const XIAOMI_TOKEN_PLAN_AMS_MODELS = {\n\t\"mimo-v2-omni\": {\n\t\tid: \"mimo-v2-omni\",\n\t\tname: \"MiMo-V2-Omni\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-ams\",\n\t\tbaseUrl: \"https://token-plan-ams.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.14,\n\t\t\toutput: 0.28,\n\t\t\tcacheRead: 0.0028,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2-pro\": {\n\t\tid: \"mimo-v2-pro\",\n\t\tname: \"MiMo-V2-Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-ams\",\n\t\tbaseUrl: \"https://token-plan-ams.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.435,\n\t\t\toutput: 0.87,\n\t\t\tcacheRead: 0.0036,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5\": {\n\t\tid: \"mimo-v2.5\",\n\t\tname: \"MiMo-V2.5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-ams\",\n\t\tbaseUrl: \"https://token-plan-ams.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.14,\n\t\t\toutput: 0.28,\n\t\t\tcacheRead: 0.0028,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5-pro\": {\n\t\tid: \"mimo-v2.5-pro\",\n\t\tname: \"MiMo-V2.5-Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-ams\",\n\t\tbaseUrl: \"https://token-plan-ams.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.435,\n\t\t\toutput: 0.87,\n\t\t\tcacheRead: 0.0036,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5-pro-ultraspeed\": {\n\t\tid: \"mimo-v2.5-pro-ultraspeed\",\n\t\tname: \"MiMo-V2.5-Pro-UltraSpeed\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-ams\",\n\t\tbaseUrl: \"https://token-plan-ams.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1.305,\n\t\t\toutput: 2.61,\n\t\t\tcacheRead: 0.0108,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n} as const;\n"]}
1
+ {"version":3,"file":"xiaomi-token-plan-ams.models.js","sourceRoot":"","sources":["../../src/providers/xiaomi-token-plan-ams.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAIjE,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC3C,aAAa,EAAE;QACd,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,uBAAuB;QACjC,OAAO,EAAE,0CAA0C;QACnD,MAAM,EAAE,EAAC,6CAA6C,EAAC,IAAI,EAAC,gBAAgB,EAAC,UAAU,EAAC,0BAA0B,EAAC,KAAK,EAAC;QACzH,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,OAAO;QACtB,SAAS,EAAE,MAAM;KACqB;IACvC,WAAW,EAAE;QACZ,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,uBAAuB;QACjC,OAAO,EAAE,0CAA0C;QACnD,MAAM,EAAE,EAAC,6CAA6C,EAAC,IAAI,EAAC,gBAAgB,EAAC,UAAU,EAAC,0BAA0B,EAAC,KAAK,EAAC;QACzH,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,OAAO;QACtB,SAAS,EAAE,MAAM;KACqB;IACvC,eAAe,EAAE;QAChB,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,uBAAuB;QACjC,OAAO,EAAE,0CAA0C;QACnD,MAAM,EAAE,EAAC,6CAA6C,EAAC,IAAI,EAAC,gBAAgB,EAAC,UAAU,EAAC,0BAA0B,EAAC,KAAK,EAAC;QACzH,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,OAAO;QACtB,SAAS,EAAE,MAAM;KACqB;CAC9B,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../types.ts\";\n\nexport const XIAOMI_TOKEN_PLAN_AMS_MODELS = {\n\t\"mimo-v2-pro\": {\n\t\tid: \"mimo-v2-pro\",\n\t\tname: \"MiMo-V2-Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-ams\",\n\t\tbaseUrl: \"https://token-plan-ams.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5\": {\n\t\tid: \"mimo-v2.5\",\n\t\tname: \"MiMo-V2.5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-ams\",\n\t\tbaseUrl: \"https://token-plan-ams.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5-pro\": {\n\t\tid: \"mimo-v2.5-pro\",\n\t\tname: \"MiMo-V2.5-Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-ams\",\n\t\tbaseUrl: \"https://token-plan-ams.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n} as const;\n"]}
@@ -1,26 +1,4 @@
1
1
  export declare const XIAOMI_TOKEN_PLAN_CN_MODELS: {
2
- readonly "mimo-v2-omni": {
3
- id: string;
4
- name: string;
5
- api: "openai-completions";
6
- provider: string;
7
- baseUrl: string;
8
- compat: {
9
- requiresReasoningContentOnAssistantMessages: true;
10
- thinkingFormat: "deepseek";
11
- supportsDisabledThinking: false;
12
- };
13
- reasoning: true;
14
- input: ("image" | "text")[];
15
- cost: {
16
- input: number;
17
- output: number;
18
- cacheRead: number;
19
- cacheWrite: number;
20
- };
21
- contextWindow: number;
22
- maxTokens: number;
23
- };
24
2
  readonly "mimo-v2-pro": {
25
3
  id: string;
26
4
  name: string;
@@ -87,27 +65,5 @@ export declare const XIAOMI_TOKEN_PLAN_CN_MODELS: {
87
65
  contextWindow: number;
88
66
  maxTokens: number;
89
67
  };
90
- readonly "mimo-v2.5-pro-ultraspeed": {
91
- id: string;
92
- name: string;
93
- api: "openai-completions";
94
- provider: string;
95
- baseUrl: string;
96
- compat: {
97
- requiresReasoningContentOnAssistantMessages: true;
98
- thinkingFormat: "deepseek";
99
- supportsDisabledThinking: false;
100
- };
101
- reasoning: true;
102
- input: "text"[];
103
- cost: {
104
- input: number;
105
- output: number;
106
- cacheRead: number;
107
- cacheWrite: number;
108
- };
109
- contextWindow: number;
110
- maxTokens: number;
111
- };
112
68
  };
113
69
  //# sourceMappingURL=xiaomi-token-plan-cn.models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xiaomi-token-plan-cn.models.d.ts","sourceRoot":"","sources":["../../src/providers/xiaomi-token-plan-cn.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;YAWrC,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;CAKH,CAAC"}
1
+ {"version":3,"file":"xiaomi-token-plan-cn.models.d.ts","sourceRoot":"","sources":["../../src/providers/xiaomi-token-plan-cn.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;YAWrC,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;CAKH,CAAC"}
@@ -1,24 +1,6 @@
1
1
  // This file is auto-generated by scripts/generate-models.ts
2
2
  // Do not edit manually - run 'npm run generate-models' to update
3
3
  export const XIAOMI_TOKEN_PLAN_CN_MODELS = {
4
- "mimo-v2-omni": {
5
- id: "mimo-v2-omni",
6
- name: "MiMo-V2-Omni",
7
- api: "openai-completions",
8
- provider: "xiaomi-token-plan-cn",
9
- baseUrl: "https://token-plan-cn.xiaomimimo.com/v1",
10
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek", "supportsDisabledThinking": false },
11
- reasoning: true,
12
- input: ["text", "image"],
13
- cost: {
14
- input: 0.14,
15
- output: 0.28,
16
- cacheRead: 0.0028,
17
- cacheWrite: 0,
18
- },
19
- contextWindow: 262144,
20
- maxTokens: 131072,
21
- },
22
4
  "mimo-v2-pro": {
23
5
  id: "mimo-v2-pro",
24
6
  name: "MiMo-V2-Pro",
@@ -29,9 +11,9 @@ export const XIAOMI_TOKEN_PLAN_CN_MODELS = {
29
11
  reasoning: true,
30
12
  input: ["text"],
31
13
  cost: {
32
- input: 0.435,
33
- output: 0.87,
34
- cacheRead: 0.0036,
14
+ input: 0,
15
+ output: 0,
16
+ cacheRead: 0,
35
17
  cacheWrite: 0,
36
18
  },
37
19
  contextWindow: 1048576,
@@ -47,9 +29,9 @@ export const XIAOMI_TOKEN_PLAN_CN_MODELS = {
47
29
  reasoning: true,
48
30
  input: ["text", "image"],
49
31
  cost: {
50
- input: 0.14,
51
- output: 0.28,
52
- cacheRead: 0.0028,
32
+ input: 0,
33
+ output: 0,
34
+ cacheRead: 0,
53
35
  cacheWrite: 0,
54
36
  },
55
37
  contextWindow: 1048576,
@@ -65,27 +47,9 @@ export const XIAOMI_TOKEN_PLAN_CN_MODELS = {
65
47
  reasoning: true,
66
48
  input: ["text"],
67
49
  cost: {
68
- input: 0.435,
69
- output: 0.87,
70
- cacheRead: 0.0036,
71
- cacheWrite: 0,
72
- },
73
- contextWindow: 1048576,
74
- maxTokens: 131072,
75
- },
76
- "mimo-v2.5-pro-ultraspeed": {
77
- id: "mimo-v2.5-pro-ultraspeed",
78
- name: "MiMo-V2.5-Pro-UltraSpeed",
79
- api: "openai-completions",
80
- provider: "xiaomi-token-plan-cn",
81
- baseUrl: "https://token-plan-cn.xiaomimimo.com/v1",
82
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek", "supportsDisabledThinking": false },
83
- reasoning: true,
84
- input: ["text"],
85
- cost: {
86
- input: 1.305,
87
- output: 2.61,
88
- cacheRead: 0.0108,
50
+ input: 0,
51
+ output: 0,
52
+ cacheRead: 0,
89
53
  cacheWrite: 0,
90
54
  },
91
55
  contextWindow: 1048576,
@@ -1 +1 @@
1
- {"version":3,"file":"xiaomi-token-plan-cn.models.js","sourceRoot":"","sources":["../../src/providers/xiaomi-token-plan-cn.models.ts"],"names":[],"mappings":"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","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../types.ts\";\n\nexport const XIAOMI_TOKEN_PLAN_CN_MODELS = {\n\t\"mimo-v2-omni\": {\n\t\tid: \"mimo-v2-omni\",\n\t\tname: \"MiMo-V2-Omni\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-cn\",\n\t\tbaseUrl: \"https://token-plan-cn.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.14,\n\t\t\toutput: 0.28,\n\t\t\tcacheRead: 0.0028,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2-pro\": {\n\t\tid: \"mimo-v2-pro\",\n\t\tname: \"MiMo-V2-Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-cn\",\n\t\tbaseUrl: \"https://token-plan-cn.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.435,\n\t\t\toutput: 0.87,\n\t\t\tcacheRead: 0.0036,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5\": {\n\t\tid: \"mimo-v2.5\",\n\t\tname: \"MiMo-V2.5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-cn\",\n\t\tbaseUrl: \"https://token-plan-cn.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.14,\n\t\t\toutput: 0.28,\n\t\t\tcacheRead: 0.0028,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5-pro\": {\n\t\tid: \"mimo-v2.5-pro\",\n\t\tname: \"MiMo-V2.5-Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-cn\",\n\t\tbaseUrl: \"https://token-plan-cn.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.435,\n\t\t\toutput: 0.87,\n\t\t\tcacheRead: 0.0036,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5-pro-ultraspeed\": {\n\t\tid: \"mimo-v2.5-pro-ultraspeed\",\n\t\tname: \"MiMo-V2.5-Pro-UltraSpeed\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-cn\",\n\t\tbaseUrl: \"https://token-plan-cn.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1.305,\n\t\t\toutput: 2.61,\n\t\t\tcacheRead: 0.0108,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n} as const;\n"]}
1
+ {"version":3,"file":"xiaomi-token-plan-cn.models.js","sourceRoot":"","sources":["../../src/providers/xiaomi-token-plan-cn.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAIjE,MAAM,CAAC,MAAM,2BAA2B,GAAG;IAC1C,aAAa,EAAE;QACd,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,yCAAyC;QAClD,MAAM,EAAE,EAAC,6CAA6C,EAAC,IAAI,EAAC,gBAAgB,EAAC,UAAU,EAAC,0BAA0B,EAAC,KAAK,EAAC;QACzH,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,OAAO;QACtB,SAAS,EAAE,MAAM;KACqB;IACvC,WAAW,EAAE;QACZ,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,yCAAyC;QAClD,MAAM,EAAE,EAAC,6CAA6C,EAAC,IAAI,EAAC,gBAAgB,EAAC,UAAU,EAAC,0BAA0B,EAAC,KAAK,EAAC;QACzH,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,OAAO;QACtB,SAAS,EAAE,MAAM;KACqB;IACvC,eAAe,EAAE;QAChB,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,yCAAyC;QAClD,MAAM,EAAE,EAAC,6CAA6C,EAAC,IAAI,EAAC,gBAAgB,EAAC,UAAU,EAAC,0BAA0B,EAAC,KAAK,EAAC;QACzH,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,OAAO;QACtB,SAAS,EAAE,MAAM;KACqB;CAC9B,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../types.ts\";\n\nexport const XIAOMI_TOKEN_PLAN_CN_MODELS = {\n\t\"mimo-v2-pro\": {\n\t\tid: \"mimo-v2-pro\",\n\t\tname: \"MiMo-V2-Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-cn\",\n\t\tbaseUrl: \"https://token-plan-cn.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5\": {\n\t\tid: \"mimo-v2.5\",\n\t\tname: \"MiMo-V2.5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-cn\",\n\t\tbaseUrl: \"https://token-plan-cn.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5-pro\": {\n\t\tid: \"mimo-v2.5-pro\",\n\t\tname: \"MiMo-V2.5-Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-cn\",\n\t\tbaseUrl: \"https://token-plan-cn.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n} as const;\n"]}
@@ -1,26 +1,4 @@
1
1
  export declare const XIAOMI_TOKEN_PLAN_SGP_MODELS: {
2
- readonly "mimo-v2-omni": {
3
- id: string;
4
- name: string;
5
- api: "openai-completions";
6
- provider: string;
7
- baseUrl: string;
8
- compat: {
9
- requiresReasoningContentOnAssistantMessages: true;
10
- thinkingFormat: "deepseek";
11
- supportsDisabledThinking: false;
12
- };
13
- reasoning: true;
14
- input: ("image" | "text")[];
15
- cost: {
16
- input: number;
17
- output: number;
18
- cacheRead: number;
19
- cacheWrite: number;
20
- };
21
- contextWindow: number;
22
- maxTokens: number;
23
- };
24
2
  readonly "mimo-v2-pro": {
25
3
  id: string;
26
4
  name: string;
@@ -87,27 +65,5 @@ export declare const XIAOMI_TOKEN_PLAN_SGP_MODELS: {
87
65
  contextWindow: number;
88
66
  maxTokens: number;
89
67
  };
90
- readonly "mimo-v2.5-pro-ultraspeed": {
91
- id: string;
92
- name: string;
93
- api: "openai-completions";
94
- provider: string;
95
- baseUrl: string;
96
- compat: {
97
- requiresReasoningContentOnAssistantMessages: true;
98
- thinkingFormat: "deepseek";
99
- supportsDisabledThinking: false;
100
- };
101
- reasoning: true;
102
- input: "text"[];
103
- cost: {
104
- input: number;
105
- output: number;
106
- cacheRead: number;
107
- cacheWrite: number;
108
- };
109
- contextWindow: number;
110
- maxTokens: number;
111
- };
112
68
  };
113
69
  //# sourceMappingURL=xiaomi-token-plan-sgp.models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xiaomi-token-plan-sgp.models.d.ts","sourceRoot":"","sources":["../../src/providers/xiaomi-token-plan-sgp.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;YAWtC,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;CAKH,CAAC"}
1
+ {"version":3,"file":"xiaomi-token-plan-sgp.models.d.ts","sourceRoot":"","sources":["../../src/providers/xiaomi-token-plan-sgp.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;YAWtC,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;CAKH,CAAC"}
@@ -1,24 +1,6 @@
1
1
  // This file is auto-generated by scripts/generate-models.ts
2
2
  // Do not edit manually - run 'npm run generate-models' to update
3
3
  export const XIAOMI_TOKEN_PLAN_SGP_MODELS = {
4
- "mimo-v2-omni": {
5
- id: "mimo-v2-omni",
6
- name: "MiMo-V2-Omni",
7
- api: "openai-completions",
8
- provider: "xiaomi-token-plan-sgp",
9
- baseUrl: "https://token-plan-sgp.xiaomimimo.com/v1",
10
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek", "supportsDisabledThinking": false },
11
- reasoning: true,
12
- input: ["text", "image"],
13
- cost: {
14
- input: 0.14,
15
- output: 0.28,
16
- cacheRead: 0.0028,
17
- cacheWrite: 0,
18
- },
19
- contextWindow: 262144,
20
- maxTokens: 131072,
21
- },
22
4
  "mimo-v2-pro": {
23
5
  id: "mimo-v2-pro",
24
6
  name: "MiMo-V2-Pro",
@@ -29,9 +11,9 @@ export const XIAOMI_TOKEN_PLAN_SGP_MODELS = {
29
11
  reasoning: true,
30
12
  input: ["text"],
31
13
  cost: {
32
- input: 0.435,
33
- output: 0.87,
34
- cacheRead: 0.0036,
14
+ input: 0,
15
+ output: 0,
16
+ cacheRead: 0,
35
17
  cacheWrite: 0,
36
18
  },
37
19
  contextWindow: 1048576,
@@ -47,9 +29,9 @@ export const XIAOMI_TOKEN_PLAN_SGP_MODELS = {
47
29
  reasoning: true,
48
30
  input: ["text", "image"],
49
31
  cost: {
50
- input: 0.14,
51
- output: 0.28,
52
- cacheRead: 0.0028,
32
+ input: 0,
33
+ output: 0,
34
+ cacheRead: 0,
53
35
  cacheWrite: 0,
54
36
  },
55
37
  contextWindow: 1048576,
@@ -65,27 +47,9 @@ export const XIAOMI_TOKEN_PLAN_SGP_MODELS = {
65
47
  reasoning: true,
66
48
  input: ["text"],
67
49
  cost: {
68
- input: 0.435,
69
- output: 0.87,
70
- cacheRead: 0.0036,
71
- cacheWrite: 0,
72
- },
73
- contextWindow: 1048576,
74
- maxTokens: 131072,
75
- },
76
- "mimo-v2.5-pro-ultraspeed": {
77
- id: "mimo-v2.5-pro-ultraspeed",
78
- name: "MiMo-V2.5-Pro-UltraSpeed",
79
- api: "openai-completions",
80
- provider: "xiaomi-token-plan-sgp",
81
- baseUrl: "https://token-plan-sgp.xiaomimimo.com/v1",
82
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek", "supportsDisabledThinking": false },
83
- reasoning: true,
84
- input: ["text"],
85
- cost: {
86
- input: 1.305,
87
- output: 2.61,
88
- cacheRead: 0.0108,
50
+ input: 0,
51
+ output: 0,
52
+ cacheRead: 0,
89
53
  cacheWrite: 0,
90
54
  },
91
55
  contextWindow: 1048576,
@@ -1 +1 @@
1
- {"version":3,"file":"xiaomi-token-plan-sgp.models.js","sourceRoot":"","sources":["../../src/providers/xiaomi-token-plan-sgp.models.ts"],"names":[],"mappings":"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","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../types.ts\";\n\nexport const XIAOMI_TOKEN_PLAN_SGP_MODELS = {\n\t\"mimo-v2-omni\": {\n\t\tid: \"mimo-v2-omni\",\n\t\tname: \"MiMo-V2-Omni\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-sgp\",\n\t\tbaseUrl: \"https://token-plan-sgp.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.14,\n\t\t\toutput: 0.28,\n\t\t\tcacheRead: 0.0028,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2-pro\": {\n\t\tid: \"mimo-v2-pro\",\n\t\tname: \"MiMo-V2-Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-sgp\",\n\t\tbaseUrl: \"https://token-plan-sgp.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.435,\n\t\t\toutput: 0.87,\n\t\t\tcacheRead: 0.0036,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5\": {\n\t\tid: \"mimo-v2.5\",\n\t\tname: \"MiMo-V2.5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-sgp\",\n\t\tbaseUrl: \"https://token-plan-sgp.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.14,\n\t\t\toutput: 0.28,\n\t\t\tcacheRead: 0.0028,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5-pro\": {\n\t\tid: \"mimo-v2.5-pro\",\n\t\tname: \"MiMo-V2.5-Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-sgp\",\n\t\tbaseUrl: \"https://token-plan-sgp.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.435,\n\t\t\toutput: 0.87,\n\t\t\tcacheRead: 0.0036,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5-pro-ultraspeed\": {\n\t\tid: \"mimo-v2.5-pro-ultraspeed\",\n\t\tname: \"MiMo-V2.5-Pro-UltraSpeed\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-sgp\",\n\t\tbaseUrl: \"https://token-plan-sgp.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1.305,\n\t\t\toutput: 2.61,\n\t\t\tcacheRead: 0.0108,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n} as const;\n"]}
1
+ {"version":3,"file":"xiaomi-token-plan-sgp.models.js","sourceRoot":"","sources":["../../src/providers/xiaomi-token-plan-sgp.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAIjE,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC3C,aAAa,EAAE;QACd,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,uBAAuB;QACjC,OAAO,EAAE,0CAA0C;QACnD,MAAM,EAAE,EAAC,6CAA6C,EAAC,IAAI,EAAC,gBAAgB,EAAC,UAAU,EAAC,0BAA0B,EAAC,KAAK,EAAC;QACzH,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,OAAO;QACtB,SAAS,EAAE,MAAM;KACqB;IACvC,WAAW,EAAE;QACZ,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,uBAAuB;QACjC,OAAO,EAAE,0CAA0C;QACnD,MAAM,EAAE,EAAC,6CAA6C,EAAC,IAAI,EAAC,gBAAgB,EAAC,UAAU,EAAC,0BAA0B,EAAC,KAAK,EAAC;QACzH,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,OAAO;QACtB,SAAS,EAAE,MAAM;KACqB;IACvC,eAAe,EAAE;QAChB,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,uBAAuB;QACjC,OAAO,EAAE,0CAA0C;QACnD,MAAM,EAAE,EAAC,6CAA6C,EAAC,IAAI,EAAC,gBAAgB,EAAC,UAAU,EAAC,0BAA0B,EAAC,KAAK,EAAC;QACzH,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,OAAO;QACtB,SAAS,EAAE,MAAM;KACqB;CAC9B,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../types.ts\";\n\nexport const XIAOMI_TOKEN_PLAN_SGP_MODELS = {\n\t\"mimo-v2-pro\": {\n\t\tid: \"mimo-v2-pro\",\n\t\tname: \"MiMo-V2-Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-sgp\",\n\t\tbaseUrl: \"https://token-plan-sgp.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5\": {\n\t\tid: \"mimo-v2.5\",\n\t\tname: \"MiMo-V2.5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-sgp\",\n\t\tbaseUrl: \"https://token-plan-sgp.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"mimo-v2.5-pro\": {\n\t\tid: \"mimo-v2.5-pro\",\n\t\tname: \"MiMo-V2.5-Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"xiaomi-token-plan-sgp\",\n\t\tbaseUrl: \"https://token-plan-sgp.xiaomimimo.com/v1\",\n\t\tcompat: {\"requiresReasoningContentOnAssistantMessages\":true,\"thinkingFormat\":\"deepseek\",\"supportsDisabledThinking\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n} as const;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAkFpD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAK5E"}
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAsFpD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAK5E"}
@@ -46,6 +46,7 @@ const RETRYABLE_PROVIDER_ERROR_PATTERN = buildProviderErrorPattern([
46
46
  "upstream.?connect",
47
47
  "reset before headers",
48
48
  "socket hang up",
49
+ "socket connection was closed",
49
50
  "timed? out",
50
51
  "timeout",
51
52
  "terminated",
@@ -66,6 +67,8 @@ const RETRYABLE_PROVIDER_ERROR_PATTERN = buildProviderErrorPattern([
66
67
  "you can retry your request",
67
68
  "try your request again",
68
69
  "please retry your request",
70
+ // gRPC based providers (e.g. NVIDIA NIM)
71
+ "ResourceExhausted",
69
72
  ]);
70
73
  /**
71
74
  * Classifies whether a failed assistant message looks like a transient provider
@@ -1 +1 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"AAEA,SAAS,yBAAyB,CAAC,QAA2B;IAC7D,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,0CAA0C,GAAG,yBAAyB,CAAC;IAC5E,8EAA8E;IAC9E,2EAA2E;IAC3E,mBAAmB;IACnB,qBAAqB;IAErB,6EAA6E;IAC7E,yDAAyD;IACzD,6BAA6B;IAC7B,mBAAmB;IAEnB,4EAA4E;IAC5E,4EAA4E;IAC5E,oBAAoB;IACpB,eAAe;IACf,gBAAgB;IAChB,SAAS;CACT,CAAC,CAAC;AAEH,MAAM,gCAAgC,GAAG,yBAAyB,CAAC;IAClE,0EAA0E;IAC1E,YAAY;IACZ,aAAa;IACb,mBAAmB;IACnB,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,sBAAsB;IACtB,eAAe;IACf,iBAAiB;IAEjB,8EAA8E;IAC9E,+CAA+C;IAC/C,2BAA2B;IAE3B,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,gBAAgB;IAChB,mBAAmB;IACnB,qBAAqB;IACrB,kBAAkB;IAClB,mBAAmB;IACnB,cAAc;IACd,mBAAmB;IACnB,sBAAsB;IACtB,gBAAgB;IAChB,YAAY;IACZ,SAAS;IACT,YAAY;IAEZ,+EAA+E;IAC/E,mBAAmB;IACnB,kBAAkB;IAElB,yEAAyE;IACzE,8EAA8E;IAC9E,yEAAyE;IACzE,eAAe;IACf,kCAAkC;IAClC,sCAAsC;IAEtC,4EAA4E;IAC5E,iEAAiE;IACjE,aAAa;IAEb,6EAA6E;IAC7E,6BAA6B;IAC7B,4BAA4B;IAC5B,wBAAwB;IACxB,2BAA2B;CAC3B,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAyB;IAClE,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IAC1E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1C,IAAI,0CAA0C,CAAC,IAAI,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IAChF,OAAO,gCAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5D,CAAC","sourcesContent":["import type { AssistantMessage } from \"../types.ts\";\n\nfunction buildProviderErrorPattern(patterns: readonly string[]): RegExp {\n\treturn new RegExp(patterns.join(\"|\"), \"i\");\n}\n\nconst NON_RETRYABLE_PROVIDER_LIMIT_ERROR_PATTERN = buildProviderErrorPattern([\n\t// OpenCode Go/free-tier limits returned as 429 JSON error types by OpenCode's\n\t// Zen API. These are subscription/account limits, not transient throttles.\n\t\"GoUsageLimitError\",\n\t\"FreeUsageLimitError\",\n\n\t// OpenCode Go subscription-limit text asks users to enable available-balance\n\t// usage after rolling/weekly/monthly limits are reached.\n\t\"Monthly usage limit reached\",\n\t\"available balance\",\n\n\t// Generic quota/budget/billing exhaustion. `insufficient_quota` is OpenAI's\n\t// quota/billing error code; the other strings cover common gateway wording.\n\t\"insufficient_quota\",\n\t\"out of budget\",\n\t\"quota exceeded\",\n\t\"billing\",\n]);\n\nconst RETRYABLE_PROVIDER_ERROR_PATTERN = buildProviderErrorPattern([\n\t// Generic provider load, HTTP status, and server-side transient failures.\n\t\"overloaded\",\n\t\"rate.?limit\",\n\t\"too many requests\",\n\t\"429\",\n\t\"500\",\n\t\"502\",\n\t\"503\",\n\t\"504\",\n\t\"524\",\n\t\"service.?unavailable\",\n\t\"server.?error\",\n\t\"internal.?error\",\n\n\t// Wrapper/provider text for transient upstream failures, including OpenRouter\n\t// \"Provider returned error\" responses (#2264).\n\t\"provider.?returned.?error\",\n\n\t// Network, proxy, and fetch transport failures. This includes OpenAI Codex\n\t// raw-fetch failures such as \"upstream connect\", \"connection refused\", and\n\t// \"reset before headers\" (#733), plus OpenRouter connection drops (#3317).\n\t\"network.?error\",\n\t\"connection.?error\",\n\t\"connection.?refused\",\n\t\"connection.?lost\",\n\t\"other side closed\",\n\t\"fetch failed\",\n\t\"upstream.?connect\",\n\t\"reset before headers\",\n\t\"socket hang up\",\n\t\"timed? out\",\n\t\"timeout\",\n\t\"terminated\",\n\n\t// WebSocket transports can report close/error text instead of HTTP/fetch text.\n\t\"websocket.?closed\",\n\t\"websocket.?error\",\n\n\t// Premature stream endings from SDKs and transports. Anthropic can throw\n\t// \"stream ended without ...\" and \"Anthropic stream ended before message_stop\"\n\t// (#4433); Bedrock/Smithy can throw an HTTP/2 no-response error (#3594).\n\t\"ended without\",\n\t\"stream ended before message_stop\",\n\t\"http2 request did not get a response\",\n\n\t// Provider-requested retry delay cap failures should flow through the outer\n\t// retry policy so callers can surface/abort the backoff (#1123).\n\t\"retry delay\",\n\n\t// Explicit retry guidance emitted mid-stream by OpenAI Responses and Bedrock\n\t// stream exceptions (#6019).\n\t\"you can retry your request\",\n\t\"try your request again\",\n\t\"please retry your request\",\n]);\n\n/**\n * Classifies whether a failed assistant message looks like a transient provider\n * or transport error, so callers can decide if the last assistant turn should be\n * restarted.\n *\n * This does not implement retry policy. Callers should first handle context\n * overflow separately, then apply their own retry budget, backoff, and reporting\n * before restarting the assistant turn.\n */\nexport function isRetryableAssistantError(message: AssistantMessage): boolean {\n\tif (message.stopReason !== \"error\" || !message.errorMessage) return false;\n\tconst errorMessage = message.errorMessage;\n\tif (NON_RETRYABLE_PROVIDER_LIMIT_ERROR_PATTERN.test(errorMessage)) return false;\n\treturn RETRYABLE_PROVIDER_ERROR_PATTERN.test(errorMessage);\n}\n"]}
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"AAEA,SAAS,yBAAyB,CAAC,QAA2B;IAC7D,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,0CAA0C,GAAG,yBAAyB,CAAC;IAC5E,8EAA8E;IAC9E,2EAA2E;IAC3E,mBAAmB;IACnB,qBAAqB;IAErB,6EAA6E;IAC7E,yDAAyD;IACzD,6BAA6B;IAC7B,mBAAmB;IAEnB,4EAA4E;IAC5E,4EAA4E;IAC5E,oBAAoB;IACpB,eAAe;IACf,gBAAgB;IAChB,SAAS;CACT,CAAC,CAAC;AAEH,MAAM,gCAAgC,GAAG,yBAAyB,CAAC;IAClE,0EAA0E;IAC1E,YAAY;IACZ,aAAa;IACb,mBAAmB;IACnB,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,sBAAsB;IACtB,eAAe;IACf,iBAAiB;IAEjB,8EAA8E;IAC9E,+CAA+C;IAC/C,2BAA2B;IAE3B,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,gBAAgB;IAChB,mBAAmB;IACnB,qBAAqB;IACrB,kBAAkB;IAClB,mBAAmB;IACnB,cAAc;IACd,mBAAmB;IACnB,sBAAsB;IACtB,gBAAgB;IAChB,8BAA8B;IAC9B,YAAY;IACZ,SAAS;IACT,YAAY;IAEZ,+EAA+E;IAC/E,mBAAmB;IACnB,kBAAkB;IAElB,yEAAyE;IACzE,8EAA8E;IAC9E,yEAAyE;IACzE,eAAe;IACf,kCAAkC;IAClC,sCAAsC;IAEtC,4EAA4E;IAC5E,iEAAiE;IACjE,aAAa;IAEb,6EAA6E;IAC7E,6BAA6B;IAC7B,4BAA4B;IAC5B,wBAAwB;IACxB,2BAA2B;IAE3B,yCAAyC;IACzC,mBAAmB;CACnB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAyB;IAClE,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IAC1E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1C,IAAI,0CAA0C,CAAC,IAAI,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IAChF,OAAO,gCAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5D,CAAC","sourcesContent":["import type { AssistantMessage } from \"../types.ts\";\n\nfunction buildProviderErrorPattern(patterns: readonly string[]): RegExp {\n\treturn new RegExp(patterns.join(\"|\"), \"i\");\n}\n\nconst NON_RETRYABLE_PROVIDER_LIMIT_ERROR_PATTERN = buildProviderErrorPattern([\n\t// OpenCode Go/free-tier limits returned as 429 JSON error types by OpenCode's\n\t// Zen API. These are subscription/account limits, not transient throttles.\n\t\"GoUsageLimitError\",\n\t\"FreeUsageLimitError\",\n\n\t// OpenCode Go subscription-limit text asks users to enable available-balance\n\t// usage after rolling/weekly/monthly limits are reached.\n\t\"Monthly usage limit reached\",\n\t\"available balance\",\n\n\t// Generic quota/budget/billing exhaustion. `insufficient_quota` is OpenAI's\n\t// quota/billing error code; the other strings cover common gateway wording.\n\t\"insufficient_quota\",\n\t\"out of budget\",\n\t\"quota exceeded\",\n\t\"billing\",\n]);\n\nconst RETRYABLE_PROVIDER_ERROR_PATTERN = buildProviderErrorPattern([\n\t// Generic provider load, HTTP status, and server-side transient failures.\n\t\"overloaded\",\n\t\"rate.?limit\",\n\t\"too many requests\",\n\t\"429\",\n\t\"500\",\n\t\"502\",\n\t\"503\",\n\t\"504\",\n\t\"524\",\n\t\"service.?unavailable\",\n\t\"server.?error\",\n\t\"internal.?error\",\n\n\t// Wrapper/provider text for transient upstream failures, including OpenRouter\n\t// \"Provider returned error\" responses (#2264).\n\t\"provider.?returned.?error\",\n\n\t// Network, proxy, and fetch transport failures. This includes OpenAI Codex\n\t// raw-fetch failures such as \"upstream connect\", \"connection refused\", and\n\t// \"reset before headers\" (#733), plus OpenRouter connection drops (#3317).\n\t\"network.?error\",\n\t\"connection.?error\",\n\t\"connection.?refused\",\n\t\"connection.?lost\",\n\t\"other side closed\",\n\t\"fetch failed\",\n\t\"upstream.?connect\",\n\t\"reset before headers\",\n\t\"socket hang up\",\n\t\"socket connection was closed\",\n\t\"timed? out\",\n\t\"timeout\",\n\t\"terminated\",\n\n\t// WebSocket transports can report close/error text instead of HTTP/fetch text.\n\t\"websocket.?closed\",\n\t\"websocket.?error\",\n\n\t// Premature stream endings from SDKs and transports. Anthropic can throw\n\t// \"stream ended without ...\" and \"Anthropic stream ended before message_stop\"\n\t// (#4433); Bedrock/Smithy can throw an HTTP/2 no-response error (#3594).\n\t\"ended without\",\n\t\"stream ended before message_stop\",\n\t\"http2 request did not get a response\",\n\n\t// Provider-requested retry delay cap failures should flow through the outer\n\t// retry policy so callers can surface/abort the backoff (#1123).\n\t\"retry delay\",\n\n\t// Explicit retry guidance emitted mid-stream by OpenAI Responses and Bedrock\n\t// stream exceptions (#6019).\n\t\"you can retry your request\",\n\t\"try your request again\",\n\t\"please retry your request\",\n\n\t// gRPC based providers (e.g. NVIDIA NIM)\n\t\"ResourceExhausted\",\n]);\n\n/**\n * Classifies whether a failed assistant message looks like a transient provider\n * or transport error, so callers can decide if the last assistant turn should be\n * restarted.\n *\n * This does not implement retry policy. Callers should first handle context\n * overflow separately, then apply their own retry budget, backoff, and reporting\n * before restarting the assistant turn.\n */\nexport function isRetryableAssistantError(message: AssistantMessage): boolean {\n\tif (message.stopReason !== \"error\" || !message.errorMessage) return false;\n\tconst errorMessage = message.errorMessage;\n\tif (NON_RETRYABLE_PROVIDER_LIMIT_ERROR_PATTERN.test(errorMessage)) return false;\n\treturn RETRYABLE_PROVIDER_ERROR_PATTERN.test(errorMessage);\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@earendil-works/pi-ai",
3
3
  "private": true,
4
- "version": "2026.7.9",
4
+ "version": "2026.7.10",
5
5
  "description": "Unified LLM API with automatic model discovery and provider configuration",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@earendil-works/pi-pty",
3
3
  "private": true,
4
- "version": "2026.7.9",
4
+ "version": "2026.7.10",
5
5
  "description": "Typed PTY session loader for Senpi persistent terminals",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/components/editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/components/editor.ts"],"names":[],"mappings":"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"}