@bolt-foundry/gambit 0.8.3 → 0.8.5-rc.4

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 (289) hide show
  1. package/CHANGELOG.md +34 -2
  2. package/README.md +79 -16
  3. package/esm/_dnt.polyfills.d.ts +17 -0
  4. package/esm/_dnt.polyfills.d.ts.map +1 -1
  5. package/esm/_dnt.polyfills.js +122 -0
  6. package/esm/deps/jsr.io/@std/collections/1.1.5/deep_merge.d.ts +322 -0
  7. package/esm/deps/jsr.io/@std/collections/1.1.5/deep_merge.d.ts.map +1 -0
  8. package/esm/deps/jsr.io/@std/collections/1.1.5/deep_merge.js +105 -0
  9. package/esm/deps/jsr.io/@std/fs/1.0.22/_create_walk_entry.d.ts +14 -0
  10. package/esm/deps/jsr.io/@std/fs/1.0.22/_create_walk_entry.d.ts.map +1 -0
  11. package/esm/deps/jsr.io/@std/fs/1.0.22/_create_walk_entry.js +34 -0
  12. package/esm/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.d.ts +13 -0
  13. package/esm/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.d.ts.map +1 -0
  14. package/esm/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.js +18 -0
  15. package/esm/deps/jsr.io/@std/fs/1.0.22/_is_same_path.d.ts +10 -0
  16. package/esm/deps/jsr.io/@std/fs/1.0.22/_is_same_path.d.ts.map +1 -0
  17. package/esm/deps/jsr.io/@std/fs/1.0.22/_is_same_path.js +17 -0
  18. package/esm/deps/jsr.io/@std/fs/1.0.22/_is_subdir.d.ts +12 -0
  19. package/esm/deps/jsr.io/@std/fs/1.0.22/_is_subdir.d.ts.map +1 -0
  20. package/esm/deps/jsr.io/@std/fs/1.0.22/_is_subdir.js +25 -0
  21. package/esm/deps/jsr.io/@std/fs/1.0.22/_to_path_string.d.ts +9 -0
  22. package/esm/deps/jsr.io/@std/fs/1.0.22/_to_path_string.d.ts.map +1 -0
  23. package/esm/deps/jsr.io/@std/fs/1.0.22/_to_path_string.js +13 -0
  24. package/esm/deps/jsr.io/@std/fs/1.0.22/copy.d.ts +117 -0
  25. package/esm/deps/jsr.io/@std/fs/1.0.22/copy.d.ts.map +1 -0
  26. package/esm/deps/jsr.io/@std/fs/1.0.22/copy.js +313 -0
  27. package/esm/deps/jsr.io/@std/fs/1.0.22/empty_dir.d.ts +48 -0
  28. package/esm/deps/jsr.io/@std/fs/1.0.22/empty_dir.d.ts.map +1 -0
  29. package/esm/deps/jsr.io/@std/fs/1.0.22/empty_dir.js +87 -0
  30. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_dir.d.ts +49 -0
  31. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_dir.d.ts.map +1 -0
  32. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_dir.js +102 -0
  33. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_file.d.ts +47 -0
  34. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_file.d.ts.map +1 -0
  35. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_file.js +90 -0
  36. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_link.d.ts +49 -0
  37. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_link.d.ts.map +1 -0
  38. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_link.js +61 -0
  39. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_symlink.d.ts +70 -0
  40. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_symlink.d.ts.map +1 -0
  41. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_symlink.js +156 -0
  42. package/esm/deps/jsr.io/@std/fs/1.0.22/eol.d.ts +52 -0
  43. package/esm/deps/jsr.io/@std/fs/1.0.22/eol.d.ts.map +1 -0
  44. package/esm/deps/jsr.io/@std/fs/1.0.22/eol.js +67 -0
  45. package/esm/deps/jsr.io/@std/fs/1.0.22/exists.d.ts +218 -0
  46. package/esm/deps/jsr.io/@std/fs/1.0.22/exists.d.ts.map +1 -0
  47. package/esm/deps/jsr.io/@std/fs/1.0.22/exists.js +271 -0
  48. package/esm/deps/jsr.io/@std/fs/1.0.22/expand_glob.d.ts +267 -0
  49. package/esm/deps/jsr.io/@std/fs/1.0.22/expand_glob.d.ts.map +1 -0
  50. package/esm/deps/jsr.io/@std/fs/1.0.22/expand_glob.js +442 -0
  51. package/esm/deps/jsr.io/@std/fs/1.0.22/mod.d.ts +29 -0
  52. package/esm/deps/jsr.io/@std/fs/1.0.22/mod.d.ts.map +1 -0
  53. package/esm/deps/jsr.io/@std/fs/1.0.22/mod.js +29 -0
  54. package/esm/deps/jsr.io/@std/fs/1.0.22/move.d.ts +86 -0
  55. package/esm/deps/jsr.io/@std/fs/1.0.22/move.d.ts.map +1 -0
  56. package/esm/deps/jsr.io/@std/fs/1.0.22/move.js +142 -0
  57. package/esm/deps/jsr.io/@std/fs/1.0.22/walk.d.ts +777 -0
  58. package/esm/deps/jsr.io/@std/fs/1.0.22/walk.d.ts.map +1 -0
  59. package/esm/deps/jsr.io/@std/fs/1.0.22/walk.js +846 -0
  60. package/esm/deps/jsr.io/@std/json/1.0.2/types.d.ts +5 -0
  61. package/esm/deps/jsr.io/@std/json/1.0.2/types.d.ts.map +1 -0
  62. package/esm/deps/jsr.io/@std/json/1.0.2/types.js +3 -0
  63. package/esm/deps/jsr.io/@std/jsonc/1.0.2/mod.d.ts +20 -0
  64. package/esm/deps/jsr.io/@std/jsonc/1.0.2/mod.d.ts.map +1 -0
  65. package/esm/deps/jsr.io/@std/jsonc/1.0.2/mod.js +21 -0
  66. package/esm/deps/jsr.io/@std/jsonc/1.0.2/parse.d.ts +21 -0
  67. package/esm/deps/jsr.io/@std/jsonc/1.0.2/parse.d.ts.map +1 -0
  68. package/esm/deps/jsr.io/@std/jsonc/1.0.2/parse.js +320 -0
  69. package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts +93 -0
  70. package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts.map +1 -0
  71. package/esm/deps/jsr.io/@std/toml/1.0.11/_parser.js +753 -0
  72. package/esm/deps/jsr.io/@std/toml/1.0.11/mod.d.ts +109 -0
  73. package/esm/deps/jsr.io/@std/toml/1.0.11/mod.d.ts.map +1 -0
  74. package/esm/deps/jsr.io/@std/toml/1.0.11/mod.js +110 -0
  75. package/esm/deps/jsr.io/@std/toml/1.0.11/parse.d.ts +21 -0
  76. package/esm/deps/jsr.io/@std/toml/1.0.11/parse.d.ts.map +1 -0
  77. package/esm/deps/jsr.io/@std/toml/1.0.11/parse.js +25 -0
  78. package/esm/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts +35 -0
  79. package/esm/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts.map +1 -0
  80. package/esm/deps/jsr.io/@std/toml/1.0.11/stringify.js +283 -0
  81. package/esm/gambit/simulator-ui/dist/bundle.js +10647 -4637
  82. package/esm/gambit/simulator-ui/dist/bundle.js.map +4 -4
  83. package/esm/mod.d.ts +13 -3
  84. package/esm/mod.d.ts.map +1 -1
  85. package/esm/mod.js +8 -2
  86. package/esm/src/cli_utils.d.ts +1 -0
  87. package/esm/src/cli_utils.d.ts.map +1 -1
  88. package/esm/src/cli_utils.js +13 -1
  89. package/esm/src/default_runtime.d.ts +46 -0
  90. package/esm/src/default_runtime.d.ts.map +1 -0
  91. package/esm/src/default_runtime.js +415 -0
  92. package/esm/src/durable_streams.js +26 -1
  93. package/esm/src/model_matchers.d.ts +10 -0
  94. package/esm/src/model_matchers.d.ts.map +1 -0
  95. package/esm/src/model_matchers.js +26 -0
  96. package/esm/src/openai_compat.d.ts +12 -1
  97. package/esm/src/openai_compat.d.ts.map +1 -1
  98. package/esm/src/openai_compat.js +53 -1
  99. package/esm/src/project_config.d.ts +47 -0
  100. package/esm/src/project_config.d.ts.map +1 -0
  101. package/esm/src/project_config.js +134 -0
  102. package/esm/src/providers/codex.d.ts +37 -0
  103. package/esm/src/providers/codex.d.ts.map +1 -0
  104. package/esm/src/providers/codex.js +810 -0
  105. package/esm/src/providers/google.d.ts +3 -1
  106. package/esm/src/providers/google.d.ts.map +1 -1
  107. package/esm/src/providers/google.js +82 -6
  108. package/esm/src/providers/ollama.d.ts +3 -1
  109. package/esm/src/providers/ollama.d.ts.map +1 -1
  110. package/esm/src/providers/ollama.js +238 -15
  111. package/esm/src/providers/openrouter.d.ts +6 -2
  112. package/esm/src/providers/openrouter.d.ts.map +1 -1
  113. package/esm/src/providers/openrouter.js +260 -23
  114. package/esm/src/providers/router.d.ts +19 -0
  115. package/esm/src/providers/router.d.ts.map +1 -0
  116. package/esm/src/providers/router.js +93 -0
  117. package/esm/src/server.d.ts +9 -0
  118. package/esm/src/server.d.ts.map +1 -1
  119. package/esm/src/server.js +3186 -652
  120. package/esm/src/server_feedback_grading_routes.d.ts +32 -0
  121. package/esm/src/server_feedback_grading_routes.d.ts.map +1 -0
  122. package/esm/src/server_feedback_grading_routes.js +305 -0
  123. package/esm/src/server_helpers.d.ts +4 -0
  124. package/esm/src/server_helpers.d.ts.map +1 -0
  125. package/esm/src/server_helpers.js +46 -0
  126. package/esm/src/server_session_store.d.ts +87 -0
  127. package/esm/src/server_session_store.d.ts.map +1 -0
  128. package/esm/src/server_session_store.js +873 -0
  129. package/esm/src/server_types.d.ts +110 -0
  130. package/esm/src/server_types.d.ts.map +1 -0
  131. package/esm/src/server_types.js +1 -0
  132. package/esm/src/server_ui_routes.d.ts +33 -0
  133. package/esm/src/server_ui_routes.d.ts.map +1 -0
  134. package/esm/src/server_ui_routes.js +135 -0
  135. package/esm/src/session_artifacts.d.ts +22 -0
  136. package/esm/src/session_artifacts.d.ts.map +1 -0
  137. package/esm/src/session_artifacts.js +243 -0
  138. package/esm/src/trace.d.ts.map +1 -1
  139. package/esm/src/trace.js +6 -3
  140. package/esm/src/workspace.d.ts +19 -0
  141. package/esm/src/workspace.d.ts.map +1 -0
  142. package/esm/src/workspace.js +164 -0
  143. package/esm/src/workspace_contract.d.ts +76 -0
  144. package/esm/src/workspace_contract.d.ts.map +1 -0
  145. package/esm/src/workspace_contract.js +74 -0
  146. package/package.json +2 -2
  147. package/script/_dnt.polyfills.d.ts +17 -0
  148. package/script/_dnt.polyfills.d.ts.map +1 -1
  149. package/script/_dnt.polyfills.js +122 -0
  150. package/script/deps/jsr.io/@std/collections/1.1.5/deep_merge.d.ts +322 -0
  151. package/script/deps/jsr.io/@std/collections/1.1.5/deep_merge.d.ts.map +1 -0
  152. package/script/deps/jsr.io/@std/collections/1.1.5/deep_merge.js +108 -0
  153. package/script/deps/jsr.io/@std/fs/1.0.22/_create_walk_entry.d.ts +14 -0
  154. package/script/deps/jsr.io/@std/fs/1.0.22/_create_walk_entry.d.ts.map +1 -0
  155. package/script/deps/jsr.io/@std/fs/1.0.22/_create_walk_entry.js +71 -0
  156. package/script/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.d.ts +13 -0
  157. package/script/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.d.ts.map +1 -0
  158. package/script/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.js +21 -0
  159. package/script/deps/jsr.io/@std/fs/1.0.22/_is_same_path.d.ts +10 -0
  160. package/script/deps/jsr.io/@std/fs/1.0.22/_is_same_path.d.ts.map +1 -0
  161. package/script/deps/jsr.io/@std/fs/1.0.22/_is_same_path.js +20 -0
  162. package/script/deps/jsr.io/@std/fs/1.0.22/_is_subdir.d.ts +12 -0
  163. package/script/deps/jsr.io/@std/fs/1.0.22/_is_subdir.d.ts.map +1 -0
  164. package/script/deps/jsr.io/@std/fs/1.0.22/_is_subdir.js +28 -0
  165. package/script/deps/jsr.io/@std/fs/1.0.22/_to_path_string.d.ts +9 -0
  166. package/script/deps/jsr.io/@std/fs/1.0.22/_to_path_string.d.ts.map +1 -0
  167. package/script/deps/jsr.io/@std/fs/1.0.22/_to_path_string.js +16 -0
  168. package/script/deps/jsr.io/@std/fs/1.0.22/copy.d.ts +117 -0
  169. package/script/deps/jsr.io/@std/fs/1.0.22/copy.d.ts.map +1 -0
  170. package/script/deps/jsr.io/@std/fs/1.0.22/copy.js +350 -0
  171. package/script/deps/jsr.io/@std/fs/1.0.22/empty_dir.d.ts +48 -0
  172. package/script/deps/jsr.io/@std/fs/1.0.22/empty_dir.d.ts.map +1 -0
  173. package/script/deps/jsr.io/@std/fs/1.0.22/empty_dir.js +124 -0
  174. package/script/deps/jsr.io/@std/fs/1.0.22/ensure_dir.d.ts +49 -0
  175. package/script/deps/jsr.io/@std/fs/1.0.22/ensure_dir.d.ts.map +1 -0
  176. package/script/deps/jsr.io/@std/fs/1.0.22/ensure_dir.js +139 -0
  177. package/script/deps/jsr.io/@std/fs/1.0.22/ensure_file.d.ts +47 -0
  178. package/script/deps/jsr.io/@std/fs/1.0.22/ensure_file.d.ts.map +1 -0
  179. package/script/deps/jsr.io/@std/fs/1.0.22/ensure_file.js +127 -0
  180. package/script/deps/jsr.io/@std/fs/1.0.22/ensure_link.d.ts +49 -0
  181. package/script/deps/jsr.io/@std/fs/1.0.22/ensure_link.d.ts.map +1 -0
  182. package/script/deps/jsr.io/@std/fs/1.0.22/ensure_link.js +98 -0
  183. package/script/deps/jsr.io/@std/fs/1.0.22/ensure_symlink.d.ts +70 -0
  184. package/script/deps/jsr.io/@std/fs/1.0.22/ensure_symlink.d.ts.map +1 -0
  185. package/script/deps/jsr.io/@std/fs/1.0.22/ensure_symlink.js +193 -0
  186. package/script/deps/jsr.io/@std/fs/1.0.22/eol.d.ts +52 -0
  187. package/script/deps/jsr.io/@std/fs/1.0.22/eol.d.ts.map +1 -0
  188. package/script/deps/jsr.io/@std/fs/1.0.22/eol.js +105 -0
  189. package/script/deps/jsr.io/@std/fs/1.0.22/exists.d.ts +218 -0
  190. package/script/deps/jsr.io/@std/fs/1.0.22/exists.d.ts.map +1 -0
  191. package/script/deps/jsr.io/@std/fs/1.0.22/exists.js +308 -0
  192. package/script/deps/jsr.io/@std/fs/1.0.22/expand_glob.d.ts +267 -0
  193. package/script/deps/jsr.io/@std/fs/1.0.22/expand_glob.d.ts.map +1 -0
  194. package/script/deps/jsr.io/@std/fs/1.0.22/expand_glob.js +479 -0
  195. package/script/deps/jsr.io/@std/fs/1.0.22/mod.d.ts +29 -0
  196. package/script/deps/jsr.io/@std/fs/1.0.22/mod.d.ts.map +1 -0
  197. package/script/deps/jsr.io/@std/fs/1.0.22/mod.js +45 -0
  198. package/script/deps/jsr.io/@std/fs/1.0.22/move.d.ts +86 -0
  199. package/script/deps/jsr.io/@std/fs/1.0.22/move.d.ts.map +1 -0
  200. package/script/deps/jsr.io/@std/fs/1.0.22/move.js +179 -0
  201. package/script/deps/jsr.io/@std/fs/1.0.22/walk.d.ts +777 -0
  202. package/script/deps/jsr.io/@std/fs/1.0.22/walk.d.ts.map +1 -0
  203. package/script/deps/jsr.io/@std/fs/1.0.22/walk.js +883 -0
  204. package/script/deps/jsr.io/@std/json/1.0.2/types.d.ts +5 -0
  205. package/script/deps/jsr.io/@std/json/1.0.2/types.d.ts.map +1 -0
  206. package/script/deps/jsr.io/@std/json/1.0.2/types.js +4 -0
  207. package/script/deps/jsr.io/@std/jsonc/1.0.2/mod.d.ts +20 -0
  208. package/script/deps/jsr.io/@std/jsonc/1.0.2/mod.d.ts.map +1 -0
  209. package/script/deps/jsr.io/@std/jsonc/1.0.2/mod.js +37 -0
  210. package/script/deps/jsr.io/@std/jsonc/1.0.2/parse.d.ts +21 -0
  211. package/script/deps/jsr.io/@std/jsonc/1.0.2/parse.d.ts.map +1 -0
  212. package/script/deps/jsr.io/@std/jsonc/1.0.2/parse.js +323 -0
  213. package/script/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts +93 -0
  214. package/script/deps/jsr.io/@std/toml/1.0.11/_parser.d.ts.map +1 -0
  215. package/script/deps/jsr.io/@std/toml/1.0.11/_parser.js +781 -0
  216. package/script/deps/jsr.io/@std/toml/1.0.11/mod.d.ts +109 -0
  217. package/script/deps/jsr.io/@std/toml/1.0.11/mod.d.ts.map +1 -0
  218. package/script/deps/jsr.io/@std/toml/1.0.11/mod.js +126 -0
  219. package/script/deps/jsr.io/@std/toml/1.0.11/parse.d.ts +21 -0
  220. package/script/deps/jsr.io/@std/toml/1.0.11/parse.d.ts.map +1 -0
  221. package/script/deps/jsr.io/@std/toml/1.0.11/parse.js +28 -0
  222. package/script/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts +35 -0
  223. package/script/deps/jsr.io/@std/toml/1.0.11/stringify.d.ts.map +1 -0
  224. package/script/deps/jsr.io/@std/toml/1.0.11/stringify.js +286 -0
  225. package/script/gambit/simulator-ui/dist/bundle.js +10647 -4637
  226. package/script/gambit/simulator-ui/dist/bundle.js.map +4 -4
  227. package/script/mod.d.ts +13 -3
  228. package/script/mod.d.ts.map +1 -1
  229. package/script/mod.js +14 -5
  230. package/script/src/cli_utils.d.ts +1 -0
  231. package/script/src/cli_utils.d.ts.map +1 -1
  232. package/script/src/cli_utils.js +14 -1
  233. package/script/src/default_runtime.d.ts +46 -0
  234. package/script/src/default_runtime.d.ts.map +1 -0
  235. package/script/src/default_runtime.js +452 -0
  236. package/script/src/durable_streams.js +26 -1
  237. package/script/src/model_matchers.d.ts +10 -0
  238. package/script/src/model_matchers.d.ts.map +1 -0
  239. package/script/src/model_matchers.js +29 -0
  240. package/script/src/openai_compat.d.ts +12 -1
  241. package/script/src/openai_compat.d.ts.map +1 -1
  242. package/script/src/openai_compat.js +85 -0
  243. package/script/src/project_config.d.ts +47 -0
  244. package/script/src/project_config.d.ts.map +1 -0
  245. package/script/src/project_config.js +173 -0
  246. package/script/src/providers/codex.d.ts +37 -0
  247. package/script/src/providers/codex.d.ts.map +1 -0
  248. package/script/src/providers/codex.js +850 -0
  249. package/script/src/providers/google.d.ts +3 -1
  250. package/script/src/providers/google.d.ts.map +1 -1
  251. package/script/src/providers/google.js +82 -6
  252. package/script/src/providers/ollama.d.ts +3 -1
  253. package/script/src/providers/ollama.d.ts.map +1 -1
  254. package/script/src/providers/ollama.js +238 -15
  255. package/script/src/providers/openrouter.d.ts +6 -2
  256. package/script/src/providers/openrouter.d.ts.map +1 -1
  257. package/script/src/providers/openrouter.js +260 -23
  258. package/script/src/providers/router.d.ts +19 -0
  259. package/script/src/providers/router.d.ts.map +1 -0
  260. package/script/src/providers/router.js +96 -0
  261. package/script/src/server.d.ts +9 -0
  262. package/script/src/server.d.ts.map +1 -1
  263. package/script/src/server.js +3193 -659
  264. package/script/src/server_feedback_grading_routes.d.ts +32 -0
  265. package/script/src/server_feedback_grading_routes.d.ts.map +1 -0
  266. package/script/src/server_feedback_grading_routes.js +343 -0
  267. package/script/src/server_helpers.d.ts +4 -0
  268. package/script/src/server_helpers.d.ts.map +1 -0
  269. package/script/src/server_helpers.js +84 -0
  270. package/script/src/server_session_store.d.ts +87 -0
  271. package/script/src/server_session_store.d.ts.map +1 -0
  272. package/script/src/server_session_store.js +910 -0
  273. package/script/src/server_types.d.ts +110 -0
  274. package/script/src/server_types.d.ts.map +1 -0
  275. package/script/src/server_types.js +2 -0
  276. package/script/src/server_ui_routes.d.ts +33 -0
  277. package/script/src/server_ui_routes.d.ts.map +1 -0
  278. package/script/src/server_ui_routes.js +172 -0
  279. package/script/src/session_artifacts.d.ts +22 -0
  280. package/script/src/session_artifacts.d.ts.map +1 -0
  281. package/script/src/session_artifacts.js +279 -0
  282. package/script/src/trace.d.ts.map +1 -1
  283. package/script/src/trace.js +6 -3
  284. package/script/src/workspace.d.ts +19 -0
  285. package/script/src/workspace.d.ts.map +1 -0
  286. package/script/src/workspace.js +201 -0
  287. package/script/src/workspace_contract.d.ts +76 -0
  288. package/script/src/workspace_contract.d.ts.map +1 -0
  289. package/script/src/workspace_contract.js +82 -0
