indusagi 0.12.13 → 0.12.16

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 (344) hide show
  1. package/dist/agent/agent-session.d.ts +352 -0
  2. package/dist/agent/agent-session.d.ts.map +1 -0
  3. package/dist/agent/agent-session.js +870 -0
  4. package/dist/agent/agent-session.js.map +1 -0
  5. package/dist/agent/agent-session.test.d.ts +5 -0
  6. package/dist/agent/agent-session.test.d.ts.map +1 -0
  7. package/dist/agent/agent-session.test.js +129 -0
  8. package/dist/agent/agent-session.test.js.map +1 -0
  9. package/dist/agent/agent.d.ts +108 -2
  10. package/dist/agent/agent.d.ts.map +1 -1
  11. package/dist/agent/agent.js +210 -17
  12. package/dist/agent/agent.js.map +1 -1
  13. package/dist/agent/bash-executor.d.ts +33 -0
  14. package/dist/agent/bash-executor.d.ts.map +1 -0
  15. package/dist/agent/bash-executor.js +197 -0
  16. package/dist/agent/bash-executor.js.map +1 -0
  17. package/dist/agent/compaction/compaction.d.ts +87 -0
  18. package/dist/agent/compaction/compaction.d.ts.map +1 -0
  19. package/dist/agent/compaction/compaction.js +598 -0
  20. package/dist/agent/compaction/compaction.js.map +1 -0
  21. package/dist/agent/compaction/index.d.ts +6 -0
  22. package/dist/agent/compaction/index.d.ts.map +1 -0
  23. package/dist/agent/compaction/index.js +6 -0
  24. package/dist/agent/compaction/index.js.map +1 -0
  25. package/dist/agent/compaction/utils.d.ts +41 -0
  26. package/dist/agent/compaction/utils.d.ts.map +1 -0
  27. package/dist/agent/compaction/utils.js +240 -0
  28. package/dist/agent/compaction/utils.js.map +1 -0
  29. package/dist/agent/event-bus.js +1 -3
  30. package/dist/agent/event-bus.js.map +1 -1
  31. package/dist/agent/index.d.ts +11 -5
  32. package/dist/agent/index.d.ts.map +1 -1
  33. package/dist/agent/index.js +19 -8
  34. package/dist/agent/index.js.map +1 -1
  35. package/dist/agent/messages.d.ts +2 -48
  36. package/dist/agent/messages.d.ts.map +1 -1
  37. package/dist/agent/messages.js.map +1 -1
  38. package/dist/agent/proxy.js.map +1 -1
  39. package/dist/agent/session-manager.d.ts +2 -3
  40. package/dist/agent/session-manager.d.ts.map +1 -1
  41. package/dist/agent/session-manager.js +10 -6
  42. package/dist/agent/session-manager.js.map +1 -1
  43. package/dist/agent/settings-manager.d.ts +204 -0
  44. package/dist/agent/settings-manager.d.ts.map +1 -0
  45. package/dist/agent/settings-manager.js +594 -0
  46. package/dist/agent/settings-manager.js.map +1 -0
  47. package/dist/agent/state-manager.js +1 -0
  48. package/dist/agent/state-manager.js.map +1 -1
  49. package/dist/agent/telemetry.js +1 -3
  50. package/dist/agent/telemetry.js.map +1 -1
  51. package/dist/agent/tools/bash.js +1 -0
  52. package/dist/agent/tools/bash.js.map +1 -1
  53. package/dist/agent/tools/edit.test.d.ts +6 -0
  54. package/dist/agent/tools/edit.test.d.ts.map +1 -0
  55. package/dist/agent/tools/edit.test.js +196 -0
  56. package/dist/agent/tools/edit.test.js.map +1 -0
  57. package/dist/agent/tools/index.d.ts +26 -26
  58. package/dist/agent/tools/registry.d.ts +1 -1
  59. package/dist/agent/tools/registry.d.ts.map +1 -1
  60. package/dist/agent/tools/registry.js +2 -4
  61. package/dist/agent/tools/registry.js.map +1 -1
  62. package/dist/agent/tools/todo-store.js +2 -1
  63. package/dist/agent/tools/todo-store.js.map +1 -1
  64. package/dist/agent/tools/utils/hook-runner.js +1 -3
  65. package/dist/agent/tools/utils/hook-runner.js.map +1 -1
  66. package/dist/agent/types.d.ts +139 -1
  67. package/dist/agent/types.d.ts.map +1 -1
  68. package/dist/agent/types.js.map +1 -1
  69. package/dist/ai/api-registry.js +1 -3
  70. package/dist/ai/api-registry.js.map +1 -1
  71. package/dist/ai/models.generated.d.ts +621 -53
  72. package/dist/ai/models.generated.d.ts.map +1 -1
  73. package/dist/ai/models.generated.js +548 -0
  74. package/dist/ai/models.generated.js.map +1 -1
  75. package/dist/ai/models.js +1 -0
  76. package/dist/ai/models.js.map +1 -1
  77. package/dist/ai/providers/amazon-bedrock.d.ts +6 -0
  78. package/dist/ai/providers/amazon-bedrock.d.ts.map +1 -1
  79. package/dist/ai/providers/amazon-bedrock.js +47 -9
  80. package/dist/ai/providers/amazon-bedrock.js.map +1 -1
  81. package/dist/ai/providers/anthropic.d.ts +8 -0
  82. package/dist/ai/providers/anthropic.d.ts.map +1 -1
  83. package/dist/ai/providers/anthropic.js +28 -12
  84. package/dist/ai/providers/anthropic.js.map +1 -1
  85. package/dist/ai/providers/azure-openai-responses.js +1 -0
  86. package/dist/ai/providers/azure-openai-responses.js.map +1 -1
  87. package/dist/ai/providers/github-copilot-headers.d.ts +33 -0
  88. package/dist/ai/providers/github-copilot-headers.d.ts.map +1 -0
  89. package/dist/ai/providers/github-copilot-headers.js +51 -0
  90. package/dist/ai/providers/github-copilot-headers.js.map +1 -0
  91. package/dist/ai/providers/google-shared.d.ts.map +1 -1
  92. package/dist/ai/providers/google-shared.js +16 -22
  93. package/dist/ai/providers/google-shared.js.map +1 -1
  94. package/dist/ai/providers/google-vertex.d.ts.map +1 -1
  95. package/dist/ai/providers/google-vertex.js +28 -5
  96. package/dist/ai/providers/google-vertex.js.map +1 -1
  97. package/dist/ai/providers/google.js +1 -0
  98. package/dist/ai/providers/google.js.map +1 -1
  99. package/dist/ai/providers/kimi.js +1 -0
  100. package/dist/ai/providers/kimi.js.map +1 -1
  101. package/dist/ai/providers/mistral.d.ts +22 -0
  102. package/dist/ai/providers/mistral.d.ts.map +1 -0
  103. package/dist/ai/providers/mistral.js +497 -0
  104. package/dist/ai/providers/mistral.js.map +1 -0
  105. package/dist/ai/providers/openai-codex-responses.js +1 -0
  106. package/dist/ai/providers/openai-codex-responses.js.map +1 -1
  107. package/dist/ai/providers/openai-completions.js +2 -0
  108. package/dist/ai/providers/openai-completions.js.map +1 -1
  109. package/dist/ai/providers/openai-responses.d.ts.map +1 -1
  110. package/dist/ai/providers/openai-responses.js +30 -0
  111. package/dist/ai/providers/openai-responses.js.map +1 -1
  112. package/dist/ai/providers/register-builtins.d.ts.map +1 -1
  113. package/dist/ai/providers/register-builtins.js +6 -0
  114. package/dist/ai/providers/register-builtins.js.map +1 -1
  115. package/dist/ai/providers/simple-options.js +2 -0
  116. package/dist/ai/providers/simple-options.js.map +1 -1
  117. package/dist/ai/providers/transform-messages.js +3 -9
  118. package/dist/ai/providers/transform-messages.js.map +1 -1
  119. package/dist/ai/stream.js +1 -3
  120. package/dist/ai/stream.js.map +1 -1
  121. package/dist/ai/types.d.ts +34 -0
  122. package/dist/ai/types.d.ts.map +1 -1
  123. package/dist/ai/types.js.map +1 -1
  124. package/dist/ai/utils/base-stream-handler.js +1 -0
  125. package/dist/ai/utils/base-stream-handler.js.map +1 -1
  126. package/dist/ai/utils/event-stream.js +9 -4
  127. package/dist/ai/utils/event-stream.js.map +1 -1
  128. package/dist/ai/utils/hash.d.ts +6 -0
  129. package/dist/ai/utils/hash.d.ts.map +1 -0
  130. package/dist/ai/utils/hash.js +17 -0
  131. package/dist/ai/utils/hash.js.map +1 -0
  132. package/dist/ai/utils/index.d.ts +1 -0
  133. package/dist/ai/utils/index.d.ts.map +1 -1
  134. package/dist/ai/utils/index.js +1 -0
  135. package/dist/ai/utils/index.js.map +1 -1
  136. package/dist/ai/utils/oauth/github-copilot.d.ts.map +1 -1
  137. package/dist/ai/utils/oauth/github-copilot.js +19 -8
  138. package/dist/ai/utils/oauth/github-copilot.js.map +1 -1
  139. package/dist/ai/utils/overflow.d.ts.map +1 -1
  140. package/dist/ai/utils/overflow.js +4 -0
  141. package/dist/ai/utils/overflow.js.map +1 -1
  142. package/dist/ai/utils/provider-adapter.js +9 -0
  143. package/dist/ai/utils/provider-adapter.js.map +1 -1
  144. package/dist/ai/utils/provider-client-builder.js +1 -1
  145. package/dist/ai/utils/provider-client-builder.js.map +1 -1
  146. package/dist/ai/utils/provider-errors.js +2 -0
  147. package/dist/ai/utils/provider-errors.js.map +1 -1
  148. package/dist/ai/utils/stream-event-helper.js +3 -0
  149. package/dist/ai/utils/stream-event-helper.js.map +1 -1
  150. package/dist/ai/utils/stream-handler-types.js +5 -0
  151. package/dist/ai/utils/stream-handler-types.js.map +1 -1
  152. package/dist/ai/utils/streaming-state-manager.js +4 -2
  153. package/dist/ai/utils/streaming-state-manager.js.map +1 -1
  154. package/dist/index.d.ts +1 -0
  155. package/dist/index.d.ts.map +1 -1
  156. package/dist/index.js +1 -0
  157. package/dist/index.js.map +1 -1
  158. package/dist/mcp/client-pool.d.ts +106 -0
  159. package/dist/mcp/client-pool.d.ts.map +1 -0
  160. package/dist/mcp/client-pool.js +234 -0
  161. package/dist/mcp/client-pool.js.map +1 -0
  162. package/dist/mcp/client.d.ts +158 -0
  163. package/dist/mcp/client.d.ts.map +1 -0
  164. package/dist/mcp/client.js +599 -0
  165. package/dist/mcp/client.js.map +1 -0
  166. package/dist/mcp/config.d.ts +61 -0
  167. package/dist/mcp/config.d.ts.map +1 -0
  168. package/dist/mcp/config.js +250 -0
  169. package/dist/mcp/config.js.map +1 -0
  170. package/dist/mcp/errors.d.ts +104 -0
  171. package/dist/mcp/errors.d.ts.map +1 -0
  172. package/dist/mcp/errors.js +146 -0
  173. package/dist/mcp/errors.js.map +1 -0
  174. package/dist/mcp/index.d.ts +56 -0
  175. package/dist/mcp/index.d.ts.map +1 -0
  176. package/dist/mcp/index.js +83 -0
  177. package/dist/mcp/index.js.map +1 -0
  178. package/dist/mcp/schema-converter.d.ts +68 -0
  179. package/dist/mcp/schema-converter.d.ts.map +1 -0
  180. package/dist/mcp/schema-converter.js +230 -0
  181. package/dist/mcp/schema-converter.js.map +1 -0
  182. package/dist/mcp/server.d.ts +111 -0
  183. package/dist/mcp/server.d.ts.map +1 -0
  184. package/dist/mcp/server.js +305 -0
  185. package/dist/mcp/server.js.map +1 -0
  186. package/dist/mcp/tool-factory.d.ts +63 -0
  187. package/dist/mcp/tool-factory.d.ts.map +1 -0
  188. package/dist/mcp/tool-factory.js +228 -0
  189. package/dist/mcp/tool-factory.js.map +1 -0
  190. package/dist/mcp/types.d.ts +289 -0
  191. package/dist/mcp/types.d.ts.map +1 -0
  192. package/dist/mcp/types.js +8 -0
  193. package/dist/mcp/types.js.map +1 -0
  194. package/dist/mcp.d.ts +6 -0
  195. package/dist/mcp.d.ts.map +1 -0
  196. package/dist/mcp.js +6 -0
  197. package/dist/mcp.js.map +1 -0
  198. package/dist/memory/embedder/base.d.ts +41 -0
  199. package/dist/memory/embedder/base.d.ts.map +1 -0
  200. package/dist/memory/embedder/base.js +10 -0
  201. package/dist/memory/embedder/base.js.map +1 -0
  202. package/dist/memory/embedder/index.d.ts +8 -0
  203. package/dist/memory/embedder/index.d.ts.map +1 -0
  204. package/dist/memory/embedder/index.js +6 -0
  205. package/dist/memory/embedder/index.js.map +1 -0
  206. package/dist/memory/embedder/openai.d.ts +35 -0
  207. package/dist/memory/embedder/openai.d.ts.map +1 -0
  208. package/dist/memory/embedder/openai.js +109 -0
  209. package/dist/memory/embedder/openai.js.map +1 -0
  210. package/dist/memory/index.d.ts +33 -0
  211. package/dist/memory/index.d.ts.map +1 -0
  212. package/dist/memory/index.js +31 -0
  213. package/dist/memory/index.js.map +1 -0
  214. package/dist/memory/memory.d.ts +126 -0
  215. package/dist/memory/memory.d.ts.map +1 -0
  216. package/dist/memory/memory.js +285 -0
  217. package/dist/memory/memory.js.map +1 -0
  218. package/dist/memory/processors/base.d.ts +42 -0
  219. package/dist/memory/processors/base.d.ts.map +1 -0
  220. package/dist/memory/processors/base.js +6 -0
  221. package/dist/memory/processors/base.js.map +1 -0
  222. package/dist/memory/processors/index.d.ts +16 -0
  223. package/dist/memory/processors/index.d.ts.map +1 -0
  224. package/dist/memory/processors/index.js +18 -0
  225. package/dist/memory/processors/index.js.map +1 -0
  226. package/dist/memory/processors/message-history.d.ts +35 -0
  227. package/dist/memory/processors/message-history.d.ts.map +1 -0
  228. package/dist/memory/processors/message-history.js +53 -0
  229. package/dist/memory/processors/message-history.js.map +1 -0
  230. package/dist/memory/processors/observational-memory/index.d.ts +82 -0
  231. package/dist/memory/processors/observational-memory/index.d.ts.map +1 -0
  232. package/dist/memory/processors/observational-memory/index.js +239 -0
  233. package/dist/memory/processors/observational-memory/index.js.map +1 -0
  234. package/dist/memory/processors/observational-memory/observer-agent.d.ts +64 -0
  235. package/dist/memory/processors/observational-memory/observer-agent.d.ts.map +1 -0
  236. package/dist/memory/processors/observational-memory/observer-agent.js +362 -0
  237. package/dist/memory/processors/observational-memory/observer-agent.js.map +1 -0
  238. package/dist/memory/processors/observational-memory/reflector-agent.d.ts +38 -0
  239. package/dist/memory/processors/observational-memory/reflector-agent.d.ts.map +1 -0
  240. package/dist/memory/processors/observational-memory/reflector-agent.js +213 -0
  241. package/dist/memory/processors/observational-memory/reflector-agent.js.map +1 -0
  242. package/dist/memory/processors/observational-memory/token-counter.d.ts +35 -0
  243. package/dist/memory/processors/observational-memory/token-counter.d.ts.map +1 -0
  244. package/dist/memory/processors/observational-memory/token-counter.js +90 -0
  245. package/dist/memory/processors/observational-memory/token-counter.js.map +1 -0
  246. package/dist/memory/processors/semantic-recall.d.ts +55 -0
  247. package/dist/memory/processors/semantic-recall.d.ts.map +1 -0
  248. package/dist/memory/processors/semantic-recall.js +152 -0
  249. package/dist/memory/processors/semantic-recall.js.map +1 -0
  250. package/dist/memory/processors/working-memory.d.ts +41 -0
  251. package/dist/memory/processors/working-memory.d.ts.map +1 -0
  252. package/dist/memory/processors/working-memory.js +87 -0
  253. package/dist/memory/processors/working-memory.js.map +1 -0
  254. package/dist/memory/storage/base.d.ts +288 -0
  255. package/dist/memory/storage/base.d.ts.map +1 -0
  256. package/dist/memory/storage/base.js +209 -0
  257. package/dist/memory/storage/base.js.map +1 -0
  258. package/dist/memory/storage/index.d.ts +9 -0
  259. package/dist/memory/storage/index.d.ts.map +1 -0
  260. package/dist/memory/storage/index.js +7 -0
  261. package/dist/memory/storage/index.js.map +1 -0
  262. package/dist/memory/storage/inmemory.d.ts +93 -0
  263. package/dist/memory/storage/inmemory.d.ts.map +1 -0
  264. package/dist/memory/storage/inmemory.js +647 -0
  265. package/dist/memory/storage/inmemory.js.map +1 -0
  266. package/dist/memory/tools/working-memory.d.ts +100 -0
  267. package/dist/memory/tools/working-memory.d.ts.map +1 -0
  268. package/dist/memory/tools/working-memory.js +237 -0
  269. package/dist/memory/tools/working-memory.js.map +1 -0
  270. package/dist/memory/types.d.ts +386 -0
  271. package/dist/memory/types.d.ts.map +1 -0
  272. package/dist/memory/types.js +58 -0
  273. package/dist/memory/types.js.map +1 -0
  274. package/dist/memory/vector/base.d.ts +145 -0
  275. package/dist/memory/vector/base.d.ts.map +1 -0
  276. package/dist/memory/vector/base.js +81 -0
  277. package/dist/memory/vector/base.js.map +1 -0
  278. package/dist/memory/vector/index.d.ts +8 -0
  279. package/dist/memory/vector/index.d.ts.map +1 -0
  280. package/dist/memory/vector/index.js +7 -0
  281. package/dist/memory/vector/index.js.map +1 -0
  282. package/dist/memory/vector/inmemory.d.ts +47 -0
  283. package/dist/memory/vector/inmemory.d.ts.map +1 -0
  284. package/dist/memory/vector/inmemory.js +231 -0
  285. package/dist/memory/vector/inmemory.js.map +1 -0
  286. package/dist/tui/autocomplete.js +5 -1
  287. package/dist/tui/autocomplete.js.map +1 -1
  288. package/dist/tui/components/box.js +9 -1
  289. package/dist/tui/components/box.js.map +1 -1
  290. package/dist/tui/components/cancellable-loader.js +3 -4
  291. package/dist/tui/components/cancellable-loader.js.map +1 -1
  292. package/dist/tui/components/editor.d.ts +39 -3
  293. package/dist/tui/components/editor.d.ts.map +1 -1
  294. package/dist/tui/components/editor.js +162 -133
  295. package/dist/tui/components/editor.js.map +1 -1
  296. package/dist/tui/components/image.js +8 -0
  297. package/dist/tui/components/image.js.map +1 -1
  298. package/dist/tui/components/input.js +10 -11
  299. package/dist/tui/components/input.js.map +1 -1
  300. package/dist/tui/components/loader.js +7 -4
  301. package/dist/tui/components/loader.js.map +1 -1
  302. package/dist/tui/components/markdown.js +10 -0
  303. package/dist/tui/components/markdown.js.map +1 -1
  304. package/dist/tui/components/select-list.js +8 -4
  305. package/dist/tui/components/select-list.js.map +1 -1
  306. package/dist/tui/components/settings-list.js +12 -4
  307. package/dist/tui/components/settings-list.js.map +1 -1
  308. package/dist/tui/components/spacer.js +1 -0
  309. package/dist/tui/components/spacer.js.map +1 -1
  310. package/dist/tui/components/text.js +5 -0
  311. package/dist/tui/components/text.js.map +1 -1
  312. package/dist/tui/components/truncated-text.js +3 -0
  313. package/dist/tui/components/truncated-text.js.map +1 -1
  314. package/dist/tui/fuzzy.js +4 -1
  315. package/dist/tui/fuzzy.js.map +1 -1
  316. package/dist/tui/keybindings.js +3 -2
  317. package/dist/tui/keybindings.js.map +1 -1
  318. package/dist/tui/keys.d.ts +17 -1
  319. package/dist/tui/keys.d.ts.map +1 -1
  320. package/dist/tui/keys.js +56 -0
  321. package/dist/tui/keys.js.map +1 -1
  322. package/dist/tui/kill-ring.d.ts +28 -0
  323. package/dist/tui/kill-ring.d.ts.map +1 -0
  324. package/dist/tui/kill-ring.js +44 -0
  325. package/dist/tui/kill-ring.js.map +1 -0
  326. package/dist/tui/stdin-buffer.js +6 -5
  327. package/dist/tui/stdin-buffer.js.map +1 -1
  328. package/dist/tui/terminal-image.js +1 -3
  329. package/dist/tui/terminal-image.js.map +1 -1
  330. package/dist/tui/terminal.d.ts +13 -0
  331. package/dist/tui/terminal.d.ts.map +1 -1
  332. package/dist/tui/terminal.js +70 -7
  333. package/dist/tui/terminal.js.map +1 -1
  334. package/dist/tui/tui.d.ts +36 -0
  335. package/dist/tui/tui.d.ts.map +1 -1
  336. package/dist/tui/tui.js +101 -29
  337. package/dist/tui/tui.js.map +1 -1
  338. package/dist/tui/undo-stack.d.ts +17 -0
  339. package/dist/tui/undo-stack.d.ts.map +1 -0
  340. package/dist/tui/undo-stack.js +25 -0
  341. package/dist/tui/undo-stack.js.map +1 -0
  342. package/dist/tui/utils.js +12 -16
  343. package/dist/tui/utils.js.map +1 -1
  344. package/package.json +32 -2
