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

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 +38 -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 +10639 -4629
  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 +10639 -4629
  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
@@ -45,11 +45,16 @@ function isAsyncIterable(value) {
45
45
  function mapUsage(usage) {
46
46
  if (!usage)
47
47
  return undefined;
48
- return {
48
+ const reasoningTokens = usage.output_tokens_details?.reasoning_tokens ?? undefined;
49
+ const out = {
49
50
  promptTokens: usage.input_tokens ?? 0,
50
51
  completionTokens: usage.output_tokens ?? 0,
51
52
  totalTokens: usage.total_tokens ?? 0,
52
53
  };
54
+ if (typeof reasoningTokens === "number") {
55
+ out.reasoningTokens = reasoningTokens;
56
+ }
57
+ return out;
53
58
  }
54
59
  function mapStatus(status) {
55
60
  if (!status)
@@ -60,6 +65,25 @@ function mapStatus(status) {
60
65
  return "in_progress";
61
66
  return "failed";
62
67
  }
68
+ function mapReasoning(reasoning) {
69
+ if (!reasoning)
70
+ return undefined;
71
+ const out = {};
72
+ if (reasoning.effort !== undefined)
73
+ out.effort = reasoning.effort;
74
+ if (reasoning.summary !== undefined)
75
+ out.summary = reasoning.summary;
76
+ return Object.keys(out).length > 0 ? out : undefined;
77
+ }
78
+ function stripUndefined(input) {
79
+ const out = { ...input };
80
+ for (const [key, value] of Object.entries(out)) {
81
+ if (value === undefined) {
82
+ delete out[key];
83
+ }
84
+ }
85
+ return out;
86
+ }
63
87
  function mapError(error) {
64
88
  if (!error)
65
89
  return undefined;
@@ -140,20 +164,45 @@ function appendSyntheticTools(tools, input) {
140
164
  function mapToolChoice(toolChoice) {
141
165
  if (!toolChoice)
142
166
  return undefined;
143
- if (toolChoice === "auto" || toolChoice === "required")
167
+ if (toolChoice === "none" || toolChoice === "auto" ||
168
+ toolChoice === "required") {
144
169
  return toolChoice;
170
+ }
171
+ if (toolChoice.type === "allowed_tools") {
172
+ return {
173
+ type: "allowed_tools",
174
+ tools: toolChoice.tools,
175
+ mode: toolChoice.mode ?? "auto",
176
+ };
177
+ }
145
178
  return { type: "function", name: toolChoice.function.name };
146
179
  }
180
+ function mapResponseContentPart(part) {
181
+ if (!part || typeof part !== "object")
182
+ return null;
183
+ if (typeof part.text !== "string")
184
+ return null;
185
+ if (part.type === "output_text") {
186
+ return { type: "output_text", text: part.text };
187
+ }
188
+ if (part.type === "summary_text") {
189
+ return { type: "summary_text", text: part.text };
190
+ }
191
+ if (part.type === "reasoning_text") {
192
+ return { type: "reasoning_text", text: part.text };
193
+ }
194
+ if (part.type === "input_text") {
195
+ return { type: "input_text", text: part.text };
196
+ }
197
+ return null;
198
+ }
147
199
  function mapOpenAIOutputItem(item) {
148
200
  const itemType = item.type;
149
201
  if (itemType === "message") {
150
202
  const message = item;
151
- const content = [];
152
- for (const part of message.content ?? []) {
153
- if (part.type === "output_text") {
154
- content.push({ type: "output_text", text: part.text });
155
- }
156
- }
203
+ const content = (message.content ?? [])
204
+ .map((part) => mapResponseContentPart(part))
205
+ .filter((part) => Boolean(part));
157
206
  if (content.length === 0)
158
207
  return null;
159
208
  return {
@@ -173,6 +222,22 @@ function mapOpenAIOutputItem(item) {
173
222
  id: call.id,
174
223
  };
175
224
  }
225
+ if (itemType === "reasoning") {
226
+ const reasoning = item;
227
+ const content = (reasoning.content ?? [])
228
+ .map((part) => mapResponseContentPart(part))
229
+ .filter((part) => Boolean(part));
230
+ const summary = (reasoning.summary ?? [])
231
+ .map((part) => mapResponseContentPart(part))
232
+ .filter((part) => Boolean(part));
233
+ return {
234
+ type: "reasoning",
235
+ id: reasoning.id,
236
+ content: content.length > 0 ? content : undefined,
237
+ summary,
238
+ encrypted_content: reasoning.encrypted_content,
239
+ };
240
+ }
176
241
  return null;
177
242
  }
178
243
  function normalizeOpenAIResponse(response) {
@@ -183,11 +248,23 @@ function normalizeOpenAIResponse(response) {
183
248
  id: response.id,
184
249
  object: "response",
185
250
  model: response.model,
251
+ created_at: response.created_at,
186
252
  created: response.created_at,
253
+ completed_at: response.completed_at ??
254
+ null,
255
+ previous_response_id: response.previous_response_id ?? null,
256
+ instructions: response.instructions ?? null,
257
+ reasoning: response
258
+ .reasoning ?? null,
187
259
  status: mapStatus(response.status ?? undefined),
188
260
  output: outputItems,
189
261
  usage: mapUsage(response.usage),
190
- error: mapError(response.error),
262
+ error: mapError(response.error) ?? null,
263
+ metadata: response.metadata,
264
+ max_output_tokens: response.max_output_tokens ?? null,
265
+ max_tool_calls: response.max_tool_calls ?? null,
266
+ parallel_tool_calls: response.parallel_tool_calls,
267
+ store: response.store,
191
268
  };
192
269
  }
193
270
  function toOpenAIInputItems(items) {
@@ -209,6 +286,18 @@ function toOpenAIInputItems(items) {
209
286
  text: part.text,
210
287
  };
211
288
  }
289
+ if (part.type === "summary_text") {
290
+ return {
291
+ type: "summary_text",
292
+ text: part.text,
293
+ };
294
+ }
295
+ if (part.type === "reasoning_text") {
296
+ return {
297
+ type: "reasoning_text",
298
+ text: part.text,
299
+ };
300
+ }
212
301
  return null;
213
302
  })
214
303
  .filter((part) => Boolean(part));
@@ -239,6 +328,22 @@ function toOpenAIInputItems(items) {
239
328
  output: item.output,
240
329
  id: item.id,
241
330
  });
331
+ continue;
332
+ }
333
+ if (item.type === "reasoning") {
334
+ mapped.push({
335
+ type: "reasoning",
336
+ id: item.id,
337
+ content: (item.content ?? []).map((part) => ({
338
+ type: part.type,
339
+ text: part.text,
340
+ })),
341
+ summary: item.summary.map((part) => ({
342
+ type: part.type,
343
+ text: part.text,
344
+ })),
345
+ encrypted_content: item.encrypted_content ?? null,
346
+ });
242
347
  }
243
348
  }
244
349
  return mapped;
@@ -323,13 +428,31 @@ function responseItemsToChat(items) {
323
428
  toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
324
429
  };
325
430
  }