@@ -85,11 +85,16 @@ function isAsyncIterable(value) {
85
85
  function mapUsage(usage) {
86
86
  if (!usage)
87
87
  return undefined;
88
- return {
88
+ const reasoningTokens = usage.output_tokens_details?.reasoning_tokens ?? undefined;
89
+ const out = {
89
90
  promptTokens: usage.input_tokens ?? 0,
90
91
  completionTokens: usage.output_tokens ?? 0,
91
92
  totalTokens: usage.total_tokens ?? 0,
92
93
  };
94
+ if (typeof reasoningTokens === "number") {
95
+ out.reasoningTokens = reasoningTokens;
96
+ }
97
+ return out;
93
98
  }
94
99
  function mapStatus(status) {
95
100
  if (!status)
@@ -100,6 +105,25 @@ function mapStatus(status) {
100
105
  return "in_progress";
101
106
  return "failed";
102
107
  }
108
+ function mapReasoning(reasoning) {
109
+ if (!reasoning)
110
+ return undefined;
111
+ const out = {};
112
+ if (reasoning.effort !== undefined)
113
+ out.effort = reasoning.effort;
114
+ if (reasoning.summary !== undefined)
115
+ out.summary = reasoning.summary;
116
+ return Object.keys(out).length > 0 ? out : undefined;
117
+ }
118
+ function stripUndefined(input) {
119
+ const out = { ...input };
120
+ for (const [key, value] of Object.entries(out)) {
121
+ if (value === undefined) {
122
+ delete out[key];
123
+ }
124
+ }
125
+ return out;
126
+ }
103
127
  function mapError(error) {
104
128
  if (!error)
105
129
  return undefined;
@@ -180,20 +204,45 @@ function appendSyntheticTools(tools, input) {
180
204
  function mapToolChoice(toolChoice) {
181
205
  if (!toolChoice)
182
206
  return undefined;
183
- if (toolChoice === "auto" || toolChoice === "required")
207
+ if (toolChoice === "none" || toolChoice === "auto" ||
208
+ toolChoice === "required") {
184
209
  return toolChoice;
210
+ }
211
+ if (toolChoice.type === "allowed_tools") {
212
+ return {
213
+ type: "allowed_tools",
214
+ tools: toolChoice.tools,
215
+ mode: toolChoice.mode ?? "auto",
216
+ };
217
+ }
185
218
  return { type: "function", name: toolChoice.function.name };
186
219
  }
220
+ function mapResponseContentPart(part) {
221
+ if (!part || typeof part !== "object")
222
+ return null;
223
+ if (typeof part.text !== "string")
224
+ return null;
225
+ if (part.type === "output_text") {
226
+ return { type: "output_text", text: part.text };
227
+ }
228
+ if (part.type === "summary_text") {
229
+ return { type: "summary_text", text: part.text };
230
+ }
231
+ if (part.type === "reasoning_text") {
232
+ return { type: "reasoning_text", text: part.text };
233
+ }
234
+ if (part.type === "input_text") {
235
+ return { type: "input_text", text: part.text };
236
+ }
237
+ return null;
238
+ }
187
239
  function mapOpenAIOutputItem(item) {
188
240
  const itemType = item.type;
189
241
  if (itemType === "message") {
190
242
  const message = item;
191
- const content = [];
192
- for (const part of message.content ?? []) {
193
- if (part.type === "output_text") {
194
- content.push({ type: "output_text", text: part.text });
195
- }
196
- }
243
+ const content = (message.content ?? [])
244
+ .map((part) => mapResponseContentPart(part))
245
+ .filter((part) => Boolean(part));
197
246
  if (content.length === 0)
198
247
  return null;
199
248
  return {
@@ -213,6 +262,22 @@ function mapOpenAIOutputItem(item) {
213
262
  id: call.id,
214
263
  };
215
264
  }
265
+ if (itemType === "reasoning") {
266
+ const reasoning = item;
267
+ const content = (reasoning.content ?? [])
268
+ .map((part) => mapResponseContentPart(part))
269
+ .filter((part) => Boolean(part));
270
+ const summary = (reasoning.summary ?? [])
271
+ .map((part) => mapResponseContentPart(part))
272
+ .filter((part) => Boolean(part));
273
+ return {
274
+ type: "reasoning",
275
+ id: reasoning.id,
276
+ content: content.length > 0 ? content : undefined,
277
+ summary,
278
+ encrypted_content: reasoning.encrypted_content,
279
+ };
280
+ }
216
281
  return null;
217
282
  }
218
283
  function normalizeOpenAIResponse(response) {
@@ -223,11 +288,23 @@ function normalizeOpenAIResponse(response) {
223
288
  id: response.id,
224
289
  object: "response",
225
290
  model: response.model,
291
+ created_at: response.created_at,
226
292
  created: response.created_at,
293
+ completed_at: response.completed_at ??
294
+ null,
295
+ previous_response_id: response.previous_response_id ?? null,
296
+ instructions: response.instructions ?? null,
297
+ reasoning: response
298
+ .reasoning ?? null,
227
299
  status: mapStatus(response.status ?? undefined),
228
300
  output: outputItems,
229
301
  usage: mapUsage(response.usage),
230
- error: mapError(response.error),
302
+ error: mapError(response.error) ?? null,
303
+ metadata: response.metadata,
304
+ max_output_tokens: response.max_output_tokens ?? null,
305
+ max_tool_calls: response.max_tool_calls ?? null,
306
+ parallel_tool_calls: response.parallel_tool_calls,
307
+ store: response.store,
231
308
  };
232
309
  }
233
310
  function toOpenAIInputItems(items) {
@@ -249,6 +326,18 @@ function toOpenAIInputItems(items) {
249
326
  text: part.text,
250
327
  };
251
328
  }
329
+ if (part.type === "summary_text") {
330
+ return {
331
+ type: "summary_text",
332
+ text: part.text,
333
+ };
334
+ }
335
+ if (part.type === "reasoning_text") {
336
+ return {
337
+ type: "reasoning_text",
338
+ text: part.text,
339
+ };
340
+ }
252
341
  return null;
253
342
  })
254
343
  .filter((part) => Boolean(part));
@@ -279,6 +368,22 @@ function toOpenAIInputItems(items) {
279
368
  output: item.output,
280
369
  id: item.id,
281
370
  });
371
+ continue;
372
+ }
373
+ if (item.type === "reasoning") {
374
+ mapped.push({
375
+ type: "reasoning",
376
+ id: item.id,
377
+ content: (item.content ?? []).map((part) => ({
378
+ type: part.type,
379
+ text: part.text,
380
+ })),
381
+ summary: item.summary.map((part) => ({
382
+ type: part.type,
383
+ text: part.text,
384
+ })),
385
+ encrypted_content: item.encrypted_content ?? null,
386
+ });
282
387
  }
283
388
  }
284
389
  return mapped;
@@ -363,13 +468,31 @@ function responseItemsToChat(items) {
363
468
  toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
364
469
  };
365
470
  }
