@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,501 @@
1
+ import * as dntShim from "../_dnt.shims.js";
2
+ import * as path from "../deps/jsr.io/@std/path/1.1.4/mod.js";
3
+ import { parse } from "../deps/jsr.io/@std/jsonc/1.0.2/mod.js";
4
+ import { createElement } from "react";
5
+ import { renderToReadableStream } from "react-dom/server";
6
+ import { getSimulatorIsographEnvironment, } from "./server_isograph_environment.js";
7
+ import { createServerRedirectResponse, getRedirectFromEntrypoint, } from "./simulator_redirect_handler.js";
8
+ import { AppRoot } from "../simulator-ui/src/AppRoot.js";
9
+ import { isographAppRoutes as simulatorIsographAppRoutes, matchRouteWithParams as matchSimulatorRouteWithParams, } from "../simulator-ui/src/routing.js";
10
+ import { globalStyles } from "../simulator-ui/src/styles.js";
11
+ const moduleLocation = (() => {
12
+ const directoryFromUrl = (url) => {
13
+ if (!url || !url.startsWith("file:"))
14
+ return undefined;
15
+ return path.dirname(path.fromFileUrl(url));
16
+ };
17
+ try {
18
+ const resolved = globalThis[Symbol.for("import-meta-ponyfill-esmodule")](import.meta).resolve("./server_simulator_ui.ts");
19
+ const fromResolved = directoryFromUrl(resolved);
20
+ if (fromResolved)
21
+ return { dir: fromResolved, isLocal: true };
22
+ }
23
+ catch {
24
+ // ignore resolution failures and try other strategies
25
+ }
26
+ const fromMeta = directoryFromUrl(globalThis[Symbol.for("import-meta-ponyfill-esmodule")](import.meta).url);
27
+ if (fromMeta)
28
+ return { dir: fromMeta, isLocal: true };
29
+ return { dir: dntShim.Deno.cwd(), isLocal: false };
30
+ })();
31
+ const moduleDir = moduleLocation.dir;
32
+ const simulatorBundleUrl = (() => {
33
+ try {
34
+ return globalThis[Symbol.for("import-meta-ponyfill-esmodule")](import.meta).resolve("../simulator-ui/dist/bundle.js");
35
+ }
36
+ catch {
37
+ return undefined;
38
+ }
39
+ })();
40
+ const simulatorBundleSourceMapUrl = (() => {
41
+ try {
42
+ return globalThis[Symbol.for("import-meta-ponyfill-esmodule")](import.meta).resolve("../simulator-ui/dist/bundle.js.map");
43
+ }
44
+ catch {
45
+ return undefined;
46
+ }
47
+ })();
48
+ let cachedRemoteBundle = null;
49
+ let cachedRemoteBundleSourceMap = null;
50
+ const simulatorBundlePath = path.resolve(moduleDir, "..", "simulator-ui", "dist", "bundle.js");
51
+ const simulatorBundleSourceMapPath = path.resolve(moduleDir, "..", "simulator-ui", "dist", "bundle.js.map");
52
+ const simulatorFaviconDistPath = path.resolve(moduleDir, "..", "simulator-ui", "dist", "favicon.ico");
53
+ const simulatorFaviconSrcPath = path.resolve(moduleDir, "..", "simulator-ui", "src", "favicon.ico");
54
+ const gambitVersion = (() => {
55
+ const envVersion = dntShim.Deno.env.get("GAMBIT_VERSION")?.trim();
56
+ if (envVersion)
57
+ return envVersion;
58
+ const readVersion = (configPath) => {
59
+ try {
60
+ const text = dntShim.Deno.readTextFileSync(configPath);
61
+ const data = parse(text);
62
+ const version = typeof data.version === "string"
63
+ ? data.version.trim()
64
+ : "";
65
+ return version || null;
66
+ }
67
+ catch (err) {
68
+ if (err instanceof dntShim.Deno.errors.NotFound)
69
+ return null;
70
+ throw err;
71
+ }
72
+ };
73
+ const candidates = [
74
+ path.resolve(moduleDir, "..", "deno.jsonc"),
75
+ path.resolve(moduleDir, "..", "deno.json"),
76
+ ];
77
+ for (const candidate of candidates) {
78
+ const version = readVersion(candidate);
79
+ if (version)
80
+ return version;
81
+ }
82
+ return "unknown";
83
+ })();
84
+ const readEnvBoolean = (name, defaultValue) => {
85
+ const raw = dntShim.Deno.env.get(name);
86
+ if (raw === undefined)
87
+ return defaultValue;
88
+ const normalized = raw.trim().toLowerCase();
89
+ if (normalized === "1" || normalized === "true" || normalized === "yes" ||
90
+ normalized === "on") {
91
+ return true;
92
+ }
93
+ if (normalized === "0" || normalized === "false" || normalized === "no" ||
94
+ normalized === "off") {
95
+ return false;
96
+ }
97
+ return defaultValue;
98
+ };
99
+ function hasReactBundle() {
100
+ try {
101
+ const stat = dntShim.Deno.statSync(simulatorBundlePath);
102
+ return stat.isFile;
103
+ }
104
+ catch {
105
+ return false;
106
+ }
107
+ }
108
+ function hasReactBundleSourceMap() {
109
+ try {
110
+ const stat = dntShim.Deno.statSync(simulatorBundleSourceMapPath);
111
+ return stat.isFile;
112
+ }
113
+ catch {
114
+ return false;
115
+ }
116
+ }
117
+ function newestMtimeInDir(dirPath) {
118
+ const stack = [dirPath];
119
+ let newest = undefined;
120
+ while (stack.length > 0) {
121
+ const current = stack.pop();
122
+ if (!current)
123
+ continue;
124
+ let entries;
125
+ try {
126
+ entries = Array.from(dntShim.Deno.readDirSync(current));
127
+ }
128
+ catch {
129
+ continue;
130
+ }
131
+ for (const entry of entries) {
132
+ const entryPath = path.join(current, entry.name);
133
+ if (entry.isDirectory) {
134
+ stack.push(entryPath);
135
+ continue;
136
+ }
137
+ if (!entry.isFile)
138
+ continue;
139
+ try {
140
+ const stat = dntShim.Deno.statSync(entryPath);
141
+ if (!stat.isFile)
142
+ continue;
143
+ const mtime = stat.mtime?.getTime();
144
+ if (typeof mtime !== "number")
145
+ continue;
146
+ newest = newest === undefined ? mtime : Math.max(newest, mtime);
147
+ }
148
+ catch {
149
+ continue;
150
+ }
151
+ }
152
+ }
153
+ return newest;
154
+ }
155
+ function isReactBundleStale() {
156
+ try {
157
+ const bundleStat = dntShim.Deno.statSync(simulatorBundlePath);
158
+ if (!bundleStat.isFile)
159
+ return false;
160
+ const bundleTime = bundleStat.mtime?.getTime();
161
+ if (typeof bundleTime !== "number") {
162
+ return false;
163
+ }
164
+ const srcRoot = path.resolve(moduleDir, "..", "simulator-ui", "src");
165
+ const newestSource = newestMtimeInDir(srcRoot);
166
+ if (typeof newestSource !== "number")
167
+ return false;
168
+ return newestSource > bundleTime;
169
+ }
170
+ catch {
171
+ return false;
172
+ }
173
+ }
174
+ export function shouldAdvertiseSourceMap() {
175
+ if (hasReactBundleSourceMap())
176
+ return true;
177
+ if (!simulatorBundleSourceMapUrl)
178
+ return false;
179
+ return !simulatorBundleSourceMapUrl.startsWith("file:");
180
+ }
181
+ export async function readReactBundle() {
182
+ try {
183
+ return await dntShim.Deno.readFile(simulatorBundlePath);
184
+ }
185
+ catch {
186
+ return await readRemoteBundle(simulatorBundleUrl, "bundle");
187
+ }
188
+ }
189
+ export async function readReactBundleSourceMap() {
190
+ try {
191
+ return await dntShim.Deno.readFile(simulatorBundleSourceMapPath);
192
+ }
193
+ catch {
194
+ return await readRemoteBundle(simulatorBundleSourceMapUrl, "map");
195
+ }
196
+ }
197
+ export async function canServeReactBundle() {
198
+ if (hasReactBundle())
199
+ return true;
200
+ return (await readRemoteBundle(simulatorBundleUrl, "bundle")) !== null;
201
+ }
202
+ async function readRemoteBundle(url, kind) {
203
+ if (!url || url.startsWith("file:"))
204
+ return null;
205
+ const cached = kind === "bundle"
206
+ ? cachedRemoteBundle
207
+ : cachedRemoteBundleSourceMap;
208
+ if (cached)
209
+ return cached;
210
+ try {
211
+ const res = await fetch(url);
212
+ if (!res.ok)
213
+ return null;
214
+ const data = new Uint8Array(await res.arrayBuffer());
215
+ if (kind === "bundle") {
216
+ cachedRemoteBundle = data;
217
+ }
218
+ else {
219
+ cachedRemoteBundleSourceMap = data;
220
+ }
221
+ return data;
222
+ }
223
+ catch {
224
+ return null;
225
+ }
226
+ }
227
+ export function ensureSimulatorBundle(args) {
228
+ const needsBundle = !hasReactBundle() ||
229
+ (args.wantsSourceMap && !hasReactBundleSourceMap()) ||
230
+ isReactBundleStale();
231
+ const shouldAutoBundle = args.autoBundle && moduleLocation.isLocal &&
232
+ (args.forceBundle || needsBundle);
233
+ if (args.autoBundle && !moduleLocation.isLocal && args.verbose) {
234
+ args.logger.log("[sim] auto-bundle disabled for remote package; using packaged bundle.");
235
+ }
236
+ if (args.autoBundle && moduleLocation.isLocal && !shouldAutoBundle) {
237
+ args.logger.log("[sim] auto-bundle enabled; bundle already up to date.");
238
+ }
239
+ if (!shouldAutoBundle)
240
+ return;
241
+ args.logger.log(`[sim] auto-bundle enabled; rebuilding simulator UI (${args.forceBundle ? "forced" : "stale"})...`);
242
+ args.logger.log(`[sim] bundling simulator UI (${args.forceBundle ? "forced" : "stale"})...`);
243
+ try {
244
+ const decode = new TextDecoder();
245
+ const process = new dntShim.Deno.Command("deno", {
246
+ args: [
247
+ "bundle",
248
+ "--platform",
249
+ args.bundlePlatform,
250
+ ...(args.wantsSourceMap ? ["--sourcemap=external"] : []),
251
+ "--output",
252
+ "simulator-ui/dist/bundle.js",
253
+ "simulator-ui/src/main.tsx",
254
+ ],
255
+ cwd: path.resolve(moduleDir, ".."),
256
+ stdout: "piped",
257
+ stderr: "piped",
258
+ });
259
+ const out = process.outputSync();
260
+ if (!out.success) {
261
+ const stderr = decode.decode(out.stderr).trim();
262
+ const stdout = decode.decode(out.stdout).trim();
263
+ const details = stderr || stdout || `exit ${out.code}`;
264
+ throw new Error(`simulator UI bundle command failed (exit ${out.code}): ${details}`);
265
+ }
266
+ }
267
+ catch (err) {
268
+ const message = err instanceof Error ? err.message : String(err);
269
+ if (args.forceBundle) {
270
+ throw new Error(`[sim] auto-bundle failed: ${message}`);
271
+ }
272
+ args.logger.warn(`[sim] auto-bundle failed: ${message}`);
273
+ }
274
+ }
275
+ export async function handleSimulatorFaviconRequest(req) {
276
+ const url = new URL(req.url);
277
+ if (url.pathname !== "/favicon.ico")
278
+ return null;
279
+ if (req.method !== "GET" && req.method !== "HEAD") {
280
+ return new Response("Method not allowed", { status: 405 });
281
+ }
282
+ try {
283
+ const data = await dntShim.Deno.readFile(simulatorFaviconDistPath);
284
+ return new Response(req.method === "HEAD" ? null : data, {
285
+ headers: { "content-type": "image/x-icon" },
286
+ });
287
+ }
288
+ catch {
289
+ try {
290
+ const data = await dntShim.Deno.readFile(simulatorFaviconSrcPath);
291
+ return new Response(req.method === "HEAD" ? null : data, {
292
+ headers: { "content-type": "image/x-icon" },
293
+ });
294
+ }
295
+ catch {
296
+ return new Response("Not found", { status: 404 });
297
+ }
298
+ }
299
+ }
300
+ export function handleSimulatorPathRedirect(pathname) {
301
+ const matchedEntrypoint = Array.from(simulatorIsographAppRoutes).find(([pattern]) => matchSimulatorRouteWithParams(pathname, pattern).match)?.[1];
302
+ if (!matchedEntrypoint)
303
+ return null;
304
+ const globals = dntShim.dntGlobalThis;
305
+ const previousPath = globals.__GAMBIT_CURRENT_PATH__;
306
+ globals.__GAMBIT_CURRENT_PATH__ = pathname;
307
+ try {
308
+ const redirect = getRedirectFromEntrypoint(matchedEntrypoint);
309
+ return redirect ? createServerRedirectResponse(redirect.location) : null;
310
+ }
311
+ finally {
312
+ if (previousPath === undefined) {
313
+ delete globals.__GAMBIT_CURRENT_PATH__;
314
+ }
315
+ else {
316
+ globals.__GAMBIT_CURRENT_PATH__ = previousPath;
317
+ }
318
+ }
319
+ }
320
+ export async function simulatorReactHtml(deckPath, deckLabel, opts, readWorkspaceFiles, operations) {
321
+ const safeDeckPath = deckPath.replaceAll("<", "&lt;").replaceAll(">", "&gt;");
322
+ const safeDeckLabel = deckLabel?.replaceAll("<", "&lt;").replaceAll(">", "&gt;") ?? null;
323
+ const buildTabEnabled = readEnvBoolean("GAMBIT_SIMULATOR_BUILD_TAB", true);
324
+ const verifyTabEnabled = readEnvBoolean("GAMBIT_SIMULATOR_VERIFY_TAB", true);
325
+ const chatAccordionEnabled = readEnvBoolean("GAMBIT_SIMULATOR_CHAT_ACCORDION", false);
326
+ const buildStreamDebugEnabled = readEnvBoolean("GAMBIT_SIMULATOR_BUILD_STREAM_DEBUG", false);
327
+ const gambitDev = (() => {
328
+ const raw = (dntShim.Deno.env.get("GAMBIT_ENV") ?? dntShim.Deno.env.get("NODE_ENV") ?? "")
329
+ .trim()
330
+ .toLowerCase();
331
+ return raw === "development" || raw === "dev" || raw === "local";
332
+ })();
333
+ const bundleStamp = (() => {
334
+ try {
335
+ const stat = dntShim.Deno.statSync(simulatorBundlePath);
336
+ const mtime = stat.mtime?.getTime();
337
+ return typeof mtime === "number" ? String(mtime) : "";
338
+ }
339
+ catch {
340
+ return "";
341
+ }
342
+ })();
343
+ const bundleUrl = bundleStamp
344
+ ? `/ui/bundle.js?v=${bundleStamp}`
345
+ : "/ui/bundle.js";
346
+ const workspaceId = opts?.workspaceId ?? null;
347
+ const workspaceOnboarding = Boolean(opts?.onboarding);
348
+ const buildChatProvider = (() => {
349
+ const raw = (dntShim.Deno.env.get("GAMBIT_SIMULATOR_BUILD_CHAT_PROVIDER") ?? "")
350
+ .trim()
351
+ .toLowerCase();
352
+ return raw === "claude-code-cli" ? "claude-code-cli" : "codex-cli";
353
+ })();
354
+ const currentPath = opts?.currentPath ?? "/";
355
+ const serializeForScript = (value) => JSON.stringify(value)
356
+ .replace(/</g, "\\u003c")
357
+ .replace(/\u2028/g, "\\u2028")
358
+ .replace(/\u2029/g, "\\u2029");
359
+ let rootMarkup = "";
360
+ let isoPreloads = {};
361
+ if (readWorkspaceFiles) {
362
+ try {
363
+ const globals = dntShim.dntGlobalThis;
364
+ const previousPath = globals.__GAMBIT_CURRENT_PATH__;
365
+ const previousDeckPath = globals.__GAMBIT_DECK_PATH__;
366
+ const previousDeckLabel = globals.__GAMBIT_DECK_LABEL__;
367
+ const previousVersion = globals.__GAMBIT_VERSION__;
368
+ const previousBuildTabEnabled = globals.__GAMBIT_BUILD_TAB_ENABLED__;
369
+ const previousVerifyTabEnabled = globals.__GAMBIT_VERIFY_TAB_ENABLED__;
370
+ const previousChatAccordionEnabled = globals.__GAMBIT_CHAT_ACCORDION_ENABLED__;
371
+ const previousWorkspaceId = globals.__GAMBIT_WORKSPACE_ID__;
372
+ const previousWorkspaceOnboarding = globals.__GAMBIT_WORKSPACE_ONBOARDING__;
373
+ const previousBuildStreamDebug = globals.__GAMBIT_BUILD_STREAM_DEBUG__;
374
+ const previousDev = globals.__GAMBIT_DEV__;
375
+ globals.__GAMBIT_CURRENT_PATH__ = currentPath;
376
+ globals.__GAMBIT_DECK_PATH__ = safeDeckPath;
377
+ globals.__GAMBIT_DECK_LABEL__ = safeDeckLabel;
378
+ globals.__GAMBIT_VERSION__ = gambitVersion;
379
+ globals.__GAMBIT_BUILD_TAB_ENABLED__ = buildTabEnabled;
380
+ globals.__GAMBIT_VERIFY_TAB_ENABLED__ = verifyTabEnabled;
381
+ globals.__GAMBIT_CHAT_ACCORDION_ENABLED__ = chatAccordionEnabled;
382
+ globals.__GAMBIT_WORKSPACE_ID__ = workspaceId;
383
+ globals.__GAMBIT_WORKSPACE_ONBOARDING__ = workspaceOnboarding;
384
+ globals.__GAMBIT_BUILD_STREAM_DEBUG__ = buildStreamDebugEnabled;
385
+ globals.__GAMBIT_DEV__ = gambitDev;
386
+ try {
387
+ const { environment, preloads } = getSimulatorIsographEnvironment(readWorkspaceFiles, operations);
388
+ const stream = await renderToReadableStream(createElement(AppRoot, { environment, initialPath: currentPath }));
389
+ if ("allReady" in stream && stream.allReady) {
390
+ await stream.allReady;
391
+ }
392
+ rootMarkup = await new Response(stream).text();
393
+ isoPreloads = preloads;
394
+ }
395
+ finally {
396
+ if (previousPath === undefined) {
397
+ delete globals.__GAMBIT_CURRENT_PATH__;
398
+ }
399
+ else {
400
+ globals.__GAMBIT_CURRENT_PATH__ = previousPath;
401
+ }
402
+ if (previousDeckPath === undefined) {
403
+ delete globals.__GAMBIT_DECK_PATH__;
404
+ }
405
+ else {
406
+ globals.__GAMBIT_DECK_PATH__ = previousDeckPath;
407
+ }
408
+ if (previousDeckLabel === undefined) {
409
+ delete globals.__GAMBIT_DECK_LABEL__;
410
+ }
411
+ else {
412
+ globals.__GAMBIT_DECK_LABEL__ = previousDeckLabel;
413
+ }
414
+ if (previousVersion === undefined) {
415
+ delete globals.__GAMBIT_VERSION__;
416
+ }
417
+ else {
418
+ globals.__GAMBIT_VERSION__ = previousVersion;
419
+ }
420
+ if (previousBuildTabEnabled === undefined) {
421
+ delete globals.__GAMBIT_BUILD_TAB_ENABLED__;
422
+ }
423
+ else {
424
+ globals.__GAMBIT_BUILD_TAB_ENABLED__ = previousBuildTabEnabled;
425
+ }
426
+ if (previousVerifyTabEnabled === undefined) {
427
+ delete globals.__GAMBIT_VERIFY_TAB_ENABLED__;
428
+ }
429
+ else {
430
+ globals.__GAMBIT_VERIFY_TAB_ENABLED__ = previousVerifyTabEnabled;
431
+ }
432
+ if (previousChatAccordionEnabled === undefined) {
433
+ delete globals.__GAMBIT_CHAT_ACCORDION_ENABLED__;
434
+ }
435
+ else {
436
+ globals.__GAMBIT_CHAT_ACCORDION_ENABLED__ =
437
+ previousChatAccordionEnabled;
438
+ }
439
+ if (previousWorkspaceId === undefined) {
440
+ delete globals.__GAMBIT_WORKSPACE_ID__;
441
+ }
442
+ else {
443
+ globals.__GAMBIT_WORKSPACE_ID__ = previousWorkspaceId;
444
+ }
445
+ if (previousWorkspaceOnboarding === undefined) {
446
+ delete globals.__GAMBIT_WORKSPACE_ONBOARDING__;
447
+ }
448
+ else {
449
+ globals.__GAMBIT_WORKSPACE_ONBOARDING__ = previousWorkspaceOnboarding;
450
+ }
451
+ if (previousBuildStreamDebug === undefined) {
452
+ delete globals.__GAMBIT_BUILD_STREAM_DEBUG__;
453
+ }
454
+ else {
455
+ globals.__GAMBIT_BUILD_STREAM_DEBUG__ = previousBuildStreamDebug;
456
+ }
457
+ if (previousDev === undefined) {
458
+ delete globals.__GAMBIT_DEV__;
459
+ }
460
+ else {
461
+ globals.__GAMBIT_DEV__ = previousDev;
462
+ }
463
+ }
464
+ }
465
+ catch (err) {
466
+ const message = err instanceof Error ? err.message : String(err);
467
+ rootMarkup =
468
+ `<div style="padding:16px;font-family:ui-sans-serif,system-ui,sans-serif;color:#b91c1c">SSR error: ${message.replaceAll("<", "&lt;").replaceAll(">", "&gt;")}</div>`;
469
+ }
470
+ }
471
+ return `<!doctype html>
472
+ <html lang="en">
473
+ <head>
474
+ <meta charset="utf-8" />
475
+ <title>Gambit Debug</title>
476
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
477
+ <style>
478
+ ${globalStyles}
479
+ </style>
480
+ </head>
481
+ <body>
482
+ <div id="root">${rootMarkup}</div>
483
+ <script>
484
+ window.__GAMBIT_DECK_PATH__ = ${JSON.stringify(safeDeckPath)};
485
+ window.__GAMBIT_DECK_LABEL__ = ${JSON.stringify(safeDeckLabel)};
486
+ window.__GAMBIT_VERSION__ = ${JSON.stringify(gambitVersion)};
487
+ window.__GAMBIT_BUILD_TAB_ENABLED__ = ${JSON.stringify(buildTabEnabled)};
488
+ window.__GAMBIT_VERIFY_TAB_ENABLED__ = ${JSON.stringify(verifyTabEnabled)};
489
+ window.__GAMBIT_CHAT_ACCORDION_ENABLED__ = ${JSON.stringify(chatAccordionEnabled)};
490
+ window.__GAMBIT_WORKSPACE_ID__ = ${JSON.stringify(workspaceId)};
491
+ window.__GAMBIT_WORKSPACE_ONBOARDING__ = ${JSON.stringify(workspaceOnboarding)};
492
+ window.__GAMBIT_BUILD_STREAM_DEBUG__ = ${JSON.stringify(buildStreamDebugEnabled)};
493
+ window.__GAMBIT_BUILD_CHAT_PROVIDER__ = ${JSON.stringify(buildChatProvider)};
494
+ window.__GAMBIT_DEV__ = ${JSON.stringify(gambitDev)};
495
+ window.__GAMBIT_CURRENT_PATH__ = ${JSON.stringify(currentPath)};
496
+ window.__ISO_PRELOADED__ = ${serializeForScript(isoPreloads)};
497
+ </script>
498
+ <script type="module" src="${bundleUrl}"></script>
499
+ </body>
500
+ </html>`;
501
+ }
@@ -12,6 +12,28 @@ export type AvailableGraderDeck = {
12
12
  description?: string;
13
13
  path: string;
14
14
  };