326
- async function createResponse(client, request, onStreamEvent) {
431
+ async function createResponse(client, request, signal, onStreamEvent) {
327
432
  const baseParams = {
328
433
  model: normalizeOpenRouterModel(request.model),
329
434
  input: toOpenAIInputItems(request.input),
330
435
  instructions: request.instructions,
331
436
  tools: undefined,
332
437
  tool_choice: mapToolChoice(request.tool_choice),
438
+ previous_response_id: request.previous_response_id,
439
+ reasoning: mapReasoning(request.reasoning),
440
+ parallel_tool_calls: request.parallel_tool_calls,
441
+ max_tool_calls: request.max_tool_calls,
442
+ store: request.store,
443
+ include: request.include,
444
+ text: request.text,
445
+ stream_options: request.stream_options,
446
+ background: request.background,
447
+ truncation: request.truncation,
448
+ service_tier: request.service_tier,
449
+ top_logprobs: request.top_logprobs,
450
+ safety_identifier: request.safety_identifier,
451
+ prompt_cache_key: request.prompt_cache_key,
452
+ temperature: request.temperature,
453
+ top_p: request.top_p,
454
+ frequency_penalty: request.frequency_penalty,
455
+ presence_penalty: request.presence_penalty,
333
456
  stream: request.stream,
334
457
  max_output_tokens: request.max_output_tokens,
335
458
  metadata: request.metadata,
@@ -339,11 +462,11 @@ async function createResponse(client, request, onStreamEvent) {
339
462
  if (mappedTools.length > 0) {
340
463
  baseParams.tools = mappedTools;
341
464
  }
342
- const params = { ...(request.params ?? {}), ...baseParams };
465
+ const params = { ...(request.params ?? {}), ...stripUndefined(baseParams) };
343
466
  const debugResponses = dntShim.Deno.env.get("GAMBIT_DEBUG_RESPONSES") === "1";
344
467
  let responseOrStream;
345
468
  try {
346
- responseOrStream = await client.responses.create(params);
469
+ responseOrStream = await client.responses.create(params, signal ? { signal } : undefined);
347
470
  }
348
471
  catch (err) {
349
472
  if (debugResponses) {
@@ -367,7 +490,12 @@ async function createResponse(client, request, onStreamEvent) {
367
490
  switch (event.type) {
368
491
  case "response.created": {
369
492
  const mapped = normalizeOpenAIResponse(event.response);
370
- onStreamEvent?.({ type: "response.created", response: mapped });
493
+ onStreamEvent?.({
494
+ type: "response.created",
495
+ response: mapped,
496
+ sequence_number: event
497
+ .sequence_number,
498
+ });
371
499
  break;
372
500
  }
373
501
  case "response.output_text.delta":
@@ -376,6 +504,10 @@ async function createResponse(client, request, onStreamEvent) {
376
504
  output_index: event.output_index,
377
505
  delta: event.delta,
378
506
  item_id: event.item_id,
507
+ content_index: event.content_index,
508
+ sequence_number: event
509
+ .sequence_number,
510
+ logprobs: event.logprobs,
379
511
  });
380
512
  break;
381
513
  case "response.output_text.done":
@@ -384,6 +516,9 @@ async function createResponse(client, request, onStreamEvent) {
384
516
  output_index: event.output_index,
385
517
  text: event.text,
386
518
  item_id: event.item_id,
519
+ content_index: event.content_index,
520
+ sequence_number: event
521
+ .sequence_number,
387
522
  });
388
523
  break;
389
524
  case "response.output_item.added": {
@@ -393,6 +528,8 @@ async function createResponse(client, request, onStreamEvent) {
393
528
  type: "response.output_item.added",
394
529
  output_index: event.output_index,
395
530
  item,
531
+ sequence_number: event
532
+ .sequence_number,
396
533
  });
397
534
  }
398
535
  break;
@@ -404,13 +541,102 @@ async function createResponse(client, request, onStreamEvent) {
404
541
  type: "response.output_item.done",
405
542
  output_index: event.output_index,
406
543
  item,
544
+ sequence_number: event
545
+ .sequence_number,
407
546
  });
408
547
  }
409
548
  break;
410
549
  }
550
+ case "response.reasoning.delta":
551
+ if (typeof event.delta === "string") {
552
+ onStreamEvent?.({
553
+ type: "response.reasoning.delta",
554
+ output_index: event.output_index,
555
+ item_id: event.item_id,
556
+ content_index: event.content_index,
557
+ delta: event.delta,
558
+ sequence_number: event
559
+ .sequence_number,
560
+ obfuscation: event.obfuscation,
561
+ });
562
+ }
563
+ break;
564
+ case "response.reasoning.done":
565
+ onStreamEvent?.({
566
+ type: "response.reasoning.done",
567
+ output_index: event.output_index,
568
+ item_id: event.item_id,
569
+ content_index: event.content_index,
570
+ text: event.text,
571
+ sequence_number: event
572
+ .sequence_number,
573
+ });
574
+ break;
575
+ case "response.reasoning_summary_text.delta":
576
+ if (typeof event.delta === "string") {
577
+ onStreamEvent?.({
578
+ type: "response.reasoning_summary_text.delta",
579
+ output_index: event.output_index,
580
+ item_id: event.item_id,
581
+ summary_index: event.summary_index,
582
+ delta: event.delta,
583
+ sequence_number: event
584
+ .sequence_number,
585
+ obfuscation: event.obfuscation,
586
+ });
587
+ }
588
+ break;
589
+ case "response.reasoning_summary_text.done":
590
+ onStreamEvent?.({
591
+ type: "response.reasoning_summary_text.done",
592
+ output_index: event.output_index,
593
+ item_id: event.item_id,
594
+ summary_index: event.summary_index,
595
+ text: event.text,
596
+ sequence_number: event
597
+ .sequence_number,
598
+ });
599
+ break;
600
+ case "response.reasoning_summary_part.added":
601
+ if (event.part && typeof event.part === "object" &&
602
+ "type" in event.part &&
603
+ "text" in event.part &&
604
+ typeof event.part.text === "string") {
605
+ onStreamEvent?.({
606
+ type: "response.reasoning_summary_part.added",
607
+ output_index: event.output_index,
608
+ item_id: event.item_id,
609
+ summary_index: event.summary_index,
610
+ part: event.part,
611
+ sequence_number: event
612
+ .sequence_number,
613
+ });
614
+ }
615
+ break;
616
+ case "response.reasoning_summary_part.done":
617
+ if (event.part && typeof event.part === "object" &&
618
+ "type" in event.part &&
619
+ "text" in event.part &&
620
+ typeof event.part.text === "string") {
621
+ onStreamEvent?.({
622
+ type: "response.reasoning_summary_part.done",
623
+ output_index: event.output_index,
624
+ item_id: event.item_id,
625
+ summary_index: event.summary_index,
626
+ part: event.part,
627
+ sequence_number: event
628
+ .sequence_number,
629
+ });
630
+ }
631
+ break;
411
632
  case "response.completed": {
412
633
  completed = normalizeOpenAIResponse(event.response);
413
- onStreamEvent?.({ type: "response.completed", response: completed });
634
+ onStreamEvent?.({
635
+ type: "response.completed",
636
+ response: completed,
637
+ sequence_number: event
638
+ .sequence_number,
639
+ });
414
640
  break;
415
641
  }
416
642
  case "response.failed": {
@@ -418,6 +644,8 @@ async function createResponse(client, request, onStreamEvent) {
418
644
  onStreamEvent?.({
419
645
  type: "response.failed",
420
646
  error: error ?? {},
647
+ sequence_number: event
648
+ .sequence_number,
421
649
  });
422
650
  break;
423
651
  }
@@ -444,7 +672,7 @@ export function createOpenRouterProvider(opts) {
444
672
  }));
445
673
  return {
446
674
  async responses(input) {
447
- return await createResponse(client, input.request, input.onStreamEvent);
675
+ return await createResponse(client, input.request, input.signal, input.onStreamEvent);
448
676
  },
449
677
  async chat(input) {
450
678
  const params = input.params ?? {};
@@ -455,7 +683,7 @@ export function createOpenRouterProvider(opts) {
455
683
  tools: input.tools,
456
684
  stream: input.stream,
457
685
  params,
458
- }, (event) => {
686
+ }, input.signal, (event) => {
459
687
  if (event.type === "response.output_text.delta") {
460
688
  input.onStreamText?.(event.delta);
461
689
  }
@@ -481,7 +709,7 @@ export function createOpenRouterProvider(opts) {
481
709
  tool_choice: "auto",
482
710
  stream: true,
483
711
  ...params,
484
- });
712
+ }, input.signal ? { signal: input.signal } : undefined);
485
713
  let finishReason = null;
486
714
  const contentParts = [];
487
715
  const toolCallMap = new Map();
@@ -566,7 +794,7 @@ export function createOpenRouterProvider(opts) {
566
794
  tool_choice: "auto",
567
795
  stream: false,
568
796
  ...params,
569
- });
797
+ }, input.signal ? { signal: input.signal } : undefined);
570
798
  const choice = response.choices[0];
