gsd-pi 2.77.0-dev.1d17f366c → 2.77.0-dev.2daa994b6

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 (368) hide show
  1. package/dist/headless.js +25 -4
  2. package/dist/resource-loader.d.ts +40 -0
  3. package/dist/resource-loader.js +32 -13
  4. package/dist/resources/extensions/browser-tools/capture.js +9 -0
  5. package/dist/resources/extensions/browser-tools/tests/browser-tools-integration.test.mjs +8 -59
  6. package/dist/resources/extensions/browser-tools/tests/browser-tools-unit.test.cjs +36 -24
  7. package/dist/resources/extensions/browser-tools/tests/capture-sharp-optional.test.cjs +69 -71
  8. package/dist/resources/extensions/browser-tools/tools/forms.js +5 -1
  9. package/dist/resources/extensions/browser-tools/tools/intent.js +5 -1
  10. package/dist/resources/extensions/gsd/auto/phases.js +5 -18
  11. package/dist/resources/extensions/gsd/auto/session.js +6 -0
  12. package/dist/resources/extensions/gsd/auto-dispatch.js +37 -8
  13. package/dist/resources/extensions/gsd/auto-post-unit.js +79 -0
  14. package/dist/resources/extensions/gsd/auto-prompts.js +372 -104
  15. package/dist/resources/extensions/gsd/auto-start.js +75 -24
  16. package/dist/resources/extensions/gsd/auto.js +34 -0
  17. package/dist/resources/extensions/gsd/bootstrap/agent-end-recovery.js +9 -1
  18. package/dist/resources/extensions/gsd/bootstrap/write-gate.js +7 -1
  19. package/dist/resources/extensions/gsd/component-loader.js +447 -0
  20. package/dist/resources/extensions/gsd/component-types.js +69 -0
  21. package/dist/resources/extensions/gsd/context-store.js +23 -7
  22. package/dist/resources/extensions/gsd/detection.js +49 -1
  23. package/dist/resources/extensions/gsd/docs/preferences-reference.md +1 -1
  24. package/dist/resources/extensions/gsd/forensics.js +106 -0
  25. package/dist/resources/extensions/gsd/gsd-db.js +1 -1
  26. package/dist/resources/extensions/gsd/guided-flow.js +2 -4
  27. package/dist/resources/extensions/gsd/memory-extractor.js +7 -1
  28. package/dist/resources/extensions/gsd/milestone-scope-classifier.js +299 -0
  29. package/dist/resources/extensions/gsd/model-cost-table.js +3 -0
  30. package/dist/resources/extensions/gsd/model-router.js +6 -0
  31. package/dist/resources/extensions/gsd/preferences-validation.js +23 -0
  32. package/dist/resources/extensions/gsd/prompt-cache-optimizer.js +4 -0
  33. package/dist/resources/extensions/gsd/prompts/complete-milestone.md +5 -1
  34. package/dist/resources/extensions/gsd/prompts/plan-slice.md +15 -2
  35. package/dist/resources/extensions/gsd/service-tier.js +5 -2
  36. package/dist/resources/extensions/gsd/skill-manifest.js +168 -0
  37. package/dist/resources/extensions/gsd/slice-cadence.js +238 -0
  38. package/dist/resources/extensions/gsd/tools/validate-milestone.js +7 -2
  39. package/dist/resources/extensions/gsd/unit-context-composer.js +147 -0
  40. package/dist/resources/extensions/gsd/unit-context-manifest.js +334 -0
  41. package/dist/resources/extensions/gsd/worktree-manager.js +51 -0
  42. package/dist/resources/extensions/gsd/worktree-resolver.js +86 -7
  43. package/dist/resources/extensions/gsd/worktree-telemetry.js +198 -0
  44. package/dist/resources/extensions/mcp-client/index.js +3 -1
  45. package/dist/resources/extensions/ollama/index.js +5 -1
  46. package/dist/resources/extensions/remote-questions/manager.js +11 -5
  47. package/dist/tsconfig.extensions.tsbuildinfo +1 -1
  48. package/dist/web/standalone/.next/BUILD_ID +1 -1
  49. package/dist/web/standalone/.next/app-path-routes-manifest.json +17 -17
  50. package/dist/web/standalone/.next/build-manifest.json +2 -2
  51. package/dist/web/standalone/.next/prerender-manifest.json +3 -3
  52. package/dist/web/standalone/.next/server/app/_global-error.html +1 -1
  53. package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
  54. package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  55. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  56. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  57. package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  58. package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  59. package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  60. package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
  61. package/dist/web/standalone/.next/server/app/_not-found.rsc +1 -1
  62. package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  63. package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  64. package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  65. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  66. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  67. package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  68. package/dist/web/standalone/.next/server/app/index.html +1 -1
  69. package/dist/web/standalone/.next/server/app/index.rsc +1 -1
  70. package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  71. package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
  72. package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  73. package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  74. package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  75. package/dist/web/standalone/.next/server/app-paths-manifest.json +17 -17
  76. package/dist/web/standalone/.next/server/chunks/6897.js +1 -1
  77. package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
  78. package/dist/web/standalone/.next/server/middleware-manifest.json +5 -5
  79. package/dist/web/standalone/.next/server/pages/404.html +1 -1
  80. package/dist/web/standalone/.next/server/pages/500.html +1 -1
  81. package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
  82. package/package.json +1 -3
  83. package/packages/mcp-server/src/mcp-server.test.ts +25 -3
  84. package/packages/mcp-server/src/readers/graph.test.ts +87 -15
  85. package/packages/mcp-server/src/workflow-tools.test.ts +80 -39
  86. package/packages/native/package.json +1 -1
  87. package/packages/native/src/__tests__/_test-coverage-guard.test.mjs +98 -0
  88. package/packages/native/src/__tests__/module-compat.test.mjs +59 -27
  89. package/packages/native/src/__tests__/ps.test.mjs +14 -8
  90. package/packages/native/src/__tests__/stream-process.test.mjs +23 -2
  91. package/packages/native/src/__tests__/truncate.test.mjs +17 -2
  92. package/packages/pi-agent-core/src/agent-loop.test.ts +5 -15
  93. package/packages/pi-agent-core/src/agent.test.ts +96 -102
  94. package/packages/pi-agent-core/tsconfig.tsbuildinfo +1 -1
  95. package/packages/pi-ai/dist/models/generated/index.d.ts +34 -0
  96. package/packages/pi-ai/dist/models/generated/index.d.ts.map +1 -1
  97. package/packages/pi-ai/dist/models/generated/openai-codex.d.ts +17 -0
  98. package/packages/pi-ai/dist/models/generated/openai-codex.d.ts.map +1 -1
  99. package/packages/pi-ai/dist/models/generated/openai-codex.js +17 -0
  100. package/packages/pi-ai/dist/models/generated/openai-codex.js.map +1 -1
  101. package/packages/pi-ai/dist/models/generated/openai.d.ts +17 -0
  102. package/packages/pi-ai/dist/models/generated/openai.d.ts.map +1 -1
  103. package/packages/pi-ai/dist/models/generated/openai.js +17 -0
  104. package/packages/pi-ai/dist/models/generated/openai.js.map +1 -1
  105. package/packages/pi-ai/dist/models.generated.test.js +43 -70
  106. package/packages/pi-ai/dist/models.generated.test.js.map +1 -1
  107. package/packages/pi-ai/dist/models.test.js +29 -11
  108. package/packages/pi-ai/dist/models.test.js.map +1 -1
  109. package/packages/pi-ai/scripts/generate-models.ts +44 -0
  110. package/packages/pi-ai/src/models/generated/openai-codex.ts +17 -0
  111. package/packages/pi-ai/src/models/generated/openai.ts +17 -0
  112. package/packages/pi-ai/src/models.generated.test.ts +46 -73
  113. package/packages/pi-ai/src/models.test.ts +39 -11
  114. package/packages/pi-ai/tsconfig.tsbuildinfo +1 -1
  115. package/packages/pi-coding-agent/dist/core/agent-session-abort-order.test.js +96 -32
  116. package/packages/pi-coding-agent/dist/core/agent-session-abort-order.test.js.map +1 -1
  117. package/packages/pi-coding-agent/dist/core/agent-session-model-switch.test.js +75 -12
  118. package/packages/pi-coding-agent/dist/core/agent-session-model-switch.test.js.map +1 -1
  119. package/packages/pi-coding-agent/dist/core/agent-session-tool-refresh.test.js +99 -31
  120. package/packages/pi-coding-agent/dist/core/agent-session-tool-refresh.test.js.map +1 -1
  121. package/packages/pi-coding-agent/dist/core/extensions/loader.d.ts +5 -0
  122. package/packages/pi-coding-agent/dist/core/extensions/loader.d.ts.map +1 -1
  123. package/packages/pi-coding-agent/dist/core/extensions/loader.js +61 -0
  124. package/packages/pi-coding-agent/dist/core/extensions/loader.js.map +1 -1
  125. package/packages/pi-coding-agent/dist/core/lsp/lsp-integration.test.js +30 -4
  126. package/packages/pi-coding-agent/dist/core/lsp/lsp-integration.test.js.map +1 -1
  127. package/packages/pi-coding-agent/dist/core/model-registry-auth-mode.test.js +17 -0
  128. package/packages/pi-coding-agent/dist/core/model-registry-auth-mode.test.js.map +1 -1
  129. package/packages/pi-coding-agent/dist/core/resource-loader-cache-reset.test.js +76 -18
  130. package/packages/pi-coding-agent/dist/core/resource-loader-cache-reset.test.js.map +1 -1
  131. package/packages/pi-coding-agent/dist/core/retry-handler.d.ts.map +1 -1
  132. package/packages/pi-coding-agent/dist/core/retry-handler.js +2 -6
  133. package/packages/pi-coding-agent/dist/core/retry-handler.js.map +1 -1
  134. package/packages/pi-coding-agent/dist/core/retry-handler.test.js +5 -1
  135. package/packages/pi-coding-agent/dist/core/retry-handler.test.js.map +1 -1
  136. package/packages/pi-coding-agent/dist/core/retryable-error-regex.d.ts +18 -0
  137. package/packages/pi-coding-agent/dist/core/retryable-error-regex.d.ts.map +1 -0
  138. package/packages/pi-coding-agent/dist/core/retryable-error-regex.js +18 -0
  139. package/packages/pi-coding-agent/dist/core/retryable-error-regex.js.map +1 -0
  140. package/packages/pi-coding-agent/dist/core/system-prompt.d.ts +20 -0
  141. package/packages/pi-coding-agent/dist/core/system-prompt.d.ts.map +1 -1
  142. package/packages/pi-coding-agent/dist/core/system-prompt.js +16 -2
  143. package/packages/pi-coding-agent/dist/core/system-prompt.js.map +1 -1
  144. package/packages/pi-coding-agent/dist/index.d.ts +1 -0
  145. package/packages/pi-coding-agent/dist/index.d.ts.map +1 -1
  146. package/packages/pi-coding-agent/dist/index.js +1 -0
  147. package/packages/pi-coding-agent/dist/index.js.map +1 -1
  148. package/packages/pi-coding-agent/dist/modes/interactive/components/__tests__/tool-execution.test.js +36 -5
  149. package/packages/pi-coding-agent/dist/modes/interactive/components/__tests__/tool-execution.test.js.map +1 -1
  150. package/packages/pi-coding-agent/dist/modes/interactive/components/dynamic-border.test.js +20 -13
  151. package/packages/pi-coding-agent/dist/modes/interactive/components/dynamic-border.test.js.map +1 -1
  152. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  153. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +30 -12
  154. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
  155. package/packages/pi-coding-agent/dist/tests/system-prompt-skill-filter.test.d.ts +2 -0
  156. package/packages/pi-coding-agent/dist/tests/system-prompt-skill-filter.test.d.ts.map +1 -0
  157. package/packages/pi-coding-agent/dist/tests/system-prompt-skill-filter.test.js +130 -0
  158. package/packages/pi-coding-agent/dist/tests/system-prompt-skill-filter.test.js.map +1 -0
  159. package/packages/pi-coding-agent/src/core/agent-session-abort-order.test.ts +113 -37
  160. package/packages/pi-coding-agent/src/core/agent-session-model-switch.test.ts +89 -17
  161. package/packages/pi-coding-agent/src/core/agent-session-tool-refresh.test.ts +112 -43
  162. package/packages/pi-coding-agent/src/core/extensions/loader.ts +58 -0
  163. package/packages/pi-coding-agent/src/core/lsp/lsp-integration.test.ts +35 -4
  164. package/packages/pi-coding-agent/src/core/model-registry-auth-mode.test.ts +20 -0
  165. package/packages/pi-coding-agent/src/core/resource-loader-cache-reset.test.ts +93 -28
  166. package/packages/pi-coding-agent/src/core/retry-handler.test.ts +5 -1
  167. package/packages/pi-coding-agent/src/core/retry-handler.ts +2 -8
  168. package/packages/pi-coding-agent/src/core/retryable-error-regex.ts +18 -0
  169. package/packages/pi-coding-agent/src/core/system-prompt.ts +35 -1
  170. package/packages/pi-coding-agent/src/index.ts +1 -0
  171. package/packages/pi-coding-agent/src/modes/interactive/components/__tests__/tool-execution.test.ts +49 -3
  172. package/packages/pi-coding-agent/src/modes/interactive/components/dynamic-border.test.ts +26 -20
  173. package/packages/pi-coding-agent/src/modes/interactive/components/tool-execution.ts +48 -9
  174. package/packages/pi-coding-agent/src/tests/system-prompt-skill-filter.test.ts +157 -0
  175. package/packages/pi-coding-agent/tsconfig.tsbuildinfo +1 -1
  176. package/packages/pi-tui/dist/__tests__/autocomplete.test.js +18 -8
  177. package/packages/pi-tui/dist/__tests__/autocomplete.test.js.map +1 -1
  178. package/packages/pi-tui/dist/__tests__/overlay-layout.test.js +128 -17
  179. package/packages/pi-tui/dist/__tests__/overlay-layout.test.js.map +1 -1
  180. package/packages/pi-tui/dist/__tests__/stdin-buffer.test.js +36 -12
  181. package/packages/pi-tui/dist/__tests__/stdin-buffer.test.js.map +1 -1
  182. package/packages/pi-tui/dist/__tests__/tui.test.js +18 -30
  183. package/packages/pi-tui/dist/__tests__/tui.test.js.map +1 -1
  184. package/packages/pi-tui/dist/components/__tests__/input.test.js +10 -3
  185. package/packages/pi-tui/dist/components/__tests__/input.test.js.map +1 -1
  186. package/packages/pi-tui/dist/components/__tests__/loader.test.js +53 -9
  187. package/packages/pi-tui/dist/components/__tests__/loader.test.js.map +1 -1
  188. package/packages/pi-tui/dist/components/__tests__/markdown-maxlines.test.js +6 -2
  189. package/packages/pi-tui/dist/components/__tests__/markdown-maxlines.test.js.map +1 -1
  190. package/packages/pi-tui/dist/components/image.test.js +6 -5
  191. package/packages/pi-tui/dist/components/image.test.js.map +1 -1
  192. package/packages/pi-tui/src/__tests__/autocomplete.test.ts +24 -8
  193. package/packages/pi-tui/src/__tests__/overlay-layout.test.ts +140 -17
  194. package/packages/pi-tui/src/__tests__/stdin-buffer.test.ts +41 -12
  195. package/packages/pi-tui/src/__tests__/tui.test.ts +18 -37
  196. package/packages/pi-tui/src/components/__tests__/input.test.ts +19 -3
  197. package/packages/pi-tui/src/components/__tests__/loader.test.ts +112 -35
  198. package/packages/pi-tui/src/components/__tests__/markdown-maxlines.test.ts +9 -2
  199. package/packages/pi-tui/src/components/image.test.ts +10 -5
  200. package/packages/pi-tui/tsconfig.tsbuildinfo +1 -1
  201. package/packages/rpc-client/dist/rpc-client.test.js +101 -51
  202. package/packages/rpc-client/dist/rpc-client.test.js.map +1 -1
  203. package/packages/rpc-client/src/rpc-client.test.ts +109 -52
  204. package/packages/rpc-client/tsconfig.tsbuildinfo +1 -1
  205. package/scripts/install.js +15 -1
  206. package/src/resources/extensions/browser-tools/capture.ts +12 -0
  207. package/src/resources/extensions/browser-tools/tests/browser-tools-integration.test.mjs +8 -59
  208. package/src/resources/extensions/browser-tools/tests/browser-tools-unit.test.cjs +36 -24
  209. package/src/resources/extensions/browser-tools/tests/capture-sharp-optional.test.cjs +69 -71
  210. package/src/resources/extensions/browser-tools/tools/forms.ts +5 -1
  211. package/src/resources/extensions/browser-tools/tools/intent.ts +5 -1
  212. package/src/resources/extensions/claude-code-cli/tests/stream-adapter.test.ts +80 -72
  213. package/src/resources/extensions/github-sync/tests/cli.test.ts +76 -7
  214. package/src/resources/extensions/github-sync/tests/templates.test.ts +33 -1
  215. package/src/resources/extensions/gsd/auto/phases.ts +6 -17
  216. package/src/resources/extensions/gsd/auto/session.ts +7 -0
  217. package/src/resources/extensions/gsd/auto-dispatch.ts +40 -8
  218. package/src/resources/extensions/gsd/auto-post-unit.ts +81 -0
  219. package/src/resources/extensions/gsd/auto-prompts.ts +385 -93
  220. package/src/resources/extensions/gsd/auto-start.ts +97 -4
  221. package/src/resources/extensions/gsd/auto.ts +37 -0
  222. package/src/resources/extensions/gsd/bootstrap/agent-end-recovery.ts +9 -1
  223. package/src/resources/extensions/gsd/bootstrap/write-gate.ts +7 -1
  224. package/src/resources/extensions/gsd/component-loader.ts +598 -0
  225. package/src/resources/extensions/gsd/component-types.ts +362 -0
  226. package/src/resources/extensions/gsd/context-store.ts +25 -8
  227. package/src/resources/extensions/gsd/detection.ts +58 -1
  228. package/src/resources/extensions/gsd/docs/preferences-reference.md +1 -1
  229. package/src/resources/extensions/gsd/forensics.ts +118 -1
  230. package/src/resources/extensions/gsd/git-service.ts +16 -0
  231. package/src/resources/extensions/gsd/gsd-db.ts +1 -1
  232. package/src/resources/extensions/gsd/guided-flow.ts +2 -4
  233. package/src/resources/extensions/gsd/journal.ts +11 -1
  234. package/src/resources/extensions/gsd/memory-extractor.ts +11 -3
  235. package/src/resources/extensions/gsd/milestone-scope-classifier.ts +366 -0
  236. package/src/resources/extensions/gsd/model-cost-table.ts +3 -0
  237. package/src/resources/extensions/gsd/model-router.ts +6 -0
  238. package/src/resources/extensions/gsd/preferences-validation.ts +21 -0
  239. package/src/resources/extensions/gsd/prompt-cache-optimizer.ts +4 -0
  240. package/src/resources/extensions/gsd/prompts/complete-milestone.md +5 -1
  241. package/src/resources/extensions/gsd/prompts/plan-slice.md +15 -2
  242. package/src/resources/extensions/gsd/service-tier.ts +5 -2
  243. package/src/resources/extensions/gsd/skill-manifest.ts +175 -0
  244. package/src/resources/extensions/gsd/slice-cadence.ts +299 -0
  245. package/src/resources/extensions/gsd/tests/artifacts-table-preserved-on-cache-invalidate.test.ts +2 -1
  246. package/src/resources/extensions/gsd/tests/auto-loop.test.ts +25 -292
  247. package/src/resources/extensions/gsd/tests/auto-remediate-slice-status.test.ts +4 -1
  248. package/src/resources/extensions/gsd/tests/auto-retry-mcp-churn-fixes.test.ts +8 -194
  249. package/src/resources/extensions/gsd/tests/auto-start-clean-runtime-db-gated.test.ts +3 -2
  250. package/src/resources/extensions/gsd/tests/auto-start-cold-db-bootstrap.test.ts +2 -2
  251. package/src/resources/extensions/gsd/tests/auto-start-needs-discussion.test.ts +15 -58
  252. package/src/resources/extensions/gsd/tests/auto-start-worktree-db-path.test.ts +2 -2
  253. package/src/resources/extensions/gsd/tests/auto-thinking-restore.test.ts +3 -2
  254. package/src/resources/extensions/gsd/tests/auto-warning-noise-regression.test.ts +3 -2
  255. package/src/resources/extensions/gsd/tests/bootstrap-derive-state-db-open.test.ts +2 -1
  256. package/src/resources/extensions/gsd/tests/cache-staleness-regression.test.ts +17 -21
  257. package/src/resources/extensions/gsd/tests/canonical-milestone-root.test.ts +108 -0
  258. package/src/resources/extensions/gsd/tests/complete-milestone-excerpt.test.ts +263 -0
  259. package/src/resources/extensions/gsd/tests/complete-slice-composer.test.ts +192 -0
  260. package/src/resources/extensions/gsd/tests/complete-slice-verification-gate.test.ts +2 -1
  261. package/src/resources/extensions/gsd/tests/complete-task.test.ts +8 -4
  262. package/src/resources/extensions/gsd/tests/component-loader.test.ts +589 -0
  263. package/src/resources/extensions/gsd/tests/component-types.test.ts +127 -0
  264. package/src/resources/extensions/gsd/tests/context-store.test.ts +79 -0
  265. package/src/resources/extensions/gsd/tests/copy-planning-artifacts-samepath.test.ts +2 -1
  266. package/src/resources/extensions/gsd/tests/discuss-slice-structured-questions.test.ts +2 -1
  267. package/src/resources/extensions/gsd/tests/discuss-tool-scope-leak.test.ts +2 -1
  268. package/src/resources/extensions/gsd/tests/double-merge-guard.test.ts +4 -3
  269. package/src/resources/extensions/gsd/tests/empty-content-abort-loop.test.ts +4 -3
  270. package/src/resources/extensions/gsd/tests/extension-bootstrap-isolation.test.ts +139 -129
  271. package/src/resources/extensions/gsd/tests/finalize-timeout-guard.test.ts +8 -104
  272. package/src/resources/extensions/gsd/tests/hook-key-parsing.test.ts +4 -55
  273. package/src/resources/extensions/gsd/tests/integration/all-milestones-complete-merge.test.ts +7 -56
  274. package/src/resources/extensions/gsd/tests/integration/doctor-proactive.test.ts +18 -2
  275. package/src/resources/extensions/gsd/tests/integration/queue-completed-milestone-perf.test.ts +10 -4
  276. package/src/resources/extensions/gsd/tests/integration/state-machine-edge-cases.test.ts +1 -1
  277. package/src/resources/extensions/gsd/tests/interactive-routing-bypass.test.ts +9 -3
  278. package/src/resources/extensions/gsd/tests/interrupted-session-ui.test.ts +6 -9
  279. package/src/resources/extensions/gsd/tests/knowledge.test.ts +93 -1
  280. package/src/resources/extensions/gsd/tests/mcp-client-security.test.ts +8 -37
  281. package/src/resources/extensions/gsd/tests/memory-extractor.test.ts +5 -15
  282. package/src/resources/extensions/gsd/tests/merge-conflict-stops-loop.test.ts +227 -55
  283. package/src/resources/extensions/gsd/tests/milestone-scope-classifier.test.ts +187 -0
  284. package/src/resources/extensions/gsd/tests/model-cost-table.test.ts +9 -1
  285. package/src/resources/extensions/gsd/tests/model-router.test.ts +1 -1
  286. package/src/resources/extensions/gsd/tests/native-git-bridge-exec-fallback.test.ts +6 -48
  287. package/src/resources/extensions/gsd/tests/notification-widget.test.ts +6 -3
  288. package/src/resources/extensions/gsd/tests/orphaned-worktree-audit.test.ts +59 -2
  289. package/src/resources/extensions/gsd/tests/parallel-research-dispatch.test.ts +273 -130
  290. package/src/resources/extensions/gsd/tests/pipeline-variant-dispatch.test.ts +301 -0
  291. package/src/resources/extensions/gsd/tests/preferences-worktree-sync.test.ts +2 -1
  292. package/src/resources/extensions/gsd/tests/prompt-cache-optimizer.test.ts +12 -0
  293. package/src/resources/extensions/gsd/tests/prompt-step-ordering.test.ts +15 -4
  294. package/src/resources/extensions/gsd/tests/provider-errors.test.ts +22 -16
  295. package/src/resources/extensions/gsd/tests/queue-draft-detection.test.ts +3 -2
  296. package/src/resources/extensions/gsd/tests/queued-discuss-fast-path.test.ts +4 -5
  297. package/src/resources/extensions/gsd/tests/reassess-default-optin.test.ts +132 -0
  298. package/src/resources/extensions/gsd/tests/recovery-attempts-reset.test.ts +8 -40
  299. package/src/resources/extensions/gsd/tests/regex-hardening.test.ts +136 -256
  300. package/src/resources/extensions/gsd/tests/research-milestone-composer.test.ts +114 -0
  301. package/src/resources/extensions/gsd/tests/restore-tools-after-discuss.test.ts +6 -3
  302. package/src/resources/extensions/gsd/tests/run-uat-composer.test.ts +148 -0
  303. package/src/resources/extensions/gsd/tests/service-tier.test.ts +4 -0
  304. package/src/resources/extensions/gsd/tests/sidecar-queue.test.ts +3 -2
  305. package/src/resources/extensions/gsd/tests/silent-catch-diagnostics.test.ts +55 -95
  306. package/src/resources/extensions/gsd/tests/skill-activation.test.ts +120 -1
  307. package/src/resources/extensions/gsd/tests/skill-manifest.test.ts +112 -0
  308. package/src/resources/extensions/gsd/tests/slice-cadence.test.ts +242 -0
  309. package/src/resources/extensions/gsd/tests/slice-context-injection.test.ts +3 -2
  310. package/src/resources/extensions/gsd/tests/smart-entry-draft.test.ts +2 -1
  311. package/src/resources/extensions/gsd/tests/stop-auto-race-null-unit.test.ts +3 -3
  312. package/src/resources/extensions/gsd/tests/structured-data-formatter.test.ts +11 -92
  313. package/src/resources/extensions/gsd/tests/subagent-model-dispatch.test.ts +7 -6
  314. package/src/resources/extensions/gsd/tests/survivor-branch-complete.test.ts +102 -101
  315. package/src/resources/extensions/gsd/tests/sync-worktree-skip-current.test.ts +4 -3
  316. package/src/resources/extensions/gsd/tests/test-helpers.test.ts +98 -0
  317. package/src/resources/extensions/gsd/tests/test-helpers.ts +153 -0
  318. package/src/resources/extensions/gsd/tests/token-profile.test.ts +8 -1
  319. package/src/resources/extensions/gsd/tests/unit-context-composer.test.ts +355 -0
  320. package/src/resources/extensions/gsd/tests/unit-context-manifest.test.ts +203 -0
  321. package/src/resources/extensions/gsd/tests/uok-gitops-wiring.test.ts +49 -26
  322. package/src/resources/extensions/gsd/tests/validate-milestone.test.ts +1 -0
  323. package/src/resources/extensions/gsd/tests/verify-artifact-tightened.test.ts +144 -80
  324. package/src/resources/extensions/gsd/tests/visualizer-critical-path.test.ts +20 -54
  325. package/src/resources/extensions/gsd/tests/visualizer-overlay.test.ts +342 -277
  326. package/src/resources/extensions/gsd/tests/worker-model-override.test.ts +37 -29
  327. package/src/resources/extensions/gsd/tests/worktree-db.test.ts +226 -266
  328. package/src/resources/extensions/gsd/tests/worktree-health-monorepo.test.ts +103 -67
  329. package/src/resources/extensions/gsd/tests/worktree-nested-git-safety.test.ts +92 -90
  330. package/src/resources/extensions/gsd/tests/worktree-submodule-safety.test.ts +238 -59
  331. package/src/resources/extensions/gsd/tests/worktree-sync-overwrite-loop.test.ts +113 -161
  332. package/src/resources/extensions/gsd/tests/worktree-telemetry.test.ts +210 -0
  333. package/src/resources/extensions/gsd/tests/zombie-gsd-state.test.ts +80 -96
  334. package/src/resources/extensions/gsd/tools/validate-milestone.ts +8 -2
  335. package/src/resources/extensions/gsd/unit-context-composer.ts +218 -0
  336. package/src/resources/extensions/gsd/unit-context-manifest.ts +492 -0
  337. package/src/resources/extensions/gsd/worktree-manager.ts +53 -0
  338. package/src/resources/extensions/gsd/worktree-resolver.ts +96 -9
  339. package/src/resources/extensions/gsd/worktree-telemetry.ts +322 -0
  340. package/src/resources/extensions/mcp-client/index.ts +3 -1
  341. package/src/resources/extensions/mcp-client/tests/server-name-spaces.test.ts +70 -36
  342. package/src/resources/extensions/ollama/index.ts +5 -1
  343. package/src/resources/extensions/ollama/ollama-auth-mode.test.ts +123 -15
  344. package/src/resources/extensions/ollama/ollama-status-indicator.test.ts +206 -19
  345. package/src/resources/extensions/remote-questions/manager.ts +36 -4
  346. package/src/resources/extensions/remote-questions/tests/command-polling.test.ts +200 -190
  347. package/src/resources/extensions/shared/tests/interview-preview.test.ts +11 -3
  348. package/src/resources/extensions/voice/tests/linux-ready.test.ts +129 -113
  349. package/packages/pi-ai/dist/utils/oauth/oauth-providers.test.d.ts +0 -2
  350. package/packages/pi-ai/dist/utils/oauth/oauth-providers.test.d.ts.map +0 -1
  351. package/packages/pi-ai/dist/utils/oauth/oauth-providers.test.js +0 -289
  352. package/packages/pi-ai/dist/utils/oauth/oauth-providers.test.js.map +0 -1
  353. package/packages/pi-ai/src/utils/oauth/oauth-providers.test.ts +0 -363
  354. package/src/resources/extensions/gsd/tests/auto-start-model-capture.test.ts +0 -143
  355. package/src/resources/extensions/gsd/tests/complete-milestone-false-merge.test.ts +0 -157
  356. package/src/resources/extensions/gsd/tests/dashboard-model-label-ordering.test.ts +0 -107
  357. package/src/resources/extensions/gsd/tests/find-missing-summaries-closed.test.ts +0 -48
  358. package/src/resources/extensions/gsd/tests/forensics-context-persist.test.ts +0 -159
  359. package/src/resources/extensions/gsd/tests/forensics-db-completion.test.ts +0 -96
  360. package/src/resources/extensions/gsd/tests/forensics-dedup.test.ts +0 -79
  361. package/src/resources/extensions/gsd/tests/forensics-hook-key-parse.test.ts +0 -74
  362. package/src/resources/extensions/gsd/tests/forensics-journal.test.ts +0 -162
  363. package/src/resources/extensions/gsd/tests/gitignore-bg-shell.test.ts +0 -38
  364. package/src/resources/extensions/gsd/tests/gsd-no-project-error.test.ts +0 -73
  365. package/src/resources/extensions/gsd/tests/idle-watchdog-stall-override.test.ts +0 -125
  366. package/src/resources/extensions/gsd/tests/import-done-milestones.test.ts +0 -42
  367. /package/dist/web/standalone/.next/static/{vidAVJkURvTJ0_V2-64ro → gYYky7yfxW8txb9vU2TrJ}/_buildManifest.js +0 -0
  368. /package/dist/web/standalone/.next/static/{vidAVJkURvTJ0_V2-64ro → gYYky7yfxW8txb9vU2TrJ}/_ssgManifest.js +0 -0