15
+ export type PersistedAssistantDeck = {
16
+ deck: string;
17
+ startMode: "assistant" | "user";
18
+ modelParams?: Record<string, unknown>;
19
+ inputSchema?: unknown;
20
+ defaults?: unknown;
21
+ tools?: Array<DeckToolDescription>;
22
+ inputSchemaError?: string;
23
+ };
24
+ export type PersistedScenarioDeck = AvailableTestDeck & {
25
+ inputSchema?: unknown;
26
+ defaults?: unknown;
27
+ inputSchemaError?: string;
28
+ };
29
+ export type WorkspaceDeckState = {
30
+ workspaceId: string;
31
+ rootDeckPath: string;
32
+ assistantDeck: PersistedAssistantDeck;
33
+ scenarioDecks: Array<PersistedScenarioDeck>;
34
+ graderDecks: Array<AvailableGraderDeck>;
35
+ updatedAt: string;
36
+ };
15
37
  export type NormalizedSchema = {
16
38
  kind: "string" | "number" | "boolean" | "enum" | "object" | "array" | "unknown";
17
39
  optional: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"server_types.d.ts","sourceRoot":"","sources":["../../src/src/server_types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server_types.d.ts","sourceRoot":"","sources":["../../src/src/server_types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { LoadedDeck } from "@bolt-foundry/gambit-core";
2
+ import type { AvailableGraderDeck, AvailableTestDeck, PersistedAssistantDeck, PersistedScenarioDeck, SchemaDescription, WorkspaceDeckState } from "./server_types.js";
3
+ export declare const toDeckLabel: (filePath: string) => string;
4
+ export declare const toAvailableTestDeck: (deck: {
5
+ id?: string;
6
+ label?: string;
7
+ description?: string;
8
+ path: string;
9
+ maxTurns?: unknown;
10
+ }, index: number) => AvailableTestDeck;
11
+ export declare const toAvailableGraderDeck: (deck: {
12
+ id?: string;
13
+ label?: string;
14
+ description?: string;
15
+ path: string;
16
+ }, index: number) => AvailableGraderDeck;
17
+ export declare const summarizeDeckState: (deckState: Pick<WorkspaceDeckState, "scenarioDecks" | "graderDecks"> | null | undefined) => {
18
+ scenarioDeckCount: number;
19
+ scenarioDeckPaths: string[];
20
+ graderDeckCount: number;
21
+ };
22
+ export declare const buildWorkspaceDeckStateFromLoadedDeck: (args: {
23
+ workspaceId: string;
24
+ deck: LoadedDeck;
25
+ buildPersistedAssistantDeck: (deck: LoadedDeck) => PersistedAssistantDeck;
26
+ describeDeckInputSchemaFromPath: (deckPath: string) => Promise<SchemaDescription>;
27
+ }) => Promise<WorkspaceDeckState>;
28
+ export declare const buildRootScenarioFallback: (deckState: WorkspaceDeckState) => AvailableTestDeck;
29
+ export declare const resolveScenarioDeckFromState: (deckState: WorkspaceDeckState, identifier: string) => PersistedScenarioDeck | undefined;
30
+ export declare const resolveGraderDeckFromState: (deckState: WorkspaceDeckState, identifier: string) => AvailableGraderDeck | undefined;
31
+ //# sourceMappingURL=server_workspace_decks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server_workspace_decks.d.ts","sourceRoot":"","sources":["../../src/src/server_workspace_decks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAiB3B,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,KAAG,MAM9C,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM;IACJ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,EACD,OAAO,MAAM,KACZ,iBAiBF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,MAAM;IACJ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd,EACD,OAAO,MAAM,KACZ,mBAeF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,WACI,IAAI,CAAC,kBAAkB,EAAE,eAAe,GAAG,aAAa,CAAC,GACzD,IAAI,GACJ,SAAS;;;;CAOb,CAAC;AAEH,eAAO,MAAM,qCAAqC,GAAU,MAAM;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,2BAA2B,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,sBAAsB,CAAC;IAC1E,+BAA+B,EAAE,CAC/B,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACjC,KAAG,OAAO,CAAC,kBAAkB,CAuB7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,WAAW,kBAAkB,KAC5B,iBAKD,CAAC;AAEH,eAAO,MAAM,4BAA4B,GACvC,WAAW,kBAAkB,EAC7B,YAAY,MAAM,KACjB,qBAAqB,GAAG,SAM1B,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,WAAW,kBAAkB,EAC7B,YAAY,MAAM,KACjB,mBAAmB,GAAG,SAMxB,CAAC"}
@@ -0,0 +1,98 @@
1
+ import * as path from "../deps/jsr.io/@std/path/1.1.4/mod.js";
2
+ const slugify = (label) => {
3
+ return label.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/(^-|-$)+/g, "");
4
+ };
5
+ const parseDeckMaxTurns = (value) => {
6
+ if (typeof value !== "number" || !Number.isFinite(value))
7
+ return undefined;
8
+ const rounded = Math.round(value);
9
+ if (rounded < 1)
10
+ return 1;
11
+ if (rounded > 200)
12
+ return 200;
13
+ return rounded;
14
+ };
15
+ export const toDeckLabel = (filePath) => {
16
+ const base = path.basename(filePath);
17
+ return base
18
+ .replace(/\.deck\.(md|ts)$/i, "")
19
+ .replace(/[-_]+/g, " ")
20
+ .trim() || base;
21
+ };
22
+ export const toAvailableTestDeck = (deck, index) => {
23
+ const label = deck.label && typeof deck.label === "string"
24
+ ? deck.label
25
+ : toDeckLabel(deck.path);
26
+ const id = deck.id && typeof deck.id === "string"
27
+ ? deck.id
28
+ : slugify(`${label || "test-deck"}-${index}`);
29
+ const maxTurns = parseDeckMaxTurns(deck.maxTurns);
30
+ return {
31
+ id,
32
+ label: label || id,
33
+ description: typeof deck.description === "string"
34
+ ? deck.description
35
+ : undefined,
36
+ path: deck.path,
37
+ ...(maxTurns !== undefined ? { maxTurns } : {}),
38
+ };
39
+ };
40
+ export const toAvailableGraderDeck = (deck, index) => {
41
+ const label = deck.label && typeof deck.label === "string"
42
+ ? deck.label
43
+ : toDeckLabel(deck.path);
44
+ const id = deck.id && typeof deck.id === "string"
45
+ ? deck.id
46
+ : slugify(`${label || "grader-deck"}-${index}`);
47
+ return {
48
+ id,
49
+ label: label || id,
50
+ description: typeof deck.description === "string"
51
+ ? deck.description
52
+ : undefined,
53
+ path: deck.path,
54
+ };
55
+ };
56
+ export const summarizeDeckState = (deckState) => ({
57
+ scenarioDeckCount: deckState?.scenarioDecks.length ?? 0,
58
+ scenarioDeckPaths: (deckState?.scenarioDecks ?? []).slice(0, 12).map((deck) => deck.path),
59
+ graderDeckCount: deckState?.graderDecks.length ?? 0,
60
+ });
61
+ export const buildWorkspaceDeckStateFromLoadedDeck = async (args) => {
62
+ const scenarioDecks = await Promise.all((args.deck.testDecks ?? []).map(async (scenarioDeck, index) => {
63
+ const availableDeck = toAvailableTestDeck(scenarioDeck, index);
64
+ const desc = await args.describeDeckInputSchemaFromPath(availableDeck.path);
65
+ return {
66
+ ...availableDeck,
67
+ inputSchema: desc.schema,
68
+ defaults: desc.defaults,
69
+ inputSchemaError: desc.error,
70
+ };
71
+ }));
72
+ return {
73
+ workspaceId: args.workspaceId,
74
+ rootDeckPath: args.deck.path,
75
+ assistantDeck: args.buildPersistedAssistantDeck(args.deck),
76
+ scenarioDecks,
77
+ graderDecks: (args.deck.graderDecks ?? []).map(toAvailableGraderDeck),
78
+ updatedAt: new Date().toISOString(),
79
+ };
80
+ };
81
+ export const buildRootScenarioFallback = (deckState) => ({
82
+ id: "root",
83
+ label: toDeckLabel(deckState.assistantDeck.deck),
84
+ description: "Root simulator deck",
85
+ path: deckState.assistantDeck.deck,
86
+ });
87
+ export const resolveScenarioDeckFromState = (deckState, identifier) => {
88
+ if (!identifier)
89
+ return undefined;
90
+ const normalizedIdentifier = path.resolve(identifier);
91
+ return deckState.scenarioDecks.find((deck) => deck.id === identifier || path.resolve(deck.path) === normalizedIdentifier);
92
+ };
93
+ export const resolveGraderDeckFromState = (deckState, identifier) => {
94
+ if (!identifier)
95
+ return undefined;
96
+ const normalizedIdentifier = path.resolve(identifier);
97
+ return deckState.graderDecks.find((deck) => deck.id === identifier || path.resolve(deck.path) === normalizedIdentifier);
98
+ };