366
- async function createResponse(client, request, onStreamEvent) {
471
+ async function createResponse(client, request, signal, onStreamEvent) {
367
472
  const baseParams = {
368
473
  model: normalizeOpenRouterModel(request.model),
369
474
  input: toOpenAIInputItems(request.input),
370
475
  instructions: request.instructions,
371
476
  tools: undefined,
372
477
  tool_choice: mapToolChoice(request.tool_choice),
478
+ previous_response_id: request.previous_response_id,
479
+ reasoning: mapReasoning(request.reasoning),
480
+ parallel_tool_calls: request.parallel_tool_calls,
481
+ max_tool_calls: request.max_tool_calls,
482
+ store: request.store,
483
+ include: request.include,
484
+ text: request.text,
485
+ stream_options: request.stream_options,
486
+ background: request.background,
487
+ truncation: request.truncation,
488
+ service_tier: request.service_tier,
489
+ top_logprobs: request.top_logprobs,
490
+ safety_identifier: request.safety_identifier,
491
+ prompt_cache_key: request.prompt_cache_key,
492
+ temperature: request.temperature,
493
+ top_p: request.top_p,
494
+ frequency_penalty: request.frequency_penalty,
495
+ presence_penalty: request.presence_penalty,
373
496
  stream: request.stream,
374
497
  max_output_tokens: request.max_output_tokens,
375
498
  metadata: request.metadata,
@@ -379,11 +502,11 @@ async function createResponse(client, request, onStreamEvent) {
379
502
  if (mappedTools.length > 0) {
380
503
  baseParams.tools = mappedTools;
381
504
  }
382
- const params = { ...(request.params ?? {}), ...baseParams };
505
+ const params = { ...(request.params ?? {}), ...stripUndefined(baseParams) };
383
506
  const debugResponses = dntShim.Deno.env.get("GAMBIT_DEBUG_RESPONSES") === "1";
384
507
  let responseOrStream;
385
508
  try {
386
- responseOrStream = await client.responses.create(params);
509
+ responseOrStream = await client.responses.create(params, signal ? { signal } : undefined);
387
510
  }
388
511
  catch (err) {
389
512
  if (debugResponses) {
@@ -407,7 +530,12 @@ async function createResponse(client, request, onStreamEvent) {
407
530
  switch (event.type) {
408
531
  case "response.created": {
409
532
  const mapped = normalizeOpenAIResponse(event.response);
410
- onStreamEvent?.({ type: "response.created", response: mapped });
533
+ onStreamEvent?.({
534
+ type: "response.created",
535
+ response: mapped,
536
+ sequence_number: event
537
+ .sequence_number,
538
+ });
411
539
  break;
412
540
  }
413
541
  case "response.output_text.delta":
@@ -416,6 +544,10 @@ async function createResponse(client, request, onStreamEvent) {
416
544
  output_index: event.output_index,
417
545
  delta: event.delta,
418
546
  item_id: event.item_id,
547
+ content_index: event.content_index,
548
+ sequence_number: event
549
+ .sequence_number,
550
+ logprobs: event.logprobs,
419
551
  });
420
552
  break;
421
553
  case "response.output_text.done":
@@ -424,6 +556,9 @@ async function createResponse(client, request, onStreamEvent) {
424
556
  output_index: event.output_index,
425
557
  text: event.text,
426
558
  item_id: event.item_id,
559
+ content_index: event.content_index,
560
+ sequence_number: event
561
+ .sequence_number,
427
562
  });
428
563
  break;
429
564
  case "response.output_item.added": {
@@ -433,6 +568,8 @@ async function createResponse(client, request, onStreamEvent) {
433
568
  type: "response.output_item.added",
434
569
  output_index: event.output_index,
435
570
  item,
571
+ sequence_number: event
572
+ .sequence_number,
436
573
  });
437
574
  }
438
575
  break;
@@ -444,13 +581,102 @@ async function createResponse(client, request, onStreamEvent) {
444
581
  type: "response.output_item.done",
445
582
  output_index: event.output_index,
446
583
  item,
584
+ sequence_number: event
585
+ .sequence_number,
447
586
  });
448
587
  }
449
588
  break;
450
589
  }
590
+ case "response.reasoning.delta":
591
+ if (typeof event.delta === "string") {
592
+ onStreamEvent?.({
593
+ type: "response.reasoning.delta",
594
+ output_index: event.output_index,
595
+ item_id: event.item_id,
596
+ content_index: event.content_index,
597
+ delta: event.delta,
598
+ sequence_number: event
599
+ .sequence_number,
600
+ obfuscation: event.obfuscation,
601
+ });
602
+ }
603
+ break;
604
+ case "response.reasoning.done":
605
+ onStreamEvent?.({
606
+ type: "response.reasoning.done",
607
+ output_index: event.output_index,
608
+ item_id: event.item_id,
609
+ content_index: event.content_index,
610
+ text: event.text,
611
+ sequence_number: event
612
+ .sequence_number,
613
+ });
614
+ break;
615
+ case "response.reasoning_summary_text.delta":
616
+ if (typeof event.delta === "string") {
617
+ onStreamEvent?.({
618
+ type: "response.reasoning_summary_text.delta",
619
+ output_index: event.output_index,
620
+ item_id: event.item_id,
621
+ summary_index: event.summary_index,
622
+ delta: event.delta,
623
+ sequence_number: event
624
+ .sequence_number,
625
+ obfuscation: event.obfuscation,
626
+ });
627
+ }
628
+ break;
629
+ case "response.reasoning_summary_text.done":
630
+ onStreamEvent?.({
631
+ type: "response.reasoning_summary_text.done",
632
+ output_index: event.output_index,
633
+ item_id: event.item_id,
634
+ summary_index: event.summary_index,
635
+ text: event.text,
636
+ sequence_number: event
637
+ .sequence_number,
638
+ });
639
+ break;
640
+ case "response.reasoning_summary_part.added":
641
+ if (event.part && typeof event.part === "object" &&
642
+ "type" in event.part &&
643
+ "text" in event.part &&
644
+ typeof event.part.text === "string") {
645
+ onStreamEvent?.({
646
+ type: "response.reasoning_summary_part.added",
647
+ output_index: event.output_index,
648
+ item_id: event.item_id,
649
+ summary_index: event.summary_index,
650
+ part: event.part,
651
+ sequence_number: event
652
+ .sequence_number,
653
+ });
654
+ }
655
+ break;
656
+ case "response.reasoning_summary_part.done":
657
+ if (event.part && typeof event.part === "object" &&
658
+ "type" in event.part &&
659
+ "text" in event.part &&
660
+ typeof event.part.text === "string") {
661
+ onStreamEvent?.({
662
+ type: "response.reasoning_summary_part.done",
663
+ output_index: event.output_index,
664
+ item_id: event.item_id,
665
+ summary_index: event.summary_index,
666
+ part: event.part,
667
+ sequence_number: event
668
+ .sequence_number,
669
+ });
670
+ }
671
+ break;
451
672
  case "response.completed": {
452
673
  completed = normalizeOpenAIResponse(event.response);
453
- onStreamEvent?.({ type: "response.completed", response: completed });
674
+ onStreamEvent?.({
675
+ type: "response.completed",
676
+ response: completed,
677
+ sequence_number: event
678
+ .sequence_number,
679
+ });
454
680
  break;
455
681
  }
456
682
  case "response.failed": {
@@ -458,6 +684,8 @@ async function createResponse(client, request, onStreamEvent) {
458
684
  onStreamEvent?.({
459
685
  type: "response.failed",
460
686
  error: error ?? {},
687
+ sequence_number: event
688
+ .sequence_number,
461
689
  });
462
690
  break;
463
691
  }
@@ -484,7 +712,7 @@ function createOpenRouterProvider(opts) {
484
712
  }));
485
713
  return {
486
714
  async responses(input) {
487
- return await createResponse(client, input.request, input.onStreamEvent);
715
+ return await createResponse(client, input.request, input.signal, input.onStreamEvent);
488
716
  },
489
717
  async chat(input) {
490
718
  const params = input.params ?? {};
@@ -495,7 +723,7 @@ function createOpenRouterProvider(opts) {
495
723
  tools: input.tools,
496
724
  stream: input.stream,
497
725
  params,
498
- }, (event) => {
726
+ }, input.signal, (event) => {
499
727
  if (event.type === "response.output_text.delta") {
500
728
  input.onStreamText?.(event.delta);
501
729
  }
@@ -521,7 +749,7 @@ function createOpenRouterProvider(opts) {
521
749
  tool_choice: "auto",
522
750
  stream: true,
523
751
  ...params,
524
- });
752
+ }, input.signal ? { signal: input.signal } : undefined);
525
753
  let finishReason = null;
526
754
  const contentParts = [];
527
755
  const toolCallMap = new Map();
@@ -606,7 +834,7 @@ function createOpenRouterProvider(opts) {
606
834
  tool_choice: "auto",
607
835
  stream: false,
608
836
  ...params,
609
- });
837
+ }, input.signal ? { signal: input.signal } : undefined);
610
838
  const choice = response.choices[0];
