@code-yeongyu/senpi 2026.8.23 → 2026.8.24

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 (165) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/core/agent-abort-provenance.d.ts +5 -5
  3. package/dist/core/agent-abort-provenance.d.ts.map +1 -1
  4. package/dist/core/agent-abort-provenance.js +3 -0
  5. package/dist/core/agent-abort-provenance.js.map +1 -1
  6. package/dist/core/agent-session.d.ts +3 -0
  7. package/dist/core/agent-session.d.ts.map +1 -1
  8. package/dist/core/agent-session.js +4 -0
  9. package/dist/core/agent-session.js.map +1 -1
  10. package/dist/core/extensions/builtin/goal/agent-end-continuation.d.ts.map +1 -1
  11. package/dist/core/extensions/builtin/goal/agent-end-continuation.js +10 -0
  12. package/dist/core/extensions/builtin/goal/agent-end-continuation.js.map +1 -1
  13. package/dist/core/extensions/builtin/goal/continuation.d.ts +1 -1
  14. package/dist/core/extensions/builtin/goal/continuation.d.ts.map +1 -1
  15. package/dist/core/extensions/builtin/goal/continuation.js +1 -1
  16. package/dist/core/extensions/builtin/goal/continuation.js.map +1 -1
  17. package/dist/core/extensions/builtin/goal/index.d.ts.map +1 -1
  18. package/dist/core/extensions/builtin/goal/index.js +0 -8
  19. package/dist/core/extensions/builtin/goal/index.js.map +1 -1
  20. package/dist/core/extensions/builtin/goal/monitor-continuation-types.d.ts +1 -0
  21. package/dist/core/extensions/builtin/goal/monitor-continuation-types.d.ts.map +1 -1
  22. package/dist/core/extensions/builtin/goal/monitor-continuation-types.js.map +1 -1
  23. package/dist/core/extensions/builtin/goal/monitor-continuation.d.ts +2 -1
  24. package/dist/core/extensions/builtin/goal/monitor-continuation.d.ts.map +1 -1
  25. package/dist/core/extensions/builtin/goal/monitor-continuation.js +31 -3
  26. package/dist/core/extensions/builtin/goal/monitor-continuation.js.map +1 -1
  27. package/dist/core/extensions/builtin/goal/wait-ticker.d.ts.map +1 -1
  28. package/dist/core/extensions/builtin/goal/wait-ticker.js +14 -9
  29. package/dist/core/extensions/builtin/goal/wait-ticker.js.map +1 -1
  30. package/dist/core/extensions/builtin/webfetch/webfetch/fetcher.d.ts.map +1 -1
  31. package/dist/core/extensions/builtin/webfetch/webfetch/fetcher.js +5 -23
  32. package/dist/core/extensions/builtin/webfetch/webfetch/fetcher.js.map +1 -1
  33. package/dist/core/extensions/builtin/webfetch/webfetch/response-body.d.ts +11 -0
  34. package/dist/core/extensions/builtin/webfetch/webfetch/response-body.d.ts.map +1 -0
  35. package/dist/core/extensions/builtin/webfetch/webfetch/response-body.js +54 -0
  36. package/dist/core/extensions/builtin/webfetch/webfetch/response-body.js.map +1 -0
  37. package/dist/core/tools/read.d.ts.map +1 -1
  38. package/dist/core/tools/read.js +5 -0
  39. package/dist/core/tools/read.js.map +1 -1
  40. package/dist/modes/interactive/aborted-error-label.d.ts +2 -1
  41. package/dist/modes/interactive/aborted-error-label.d.ts.map +1 -1
  42. package/dist/modes/interactive/aborted-error-label.js +20 -5
  43. package/dist/modes/interactive/aborted-error-label.js.map +1 -1
  44. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  45. package/dist/modes/interactive/interactive-mode.js +11 -3
  46. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  47. package/dist/modes/interactive/streaming-reveal.d.ts +8 -0
  48. package/dist/modes/interactive/streaming-reveal.d.ts.map +1 -1
  49. package/dist/modes/interactive/streaming-reveal.js +12 -0
  50. package/dist/modes/interactive/streaming-reveal.js.map +1 -1
  51. package/docs/AGENTS.md +3 -1
  52. package/examples/AGENTS.md +21 -6
  53. package/examples/extensions/AGENTS.md +50 -0
  54. package/node_modules/@anthropic-ai/claude-agent-sdk/bridge.mjs +90 -88
  55. package/node_modules/@anthropic-ai/claude-agent-sdk/browser-sdk.js +40 -40
  56. package/node_modules/@anthropic-ai/claude-agent-sdk/manifest.json +20 -21
  57. package/node_modules/@anthropic-ai/claude-agent-sdk/manifest.zst.json +24 -25
  58. package/node_modules/@anthropic-ai/claude-agent-sdk/package.json +2 -2
  59. package/node_modules/@anthropic-ai/claude-agent-sdk/sdk-tools.d.ts +102 -5
  60. package/node_modules/@anthropic-ai/claude-agent-sdk/sdk.d.ts +31 -15
  61. package/node_modules/@anthropic-ai/claude-agent-sdk/sdk.mjs +80 -78
  62. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/index.js +1 -1
  63. package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +13 -13
  64. package/node_modules/@aws-sdk/core/package.json +5 -5
  65. package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
  66. package/node_modules/@aws-sdk/credential-provider-http/package.json +7 -7
  67. package/node_modules/@aws-sdk/credential-provider-ini/package.json +12 -12
  68. package/node_modules/@aws-sdk/credential-provider-login/package.json +6 -6
  69. package/node_modules/@aws-sdk/credential-provider-node/package.json +10 -10
  70. package/node_modules/@aws-sdk/credential-provider-process/package.json +5 -5
  71. package/node_modules/@aws-sdk/credential-provider-sso/package.json +7 -7
  72. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +6 -6
  73. package/node_modules/@aws-sdk/eventstream-handler-node/package.json +4 -4
  74. package/node_modules/@aws-sdk/middleware-eventstream/package.json +4 -4
  75. package/node_modules/@aws-sdk/middleware-websocket/package.json +6 -6
  76. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  77. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  78. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  79. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  80. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  81. package/node_modules/@aws-sdk/nested-clients/package.json +8 -8
  82. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +3 -3
  83. package/node_modules/@aws-sdk/token-providers/package.json +6 -6
  84. package/node_modules/@aws-sdk/types/package.json +2 -2
  85. package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
  86. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +14 -0
  87. package/node_modules/@code-yeongyu/senpi-codemode/package.json +5 -5
  88. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/AGENTS.md +40 -0
  89. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/AGENTS.md +40 -0
  90. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/detached-cell-manager.ts +1 -1
  91. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/detached-cell-notification.ts +3 -8
  92. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/detached-notification-queue.ts +2 -6
  93. package/node_modules/@earendil-works/pi-agent-core/package.json +4 -4
  94. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  95. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
  96. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opengateway.json +1 -1
  97. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  98. package/node_modules/@earendil-works/pi-ai/package.json +4 -4
  99. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  100. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  101. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  102. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +7 -4
  103. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  104. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  105. package/node_modules/@smithy/signature-v4/dist-cjs/index.js +19 -7
  106. package/node_modules/@smithy/signature-v4/dist-es/HeaderFormatter.js +4 -1
  107. package/node_modules/@smithy/signature-v4/dist-es/getCanonicalQuery.js +4 -1
  108. package/node_modules/@smithy/signature-v4/dist-es/getPayloadHash.js +4 -1
  109. package/node_modules/@smithy/signature-v4/dist-es/headerUtil.js +10 -3
  110. package/node_modules/@smithy/signature-v4/dist-es/moveHeadersToQuery.js +4 -1
  111. package/node_modules/@smithy/signature-v4/dist-es/prepareRequest.js +4 -1
  112. package/node_modules/@smithy/signature-v4/package.json +2 -2
  113. package/node_modules/typebox/build/format/email.mjs +1 -1
  114. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +19 -1
  115. package/node_modules/typebox/build/format/json_pointer.d.mts +2 -2
  116. package/node_modules/typebox/build/format/json_pointer.mjs +2 -2
  117. package/node_modules/typebox/build/format/json_pointer_uri_fragment.d.mts +2 -2
  118. package/node_modules/typebox/build/format/json_pointer_uri_fragment.mjs +2 -2
  119. package/node_modules/typebox/build/format/relative_json_pointer.d.mts +2 -2
  120. package/node_modules/typebox/build/format/relative_json_pointer.mjs +2 -2
  121. package/node_modules/typebox/build/system/memory/assign.mjs +2 -1
  122. package/node_modules/typebox/build/system/memory/create.mjs +3 -4
  123. package/node_modules/typebox/build/system/memory/discard.mjs +2 -2
  124. package/node_modules/typebox/build/system/memory/freeze.d.mts +4 -0
  125. package/node_modules/typebox/build/system/memory/freeze.mjs +6 -0
  126. package/node_modules/typebox/build/system/memory/update.mjs +3 -2
  127. package/node_modules/typebox/package.json +1 -1
  128. package/package.json +36 -36
  129. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/LICENSE +0 -201
  130. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/README.md +0 -62
  131. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +0 -154
  132. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/constants.js +0 -2
  133. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromEnvSigningName.js +0 -16
  134. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js +0 -80
  135. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromStatic.js +0 -8
  136. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/getNewSsoOidcToken.js +0 -11
  137. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/getSsoOidcClient.js +0 -10
  138. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/index.js +0 -4
  139. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/nodeProvider.js +0 -5
  140. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/validateTokenExpiry.js +0 -7
  141. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/validateTokenKey.js +0 -7
  142. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/writeSSOTokenToFile.js +0 -8
  143. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/constants.d.ts +0 -8
  144. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/fromEnvSigningName.d.ts +0 -18
  145. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/fromSso.d.ts +0 -12
  146. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/fromStatic.d.ts +0 -9
  147. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/getNewSsoOidcToken.d.ts +0 -8
  148. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/getSsoOidcClient.d.ts +0 -7
  149. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/index.d.ts +0 -7
  150. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/nodeProvider.d.ts +0 -18
  151. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/constants.d.ts +0 -3
  152. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/fromEnvSigningName.d.ts +0 -8
  153. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/fromSso.d.ts +0 -10
  154. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/fromStatic.d.ts +0 -5
  155. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/getNewSsoOidcToken.d.ts +0 -9
  156. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/getSsoOidcClient.d.ts +0 -7
  157. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/index.d.ts +0 -7
  158. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/nodeProvider.d.ts +0 -3
  159. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/validateTokenExpiry.d.ts +0 -2
  160. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/validateTokenKey.d.ts +0 -1
  161. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/ts3.4/writeSSOTokenToFile.d.ts +0 -2
  162. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/validateTokenExpiry.d.ts +0 -5
  163. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/validateTokenKey.d.ts +0 -4
  164. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-types/writeSSOTokenToFile.d.ts +0 -5
  165. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +0 -69
