@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,340 @@
1
+ export const GAMBIT_TOOL_RESPOND = "gambit_respond";
2
+ export const stringifyContent = (value) => {
3
+ if (value === null || value === undefined)
4
+ return "";
5
+ if (typeof value === "string")
6
+ return value;
7
+ try {
8
+ return JSON.stringify(value);
9
+ }
10
+ catch {
11
+ return String(value);
12
+ }
13
+ };
14
+ export const safeParseJson = (text) => {
15
+ if (typeof text !== "string" || text.trim().length === 0)
16
+ return undefined;
17
+ try {
18
+ return JSON.parse(text);
19
+ }
20
+ catch {
21
+ return undefined;
22
+ }
23
+ };
24
+ export const summarizeRespondCall = (message) => {
25
+ if (!message || message.role !== "tool")
26
+ return null;
27
+ const name = typeof message.name === "string" ? message.name : undefined;
28
+ if (name !== GAMBIT_TOOL_RESPOND)
29
+ return null;
30
+ const parsed = safeParseJson(typeof message.content === "string" ? message.content : "");
31
+ const payload = parsed && typeof parsed === "object"
32
+ ? ("payload" in parsed ? parsed.payload : parsed)
33
+ : undefined;
34
+ const status = typeof parsed?.status === "number"
35
+ ? parsed.status
36
+ : undefined;
37
+ const code = typeof parsed?.code === "string"
38
+ ? parsed.code
39
+ : undefined;
40
+ const respondMessage = typeof parsed?.message === "string"
41
+ ? parsed.message
42
+ : undefined;
43
+ const meta = parsed && typeof parsed.meta === "object"
44
+ ? parsed.meta
45
+ : undefined;
46
+ const summary = {};
47
+ if (status !== undefined)
48
+ summary.status = status;
49
+ if (code !== undefined)
50
+ summary.code = code;
51
+ if (respondMessage !== undefined)
52
+ summary.message = respondMessage;
53
+ if (meta !== undefined)
54
+ summary.meta = meta;
55
+ summary.payload = payload ?? null;
56
+ return {
57
+ status,
58
+ code,
59
+ message: respondMessage,
60
+ meta,
61
+ payload,
62
+ displayText: JSON.stringify(summary, null, 2),
63
+ };
64
+ };
65
+ export const deriveToolInsertsFromTraces = (state, messageCount) => {
66
+ const traces = Array.isArray(state.traces) ? state.traces : [];
67
+ if (!traces.length)
68
+ return [];
69
+ const inserts = [];
70
+ let messageIndex = 0;
71
+ for (const trace of traces) {
72
+ if (!trace || typeof trace !== "object")
73
+ continue;
74
+ const traceRecord = trace;
75
+ const type = typeof traceRecord.type === "string" ? traceRecord.type : "";
76
+ if (type === "message.user" || type === "model.result") {
77
+ messageIndex++;
78
+ continue;
79
+ }
80
+ if (type === "tool.call") {
81
+ const actionCallId = typeof traceRecord.actionCallId === "string"
82
+ ? traceRecord.actionCallId
83
+ : undefined;
84
+ const parentActionCallId = typeof traceRecord.parentActionCallId === "string"
85
+ ? traceRecord.parentActionCallId
86
+ : undefined;
87
+ const name = typeof traceRecord.name === "string"
88
+ ? traceRecord.name
89
+ : undefined;
90
+ inserts.push({
91
+ actionCallId,
92
+ parentActionCallId,
93
+ name,
94
+ index: Math.min(messageIndex, messageCount),
95
+ });
96
+ }
97
+ }
98
+ return inserts;
99
+ };
100
+ export const buildTestBotSnapshot = (state) => {
101
+ const rawMessages = state.messages ?? [];
102
+ const refs = state.messageRefs ?? [];
103
+ const feedbackByRef = new Map(state.feedback?.map((entry) => [entry.messageRefId, entry]) ?? []);
104
+ const messages = [];
105
+ const fallbackToolInserts = [];
106
+ const meta = state.meta && typeof state.meta === "object"
107
+ ? state.meta
108
+ : {};
109
+ const scope = typeof meta.scenarioRunMode === "string"
110
+ ? meta.scenarioRunMode
111
+ : undefined;
112
+ let effectiveStartIndex = 0;
113
+ if (scope === "scenario" && rawMessages.length > 0) {
114
+ const firstScenarioUserIndex = refs.findIndex((ref) => ref?.source === "scenario");
115
+ if (firstScenarioUserIndex > 0) {
116
+ effectiveStartIndex = firstScenarioUserIndex;
117
+ while (effectiveStartIndex > 0) {
118
+ const priorIndex = effectiveStartIndex - 1;
119
+ const priorMessage = rawMessages[priorIndex];
120
+ const priorSource = refs[priorIndex]?.source;
121
+ if (priorMessage?.role === "assistant" &&
122
+ (priorSource === "scenario" || priorSource === "manual")) {
123
+ effectiveStartIndex = priorIndex;
124
+ continue;
125
+ }
126
+ break;
127
+ }
128
+ }
129
+ }
130
+ for (let i = effectiveStartIndex; i < rawMessages.length; i++) {
131
+ const msg = rawMessages[i];
132
+ const refId = refs[i]?.id;
133
+ if (msg?.role === "assistant" || msg?.role === "user") {
134
+ const content = stringifyContent(msg.content).trim();
135
+ if (!content)
136
+ continue;
137
+ messages.push({
138
+ role: msg.role,
139
+ content,
140
+ messageRefId: refId,
141
+ messageSource: refs[i]?.source === "scenario" ||
142
+ refs[i]?.source === "manual" ||
143
+ refs[i]?.source === "artifact"
144
+ ? refs[i].source
145
+ : undefined,
146
+ feedback: refId ? feedbackByRef.get(refId) : undefined,
147
+ });
148
+ continue;
149
+ }
150
+ const respondSummary = summarizeRespondCall(msg);
151
+ if (respondSummary) {
152
+ messages.push({
153
+ role: "assistant",
154
+ content: respondSummary.displayText,
155
+ messageRefId: refId,
156
+ messageSource: refs[i]?.source === "scenario" ||
157
+ refs[i]?.source === "manual" ||
158
+ refs[i]?.source === "artifact"
159
+ ? refs[i].source
160
+ : undefined,
161
+ feedback: refId ? feedbackByRef.get(refId) : undefined,
162
+ respondStatus: respondSummary.status,
163
+ respondCode: respondSummary.code,
164
+ respondMessage: respondSummary.message,
165
+ respondPayload: respondSummary.payload,
166
+ respondMeta: respondSummary.meta,
167
+ });
168
+ continue;
169
+ }
170
+ if (msg?.role === "tool") {
171
+ const actionCallId = typeof msg.tool_call_id === "string"
172
+ ? msg.tool_call_id
173
+ : undefined;
174
+ const name = typeof msg.name === "string" ? msg.name : undefined;
175
+ fallbackToolInserts.push({
176
+ actionCallId,
177
+ name,
178
+ index: messages.length,
179
+ });
180
+ }
181
+ }
182
+ const traceToolInserts = deriveToolInsertsFromTraces(state, messages.length);
183
+ return {
184
+ messages,
185
+ toolInserts: traceToolInserts.length > 0
186
+ ? traceToolInserts
187
+ : fallbackToolInserts,
188
+ };
189
+ };
190
+ export const buildScenarioConversationArtifacts = (state) => {
191
+ const rawMessages = state.messages ?? [];
192
+ const refs = state.messageRefs ?? [];
193
+ const conversation = [];
194
+ const assistantTurns = [];
195
+ for (let i = 0; i < rawMessages.length; i++) {
196
+ const msg = rawMessages[i];
197
+ const messageRefId = typeof refs[i]?.id === "string"
198
+ ? refs[i].id
199
+ : undefined;
200
+ if (msg?.role === "assistant" || msg?.role === "user") {
201
+ const content = stringifyContent(msg.content).trim();
202
+ if (!content)
203
+ continue;
204
+ const nextMessage = {
205
+ role: msg.role,
206
+ content,
207
+ name: msg.name,
208
+ tool_calls: msg.tool_calls,
209
+ };
210
+ const conversationIndex = conversation.length;
211
+ conversation.push(nextMessage);
212
+ if (nextMessage.role === "assistant") {
213
+ assistantTurns.push({
214
+ conversationIndex,
215
+ message: nextMessage,
216
+ messageRefId,
217
+ });
218
+ }
219
+ continue;
220
+ }
221
+ const respondSummary = summarizeRespondCall(msg);
222
+ if (respondSummary) {
223
+ const nextMessage = {
224
+ role: "assistant",
225
+ content: respondSummary.displayText,
226
+ name: GAMBIT_TOOL_RESPOND,
227
+ };
228
+ const conversationIndex = conversation.length;
229
+ conversation.push(nextMessage);
230
+ assistantTurns.push({
231
+ conversationIndex,
232
+ message: nextMessage,
233
+ messageRefId,
234
+ });
235
+ }
236
+ }
237
+ return { messages: conversation, assistantTurns };
238
+ };
239
+ export const buildScenarioConversationArtifactsFromRun = (run) => {
240
+ const conversation = [];
241
+ const assistantTurns = [];
242
+ const runMessages = Array.isArray(run.messages) ? run.messages : [];
243
+ for (const msg of runMessages) {
244
+ if (msg?.role !== "assistant" && msg?.role !== "user")
245
+ continue;
246
+ const content = typeof msg.content === "string" ? msg.content.trim() : "";
247
+ if (!content)
248
+ continue;
249
+ const nextMessage = {
250
+ role: msg.role,
251
+ content,
252
+ };
253
+ const conversationIndex = conversation.length;
254
+ conversation.push(nextMessage);
255
+ if (nextMessage.role === "assistant") {
256
+ assistantTurns.push({
257
+ conversationIndex,
258
+ message: nextMessage,
259
+ messageRefId: msg.messageRefId,
260
+ });
261
+ }
262
+ }
263
+ return { messages: conversation, assistantTurns };
264
+ };
265
+ export const gradeSchemaHasField = (schema, field) => {
266
+ if (!schema)
267
+ return false;
268
+ let current = schema;
269
+ while (current && typeof current === "object") {
270
+ const def = current._def;
271
+ const typeName = def?.typeName;
272
+ if (typeName === "ZodOptional" || typeName === "ZodNullable" ||
273
+ typeName === "ZodDefault") {
274
+ current = def.innerType;
275
+ continue;
276
+ }
277
+ if (typeName === "ZodEffects") {
278
+ current = def.schema;
279
+ continue;
280
+ }
281
+ if (typeName === "ZodCatch") {
282
+ current = def.innerType;
283
+ continue;
284
+ }
285
+ if (typeName === "ZodBranded") {
286
+ current = def.type;
287
+ continue;
288
+ }
289
+ break;
290
+ }
291
+ const def = current
292
+ ._def;
293
+ if (def?.typeName !== "ZodObject")
294
+ return false;
295
+ const shape = typeof def.shape === "function" ? def.shape() : def.shape;
296
+ return Boolean(shape && typeof shape === "object" && field in shape);
297
+ };
298
+ export const applyUserMessageRefSource = (previousState, nextState, source) => {
299
+ if (!Array.isArray(nextState.messages) ||
300
+ !Array.isArray(nextState.messageRefs)) {
301
+ return nextState;
302
+ }
303
+ const startIndex = Math.max(0, previousState?.messages?.length ?? 0);
304
+ const nextRefs = [...nextState.messageRefs];
305
+ let changed = false;
306
+ for (let idx = startIndex; idx < nextState.messages.length; idx++) {
307
+ const msg = nextState.messages[idx];
308
+ if (!msg || msg.role !== "user")
309
+ continue;
310
+ const ref = nextRefs[idx];
311
+ if (!ref || typeof ref.id !== "string")
312
+ continue;
313
+ if (ref.source === source)
314
+ continue;
315
+ nextRefs[idx] = { ...ref, source };
316
+ changed = true;
317
+ }
318
+ if (!changed)
319
+ return nextState;
320
+ return { ...nextState, messageRefs: nextRefs };
321
+ };
322
+ export const syncTestBotRunFromState = (run, state) => {
323
+ const snapshot = buildTestBotSnapshot(state);
324
+ run.messages = snapshot.messages;
325
+ run.toolInserts = snapshot.toolInserts;
326
+ const workspaceId = typeof state.meta?.workspaceId === "string"
327
+ ? state.meta.workspaceId
328
+ : typeof state.meta?.sessionId === "string"
329
+ ? state.meta.sessionId
330
+ : undefined;
331
+ if (workspaceId) {
332
+ run.workspaceId = workspaceId;
333
+ run.sessionId = workspaceId;
334
+ }
335
+ const initFill = state.meta
336
+ ?.testBotInitFill;
337
+ if (initFill)
338
+ run.initFill = initFill;
339
+ run.traces = Array.isArray(state.traces) ? [...state.traces] : undefined;
340
+ };
@@ -0,0 +1,35 @@
1
+ import type { SavedState } from "@bolt-foundry/gambit-core";
2
+ import type { SessionMeta, WorkspaceDeckState } from "../../server_types.js";
3
+ import type { BuildBotRunStatus, TestBotRunEntry, TestBotRunStatus } from "./types.js";
4
+ type BuildWorkspaceReadModel = (workspaceId: string, options?: {
5
+ requestedTestDeckPath?: string | null;
6
+ requestedTestRunId?: string | null;
7
+ requestedGradeRunId?: string | null;
8
+ }) => Promise<unknown>;
9
+ type WorkspaceReadModelService = {
10
+ buildWorkspaceReadModel: BuildWorkspaceReadModel;
11
+ };
12
+ export declare const createWorkspaceReadModelService: (deps: {
13
+ readSessionState: (workspaceId: string) => SavedState | undefined;
14
+ readSessionStateStrict: (workspaceId: string, options?: {
15
+ withTraces?: boolean;
16
+ }) => SavedState | undefined;
17
+ readWorkspaceBuildRunForGraphql: (workspaceId: string) => BuildBotRunStatus;
18
+ getLiveTestRunEntry: (runId: string) => TestBotRunEntry | undefined;
19
+ getLiveTestRunEntryByWorkspaceId: (workspaceId: string) => TestBotRunEntry | undefined;
20
+ readPersistedTestRunStatusById: (sessionState: SavedState, workspaceId: string, requestedRunId: string) => TestBotRunStatus | null;
21
+ syncTestBotRunFromState: (run: TestBotRunStatus, state: SavedState) => void;
22
+ selectCanonicalScenarioRunSummary: (meta: Record<string, unknown>) => {
23
+ scenarioRunId: string;
24
+ } | null;
25
+ activateWorkspaceDeck: (workspaceId?: string | null, options?: {
26
+ forceReload?: boolean;
27
+ source?: string;
28
+ reloadAttemptId?: string;
29
+ }) => Promise<void>;
30
+ readWorkspaceDeckState: (workspaceId: string) => WorkspaceDeckState | null;
31
+ resolveScenarioDeckFromState: (deckState: WorkspaceDeckState, identifier: string) => WorkspaceDeckState["scenarioDecks"][number] | undefined;
32
+ listSessions: () => Array<SessionMeta>;
33
+ }) => WorkspaceReadModelService;
34
+ export {};
35
+ //# sourceMappingURL=read_model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read_model.d.ts","sourceRoot":"","sources":["../../../../src/src/server/workspace/read_model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,KAAK,uBAAuB,GAAG,CAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IACR,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,KACE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,KAAK,yBAAyB,GAAG;IAC/B,uBAAuB,EAAE,uBAAuB,CAAC;CAClD,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAI,MAAM;IACpD,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,+BAA+B,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,iBAAiB,CAAC;IAC5E,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,CAAC;IACpE,gCAAgC,EAAE,CAChC,WAAW,EAAE,MAAM,KAChB,eAAe,GAAG,SAAS,CAAC;IACjC,8BAA8B,EAAE,CAC9B,YAAY,EAAE,UAAU,EACxB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,KACnB,gBAAgB,GAAG,IAAI,CAAC;IAC7B,uBAAuB,EAAE,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5E,iCAAiC,EAAE,CACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACtC,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,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,kBAAkB,GAAG,IAAI,CAAC;IAC3E,4BAA4B,EAAE,CAC5B,SAAS,EAAE,kBAAkB,EAC7B,UAAU,EAAE,MAAM,KACf,kBAAkB,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAC7D,YAAY,EAAE,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;CACxC,KAAG,yBAyIH,CAAC"}
@@ -0,0 +1,121 @@
1
+ export const createWorkspaceReadModelService = (deps) => {
2
+ const buildWorkspaceReadModel = async (workspaceId, options) => {
3
+ let state;
4
+ try {
5
+ state = deps.readSessionStateStrict(workspaceId, { withTraces: true });
6
+ }
7
+ catch (err) {
8
+ return {
9
+ error: err instanceof Error ? err.message : String(err),
10
+ status: 400,
11
+ };
12
+ }
13
+ if (!state) {
14
+ return {
15
+ error: "Workspace not found",
16
+ status: 404,
17
+ };
18
+ }
19
+ const buildRun = deps.readWorkspaceBuildRunForGraphql(workspaceId);
20
+ const requestedTestRunId = typeof options?.requestedTestRunId === "string" &&
21
+ options.requestedTestRunId.trim().length > 0
22
+ ? options.requestedTestRunId
23
+ : null;
24
+ const requestedTestEntry = requestedTestRunId
25
+ ? deps.getLiveTestRunEntry(requestedTestRunId)
26
+ : undefined;
27
+ const requestedLiveRun = requestedTestEntry?.run &&
28
+ (requestedTestEntry.run.workspaceId === workspaceId ||
29
+ requestedTestEntry.run.sessionId === workspaceId)
30
+ ? requestedTestEntry.run
31
+ : undefined;
32
+ const persistedRequestedRun = requestedTestRunId
33
+ ? deps.readPersistedTestRunStatusById(state, workspaceId, requestedTestRunId)
34
+ : null;
35
+ const testEntry = requestedLiveRun
36
+ ? undefined
37
+ : deps.getLiveTestRunEntryByWorkspaceId(workspaceId);
38
+ const testRun = requestedLiveRun ?? persistedRequestedRun ??
39
+ testEntry?.run ?? {
40
+ id: "",
41
+ status: "idle",
42
+ messages: [],
43
+ traces: [],
44
+ toolInserts: [],
45
+ workspaceId,
46
+ sessionId: workspaceId,
47
+ };
48
+ if (!requestedLiveRun && !persistedRequestedRun && !testEntry) {
49
+ deps.syncTestBotRunFromState(testRun, state);
50
+ const meta = state.meta && typeof state.meta === "object"
51
+ ? state.meta
52
+ : null;
53
+ if (meta) {
54
+ const selectedScenarioSummary = deps.selectCanonicalScenarioRunSummary(meta);
55
+ if (selectedScenarioSummary) {
56
+ testRun.id = selectedScenarioSummary.scenarioRunId;
57
+ if (testRun.status === "idle") {
58
+ testRun.status = "completed";
59
+ }
60
+ }
61
+ }
62
+ }
63
+ const feedbackByRef = new Map((state.feedback ?? []).map((entry) => [entry.messageRefId, entry]));
64
+ if (Array.isArray(testRun.messages) && testRun.messages.length > 0) {
65
+ testRun.messages = testRun.messages.map((message) => {
66
+ const refId = typeof message.messageRefId === "string"
67
+ ? message.messageRefId
68
+ : undefined;
69
+ if (!refId)
70
+ return message;
71
+ const feedback = feedbackByRef.get(refId);
72
+ if (!feedback && !message.feedback)
73
+ return message;
74
+ if (!feedback) {
75
+ return { ...message, feedback: undefined };
76
+ }
77
+ return { ...message, feedback };
78
+ });
79
+ }
80
+ await deps.activateWorkspaceDeck(workspaceId);
81
+ const deckState = deps.readWorkspaceDeckState(workspaceId);
82
+ const requestedDeck = options?.requestedTestDeckPath ?? null;
83
+ const testSelection = requestedDeck
84
+ ? deckState
85
+ ? deps.resolveScenarioDeckFromState(deckState, requestedDeck)
86
+ : undefined
87
+ : deckState?.scenarioDecks[0];
88
+ const session = {
89
+ workspaceId,
90
+ messages: state.messages,
91
+ messageRefs: state.messageRefs,
92
+ feedback: state.feedback,
93
+ traces: state.traces,
94
+ notes: state.notes,
95
+ meta: state.meta,
96
+ };
97
+ return {
98
+ workspaceId,
99
+ build: { run: buildRun },
100
+ test: {
101
+ run: testRun,
102
+ botPath: testSelection?.path ?? null,
103
+ botLabel: testSelection?.label ?? null,
104
+ botDescription: testSelection?.description ?? null,
105
+ selectedDeckId: testSelection?.id ?? null,
106
+ inputSchema: testSelection?.inputSchema ?? null,
107
+ inputSchemaError: testSelection?.inputSchemaError ?? null,
108
+ defaults: { input: testSelection?.defaults },
109
+ testDecks: deckState?.scenarioDecks ?? [],
110
+ },
111
+ grade: {
112
+ graderDecks: deckState?.graderDecks ?? [],
113
+ sessions: deps.listSessions(),
114
+ },
115
+ session,
116
+ };
117
+ };
118
+ return {
119
+ buildWorkspaceReadModel,
120
+ };
121
+ };
@@ -0,0 +1,28 @@
1
+ import type { SavedState, TraceEvent } from "@bolt-foundry/gambit-core";
2
+ export declare const createOpenResponsesEventPersistence: (deps: {
3
+ sanitizeJsonRecord: (value: Record<string, unknown>) => Record<string, unknown>;
4
+ appendOpenResponsesRunEvent: (state: SavedState, event: {
5
+ workspace_id: string;
6
+ run_id: string;
7
+ event_type: string;
8
+ payload: Record<string, unknown>;
9
+ idempotency_key: string;
10
+ created_at: string;
11
+ }) => Promise<unknown> | unknown;
12
+ }) => {
13
+ persistOpenResponsesTraceEvent: (state: SavedState | null | undefined, trace: TraceEvent, fallbackRunId?: string) => void;
14
+ persistCanonicalUserInputEvent: (args: {
15
+ state: SavedState | null | undefined;
16
+ runId: string;
17
+ message: string;
18
+ source: "build" | "scenario";
19
+ }) => void;
20
+ persistCanonicalStateMessages: (args: {
21
+ state: SavedState | null | undefined;
22
+ runId: string;
23
+ startIndex?: number;
24
+ source: "build" | "scenario" | "manual" | "artifact";
25
+ }) => void;
26
+ persistOpenResponsesTracesFromState: (state: SavedState | null | undefined, fallbackRunId?: string) => void;
27
+ };
28
+ //# sourceMappingURL=response_events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response_events.d.ts","sourceRoot":"","sources":["../../../../src/src/server/workspace/response_events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAyDxE,eAAO,MAAM,mCAAmC,GAAI,MAAM;IACxD,kBAAkB,EAAE,CAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,2BAA2B,EAAE,CAC3B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;KACpB,KACE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CACjC;4CAEU,UAAU,GAAG,IAAI,GAAG,SAAS,SAC7B,UAAU,kBACD,MAAM;2CAuCsB;QAC5C,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC;QACrC,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC;KAC9B;0CAsB4C;QAC3C,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC;QACrC,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;KACtD;iDAmEQ,UAAU,GAAG,IAAI,GAAG,SAAS,kBACpB,MAAM;CAczB,CAAC"}