611
839
  const message = choice.message;
612
840
  const normalizedMessage = normalizeMessage(message);
@@ -620,11 +848,20 @@ function createOpenRouterProvider(opts) {
620
848
  finishReason: (choice.finish_reason ?? "stop"),
621
849
  toolCalls,
622
850
  usage: response.usage
623
- ? {
624
- promptTokens: response.usage.prompt_tokens ?? 0,
625
- completionTokens: response.usage.completion_tokens ?? 0,
626
- totalTokens: response.usage.total_tokens ?? 0,
627
- }
851
+ ? (() => {
852
+ const usage = {
853
+ promptTokens: response.usage.prompt_tokens ?? 0,
854
+ completionTokens: response.usage.completion_tokens ?? 0,
855
+ totalTokens: response.usage.total_tokens ?? 0,
856
+ };
857
+ const details = response.usage;
858
+ const value = details.completion_tokens_details
859
+ ?.reasoning_tokens ??
860
+ details.output_tokens_details?.reasoning_tokens;
861
+ return typeof value === "number"
862
+ ? { ...usage, reasoningTokens: value }
863
+ : usage;
864
+ })()
628
865
  : undefined,
629
866
  };
630
867
  },
@@ -0,0 +1,19 @@
1
+ import type { ModelProvider } from "@bolt-foundry/gambit-core";
2
+ export type ProviderKey = "openrouter" | "ollama" | "google" | "codex-cli";
3
+ export type ProviderRouter = {
4
+ resolve: (input: {
5
+ model: string;
6
+ }) => {
7
+ providerKey: ProviderKey;
8
+ provider: ModelProvider;
9
+ model: string;
10
+ };
11
+ };
12
+ type ProviderSet = Partial<Record<ProviderKey, ModelProvider | null>>;
13
+ export declare function createProviderRouter(opts: {
14
+ providers: ProviderSet;
15
+ defaultProvider?: ProviderKey | null;
16
+ fallbackToDefaultOnMissing?: Array<ProviderKey>;
17
+ }): ProviderRouter;
18
+ export {};
19
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/src/providers/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE3E,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK;QACrC,WAAW,EAAE,WAAW,CAAC;QACzB,QAAQ,EAAE,aAAa,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF,KAAK,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;AAsDtE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,SAAS,EAAE,WAAW,CAAC;IACvB,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,0BAA0B,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CACjD,GAAG,cAAc,CA8DjB"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createProviderRouter = createProviderRouter;
4
+ const PROVIDER_PREFIXES = {
5
+ openrouter: "openrouter/",
6
+ ollama: "ollama/",
7
+ google: "google/",
8
+ "codex-cli": "codex-cli/",
9
+ };
10
+ function parsePrefixedModel(model) {
11
+ if (model.trim() === "codex-cli") {
12
+ return {
13
+ providerKey: "codex-cli",
14
+ strippedModel: "default",
15
+ rawModel: model,
16
+ };
17
+ }
18
+ for (const [providerKey, prefix] of Object.entries(PROVIDER_PREFIXES)) {
19
+ if (model.startsWith(prefix)) {
20
+ return {
21
+ providerKey: providerKey,
22
+ strippedModel: model.slice(prefix.length),
23
+ rawModel: model,
24
+ };
25
+ }
26
+ }
27
+ if (model === "codex" || model.startsWith("codex/")) {
28
+ return {
29
+ strippedModel: model,
30
+ rawModel: model,
31
+ legacyCodex: true,
32
+ };
33
+ }
34
+ return { strippedModel: model, rawModel: model };
35
+ }
36
+ function missingProviderMessage(providerKey) {
37
+ switch (providerKey) {
38
+ case "openrouter":
39
+ return "OPENROUTER_API_KEY is required for openrouter/ models.";
40
+ case "ollama":
41
+ return "Ollama provider is not configured. Set OLLAMA_BASE_URL or OLLAMA_API_KEY.";
42
+ case "google":
43
+ return "Google provider is not configured. Set GOOGLE_API_KEY or GEMINI_API_KEY.";
44
+ case "codex-cli":
45
+ return "Codex CLI provider is not configured.";
46
+ }
47
+ }
48
+ function createProviderRouter(opts) {
49
+ const defaultProvider = opts.defaultProvider === null
50
+ ? null
51
+ : (opts.defaultProvider ?? "openrouter");
52
+ const fallbackOnMissing = new Set(opts.fallbackToDefaultOnMissing ?? ["google"]);
53
+ return {
54
+ resolve({ model }) {
55
+ const { providerKey, strippedModel, rawModel, legacyCodex } = parsePrefixedModel(model);
56
+ if (legacyCodex) {
57
+ throw new Error('Legacy Codex model prefix "codex" is no longer supported. Use "codex-cli/default" or "codex-cli/<model>".');
58
+ }
59
+ if (providerKey) {
60
+ const provider = opts.providers[providerKey];
61
+ if (!provider) {
62
+ if (fallbackOnMissing.has(providerKey) &&
63
+ defaultProvider !== null &&
64
+ defaultProvider !== providerKey) {
65
+ const fallbackProvider = opts.providers[defaultProvider];
66
+ if (fallbackProvider) {
67
+ return {
68
+ providerKey: defaultProvider,
69
+ provider: fallbackProvider,
70
+ model: rawModel,
71
+ };
72
+ }
73
+ }
74
+ throw new Error(missingProviderMessage(providerKey));
75
+ }
76
+ return {
77
+ providerKey,
78
+ provider,
79
+ model: strippedModel,
80
+ };
81
+ }
82
+ if (defaultProvider === null) {
83
+ throw new Error("No fallback provider configured. Use a provider prefix or set providers.fallback in gambit.toml.");
84
+ }
85
+ const provider = opts.providers[defaultProvider];
86
+ if (!provider) {
87
+ throw new Error("OPENROUTER_API_KEY is required when no provider prefix is specified.");
88
+ }
89
+ return {
90
+ providerKey: defaultProvider,
91
+ provider,
92
+ model,
93
+ };
94
+ },
95
+ };
96
+ }
@@ -14,10 +14,19 @@ export declare function startWebSocketSimulator(opts: {
14
14
  verbose?: boolean;
15
15
  signal?: AbortSignal;
16
16
  sessionDir?: string;
17
+ workspace?: {
18
+ id: string;
19
+ rootDeckPath: string;
20
+ rootDir: string;
21
+ onboarding?: boolean;
22
+ scaffoldEnabled?: boolean;
23
+ scaffoldRoot?: string;
24
+ };
17
25
  autoBundle?: boolean;
18
26
  forceBundle?: boolean;
19
27
  sourceMap?: boolean;
20
28
  bundlePlatform?: "deno" | "browser";
21
29
  responsesMode?: boolean;
30
+ workerSandbox?: boolean;
22
31
  }): ReturnType<typeof dntShim.Deno.serve>;
23
32
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAY5C,OAAO,KAAK,EAGV,aAAa,EAEd,MAAM,2BAA2B,CAAC;AA2mBnC;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CA2tFxC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAiD5C,OAAO,KAAK,EAMV,aAAa,EAOd,MAAM,2BAA2B,CAAC;AAygCnC;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAk/JxC"}