@@ -0,0 +1,40 @@
1
+ # src/tool
2
+
3
+ Eval tool core: input schema, cell execution lifecycle, detached-cell state
4
+ machine, status events, and all call/result rendering. Earned by score 12 —
5
+ highest reference density in the package (`createEvalTool` and `EvalToolDetails`
6
+ anchor most suites).
7
+
8
+ ## WHERE TO LOOK
9
+
10
+ | Task | Path |
11
+ | --- | --- |
12
+ | Tool registration, options | `eval-tool.ts`, `eval-tool-options.ts`, `eval-request.ts` |
13
+ | Wire contract, TypeBox schemas | `types.ts` (`createEvalInputSchema`, `fullEvalInputSchema`) |
14
+ | Cell execution, settlement | `cell-handler.ts`, `cell-execution.ts`, `cell-runtime.ts` |
15
+ | Detached cells | `detached-cell-manager.ts` + `detached-cell-{state,snapshot,notification}.ts`, `detached-notification-queue.ts`, `detached-eval-result.ts` |
16
+ | Call/result rendering | `render.ts`, `runtime-label.ts`, `json-tree.ts`, `image.ts`, `tool-widgets.ts` |
17
+ | Status events, execution events | `status-events.ts`, `eval-execution-event.ts` |
18
+ | Interrupt, capture | `interrupt-note.ts`, `call-capture.ts` |
19
+
20
+ ## CONVENTIONS
21
+
22
+ - Wire/schema fields are snake_case (`cell_id`, `on_timeout`); internal TS
23
+ fields are camelCase. Schemas and shared eval types live only in `types.ts`.
24
+ - Rendering is bounded by explicit line/code-point budgets with an injectable
25
+ render clock; nothing here depends on wall-clock luck.
26
+ - Detached execution is a first-class state machine — snapshot, notification
27
+ queue, spill-file notice, result conversion — never folded into ordinary
28
+ cell execution.
29
+ - Unicode tree glyphs and status icons are intentional UI conventions.
30
+
31
+ ## ANTI-PATTERNS
32
+
33
+ - Never add unbounded output: previews, JSON tree depth/lines/scalar length,
34
+ widget lines, and collapsed errors all cap.
35
+ - Never bypass the kernel bridge message contract with ad-hoc return values;
36
+ kernels import `KernelInterruptHandle` from `types.ts`, so discriminants and
37
+ lifecycle state are cross-runtime contracts — change them only with all four
38
+ runtimes and the detached path in mind.
39
+ - `render.ts` (1,030 LOC) is the package's largest file and the highest-risk
40
+ hotspot for regressions; changes there need render contracts first.
@@ -93,7 +93,7 @@ export class EvalDetachedCellManager {
93
93
  this.#artifactsDir = options.artifactsDir;
94
94
  this.#onStatusChange = options.onStatusChange;
95
95
  this.#onWakeSourceState = options.onWakeSourceState;
96
- this.#notificationQueue = new DetachedNotificationQueue(options.notifier, options.artifactsDir);
96
+ this.#notificationQueue = new DetachedNotificationQueue(options.notifier);
97
97
  this.#now = options.now ?? Date.now;
98
98
  this.#hardLimitSeconds = options.hardLimitSeconds ?? DEFAULT_HARD_LIMIT_SECONDS;
99
99
  }
