@bolt-foundry/gambit 0.8.6-rc.3 → 0.8.6-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 (338) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/esm/gambit/simulator-ui/dist/bundle.js +2435 -620
  3. package/esm/gambit/simulator-ui/dist/bundle.js.map +4 -4
  4. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/entrypoint.d.ts +7 -0
  5. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/entrypoint.d.ts.map +1 -0
  6. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/entrypoint.js +22 -0
  7. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/normalization_ast.d.ts +4 -0
  8. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/normalization_ast.d.ts.map +1 -0
  9. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/normalization_ast.js +456 -0
  10. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/output_type.d.ts +3 -0
  11. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/output_type.d.ts.map +1 -0
  12. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/output_type.js +1 -0
  13. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/param_type.d.ts +110 -0
  14. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/param_type.d.ts.map +1 -0
  15. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/param_type.js +1 -0
  16. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/parameters_type.d.ts +10 -0
  17. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/parameters_type.d.ts.map +1 -0
  18. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/parameters_type.js +1 -0
  19. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/query_text.d.ts +3 -0
  20. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/query_text.d.ts.map +1 -0
  21. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/query_text.js +96 -0
  22. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/raw_response_type.d.ts +91 -0
  23. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/raw_response_type.d.ts.map +1 -0
  24. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/raw_response_type.js +1 -0
  25. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/resolver_reader.d.ts +6 -0
  26. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/resolver_reader.d.ts.map +1 -0
  27. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/resolver_reader.js +610 -0
  28. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/normalization_ast.d.ts.map +1 -1
  29. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/normalization_ast.js +86 -0
  30. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/param_type.d.ts +18 -0
  31. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/param_type.d.ts.map +1 -1
  32. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/query_text.d.ts +1 -1
  33. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/query_text.d.ts.map +1 -1
  34. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/query_text.js +18 -0
  35. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/raw_response_type.d.ts +18 -0
  36. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/raw_response_type.d.ts.map +1 -1
  37. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/resolver_reader.d.ts.map +1 -1
  38. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/resolver_reader.js +120 -0
  39. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/normalization_ast.d.ts.map +1 -1
  40. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/normalization_ast.js +43 -0
  41. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/param_type.d.ts +9 -0
  42. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/param_type.d.ts.map +1 -1
  43. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/query_text.d.ts +1 -1
  44. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/query_text.d.ts.map +1 -1
  45. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/query_text.js +9 -0
  46. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/raw_response_type.d.ts +9 -0
  47. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/raw_response_type.d.ts.map +1 -1
  48. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/resolver_reader.d.ts.map +1 -1
  49. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/resolver_reader.js +60 -0
  50. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/normalization_ast.d.ts.map +1 -1
  51. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/normalization_ast.js +43 -0
  52. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.d.ts +1 -1
  53. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.d.ts.map +1 -1
  54. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.js +9 -0
  55. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts +9 -0
  56. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts.map +1 -1
  57. package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts +9 -0
  58. package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts.map +1 -1
  59. package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/resolver_reader.d.ts.map +1 -1
  60. package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/resolver_reader.js +60 -0
  61. package/esm/simulator-ui/__generated__/__isograph/iso.d.ts +4 -0
  62. package/esm/simulator-ui/__generated__/__isograph/iso.d.ts.map +1 -1
  63. package/esm/simulator-ui/__generated__/__isograph/iso.js +3 -0
  64. package/esm/simulator-ui/__generated__/builtRoutes.d.ts +2 -0
  65. package/esm/simulator-ui/__generated__/builtRoutes.d.ts.map +1 -1
  66. package/esm/simulator-ui/__generated__/builtRoutes.js +3 -0
  67. package/esm/simulator-ui/isograph/components/Query/SimulatorTestPage.d.ts.map +1 -1
  68. package/esm/simulator-ui/isograph/components/Query/SimulatorTestPage.js +141 -4
  69. package/esm/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.d.ts.map +1 -1
  70. package/esm/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.js +3 -1
  71. package/esm/simulator-ui/mutations/GambitWorkspaceFeedbackSave.d.ts +93 -0
  72. package/esm/simulator-ui/mutations/GambitWorkspaceFeedbackSave.d.ts.map +1 -0
  73. package/esm/simulator-ui/mutations/GambitWorkspaceFeedbackSave.js +101 -0
  74. package/esm/simulator-ui/mutations/GambitWorkspaceFeedbackSaveMutation.d.ts +93 -0
  75. package/esm/simulator-ui/mutations/GambitWorkspaceFeedbackSaveMutation.d.ts.map +1 -0
  76. package/esm/simulator-ui/mutations/GambitWorkspaceFeedbackSaveMutation.js +7 -0
  77. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunSend.d.ts +18 -0
  78. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunSend.d.ts.map +1 -1
  79. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunSend.js +18 -0
  80. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunSendMutation.d.ts +18 -0
  81. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunSendMutation.d.ts.map +1 -1
  82. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStart.d.ts +9 -0
  83. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStart.d.ts.map +1 -1
  84. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStart.js +9 -0
  85. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStartMutation.d.ts +9 -0
  86. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStartMutation.d.ts.map +1 -1
  87. package/esm/simulator-ui/src/AppIsoMinimal.d.ts +3 -0
  88. package/esm/simulator-ui/src/AppIsoMinimal.d.ts.map +1 -1
  89. package/esm/simulator-ui/src/AppIsoMinimal.js +7 -4
  90. package/esm/simulator-ui/src/AppShell.d.ts.map +1 -1
  91. package/esm/simulator-ui/src/AppShell.js +2 -2
  92. package/esm/simulator-ui/src/MinimalRouterRoot.js +4 -2
  93. package/esm/simulator-ui/src/RouterContext.d.ts.map +1 -1
  94. package/esm/simulator-ui/src/RouterContext.js +7 -3
  95. package/esm/simulator-ui/src/shared.d.ts.map +1 -1
  96. package/esm/simulator-ui/src/shared.js +3 -3
  97. package/esm/src/server/request_handler.d.ts +210 -0
  98. package/esm/src/server/request_handler.d.ts.map +1 -0
  99. package/esm/src/server/request_handler.js +416 -0
  100. package/esm/src/server/workspace/build.d.ts +57 -0
  101. package/esm/src/server/workspace/build.d.ts.map +1 -0
  102. package/esm/src/server/workspace/build.js +377 -0
  103. package/esm/src/server/workspace/conversation_sessions.d.ts +83 -0
  104. package/esm/src/server/workspace/conversation_sessions.d.ts.map +1 -0
  105. package/esm/src/server/workspace/conversation_sessions.js +163 -0
  106. package/esm/src/server/workspace/grading.d.ts +52 -0
  107. package/esm/src/server/workspace/grading.d.ts.map +1 -0
  108. package/esm/src/server/workspace/grading.js +488 -0
  109. package/esm/src/server/workspace/helpers.d.ts +46 -0
  110. package/esm/src/server/workspace/helpers.d.ts.map +1 -0
  111. package/esm/src/server/workspace/helpers.js +340 -0
  112. package/esm/src/server/workspace/read_model.d.ts +35 -0
  113. package/esm/src/server/workspace/read_model.d.ts.map +1 -0
  114. package/esm/src/server/workspace/read_model.js +121 -0
  115. package/esm/src/server/workspace/response_events.d.ts +28 -0
  116. package/esm/src/server/workspace/response_events.d.ts.map +1 -0
  117. package/esm/src/server/workspace/response_events.js +178 -0
  118. package/esm/src/server/workspace/run_deck.d.ts +23 -0
  119. package/esm/src/server/workspace/run_deck.d.ts.map +1 -0
  120. package/esm/src/server/workspace/run_deck.js +79 -0
  121. package/esm/src/server/workspace/scenario_history.d.ts +8 -0
  122. package/esm/src/server/workspace/scenario_history.d.ts.map +1 -0
  123. package/esm/src/server/workspace/scenario_history.js +269 -0
  124. package/esm/src/server/workspace/scenarios.d.ts +93 -0
  125. package/esm/src/server/workspace/scenarios.d.ts.map +1 -0
  126. package/esm/src/server/workspace/scenarios.js +1052 -0
  127. package/esm/src/server/workspace/schema.d.ts +35 -0
  128. package/esm/src/server/workspace/schema.d.ts.map +1 -0
  129. package/esm/src/server/workspace/schema.js +427 -0
  130. package/esm/src/server/workspace/sessions.d.ts +38 -0
  131. package/esm/src/server/workspace/sessions.d.ts.map +1 -0
  132. package/esm/src/server/workspace/sessions.js +232 -0
  133. package/esm/src/server/workspace/types.d.ts +128 -0
  134. package/esm/src/server/workspace/types.d.ts.map +1 -0
  135. package/esm/src/server/workspace/types.js +1 -0
  136. package/esm/src/server/workspace/verify.d.ts +52 -0
  137. package/esm/src/server/workspace/verify.d.ts.map +1 -0
  138. package/esm/src/server/workspace/verify.js +449 -0
  139. package/esm/src/server.d.ts +0 -3
  140. package/esm/src/server.d.ts.map +1 -1
  141. package/esm/src/server.js +324 -6732
  142. package/esm/src/server_isograph_environment.d.ts +12 -1
  143. package/esm/src/server_isograph_environment.d.ts.map +1 -1
  144. package/esm/src/server_legacy_api_routes.d.ts +137 -0
  145. package/esm/src/server_legacy_api_routes.d.ts.map +1 -0
  146. package/esm/src/server_legacy_api_routes.js +629 -0
  147. package/esm/src/server_openresponses.d.ts +6 -0
  148. package/esm/src/server_openresponses.d.ts.map +1 -0
  149. package/esm/src/server_openresponses.js +687 -0
  150. package/esm/src/server_session_store.d.ts +4 -0
  151. package/esm/src/server_session_store.d.ts.map +1 -1
  152. package/esm/src/server_session_store.js +196 -1
  153. package/esm/src/server_simulator_ui.d.ts +27 -0
  154. package/esm/src/server_simulator_ui.d.ts.map +1 -0
  155. package/esm/src/server_simulator_ui.js +501 -0
  156. package/esm/src/server_types.d.ts +22 -0
  157. package/esm/src/server_types.d.ts.map +1 -1
  158. package/esm/src/server_workspace_decks.d.ts +31 -0
  159. package/esm/src/server_workspace_decks.d.ts.map +1 -0
  160. package/esm/src/server_workspace_decks.js +98 -0
  161. package/esm/src/server_workspace_graphql.d.ts +17 -0
  162. package/esm/src/server_workspace_graphql.d.ts.map +1 -0
  163. package/esm/src/server_workspace_graphql.js +52 -0
  164. package/esm/src/server_workspace_runtime.d.ts +55 -0
  165. package/esm/src/server_workspace_runtime.d.ts.map +1 -0
  166. package/esm/src/server_workspace_runtime.js +358 -0
  167. package/esm/src/simulator_graphql.d.ts +14 -1
  168. package/esm/src/simulator_graphql.d.ts.map +1 -1
  169. package/esm/src/simulator_graphql.js +77 -0
  170. package/package.json +1 -1
  171. package/script/gambit/simulator-ui/dist/bundle.js +2435 -620
  172. package/script/gambit/simulator-ui/dist/bundle.js.map +4 -4
  173. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/entrypoint.d.ts +7 -0
  174. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/entrypoint.d.ts.map +1 -0
  175. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/entrypoint.js +27 -0
  176. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/normalization_ast.d.ts +4 -0
  177. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/normalization_ast.d.ts.map +1 -0
  178. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/normalization_ast.js +458 -0
  179. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/output_type.d.ts +3 -0
  180. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/output_type.d.ts.map +1 -0
  181. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/output_type.js +2 -0
  182. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/param_type.d.ts +110 -0
  183. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/param_type.d.ts.map +1 -0
  184. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/param_type.js +2 -0
  185. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/parameters_type.d.ts +10 -0
  186. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/parameters_type.d.ts.map +1 -0
  187. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/parameters_type.js +2 -0
  188. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/query_text.d.ts +3 -0
  189. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/query_text.d.ts.map +1 -0
  190. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/query_text.js +98 -0
  191. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/raw_response_type.d.ts +91 -0
  192. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/raw_response_type.d.ts.map +1 -0
  193. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/raw_response_type.js +2 -0
  194. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/resolver_reader.d.ts +6 -0
  195. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/resolver_reader.d.ts.map +1 -0
  196. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/resolver_reader.js +615 -0
  197. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/normalization_ast.d.ts.map +1 -1
  198. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/normalization_ast.js +86 -0
  199. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/param_type.d.ts +18 -0
  200. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/param_type.d.ts.map +1 -1
  201. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/query_text.d.ts +1 -1
  202. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/query_text.d.ts.map +1 -1
  203. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/query_text.js +18 -0
  204. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/raw_response_type.d.ts +18 -0
  205. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/raw_response_type.d.ts.map +1 -1
  206. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/resolver_reader.d.ts.map +1 -1
  207. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/resolver_reader.js +120 -0
  208. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/normalization_ast.d.ts.map +1 -1
  209. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/normalization_ast.js +43 -0
  210. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/param_type.d.ts +9 -0
  211. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/param_type.d.ts.map +1 -1
  212. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/query_text.d.ts +1 -1
  213. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/query_text.d.ts.map +1 -1
  214. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/query_text.js +9 -0
  215. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/raw_response_type.d.ts +9 -0
  216. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/raw_response_type.d.ts.map +1 -1
  217. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/resolver_reader.d.ts.map +1 -1
  218. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/resolver_reader.js +60 -0
  219. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/normalization_ast.d.ts.map +1 -1
  220. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/normalization_ast.js +43 -0
  221. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.d.ts +1 -1
  222. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.d.ts.map +1 -1
  223. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.js +9 -0
  224. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts +9 -0
  225. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts.map +1 -1
  226. package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts +9 -0
  227. package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts.map +1 -1
  228. package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/resolver_reader.d.ts.map +1 -1
  229. package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/resolver_reader.js +60 -0
  230. package/script/simulator-ui/__generated__/__isograph/iso.d.ts +4 -0
  231. package/script/simulator-ui/__generated__/__isograph/iso.d.ts.map +1 -1
  232. package/script/simulator-ui/__generated__/__isograph/iso.js +45 -42
  233. package/script/simulator-ui/__generated__/builtRoutes.d.ts +2 -0
  234. package/script/simulator-ui/__generated__/builtRoutes.d.ts.map +1 -1
  235. package/script/simulator-ui/__generated__/builtRoutes.js +18 -15
  236. package/script/simulator-ui/isograph/components/Query/SimulatorTestPage.d.ts.map +1 -1
  237. package/script/simulator-ui/isograph/components/Query/SimulatorTestPage.js +141 -4
  238. package/script/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.d.ts.map +1 -1
  239. package/script/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.js +3 -1
  240. package/script/simulator-ui/mutations/GambitWorkspaceFeedbackSave.d.ts +93 -0
  241. package/script/simulator-ui/mutations/GambitWorkspaceFeedbackSave.d.ts.map +1 -0
  242. package/script/simulator-ui/mutations/GambitWorkspaceFeedbackSave.js +104 -0
  243. package/script/simulator-ui/mutations/GambitWorkspaceFeedbackSaveMutation.d.ts +93 -0
  244. package/script/simulator-ui/mutations/GambitWorkspaceFeedbackSaveMutation.d.ts.map +1 -0
  245. package/script/simulator-ui/mutations/GambitWorkspaceFeedbackSaveMutation.js +13 -0
  246. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunSend.d.ts +18 -0
  247. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunSend.d.ts.map +1 -1
  248. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunSend.js +18 -0
  249. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunSendMutation.d.ts +18 -0
  250. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunSendMutation.d.ts.map +1 -1
  251. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStart.d.ts +9 -0
  252. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStart.d.ts.map +1 -1
  253. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStart.js +9 -0
  254. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStartMutation.d.ts +9 -0
  255. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStartMutation.d.ts.map +1 -1
  256. package/script/simulator-ui/src/AppIsoMinimal.d.ts +3 -0
  257. package/script/simulator-ui/src/AppIsoMinimal.d.ts.map +1 -1
  258. package/script/simulator-ui/src/AppIsoMinimal.js +7 -4
  259. package/script/simulator-ui/src/AppShell.d.ts.map +1 -1
  260. package/script/simulator-ui/src/AppShell.js +1 -1
  261. package/script/simulator-ui/src/MinimalRouterRoot.js +4 -2
  262. package/script/simulator-ui/src/RouterContext.d.ts.map +1 -1
  263. package/script/simulator-ui/src/RouterContext.js +6 -2
  264. package/script/simulator-ui/src/shared.d.ts.map +1 -1
  265. package/script/simulator-ui/src/shared.js +3 -3
  266. package/script/src/server/request_handler.d.ts +210 -0
  267. package/script/src/server/request_handler.d.ts.map +1 -0
  268. package/script/src/server/request_handler.js +453 -0
  269. package/script/src/server/workspace/build.d.ts +57 -0
  270. package/script/src/server/workspace/build.d.ts.map +1 -0
  271. package/script/src/server/workspace/build.js +381 -0
  272. package/script/src/server/workspace/conversation_sessions.d.ts +83 -0
  273. package/script/src/server/workspace/conversation_sessions.d.ts.map +1 -0
  274. package/script/src/server/workspace/conversation_sessions.js +167 -0
  275. package/script/src/server/workspace/grading.d.ts +52 -0
  276. package/script/src/server/workspace/grading.d.ts.map +1 -0
  277. package/script/src/server/workspace/grading.js +492 -0
  278. package/script/src/server/workspace/helpers.d.ts +46 -0
  279. package/script/src/server/workspace/helpers.d.ts.map +1 -0
  280. package/script/src/server/workspace/helpers.js +353 -0
  281. package/script/src/server/workspace/read_model.d.ts +35 -0
  282. package/script/src/server/workspace/read_model.d.ts.map +1 -0
  283. package/script/src/server/workspace/read_model.js +125 -0
  284. package/script/src/server/workspace/response_events.d.ts +28 -0
  285. package/script/src/server/workspace/response_events.d.ts.map +1 -0
  286. package/script/src/server/workspace/response_events.js +182 -0
  287. package/script/src/server/workspace/run_deck.d.ts +23 -0
  288. package/script/src/server/workspace/run_deck.d.ts.map +1 -0
  289. package/script/src/server/workspace/run_deck.js +84 -0
  290. package/script/src/server/workspace/scenario_history.d.ts +8 -0
  291. package/script/src/server/workspace/scenario_history.d.ts.map +1 -0
  292. package/script/src/server/workspace/scenario_history.js +310 -0
  293. package/script/src/server/workspace/scenarios.d.ts +93 -0
  294. package/script/src/server/workspace/scenarios.d.ts.map +1 -0
  295. package/script/src/server/workspace/scenarios.js +1089 -0
  296. package/script/src/server/workspace/schema.d.ts +35 -0
  297. package/script/src/server/workspace/schema.d.ts.map +1 -0
  298. package/script/src/server/workspace/schema.js +478 -0
  299. package/script/src/server/workspace/sessions.d.ts +38 -0
  300. package/script/src/server/workspace/sessions.d.ts.map +1 -0
  301. package/script/src/server/workspace/sessions.js +269 -0
  302. package/script/src/server/workspace/types.d.ts +128 -0
  303. package/script/src/server/workspace/types.d.ts.map +1 -0
  304. package/script/src/server/workspace/types.js +2 -0
  305. package/script/src/server/workspace/verify.d.ts +52 -0
  306. package/script/src/server/workspace/verify.d.ts.map +1 -0
  307. package/script/src/server/workspace/verify.js +453 -0
  308. package/script/src/server.d.ts +0 -3
  309. package/script/src/server.d.ts.map +1 -1
  310. package/script/src/server.js +391 -6799
  311. package/script/src/server_isograph_environment.d.ts +12 -1
  312. package/script/src/server_isograph_environment.d.ts.map +1 -1
  313. package/script/src/server_legacy_api_routes.d.ts +137 -0
  314. package/script/src/server_legacy_api_routes.d.ts.map +1 -0
  315. package/script/src/server_legacy_api_routes.js +666 -0
  316. package/script/src/server_openresponses.d.ts +6 -0
  317. package/script/src/server_openresponses.d.ts.map +1 -0
  318. package/script/src/server_openresponses.js +690 -0
  319. package/script/src/server_session_store.d.ts +4 -0
  320. package/script/src/server_session_store.d.ts.map +1 -1
  321. package/script/src/server_session_store.js +196 -1
  322. package/script/src/server_simulator_ui.d.ts +27 -0
  323. package/script/src/server_simulator_ui.d.ts.map +1 -0
  324. package/script/src/server_simulator_ui.js +544 -0
  325. package/script/src/server_types.d.ts +22 -0
  326. package/script/src/server_types.d.ts.map +1 -1
  327. package/script/src/server_workspace_decks.d.ts +31 -0
  328. package/script/src/server_workspace_decks.d.ts.map +1 -0
  329. package/script/src/server_workspace_decks.js +142 -0
  330. package/script/src/server_workspace_graphql.d.ts +17 -0
  331. package/script/src/server_workspace_graphql.d.ts.map +1 -0
  332. package/script/src/server_workspace_graphql.js +56 -0
  333. package/script/src/server_workspace_runtime.d.ts +55 -0
  334. package/script/src/server_workspace_runtime.d.ts.map +1 -0
  335. package/script/src/server_workspace_runtime.js +395 -0
  336. package/script/src/simulator_graphql.d.ts +14 -1
  337. package/script/src/simulator_graphql.d.ts.map +1 -1
  338. package/script/src/simulator_graphql.js +77 -0
