@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 @@
1
+ {"version":3,"file":"grading.d.ts","sourceRoot":"","sources":["../../../../src/src/server/workspace/grading.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,KAAK,EACV,WAAW,EAEX,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAQ9D,eAAO,MAAM,6BAA6B,GAAI,MAAM;IAClD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wBAAwB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,CACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,EAC3B,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,KACE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,4BAA4B,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,kBAAkB,CAAC;IAC1E,0BAA0B,EAAE,CAC1B,SAAS,EAAE,kBAAkB,EAC7B,QAAQ,EAAE,MAAM,KACb,kBAAkB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAC3D,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,CAAC;IAClE,sBAAsB,EAAE,CACtB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAC/B,UAAU,GAAG,SAAS,CAAC;IAC5B,mBAAmB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,UAAU,CAAC;IACvD,gBAAgB,EAAE,CAChB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,IAAI,CAAC;IACV,mCAAmC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,KAAK,CAAC;QAClE,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,KAAK,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,YAAY,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ;oDA2QgB,MAAM,KAClB,KAAK,CAAC,2BAA2B,CAAC;uDATtB,MAAM,KAClB,KAAK,CAAC,WAAW,CAAC;8CA2BkC;QACrD,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,KAAG,OAAO,CAAC,2BAA2B,CAAC;+CAmKU;QAChD,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,KAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;qDA0CyB;QACtD,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,KAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;CA2ChC,CAAC"}
@@ -0,0 +1,492 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createWorkspaceGradingService = 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 createWorkspaceGradingService = (deps) => {
8
+ const readGradingRunsFromState = (state) => {
9
+ const meta = state.meta && typeof state.meta === "object"
10
+ ? state.meta
11
+ : {};
12
+ const fromGradingRuns = Array.isArray(meta.gradingRuns)
13
+ ? meta.gradingRuns
14
+ : null;
15
+ const fromCalibrationRuns = Array.isArray(meta.calibrationRuns)
16
+ ? meta.calibrationRuns
17
+ : null;
18
+ const raw = fromGradingRuns ?? fromCalibrationRuns ?? [];
19
+ return raw.flatMap((entry) => {
20
+ if (!entry || typeof entry !== "object")
21
+ return [];
22
+ const run = entry;
23
+ const id = typeof run.id === "string" && run.id.trim().length > 0
24
+ ? run.id
25
+ : deps.randomId("grade");
26
+ if (typeof run.graderId !== "string" || typeof run.graderPath !== "string") {
27
+ return [];
28
+ }
29
+ return [{
30
+ ...run,
31
+ id,
32
+ }];
33
+ });
34
+ };
35
+ const upsertGradingRunInState = (state, nextRun) => {
36
+ const runs = readGradingRunsFromState(state);
37
+ const index = runs.findIndex((entry) => entry.id === nextRun.id);
38
+ const nextRuns = [...runs];
39
+ if (index >= 0) {
40
+ nextRuns[index] = nextRun;
41
+ }
42
+ else {
43
+ nextRuns.unshift(nextRun);
44
+ }
45
+ const currentMeta = state.meta && typeof state.meta === "object"
46
+ ? state.meta
47
+ : {};
48
+ const nextMeta = {
49
+ ...currentMeta,
50
+ gradingRuns: nextRuns,
51
+ };
52
+ delete nextMeta.calibrationRuns;
53
+ return { ...state, meta: nextMeta };
54
+ };
55
+ const readGradingFlagsFromState = (state) => {
56
+ const meta = state.meta && typeof state.meta === "object"
57
+ ? state.meta
58
+ : {};
59
+ if (!Array.isArray(meta.gradingFlags))
60
+ return [];
61
+ return meta.gradingFlags.flatMap((entry) => {
62
+ if (!entry || typeof entry !== "object")
63
+ return [];
64
+ const flag = entry;
65
+ if (typeof flag.refId !== "string" || flag.refId.trim().length === 0) {
66
+ return [];
67
+ }
68
+ return [{
69
+ id: typeof flag.id === "string" && flag.id.trim().length > 0
70
+ ? flag.id
71
+ : deps.randomId("gflag"),
72
+ refId: flag.refId.trim(),
73
+ runId: typeof flag.runId === "string" ? flag.runId : undefined,
74
+ turnIndex: typeof flag.turnIndex === "number"
75
+ ? flag.turnIndex
76
+ : undefined,
77
+ reason: typeof flag.reason === "string" ? flag.reason : undefined,
78
+ createdAt: typeof flag.createdAt === "string" && flag.createdAt
79
+ ? flag.createdAt
80
+ : new Date().toISOString(),
81
+ }];
82
+ });
83
+ };
84
+ const writeGradingFlagsToState = (state, flags) => {
85
+ const currentMeta = state.meta && typeof state.meta === "object"
86
+ ? state.meta
87
+ : {};
88
+ return {
89
+ ...state,
90
+ meta: {
91
+ ...currentMeta,
92
+ gradingFlags: flags,
93
+ },
94
+ };
95
+ };
96
+ const extractGradeScoreAndReason = (value) => {
97
+ if (!value || typeof value !== "object")
98
+ return {};
99
+ const record = value;
100
+ const payload = record.payload && typeof record.payload === "object"
101
+ ? record.payload
102
+ : record;
103
+ const score = typeof payload.score === "number" ? payload.score : undefined;
104
+ const reason = typeof payload.reason === "string"
105
+ ? payload.reason
106
+ : undefined;
107
+ return { score, reason };
108
+ };
109
+ const extractGradeTurnContext = (value) => {
110
+ if (!value || typeof value !== "object")
111
+ return {};
112
+ const input = value;
113
+ const messageToGrade = input.messageToGrade;
114
+ const gradedAssistant = messageToGrade && typeof messageToGrade === "object"
115
+ ? typeof messageToGrade.content === "string"
116
+ ? messageToGrade.content
117
+ : undefined
118
+ : undefined;
119
+ const session = input.session;
120
+ const messages = session && typeof session === "object" &&
121
+ Array.isArray(session.messages)
122
+ ? session
123
+ .messages
124
+ : [];
125
+ let priorUser;
126
+ for (let index = messages.length - 1; index >= 0; index -= 1) {
127
+ const message = messages[index];
128
+ if (message?.role !== "user")
129
+ continue;
130
+ if (typeof message.content === "string" && message.content.trim()) {
131
+ priorUser = message.content;
132
+ break;
133
+ }
134
+ }
135
+ return { priorUser, gradedAssistant };
136
+ };
137
+ const deriveScenarioRunIdFromGradingRun = (run) => {
138
+ if (typeof run.scenarioRunId === "string" && run.scenarioRunId.trim()) {
139
+ return run.scenarioRunId.trim();
140
+ }
141
+ if (!run.input || typeof run.input !== "object")
142
+ return undefined;
143
+ const input = run.input;
144
+ const session = input.session;
145
+ if (!session || typeof session !== "object")
146
+ return undefined;
147
+ const meta = session.meta;
148
+ if (!meta || typeof meta !== "object")
149
+ return undefined;
150
+ const scenarioRunId = meta.scenarioRunId;
151
+ return typeof scenarioRunId === "string" && scenarioRunId.trim().length > 0
152
+ ? scenarioRunId
153
+ : undefined;
154
+ };
155
+ const toWorkspaceGradeRunForGraphql = (run, flags) => {
156
+ const flagByRef = new Map(flags.map((entry) => [entry.refId, entry]));
157
+ const result = run.result && typeof run.result === "object"
158
+ ? run.result
159
+ : null;
160
+ const turns = result && result.mode === "turns" && Array.isArray(result.turns)
161
+ ? result.turns
162
+ : [];
163
+ const totalTurns = typeof result?.totalTurns === "number" &&
164
+ Number.isFinite(result.totalTurns)
165
+ ? result.totalTurns
166
+ : turns.length;
167
+ const normalizedTurns = turns.map((turn, index) => {
168
+ const turnIndex = typeof turn.index === "number" && Number.isFinite(turn.index)
169
+ ? turn.index
170
+ : index;
171
+ const turnNumber = totalTurns > 0
172
+ ? Math.min(totalTurns, index + 1)
173
+ : index + 1;
174
+ const turnInput = turn.input;
175
+ const turnResult = turn.result;
176
+ const { score, reason } = extractGradeScoreAndReason(turnResult);
177
+ const context = extractGradeTurnContext(turnInput);
178
+ const messageToGrade = turnInput && typeof turnInput === "object"
179
+ ? turnInput.messageToGrade
180
+ : undefined;
181
+ const messageRefId = messageToGrade && typeof messageToGrade === "object" &&
182
+ typeof messageToGrade.messageRefId ===
183
+ "string"
184
+ ? messageToGrade.messageRefId
185
+ : undefined;
186
+ const fallbackRefId = `gradingRun:${run.id}#turn:${turnIndex}`;
187
+ const refId = messageRefId ?? fallbackRefId;
188
+ const turnFlag = flagByRef.get(refId);
189
+ return {
190
+ id: `${run.id}:turn:${turnIndex}`,
191
+ runId: run.id,
192
+ turnIndex,
193
+ turnNumber,
194
+ refId,
195
+ score,
196
+ reason,
197
+ priorUser: context.priorUser,
198
+ gradedAssistant: context.gradedAssistant,
199
+ flagReason: turnFlag?.reason,
200
+ };
201
+ });
202
+ const summaryFromResult = extractGradeScoreAndReason(run.result);
203
+ const scenarioRunId = deriveScenarioRunIdFromGradingRun(run);
204
+ return {
205
+ id: run.id,
206
+ workspaceId: run.workspaceId ?? "",
207
+ scenarioRunId,
208
+ graderId: run.graderId,
209
+ graderPath: run.graderPath,
210
+ graderLabel: run.graderLabel,
211
+ status: run.status,
212
+ runAt: run.runAt,
213
+ error: run.error,
214
+ summary: summaryFromResult.score !== undefined ||
215
+ summaryFromResult.reason !== undefined
216
+ ? summaryFromResult
217
+ : undefined,
218
+ turns: normalizedTurns.map((turn) => ({
219
+ id: turn.id,
220
+ runId: turn.runId,
221
+ turnIndex: turn.turnIndex,
222
+ turnNumber: turn.turnNumber,
223
+ refId: turn.refId,
224
+ score: turn.score,
225
+ reason: turn.reason,
226
+ priorUser: turn.priorUser,
227
+ gradedAssistant: turn.gradedAssistant,
228
+ })),
229
+ };
230
+ };
231
+ const emitGradeWorkspaceEvent = (workspaceId, payload) => {
232
+ deps.appendDurableStreamEvent(deps.workspaceStreamId, {
233
+ ...payload,
234
+ workspaceId,
235
+ });
236
+ };
237
+ const readWorkspaceGradingFlagsForGraphql = (workspaceId) => {
238
+ const state = deps.readSessionState(workspaceId);
239
+ if (!state)
240
+ return [];
241
+ return readGradingFlagsFromState(state);
242
+ };
243
+ const readWorkspaceGradeRunsForGraphql = (workspaceId) => {
244
+ const state = deps.readSessionState(workspaceId);
245
+ if (!state)
246
+ return [];
247
+ const runs = readGradingRunsFromState(state).map((entry) => ({
248
+ ...entry,
249
+ workspaceId,
250
+ }));
251
+ const flags = readGradingFlagsFromState(state);
252
+ const projected = runs.map((run) => toWorkspaceGradeRunForGraphql(run, flags));
253
+ projected.sort((a, b) => {
254
+ const left = a.runAt ?? a.id;
255
+ const right = b.runAt ?? b.id;
256
+ return right.localeCompare(left);
257
+ });
258
+ return projected;
259
+ };
260
+ const createWorkspaceGradeRunForGraphql = async (args) => {
261
+ await deps.activateWorkspaceDeck(args.workspaceId, {
262
+ source: "graphql:createWorkspaceGradeRun",
263
+ });
264
+ const deckState = deps.readWorkspaceDeckStateStrict(args.workspaceId);
265
+ const grader = deps.resolveGraderDeckFromState(deckState, args.graderId);
266
+ if (!grader) {
267
+ throw new Error(`Unknown grader deck: ${args.graderId}`);
268
+ }
269
+ const state = deps.readSessionStateStrict(args.workspaceId, {
270
+ withTraces: true,
271
+ });
272
+ if (!state) {
273
+ throw new Error(`Workspace ${args.workspaceId} not found`);
274
+ }
275
+ const explicitScenarioRunId = typeof args.scenarioRunId === "string" &&
276
+ args.scenarioRunId.trim().length > 0
277
+ ? args.scenarioRunId.trim()
278
+ : null;
279
+ const runFromState = state.meta && typeof state.meta.scenarioRunId === "string"
280
+ ? state.meta.scenarioRunId
281
+ : null;
282
+ const selectedScenarioRunId = explicitScenarioRunId ?? runFromState;
283
+ const scenarioRun = selectedScenarioRunId
284
+ ? deps.readWorkspaceScenarioRunsForGraphql(args.workspaceId).find((entry) => entry.id === selectedScenarioRunId)
285
+ : null;
286
+ if (selectedScenarioRunId && !scenarioRun) {
287
+ throw new Error(`Scenario run ${selectedScenarioRunId} not found`);
288
+ }
289
+ const artifacts = scenarioRun
290
+ ? (0, helpers_js_1.buildScenarioConversationArtifactsFromRun)(scenarioRun)
291
+ : (0, helpers_js_1.buildScenarioConversationArtifacts)(state);
292
+ const metaForGrading = (() => {
293
+ const baseMeta = state.meta && typeof state.meta === "object"
294
+ ? state.meta
295
+ : {};
296
+ const next = { ...baseMeta };
297
+ delete next.calibrationRuns;
298
+ delete next.gradingRuns;
299
+ return next;
300
+ })();
301
+ if (selectedScenarioRunId) {
302
+ metaForGrading.scenarioRunId = selectedScenarioRunId;
303
+ }
304
+ const sessionPayload = {
305
+ runId: state.runId,
306
+ messages: artifacts.messages,
307
+ messageRefs: state.messageRefs,
308
+ feedback: state.feedback,
309
+ notes: state.notes,
310
+ conversationScore: state.conversationScore,
311
+ traces: Array.isArray(state.traces) ? state.traces : [],
312
+ meta: metaForGrading,
313
+ };
314
+ const runId = deps.randomId("grade");
315
+ const runAt = new Date().toISOString();
316
+ const runningRun = {
317
+ id: runId,
318
+ workspaceId: args.workspaceId,
319
+ scenarioRunId: selectedScenarioRunId ?? undefined,
320
+ graderId: grader.id,
321
+ graderPath: grader.path,
322
+ graderLabel: grader.label,
323
+ status: "running",
324
+ runAt,
325
+ input: { session: sessionPayload },
326
+ };
327
+ let persistedState = deps.persistSessionState(upsertGradingRunInState(state, runningRun));
328
+ deps.appendGradingLog(persistedState, {
329
+ type: "gambit.grade.status",
330
+ workspaceId: args.workspaceId,
331
+ run: runningRun,
332
+ });
333
+ emitGradeWorkspaceEvent(args.workspaceId, {
334
+ type: "gambit.grade.status",
335
+ run: runningRun,
336
+ });
337
+ let completedRun = runningRun;
338
+ try {
339
+ const graderDeck = await (0, gambit_core_1.loadDeck)(grader.path);
340
+ const runMode = (0, helpers_js_1.gradeSchemaHasField)(graderDeck.inputSchema, "messageToGrade")
341
+ ? "turns"
342
+ : "conversation";
343
+ const result = runMode === "conversation"
344
+ ? await (0, run_deck_js_1.runDeckWithFallback)({
345
+ path: grader.path,
346
+ input: { session: sessionPayload },
347
+ inputProvided: true,
348
+ modelProvider: deps.modelProvider,
349
+ responsesMode: deps.responsesMode,
350
+ workerSandbox: deps.workerSandbox,
351
+ })
352
+ : {
353
+ mode: "turns",
354
+ totalTurns: artifacts.assistantTurns.length,
355
+ turns: await Promise.all(artifacts.assistantTurns.map(async (turn) => {
356
+ const messageToGrade = turn.message && typeof turn.message === "object"
357
+ ? {
358
+ ...turn.message,
359
+ messageRefId: turn.messageRefId,
360
+ }
361
+ : turn.message;
362
+ const input = {
363
+ session: sessionPayload,
364
+ messageToGrade,
365
+ };
366
+ const turnResult = await (0, run_deck_js_1.runDeckWithFallback)({
367
+ path: grader.path,
368
+ input,
369
+ inputProvided: true,
370
+ modelProvider: deps.modelProvider,
371
+ responsesMode: deps.responsesMode,
372
+ workerSandbox: deps.workerSandbox,
373
+ });
374
+ return {
375
+ index: turn.conversationIndex,
376
+ input,
377
+ result: turnResult,
378
+ };
379
+ })),
380
+ };
381
+ completedRun = {
382
+ ...runningRun,
383
+ status: "completed",
384
+ result,
385
+ error: undefined,
386
+ };
387
+ }
388
+ catch (error) {
389
+ completedRun = {
390
+ ...runningRun,
391
+ status: "error",
392
+ error: error instanceof Error ? error.message : String(error),
393
+ };
394
+ }
395
+ persistedState = deps.persistSessionState(upsertGradingRunInState(persistedState, completedRun));
396
+ deps.appendGradingLog(persistedState, {
397
+ type: "gambit.grade.status",
398
+ workspaceId: args.workspaceId,
399
+ run: completedRun,
400
+ });
401
+ emitGradeWorkspaceEvent(args.workspaceId, {
402
+ type: "gambit.grade.status",
403
+ run: completedRun,
404
+ });
405
+ const flags = readGradingFlagsFromState(persistedState);
406
+ return toWorkspaceGradeRunForGraphql(completedRun, flags);
407
+ };
408
+ const toggleWorkspaceGradeFlagForGraphql = (args) => {
409
+ const state = deps.readSessionStateStrict(args.workspaceId, {
410
+ withTraces: true,
411
+ });
412
+ if (!state)
413
+ throw new Error(`Workspace ${args.workspaceId} not found`);
414
+ const existing = readGradingFlagsFromState(state);
415
+ const refId = args.refId.trim();
416
+ if (!refId)
417
+ throw new Error("Missing grade flag refId");
418
+ const existingIndex = existing.findIndex((entry) => entry.refId === refId);
419
+ const nextFlags = [...existing];
420
+ if (existingIndex >= 0) {
421
+ nextFlags.splice(existingIndex, 1);
422
+ }
423
+ else {
424
+ nextFlags.push({
425
+ id: deps.randomId("gflag"),
426
+ refId,
427
+ runId: args.runId,
428
+ turnIndex: typeof args.turnIndex === "number"
429
+ ? args.turnIndex
430
+ : undefined,
431
+ createdAt: new Date().toISOString(),
432
+ });
433
+ }
434
+ const persistedState = deps.persistSessionState(writeGradingFlagsToState(state, nextFlags));
435
+ deps.appendGradingLog(persistedState, {
436
+ type: "gambit.grade.flag",
437
+ workspaceId: args.workspaceId,
438
+ action: existingIndex >= 0 ? "remove" : "add",
439
+ refId,
440
+ flags: nextFlags,
441
+ });
442
+ emitGradeWorkspaceEvent(args.workspaceId, {
443
+ type: "gambit.grade.flag",
444
+ action: existingIndex >= 0 ? "remove" : "add",
445
+ refId,
446
+ runId: args.runId,
447
+ });
448
+ return Promise.resolve(readGradingFlagsFromState(persistedState));
449
+ };
450
+ const updateWorkspaceGradeFlagReasonForGraphql = (args) => {
451
+ const state = deps.readSessionStateStrict(args.workspaceId, {
452
+ withTraces: true,
453
+ });
454
+ if (!state)
455
+ throw new Error(`Workspace ${args.workspaceId} not found`);
456
+ const existing = readGradingFlagsFromState(state);
457
+ const refId = args.refId.trim();
458
+ const index = existing.findIndex((entry) => entry.refId === refId);
459
+ if (index < 0) {
460
+ throw new Error(`Flag not found for refId: ${refId}`);
461
+ }
462
+ const nextFlags = [...existing];
463
+ nextFlags[index] = {
464
+ ...nextFlags[index],
465
+ reason: args.reason,
466
+ };
467
+ const persistedState = deps.persistSessionState(writeGradingFlagsToState(state, nextFlags));
468
+ deps.appendGradingLog(persistedState, {
469
+ type: "gambit.grade.flag",
470
+ workspaceId: args.workspaceId,
471
+ action: "reason",
472
+ refId,
473
+ reason: args.reason,
474
+ flags: nextFlags,
475
+ });
476
+ emitGradeWorkspaceEvent(args.workspaceId, {
477
+ type: "gambit.grade.flag",
478
+ action: "reason",
479
+ refId,
480
+ runId: nextFlags[index]?.runId,
481
+ });
482
+ return Promise.resolve(readGradingFlagsFromState(persistedState));
483
+ };
484
+ return {
485
+ readWorkspaceGradeRunsForGraphql,
486
+ readWorkspaceGradingFlagsForGraphql,
487
+ createWorkspaceGradeRunForGraphql,
488
+ toggleWorkspaceGradeFlagForGraphql,
489
+ updateWorkspaceGradeFlagReasonForGraphql,
490
+ };
491
+ };
492
+ exports.createWorkspaceGradingService = createWorkspaceGradingService;
@@ -0,0 +1,46 @@
1
+ import type { ModelMessage, SavedState } from "@bolt-foundry/gambit-core";
2
+ import type { ZodTypeAny } from "zod";
3
+ import type { TestBotRunStatus } from "./types.js";
4
+ export declare const GAMBIT_TOOL_RESPOND = "gambit_respond";
5
+ export type RespondSummary = {
6
+ status?: number;
7
+ code?: string;
8
+ message?: string;
9
+ meta?: Record<string, unknown>;
10
+ payload?: unknown;
11
+ displayText: string;
12
+ };
13
+ export declare const stringifyContent: (value: unknown) => string;
14
+ export declare const safeParseJson: (text: string | null | undefined) => unknown;
15
+ export declare const summarizeRespondCall: (message: ModelMessage | null | undefined) => RespondSummary | null;
16
+ export declare const deriveToolInsertsFromTraces: (state: SavedState, messageCount: number) => NonNullable<TestBotRunStatus["toolInserts"]>;
17
+ export declare const buildTestBotSnapshot: (state: SavedState) => {
18
+ messages: TestBotRunStatus["messages"];
19
+ toolInserts: NonNullable<TestBotRunStatus["toolInserts"]>;
20
+ };
21
+ export declare const buildScenarioConversationArtifacts: (state: SavedState) => {
22
+ messages: Array<ModelMessage>;
23
+ assistantTurns: Array<{
24
+ conversationIndex: number;
25
+ message: ModelMessage;
26
+ messageRefId?: string;
27
+ }>;
28
+ };
29
+ export declare const buildScenarioConversationArtifactsFromRun: (run: {
30
+ messages: Array<{
31
+ role: string;
32
+ content: string;
33
+ messageRefId?: string;
34
+ }>;
35
+ }) => {
36
+ messages: Array<ModelMessage>;
37
+ assistantTurns: Array<{
38
+ conversationIndex: number;
39
+ message: ModelMessage;
40
+ messageRefId?: string;
41
+ }>;
42
+ };
43
+ export declare const gradeSchemaHasField: (schema: ZodTypeAny | undefined, field: string) => boolean;
44
+ export declare const applyUserMessageRefSource: (previousState: SavedState | undefined, nextState: SavedState, source: "scenario" | "manual") => SavedState;
45
+ export declare const syncTestBotRunFromState: (run: TestBotRunStatus, state: SavedState) => void;
46
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/src/server/workspace/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EAEX,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpE,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,MAQjD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,OAO/D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,SAAS,YAAY,GAAG,IAAI,GAAG,SAAS,KACvC,cAAc,GAAG,IAoCnB,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,OAAO,UAAU,EACjB,cAAc,MAAM,KACnB,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAiC7C,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,UAAU,KAChB;IACD,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACvC,WAAW,EAAE,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;CAmG3D,CAAC;AAEF,eAAO,MAAM,kCAAkC,GAC7C,OAAO,UAAU,KAChB;IACD,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9B,cAAc,EAAE,KAAK,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,OAAO,EAAE,YAAY,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CAoDJ,CAAC;AAEF,eAAO,MAAM,yCAAyC,GACpD,KAAK;IACH,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CACJ,KACA;IACD,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9B,cAAc,EAAE,KAAK,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,OAAO,EAAE,YAAY,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CA4BJ,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,UAAU,GAAG,SAAS,EAC9B,OAAO,MAAM,KACZ,OAiCF,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,eAAe,UAAU,GAAG,SAAS,EACrC,WAAW,UAAU,EACrB,QAAQ,UAAU,GAAG,QAAQ,KAC5B,UAqBF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,KAAK,gBAAgB,EACrB,OAAO,UAAU,SAmBlB,CAAC"}