@@ -12,7 +12,6 @@ export function detachedNotificationSpillPath(artifactsDir: string | undefined,
12
12
  export async function buildDetachedCellNotification(
13
13
  snapshot: EvalDetachedCellSnapshot,
14
14
  spillPath: string | undefined,
15
- artifactsDir: string | undefined,
16
15
  ): Promise<EvalDetachedCellNotification> {
17
16
  const body = notificationBody(snapshot);
18
17
  const overflow = Buffer.byteLength(body, "utf8") > NOTIFICATION_TAIL_BYTES;
@@ -21,7 +20,9 @@ export async function buildDetachedCellNotification(
21
20
  try {
22
21
  await mkdir(dirname(spillPath), { recursive: true });
23
22
  await writeFile(spillPath, body, "utf8");
24
- spillNotice = `\nBuffered output overflowed; full output: ${localUri(spillPath, artifactsDir)}`;
23
+ // The agent read tool resolves plain paths only, so the notice must carry
24
+ // the absolute spill path, never the kernel-helper local:// scheme.
25
+ spillNotice = `\nBuffered output overflowed; full output: ${spillPath}`;
25
26
  } catch (error) {
26
27
  const message = error instanceof Error ? error.message : String(error);
27
28
  spillNotice = `\nBuffered output overflow could not be spilled: ${message}`;
@@ -84,12 +85,6 @@ function safeCellId(cellId: string): string {
84
85
  return cellId.replace(/[^a-zA-Z0-9_-]/gu, "_");
85
86
  }
86
87
 
87
- function localUri(path: string, artifactsDir: string | undefined): string {
88
- if (artifactsDir === undefined) return `local://${path}`;
89
- const root = join(artifactsDir, "local");
90
- return path.startsWith(`${root}/`) ? `local://${path.slice(root.length + 1)}` : `local://${path}`;
91
- }
92
-
93
88
  function truncateTailUtf8(text: string, maxBytes: number): string {
94
89
  if (Buffer.byteLength(text, "utf8") <= maxBytes) return text;
95
90
  const bytes = Buffer.from(text, "utf8");
@@ -7,14 +7,12 @@ export interface PendingDetachedNotification {
7
7
  }
8
8
 
9
9
  export class DetachedNotificationQueue {
10
- readonly #artifactsDir: string | undefined;
11
10
  readonly #notifier: EvalDetachedCellNotifier | undefined;
12
11
  #pending: PendingDetachedNotification[] = [];
13
12
  #flush: Promise<void> | undefined;
14
13
 
15
- constructor(notifier: EvalDetachedCellNotifier | undefined, artifactsDir: string | undefined) {
14
+ constructor(notifier: EvalDetachedCellNotifier | undefined) {
16
15
  this.#notifier = notifier;
17
- this.#artifactsDir = artifactsDir;
18
16
  }
19
17
 
20
18
  enqueue(notification: PendingDetachedNotification): void {
@@ -32,9 +30,7 @@ export class DetachedNotificationQueue {
32
30
  const flush = Promise.resolve().then(async () => {
33
31
  const pending = this.#pending.splice(0);
34
32
  const notifications = await Promise.all(
35
- pending.map(
36
- async (item) => await buildDetachedCellNotification(item.snapshot(), item.spillPath, this.#artifactsDir),
37
- ),
33
+ pending.map(async (item) => await buildDetachedCellNotification(item.snapshot(), item.spillPath)),
38
34
  );
39
35
  this.#notifier?.notify(notifications);
40
36
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@earendil-works/pi-agent-core",
3
3
  "private": true,
4
- "version": "2026.8.23",
4
+ "version": "2026.8.24",
5
5
  "description": "General-purpose agent with transport abstraction, state management, and attachment support",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",
@@ -36,11 +36,11 @@
36
36
  "prepublishOnly": "npm run build"
37
37
  },
38
38
  "dependencies": {
39
- "@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.8.23",
40
- "@earendil-works/pi-telemetry": "npm:@code-yeongyu/senpi-telemetry@2026.8.23",
39
+ "@earendil-works/pi-ai": "npm:@code-yeongyu/senpi-ai@2026.8.24",
40
+ "@earendil-works/pi-telemetry": "npm:@code-yeongyu/senpi-telemetry@2026.8.24",
41
41
  "diff": "9.0.0",
42
42
  "ignore": "7.0.6",
43
- "typebox": "1.3.16",
43
+ "typebox": "1.3.18",
44
44
  "yaml": "2.9.0"
45
45
  },
46
46
  "keywords": [
@@ -1 +1 @@
1
- {"schemaVersion":3,"generatedAt":"2026-08-23T11:54:56.984Z","structureHash":"3bfab777c3a540661162d2d7360e29b7de23cb42db51edab2761f4e6d6855309","files":{"alibaba-token-plan.json":"f50ed32b9cbf506cec10fea687e629a96d48faef751c20bfbc5cba95eae0a824","amazon-bedrock.json":"945114227eb061126236c0de18657d230174ed1739648db6007a5dc2758d510b","ant-ling.json":"4979fe79d99ed97382d7ce40170c6132e932e77906de1eb54464c042e7d63633","anthropic.json":"e03961d53bf72235ba1cc8bc0e93531529b13f646d2d2961a78d8bdcc88de8d4","azure-openai-responses.json":"5315b6a2299fefbdbb6cc13a720544077c9498132ad5e3a7d76a8c1daa8e9335","baseten.json":"950433e7fcf9357ae3423b27fc0d32568b6e0990bb35c6e961dcb9740a6bba1b","cerebras.json":"38272a7525d6680c71bb4bb3c4085e871768b400832e2013b0e7fd92f8fd4f05","cloudflare-ai-gateway.json":"39d072a794d25d6a00d081943e9577d5e935d847b0914815b52ceec8bd8b2f68","cloudflare-workers-ai.json":"89e63a18886ecedd1d995cc90e4bfe06f73e2a79117b2f54f58fe60cdcf63df5","deepseek.json":"e3106724723fd82d48a3ff685da9908a3a7b7b4fd84cc3cfe97a6a23067b6029","fireworks.json":"2c85d89cd04288b15ff8a23af5eba72779cae9221f4bcfed1720ce6d41629fcc","github-copilot.json":"b89b04b844bdae6c794d63ba159dfd01c3954ddb550ecb76e1a50c7802f1f63d","google-vertex.json":"fb7586fc955da7b7d7d11d641954f496fbbb42cf3e4cbba66d7116ea3b37d5ed","google.json":"b5572904165d37ab594eafc3ab7f29774e35747b5dd211144ec01532db9217c1","groq.json":"f1eb899453e70b5e4479fe6eb78869ee99121fa6d4a019a5a05ab42d2ada8992","huggingface.json":"b2f15353177738beb5c0865ffcd92cc470e1c8ba6b6a4d2707cda12212a6043b","kimi-coding.json":"88150f8970f83e17968b02f3b33fac803b96ebf1474e76437689b7d0f1b69363","minimax-cn.json":"8ccd71ff838f4b78bb88809babb0dc32a4fcfaec2bc4f4083841000428df4f77","minimax.json":"253edd4c910a41c8bb252400ba099f3a4de0a8900ce154319288ab091b372987","mistral.json":"4f9d84bf1ba10cb14ff2c9e23e77d63441756ef3500375dd4ad10094614b215b","moonshotai-cn.json":"dbf1b71ee36812fe64b014177ff455809a8dd852bbbd584422645beb85635127","moonshotai.json":"2d7518b4769e97ac900366175c8b60ff86a02675bb6f6cc2fffcc6761fda6faa","nvidia.json":"f9e2737a9d7ccb77ccc14083422dae03e0b786d169660670f739ddb3f0533eb5","openai-codex.json":"bcf30d89ae124004ed3b0d38958faa46674c7531f531f4f5588992d6354b291d","openai.json":"4157d81bc5725b5cc9a7568a4ced0d082fc6568cecf0526e9070f17431c40d5c","opencode-go.json":"dae1ef0bc0e2b56a9ece45366e8cb2a240868a8e1d2867c131cda10be23c0286","opencode.json":"b3f36694ec71e08489a51d5c791e9ffffece3fe82dafbdf41d256b4f22d323ad","opengateway.json":"33e51de4e9b7808a703d656ef19e7abd804b7556a78a78be1bf80860a2ebdb97","openrouter.json":"10cdbc6a3eaf4d0645affd5924fdb41aa533359859f53db0374ce8d0b27e2b77","qwen-token-plan-cn.json":"700cb41cdee4c0ae2a5159eb3ab43f4cedc9d43e87c6fd1bcd410d71431f9856","qwen-token-plan-individual.json":"5649fd4075ada766ec65a7a162cd65f096a7ecc29960ace04b2e6a6a4a995a41","qwen-token-plan.json":"f85715f7f2023a162c47d1a84ba73747e2580d0a9aa33799b3232ce19527c1ab","together.json":"f7c9ba0441c1cbb8af41aaea3cfaa12559e1235a7335898e705d5918dc308c97","vercel-ai-gateway.json":"2f3c65359166757431a080de858f7d80ca2598e5d4f7b9e68c379ce2ee181b48","xai.json":"9973aae022723732b8a7ea12107e6fb8b3f1d0e087ec6bbc2ee18f0820595e19","xiaomi-token-plan-ams.json":"568b9992cf320536a65826e26a414afa5c0d17f083a01af4bd96658d9dd3e705","xiaomi-token-plan-cn.json":"c423857d0bbb0b126394eaf1ebb2a91bf2d1193cc5a4fe77843ff0f4536a0a80","xiaomi-token-plan-sgp.json":"008f1eb41037e93c5ae478f12815cd67bac1978f131ffefa602775bb60b63fea","xiaomi.json":"37acf451bb4364bdca2ecea6b7d962590d9974a87e80cfe34bb800be6a95c13b","zai-coding-cn.json":"97b9c249b5c9ec7667a6449ff1c2c4e52d85ca0fe7bb3b3ced95afa14cd2b7c9","zai.json":"eb23fcd1b79bd5da4d264eaccae149fda3f7a028cb1309699c6a3243a22a25f2"}}
1
+ {"schemaVersion":3,"generatedAt":"2026-08-24T17:19:14.090Z","structureHash":"36f916c3f467c41d55c5608022eb992ac03223756c3b3b43d2127dcccee53f41","files":{"alibaba-token-plan.json":"f50ed32b9cbf506cec10fea687e629a96d48faef751c20bfbc5cba95eae0a824","amazon-bedrock.json":"945114227eb061126236c0de18657d230174ed1739648db6007a5dc2758d510b","ant-ling.json":"4979fe79d99ed97382d7ce40170c6132e932e77906de1eb54464c042e7d63633","anthropic.json":"e03961d53bf72235ba1cc8bc0e93531529b13f646d2d2961a78d8bdcc88de8d4","azure-openai-responses.json":"5315b6a2299fefbdbb6cc13a720544077c9498132ad5e3a7d76a8c1daa8e9335","baseten.json":"950433e7fcf9357ae3423b27fc0d32568b6e0990bb35c6e961dcb9740a6bba1b","cerebras.json":"38272a7525d6680c71bb4bb3c4085e871768b400832e2013b0e7fd92f8fd4f05","cloudflare-ai-gateway.json":"39d072a794d25d6a00d081943e9577d5e935d847b0914815b52ceec8bd8b2f68","cloudflare-workers-ai.json":"89e63a18886ecedd1d995cc90e4bfe06f73e2a79117b2f54f58fe60cdcf63df5","deepseek.json":"e3106724723fd82d48a3ff685da9908a3a7b7b4fd84cc3cfe97a6a23067b6029","fireworks.json":"2c85d89cd04288b15ff8a23af5eba72779cae9221f4bcfed1720ce6d41629fcc","github-copilot.json":"b89b04b844bdae6c794d63ba159dfd01c3954ddb550ecb76e1a50c7802f1f63d","google-vertex.json":"fb7586fc955da7b7d7d11d641954f496fbbb42cf3e4cbba66d7116ea3b37d5ed","google.json":"b5572904165d37ab594eafc3ab7f29774e35747b5dd211144ec01532db9217c1","groq.json":"f1eb899453e70b5e4479fe6eb78869ee99121fa6d4a019a5a05ab42d2ada8992","huggingface.json":"b2f15353177738beb5c0865ffcd92cc470e1c8ba6b6a4d2707cda12212a6043b","kimi-coding.json":"88150f8970f83e17968b02f3b33fac803b96ebf1474e76437689b7d0f1b69363","minimax-cn.json":"8ccd71ff838f4b78bb88809babb0dc32a4fcfaec2bc4f4083841000428df4f77","minimax.json":"253edd4c910a41c8bb252400ba099f3a4de0a8900ce154319288ab091b372987","mistral.json":"4f9d84bf1ba10cb14ff2c9e23e77d63441756ef3500375dd4ad10094614b215b","moonshotai-cn.json":"dbf1b71ee36812fe64b014177ff455809a8dd852bbbd584422645beb85635127","moonshotai.json":"2d7518b4769e97ac900366175c8b60ff86a02675bb6f6cc2fffcc6761fda6faa","nvidia.json":"f9e2737a9d7ccb77ccc14083422dae03e0b786d169660670f739ddb3f0533eb5","openai-codex.json":"bcf30d89ae124004ed3b0d38958faa46674c7531f531f4f5588992d6354b291d","openai.json":"4157d81bc5725b5cc9a7568a4ced0d082fc6568cecf0526e9070f17431c40d5c","opencode-go.json":"215847bcae08e32070369322fb7803abcbe0af53c4edfe9b7cbfde62cd000bab","opencode.json":"b3f36694ec71e08489a51d5c791e9ffffece3fe82dafbdf41d256b4f22d323ad","opengateway.json":"79d472ce922a9586b2b908144239dea8b12a004f0d92a1941606d6f74394eddb","openrouter.json":"5f8b34ed72fd9b59b6709f2822f4e8a6c28ce940ac8e6982c4db4156ffd60fcc","qwen-token-plan-cn.json":"700cb41cdee4c0ae2a5159eb3ab43f4cedc9d43e87c6fd1bcd410d71431f9856","qwen-token-plan-individual.json":"5649fd4075ada766ec65a7a162cd65f096a7ecc29960ace04b2e6a6a4a995a41","qwen-token-plan.json":"f85715f7f2023a162c47d1a84ba73747e2580d0a9aa33799b3232ce19527c1ab","together.json":"f7c9ba0441c1cbb8af41aaea3cfaa12559e1235a7335898e705d5918dc308c97","vercel-ai-gateway.json":"2f3c65359166757431a080de858f7d80ca2598e5d4f7b9e68c379ce2ee181b48","xai.json":"9973aae022723732b8a7ea12107e6fb8b3f1d0e087ec6bbc2ee18f0820595e19","xiaomi-token-plan-ams.json":"568b9992cf320536a65826e26a414afa5c0d17f083a01af4bd96658d9dd3e705","xiaomi-token-plan-cn.json":"c423857d0bbb0b126394eaf1ebb2a91bf2d1193cc5a4fe77843ff0f4536a0a80","xiaomi-token-plan-sgp.json":"008f1eb41037e93c5ae478f12815cd67bac1978f131ffefa602775bb60b63fea","xiaomi.json":"37acf451bb4364bdca2ecea6b7d962590d9974a87e80cfe34bb800be6a95c13b","zai-coding-cn.json":"97b9c249b5c9ec7667a6449ff1c2c4e52d85ca0fe7bb3b3ced95afa14cd2b7c9","zai.json":"eb23fcd1b79bd5da4d264eaccae149fda3f7a028cb1309699c6a3243a22a25f2"}}
@@ -1 +1 @@
1
- {"anthropic-messages":{"minimax-m3":{"id":"minimax-m3","name":"MiniMax-M3","api":"anthropic-messages","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go","reasoning":true,"input":["text","image"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0},"contextWindow":1000000,"maxTokens":131072}},"openai-completions":{"deepseek-v4-flash":{"id":"deepseek-v4-flash","name":"DeepSeek V4 Flash","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.22,"output":0.66,"cacheRead":0.007,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"contextWindow":1000000,"maxTokens":384000,"thinkingLevelMap":{"minimal":null,"low":"low","medium":null,"high":"high","max":"max"}},"deepseek-v4-flash-vision-exp":{"id":"deepseek-v4-flash-vision-exp","name":"DeepSeek V4 Flash Vision Exp","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.22,"output":0.66,"cacheRead":0.007,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"contextWindow":1000000,"maxTokens":384000,"thinkingLevelMap":{"minimal":null,"low":"low","medium":null,"high":"high","max":"max"}},"deepseek-v4-pro":{"id":"deepseek-v4-pro","name":"DeepSeek V4 Pro (New)","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.66,"output":1.98,"cacheRead":0.022,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"contextWindow":1000000,"maxTokens":384000,"thinkingLevelMap":{"minimal":null,"low":null,"medium":null,"high":"high","max":"max"}},"glm-5.1":{"id":"glm-5.1","name":"GLM-5.1","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":202752,"maxTokens":32768},"glm-5.2":{"id":"glm-5.2","name":"GLM-5.2","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":"max"}},"glm-5.3":{"id":"glm-5.3","name":"GLM-5.3","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":"max"}},"hy3":{"id":"hy3","name":"Hy3 (8x usage)","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.0175,"output":0.0725,"cacheRead":0.004375,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":256000,"maxTokens":64000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":null,"high":"high","xhigh":null,"max":null}},"kimi-k2.6":{"id":"kimi-k2.6","name":"Kimi K2.6","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.16,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"thinkingFormat":"deepseek","supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsLongCacheRetention":false},"contextWindow":262144,"maxTokens":65536,"thinkingLevelMap":{"minimal":null,"low":null,"medium":null}},"kimi-k2.7-code":{"id":"kimi-k2.7-code","name":"Kimi K2.7 Code","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.19,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":262144,"maxTokens":262144},"kimi-k3":{"id":"kimi-k3","name":"Kimi K3","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1048576,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":null,"medium":null,"high":null,"xhigh":null,"max":"max"}},"mimo-v2.5":{"id":"mimo-v2.5","name":"MiMo V2.5","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.0028,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":128000},"mimo-v2.5-pro":{"id":"mimo-v2.5-pro","name":"MiMo V2.5 Pro","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.435,"output":0.87,"cacheRead":0.003625,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1048576,"maxTokens":128000},"minimax-m2.7":{"id":"minimax-m2.7","name":"MiniMax-M2.7","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":204800,"maxTokens":131072},"ox-alpha-free":{"id":"ox-alpha-free","name":"Ox Alpha Free (Unlimited)","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":null,"high":"high","xhigh":null,"max":"max"}},"qwen3.6-plus":{"id":"qwen3.6-plus","name":"Qwen3.6 Plus","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.5,"output":3,"cacheRead":0.05,"cacheWrite":0.625},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"thinkingFormat":"qwen","maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":65536},"qwen3.7-max":{"id":"qwen3.7-max","name":"Qwen3.7 Max","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":2.5,"output":7.5,"cacheRead":0.5,"cacheWrite":3.125},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":65536},"qwen3.7-plus":{"id":"qwen3.7-plus","name":"Qwen3.7 Plus","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.4,"output":1.6,"cacheRead":0.04,"cacheWrite":0.5},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":65536},"qwen3.8-max":{"id":"qwen3.8-max","name":"Qwen3.8 Max","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":6,"cacheRead":0.25,"cacheWrite":2.5},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":131072}},"openai-responses":{"gpt-5.6-luna":{"id":"gpt-5.6-luna","name":"GPT-5.6 Luna","api":"openai-responses","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.2,"cacheRead":0.02,"cacheWrite":0.25},"compat":{"sessionAffinityFormat":"openai-nosession"},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"grok-4.5":{"id":"grok-4.5","name":"Grok 4.5","api":"openai-responses","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":6,"cacheRead":0.5,"cacheWrite":0},"compat":{"sessionAffinityFormat":"openai-nosession"},"contextWindow":500000,"maxTokens":500000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"muse-spark-1.2-contributor":{"id":"muse-spark-1.2-contributor","name":"Muse Spark 1.2 Contributor","api":"openai-responses","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.1,"output":0.2,"cacheRead":0.002,"cacheWrite":0},"compat":{"sessionAffinityFormat":"openai-nosession"},"contextWindow":1048576,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null}}}}
1
+ {"anthropic-messages":{"minimax-m3":{"id":"minimax-m3","name":"MiniMax-M3","api":"anthropic-messages","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go","reasoning":true,"input":["text","image"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0},"contextWindow":1000000,"maxTokens":131072}},"openai-completions":{"deepseek-v4-flash":{"id":"deepseek-v4-flash","name":"DeepSeek V4 Flash","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.22,"output":0.66,"cacheRead":0.007,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"contextWindow":1000000,"maxTokens":384000,"thinkingLevelMap":{"minimal":null,"low":"low","medium":null,"high":"high","max":"max"}},"deepseek-v4-flash-vision-exp":{"id":"deepseek-v4-flash-vision-exp","name":"DeepSeek V4 Flash Vision Exp","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.22,"output":0.66,"cacheRead":0.007,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"contextWindow":1000000,"maxTokens":384000,"thinkingLevelMap":{"minimal":null,"low":"low","medium":null,"high":"high","max":"max"}},"deepseek-v4-pro":{"id":"deepseek-v4-pro","name":"DeepSeek V4 Pro (New)","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.66,"output":1.98,"cacheRead":0.022,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens","requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"contextWindow":1000000,"maxTokens":384000,"thinkingLevelMap":{"minimal":null,"low":null,"medium":null,"high":"high","max":"max"}},"glm-5.1":{"id":"glm-5.1","name":"GLM-5.1","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":202752,"maxTokens":32768},"glm-5.2":{"id":"glm-5.2","name":"GLM-5.2","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":"max"}},"glm-5.3":{"id":"glm-5.3","name":"GLM-5.3","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":"max"}},"hy3":{"id":"hy3","name":"Hy3 (8x usage)","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.0175,"output":0.0725,"cacheRead":0.004375,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":256000,"maxTokens":64000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":null,"high":"high","xhigh":null,"max":null}},"kimi-k2.6":{"id":"kimi-k2.6","name":"Kimi K2.6","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.16,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"thinkingFormat":"deepseek","supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsLongCacheRetention":false},"contextWindow":262144,"maxTokens":65536,"thinkingLevelMap":{"minimal":null,"low":null,"medium":null}},"kimi-k2.7-code":{"id":"kimi-k2.7-code","name":"Kimi K2.7 Code","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.19,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":262144,"maxTokens":262144},"kimi-k3":{"id":"kimi-k3","name":"Kimi K3","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1048576,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":null,"medium":null,"high":null,"xhigh":null,"max":"max"}},"longcat-2.0":{"id":"longcat-2.0","name":"LongCat-2.0","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.006,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":131072},"mimo-v2.5":{"id":"mimo-v2.5","name":"MiMo V2.5","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.0028,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":128000},"mimo-v2.5-pro":{"id":"mimo-v2.5-pro","name":"MiMo V2.5 Pro","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.435,"output":0.87,"cacheRead":0.003625,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1048576,"maxTokens":128000},"minimax-m2.7":{"id":"minimax-m2.7","name":"MiniMax-M2.7","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":204800,"maxTokens":131072},"ox-alpha-free":{"id":"ox-alpha-free","name":"Ox Alpha Free (Unlimited)","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":null,"high":"high","xhigh":null,"max":"max"}},"qwen3.6-plus":{"id":"qwen3.6-plus","name":"Qwen3.6 Plus","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.5,"output":3,"cacheRead":0.05,"cacheWrite":0.625},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"thinkingFormat":"qwen","maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":65536},"qwen3.7-max":{"id":"qwen3.7-max","name":"Qwen3.7 Max","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text"],"cost":{"input":2.5,"output":7.5,"cacheRead":0.5,"cacheWrite":3.125},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":65536},"qwen3.7-plus":{"id":"qwen3.7-plus","name":"Qwen3.7 Plus","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.4,"output":1.6,"cacheRead":0.04,"cacheWrite":0.5},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":65536},"qwen3.8-max":{"id":"qwen3.8-max","name":"Qwen3.8 Max","api":"openai-completions","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":6,"cacheRead":0.25,"cacheWrite":2.5},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"maxTokensField":"max_tokens"},"contextWindow":1000000,"maxTokens":131072}},"openai-responses":{"gpt-5.6-luna":{"id":"gpt-5.6-luna","name":"GPT-5.6 Luna","api":"openai-responses","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.2,"cacheRead":0.02,"cacheWrite":0.25},"compat":{"sessionAffinityFormat":"openai-nosession"},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"grok-4.5":{"id":"grok-4.5","name":"Grok 4.5","api":"openai-responses","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":6,"cacheRead":0.5,"cacheWrite":0},"compat":{"sessionAffinityFormat":"openai-nosession"},"contextWindow":500000,"maxTokens":500000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"muse-spark-1.2-contributor":{"id":"muse-spark-1.2-contributor","name":"Muse Spark 1.2 Contributor","api":"openai-responses","provider":"opencode-go","baseUrl":"https://opencode.ai/zen/go/v1","reasoning":true,"input":["text","image"],"cost":{"input":0.1,"output":0.2,"cacheRead":0.002,"cacheWrite":0},"compat":{"sessionAffinityFormat":"openai-nosession"},"contextWindow":1048576,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null}}}}
@@ -1 +1 @@
1
- {"openai-completions":{"anthropic/claude-fable-5":{"id":"anthropic/claude-fable-5","name":"Claude Fable 5","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":10,"output":50,"cacheRead":1,"cacheWrite":12.5},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"anthropic/claude-haiku-4-5":{"id":"anthropic/claude-haiku-4-5","name":"Claude Haiku 4.5 (latest)","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1,"output":5,"cacheRead":0.1,"cacheWrite":1.25},"contextWindow":200000,"maxTokens":64000},"anthropic/claude-opus-4-5":{"id":"anthropic/claude-opus-4-5","name":"Claude Opus 4.5 (latest)","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":200000,"maxTokens":64000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"anthropic/claude-opus-4-6":{"id":"anthropic/claude-opus-4-6","name":"Claude Opus 4.6","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":"max"}},"anthropic/claude-opus-4-7":{"id":"anthropic/claude-opus-4-7","name":"Claude Opus 4.7","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"anthropic/claude-opus-4-8":{"id":"anthropic/claude-opus-4-8","name":"Claude Opus 4.8","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"anthropic/claude-opus-5":{"id":"anthropic/claude-opus-5","name":"Claude Opus 5","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"anthropic/claude-sonnet-4-5":{"id":"anthropic/claude-sonnet-4-5","name":"Claude Sonnet 4.5 (latest)","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":1000000,"maxTokens":64000},"anthropic/claude-sonnet-4-6":{"id":"anthropic/claude-sonnet-4-6","name":"Claude Sonnet 4.6","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":"max"}},"anthropic/claude-sonnet-5":{"id":"anthropic/claude-sonnet-5","name":"Claude Sonnet 5","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":2,"output":10,"cacheRead":0.2,"cacheWrite":2.5},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"deepseek/deepseek-v4-flash":{"id":"deepseek/deepseek-v4-flash","name":"DeepSeek V4 Flash","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false,"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.0028,"cacheWrite":0},"contextWindow":1000000,"maxTokens":384000,"thinkingLevelMap":{"minimal":null,"low":null,"medium":null,"high":"high","max":"max"}},"deepseek/deepseek-v4-pro":{"id":"deepseek/deepseek-v4-pro","name":"DeepSeek V4 Pro","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false,"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0.435,"output":0.87,"cacheRead":0.003625,"cacheWrite":0},"contextWindow":1000000,"maxTokens":384000,"thinkingLevelMap":{"minimal":null,"low":null,"medium":null,"high":"high","max":"max"}},"google/gemini-2.5-flash":{"id":"google/gemini-2.5-flash","name":"Gemini 2.5 Flash","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.3,"output":2.5,"cacheRead":0.03,"cacheWrite":0},"contextWindow":1048576,"maxTokens":65536},"google/gemini-2.5-flash-lite":{"id":"google/gemini-2.5-flash-lite","name":"Gemini 2.5 Flash-Lite","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.1,"output":0.4,"cacheRead":0.01,"cacheWrite":0},"contextWindow":1048576,"maxTokens":65536},"google/gemini-2.5-pro":{"id":"google/gemini-2.5-pro","name":"Gemini 2.5 Pro","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.125,"cacheWrite":0,"tiers":[{"inputTokensAbove":200000,"input":2.5,"output":15,"cacheRead":0.25,"cacheWrite":0}]},"contextWindow":1048576,"maxTokens":65536},"google/gemini-3-flash-preview":{"id":"google/gemini-3-flash-preview","name":"Gemini 3 Flash Preview","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.5,"output":3,"cacheRead":0.05,"cacheWrite":0},"contextWindow":1048576,"maxTokens":65536,"thinkingLevelMap":{"off":null,"minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"google/gemini-3.1-flash-lite":{"id":"google/gemini-3.1-flash-lite","name":"Gemini 3.1 Flash Lite","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.25,"output":1.5,"cacheRead":0.025,"cacheWrite":0},"contextWindow":1048576,"maxTokens":65536,"thinkingLevelMap":{"off":null,"minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"google/gemini-3.1-pro-preview":{"id":"google/gemini-3.1-pro-preview","name":"Gemini 3.1 Pro Preview","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":2,"output":12,"cacheRead":0.2,"cacheWrite":0,"tiers":[{"inputTokensAbove":200000,"input":4,"output":18,"cacheRead":0.4,"cacheWrite":0}]},"contextWindow":1048576,"maxTokens":65536,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"google/gemini-3.5-flash":{"id":"google/gemini-3.5-flash","name":"Gemini 3.5 Flash","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1.5,"output":9,"cacheRead":0.15,"cacheWrite":0},"contextWindow":1048576,"maxTokens":65536,"thinkingLevelMap":{"off":null,"minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"minimax/MiniMax-M2.5":{"id":"minimax/MiniMax-M2.5","name":"MiniMax-M2.5","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.03,"cacheWrite":0.375},"contextWindow":204800,"maxTokens":131072},"minimax/MiniMax-M2.7":{"id":"minimax/MiniMax-M2.7","name":"MiniMax-M2.7","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0.375},"contextWindow":204800,"maxTokens":131072},"minimax/MiniMax-M3":{"id":"minimax/MiniMax-M3","name":"MiniMax-M3","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0,"tiers":[{"inputTokensAbove":512000,"input":0.6,"output":2.4,"cacheRead":0.12,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":128000},"moonshotai/kimi-k2.5":{"id":"moonshotai/kimi-k2.5","name":"Kimi K2.5","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":0.6,"output":3,"cacheRead":0.1,"cacheWrite":0},"contextWindow":262144,"maxTokens":262144},"moonshotai/kimi-k2.6":{"id":"moonshotai/kimi-k2.6","name":"Kimi K2.6","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.16,"cacheWrite":0},"contextWindow":262144,"maxTokens":262144},"moonshotai/kimi-k3":{"id":"moonshotai/kimi-k3","name":"Kimi K3","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":null,"high":"high","xhigh":null,"max":"max"}},"moonshotai/kimi-k3-ultrafast":{"id":"moonshotai/kimi-k3-ultrafast","name":"Kimi K3 Ultrafast","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"openai/gpt-3.5-turbo-0125":{"id":"openai/gpt-3.5-turbo-0125","name":"GPT-3.5 Turbo (0125)","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text"],"cost":{"input":0.5,"output":1.5,"cacheRead":0,"cacheWrite":0},"contextWindow":16385,"maxTokens":4096},"openai/gpt-3.5-turbo-1106":{"id":"openai/gpt-3.5-turbo-1106","name":"GPT-3.5 Turbo (1106)","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text"],"cost":{"input":1,"output":2,"cacheRead":0,"cacheWrite":0},"contextWindow":16385,"maxTokens":4096},"openai/gpt-4":{"id":"openai/gpt-4","name":"GPT-4","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text"],"cost":{"input":30,"output":60,"cacheRead":0,"cacheWrite":0},"contextWindow":8192,"maxTokens":8192},"openai/gpt-4-0613":{"id":"openai/gpt-4-0613","name":"GPT-4 (0613)","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text"],"cost":{"input":30,"output":60,"cacheRead":0,"cacheWrite":0},"contextWindow":8192,"maxTokens":8192},"openai/gpt-4-turbo":{"id":"openai/gpt-4-turbo","name":"GPT-4 Turbo","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text"],"cost":{"input":10,"output":30,"cacheRead":0,"cacheWrite":0},"contextWindow":128000,"maxTokens":4096},"openai/gpt-4.1":{"id":"openai/gpt-4.1","name":"GPT-4.1","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.5,"cacheWrite":0},"contextWindow":1047576,"maxTokens":32768},"openai/gpt-4.1-mini":{"id":"openai/gpt-4.1-mini","name":"GPT-4.1 mini","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text","image"],"cost":{"input":0.4,"output":1.6,"cacheRead":0.1,"cacheWrite":0},"contextWindow":1047576,"maxTokens":32768},"openai/gpt-4.1-nano":{"id":"openai/gpt-4.1-nano","name":"GPT-4.1 nano","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text","image"],"cost":{"input":0.1,"output":0.4,"cacheRead":0.025,"cacheWrite":0},"contextWindow":1047576,"maxTokens":32768},"openai/gpt-4o":{"id":"openai/gpt-4o","name":"GPT-4o","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text","image"],"cost":{"input":2.5,"output":10,"cacheRead":1.25,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384},"openai/gpt-4o-mini":{"id":"openai/gpt-4o-mini","name":"GPT-4o mini","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text","image"],"cost":{"input":0.15,"output":0.6,"cacheRead":0.075,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384},"openai/gpt-5":{"id":"openai/gpt-5","name":"GPT-5","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.125,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"openai/gpt-5-mini":{"id":"openai/gpt-5-mini","name":"GPT-5 Mini","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.25,"output":2,"cacheRead":0.025,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"openai/gpt-5-nano":{"id":"openai/gpt-5-nano","name":"GPT-5 Nano","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.05,"output":0.4,"cacheRead":0.005,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"openai/gpt-5.1":{"id":"openai/gpt-5.1","name":"GPT-5.1","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.125,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"openai/gpt-5.2":{"id":"openai/gpt-5.2","name":"GPT-5.2","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null}},"openai/gpt-5.4":{"id":"openai/gpt-5.4","name":"GPT-5.4","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":2.5,"output":15,"cacheRead":0.25,"cacheWrite":0,"tiers":[{"inputTokensAbove":272000,"input":5,"output":22.5,"cacheRead":0.5,"cacheWrite":0}]},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null}},"openai/gpt-5.4-mini":{"id":"openai/gpt-5.4-mini","name":"GPT-5.4 mini","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.75,"output":4.5,"cacheRead":0.075,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null}},"openai/gpt-5.4-nano":{"id":"openai/gpt-5.4-nano","name":"GPT-5.4 nano","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.25,"cacheRead":0.02,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null}},"openai/gpt-5.5":{"id":"openai/gpt-5.5","name":"GPT-5.5","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":0,"tiers":[{"inputTokensAbove":272000,"input":10,"output":45,"cacheRead":1,"cacheWrite":0}]},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null}},"openai/gpt-5.6":{"id":"openai/gpt-5.6","name":"GPT-5.6","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":6.25,"tiers":[{"inputTokensAbove":272000,"input":10,"output":45,"cacheRead":1,"cacheWrite":12.5}]},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"openai/gpt-5.6-luna":{"id":"openai/gpt-5.6-luna","name":"GPT-5.6 Luna","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.2,"cacheRead":0.02,"cacheWrite":0.25,"tiers":[{"inputTokensAbove":272000,"input":0.4,"output":1.8,"cacheRead":0.04,"cacheWrite":0.5}]},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"openai/gpt-5.6-sol":{"id":"openai/gpt-5.6-sol","name":"GPT-5.6 Sol","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":6.25,"tiers":[{"inputTokensAbove":272000,"input":10,"output":45,"cacheRead":1,"cacheWrite":12.5}]},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"openai/gpt-5.6-terra":{"id":"openai/gpt-5.6-terra","name":"GPT-5.6 Terra","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":2,"output":12,"cacheRead":0.2,"cacheWrite":2.5,"tiers":[{"inputTokensAbove":272000,"input":4,"output":18,"cacheRead":0.4,"cacheWrite":5}]},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"openai/o1":{"id":"openai/o1","name":"o1","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":15,"output":60,"cacheRead":7.5,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"openai/o3":{"id":"openai/o3","name":"o3","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.5,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"openai/o3-mini":{"id":"openai/o3-mini","name":"o3-mini","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":1.1,"output":4.4,"cacheRead":0.55,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"openai/o4-mini":{"id":"openai/o4-mini","name":"o4-mini","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1.1,"output":4.4,"cacheRead":0.275,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"qwen/qwen-flash":{"id":"qwen/qwen-flash","name":"Qwen Flash","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":0.05,"output":0.4,"cacheRead":0,"cacheWrite":0},"contextWindow":1000000,"maxTokens":32768},"qwen/qwen3.7-max":{"id":"qwen/qwen3.7-max","name":"Qwen3.7 Max","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":2.5,"output":7.5,"cacheRead":0.5,"cacheWrite":3.125},"contextWindow":1000000,"maxTokens":65536},"qwen/qwen3.7-plus":{"id":"qwen/qwen3.7-plus","name":"Qwen3.7 Plus","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.5,"output":3,"cacheRead":0.05,"cacheWrite":0.625,"tiers":[{"inputTokensAbove":256000,"input":2,"output":6,"cacheRead":0.2,"cacheWrite":2.5}]},"contextWindow":1000000,"maxTokens":65536},"x-ai/grok-4-1-fast":{"id":"x-ai/grok-4-1-fast","name":"Grok 4.1 Fast","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":0.5,"cacheRead":0.05,"cacheWrite":0},"contextWindow":2000000,"maxTokens":30000},"x-ai/grok-4.20":{"id":"x-ai/grok-4.20","name":"Grok 4.20","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":2.5,"cacheRead":0.2,"cacheWrite":0,"tiers":[{"inputTokensAbove":200000,"input":2.5,"output":5,"cacheRead":0.4,"cacheWrite":0}]},"contextWindow":2000000,"maxTokens":2000000},"x-ai/grok-4.3":{"id":"x-ai/grok-4.3","name":"Grok 4.3","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":2.5,"cacheRead":0.2,"cacheWrite":0,"tiers":[{"inputTokensAbove":200000,"input":2.5,"output":5,"cacheRead":0.4,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":30000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"z-ai/glm-5.1":{"id":"z-ai/glm-5.1","name":"GLM-5.1","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"contextWindow":200000,"maxTokens":131072},"z-ai/glm-5.2":{"id":"z-ai/glm-5.2","name":"GLM-5.2","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"contextWindow":1000000,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":"max"}},"z-ai/glm-5.2-ultrafast":{"id":"z-ai/glm-5.2-ultrafast","name":"GLM-5.2 Ultrafast","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"contextWindow":1000000,"maxTokens":131072}}}
1
+ {"openai-completions":{"anthropic/claude-fable-5":{"id":"anthropic/claude-fable-5","name":"Claude Fable 5","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":10,"output":50,"cacheRead":1,"cacheWrite":12.5},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"anthropic/claude-haiku-4-5":{"id":"anthropic/claude-haiku-4-5","name":"Claude Haiku 4.5 (latest)","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1,"output":5,"cacheRead":0.1,"cacheWrite":1.25},"contextWindow":200000,"maxTokens":64000},"anthropic/claude-opus-4-5":{"id":"anthropic/claude-opus-4-5","name":"Claude Opus 4.5 (latest)","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":200000,"maxTokens":64000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"anthropic/claude-opus-4-6":{"id":"anthropic/claude-opus-4-6","name":"Claude Opus 4.6","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":"max"}},"anthropic/claude-opus-4-7":{"id":"anthropic/claude-opus-4-7","name":"Claude Opus 4.7","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"anthropic/claude-opus-4-8":{"id":"anthropic/claude-opus-4-8","name":"Claude Opus 4.8","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"anthropic/claude-opus-5":{"id":"anthropic/claude-opus-5","name":"Claude Opus 5","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"anthropic/claude-sonnet-4-5":{"id":"anthropic/claude-sonnet-4-5","name":"Claude Sonnet 4.5 (latest)","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":1000000,"maxTokens":64000},"anthropic/claude-sonnet-4-6":{"id":"anthropic/claude-sonnet-4-6","name":"Claude Sonnet 4.6","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":"max"}},"anthropic/claude-sonnet-5":{"id":"anthropic/claude-sonnet-5","name":"Claude Sonnet 5","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":2,"output":10,"cacheRead":0.2,"cacheWrite":2.5},"contextWindow":1000000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"deepseek/deepseek-v4-flash":{"id":"deepseek/deepseek-v4-flash","name":"DeepSeek V4 Flash","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false,"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.0028,"cacheWrite":0},"contextWindow":1000000,"maxTokens":384000,"thinkingLevelMap":{"minimal":null,"low":null,"medium":null,"high":"high","max":"max"}},"deepseek/deepseek-v4-pro":{"id":"deepseek/deepseek-v4-pro","name":"DeepSeek V4 Pro","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false,"requiresReasoningContentOnAssistantMessages":true,"thinkingFormat":"deepseek"},"reasoning":true,"input":["text"],"cost":{"input":0.435,"output":0.87,"cacheRead":0.003625,"cacheWrite":0},"contextWindow":1000000,"maxTokens":384000,"thinkingLevelMap":{"minimal":null,"low":null,"medium":null,"high":"high","max":"max"}},"google/gemini-2.5-flash":{"id":"google/gemini-2.5-flash","name":"Gemini 2.5 Flash","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.3,"output":2.5,"cacheRead":0.03,"cacheWrite":0},"contextWindow":1048576,"maxTokens":65536},"google/gemini-2.5-flash-lite":{"id":"google/gemini-2.5-flash-lite","name":"Gemini 2.5 Flash-Lite","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.1,"output":0.4,"cacheRead":0.01,"cacheWrite":0},"contextWindow":1048576,"maxTokens":65536},"google/gemini-2.5-pro":{"id":"google/gemini-2.5-pro","name":"Gemini 2.5 Pro","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.125,"cacheWrite":0,"tiers":[{"inputTokensAbove":200000,"input":2.5,"output":15,"cacheRead":0.25,"cacheWrite":0}]},"contextWindow":1048576,"maxTokens":65536},"google/gemini-3-flash-preview":{"id":"google/gemini-3-flash-preview","name":"Gemini 3 Flash Preview","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.5,"output":3,"cacheRead":0.05,"cacheWrite":0},"contextWindow":1048576,"maxTokens":65536,"thinkingLevelMap":{"off":null,"minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"google/gemini-3.1-flash-lite":{"id":"google/gemini-3.1-flash-lite","name":"Gemini 3.1 Flash Lite","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.25,"output":1.5,"cacheRead":0.025,"cacheWrite":0},"contextWindow":1048576,"maxTokens":65536,"thinkingLevelMap":{"off":null,"minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"google/gemini-3.1-pro-preview":{"id":"google/gemini-3.1-pro-preview","name":"Gemini 3.1 Pro Preview","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":2,"output":12,"cacheRead":0.2,"cacheWrite":0,"tiers":[{"inputTokensAbove":200000,"input":4,"output":18,"cacheRead":0.4,"cacheWrite":0}]},"contextWindow":1048576,"maxTokens":65536,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"google/gemini-3.5-flash":{"id":"google/gemini-3.5-flash","name":"Gemini 3.5 Flash","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1.5,"output":9,"cacheRead":0.15,"cacheWrite":0},"contextWindow":1048576,"maxTokens":65536,"thinkingLevelMap":{"off":null,"minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"minimax/MiniMax-M2.5":{"id":"minimax/MiniMax-M2.5","name":"MiniMax-M2.5","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.03,"cacheWrite":0.375},"contextWindow":204800,"maxTokens":131072},"minimax/MiniMax-M2.7":{"id":"minimax/MiniMax-M2.7","name":"MiniMax-M2.7","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0.375},"contextWindow":204800,"maxTokens":131072},"minimax/MiniMax-M3":{"id":"minimax/MiniMax-M3","name":"MiniMax-M3","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0,"tiers":[{"inputTokensAbove":512000,"input":0.6,"output":2.4,"cacheRead":0.12,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":128000},"moonshotai/kimi-k2.5":{"id":"moonshotai/kimi-k2.5","name":"Kimi K2.5","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":0.6,"output":3,"cacheRead":0.1,"cacheWrite":0},"contextWindow":262144,"maxTokens":262144},"moonshotai/kimi-k2.6":{"id":"moonshotai/kimi-k2.6","name":"Kimi K2.6","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.16,"cacheWrite":0},"contextWindow":262144,"maxTokens":262144},"moonshotai/kimi-k3":{"id":"moonshotai/kimi-k3","name":"Kimi K3","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":null,"high":"high","xhigh":null,"max":"max"}},"moonshotai/kimi-k3-ultrafast":{"id":"moonshotai/kimi-k3-ultrafast","name":"Kimi K3 Ultrafast","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072},"openai/gpt-3.5-turbo-0125":{"id":"openai/gpt-3.5-turbo-0125","name":"GPT-3.5 Turbo (0125)","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text"],"cost":{"input":0.5,"output":1.5,"cacheRead":0,"cacheWrite":0},"contextWindow":16385,"maxTokens":4096},"openai/gpt-3.5-turbo-1106":{"id":"openai/gpt-3.5-turbo-1106","name":"GPT-3.5 Turbo (1106)","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text"],"cost":{"input":1,"output":2,"cacheRead":0,"cacheWrite":0},"contextWindow":16385,"maxTokens":4096},"openai/gpt-4":{"id":"openai/gpt-4","name":"GPT-4","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text"],"cost":{"input":30,"output":60,"cacheRead":0,"cacheWrite":0},"contextWindow":8192,"maxTokens":8192},"openai/gpt-4-0613":{"id":"openai/gpt-4-0613","name":"GPT-4 (0613)","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text"],"cost":{"input":30,"output":60,"cacheRead":0,"cacheWrite":0},"contextWindow":8192,"maxTokens":8192},"openai/gpt-4-turbo":{"id":"openai/gpt-4-turbo","name":"GPT-4 Turbo","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text"],"cost":{"input":10,"output":30,"cacheRead":0,"cacheWrite":0},"contextWindow":128000,"maxTokens":4096},"openai/gpt-4.1":{"id":"openai/gpt-4.1","name":"GPT-4.1","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.5,"cacheWrite":0},"contextWindow":1047576,"maxTokens":32768},"openai/gpt-4.1-mini":{"id":"openai/gpt-4.1-mini","name":"GPT-4.1 mini","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text","image"],"cost":{"input":0.4,"output":1.6,"cacheRead":0.1,"cacheWrite":0},"contextWindow":1047576,"maxTokens":32768},"openai/gpt-4.1-nano":{"id":"openai/gpt-4.1-nano","name":"GPT-4.1 nano","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text","image"],"cost":{"input":0.1,"output":0.4,"cacheRead":0.025,"cacheWrite":0},"contextWindow":1047576,"maxTokens":32768},"openai/gpt-4o":{"id":"openai/gpt-4o","name":"GPT-4o","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text","image"],"cost":{"input":2.5,"output":10,"cacheRead":1.25,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384},"openai/gpt-4o-mini":{"id":"openai/gpt-4o-mini","name":"GPT-4o mini","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":false,"input":["text","image"],"cost":{"input":0.15,"output":0.6,"cacheRead":0.075,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384},"openai/gpt-5":{"id":"openai/gpt-5","name":"GPT-5","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.125,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"openai/gpt-5-mini":{"id":"openai/gpt-5-mini","name":"GPT-5 Mini","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.25,"output":2,"cacheRead":0.025,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"openai/gpt-5-nano":{"id":"openai/gpt-5-nano","name":"GPT-5 Nano","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.05,"output":0.4,"cacheRead":0.005,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":"minimal","low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"openai/gpt-5.1":{"id":"openai/gpt-5.1","name":"GPT-5.1","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.125,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"openai/gpt-5.2":{"id":"openai/gpt-5.2","name":"GPT-5.2","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null}},"openai/gpt-5.4":{"id":"openai/gpt-5.4","name":"GPT-5.4","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":2.5,"output":15,"cacheRead":0.25,"cacheWrite":0,"tiers":[{"inputTokensAbove":272000,"input":5,"output":22.5,"cacheRead":0.5,"cacheWrite":0}]},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null}},"openai/gpt-5.4-mini":{"id":"openai/gpt-5.4-mini","name":"GPT-5.4 mini","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.75,"output":4.5,"cacheRead":0.075,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null}},"openai/gpt-5.4-nano":{"id":"openai/gpt-5.4-nano","name":"GPT-5.4 nano","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.25,"cacheRead":0.02,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null}},"openai/gpt-5.5":{"id":"openai/gpt-5.5","name":"GPT-5.5","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":0,"tiers":[{"inputTokensAbove":272000,"input":10,"output":45,"cacheRead":1,"cacheWrite":0}]},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null}},"openai/gpt-5.6":{"id":"openai/gpt-5.6","name":"GPT-5.6","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":6.25,"tiers":[{"inputTokensAbove":272000,"input":10,"output":45,"cacheRead":1,"cacheWrite":12.5}]},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"openai/gpt-5.6-luna":{"id":"openai/gpt-5.6-luna","name":"GPT-5.6 Luna","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.2,"cacheRead":0.02,"cacheWrite":0.25,"tiers":[{"inputTokensAbove":272000,"input":0.4,"output":1.8,"cacheRead":0.04,"cacheWrite":0.5}]},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"openai/gpt-5.6-sol":{"id":"openai/gpt-5.6-sol","name":"GPT-5.6 Sol","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":6.25,"tiers":[{"inputTokensAbove":272000,"input":10,"output":45,"cacheRead":1,"cacheWrite":12.5}]},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"openai/gpt-5.6-terra":{"id":"openai/gpt-5.6-terra","name":"GPT-5.6 Terra","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":2,"output":12,"cacheRead":0.2,"cacheWrite":2.5,"tiers":[{"inputTokensAbove":272000,"input":4,"output":18,"cacheRead":0.4,"cacheWrite":5}]},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"}},"openai/o1":{"id":"openai/o1","name":"o1","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":15,"output":60,"cacheRead":7.5,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"openai/o3":{"id":"openai/o3","name":"o3","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.5,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"openai/o3-mini":{"id":"openai/o3-mini","name":"o3-mini","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":1.1,"output":4.4,"cacheRead":0.55,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"openai/o4-mini":{"id":"openai/o4-mini","name":"o4-mini","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1.1,"output":4.4,"cacheRead":0.275,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"qwen/qwen-flash":{"id":"qwen/qwen-flash","name":"Qwen Flash","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":0.05,"output":0.4,"cacheRead":0,"cacheWrite":0},"contextWindow":1000000,"maxTokens":32768},"qwen/qwen3.7-max":{"id":"qwen/qwen3.7-max","name":"Qwen3.7 Max","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":2.5,"output":7.5,"cacheRead":0.5,"cacheWrite":3.125},"contextWindow":1000000,"maxTokens":65536},"qwen/qwen3.7-plus":{"id":"qwen/qwen3.7-plus","name":"Qwen3.7 Plus","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.5,"output":3,"cacheRead":0.05,"cacheWrite":0.625,"tiers":[{"inputTokensAbove":256000,"input":2,"output":6,"cacheRead":0.2,"cacheWrite":2.5}]},"contextWindow":1000000,"maxTokens":65536},"qwen/qwen3.8-max":{"id":"qwen/qwen3.8-max","name":"Qwen3.8 Max","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":2,"output":6,"cacheRead":0.25,"cacheWrite":2.5},"contextWindow":1000000,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":null,"xhigh":"xhigh","max":null}},"x-ai/grok-4-1-fast":{"id":"x-ai/grok-4-1-fast","name":"Grok 4.1 Fast","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":0.5,"cacheRead":0.05,"cacheWrite":0},"contextWindow":2000000,"maxTokens":30000},"x-ai/grok-4.20":{"id":"x-ai/grok-4.20","name":"Grok 4.20","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":2.5,"cacheRead":0.2,"cacheWrite":0,"tiers":[{"inputTokensAbove":200000,"input":2.5,"output":5,"cacheRead":0.4,"cacheWrite":0}]},"contextWindow":2000000,"maxTokens":2000000},"x-ai/grok-4.3":{"id":"x-ai/grok-4.3","name":"Grok 4.3","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":2.5,"cacheRead":0.2,"cacheWrite":0,"tiers":[{"inputTokensAbove":200000,"input":2.5,"output":5,"cacheRead":0.4,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":30000,"thinkingLevelMap":{"off":"none","minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"z-ai/glm-5.1":{"id":"z-ai/glm-5.1","name":"GLM-5.1","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"contextWindow":200000,"maxTokens":131072},"z-ai/glm-5.2":{"id":"z-ai/glm-5.2","name":"GLM-5.2","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"contextWindow":1000000,"maxTokens":131072,"thinkingLevelMap":{"off":null,"minimal":null,"low":null,"medium":null,"high":"high","xhigh":null,"max":"max"}},"z-ai/glm-5.2-ultrafast":{"id":"z-ai/glm-5.2-ultrafast","name":"GLM-5.2 Ultrafast","api":"openai-completions","provider":"opengateway","baseUrl":"https://apis.opengateway.ai/v1","compat":{"supportsDeveloperRole":false},"reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"contextWindow":1000000,"maxTokens":131072}}}