@@ -0,0 +1,449 @@
1
+ export const createWorkspaceVerifyService = (deps) => {
2
+ const normalizeVerifyBatchStatus = (value) => {
3
+ if (value === "running")
4
+ return "running";
5
+ if (value === "completed")
6
+ return "completed";
7
+ if (value === "error")
8
+ return "error";
9
+ return "idle";
10
+ };
11
+ const normalizeVerifyBatchRequestStatus = (value) => {
12
+ if (value === "running")
13
+ return "running";
14
+ if (value === "completed")
15
+ return "completed";
16
+ if (value === "error")
17
+ return "error";
18
+ return "queued";
19
+ };
20
+ const readWorkspaceVerifyBatchesFromState = (state) => {
21
+ const meta = state.meta && typeof state.meta === "object"
22
+ ? state.meta
23
+ : {};
24
+ if (!Array.isArray(meta.verifyBatches))
25
+ return [];
26
+ return meta.verifyBatches.flatMap((entry) => {
27
+ if (!entry || typeof entry !== "object")
28
+ return [];
29
+ const batch = entry;
30
+ if (typeof batch.graderId !== "string" || batch.graderId.trim() === "") {
31
+ return [];
32
+ }
33
+ const requests = Array.isArray(batch.requests)
34
+ ? batch.requests.flatMap((request, requestIndex) => {
35
+ if (!request || typeof request !== "object")
36
+ return [];
37
+ const requestRecord = request;
38
+ const requestId = typeof requestRecord.id === "string" &&
39
+ requestRecord.id.trim().length > 0
40
+ ? requestRecord.id
41
+ : `${String(batch.id ?? deps.randomId("vbatch"))}:${requestIndex + 1}`;
42
+ const runId = typeof requestRecord.runId === "string" &&
43
+ requestRecord.runId.trim().length > 0
44
+ ? requestRecord.runId
45
+ : undefined;
46
+ const scenarioRunId = typeof requestRecord.scenarioRunId === "string" &&
47
+ requestRecord.scenarioRunId.trim().length > 0
48
+ ? requestRecord.scenarioRunId
49
+ : undefined;
50
+ const error = typeof requestRecord.error === "string" &&
51
+ requestRecord.error.trim().length > 0
52
+ ? requestRecord.error
53
+ : undefined;
54
+ return [{
55
+ id: requestId,
56
+ status: normalizeVerifyBatchRequestStatus(requestRecord.status),
57
+ scenarioRunId,
58
+ runId,
59
+ error,
60
+ }];
61
+ })
62
+ : [];
63
+ const active = requests.filter((request) => request.status === "running")
64
+ .length;
65
+ const completed = requests.filter((request) => request.status === "completed").length;
66
+ const failed = requests.filter((request) => request.status === "error")
67
+ .length;
68
+ const requested = Math.max(requests.length, typeof batch.requested === "number" && Number.isFinite(batch.requested)
69
+ ? Math.max(0, Math.round(batch.requested))
70
+ : 0);
71
+ return [{
72
+ id: typeof batch.id === "string" && batch.id.trim().length > 0
73
+ ? batch.id
74
+ : deps.randomId("vbatch"),
75
+ workspaceId: typeof batch.workspaceId === "string" && batch.workspaceId.trim()
76
+ ? batch.workspaceId
77
+ : "",
78
+ scenarioDeckId: typeof batch.scenarioDeckId === "string" &&
79
+ batch.scenarioDeckId.trim().length > 0
80
+ ? batch.scenarioDeckId
81
+ : undefined,
82
+ graderId: batch.graderId,
83
+ scenarioRuns: typeof batch.scenarioRuns === "number" &&
84
+ Number.isFinite(batch.scenarioRuns)
85
+ ? Math.max(0, Math.round(batch.scenarioRuns))
86
+ : 0,
87
+ graderRepeatsPerScenario: typeof batch.graderRepeatsPerScenario === "number" &&
88
+ Number.isFinite(batch.graderRepeatsPerScenario)
89
+ ? Math.max(0, Math.round(batch.graderRepeatsPerScenario))
90
+ : 0,
91
+ status: normalizeVerifyBatchStatus(batch.status),
92
+ startedAt: typeof batch.startedAt === "string" && batch.startedAt.trim().length >
93
+ 0
94
+ ? batch.startedAt
95
+ : undefined,
96
+ finishedAt: typeof batch.finishedAt === "string" &&
97
+ batch.finishedAt.trim().length > 0
98
+ ? batch.finishedAt
99
+ : undefined,
100
+ requested,
101
+ active,
102
+ completed,
103
+ failed,
104
+ scenarioRunsCompleted: typeof batch.scenarioRunsCompleted === "number" &&
105
+ Number.isFinite(batch.scenarioRunsCompleted)
106
+ ? Math.max(0, Math.round(batch.scenarioRunsCompleted))
107
+ : 0,
108
+ scenarioRunsFailed: typeof batch.scenarioRunsFailed === "number" &&
109
+ Number.isFinite(batch.scenarioRunsFailed)
110
+ ? Math.max(0, Math.round(batch.scenarioRunsFailed))
111
+ : 0,
112
+ requests,
113
+ }];
114
+ });
115
+ };
116
+ const writeWorkspaceVerifyBatchesToState = (state, batches) => {
117
+ const currentMeta = state.meta && typeof state.meta === "object"
118
+ ? state.meta
119
+ : {};
120
+ return {
121
+ ...state,
122
+ meta: {
123
+ ...currentMeta,
124
+ verifyBatches: batches,
125
+ },
126
+ };
127
+ };
128
+ const upsertWorkspaceVerifyBatchInState = (state, nextBatch) => {
129
+ const existing = readWorkspaceVerifyBatchesFromState(state);
130
+ const nextBatches = [...existing];
131
+ const existingIndex = nextBatches.findIndex((entry) => entry.id === nextBatch.id);
132
+ if (existingIndex >= 0) {
133
+ nextBatches[existingIndex] = nextBatch;
134
+ }
135
+ else {
136
+ nextBatches.unshift(nextBatch);
137
+ }
138
+ return writeWorkspaceVerifyBatchesToState(state, nextBatches.slice(0, 50));
139
+ };
140
+ const emitVerifyWorkspaceEvent = (workspaceId, payload) => {
141
+ deps.appendDurableStreamEvent(deps.workspaceStreamId, {
142
+ ...payload,
143
+ workspaceId,
144
+ });
145
+ };
146
+ const readWorkspaceVerifyBatchesForGraphql = (workspaceId) => {
147
+ const state = deps.readSessionState(workspaceId);
148
+ if (!state)
149
+ return [];
150
+ return readWorkspaceVerifyBatchesFromState(state).map((batch) => ({
151
+ ...batch,
152
+ workspaceId,
153
+ }));
154
+ };
155
+ const createWorkspaceVerifyBatchRunForGraphql = async (args) => {
156
+ await deps.activateWorkspaceDeck(args.workspaceId, {
157
+ source: "graphql:createWorkspaceVerifyBatchRun",
158
+ });
159
+ const deckState = deps.readWorkspaceDeckStateStrict(args.workspaceId);
160
+ const grader = deps.resolveGraderDeckFromState(deckState, args.graderId);
161
+ if (!grader) {
162
+ throw new Error(`Unknown grader deck: ${args.graderId}`);
163
+ }
164
+ const state = deps.readSessionStateStrict(args.workspaceId, {
165
+ withTraces: true,
166
+ });
167
+ if (!state) {
168
+ throw new Error(`Workspace ${args.workspaceId} not found`);
169
+ }
170
+ const selectedScenarioDeckId = typeof args.scenarioDeckId === "string" &&
171
+ args.scenarioDeckId.trim().length > 0
172
+ ? args.scenarioDeckId.trim()
173
+ : undefined;
174
+ const normalizedScenarioRuns = Math.max(1, Math.min(deps.verifyScenarioRunsMax, Number.isFinite(args.scenarioRuns)
175
+ ? Math.round(args.scenarioRuns)
176
+ : deps.defaultVerifyScenarioRuns));
177
+ const normalizedRepeats = Math.max(1, Math.min(deps.verifyGraderRepeatsMax, Number.isFinite(args.graderRepeatsPerScenario)
178
+ ? Math.round(args.graderRepeatsPerScenario)
179
+ : deps.defaultVerifyGraderRepeats));
180
+ const requestedSamples = normalizedScenarioRuns * normalizedRepeats;
181
+ const normalizedConcurrency = Math.max(1, Math.min(deps.verifyBatchConcurrencyMax, requestedSamples, Number.isFinite(args.concurrency)
182
+ ? Math.round(args.concurrency)
183
+ : deps.defaultVerifyConcurrency));
184
+ const now = new Date().toISOString();
185
+ const batchId = deps.randomId("vbatch");
186
+ let batch = {
187
+ id: batchId,
188
+ workspaceId: args.workspaceId,
189
+ scenarioDeckId: selectedScenarioDeckId,
190
+ graderId: grader.id,
191
+ scenarioRuns: normalizedScenarioRuns,
192
+ graderRepeatsPerScenario: normalizedRepeats,
193
+ status: "running",
194
+ startedAt: now,
195
+ finishedAt: undefined,
196
+ requested: requestedSamples,
197
+ active: 0,
198
+ completed: 0,
199
+ failed: 0,
200
+ scenarioRunsCompleted: 0,
201
+ scenarioRunsFailed: 0,
202
+ requests: Array.from({ length: normalizedScenarioRuns }, (_value, scenarioIndex) => Array.from({ length: normalizedRepeats }, (_repeat, repeatIndex) => ({
203
+ id: `${batchId}:s${scenarioIndex + 1}:r${repeatIndex + 1}`,
204
+ status: "queued",
205
+ }))).flat(),
206
+ };
207
+ const recomputeBatchState = (baseBatch, nextRequests, options) => {
208
+ const active = nextRequests.filter((request) => request.status === "running").length;
209
+ const completed = nextRequests.filter((request) => request.status === "completed").length;
210
+ const failed = nextRequests.filter((request) => request.status === "error")
211
+ .length;
212
+ const terminal = completed + failed === requestedSamples && active === 0;
213
+ return {
214
+ ...baseBatch,
215
+ requests: nextRequests,
216
+ active,
217
+ completed,
218
+ failed,
219
+ scenarioRunsCompleted: options?.scenarioRunsCompleted ??
220
+ baseBatch.scenarioRunsCompleted,
221
+ scenarioRunsFailed: options?.scenarioRunsFailed ??
222
+ baseBatch.scenarioRunsFailed,
223
+ status: terminal ? (failed > 0 ? "error" : "completed") : "running",
224
+ finishedAt: terminal ? new Date().toISOString() : undefined,
225
+ };
226
+ };
227
+ const awaitScenarioRunTerminal = async (run) => {
228
+ if (run.status !== "running" && run.status !== "idle") {
229
+ return run;
230
+ }
231
+ const active = deps.getLiveTestRunEntry(run.id);
232
+ if (active?.promise) {
233
+ try {
234
+ await active.promise;
235
+ }
236
+ catch {
237
+ // Run status/error is projected on the run record.
238
+ }
239
+ }
240
+ const latest = deps.readWorkspaceScenarioRunsForGraphql(args.workspaceId)
241
+ .find((entry) => entry.id === run.id);
242
+ return latest ?? run;
243
+ };
244
+ let persistedState = deps.persistSessionState(upsertWorkspaceVerifyBatchInState(state, batch));
245
+ const persistAndBroadcastBatch = (reason) => {
246
+ const latest = deps.readSessionStateStrict(args.workspaceId, {
247
+ withTraces: true,
248
+ }) ?? persistedState;
249
+ persistedState = deps.persistSessionState(upsertWorkspaceVerifyBatchInState(latest, batch));
250
+ deps.appendGradingLog(persistedState, {
251
+ type: "gambit.verify.batch",
252
+ workspaceId: args.workspaceId,
253
+ reason,
254
+ batch,
255
+ });
256
+ emitVerifyWorkspaceEvent(args.workspaceId, {
257
+ type: "gambit.verify.batch",
258
+ reason,
259
+ batch,
260
+ });
261
+ };
262
+ persistAndBroadcastBatch("created");
263
+ let updateQueue = Promise.resolve();
264
+ const queueBatchUpdate = async (reason, updater) => {
265
+ updateQueue = updateQueue.then(() => {
266
+ batch = updater(batch);
267
+ persistAndBroadcastBatch(reason);
268
+ });
269
+ await updateQueue;
270
+ };
271
+ const updateBatchRequest = async (requestIndex, patch) => {
272
+ await queueBatchUpdate("request-update", (current) => {
273
+ if (requestIndex < 0 || requestIndex >= current.requests.length) {
274
+ return current;
275
+ }
276
+ const nextRequests = current.requests.map((request, index) => index === requestIndex ? { ...request, ...patch } : request);
277
+ const active = nextRequests.filter((request) => request.status === "running").length;
278
+ const completed = nextRequests.filter((request) => request.status === "completed")
279
+ .length;
280
+ const failed = nextRequests.filter((request) => request.status === "error").length;
281
+ const terminal = completed + failed === current.requested &&
282
+ active === 0;
283
+ return {
284
+ ...current,
285
+ requests: nextRequests,
286
+ active,
287
+ completed,
288
+ failed,
289
+ status: terminal ? (failed > 0 ? "error" : "completed") : "running",
290
+ finishedAt: terminal ? new Date().toISOString() : undefined,
291
+ };
292
+ });
293
+ };
294
+ const queuedGradeRequestIndexes = [];
295
+ let gradeQueueClosed = false;
296
+ const gradeQueueWaiters = [];
297
+ const wakeGradeWorkers = (count) => {
298
+ let remaining = Math.max(0, count);
299
+ while (remaining > 0 && gradeQueueWaiters.length > 0) {
300
+ const notify = gradeQueueWaiters.shift();
301
+ if (notify)
302
+ notify();
303
+ remaining -= 1;
304
+ }
305
+ };
306
+ const enqueueGradeRequestIndexes = (requestIndexes) => {
307
+ if (requestIndexes.length === 0)
308
+ return;
309
+ queuedGradeRequestIndexes.push(...requestIndexes);
310
+ wakeGradeWorkers(requestIndexes.length);
311
+ };
312
+ const closeGradeQueue = () => {
313
+ gradeQueueClosed = true;
314
+ while (gradeQueueWaiters.length > 0) {
315
+ const notify = gradeQueueWaiters.shift();
316
+ if (notify)
317
+ notify();
318
+ }
319
+ };
320
+ const nextQueuedGradeRequestIndex = async () => {
321
+ while (queuedGradeRequestIndexes.length === 0) {
322
+ if (gradeQueueClosed)
323
+ return undefined;
324
+ await new Promise((resolve) => {
325
+ gradeQueueWaiters.push(resolve);
326
+ });
327
+ }
328
+ return queuedGradeRequestIndexes.shift();
329
+ };
330
+ const gradeWorkers = Array.from({ length: normalizedConcurrency }, () => (async () => {
331
+ while (true) {
332
+ const requestIndex = await nextQueuedGradeRequestIndex();
333
+ if (requestIndex === undefined)
334
+ return;
335
+ const scenarioRunId = batch.requests[requestIndex]?.scenarioRunId;
336
+ if (!scenarioRunId)
337
+ continue;
338
+ await updateBatchRequest(requestIndex, { status: "running" });
339
+ try {
340
+ const run = await deps.createWorkspaceGradeRunForGraphql({
341
+ workspaceId: args.workspaceId,
342
+ graderId: grader.id,
343
+ scenarioRunId,
344
+ });
345
+ if (run.status === "completed") {
346
+ await updateBatchRequest(requestIndex, {
347
+ status: "completed",
348
+ scenarioRunId,
349
+ runId: run.id,
350
+ error: undefined,
351
+ });
352
+ }
353
+ else {
354
+ await updateBatchRequest(requestIndex, {
355
+ status: "error",
356
+ scenarioRunId,
357
+ runId: run.id,
358
+ error: run.error ??
359
+ `Grade run ended with status ${run.status}`,
360
+ });
361
+ }
362
+ }
363
+ catch (error) {
364
+ await updateBatchRequest(requestIndex, {
365
+ status: "error",
366
+ scenarioRunId,
367
+ error: error instanceof Error ? error.message : String(error),
368
+ });
369
+ }
370
+ }
371
+ })());
372
+ let scenarioCursor = 0;
373
+ const nextScenarioIndex = () => {
374
+ if (scenarioCursor >= normalizedScenarioRuns)
375
+ return undefined;
376
+ const current = scenarioCursor;
377
+ scenarioCursor += 1;
378
+ return current;
379
+ };
380
+ const scenarioWorkerCount = Math.max(1, Math.min(normalizedScenarioRuns, normalizedConcurrency));
381
+ const scenarioWorkers = Array.from({ length: scenarioWorkerCount }, () => (async () => {
382
+ while (true) {
383
+ const scenarioIndex = nextScenarioIndex();
384
+ if (scenarioIndex === undefined)
385
+ return;
386
+ const requestStart = scenarioIndex * normalizedRepeats;
387
+ const requestEndExclusive = requestStart + normalizedRepeats;
388
+ try {
389
+ const startedRun = await deps.startWorkspaceScenarioRunForGraphql({
390
+ workspaceId: args.workspaceId,
391
+ scenarioDeckId: selectedScenarioDeckId,
392
+ });
393
+ const run = await awaitScenarioRunTerminal(startedRun);
394
+ if (run.status !== "completed") {
395
+ const scenarioError = run.error ??
396
+ `Scenario run ended with status ${run.status}`;
397
+ await queueBatchUpdate("scenario-run-failed", (current) => recomputeBatchState(current, current.requests.map((request, requestIndex) => requestIndex >= requestStart &&
398
+ requestIndex < requestEndExclusive
399
+ ? {
400
+ ...request,
401
+ scenarioRunId: run.id,
402
+ status: "error",
403
+ error: scenarioError,
404
+ }
405
+ : request), {
406
+ scenarioRunsFailed: current.scenarioRunsFailed + 1,
407
+ }));
408
+ continue;
409
+ }
410
+ await queueBatchUpdate("scenario-run-completed", (current) => recomputeBatchState(current, current.requests.map((request, requestIndex) => requestIndex >= requestStart &&
411
+ requestIndex < requestEndExclusive
412
+ ? {
413
+ ...request,
414
+ scenarioRunId: run.id,
415
+ }
416
+ : request), {
417
+ scenarioRunsCompleted: current.scenarioRunsCompleted + 1,
418
+ }));
419
+ const requestIndexes = Array.from({ length: normalizedRepeats }, (_value, repeatIndex) => requestStart + repeatIndex);
420
+ enqueueGradeRequestIndexes(requestIndexes);
421
+ }
422
+ catch (error) {
423
+ const scenarioError = error instanceof Error
424
+ ? error.message
425
+ : String(error);
426
+ await queueBatchUpdate("scenario-run-error", (current) => recomputeBatchState(current, current.requests.map((request, requestIndex) => requestIndex >= requestStart &&
427
+ requestIndex < requestEndExclusive
428
+ ? {
429
+ ...request,
430
+ status: "error",
431
+ error: scenarioError,
432
+ }
433
+ : request), {
434
+ scenarioRunsFailed: current.scenarioRunsFailed + 1,
435
+ }));
436
+ }
437
+ }
438
+ })());
439
+ await Promise.all(scenarioWorkers);
440
+ closeGradeQueue();
441
+ await Promise.all(gradeWorkers);
442
+ await updateQueue;
443
+ return batch;
444
+ };
445
+ return {
446
+ readWorkspaceVerifyBatchesForGraphql,
447
+ createWorkspaceVerifyBatchRunForGraphql,
448
+ };
449
+ };
@@ -1,8 +1,5 @@
1
1
  import * as dntShim from "../_dnt.shims.js";
2
2
  import type { ModelProvider } from "@bolt-foundry/gambit-core";
3
- /**
4
- * Start the WebSocket simulator server used by the Gambit debug UI.
5
- */
6
3
  export declare function startWebSocketSimulator(opts: {
7
4
  deckPath: string;
8
5
  modelProvider: ModelProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AA6E5C,OAAO,KAAK,EAMV,aAAa,EAOd,MAAM,2BAA2B,CAAC;AAipCnC;;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,CAosNxC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAM5C,OAAO,KAAK,EAEV,aAAa,EAEd,MAAM,2BAA2B,CAAC;AAuGnC,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,CAwsBxC"}