571
799
  const message = choice.message;
572
800
  const normalizedMessage = normalizeMessage(message);
@@ -580,11 +808,20 @@ export function createOpenRouterProvider(opts) {
580
808
  finishReason: (choice.finish_reason ?? "stop"),
581
809
  toolCalls,
582
810
  usage: response.usage
583
- ? {
584
- promptTokens: response.usage.prompt_tokens ?? 0,
585
- completionTokens: response.usage.completion_tokens ?? 0,
586
- totalTokens: response.usage.total_tokens ?? 0,
587
- }
811
+ ? (() => {
812
+ const usage = {
813
+ promptTokens: response.usage.prompt_tokens ?? 0,
814
+ completionTokens: response.usage.completion_tokens ?? 0,
815
+ totalTokens: response.usage.total_tokens ?? 0,
816
+ };
817
+ const details = response.usage;
818
+ const value = details.completion_tokens_details
819
+ ?.reasoning_tokens ??
820
+ details.output_tokens_details?.reasoning_tokens;
821
+ return typeof value === "number"
822
+ ? { ...usage, reasoningTokens: value }
823
+ : usage;
824
+ })()
588
825
  : undefined,
589
826
  };
590
827
  },
@@ -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,93 @@
1
+ const PROVIDER_PREFIXES = {
2
+ openrouter: "openrouter/",
3
+ ollama: "ollama/",
4
+ google: "google/",
5
+ "codex-cli": "codex-cli/",
6
+ };
7
+ function parsePrefixedModel(model) {
8
+ if (model.trim() === "codex-cli") {
9
+ return {
10
+ providerKey: "codex-cli",
11
+ strippedModel: "default",
12
+ rawModel: model,
13
+ };
14
+ }
15
+ for (const [providerKey, prefix] of Object.entries(PROVIDER_PREFIXES)) {
16
+ if (model.startsWith(prefix)) {
17
+ return {
18
+ providerKey: providerKey,
19
+ strippedModel: model.slice(prefix.length),
20
+ rawModel: model,
21
+ };
22
+ }
23
+ }
24
+ if (model === "codex" || model.startsWith("codex/")) {
25
+ return {
26
+ strippedModel: model,
27
+ rawModel: model,
28
+ legacyCodex: true,
29
+ };
30
+ }
31
+ return { strippedModel: model, rawModel: model };
32
+ }
33
+ function missingProviderMessage(providerKey) {
34
+ switch (providerKey) {
35
+ case "openrouter":
36
+ return "OPENROUTER_API_KEY is required for openrouter/ models.";
37
+ case "ollama":
38
+ return "Ollama provider is not configured. Set OLLAMA_BASE_URL or OLLAMA_API_KEY.";
39
+ case "google":
40
+ return "Google provider is not configured. Set GOOGLE_API_KEY or GEMINI_API_KEY.";
41
+ case "codex-cli":
42
+ return "Codex CLI provider is not configured.";
43
+ }
44
+ }
45
+ export function createProviderRouter(opts) {
46
+ const defaultProvider = opts.defaultProvider === null
47
+ ? null
48
+ : (opts.defaultProvider ?? "openrouter");
49
+ const fallbackOnMissing = new Set(opts.fallbackToDefaultOnMissing ?? ["google"]);
50
+ return {
51
+ resolve({ model }) {
52
+ const { providerKey, strippedModel, rawModel, legacyCodex } = parsePrefixedModel(model);
53
+ if (legacyCodex) {
54
+ throw new Error('Legacy Codex model prefix "codex" is no longer supported. Use "codex-cli/default" or "codex-cli/<model>".');
55
+ }
56
+ if (providerKey) {
57
+ const provider = opts.providers[providerKey];
58
+ if (!provider) {
59
+ if (fallbackOnMissing.has(providerKey) &&
60
+ defaultProvider !== null &&
61
+ defaultProvider !== providerKey) {
62
+ const fallbackProvider = opts.providers[defaultProvider];
63
+ if (fallbackProvider) {
64
+ return {
65
+ providerKey: defaultProvider,
66
+ provider: fallbackProvider,
67
+ model: rawModel,
68
+ };
69
+ }
70
+ }
71
+ throw new Error(missingProviderMessage(providerKey));
72
+ }
73
+ return {
74
+ providerKey,
75
+ provider,
76
+ model: strippedModel,
77
+ };
78
+ }
79
+ if (defaultProvider === null) {
80
+ throw new Error("No fallback provider configured. Use a provider prefix or set providers.fallback in gambit.toml.");
81
+ }
82
+ const provider = opts.providers[defaultProvider];
83
+ if (!provider) {
84
+ throw new Error("OPENROUTER_API_KEY is required when no provider prefix is specified.");
85
+ }
86
+ return {
87
+ providerKey: defaultProvider,
88
+ provider,
89
+ model,
90
+ };
91
+ },
92
+ };
93
+ }
@@ -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"}