@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,381 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createWorkspaceBuildService = void 0;
4
+ const gambit_core_1 = require("@bolt-foundry/gambit-core");
5
+ const helpers_js_1 = require("./helpers.js");
6
+ const run_deck_js_1 = require("./run_deck.js");
7
+ const createWorkspaceBuildService = (deps) => {
8
+ const buildBotRuns = new Map();
9
+ const ensureWorkspaceStateForBuild = (workspaceId) => {
10
+ const state = deps.readSessionStateStrict(workspaceId, {
11
+ withTraces: true,
12
+ });
13
+ if (!state) {
14
+ throw new Error("Workspace not found");
15
+ }
16
+ return state;
17
+ };
18
+ const buildAuthorityMeta = (sessionState, workspaceId) => {
19
+ const sessionMeta = sessionState.meta && typeof sessionState.meta === "object"
20
+ ? sessionState.meta
21
+ : {};
22
+ const next = { workspaceId };
23
+ for (const key of [
24
+ "sessionId",
25
+ "sessionDir",
26
+ "sessionStatePath",
27
+ "sessionEventsPath",
28
+ "sessionBuildStatePath",
29
+ "sessionSqlitePath",
30
+ "workspaceSchemaVersion",
31
+ ]) {
32
+ const value = sessionMeta[key];
33
+ if (typeof value === "string" && value.trim().length > 0) {
34
+ next[key] = value;
35
+ }
36
+ }
37
+ return next;
38
+ };
39
+ const normalizeBuildAuthorityState = (args) => ({
40
+ ...args.state,
41
+ runId: args.runId,
42
+ meta: {
43
+ ...(args.state.meta ?? {}),
44
+ ...buildAuthorityMeta(args.sessionState, args.workspaceId),
45
+ },
46
+ });
47
+ const broadcastBuild = (workspaceId, payload) => {
48
+ const state = deps.readSessionState(workspaceId);
49
+ if (state) {
50
+ deps.appendWorkspaceEnvelope(state, "build", payload);
51
+ }
52
+ deps.appendDurableStreamEvent(deps.workspaceStreamId, payload);
53
+ };
54
+ const buildRunFromProjection = (workspaceId) => {
55
+ const projection = deps.readBuildState(workspaceId);
56
+ const run = projection?.run;
57
+ if (!run) {
58
+ return {
59
+ id: workspaceId,
60
+ status: "idle",
61
+ messages: [],
62
+ traces: [],
63
+ toolInserts: [],
64
+ };
65
+ }
66
+ return {
67
+ id: run.id || workspaceId,
68
+ status: run.status,
69
+ error: run.error,
70
+ startedAt: run.startedAt,
71
+ finishedAt: run.finishedAt,
72
+ messages: Array.isArray(run.messages) ? run.messages : [],
73
+ traces: Array.isArray(run.traces) ? run.traces : [],
74
+ toolInserts: Array.isArray(run.toolInserts) ? run.toolInserts : [],
75
+ };
76
+ };
77
+ const readWorkspaceBuildRunForGraphql = (workspaceId) => {
78
+ const active = buildBotRuns.get(workspaceId)?.run;
79
+ if (active) {
80
+ return {
81
+ ...active,
82
+ messages: Array.isArray(active.messages) ? [...active.messages] : [],
83
+ traces: Array.isArray(active.traces) ? [...active.traces] : [],
84
+ toolInserts: Array.isArray(active.toolInserts)
85
+ ? [...active.toolInserts]
86
+ : [],
87
+ };
88
+ }
89
+ return buildRunFromProjection(workspaceId);
90
+ };
91
+ const startWorkspaceBuildRun = (args) => {
92
+ const workspaceId = args.workspaceId;
93
+ const active = buildBotRuns.get(workspaceId);
94
+ if (active?.run.status === "running") {
95
+ throw new Error("Build run already in progress for this workspace.");
96
+ }
97
+ const sessionState = ensureWorkspaceStateForBuild(workspaceId);
98
+ const projection = deps.readBuildState(workspaceId);
99
+ const seedRun = projection?.run;
100
+ const runId = seedRun?.id && seedRun.id.trim().length > 0
101
+ ? seedRun.id
102
+ : deps.randomId("build");
103
+ const seededMessages = (() => {
104
+ if (projection?.state?.messages && Array.isArray(projection.state.messages)) {
105
+ return projection.state.messages;
106
+ }
107
+ return Array.isArray(seedRun?.messages)
108
+ ? seedRun.messages.map((message) => {
109
+ const role = message.role === "assistant" || message.role === "system" ||
110
+ message.role === "tool"
111
+ ? message.role
112
+ : "user";
113
+ return {
114
+ role,
115
+ content: message.content,
116
+ };
117
+ })
118
+ : [];
119
+ })();
120
+ const seedState = normalizeBuildAuthorityState({
121
+ state: projection?.state && typeof projection.state === "object"
122
+ ? projection.state
123
+ : {
124
+ runId,
125
+ messages: seededMessages,
126
+ messageRefs: [],
127
+ traces: Array.isArray(seedRun?.traces) ? [...seedRun.traces] : [],
128
+ items: [],
129
+ meta: {},
130
+ },
131
+ workspaceId,
132
+ runId,
133
+ sessionState,
134
+ });
135
+ const trimmedMessage = args.message.trim();
136
+ const run = {
137
+ id: runId,
138
+ status: "running",
139
+ startedAt: new Date().toISOString(),
140
+ error: undefined,
141
+ finishedAt: undefined,
142
+ messages: Array.isArray(seedRun?.messages) ? [...seedRun.messages] : [],
143
+ traces: Array.isArray(seedRun?.traces) ? [...seedRun.traces] : [],
144
+ toolInserts: Array.isArray(seedRun?.toolInserts)
145
+ ? [...seedRun.toolInserts]
146
+ : [],
147
+ };
148
+ if (trimmedMessage.length > 0) {
149
+ run.messages = [
150
+ ...run.messages,
151
+ { role: "user", content: trimmedMessage, messageSource: "manual" },
152
+ ];
153
+ deps.persistCanonicalUserInputEvent({
154
+ state: sessionState,
155
+ runId,
156
+ message: trimmedMessage,
157
+ source: "build",
158
+ });
159
+ }
160
+ const controller = new AbortController();
161
+ const entry = {
162
+ run,
163
+ state: seedState,
164
+ promise: null,
165
+ abort: controller,
166
+ };
167
+ buildBotRuns.set(workspaceId, entry);
168
+ const onStateUpdate = (next) => {
169
+ const buildState = normalizeBuildAuthorityState({
170
+ state: next,
171
+ workspaceId,
172
+ runId,
173
+ sessionState,
174
+ });
175
+ deps.persistOpenResponsesTracesFromState(buildState, runId);
176
+ entry.state = buildState;
177
+ const snapshot = (0, helpers_js_1.buildTestBotSnapshot)(buildState);
178
+ run.messages = snapshot.messages;
179
+ run.toolInserts = snapshot.toolInserts;
180
+ const nextTraces = Array.isArray(buildState.traces)
181
+ ? [...buildState.traces]
182
+ : [];
183
+ if (nextTraces.length > 0) {
184
+ run.traces = nextTraces;
185
+ }
186
+ else if (!Array.isArray(run.traces)) {
187
+ run.traces = [];
188
+ }
189
+ broadcastBuild(workspaceId, {
190
+ type: "buildBotStatus",
191
+ workspaceId,
192
+ run,
193
+ state: buildState,
194
+ });
195
+ };
196
+ const tracer = (trace) => {
197
+ const event = trace.ts ? trace : { ...trace, ts: Date.now() };
198
+ const currentTraces = Array.isArray(run.traces) ? run.traces : [];
199
+ run.traces = [...currentTraces, event];
200
+ deps.persistOpenResponsesTraceEvent(entry.state, event, runId);
201
+ broadcastBuild(workspaceId, {
202
+ type: "buildBotTrace",
203
+ workspaceId,
204
+ runId,
205
+ event,
206
+ });
207
+ };
208
+ const turn = run.messages.filter((message) => message.role === "user")
209
+ .length;
210
+ let hasStartedAssistantStreamMessage = false;
211
+ entry.promise = (async () => {
212
+ try {
213
+ broadcastBuild(workspaceId, {
214
+ type: "buildBotStatus",
215
+ workspaceId,
216
+ run,
217
+ state: entry.state ?? undefined,
218
+ });
219
+ await (0, gambit_core_1.runDeck)({
220
+ path: deps.buildAssistantDeckPath,
221
+ input: deps.initialContext,
222
+ inputProvided: deps.hasInitialContext,
223
+ modelProvider: deps.modelProvider,
224
+ defaultModel: deps.model,
225
+ modelOverride: deps.modelForce ??
226
+ (!deps.model && args.buildChatProvider
227
+ ? `${args.buildChatProvider}/default`
228
+ : undefined),
229
+ trace: tracer,
230
+ stream: true,
231
+ runId,
232
+ state: entry.state ?? undefined,
233
+ allowRootStringInput: true,
234
+ initialUserMessage: trimmedMessage.length > 0 ? trimmedMessage : "",
235
+ responsesMode: deps.responsesMode,
236
+ workerSandbox: (0, run_deck_js_1.resolveWorkerSandboxForSignalAwareRun)({
237
+ workerSandbox: deps.workerSandbox,
238
+ signal: controller.signal,
239
+ }),
240
+ signal: controller.signal,
241
+ onStateUpdate,
242
+ onStreamText: (chunk) => {
243
+ if (typeof chunk === "string" && chunk.length > 0) {
244
+ if (!hasStartedAssistantStreamMessage) {
245
+ run.messages = [
246
+ ...run.messages,
247
+ {
248
+ role: "assistant",
249
+ content: chunk,
250
+ },
251
+ ];
252
+ hasStartedAssistantStreamMessage = true;
253
+ }
254
+ else {
255
+ const last = run.messages[run.messages.length - 1];
256
+ if (last?.role === "assistant") {
257
+ last.content += chunk;
258
+ }
259
+ else {
260
+ run.messages = [
261
+ ...run.messages,
262
+ {
263
+ role: "assistant",
264
+ content: chunk,
265
+ },
266
+ ];
267
+ }
268
+ }
269
+ }
270
+ broadcastBuild(workspaceId, {
271
+ type: "buildBotStream",
272
+ workspaceId,
273
+ runId,
274
+ role: "assistant",
275
+ chunk,
276
+ turn,
277
+ ts: Date.now(),
278
+ });
279
+ },
280
+ });
281
+ broadcastBuild(workspaceId, {
282
+ type: "buildBotStreamEnd",
283
+ workspaceId,
284
+ runId,
285
+ role: "assistant",
286
+ turn,
287
+ ts: Date.now(),
288
+ });
289
+ run.status = controller.signal.aborted ? "canceled" : "completed";
290
+ run.error = undefined;
291
+ }
292
+ catch (err) {
293
+ if (controller.signal.aborted || (0, gambit_core_1.isRunCanceledError)(err)) {
294
+ run.status = "canceled";
295
+ run.error = undefined;
296
+ }
297
+ else {
298
+ run.status = "error";
299
+ run.error = err instanceof Error ? err.message : String(err);
300
+ }
301
+ }
302
+ finally {
303
+ run.finishedAt = new Date().toISOString();
304
+ entry.abort = null;
305
+ entry.promise = null;
306
+ broadcastBuild(workspaceId, {
307
+ type: "buildBotStatus",
308
+ workspaceId,
309
+ run,
310
+ state: entry.state ?? undefined,
311
+ });
312
+ }
313
+ })();
314
+ return run;
315
+ };
316
+ const stopWorkspaceBuildRun = async (args) => {
317
+ const active = buildBotRuns.get(args.workspaceId);
318
+ if (!active || active.run.id !== args.runId) {
319
+ return buildRunFromProjection(args.workspaceId);
320
+ }
321
+ active.abort?.abort();
322
+ try {
323
+ await active.promise;
324
+ }
325
+ catch {
326
+ // Abort path can reject internally; projection is still authoritative.
327
+ }
328
+ return buildRunFromProjection(args.workspaceId);
329
+ };
330
+ const resetWorkspaceBuild = async (workspaceId) => {
331
+ const active = buildBotRuns.get(workspaceId);
332
+ active?.abort?.abort();
333
+ try {
334
+ await active?.promise;
335
+ }
336
+ catch {
337
+ // Ignore aborted in-flight run.
338
+ }
339
+ const run = {
340
+ id: deps.randomId("build"),
341
+ status: "idle",
342
+ messages: [],
343
+ traces: [],
344
+ toolInserts: [],
345
+ };
346
+ const sessionState = ensureWorkspaceStateForBuild(workspaceId);
347
+ const reset = normalizeBuildAuthorityState({
348
+ state: {
349
+ runId: run.id,
350
+ messages: [],
351
+ messageRefs: [],
352
+ traces: [],
353
+ items: [],
354
+ },
355
+ workspaceId,
356
+ runId: run.id,
357
+ sessionState,
358
+ });
359
+ deps.appendWorkspaceEnvelope(sessionState, "build", {
360
+ type: "buildBotStatus",
361
+ workspaceId,
362
+ run,
363
+ state: reset,
364
+ });
365
+ deps.appendDurableStreamEvent(deps.workspaceStreamId, {
366
+ type: "buildBotStatus",
367
+ workspaceId,
368
+ run,
369
+ });
370
+ return buildRunFromProjection(workspaceId);
371
+ };
372
+ return {
373
+ startWorkspaceBuildRun,
374
+ stopWorkspaceBuildRun,
375
+ resetWorkspaceBuild,
376
+ readWorkspaceBuildRunForGraphql,
377
+ buildRunFromProjection,
378
+ getLiveBuildRunEntry: (workspaceId) => buildBotRuns.get(workspaceId),
379
+ };
380
+ };
381
+ exports.createWorkspaceBuildService = createWorkspaceBuildService;
@@ -0,0 +1,83 @@
1
+ import type { BuildBotRunStatus, TestBotRunStatus, WorkspaceConversationSessionKindForGraphql, WorkspaceConversationSessionRecordForGraphql, WorkspaceGradeRunForGraphql, WorkspaceVerifyBatchRecordForGraphql } from "./types.js";
2
+ export declare const createWorkspaceConversationSessionService: (deps: {
3
+ readWorkspaceBuildRunForGraphql: (workspaceId: string) => BuildBotRunStatus;
4
+ startWorkspaceBuildRun: (args: {
5
+ workspaceId: string;
6
+ message: string;
7
+ }) => BuildBotRunStatus;
8
+ stopWorkspaceBuildRun: (args: {
9
+ workspaceId: string;
10
+ runId: string;
11
+ }) => Promise<BuildBotRunStatus>;
12
+ startWorkspaceScenarioRunForGraphql: (args: {
13
+ workspaceId: string;
14
+ runId?: string;
15
+ scenarioDeckId?: string | null;
16
+ scenarioInput?: unknown;
17
+ assistantInit?: unknown;
18
+ }) => Promise<TestBotRunStatus>;
19
+ sendWorkspaceScenarioRunForGraphql: (args: {
20
+ workspaceId: string;
21
+ runId: string;
22
+ message: string;
23
+ }) => Promise<TestBotRunStatus>;
24
+ stopWorkspaceScenarioRunForGraphql: (args: {
25
+ workspaceId: string;
26
+ runId: string;
27
+ }) => Promise<TestBotRunStatus>;
28
+ readWorkspaceScenarioRunsForGraphql: (workspaceId: string) => Array<TestBotRunStatus>;
29
+ readWorkspaceGradeRunsForGraphql: (workspaceId: string) => Array<WorkspaceGradeRunForGraphql>;
30
+ createWorkspaceGradeRunForGraphql: (args: {
31
+ workspaceId: string;
32
+ graderId: string;
33
+ scenarioRunId?: string | null;
34
+ }) => Promise<WorkspaceGradeRunForGraphql>;
35
+ readWorkspaceVerifyBatchesForGraphql: (workspaceId: string) => Array<WorkspaceVerifyBatchRecordForGraphql>;
36
+ createWorkspaceVerifyBatchRunForGraphql: (args: {
37
+ workspaceId: string;
38
+ scenarioDeckId?: string | null;
39
+ graderId: string;
40
+ scenarioRuns: number;
41
+ graderRepeatsPerScenario: number;
42
+ concurrency: number;
43
+ }) => Promise<WorkspaceVerifyBatchRecordForGraphql>;
44
+ defaultVerifyScenarioRuns: number;
45
+ defaultVerifyGraderRepeats: number;
46
+ defaultVerifyConcurrency: number;
47
+ }) => {
48
+ listWorkspaceConversationSessionsForGraphql: (args: {
49
+ workspaceId: string;
50
+ kind?: WorkspaceConversationSessionKindForGraphql | null;
51
+ }) => Promise<Array<WorkspaceConversationSessionRecordForGraphql>>;
52
+ readWorkspaceConversationSessionForGraphql: (args: {
53
+ workspaceId: string;
54
+ kind: WorkspaceConversationSessionKindForGraphql;
55
+ sessionId: string;
56
+ }) => Promise<WorkspaceConversationSessionRecordForGraphql | null>;
57
+ startWorkspaceConversationSessionForGraphql: (args: {
58
+ workspaceId: string;
59
+ kind: WorkspaceConversationSessionKindForGraphql;
60
+ sessionId?: string | null;
61
+ message?: string | null;
62
+ scenarioDeckId?: string | null;
63
+ scenarioInput?: unknown;
64
+ assistantInit?: unknown;
65
+ graderId?: string | null;
66
+ scenarioRunId?: string | null;
67
+ scenarioRuns?: number | null;
68
+ graderRepeatsPerScenario?: number | null;
69
+ concurrency?: number | null;
70
+ }) => Promise<WorkspaceConversationSessionRecordForGraphql>;
71
+ sendWorkspaceConversationSessionForGraphql: (args: {
72
+ workspaceId: string;
73
+ kind: WorkspaceConversationSessionKindForGraphql;
74
+ sessionId: string;
75
+ message: string;
76
+ }) => Promise<WorkspaceConversationSessionRecordForGraphql>;
77
+ stopWorkspaceConversationSessionForGraphql: (args: {
78
+ workspaceId: string;
79
+ kind: WorkspaceConversationSessionKindForGraphql;
80
+ sessionId: string;
81
+ }) => Promise<WorkspaceConversationSessionRecordForGraphql>;
82
+ };
83
+ //# sourceMappingURL=conversation_sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation_sessions.d.ts","sourceRoot":"","sources":["../../../../src/src/server/workspace/conversation_sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,0CAA0C,EAC1C,4CAA4C,EAC5C,2BAA2B,EAC3B,oCAAoC,EACrC,MAAM,YAAY,CAAC;AAyDpB,eAAO,MAAM,yCAAyC,GAAI,MAAM;IAC9D,+BAA+B,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,iBAAiB,CAAC;IAC5E,sBAAsB,EAAE,CAAC,IAAI,EAAE;QAC7B,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,KAAK,iBAAiB,CAAC;IACxB,qBAAqB,EAAE,CAAC,IAAI,EAAE;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjC,mCAAmC,EAAE,CAAC,IAAI,EAAE;QAC1C,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChC,kCAAkC,EAAE,CAAC,IAAI,EAAE;QACzC,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChC,kCAAkC,EAAE,CAAC,IAAI,EAAE;QACzC,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChC,mCAAmC,EAAE,CACnC,WAAW,EAAE,MAAM,KAChB,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC7B,gCAAgC,EAAE,CAChC,WAAW,EAAE,MAAM,KAChB,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACxC,iCAAiC,EAAE,CAAC,IAAI,EAAE;QACxC,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC3C,oCAAoC,EAAE,CACpC,WAAW,EAAE,MAAM,KAChB,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACjD,uCAAuC,EAAE,CAAC,IAAI,EAAE;QAC9C,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,wBAAwB,EAAE,MAAM,CAAC;QACjC,WAAW,EAAE,MAAM,CAAC;KACrB,KAAK,OAAO,CAAC,oCAAoC,CAAC,CAAC;IACpD,yBAAyB,EAAE,MAAM,CAAC;IAClC,0BAA0B,EAAE,MAAM,CAAC;IACnC,wBAAwB,EAAE,MAAM,CAAC;CAClC;wDAC4D;QACzD,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,0CAA0C,GAAG,IAAI,CAAC;KAC1D,KAAG,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;uDA+CA;QAC9D,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,0CAA0C,CAAC;QACjD,SAAS,EAAE,MAAM,CAAC;KACnB,KAAG,OAAO,CAAC,4CAA4C,GAAG,IAAI,CAAC;wDASC;QAC/D,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,0CAA0C,CAAC;QACjD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,KAAG,OAAO,CAAC,4CAA4C,CAAC;uDAwCO;QAC9D,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,0CAA0C,CAAC;QACjD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,KAAG,OAAO,CAAC,4CAA4C,CAAC;uDAmBO;QAC9D,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,0CAA0C,CAAC;QACjD,SAAS,EAAE,MAAM,CAAC;KACnB,KAAG,OAAO,CAAC,4CAA4C,CAAC;CA6B1D,CAAC"}
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createWorkspaceConversationSessionService = void 0;
4
+ const toBuildConversationSessionForGraphql = (workspaceId, run) => ({
5
+ sessionId: run.id,
6
+ workspaceId,
7
+ kind: "build",
8
+ status: run.status,
9
+ error: run.error,
10
+ startedAt: run.startedAt,
11
+ finishedAt: run.finishedAt,
12
+ buildRun: run,
13
+ });
14
+ const toScenarioConversationSessionForGraphql = (workspaceId, run) => ({
15
+ sessionId: run.id,
16
+ workspaceId,
17
+ kind: "scenario",
18
+ status: run.status,
19
+ error: run.error,
20
+ startedAt: run.startedAt,
21
+ finishedAt: run.finishedAt,
22
+ scenarioRun: run,
23
+ });
24
+ const toGraderConversationSessionForGraphql = (workspaceId, run) => ({
25
+ sessionId: run.id,
26
+ workspaceId,
27
+ kind: "grader",
28
+ status: run.status,
29
+ error: run.error,
30
+ startedAt: run.runAt,
31
+ finishedAt: run.runAt,
32
+ gradeRun: run,
33
+ });
34
+ const toVerifyConversationSessionForGraphql = (workspaceId, batch) => ({
35
+ sessionId: batch.id,
36
+ workspaceId,
37
+ kind: "verify",
38
+ status: batch.status,
39
+ startedAt: batch.startedAt,
40
+ finishedAt: batch.finishedAt,
41
+ verifyBatch: batch,
42
+ });
43
+ const createWorkspaceConversationSessionService = (deps) => {
44
+ const listWorkspaceConversationSessionsForGraphql = (args) => {
45
+ const sessions = [];
46
+ if (!args.kind || args.kind === "build") {
47
+ sessions.push(toBuildConversationSessionForGraphql(args.workspaceId, deps.readWorkspaceBuildRunForGraphql(args.workspaceId)));
48
+ }
49
+ if (!args.kind || args.kind === "scenario") {
50
+ for (const run of deps.readWorkspaceScenarioRunsForGraphql(args.workspaceId)) {
51
+ sessions.push(toScenarioConversationSessionForGraphql(args.workspaceId, run));
52
+ }
53
+ }
54
+ if (!args.kind || args.kind === "grader") {
55
+ for (const run of deps.readWorkspaceGradeRunsForGraphql(args.workspaceId)) {
56
+ sessions.push(toGraderConversationSessionForGraphql(args.workspaceId, run));
57
+ }
58
+ }
59
+ if (!args.kind || args.kind === "verify") {
60
+ for (const batch of deps.readWorkspaceVerifyBatchesForGraphql(args.workspaceId)) {
61
+ sessions.push(toVerifyConversationSessionForGraphql(args.workspaceId, batch));
62
+ }
63
+ }
64
+ sessions.sort((left, right) => {
65
+ const leftKey = left.finishedAt ?? left.startedAt ?? left.sessionId;
66
+ const rightKey = right.finishedAt ?? right.startedAt ?? right.sessionId;
67
+ return rightKey.localeCompare(leftKey);
68
+ });
69
+ return Promise.resolve(sessions);
70
+ };
71
+ const readWorkspaceConversationSessionForGraphql = async (args) => {
72
+ const sessions = await listWorkspaceConversationSessionsForGraphql({
73
+ workspaceId: args.workspaceId,
74
+ kind: args.kind,
75
+ });
76
+ return sessions.find((session) => session.sessionId === args.sessionId) ??
77
+ null;
78
+ };
79
+ const startWorkspaceConversationSessionForGraphql = async (args) => {
80
+ if (args.kind === "build") {
81
+ const run = await deps.startWorkspaceBuildRun({
82
+ workspaceId: args.workspaceId,
83
+ message: args.message ?? "",
84
+ });
85
+ return toBuildConversationSessionForGraphql(args.workspaceId, run);
86
+ }
87
+ if (args.kind === "scenario") {
88
+ const run = await deps.startWorkspaceScenarioRunForGraphql({
89
+ workspaceId: args.workspaceId,
90
+ runId: args.sessionId ?? undefined,
91
+ scenarioDeckId: args.scenarioDeckId ?? null,
92
+ scenarioInput: args.scenarioInput,
93
+ assistantInit: args.assistantInit,
94
+ });
95
+ return toScenarioConversationSessionForGraphql(args.workspaceId, run);
96
+ }
97
+ if (args.kind === "grader") {
98
+ if (!args.graderId)
99
+ throw new Error("graderId is required");
100
+ const run = await deps.createWorkspaceGradeRunForGraphql({
101
+ workspaceId: args.workspaceId,
102
+ graderId: args.graderId,
103
+ scenarioRunId: args.scenarioRunId ?? null,
104
+ });
105
+ return toGraderConversationSessionForGraphql(args.workspaceId, run);
106
+ }
107
+ if (!args.graderId)
108
+ throw new Error("graderId is required");
109
+ const batch = await deps.createWorkspaceVerifyBatchRunForGraphql({
110
+ workspaceId: args.workspaceId,
111
+ scenarioDeckId: args.scenarioDeckId ?? null,
112
+ graderId: args.graderId,
113
+ scenarioRuns: args.scenarioRuns ?? deps.defaultVerifyScenarioRuns,
114
+ graderRepeatsPerScenario: args.graderRepeatsPerScenario ??
115
+ deps.defaultVerifyGraderRepeats,
116
+ concurrency: args.concurrency ?? deps.defaultVerifyConcurrency,
117
+ });
118
+ return toVerifyConversationSessionForGraphql(args.workspaceId, batch);
119
+ };
120
+ const sendWorkspaceConversationSessionForGraphql = async (args) => {
121
+ if (args.kind === "build") {
122
+ const run = await deps.startWorkspaceBuildRun({
123
+ workspaceId: args.workspaceId,
124
+ message: args.message,
125
+ });
126
+ return toBuildConversationSessionForGraphql(args.workspaceId, run);
127
+ }
128
+ if (args.kind !== "scenario") {
129
+ throw new Error(`Send is unavailable for ${args.kind} sessions`);
130
+ }
131
+ const run = await deps.sendWorkspaceScenarioRunForGraphql({
132
+ workspaceId: args.workspaceId,
133
+ runId: args.sessionId,
134
+ message: args.message,
135
+ });
136
+ return toScenarioConversationSessionForGraphql(args.workspaceId, run);
137
+ };
138
+ const stopWorkspaceConversationSessionForGraphql = async (args) => {
139
+ if (args.kind === "build") {
140
+ const run = await deps.stopWorkspaceBuildRun({
141
+ workspaceId: args.workspaceId,
142
+ runId: args.sessionId,
143
+ });
144
+ return toBuildConversationSessionForGraphql(args.workspaceId, run);
145
+ }
146
+ if (args.kind !== "scenario") {
147
+ const existing = await readWorkspaceConversationSessionForGraphql(args);
148
+ if (!existing) {
149
+ throw new Error(`Conversation session ${args.sessionId} not found`);
150
+ }
151
+ return existing;
152
+ }
153
+ const run = await deps.stopWorkspaceScenarioRunForGraphql({
154
+ workspaceId: args.workspaceId,
155
+ runId: args.sessionId,
156
+ });
157
+ return toScenarioConversationSessionForGraphql(args.workspaceId, run);
158
+ };
159
+ return {
160
+ listWorkspaceConversationSessionsForGraphql,
161
+ readWorkspaceConversationSessionForGraphql,
162
+ startWorkspaceConversationSessionForGraphql,
163
+ sendWorkspaceConversationSessionForGraphql,
164
+ stopWorkspaceConversationSessionForGraphql,
165
+ };
166
+ };
167
+ exports.createWorkspaceConversationSessionService = createWorkspaceConversationSessionService;
@@ -0,0 +1,52 @@
1
+ import type { ModelProvider, SavedState } from "@bolt-foundry/gambit-core";
2
+ import type { GradingFlag, WorkspaceDeckState } from "../../server_types.js";
3
+ import type { WorkspaceGradeRunForGraphql } from "./types.js";
4
+ export declare const createWorkspaceGradingService: (deps: {
5
+ randomId: (prefix: string) => string;
6
+ modelProvider: ModelProvider;
7
+ responsesMode?: boolean;
8
+ workerSandbox?: boolean;
9
+ appendDurableStreamEvent: (streamId: string, payload: unknown) => void;
10
+ workspaceStreamId: string;
11
+ activateWorkspaceDeck: (workspaceId?: string | null, options?: {
12
+ forceReload?: boolean;
13
+ source?: string;
14
+ reloadAttemptId?: string;
15
+ }) => Promise<void>;
16
+ readWorkspaceDeckStateStrict: (workspaceId: string) => WorkspaceDeckState;
17
+ resolveGraderDeckFromState: (deckState: WorkspaceDeckState, graderId: string) => WorkspaceDeckState["graderDecks"][number] | undefined;
18
+ readSessionState: (workspaceId: string) => SavedState | undefined;
19
+ readSessionStateStrict: (workspaceId: string, options?: {
20
+ withTraces?: boolean;
21
+ }) => SavedState | undefined;
22
+ persistSessionState: (state: SavedState) => SavedState;
23
+ appendGradingLog: (state: SavedState, payload: Record<string, unknown>) => void;
24
+ readWorkspaceScenarioRunsForGraphql: (workspaceId: string) => Array<{
25
+ id: string;
26
+ messages: Array<{
27
+ role: string;
28
+ content: string;
29
+ messageRefId?: string;
30
+ }>;
31
+ }>;
32
+ }) => {
33
+ readWorkspaceGradeRunsForGraphql: (workspaceId: string) => Array<WorkspaceGradeRunForGraphql>;
34
+ readWorkspaceGradingFlagsForGraphql: (workspaceId: string) => Array<GradingFlag>;
35
+ createWorkspaceGradeRunForGraphql: (args: {
36
+ workspaceId: string;
37
+ graderId: string;
38
+ scenarioRunId?: string | null;
39
+ }) => Promise<WorkspaceGradeRunForGraphql>;
40
+ toggleWorkspaceGradeFlagForGraphql: (args: {
41
+ workspaceId: string;
42
+ refId: string;
43
+ runId: string;
44
+ turnIndex?: number | null;
45
+ }) => Promise<Array<GradingFlag>>;
46
+ updateWorkspaceGradeFlagReasonForGraphql: (args: {
47
+ workspaceId: string;
48
+ refId: string;
49
+ reason: string;
50
+ }) => Promise<Array<GradingFlag>>;
51
+ };
52
+ //# sourceMappingURL=grading.d.ts.map