@@ -5978,6 +5978,23 @@ export declare const MODELS: {
5978
5978
  contextWindow: number;
5979
5979
  maxTokens: number;
5980
5980
  };
5981
+ readonly "gpt-5.5": {
5982
+ id: string;
5983
+ name: string;
5984
+ api: "openai-responses";
5985
+ provider: string;
5986
+ baseUrl: string;
5987
+ reasoning: true;
5988
+ input: ("text" | "image")[];
5989
+ cost: {
5990
+ input: number;
5991
+ output: number;
5992
+ cacheRead: number;
5993
+ cacheWrite: number;
5994
+ };
5995
+ contextWindow: number;
5996
+ maxTokens: number;
5997
+ };
5981
5998
  readonly "gpt-5.4-mini": {
5982
5999
  id: string;
5983
6000
  name: string;
@@ -6303,6 +6320,23 @@ export declare const MODELS: {
6303
6320
  contextWindow: number;
6304
6321
  maxTokens: number;
6305
6322
  };
6323
+ readonly "gpt-5.5": {
6324
+ id: string;
6325
+ name: string;
6326
+ api: "openai-codex-responses";
6327
+ provider: string;
6328
+ baseUrl: string;
6329
+ reasoning: true;
6330
+ input: ("text" | "image")[];
6331
+ cost: {
6332
+ input: number;
6333
+ output: number;
6334
+ cacheRead: number;
6335
+ cacheWrite: number;
6336
+ };
6337
+ contextWindow: number;
6338
+ maxTokens: number;
6339
+ };
6306
6340
  readonly "gpt-5.4-mini": {
6307
6341
  id: string;
6308
6342
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/generated/index.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBT,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/generated/index.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwBT,CAAC"}
@@ -135,6 +135,23 @@ export declare const OPENAI_CODEX_MODELS: {
135
135
  contextWindow: number;
136
136
  maxTokens: number;
137
137
  };
138
+ readonly "gpt-5.5": {
139
+ id: string;
140
+ name: string;
141
+ api: "openai-codex-responses";
142
+ provider: string;
143
+ baseUrl: string;
144
+ reasoning: true;
145
+ input: ("text" | "image")[];
146
+ cost: {
147
+ input: number;
148
+ output: number;
149
+ cacheRead: number;
150
+ cacheWrite: number;
151
+ };
152
+ contextWindow: number;
153
+ maxTokens: number;
154
+ };
138
155
  readonly "gpt-5.4-mini": {
139
156
  id: string;
140
157
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"openai-codex.d.ts","sourceRoot":"","sources":["../../../src/models/generated/openai-codex.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0JgB,CAAC"}
1
+ {"version":3,"file":"openai-codex.d.ts","sourceRoot":"","sources":["../../../src/models/generated/openai-codex.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2KgB,CAAC"}
@@ -137,6 +137,23 @@ export const OPENAI_CODEX_MODELS = {
137
137
  contextWindow: 272000,
138
138
  maxTokens: 128000,
139
139
  },
140
+ "gpt-5.5": {
141
+ id: "gpt-5.5",
142
+ name: "GPT-5.5",
143
+ api: "openai-codex-responses",
144
+ provider: "openai-codex",
145
+ baseUrl: "https://chatgpt.com/backend-api",
146
+ reasoning: true,
147
+ input: ["text", "image"],
148
+ cost: {
149
+ input: 5,
150
+ output: 30,
151
+ cacheRead: 0.5,
152
+ cacheWrite: 0,
153
+ },
154
+ contextWindow: 400000,
155
+ maxTokens: 128000,
156
+ },
140
157
  "gpt-5.4-mini": {
141
158
  id: "gpt-5.4-mini",
142
159
  name: "GPT-5.4 Mini",
@@ -1 +1 @@
1
- {"version":3,"file":"openai-codex.js","sourceRoot":"","sources":["../../../src/models/generated/openai-codex.ts"],"names":[],"mappings":"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","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../../types.js\";\n\nexport const OPENAI_CODEX_MODELS = {\n\t\t\"gpt-5.1\": {\n\t\t\tid: \"gpt-5.1\",\n\t\t\tname: \"GPT-5.1\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.1-codex-max\": {\n\t\t\tid: \"gpt-5.1-codex-max\",\n\t\t\tname: \"GPT-5.1 Codex Max\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.1-codex-mini\": {\n\t\t\tid: \"gpt-5.1-codex-mini\",\n\t\t\tname: \"GPT-5.1 Codex Mini\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.25,\n\t\t\t\toutput: 2,\n\t\t\t\tcacheRead: 0.025,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.2\": {\n\t\t\tid: \"gpt-5.2\",\n\t\t\tname: \"GPT-5.2\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.2-codex\": {\n\t\t\tid: \"gpt-5.2-codex\",\n\t\t\tname: \"GPT-5.2 Codex\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.3-codex\": {\n\t\t\tid: \"gpt-5.3-codex\",\n\t\t\tname: \"GPT-5.3 Codex\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.3-codex-spark\": {\n\t\t\tid: \"gpt-5.3-codex-spark\",\n\t\t\tname: \"GPT-5.3 Codex Spark\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.4\": {\n\t\t\tid: \"gpt-5.4\",\n\t\t\tname: \"GPT-5.4\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.4-mini\": {\n\t\t\tid: \"gpt-5.4-mini\",\n\t\t\tname: \"GPT-5.4 Mini\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.75,\n\t\t\t\toutput: 4.5,\n\t\t\t\tcacheRead: 0.075,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t} as const satisfies Record<string, Model<any>>;\n"]}
1
+ {"version":3,"file":"openai-codex.js","sourceRoot":"","sources":["../../../src/models/generated/openai-codex.ts"],"names":[],"mappings":"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","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../../types.js\";\n\nexport const OPENAI_CODEX_MODELS = {\n\t\t\"gpt-5.1\": {\n\t\t\tid: \"gpt-5.1\",\n\t\t\tname: \"GPT-5.1\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.1-codex-max\": {\n\t\t\tid: \"gpt-5.1-codex-max\",\n\t\t\tname: \"GPT-5.1 Codex Max\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.1-codex-mini\": {\n\t\t\tid: \"gpt-5.1-codex-mini\",\n\t\t\tname: \"GPT-5.1 Codex Mini\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.25,\n\t\t\t\toutput: 2,\n\t\t\t\tcacheRead: 0.025,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.2\": {\n\t\t\tid: \"gpt-5.2\",\n\t\t\tname: \"GPT-5.2\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.2-codex\": {\n\t\t\tid: \"gpt-5.2-codex\",\n\t\t\tname: \"GPT-5.2 Codex\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.3-codex\": {\n\t\t\tid: \"gpt-5.3-codex\",\n\t\t\tname: \"GPT-5.3 Codex\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.3-codex-spark\": {\n\t\t\tid: \"gpt-5.3-codex-spark\",\n\t\t\tname: \"GPT-5.3 Codex Spark\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.4\": {\n\t\t\tid: \"gpt-5.4\",\n\t\t\tname: \"GPT-5.4\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.5\": {\n\t\t\tid: \"gpt-5.5\",\n\t\t\tname: \"GPT-5.5\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 5,\n\t\t\t\toutput: 30,\n\t\t\t\tcacheRead: 0.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t\t\"gpt-5.4-mini\": {\n\t\t\tid: \"gpt-5.4-mini\",\n\t\t\tname: \"GPT-5.4 Mini\",\n\t\t\tapi: \"openai-codex-responses\",\n\t\t\tprovider: \"openai-codex\",\n\t\t\tbaseUrl: \"https://chatgpt.com/backend-api\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.75,\n\t\t\t\toutput: 4.5,\n\t\t\t\tcacheRead: 0.075,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-codex-responses\">,\n\t} as const satisfies Record<string, Model<any>>;\n"]}
@@ -509,6 +509,23 @@ export declare const OPENAI_MODELS: {
509
509
  contextWindow: number;
510
510
  maxTokens: number;
511
511
  };
512
+ readonly "gpt-5.5": {
513
+ id: string;
514
+ name: string;
515
+ api: "openai-responses";
516
+ provider: string;
517
+ baseUrl: string;
518
+ reasoning: true;
519
+ input: ("text" | "image")[];
520
+ cost: {
521
+ input: number;
522
+ output: number;
523
+ cacheRead: number;
524
+ cacheWrite: number;
525
+ };
526
+ contextWindow: number;
527
+ maxTokens: number;
528
+ };
512
529
  readonly "gpt-5.4-mini": {
513
530
  id: string;
514
531
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/models/generated/openai.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0rBsB,CAAC"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/models/generated/openai.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2sBsB,CAAC"}
@@ -511,6 +511,23 @@ export const OPENAI_MODELS = {
511
511
  contextWindow: 272000,
512
512
  maxTokens: 128000,
513
513
  },
514
+ "gpt-5.5": {
515
+ id: "gpt-5.5",
516
+ name: "GPT-5.5",
517
+ api: "openai-responses",
518
+ provider: "openai",
519
+ baseUrl: "https://api.openai.com/v1",
520
+ reasoning: true,
521
+ input: ["text", "image"],
522
+ cost: {
523
+ input: 5,
524
+ output: 30,
525
+ cacheRead: 0.5,
526
+ cacheWrite: 0,
527
+ },
528
+ contextWindow: 1000000,
529
+ maxTokens: 128000,
530
+ },
514
531
  "gpt-5.4-mini": {
515
532
  id: "gpt-5.4-mini",
516
533
  name: "GPT-5.4 mini",
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/models/generated/openai.ts"],"names":[],"mappings":"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","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../../types.js\";\n\nexport const OPENAI_MODELS = {\n\t\t\"codex-mini-latest\": {\n\t\t\tid: \"codex-mini-latest\",\n\t\t\tname: \"Codex Mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.5,\n\t\t\t\toutput: 6,\n\t\t\t\tcacheRead: 0.375,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4\": {\n\t\t\tid: \"gpt-4\",\n\t\t\tname: \"GPT-4\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 30,\n\t\t\t\toutput: 60,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 8192,\n\t\t\tmaxTokens: 8192,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4-turbo\": {\n\t\t\tid: \"gpt-4-turbo\",\n\t\t\tname: \"GPT-4 Turbo\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 10,\n\t\t\t\toutput: 30,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4.1\": {\n\t\t\tid: \"gpt-4.1\",\n\t\t\tname: \"GPT-4.1\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2,\n\t\t\t\toutput: 8,\n\t\t\t\tcacheRead: 0.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 1047576,\n\t\t\tmaxTokens: 32768,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4.1-mini\": {\n\t\t\tid: \"gpt-4.1-mini\",\n\t\t\tname: \"GPT-4.1 mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.4,\n\t\t\t\toutput: 1.6,\n\t\t\t\tcacheRead: 0.1,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 1047576,\n\t\t\tmaxTokens: 32768,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4.1-nano\": {\n\t\t\tid: \"gpt-4.1-nano\",\n\t\t\tname: \"GPT-4.1 nano\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.1,\n\t\t\t\toutput: 0.4,\n\t\t\t\tcacheRead: 0.03,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 1047576,\n\t\t\tmaxTokens: 32768,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4o\": {\n\t\t\tid: \"gpt-4o\",\n\t\t\tname: \"GPT-4o\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 1.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4o-2024-05-13\": {\n\t\t\tid: \"gpt-4o-2024-05-13\",\n\t\t\tname: \"GPT-4o (2024-05-13)\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 5,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4o-2024-08-06\": {\n\t\t\tid: \"gpt-4o-2024-08-06\",\n\t\t\tname: \"GPT-4o (2024-08-06)\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 1.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4o-2024-11-20\": {\n\t\t\tid: \"gpt-4o-2024-11-20\",\n\t\t\tname: \"GPT-4o (2024-11-20)\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 1.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4o-mini\": {\n\t\t\tid: \"gpt-4o-mini\",\n\t\t\tname: \"GPT-4o mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.15,\n\t\t\t\toutput: 0.6,\n\t\t\t\tcacheRead: 0.08,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5\": {\n\t\t\tid: \"gpt-5\",\n\t\t\tname: \"GPT-5\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5-chat-latest\": {\n\t\t\tid: \"gpt-5-chat-latest\",\n\t\t\tname: \"GPT-5 Chat Latest\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5-codex\": {\n\t\t\tid: \"gpt-5-codex\",\n\t\t\tname: \"GPT-5-Codex\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5-mini\": {\n\t\t\tid: \"gpt-5-mini\",\n\t\t\tname: \"GPT-5 Mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.25,\n\t\t\t\toutput: 2,\n\t\t\t\tcacheRead: 0.025,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5-nano\": {\n\t\t\tid: \"gpt-5-nano\",\n\t\t\tname: \"GPT-5 Nano\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.05,\n\t\t\t\toutput: 0.4,\n\t\t\t\tcacheRead: 0.005,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5-pro\": {\n\t\t\tid: \"gpt-5-pro\",\n\t\t\tname: \"GPT-5 Pro\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 15,\n\t\t\t\toutput: 120,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 272000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.1\": {\n\t\t\tid: \"gpt-5.1\",\n\t\t\tname: \"GPT-5.1\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.13,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.1-chat-latest\": {\n\t\t\tid: \"gpt-5.1-chat-latest\",\n\t\t\tname: \"GPT-5.1 Chat\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.1-codex\": {\n\t\t\tid: \"gpt-5.1-codex\",\n\t\t\tname: \"GPT-5.1 Codex\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.1-codex-max\": {\n\t\t\tid: \"gpt-5.1-codex-max\",\n\t\t\tname: \"GPT-5.1 Codex Max\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.1-codex-mini\": {\n\t\t\tid: \"gpt-5.1-codex-mini\",\n\t\t\tname: \"GPT-5.1 Codex mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.25,\n\t\t\t\toutput: 2,\n\t\t\t\tcacheRead: 0.025,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.2\": {\n\t\t\tid: \"gpt-5.2\",\n\t\t\tname: \"GPT-5.2\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.2-chat-latest\": {\n\t\t\tid: \"gpt-5.2-chat-latest\",\n\t\t\tname: \"GPT-5.2 Chat\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.2-codex\": {\n\t\t\tid: \"gpt-5.2-codex\",\n\t\t\tname: \"GPT-5.2 Codex\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.2-pro\": {\n\t\t\tid: \"gpt-5.2-pro\",\n\t\t\tname: \"GPT-5.2 Pro\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 21,\n\t\t\t\toutput: 168,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.3-chat-latest\": {\n\t\t\tid: \"gpt-5.3-chat-latest\",\n\t\t\tname: \"GPT-5.3 Chat (latest)\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.3-codex\": {\n\t\t\tid: \"gpt-5.3-codex\",\n\t\t\tname: \"GPT-5.3 Codex\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.3-codex-spark\": {\n\t\t\tid: \"gpt-5.3-codex-spark\",\n\t\t\tname: \"GPT-5.3 Codex Spark\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 32000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.4\": {\n\t\t\tid: \"gpt-5.4\",\n\t\t\tname: \"GPT-5.4\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.4-mini\": {\n\t\t\tid: \"gpt-5.4-mini\",\n\t\t\tname: \"GPT-5.4 mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.75,\n\t\t\t\toutput: 4.5,\n\t\t\t\tcacheRead: 0.075,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.4-nano\": {\n\t\t\tid: \"gpt-5.4-nano\",\n\t\t\tname: \"GPT-5.4 nano\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.2,\n\t\t\t\toutput: 1.25,\n\t\t\t\tcacheRead: 0.02,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.4-pro\": {\n\t\t\tid: \"gpt-5.4-pro\",\n\t\t\tname: \"GPT-5.4 Pro\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 30,\n\t\t\t\toutput: 180,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 1050000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"o1\": {\n\t\t\tid: \"o1\",\n\t\t\tname: \"o1\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 15,\n\t\t\t\toutput: 60,\n\t\t\t\tcacheRead: 7.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"o1-pro\": {\n\t\t\tid: \"o1-pro\",\n\t\t\tname: \"o1-pro\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 150,\n\t\t\t\toutput: 600,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"o3\": {\n\t\t\tid: \"o3\",\n\t\t\tname: \"o3\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2,\n\t\t\t\toutput: 8,\n\t\t\t\tcacheRead: 0.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"o3-deep-research\": {\n\t\t\tid: \"o3-deep-research\",\n\t\t\tname: \"o3-deep-research\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 10,\n\t\t\t\toutput: 40,\n\t\t\t\tcacheRead: 2.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"o3-mini\": {\n\t\t\tid: \"o3-mini\",\n\t\t\tname: \"o3-mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.1,\n\t\t\t\toutput: 4.4,\n\t\t\t\tcacheRead: 0.55,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"o3-pro\": {\n\t\t\tid: \"o3-pro\",\n\t\t\tname: \"o3-pro\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 20,\n\t\t\t\toutput: 80,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"o4-mini\": {\n\t\t\tid: \"o4-mini\",\n\t\t\tname: \"o4-mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.1,\n\t\t\t\toutput: 4.4,\n\t\t\t\tcacheRead: 0.28,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"o4-mini-deep-research\": {\n\t\t\tid: \"o4-mini-deep-research\",\n\t\t\tname: \"o4-mini-deep-research\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2,\n\t\t\t\toutput: 8,\n\t\t\t\tcacheRead: 0.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t} as const satisfies Record<string, Model<any>>;\n"]}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/models/generated/openai.ts"],"names":[],"mappings":"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","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../../types.js\";\n\nexport const OPENAI_MODELS = {\n\t\t\"codex-mini-latest\": {\n\t\t\tid: \"codex-mini-latest\",\n\t\t\tname: \"Codex Mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.5,\n\t\t\t\toutput: 6,\n\t\t\t\tcacheRead: 0.375,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4\": {\n\t\t\tid: \"gpt-4\",\n\t\t\tname: \"GPT-4\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 30,\n\t\t\t\toutput: 60,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 8192,\n\t\t\tmaxTokens: 8192,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4-turbo\": {\n\t\t\tid: \"gpt-4-turbo\",\n\t\t\tname: \"GPT-4 Turbo\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 10,\n\t\t\t\toutput: 30,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4.1\": {\n\t\t\tid: \"gpt-4.1\",\n\t\t\tname: \"GPT-4.1\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2,\n\t\t\t\toutput: 8,\n\t\t\t\tcacheRead: 0.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 1047576,\n\t\t\tmaxTokens: 32768,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4.1-mini\": {\n\t\t\tid: \"gpt-4.1-mini\",\n\t\t\tname: \"GPT-4.1 mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.4,\n\t\t\t\toutput: 1.6,\n\t\t\t\tcacheRead: 0.1,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 1047576,\n\t\t\tmaxTokens: 32768,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4.1-nano\": {\n\t\t\tid: \"gpt-4.1-nano\",\n\t\t\tname: \"GPT-4.1 nano\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.1,\n\t\t\t\toutput: 0.4,\n\t\t\t\tcacheRead: 0.03,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 1047576,\n\t\t\tmaxTokens: 32768,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4o\": {\n\t\t\tid: \"gpt-4o\",\n\t\t\tname: \"GPT-4o\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 1.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4o-2024-05-13\": {\n\t\t\tid: \"gpt-4o-2024-05-13\",\n\t\t\tname: \"GPT-4o (2024-05-13)\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 5,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 4096,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4o-2024-08-06\": {\n\t\t\tid: \"gpt-4o-2024-08-06\",\n\t\t\tname: \"GPT-4o (2024-08-06)\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 1.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4o-2024-11-20\": {\n\t\t\tid: \"gpt-4o-2024-11-20\",\n\t\t\tname: \"GPT-4o (2024-11-20)\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 1.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-4o-mini\": {\n\t\t\tid: \"gpt-4o-mini\",\n\t\t\tname: \"GPT-4o mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.15,\n\t\t\t\toutput: 0.6,\n\t\t\t\tcacheRead: 0.08,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5\": {\n\t\t\tid: \"gpt-5\",\n\t\t\tname: \"GPT-5\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5-chat-latest\": {\n\t\t\tid: \"gpt-5-chat-latest\",\n\t\t\tname: \"GPT-5 Chat Latest\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5-codex\": {\n\t\t\tid: \"gpt-5-codex\",\n\t\t\tname: \"GPT-5-Codex\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5-mini\": {\n\t\t\tid: \"gpt-5-mini\",\n\t\t\tname: \"GPT-5 Mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.25,\n\t\t\t\toutput: 2,\n\t\t\t\tcacheRead: 0.025,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5-nano\": {\n\t\t\tid: \"gpt-5-nano\",\n\t\t\tname: \"GPT-5 Nano\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.05,\n\t\t\t\toutput: 0.4,\n\t\t\t\tcacheRead: 0.005,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5-pro\": {\n\t\t\tid: \"gpt-5-pro\",\n\t\t\tname: \"GPT-5 Pro\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 15,\n\t\t\t\toutput: 120,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 272000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.1\": {\n\t\t\tid: \"gpt-5.1\",\n\t\t\tname: \"GPT-5.1\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.13,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.1-chat-latest\": {\n\t\t\tid: \"gpt-5.1-chat-latest\",\n\t\t\tname: \"GPT-5.1 Chat\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.1-codex\": {\n\t\t\tid: \"gpt-5.1-codex\",\n\t\t\tname: \"GPT-5.1 Codex\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.1-codex-max\": {\n\t\t\tid: \"gpt-5.1-codex-max\",\n\t\t\tname: \"GPT-5.1 Codex Max\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.25,\n\t\t\t\toutput: 10,\n\t\t\t\tcacheRead: 0.125,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.1-codex-mini\": {\n\t\t\tid: \"gpt-5.1-codex-mini\",\n\t\t\tname: \"GPT-5.1 Codex mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.25,\n\t\t\t\toutput: 2,\n\t\t\t\tcacheRead: 0.025,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.2\": {\n\t\t\tid: \"gpt-5.2\",\n\t\t\tname: \"GPT-5.2\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.2-chat-latest\": {\n\t\t\tid: \"gpt-5.2-chat-latest\",\n\t\t\tname: \"GPT-5.2 Chat\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.2-codex\": {\n\t\t\tid: \"gpt-5.2-codex\",\n\t\t\tname: \"GPT-5.2 Codex\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.2-pro\": {\n\t\t\tid: \"gpt-5.2-pro\",\n\t\t\tname: \"GPT-5.2 Pro\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 21,\n\t\t\t\toutput: 168,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.3-chat-latest\": {\n\t\t\tid: \"gpt-5.3-chat-latest\",\n\t\t\tname: \"GPT-5.3 Chat (latest)\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: false,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 16384,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.3-codex\": {\n\t\t\tid: \"gpt-5.3-codex\",\n\t\t\tname: \"GPT-5.3 Codex\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.3-codex-spark\": {\n\t\t\tid: \"gpt-5.3-codex-spark\",\n\t\t\tname: \"GPT-5.3 Codex Spark\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.75,\n\t\t\t\toutput: 14,\n\t\t\t\tcacheRead: 0.175,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 128000,\n\t\t\tmaxTokens: 32000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.4\": {\n\t\t\tid: \"gpt-5.4\",\n\t\t\tname: \"GPT-5.4\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2.5,\n\t\t\t\toutput: 15,\n\t\t\t\tcacheRead: 0.25,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 272000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.5\": {\n\t\t\tid: \"gpt-5.5\",\n\t\t\tname: \"GPT-5.5\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 5,\n\t\t\t\toutput: 30,\n\t\t\t\tcacheRead: 0.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 1000000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.4-mini\": {\n\t\t\tid: \"gpt-5.4-mini\",\n\t\t\tname: \"GPT-5.4 mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.75,\n\t\t\t\toutput: 4.5,\n\t\t\t\tcacheRead: 0.075,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.4-nano\": {\n\t\t\tid: \"gpt-5.4-nano\",\n\t\t\tname: \"GPT-5.4 nano\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 0.2,\n\t\t\t\toutput: 1.25,\n\t\t\t\tcacheRead: 0.02,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 400000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"gpt-5.4-pro\": {\n\t\t\tid: \"gpt-5.4-pro\",\n\t\t\tname: \"GPT-5.4 Pro\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 30,\n\t\t\t\toutput: 180,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 1050000,\n\t\t\tmaxTokens: 128000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"o1\": {\n\t\t\tid: \"o1\",\n\t\t\tname: \"o1\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 15,\n\t\t\t\toutput: 60,\n\t\t\t\tcacheRead: 7.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"o1-pro\": {\n\t\t\tid: \"o1-pro\",\n\t\t\tname: \"o1-pro\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 150,\n\t\t\t\toutput: 600,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"o3\": {\n\t\t\tid: \"o3\",\n\t\t\tname: \"o3\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2,\n\t\t\t\toutput: 8,\n\t\t\t\tcacheRead: 0.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"o3-deep-research\": {\n\t\t\tid: \"o3-deep-research\",\n\t\t\tname: \"o3-deep-research\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 10,\n\t\t\t\toutput: 40,\n\t\t\t\tcacheRead: 2.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"o3-mini\": {\n\t\t\tid: \"o3-mini\",\n\t\t\tname: \"o3-mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.1,\n\t\t\t\toutput: 4.4,\n\t\t\t\tcacheRead: 0.55,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"o3-pro\": {\n\t\t\tid: \"o3-pro\",\n\t\t\tname: \"o3-pro\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 20,\n\t\t\t\toutput: 80,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"o4-mini\": {\n\t\t\tid: \"o4-mini\",\n\t\t\tname: \"o4-mini\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 1.1,\n\t\t\t\toutput: 4.4,\n\t\t\t\tcacheRead: 0.28,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t\t\"o4-mini-deep-research\": {\n\t\t\tid: \"o4-mini-deep-research\",\n\t\t\tname: \"o4-mini-deep-research\",\n\t\t\tapi: \"openai-responses\",\n\t\t\tprovider: \"openai\",\n\t\t\tbaseUrl: \"https://api.openai.com/v1\",\n\t\t\treasoning: true,\n\t\t\tinput: [\"text\", \"image\"],\n\t\t\tcost: {\n\t\t\t\tinput: 2,\n\t\t\t\toutput: 8,\n\t\t\t\tcacheRead: 0.5,\n\t\t\t\tcacheWrite: 0,\n\t\t\t},\n\t\t\tcontextWindow: 200000,\n\t\t\tmaxTokens: 100000,\n\t\t} satisfies Model<\"openai-responses\">,\n\t} as const satisfies Record<string, Model<any>>;\n"]}
@@ -225,9 +225,14 @@ describe("MODELS structural invariants", () => {
225
225
  // Registry shape
226
226
  // ═══════════════════════════════════════════════════════════════════════════
227
227
  describe("MODELS registry shape", () => {
228
- it("has exactly 23 providers", () => {
228
+ // "exactly 23 providers" and "all 23 expected providers" tests
229
+ // removed (#4804): each hardcoded a snapshot count/list that breaks
230
+ // on every benign provider addition without indicating any real
231
+ // problem. The structural invariants below (non-empty, sanity
232
+ // threshold, getProviders consistency) are the useful guarantees.
233
+ it("registry is non-empty", () => {
229
234
  const count = Object.keys(MODELS).length;
230
- assert.equal(count, 23, `Expected 23 providers, got ${count}: ${Object.keys(MODELS).join(", ")}`);
235
+ assert.ok(count > 0, "MODELS must have at least one provider");
231
236
  });
232
237
  it("has at least 200 models in total (sanity check)", () => {
233
238
  let total = 0;
@@ -236,36 +241,11 @@ describe("MODELS registry shape", () => {
236
241
  }
237
242
  assert.ok(total >= 200, `Registry has only ${total} models — unexpectedly small`);
238
243
  });
239
- it("all 23 expected providers are present", () => {
240
- const expected = [
241
- "amazon-bedrock",
242
- "anthropic",
243
- "azure-openai-responses",
244
- "cerebras",
245
- "github-copilot",
246
- "google",
247
- "google-antigravity",
248
- "google-gemini-cli",
249
- "google-vertex",
250
- "groq",
251
- "huggingface",
252
- "kimi-coding",
253
- "minimax",
254
- "minimax-cn",
255
- "mistral",
256
- "openai",
257
- "openai-codex",
258
- "opencode",
259
- "opencode-go",
260
- "openrouter",
261
- "vercel-ai-gateway",
262
- "xai",
263
- "zai",
264
- ];
265
- const actual = Object.keys(MODELS).sort();
266
- assert.deepEqual(actual, expected.sort());
267
- });
268
- it("getProviders() returns all generated providers", () => {
244
+ it("getProviders() returns every generated provider", () => {
245
+ // `getProviders()` may also include providers defined in
246
+ // `models/custom.ts` (manually-patched entries). We assert only
247
+ // that every GENERATED provider is present — which is the
248
+ // invariant the generator controls.
269
249
  const providers = getProviders();
270
250
  for (const p of Object.keys(MODELS)) {
271
251
  assert.ok(providers.includes(p), `getProviders() missing generated provider: ${p}`);
@@ -308,43 +288,36 @@ describe("removed models are absent from the registry", () => {
308
288
  });
309
289
  }
310
290
  });
311
- // ═══════════════════════════════════════════════════════════════════════════
312
- // Spot-checks for notable models added in this regeneration
313
- // ═══════════════════════════════════════════════════════════════════════════
314
- describe("spot-checks for models added in this regeneration", () => {
315
- const newModels = [
316
- { provider: "openrouter", id: "z-ai/glm-5.1" },
317
- { provider: "openrouter", id: "z-ai/glm-5v-turbo" },
318
- { provider: "openrouter", id: "google/gemma-4-31b-it" },
319
- { provider: "openrouter", id: "google/gemma-4-26b-a4b-it" },
320
- { provider: "openrouter", id: "arcee-ai/trinity-large-thinking", reasoning: true },
321
- { provider: "openrouter", id: "openai/gpt-audio" },
322
- { provider: "openrouter", id: "anthropic/claude-opus-4.6-fast" },
323
- { provider: "openrouter", id: "anthropic/claude-opus-4.7" },
324
- { provider: "amazon-bedrock", id: "anthropic.claude-opus-4-7" },
325
- { provider: "amazon-bedrock", id: "us.anthropic.claude-opus-4-7" },
326
- { provider: "amazon-bedrock", id: "eu.anthropic.claude-opus-4-7" },
327
- { provider: "amazon-bedrock", id: "global.anthropic.claude-opus-4-7" },
328
- { provider: "google-antigravity", id: "claude-opus-4-7-thinking", reasoning: true },
329
- { provider: "openrouter", id: "qwen/qwen3.6-plus" },
330
- { provider: "groq", id: "groq/compound" },
331
- { provider: "groq", id: "groq/compound-mini" },
332
- { provider: "huggingface", id: "zai-org/GLM-5.1" },
333
- { provider: "openai", id: "gpt-5.3-chat-latest" },
334
- { provider: "openai-codex", id: "gpt-5.4-mini", reasoning: true },
335
- { provider: "mistral", id: "mistral-small-2603" },
336
- { provider: "zai", id: "glm-5.1" },
337
- ];
338
- for (const { provider, id, reasoning } of newModels) {
339
- it(`${provider}/${id} is present in the registry`, () => {
340
- const model = getModel(provider, id);
341
- assert.ok(model, `Expected ${provider}/${id} to be present after regeneration`);
342
- assert.equal(model.id, id);
343
- assert.equal(model.provider, provider);
344
- if (reasoning !== undefined) {
345
- assert.equal(model.reasoning, reasoning, `${id} reasoning should be ${reasoning}`);
346
- }
347
- });
348
- }
291
+ // "Spot-checks for models added in this regeneration" removed (#4804).
292
+ //
293
+ // The block asserted that a hardcoded list of 21 model IDs was present
294
+ // in the registry. Each assertion read a value the generator had just
295
+ // written, so the test could not detect a broken generator — it only
296
+ // tripped when someone hand-edited the snapshot. Worse, the list went
297
+ // stale on every regeneration (adding a fresh list is the reviewer's
298
+ // tax) without providing any invariant the structural tests above
299
+ // didn't already cover:
300
+ // - every id matches its key
301
+ // - every model has a positive contextWindow
302
+ // - no duplicate model IDs
303
+ //
304
+ // If a specific model capability is load-bearing for a feature, the
305
+ // guard for that capability belongs in the feature's own test — not
306
+ // in a "did the generator output what it output" snapshot. The
307
+ // GPT-5.5 availability test below is an example: it asserts concrete
308
+ // pricing/context-window values the feature depends on.
309
+ describe("GPT-5.5 availability", () => {
310
+ it("exposes GPT-5.5 through OpenAI API and OpenAI Codex providers", () => {
311
+ const apiModel = getModel("openai", "gpt-5.5");
312
+ assert.ok(apiModel, "openai/gpt-5.5 should be present");
313
+ assert.equal(apiModel.contextWindow, 1000000);
314
+ assert.equal(apiModel.cost.input, 5);
315
+ assert.equal(apiModel.cost.output, 30);
316
+ const codexModel = getModel("openai-codex", "gpt-5.5");
317
+ assert.ok(codexModel, "openai-codex/gpt-5.5 should be present");
318
+ assert.equal(codexModel.contextWindow, 400000);
319
+ assert.equal(codexModel.cost.input, 5);
320
+ assert.equal(codexModel.cost.output, 30);
321
+ });
349
322
  });
350
323
  //# sourceMappingURL=models.generated.test.js.map