@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,666 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.handleLegacyApiRoutes = void 0;
37
+ const dntShim = __importStar(require("../_dnt.shims.js"));
38
+ const gambit_id_js_1 = require("./gambit_id.js");
39
+ const jsonResponse = (payload, status = 200) => new Response(JSON.stringify(payload), {
40
+ status,
41
+ headers: { "content-type": "application/json" },
42
+ });
43
+ const methodNotAllowed = () => new Response("Method not allowed", { status: 405 });
44
+ const handleLegacyApiRoutes = async (deps) => {
45
+ const { req, url } = deps;
46
+ if (url.pathname === `${deps.workspaceApiBase}/new`) {
47
+ if (req.method !== "POST")
48
+ return methodNotAllowed();
49
+ try {
50
+ let onboarding = false;
51
+ try {
52
+ const body = await req.json();
53
+ onboarding = body.onboarding === true;
54
+ }
55
+ catch {
56
+ // ignore malformed body
57
+ }
58
+ const workspace = await deps.createWorkspaceSession({ onboarding });
59
+ await deps.activateWorkspaceDeck(workspace.id);
60
+ return jsonResponse({
61
+ workspaceId: workspace.id,
62
+ deckPath: workspace.rootDeckPath,
63
+ workspaceDir: workspace.rootDir,
64
+ createdAt: workspace.createdAt,
65
+ workspaceSchemaVersion: deps.workspaceStateSchemaVersion,
66
+ });
67
+ }
68
+ catch (error) {
69
+ const message = error instanceof Error ? error.message : String(error);
70
+ return jsonResponse({ error: message }, 500);
71
+ }
72
+ }
73
+ if (url.pathname === `${deps.workspaceApiBase}/delete`) {
74
+ if (req.method !== "POST")
75
+ return methodNotAllowed();
76
+ try {
77
+ const body = await req.json().catch(() => ({}));
78
+ const workspaceId = deps.getWorkspaceIdFromBody(body);
79
+ if (!workspaceId)
80
+ throw new Error("Missing workspaceId");
81
+ const deleted = deps.deleteSessionState(workspaceId);
82
+ if (!deleted) {
83
+ return jsonResponse({ error: "Workspace not found" }, 404);
84
+ }
85
+ deps.deleteWorkspaceRuntime(workspaceId);
86
+ return jsonResponse({ workspaceId, deleted: true });
87
+ }
88
+ catch (error) {
89
+ const message = error instanceof Error ? error.message : String(error);
90
+ return jsonResponse({ error: message }, 400);
91
+ }
92
+ }
93
+ if (url.pathname === `${deps.workspaceApiBase}/feedback`) {
94
+ if (req.method !== "POST")
95
+ return methodNotAllowed();
96
+ try {
97
+ const body = await req.json().catch(() => ({}));
98
+ const workspaceId = deps.getWorkspaceIdFromBody(body);
99
+ if (!workspaceId)
100
+ throw new Error("Missing workspaceId");
101
+ if (!body.messageRefId)
102
+ throw new Error("Missing messageRefId");
103
+ if (body.score !== null &&
104
+ (typeof body.score !== "number" || Number.isNaN(body.score))) {
105
+ throw new Error("Invalid score");
106
+ }
107
+ const state = deps.readSessionState(workspaceId);
108
+ if (!state)
109
+ throw new Error("Workspace not found");
110
+ const requestedRunId = typeof body.runId === "string" &&
111
+ body.runId.trim().length > 0
112
+ ? body.runId.trim()
113
+ : undefined;
114
+ const feedbackEligible = deps.isFeedbackEligibleMessageRef(state, body.messageRefId) ||
115
+ (requestedRunId
116
+ ? deps.isFeedbackEligiblePersistedTestRunMessageRef(state, requestedRunId, body.messageRefId)
117
+ : false);
118
+ if (!feedbackEligible) {
119
+ throw new Error("Feedback target is not eligible");
120
+ }
121
+ const existing = state.feedback ?? [];
122
+ const idx = existing.findIndex((entry) => entry.messageRefId === body.messageRefId);
123
+ let entry;
124
+ let feedback = existing;
125
+ let deleted = false;
126
+ if (body.score === null) {
127
+ if (idx >= 0) {
128
+ feedback = existing.filter((_, i) => i !== idx);
129
+ deleted = true;
130
+ }
131
+ }
132
+ else {
133
+ const clamped = Math.max(-3, Math.min(3, Math.round(body.score)));
134
+ const reason = typeof body.reason === "string"
135
+ ? body.reason
136
+ : idx >= 0
137
+ ? existing[idx].reason
138
+ : undefined;
139
+ const runId = requestedRunId ??
140
+ (typeof state.runId === "string" ? state.runId : "session");
141
+ const scenarioRunId = requestedRunId ??
142
+ (typeof state.meta?.scenarioRunId === "string"
143
+ ? state.meta.scenarioRunId
144
+ : runId);
145
+ const now = new Date().toISOString();
146
+ entry = idx >= 0
147
+ ? {
148
+ ...existing[idx],
149
+ score: clamped,
150
+ reason,
151
+ runId: existing[idx].runId ?? runId,
152
+ }
153
+ : {
154
+ id: deps.randomId("fb"),
155
+ runId,
156
+ messageRefId: body.messageRefId,
157
+ score: clamped,
158
+ reason,
159
+ createdAt: now,
160
+ };
161
+ if (entry) {
162
+ entry.workspaceId = workspaceId;
163
+ entry.scenarioRunId = scenarioRunId;
164
+ }
165
+ feedback = idx >= 0
166
+ ? existing.map((item, i) => i === idx ? entry : item)
167
+ : [...existing, entry];
168
+ }
169
+ const nextState = deps.persistSessionState({ ...state, feedback });
170
+ deps.appendSessionEvent(nextState, {
171
+ type: "feedback.update",
172
+ kind: "artifact",
173
+ category: "feedback",
174
+ workspaceId,
175
+ scenarioRunId: typeof nextState.meta?.scenarioRunId === "string"
176
+ ? nextState.meta.scenarioRunId
177
+ : nextState.runId,
178
+ messageRefId: body.messageRefId,
179
+ feedback: entry,
180
+ deleted,
181
+ });
182
+ const testBotRunId = typeof nextState.meta?.testBotRunId === "string"
183
+ ? nextState.meta.testBotRunId
184
+ : undefined;
185
+ if (testBotRunId) {
186
+ const testEntry = deps.getLiveTestRunEntry(testBotRunId);
187
+ if (testEntry) {
188
+ deps.syncTestBotRunFromState(testEntry.run, nextState);
189
+ deps.broadcastTestBot({ type: "testBotStatus", run: testEntry.run }, workspaceId);
190
+ }
191
+ }
192
+ return jsonResponse({
193
+ workspaceId,
194
+ feedback: entry,
195
+ saved: !deleted,
196
+ deleted,
197
+ });
198
+ }
199
+ catch (error) {
200
+ const message = error instanceof Error ? error.message : String(error);
201
+ return jsonResponse({ error: message }, 400);
202
+ }
203
+ }
204
+ if (url.pathname === "/api/test") {
205
+ if (req.method !== "GET")
206
+ return methodNotAllowed();
207
+ try {
208
+ const workspaceId = deps.getWorkspaceIdFromQuery(url) ??
209
+ deps.activeWorkspaceId;
210
+ await deps.logWorkspaceBotRoot("/api/test", workspaceId);
211
+ const deckState = workspaceId
212
+ ? (await deps.activateWorkspaceDeck(workspaceId),
213
+ deps.readWorkspaceDeckStateStrict(workspaceId))
214
+ : await deps.readPrimaryDeckState();
215
+ const requestedDeck = url.searchParams.get("deckPath");
216
+ const selection = requestedDeck
217
+ ? deckState
218
+ ? deps.resolveScenarioDeckFromState(deckState, requestedDeck)
219
+ : undefined
220
+ : deckState?.scenarioDecks[0];
221
+ if (requestedDeck && !selection) {
222
+ return jsonResponse({ error: "Unknown scenario deck selection" }, 400);
223
+ }
224
+ if (!selection) {
225
+ return jsonResponse({
226
+ botPath: null,
227
+ botLabel: null,
228
+ botDescription: null,
229
+ selectedDeckId: null,
230
+ inputSchema: null,
231
+ inputSchemaError: null,
232
+ defaults: {},
233
+ testDecks: deckState?.scenarioDecks ?? [],
234
+ });
235
+ }
236
+ return jsonResponse({
237
+ botPath: selection.path,
238
+ botLabel: selection.label,
239
+ botDescription: selection.description,
240
+ selectedDeckId: selection.id,
241
+ inputSchema: selection.inputSchema ?? null,
242
+ inputSchemaError: selection.inputSchemaError ?? null,
243
+ defaults: { input: selection.defaults },
244
+ testDecks: deckState?.scenarioDecks ?? [],
245
+ });
246
+ }
247
+ catch (error) {
248
+ const message = error instanceof Error ? error.message : String(error);
249
+ return jsonResponse({ error: message }, 400);
250
+ }
251
+ }
252
+ if (url.pathname === "/api/test/run") {
253
+ if (req.method !== "POST")
254
+ return methodNotAllowed();
255
+ try {
256
+ const body = await req.json().catch(() => ({}));
257
+ let workspaceId = deps.getWorkspaceIdFromBody(body);
258
+ if (!workspaceId) {
259
+ const created = await deps.createWorkspaceSession();
260
+ workspaceId = created.id;
261
+ }
262
+ deps.ensureWorkspaceSession(workspaceId);
263
+ await deps.logWorkspaceBotRoot("/api/test/run", workspaceId);
264
+ await deps.activateWorkspaceDeck(workspaceId);
265
+ let run = await deps.startWorkspaceScenarioRunForGraphql({
266
+ workspaceId,
267
+ scenarioDeckId: typeof body.botDeckPath === "string"
268
+ ? body.botDeckPath
269
+ : typeof body.scenarioDeckId === "string"
270
+ ? body.scenarioDeckId
271
+ : null,
272
+ scenarioInput: body.botInput,
273
+ assistantInit: body.context ?? body.init,
274
+ });
275
+ const initialUserMessage = typeof body.initialUserMessage === "string"
276
+ ? body.initialUserMessage.trim()
277
+ : "";
278
+ if (initialUserMessage.length > 0) {
279
+ run = await deps.sendWorkspaceScenarioRunForGraphql({
280
+ workspaceId,
281
+ runId: run.id,
282
+ message: initialUserMessage,
283
+ });
284
+ }
285
+ const liveRun = deps.getLiveTestRunEntry(run.id)?.run;
286
+ const runPayload = liveRun?.maxTurns !== undefined
287
+ ? { ...run, maxTurns: liveRun.maxTurns }
288
+ : run;
289
+ return jsonResponse({ run: runPayload });
290
+ }
291
+ catch (error) {
292
+ const message = error instanceof Error ? error.message : String(error);
293
+ return jsonResponse({ error: message }, 400);
294
+ }
295
+ }
296
+ if (url.pathname === "/api/test/message") {
297
+ if (req.method !== "POST")
298
+ return methodNotAllowed();
299
+ try {
300
+ const body = await req.json().catch(() => ({}));
301
+ let workspaceId = deps.getWorkspaceIdFromBody(body);
302
+ const requestedRunId = typeof body.runId === "string"
303
+ ? body.runId.trim()
304
+ : "";
305
+ if (!workspaceId && requestedRunId) {
306
+ const active = deps.getLiveTestRunEntry(requestedRunId)?.run;
307
+ workspaceId = active?.workspaceId ?? active?.sessionId;
308
+ }
309
+ if (!workspaceId) {
310
+ const created = await deps.createWorkspaceSession();
311
+ workspaceId = created.id;
312
+ }
313
+ deps.ensureWorkspaceSession(workspaceId);
314
+ await deps.logWorkspaceBotRoot("/api/test/message", workspaceId);
315
+ await deps.activateWorkspaceDeck(workspaceId);
316
+ const existingRun = requestedRunId.length > 0
317
+ ? deps.readWorkspaceScenarioRunsForGraphql(workspaceId).find((run) => run.id === requestedRunId)
318
+ : undefined;
319
+ let runId = existingRun?.id;
320
+ if (!runId) {
321
+ const started = await deps.startWorkspaceScenarioRunForGraphql({
322
+ runId: requestedRunId || undefined,
323
+ workspaceId,
324
+ scenarioDeckId: typeof body.botDeckPath === "string"
325
+ ? body.botDeckPath
326
+ : typeof body.scenarioDeckId === "string"
327
+ ? body.scenarioDeckId
328
+ : null,
329
+ scenarioInput: body.botInput,
330
+ assistantInit: body.context ?? body.init,
331
+ });
332
+ runId = started.id;
333
+ const initialMessage = typeof body.message === "string"
334
+ ? body.message.trim()
335
+ : "";
336
+ if (initialMessage.length === 0) {
337
+ const liveStarted = deps.getLiveTestRunEntry(started.id)?.run;
338
+ const startedPayload = liveStarted?.maxTurns !== undefined
339
+ ? { ...started, maxTurns: liveStarted.maxTurns }
340
+ : started;
341
+ return jsonResponse({ run: startedPayload });
342
+ }
343
+ }
344
+ const message = typeof body.message === "string" ? body.message : "";
345
+ const run = await deps.sendWorkspaceScenarioRunForGraphql({
346
+ workspaceId,
347
+ runId,
348
+ message,
349
+ });
350
+ const liveRun = deps.getLiveTestRunEntry(run.id)?.run;
351
+ const runPayload = liveRun?.maxTurns !== undefined
352
+ ? { ...run, maxTurns: liveRun.maxTurns }
353
+ : run;
354
+ return jsonResponse({ run: runPayload });
355
+ }
356
+ catch (error) {
357
+ const message = error instanceof Error ? error.message : String(error);
358
+ return jsonResponse({ error: message }, 400);
359
+ }
360
+ }
361
+ if (url.pathname === "/api/test/stop") {
362
+ if (req.method !== "POST")
363
+ return methodNotAllowed();
364
+ try {
365
+ const body = await req.json().catch(() => ({}));
366
+ const runId = typeof body.runId === "string" ? body.runId : "";
367
+ if (!runId) {
368
+ return jsonResponse({
369
+ stopped: false,
370
+ run: {
371
+ id: "",
372
+ status: "idle",
373
+ messages: [],
374
+ traces: [],
375
+ toolInserts: [],
376
+ },
377
+ });
378
+ }
379
+ const existing = deps.getLiveTestRunEntry(runId);
380
+ const workspaceId = typeof body.workspaceId === "string"
381
+ ? body.workspaceId
382
+ : existing?.run.workspaceId ?? existing?.run.sessionId;
383
+ const wasRunning = Boolean(existing?.promise);
384
+ if (!workspaceId) {
385
+ existing?.abort?.abort();
386
+ return jsonResponse({
387
+ stopped: wasRunning,
388
+ run: existing?.run ?? {
389
+ id: runId,
390
+ status: "idle",
391
+ messages: [],
392
+ traces: [],
393
+ toolInserts: [],
394
+ },
395
+ });
396
+ }
397
+ const run = await deps.stopWorkspaceScenarioRunForGraphql({
398
+ workspaceId,
399
+ runId,
400
+ });
401
+ return jsonResponse({ stopped: wasRunning, run });
402
+ }
403
+ catch (error) {
404
+ const message = error instanceof Error ? error.message : String(error);
405
+ return jsonResponse({ error: message }, 400);
406
+ }
407
+ }
408
+ if (url.pathname === "/api/codex/trust-workspace" ||
409
+ url.pathname === "/api/build/provider-status") {
410
+ if (req.method !== "GET" && req.method !== "POST") {
411
+ return methodNotAllowed();
412
+ }
413
+ return await deps.handleBuildProviderStatusRequest({
414
+ req,
415
+ url,
416
+ isLegacyCodexTrustEndpoint: url.pathname === "/api/codex/trust-workspace",
417
+ getWorkspaceIdFromQuery: deps.getWorkspaceIdFromQuery,
418
+ logWorkspaceBotRoot: deps.logWorkspaceBotRoot,
419
+ readCodexWorkspaceStatus: deps.readCodexWorkspaceStatus,
420
+ });
421
+ }
422
+ if (url.pathname === "/api/simulator/run") {
423
+ if (req.method !== "POST")
424
+ return methodNotAllowed();
425
+ try {
426
+ const body = await req.json().catch(() => ({}));
427
+ const requestedWorkspaceId = deps.getWorkspaceIdFromBody(body);
428
+ let workspaceId = requestedWorkspaceId;
429
+ if (!workspaceId) {
430
+ const created = await deps.createWorkspaceSession();
431
+ workspaceId = created.id;
432
+ }
433
+ if (requestedWorkspaceId) {
434
+ try {
435
+ deps.readSessionStateStrict(requestedWorkspaceId, {
436
+ withTraces: true,
437
+ });
438
+ }
439
+ catch (error) {
440
+ const message = error instanceof Error
441
+ ? error.message
442
+ : String(error);
443
+ return jsonResponse({ error: message }, 400);
444
+ }
445
+ }
446
+ deps.ensureWorkspaceSession(workspaceId);
447
+ await deps.logWorkspaceBotRoot(url.pathname, workspaceId);
448
+ await deps.activateWorkspaceDeck(workspaceId);
449
+ let run = await deps.startWorkspaceScenarioRunForGraphql({
450
+ workspaceId,
451
+ scenarioDeckId: typeof body.botDeckPath === "string"
452
+ ? body.botDeckPath
453
+ : typeof body.scenarioDeckId === "string"
454
+ ? body.scenarioDeckId
455
+ : null,
456
+ scenarioInput: body.botInput,
457
+ assistantInit: body.context ?? body.init ??
458
+ (typeof body.input === "string"
459
+ ? JSON.stringify(body.input)
460
+ : body.input),
461
+ });
462
+ const initialUserMessage = typeof body.message === "string"
463
+ ? body.message.trim()
464
+ : "";
465
+ if (initialUserMessage.length > 0) {
466
+ run = await deps.sendWorkspaceScenarioRunForGraphql({
467
+ workspaceId,
468
+ runId: run.id,
469
+ message: initialUserMessage,
470
+ });
471
+ }
472
+ const liveRun = deps.getLiveTestRunEntry(run.id)?.run;
473
+ const runPayload = liveRun?.maxTurns !== undefined
474
+ ? { ...run, maxTurns: liveRun.maxTurns }
475
+ : run;
476
+ return jsonResponse({
477
+ run: runPayload,
478
+ runId: run.id,
479
+ workspaceId,
480
+ });
481
+ }
482
+ catch (error) {
483
+ const message = error instanceof Error ? error.message : String(error);
484
+ return jsonResponse({ error: message }, 400);
485
+ }
486
+ }
487
+ if (url.pathname === "/api/build/message") {
488
+ if (req.method !== "POST")
489
+ return methodNotAllowed();
490
+ try {
491
+ const body = await req.json().catch(() => ({}));
492
+ let workspaceId = deps.getWorkspaceIdFromBody(body);
493
+ if (!workspaceId && typeof body.runId === "string") {
494
+ workspaceId = body.runId;
495
+ }
496
+ if (!workspaceId) {
497
+ const created = await deps.createWorkspaceSession();
498
+ workspaceId = created.id;
499
+ }
500
+ deps.ensureWorkspaceSession(workspaceId);
501
+ await deps.logWorkspaceBotRoot(url.pathname, workspaceId);
502
+ await deps.activateWorkspaceDeck(workspaceId);
503
+ const buildChatProvider = deps.normalizeBuildChatProvider(body.buildChatProvider) ?? undefined;
504
+ if (buildChatProvider) {
505
+ const state = deps.readSessionStateStrict(workspaceId, {
506
+ withTraces: true,
507
+ });
508
+ if (state) {
509
+ deps.persistSessionState(deps.persistBuildChatProviderMeta(state, workspaceId, buildChatProvider));
510
+ }
511
+ }
512
+ const message = typeof body.message === "string"
513
+ ? body.message
514
+ : typeof body.input === "string"
515
+ ? body.input
516
+ : "";
517
+ const run = deps.startWorkspaceBuildRun({
518
+ workspaceId,
519
+ message,
520
+ buildChatProvider,
521
+ });
522
+ return jsonResponse({ run });
523
+ }
524
+ catch (error) {
525
+ const message = error instanceof Error ? error.message : String(error);
526
+ const status = message.includes("already in progress") ? 409 : 400;
527
+ return jsonResponse({ error: message }, status);
528
+ }
529
+ }
530
+ if (url.pathname === "/api/build/stop") {
531
+ if (req.method !== "POST")
532
+ return methodNotAllowed();
533
+ try {
534
+ const body = await req.json().catch(() => ({}));
535
+ const workspaceId = deps.getWorkspaceIdFromBody(body);
536
+ if (!workspaceId)
537
+ throw new Error("Missing workspaceId");
538
+ const active = deps.getLiveBuildRunEntry(workspaceId);
539
+ const wasRunning = Boolean(active?.promise);
540
+ const runId = active?.run.id ?? deps.readWorkspaceBuildRunForGraphql(workspaceId).id;
541
+ const run = await deps.stopWorkspaceBuildRun({ workspaceId, runId });
542
+ return jsonResponse({ stopped: wasRunning, run });
543
+ }
544
+ catch (error) {
545
+ const message = error instanceof Error ? error.message : String(error);
546
+ return jsonResponse({ error: message }, 400);
547
+ }
548
+ }
549
+ if (url.pathname === "/api/build/provider") {
550
+ if (req.method !== "POST")
551
+ return methodNotAllowed();
552
+ try {
553
+ const body = await req.json().catch(() => ({}));
554
+ const workspaceId = deps.getWorkspaceIdFromBody(body);
555
+ if (!workspaceId)
556
+ throw new Error("Missing workspaceId");
557
+ const buildChatProvider = deps.normalizeBuildChatProvider(body.buildChatProvider);
558
+ if (!buildChatProvider) {
559
+ throw new Error("Invalid buildChatProvider; expected codex-cli or claude-code-cli");
560
+ }
561
+ await deps.logWorkspaceBotRoot(url.pathname, workspaceId);
562
+ const state = deps.readSessionStateStrict(workspaceId, {
563
+ withTraces: true,
564
+ });
565
+ if (!state)
566
+ throw new Error("Workspace not found");
567
+ deps.persistSessionState(deps.persistBuildChatProviderMeta(state, workspaceId, buildChatProvider));
568
+ return jsonResponse({ ok: true, workspaceId, buildChatProvider });
569
+ }
570
+ catch (error) {
571
+ const message = error instanceof Error ? error.message : String(error);
572
+ return jsonResponse({ error: message }, 400);
573
+ }
574
+ }
575
+ if (url.pathname === "/api/build/reset") {
576
+ if (req.method !== "POST")
577
+ return methodNotAllowed();
578
+ try {
579
+ const body = await req.json().catch(() => ({}));
580
+ const workspaceId = deps.getWorkspaceIdFromBody(body);
581
+ if (!workspaceId)
582
+ throw new Error("Missing workspaceId");
583
+ const run = await deps.resetWorkspaceBuild(workspaceId);
584
+ return jsonResponse({ reset: true, run });
585
+ }
586
+ catch (error) {
587
+ const message = error instanceof Error ? error.message : String(error);
588
+ return jsonResponse({ error: message }, 400);
589
+ }
590
+ }
591
+ if (url.pathname === "/api/build/files") {
592
+ if (req.method !== "GET")
593
+ return methodNotAllowed();
594
+ try {
595
+ const workspaceId = deps.getWorkspaceIdFromQuery(url) ??
596
+ deps.activeWorkspaceId ??
597
+ "";
598
+ await deps.logWorkspaceBotRoot("/api/build/files", workspaceId);
599
+ const root = await deps.resolveBuildBotRoot(workspaceId);
600
+ const records = await deps.readWorkspaceFiles({
601
+ workspaceId: (0, gambit_id_js_1.asGambitID)(workspaceId),
602
+ });
603
+ const entries = records.map((record) => ({
604
+ path: record.path,
605
+ type: "file",
606
+ size: typeof record.size === "number" ? record.size : undefined,
607
+ modifiedAt: record.modifiedAt ?? undefined,
608
+ }));
609
+ return jsonResponse({ root, entries });
610
+ }
611
+ catch (error) {
612
+ const message = error instanceof Error ? error.message : String(error);
613
+ return jsonResponse({ error: message }, 400);
614
+ }
615
+ }
616
+ if (url.pathname === "/api/build/file") {
617
+ if (req.method !== "GET")
618
+ return methodNotAllowed();
619
+ const workspaceId = deps.getWorkspaceIdFromQuery(url) ??
620
+ deps.activeWorkspaceId ??
621
+ "";
622
+ await deps.logWorkspaceBotRoot("/api/build/file", workspaceId);
623
+ const inputPath = url.searchParams.get("path") ?? "";
624
+ if (!inputPath) {
625
+ return jsonResponse({ error: "Missing path" }, 400);
626
+ }
627
+ try {
628
+ const root = await deps.resolveBuildBotRoot(workspaceId);
629
+ const resolved = await deps.resolveBuildBotPath(root, inputPath);
630
+ if (!resolved.stat.isFile) {
631
+ return jsonResponse({ error: "Path is not a file" }, 400);
632
+ }
633
+ if (typeof resolved.stat.size === "number" &&
634
+ resolved.stat.size > deps.maxFilePreviewBytes) {
635
+ return jsonResponse({
636
+ path: resolved.relativePath,
637
+ tooLarge: true,
638
+ size: resolved.stat.size,
639
+ });
640
+ }
641
+ const bytes = await dntShim.Deno.readFile(resolved.fullPath);
642
+ const text = deps.readPreviewText(bytes);
643
+ if (text === null) {
644
+ return jsonResponse({
645
+ path: resolved.relativePath,
646
+ binary: true,
647
+ size: resolved.stat.size,
648
+ });
649
+ }
650
+ return jsonResponse({
651
+ path: resolved.relativePath,
652
+ contents: text,
653
+ size: resolved.stat.size,
654
+ });
655
+ }
656
+ catch (error) {
657
+ const message = error instanceof Error ? error.message : String(error);
658
+ return jsonResponse({ error: message }, 400);
659
+ }
660
+ }
661
+ if (url.pathname.startsWith("/api/")) {
662
+ return new Response("Not found", { status: 404 });
663
+ }
664
+ return null;
665
+ };
666
+ exports.handleLegacyApiRoutes = handleLegacyApiRoutes;
@@ -0,0 +1,6 @@
1
+ import type { ModelProvider } from "@bolt-foundry/gambit-core";
2
+ export declare function handleOpenResponsesRequest(args: {
3
+ req: Request;
4
+ modelProvider: ModelProvider;
5
+ }): Promise<Response | null>;
6
+ //# sourceMappingURL=server_openresponses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server_openresponses.d.ts","sourceRoot":"","sources":["../../src/src/server_openresponses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,aAAa,EAMd,MAAM,2BAA2B,CAAC;AAwcnC,wBAAsB,0BAA0B,CAAC,IAAI,EAAE;IACrD,GAAG,EAAE,OAAO,CAAC;IACb,aAAa,EAAE,aAAa,CAAC;CAC9B,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAkT3B"}