@@ -1 +1 @@
1
- {"version":3,"file":"models.generated.d.ts","sourceRoot":"","sources":["../../src/ai/models.generated.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8nWT,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC"}
1
+ {"version":3,"file":"models.generated.d.ts","sourceRoot":"","sources":["../../src/ai/models.generated.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkqXT,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC"}
@@ -1774,6 +1774,108 @@ export const MODELS = {
1774
1774
  contextWindow: 400000,
1775
1775
  maxTokens: 128000,
1776
1776
  },
1777
+ "gpt-5.3": {
1778
+ id: "gpt-5.3",
1779
+ name: "GPT-5.3",
1780
+ api: "azure-openai-responses",
1781
+ provider: "azure-openai-responses",
1782
+ baseUrl: "",
1783
+ reasoning: true,
1784
+ input: ["text", "image"],
1785
+ cost: {
1786
+ input: 2.5,
1787
+ output: 20,
1788
+ cacheRead: 0.25,
1789
+ cacheWrite: 0,
1790
+ },
1791
+ contextWindow: 400000,
1792
+ maxTokens: 128000,
1793
+ },
1794
+ "gpt-5.3-codex": {
1795
+ id: "gpt-5.3-codex",
1796
+ name: "GPT-5.3 Codex",
1797
+ api: "azure-openai-responses",
1798
+ provider: "azure-openai-responses",
1799
+ baseUrl: "",
1800
+ reasoning: true,
1801
+ input: ["text", "image"],
1802
+ cost: {
1803
+ input: 2.5,
1804
+ output: 20,
1805
+ cacheRead: 0.25,
1806
+ cacheWrite: 0,
1807
+ },
1808
+ contextWindow: 400000,
1809
+ maxTokens: 128000,
1810
+ },
1811
+ "gpt-5.3-pro": {
1812
+ id: "gpt-5.3-pro",
1813
+ name: "GPT-5.3 Pro",
1814
+ api: "azure-openai-responses",
1815
+ provider: "azure-openai-responses",
1816
+ baseUrl: "",
1817
+ reasoning: true,
1818
+ input: ["text", "image"],
1819
+ cost: {
1820
+ input: 30,
1821
+ output: 240,
1822
+ cacheRead: 0,
1823
+ cacheWrite: 0,
1824
+ },
1825
+ contextWindow: 400000,
1826
+ maxTokens: 128000,
1827
+ },
1828
+ "gpt-5.4": {
1829
+ id: "gpt-5.4",
1830
+ name: "GPT-5.4",
1831
+ api: "azure-openai-responses",
1832
+ provider: "azure-openai-responses",
1833
+ baseUrl: "",
1834
+ reasoning: true,
1835
+ input: ["text", "image"],
1836
+ cost: {
1837
+ input: 3,
1838
+ output: 24,
1839
+ cacheRead: 0.3,
1840
+ cacheWrite: 0,
1841
+ },
1842
+ contextWindow: 400000,
1843
+ maxTokens: 128000,
1844
+ },
1845
+ "gpt-5.4-codex": {
1846
+ id: "gpt-5.4-codex",
1847
+ name: "GPT-5.4 Codex",
1848
+ api: "azure-openai-responses",
1849
+ provider: "azure-openai-responses",
1850
+ baseUrl: "",
1851
+ reasoning: true,
1852
+ input: ["text", "image"],
1853
+ cost: {
1854
+ input: 3,
1855
+ output: 24,
1856
+ cacheRead: 0.3,
1857
+ cacheWrite: 0,
1858
+ },
1859
+ contextWindow: 400000,
1860
+ maxTokens: 128000,
1861
+ },
1862
+ "gpt-5.4-pro": {
1863
+ id: "gpt-5.4-pro",
1864
+ name: "GPT-5.4 Pro",
1865
+ api: "azure-openai-responses",
1866
+ provider: "azure-openai-responses",
1867
+ baseUrl: "",
1868
+ reasoning: true,
1869
+ input: ["text", "image"],
1870
+ cost: {
1871
+ input: 36,
1872
+ output: 288,
1873
+ cacheRead: 0,
1874
+ cacheWrite: 0,
1875
+ },
1876
+ contextWindow: 400000,
1877
+ maxTokens: 128000,
1878
+ },
1777
1879
  "o1": {
1778
1880
  id: "o1",
1779
1881
  name: "o1",
@@ -2280,6 +2382,78 @@ export const MODELS = {
2280
2382
  contextWindow: 272000,
2281
2383
  maxTokens: 128000,
2282
2384
  },
2385
+ "gpt-5.3": {
2386
+ id: "gpt-5.3",
2387
+ name: "GPT-5.3",
2388
+ api: "openai-responses",
2389
+ provider: "github-copilot",
2390
+ baseUrl: "https://api.individual.githubcopilot.com",
2391
+ headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
2392
+ reasoning: true,
2393
+ input: ["text", "image"],
2394
+ cost: {
2395
+ input: 0,
2396
+ output: 0,
2397
+ cacheRead: 0,
2398
+ cacheWrite: 0,
2399
+ },
2400
+ contextWindow: 272000,
2401
+ maxTokens: 128000,
2402
+ },
2403
+ "gpt-5.3-codex": {
2404
+ id: "gpt-5.3-codex",
2405
+ name: "GPT-5.3-Codex",
2406
+ api: "openai-responses",
2407
+ provider: "github-copilot",
2408
+ baseUrl: "https://api.individual.githubcopilot.com",
2409
+ headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
2410
+ reasoning: true,
2411
+ input: ["text", "image"],
2412
+ cost: {
2413
+ input: 0,
2414
+ output: 0,
2415
+ cacheRead: 0,
2416
+ cacheWrite: 0,
2417
+ },
2418
+ contextWindow: 272000,
2419
+ maxTokens: 128000,
2420
+ },
2421
+ "gpt-5.4": {
2422
+ id: "gpt-5.4",
2423
+ name: "GPT-5.4",
2424
+ api: "openai-responses",
2425
+ provider: "github-copilot",
2426
+ baseUrl: "https://api.individual.githubcopilot.com",
2427
+ headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
2428
+ reasoning: true,
2429
+ input: ["text", "image"],
2430
+ cost: {
2431
+ input: 0,
2432
+ output: 0,
2433
+ cacheRead: 0,
2434
+ cacheWrite: 0,
2435
+ },
2436
+ contextWindow: 272000,
2437
+ maxTokens: 128000,
2438
+ },
2439
+ "gpt-5.4-codex": {
2440
+ id: "gpt-5.4-codex",
2441
+ name: "GPT-5.4-Codex",
2442
+ api: "openai-responses",
2443
+ provider: "github-copilot",
2444
+ baseUrl: "https://api.individual.githubcopilot.com",
2445
+ headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
2446
+ reasoning: true,
2447
+ input: ["text", "image"],
2448
+ cost: {
2449
+ input: 0,
2450
+ output: 0,
2451
+ cacheRead: 0,
2452
+ cacheWrite: 0,
2453
+ },
2454
+ contextWindow: 272000,
2455
+ maxTokens: 128000,
2456
+ },
2283
2457
  "grok-code-fast-1": {
2284
2458
  id: "grok-code-fast-1",
2285
2459
  name: "Grok Code Fast 1",
@@ -4081,6 +4255,125 @@ export const MODELS = {
4081
4255
  contextWindow: 400000,
4082
4256
  maxTokens: 128000,
4083
4257
  },
4258
+ "gpt-5.3": {
4259
+ id: "gpt-5.3",
4260
+ name: "GPT-5.3",
4261
+ api: "openai-responses",
4262
+ provider: "openai",
4263
+ baseUrl: "https://api.openai.com/v1",
4264
+ reasoning: true,
4265
+ input: ["text", "image"],
4266
+ cost: {
4267
+ input: 2,
4268
+ output: 16,
4269
+ cacheRead: 0.2,
4270
+ cacheWrite: 0,
4271
+ },
4272
+ contextWindow: 400000,
4273
+ maxTokens: 128000,
4274
+ },
4275
+ "gpt-5.3-chat-latest": {
4276
+ id: "gpt-5.3-chat-latest",
4277
+ name: "GPT-5.3 Chat",
4278
+ api: "openai-responses",
4279
+ provider: "openai",
4280
+ baseUrl: "https://api.openai.com/v1",
4281
+ reasoning: true,
4282
+ input: ["text", "image"],
4283
+ cost: {
4284
+ input: 2,
4285
+ output: 16,
4286
+ cacheRead: 0.2,
4287
+ cacheWrite: 0,
4288
+ },
4289
+ contextWindow: 128000,
4290
+ maxTokens: 16384,
4291
+ },
4292
+ "gpt-5.3-pro": {
4293
+ id: "gpt-5.3-pro",
4294
+ name: "GPT-5.3 Pro",
4295
+ api: "openai-responses",
4296
+ provider: "openai",
4297
+ baseUrl: "https://api.openai.com/v1",
4298
+ reasoning: true,
4299
+ input: ["text", "image"],
4300
+ cost: {
4301
+ input: 24,
4302
+ output: 192,
4303
+ cacheRead: 0,
4304
+ cacheWrite: 0,
4305
+ },
4306
+ contextWindow: 400000,
4307
+ maxTokens: 128000,
4308
+ },
4309
+ "gpt-5.4": {
4310
+ id: "gpt-5.4",
4311
+ name: "GPT-5.4",
4312
+ api: "openai-responses",
4313
+ provider: "openai",
4314
+ baseUrl: "https://api.openai.com/v1",
4315
+ reasoning: true,
4316
+ input: ["text", "image"],
4317
+ cost: {
4318
+ input: 2.25,
4319
+ output: 18,
4320
+ cacheRead: 0.225,
4321
+ cacheWrite: 0,
4322
+ },
4323
+ contextWindow: 400000,
4324
+ maxTokens: 128000,
4325
+ },
4326
+ "gpt-5.4-chat-latest": {
4327
+ id: "gpt-5.4-chat-latest",
4328
+ name: "GPT-5.4 Chat",
4329
+ api: "openai-responses",
4330
+ provider: "openai",
4331
+ baseUrl: "https://api.openai.com/v1",
4332
+ reasoning: true,
4333
+ input: ["text", "image"],
4334
+ cost: {
4335
+ input: 2.25,
4336
+ output: 18,
4337
+ cacheRead: 0.225,
4338
+ cacheWrite: 0,
4339
+ },
4340
+ contextWindow: 128000,
4341
+ maxTokens: 16384,
4342
+ },
4343
+ "gpt-5.4-codex": {
4344
+ id: "gpt-5.4-codex",
4345
+ name: "GPT-5.4 Codex",
4346
+ api: "openai-responses",
4347
+ provider: "openai",
4348
+ baseUrl: "https://api.openai.com/v1",
4349
+ reasoning: true,
4350
+ input: ["text", "image"],
4351
+ cost: {
4352
+ input: 2.25,
4353
+ output: 18,
4354
+ cacheRead: 0.225,
4355
+ cacheWrite: 0,
4356
+ },
4357
+ contextWindow: 400000,
4358
+ maxTokens: 128000,
4359
+ },
4360
+ "gpt-5.4-pro": {
4361
+ id: "gpt-5.4-pro",
4362
+ name: "GPT-5.4 Pro",
4363
+ api: "openai-responses",
4364
+ provider: "openai",
4365
+ baseUrl: "https://api.openai.com/v1",
4366
+ reasoning: true,
4367
+ input: ["text", "image"],
4368
+ cost: {
4369
+ input: 27,
4370
+ output: 216,
4371
+ cacheRead: 0,
4372
+ cacheWrite: 0,
4373
+ },
4374
+ contextWindow: 400000,
4375
+ maxTokens: 128000,
4376
+ },
4084
4377
  "o1": {
4085
4378
  id: "o1",
4086
4379
  name: "o1",
@@ -4338,6 +4631,91 @@ export const MODELS = {
4338
4631
  contextWindow: 128000,
4339
4632
  maxTokens: 128000,
4340
4633
  },
4634
+ "gpt-5.3": {
4635
+ id: "gpt-5.3",
4636
+ name: "GPT-5.3",
4637
+ api: "openai-codex-responses",
4638
+ provider: "openai-codex",
4639
+ baseUrl: "https://chatgpt.com/backend-api",
4640
+ reasoning: true,
4641
+ input: ["text", "image"],
4642
+ cost: {
4643
+ input: 2,
4644
+ output: 16,
4645
+ cacheRead: 0.2,
4646
+ cacheWrite: 0,
4647
+ },
4648
+ contextWindow: 272000,
4649
+ maxTokens: 128000,
4650
+ },
4651
+ "gpt-5.3-pro": {
4652
+ id: "gpt-5.3-pro",
4653
+ name: "GPT-5.3 Pro",
4654
+ api: "openai-codex-responses",
4655
+ provider: "openai-codex",
4656
+ baseUrl: "https://chatgpt.com/backend-api",
4657
+ reasoning: true,
4658
+ input: ["text", "image"],
4659
+ cost: {
4660
+ input: 24,
4661
+ output: 192,
4662
+ cacheRead: 0,
4663
+ cacheWrite: 0,
4664
+ },
4665
+ contextWindow: 400000,
4666
+ maxTokens: 128000,
4667
+ },
4668
+ "gpt-5.4": {
4669
+ id: "gpt-5.4",
4670
+ name: "GPT-5.4",
4671
+ api: "openai-codex-responses",
4672
+ provider: "openai-codex",
4673
+ baseUrl: "https://chatgpt.com/backend-api",
4674
+ reasoning: true,
4675
+ input: ["text", "image"],
4676
+ cost: {
4677
+ input: 2.25,
4678
+ output: 18,
4679
+ cacheRead: 0.225,
4680
+ cacheWrite: 0,
4681
+ },
4682
+ contextWindow: 272000,
4683
+ maxTokens: 128000,
4684
+ },
4685
+ "gpt-5.4-codex": {
4686
+ id: "gpt-5.4-codex",
4687
+ name: "GPT-5.4 Codex",
4688
+ api: "openai-codex-responses",
4689
+ provider: "openai-codex",
4690
+ baseUrl: "https://chatgpt.com/backend-api",
4691
+ reasoning: true,
4692
+ input: ["text", "image"],
4693
+ cost: {
4694
+ input: 2.25,
4695
+ output: 18,
4696
+ cacheRead: 0.225,
4697
+ cacheWrite: 0,
4698
+ },
4699
+ contextWindow: 272000,
4700
+ maxTokens: 128000,
4701
+ },
4702
+ "gpt-5.4-pro": {
4703
+ id: "gpt-5.4-pro",
4704
+ name: "GPT-5.4 Pro",
4705
+ api: "openai-codex-responses",
4706
+ provider: "openai-codex",
4707
+ baseUrl: "https://chatgpt.com/backend-api",
4708
+ reasoning: true,
4709
+ input: ["text", "image"],
4710
+ cost: {
4711
+ input: 25,
4712
+ output: 200,
4713
+ cacheRead: 0,
4714
+ cacheWrite: 0,
4715
+ },
4716
+ contextWindow: 400000,
4717
+ maxTokens: 128000,
4718
+ },
4341
4719
  },
4342
4720
  "opencode": {
4343
4721
  "big-pickle": {
@@ -4714,6 +5092,74 @@ export const MODELS = {
4714
5092
  contextWindow: 400000,
4715
5093
  maxTokens: 128000,
4716
5094
  },
5095
+ "gpt-5.3": {
5096
+ id: "gpt-5.3",
5097
+ name: "GPT-5.3",
5098
+ api: "openai-responses",
5099
+ provider: "opencode",
5100
+ baseUrl: "https://opencode.ai/zen/v1",
5101
+ reasoning: true,
5102
+ input: ["text", "image"],
5103
+ cost: {
5104
+ input: 2,
5105
+ output: 16,
5106
+ cacheRead: 0.2,
5107
+ cacheWrite: 0,
5108
+ },
5109
+ contextWindow: 400000,
5110
+ maxTokens: 128000,
5111
+ },
5112
+ "gpt-5.3-codex": {
5113
+ id: "gpt-5.3-codex",
5114
+ name: "GPT-5.3 Codex",
5115
+ api: "openai-responses",
5116
+ provider: "opencode",
5117
+ baseUrl: "https://opencode.ai/zen/v1",
5118
+ reasoning: true,
5119
+ input: ["text", "image"],
5120
+ cost: {
5121
+ input: 2,
5122
+ output: 16,
5123
+ cacheRead: 0.2,
5124
+ cacheWrite: 0,
5125
+ },
5126
+ contextWindow: 400000,
5127
+ maxTokens: 128000,
5128
+ },
5129
+ "gpt-5.4": {
5130
+ id: "gpt-5.4",
5131
+ name: "GPT-5.4",
5132
+ api: "openai-responses",
5133
+ provider: "opencode",
5134
+ baseUrl: "https://opencode.ai/zen/v1",
5135
+ reasoning: true,
5136
+ input: ["text", "image"],
5137
+ cost: {
5138
+ input: 2.25,
5139
+ output: 18,
5140
+ cacheRead: 0.225,
5141
+ cacheWrite: 0,
5142
+ },
5143
+ contextWindow: 400000,
5144
+ maxTokens: 128000,
5145
+ },
5146
+ "gpt-5.4-codex": {
5147
+ id: "gpt-5.4-codex",
5148
+ name: "GPT-5.4 Codex",
5149
+ api: "openai-responses",
5150
+ provider: "opencode",
5151
+ baseUrl: "https://opencode.ai/zen/v1",
5152
+ reasoning: true,
5153
+ input: ["text", "image"],
5154
+ cost: {
5155
+ input: 2.25,
5156
+ output: 18,
5157
+ cacheRead: 0.225,
5158
+ cacheWrite: 0,
5159
+ },
5160
+ contextWindow: 400000,
5161
+ maxTokens: 128000,
5162
+ },
4717
5163
  "grok-code": {
4718
5164
  id: "grok-code",
4719
5165
  name: "Grok Code Fast 1",
@@ -7317,6 +7763,108 @@ export const MODELS = {
7317
7763
  contextWindow: 400000,
7318
7764
  maxTokens: 128000,
7319
7765
  },
7766
+ "openai/gpt-5.3": {
7767
+ id: "openai/gpt-5.3",
7768
+ name: "OpenAI: GPT-5.3",
7769
+ api: "openai-completions",
7770
+ provider: "openrouter",
7771
+ baseUrl: "https://openrouter.ai/api/v1",
7772
+ reasoning: true,
7773
+ input: ["text", "image"],
7774
+ cost: {
7775
+ input: 2.5,
7776
+ output: 20,
7777
+ cacheRead: 0.25,
7778
+ cacheWrite: 0,
7779
+ },
7780
+ contextWindow: 400000,
7781
+ maxTokens: 128000,
7782
+ },
7783
+ "openai/gpt-5.3-codex": {
7784
+ id: "openai/gpt-5.3-codex",
7785
+ name: "OpenAI: GPT-5.3-Codex",
7786
+ api: "openai-completions",
7787
+ provider: "openrouter",
7788
+ baseUrl: "https://openrouter.ai/api/v1",
7789
+ reasoning: true,
7790
+ input: ["text", "image"],
7791
+ cost: {
7792
+ input: 2.5,
7793
+ output: 20,
7794
+ cacheRead: 0.25,
7795
+ cacheWrite: 0,
7796
+ },
7797
+ contextWindow: 400000,
7798
+ maxTokens: 128000,
7799
+ },
7800
+ "openai/gpt-5.3-pro": {
7801
+ id: "openai/gpt-5.3-pro",
7802
+ name: "OpenAI: GPT-5.3 Pro",
7803
+ api: "openai-completions",
7804
+ provider: "openrouter",
7805
+ baseUrl: "https://openrouter.ai/api/v1",
7806
+ reasoning: true,
7807
+ input: ["text", "image"],
7808
+ cost: {
7809
+ input: 30,
7810
+ output: 240,
7811
+ cacheRead: 0,
7812
+ cacheWrite: 0,
7813
+ },
7814
+ contextWindow: 400000,
7815
+ maxTokens: 128000,
7816
+ },
7817
+ "openai/gpt-5.4": {
7818
+ id: "openai/gpt-5.4",
7819
+ name: "OpenAI: GPT-5.4",
7820
+ api: "openai-completions",
7821
+ provider: "openrouter",
7822
+ baseUrl: "https://openrouter.ai/api/v1",
7823
+ reasoning: true,
7824
+ input: ["text", "image"],
7825
+ cost: {
7826
+ input: 3,
7827
+ output: 24,
7828
+ cacheRead: 0.3,
7829
+ cacheWrite: 0,
7830
+ },
7831
+ contextWindow: 400000,
7832
+ maxTokens: 128000,
7833
+ },
7834
+ "openai/gpt-5.4-codex": {
7835
+ id: "openai/gpt-5.4-codex",
7836
+ name: "OpenAI: GPT-5.4-Codex",
7837
+ api: "openai-completions",
7838
+ provider: "openrouter",
7839
+ baseUrl: "https://openrouter.ai/api/v1",
7840
+ reasoning: true,
7841
+ input: ["text", "image"],
7842
+ cost: {
7843
+ input: 3,
7844
+ output: 24,
7845
+ cacheRead: 0.3,
7846
+ cacheWrite: 0,
7847
+ },
7848
+ contextWindow: 400000,
7849
+ maxTokens: 128000,
7850
+ },
7851
+ "openai/gpt-5.4-pro": {
7852
+ id: "openai/gpt-5.4-pro",
7853
+ name: "OpenAI: GPT-5.4 Pro",
7854
+ api: "openai-completions",
7855
+ provider: "openrouter",
7856
+ baseUrl: "https://openrouter.ai/api/v1",
7857
+ reasoning: true,
7858
+ input: ["text", "image"],
7859
+ cost: {
7860
+ input: 36,
7861
+ output: 288,
7862
+ cacheRead: 0,
7863
+ cacheWrite: 0,
7864
+ },
7865
+ contextWindow: 400000,
7866
+ maxTokens: 128000,
7867
+ },
7320
7868
  "openai/gpt-oss-120b": {
7321
7869
  id: "openai/gpt-oss-120b",
7322
7870
  name: "OpenAI: gpt-oss-120b",