@bolt-foundry/gambit 0.8.6-rc.5 → 0.8.6-rc.7

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 (262) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/esm/gambit/simulator-ui/dist/bundle.js +14226 -23324
  3. package/esm/gambit/simulator-ui/dist/bundle.js.map +4 -4
  4. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/normalization_ast.d.ts.map +1 -1
  5. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/normalization_ast.js +5 -0
  6. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/query_text.d.ts +1 -1
  7. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/query_text.d.ts.map +1 -1
  8. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/query_text.js +1 -0
  9. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/raw_response_type.d.ts +1 -0
  10. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/raw_response_type.d.ts.map +1 -1
  11. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/normalization_ast.d.ts.map +1 -1
  12. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/normalization_ast.js +5 -0
  13. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.d.ts +1 -1
  14. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.d.ts.map +1 -1
  15. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.js +1 -0
  16. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts +1 -0
  17. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts.map +1 -1
  18. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/normalization_ast.d.ts.map +1 -1
  19. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/normalization_ast.js +5 -0
  20. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/query_text.d.ts +1 -1
  21. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/query_text.d.ts.map +1 -1
  22. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/query_text.js +1 -0
  23. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/raw_response_type.d.ts +1 -0
  24. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/raw_response_type.d.ts.map +1 -1
  25. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/normalization_ast.d.ts.map +1 -1
  26. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/normalization_ast.js +5 -0
  27. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.d.ts +1 -1
  28. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.d.ts.map +1 -1
  29. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.js +1 -0
  30. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/raw_response_type.d.ts +1 -0
  31. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/raw_response_type.d.ts.map +1 -1
  32. package/esm/simulator-ui/__generated__/__isograph/Workspace/GradeTab/param_type.d.ts +65 -0
  33. package/esm/simulator-ui/__generated__/__isograph/Workspace/GradeTab/param_type.d.ts.map +1 -1
  34. package/esm/simulator-ui/__generated__/__isograph/Workspace/GradeTab/resolver_reader.d.ts.map +1 -1
  35. package/esm/simulator-ui/__generated__/__isograph/Workspace/GradeTab/resolver_reader.js +8 -1
  36. package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts +82 -0
  37. package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts.map +1 -1
  38. package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/resolver_reader.d.ts.map +1 -1
  39. package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/resolver_reader.js +8 -1
  40. package/esm/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/param_type.d.ts +106 -0
  41. package/esm/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/param_type.d.ts.map +1 -1
  42. package/esm/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/resolver_reader.d.ts.map +1 -1
  43. package/esm/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/resolver_reader.js +8 -1
  44. package/esm/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/param_type.d.ts +32 -0
  45. package/esm/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/param_type.d.ts.map +1 -1
  46. package/esm/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/resolver_reader.d.ts.map +1 -1
  47. package/esm/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/resolver_reader.js +8 -1
  48. package/esm/simulator-ui/isograph/components/Query/SimulatorBuildPage.d.ts.map +1 -1
  49. package/esm/simulator-ui/isograph/components/Query/SimulatorBuildPage.js +4 -11
  50. package/esm/simulator-ui/isograph/components/Query/SimulatorGradePage.d.ts.map +1 -1
  51. package/esm/simulator-ui/isograph/components/Query/SimulatorGradePage.js +79 -20
  52. package/esm/simulator-ui/isograph/components/Query/SimulatorTestPage.d.ts.map +1 -1
  53. package/esm/simulator-ui/isograph/components/Query/SimulatorTestPage.js +88 -27
  54. package/esm/simulator-ui/isograph/components/Query/SimulatorVerifyPage.d.ts.map +1 -1
  55. package/esm/simulator-ui/isograph/components/Query/SimulatorVerifyPage.js +31 -17
  56. package/esm/simulator-ui/isograph/components/Query/SimulatorWorkspacesPage.d.ts.map +1 -1
  57. package/esm/simulator-ui/isograph/components/Query/SimulatorWorkspacesPage.js +2 -6
  58. package/esm/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.d.ts.map +1 -1
  59. package/esm/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.js +27 -23
  60. package/esm/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.d.ts +3 -0
  61. package/esm/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.d.ts.map +1 -1
  62. package/esm/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.js +76 -50
  63. package/esm/simulator-ui/isograph/components/grade/GradeTabView.d.ts +14 -0
  64. package/esm/simulator-ui/isograph/components/grade/GradeTabView.d.ts.map +1 -1
  65. package/esm/simulator-ui/isograph/components/grade/GradeTabView.js +1 -1
  66. package/esm/simulator-ui/isograph/entrypoints/EntrypointSimulatorRedirect.d.ts.map +1 -1
  67. package/esm/simulator-ui/isograph/entrypoints/EntrypointSimulatorRedirect.js +3 -16
  68. package/esm/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.d.ts.map +1 -1
  69. package/esm/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.js +1 -9
  70. package/esm/simulator-ui/src/AppShell.d.ts.map +1 -1
  71. package/esm/simulator-ui/src/AppShell.js +21 -31
  72. package/esm/simulator-ui/src/Chat.d.ts +6 -30
  73. package/esm/simulator-ui/src/Chat.d.ts.map +1 -1
  74. package/esm/simulator-ui/src/Chat.js +14 -109
  75. package/esm/simulator-ui/src/MinimalRouterRoot.d.ts.map +1 -1
  76. package/esm/simulator-ui/src/MinimalRouterRoot.js +1 -16
  77. package/esm/simulator-ui/src/TestBotChatPanel.d.ts +2 -0
  78. package/esm/simulator-ui/src/TestBotChatPanel.d.ts.map +1 -1
  79. package/esm/simulator-ui/src/TestBotChatPanel.js +2 -2
  80. package/esm/simulator-ui/src/WorkbenchChatIntro.d.ts +10 -0
  81. package/esm/simulator-ui/src/WorkbenchChatIntro.d.ts.map +1 -0
  82. package/esm/simulator-ui/src/WorkbenchChatIntro.js +24 -0
  83. package/esm/simulator-ui/src/WorkbenchDrawerIso.d.ts +1 -0
  84. package/esm/simulator-ui/src/WorkbenchDrawerIso.d.ts.map +1 -1
  85. package/esm/simulator-ui/src/WorkbenchDrawerIso.js +3 -15
  86. package/esm/simulator-ui/src/gds/WorkbenchComposerChip.d.ts +2 -17
  87. package/esm/simulator-ui/src/gds/WorkbenchComposerChip.d.ts.map +1 -1
  88. package/esm/simulator-ui/src/grade/GradeResultsPanel.d.ts +10 -0
  89. package/esm/simulator-ui/src/grade/GradeResultsPanel.d.ts.map +1 -1
  90. package/esm/simulator-ui/src/grade/GradeResultsPanel.js +16 -1
  91. package/esm/simulator-ui/src/routing.d.ts.map +1 -1
  92. package/esm/simulator-ui/src/routing.js +0 -31
  93. package/esm/simulator-ui/src/shared.d.ts +1 -0
  94. package/esm/simulator-ui/src/shared.d.ts.map +1 -1
  95. package/esm/simulator-ui/src/shared.js +4 -2
  96. package/esm/simulator-ui/src/styles.d.ts +1 -1
  97. package/esm/simulator-ui/src/styles.d.ts.map +1 -1
  98. package/esm/simulator-ui/src/styles.js +65 -0
  99. package/esm/simulator-ui/src/utils.d.ts +1 -0
  100. package/esm/simulator-ui/src/utils.d.ts.map +1 -1
  101. package/esm/simulator-ui/src/utils.js +2 -0
  102. package/esm/simulator-ui/src/workbenchChipStore.d.ts +12 -0
  103. package/esm/simulator-ui/src/workbenchChipStore.d.ts.map +1 -0
  104. package/esm/simulator-ui/src/workbenchChipStore.js +69 -0
  105. package/esm/simulator-ui/src/workbenchContext.d.ts +50 -0
  106. package/esm/simulator-ui/src/workbenchContext.d.ts.map +1 -0
  107. package/esm/simulator-ui/src/workbenchContext.js +159 -0
  108. package/esm/src/server/request_handler.d.ts.map +1 -1
  109. package/esm/src/server/request_handler.js +0 -40
  110. package/esm/src/server.js +1 -1
  111. package/esm/src/server_legacy_api_routes.d.ts +2 -122
  112. package/esm/src/server_legacy_api_routes.d.ts.map +1 -1
  113. package/esm/src/server_legacy_api_routes.js +0 -591
  114. package/esm/src/server_simulator_ui.d.ts.map +1 -1
  115. package/esm/src/server_simulator_ui.js +34 -0
  116. package/esm/src/server_ui_routes.d.ts.map +1 -1
  117. package/esm/src/server_ui_routes.js +0 -2
  118. package/esm/src/server_workspace_graphql.d.ts +1 -1
  119. package/esm/src/server_workspace_graphql.d.ts.map +1 -1
  120. package/esm/src/server_workspace_graphql.js +66 -46
  121. package/esm/src/simulator_graphql.d.ts.map +1 -1
  122. package/esm/src/simulator_graphql.js +5 -0
  123. package/package.json +1 -1
  124. package/script/gambit/simulator-ui/dist/bundle.js +14226 -23324
  125. package/script/gambit/simulator-ui/dist/bundle.js.map +4 -4
  126. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/normalization_ast.d.ts.map +1 -1
  127. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/normalization_ast.js +5 -0
  128. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/query_text.d.ts +1 -1
  129. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/query_text.d.ts.map +1 -1
  130. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/query_text.js +1 -0
  131. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/raw_response_type.d.ts +1 -0
  132. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/raw_response_type.d.ts.map +1 -1
  133. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/normalization_ast.d.ts.map +1 -1
  134. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/normalization_ast.js +5 -0
  135. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.d.ts +1 -1
  136. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.d.ts.map +1 -1
  137. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.js +1 -0
  138. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts +1 -0
  139. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts.map +1 -1
  140. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/normalization_ast.d.ts.map +1 -1
  141. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/normalization_ast.js +5 -0
  142. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/query_text.d.ts +1 -1
  143. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/query_text.d.ts.map +1 -1
  144. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/query_text.js +1 -0
  145. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/raw_response_type.d.ts +1 -0
  146. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/raw_response_type.d.ts.map +1 -1
  147. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/normalization_ast.d.ts.map +1 -1
  148. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/normalization_ast.js +5 -0
  149. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.d.ts +1 -1
  150. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.d.ts.map +1 -1
  151. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.js +1 -0
  152. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/raw_response_type.d.ts +1 -0
  153. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/raw_response_type.d.ts.map +1 -1
  154. package/script/simulator-ui/__generated__/__isograph/Workspace/GradeTab/param_type.d.ts +65 -0
  155. package/script/simulator-ui/__generated__/__isograph/Workspace/GradeTab/param_type.d.ts.map +1 -1
  156. package/script/simulator-ui/__generated__/__isograph/Workspace/GradeTab/resolver_reader.d.ts.map +1 -1
  157. package/script/simulator-ui/__generated__/__isograph/Workspace/GradeTab/resolver_reader.js +8 -1
  158. package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts +82 -0
  159. package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts.map +1 -1
  160. package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/resolver_reader.d.ts.map +1 -1
  161. package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/resolver_reader.js +8 -1
  162. package/script/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/param_type.d.ts +106 -0
  163. package/script/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/param_type.d.ts.map +1 -1
  164. package/script/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/resolver_reader.d.ts.map +1 -1
  165. package/script/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/resolver_reader.js +8 -1
  166. package/script/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/param_type.d.ts +32 -0
  167. package/script/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/param_type.d.ts.map +1 -1
  168. package/script/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/resolver_reader.d.ts.map +1 -1
  169. package/script/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/resolver_reader.js +8 -1
  170. package/script/simulator-ui/isograph/components/Query/SimulatorBuildPage.d.ts.map +1 -1
  171. package/script/simulator-ui/isograph/components/Query/SimulatorBuildPage.js +4 -11
  172. package/script/simulator-ui/isograph/components/Query/SimulatorGradePage.d.ts.map +1 -1
  173. package/script/simulator-ui/isograph/components/Query/SimulatorGradePage.js +112 -20
  174. package/script/simulator-ui/isograph/components/Query/SimulatorTestPage.d.ts.map +1 -1
  175. package/script/simulator-ui/isograph/components/Query/SimulatorTestPage.js +121 -27
  176. package/script/simulator-ui/isograph/components/Query/SimulatorVerifyPage.d.ts.map +1 -1
  177. package/script/simulator-ui/isograph/components/Query/SimulatorVerifyPage.js +31 -17
  178. package/script/simulator-ui/isograph/components/Query/SimulatorWorkspacesPage.d.ts.map +1 -1
  179. package/script/simulator-ui/isograph/components/Query/SimulatorWorkspacesPage.js +2 -6
  180. package/script/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.d.ts.map +1 -1
  181. package/script/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.js +26 -22
  182. package/script/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.d.ts +3 -0
  183. package/script/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.d.ts.map +1 -1
  184. package/script/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.js +75 -49
  185. package/script/simulator-ui/isograph/components/grade/GradeTabView.d.ts +14 -0
  186. package/script/simulator-ui/isograph/components/grade/GradeTabView.d.ts.map +1 -1
  187. package/script/simulator-ui/isograph/components/grade/GradeTabView.js +1 -1
  188. package/script/simulator-ui/isograph/entrypoints/EntrypointSimulatorRedirect.d.ts.map +1 -1
  189. package/script/simulator-ui/isograph/entrypoints/EntrypointSimulatorRedirect.js +3 -16
  190. package/script/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.d.ts.map +1 -1
  191. package/script/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.js +1 -9
  192. package/script/simulator-ui/src/AppShell.d.ts.map +1 -1
  193. package/script/simulator-ui/src/AppShell.js +21 -31
  194. package/script/simulator-ui/src/Chat.d.ts +6 -30
  195. package/script/simulator-ui/src/Chat.d.ts.map +1 -1
  196. package/script/simulator-ui/src/Chat.js +14 -109
  197. package/script/simulator-ui/src/MinimalRouterRoot.d.ts.map +1 -1
  198. package/script/simulator-ui/src/MinimalRouterRoot.js +1 -16
  199. package/script/simulator-ui/src/TestBotChatPanel.d.ts +2 -0
  200. package/script/simulator-ui/src/TestBotChatPanel.d.ts.map +1 -1
  201. package/script/simulator-ui/src/TestBotChatPanel.js +2 -2
  202. package/script/simulator-ui/src/WorkbenchChatIntro.d.ts +10 -0
  203. package/script/simulator-ui/src/WorkbenchChatIntro.d.ts.map +1 -0
  204. package/script/simulator-ui/src/WorkbenchChatIntro.js +30 -0
  205. package/script/simulator-ui/src/WorkbenchDrawerIso.d.ts +1 -0
  206. package/script/simulator-ui/src/WorkbenchDrawerIso.d.ts.map +1 -1
  207. package/script/simulator-ui/src/WorkbenchDrawerIso.js +3 -15
  208. package/script/simulator-ui/src/gds/WorkbenchComposerChip.d.ts +2 -17
  209. package/script/simulator-ui/src/gds/WorkbenchComposerChip.d.ts.map +1 -1
  210. package/script/simulator-ui/src/grade/GradeResultsPanel.d.ts +10 -0
  211. package/script/simulator-ui/src/grade/GradeResultsPanel.d.ts.map +1 -1
  212. package/script/simulator-ui/src/grade/GradeResultsPanel.js +16 -1
  213. package/script/simulator-ui/src/routing.d.ts.map +1 -1
  214. package/script/simulator-ui/src/routing.js +0 -31
  215. package/script/simulator-ui/src/shared.d.ts +1 -0
  216. package/script/simulator-ui/src/shared.d.ts.map +1 -1
  217. package/script/simulator-ui/src/shared.js +4 -2
  218. package/script/simulator-ui/src/styles.d.ts +1 -1
  219. package/script/simulator-ui/src/styles.d.ts.map +1 -1
  220. package/script/simulator-ui/src/styles.js +65 -0
  221. package/script/simulator-ui/src/utils.d.ts +1 -0
  222. package/script/simulator-ui/src/utils.d.ts.map +1 -1
  223. package/script/simulator-ui/src/utils.js +3 -1
  224. package/script/simulator-ui/src/workbenchChipStore.d.ts +12 -0
  225. package/script/simulator-ui/src/workbenchChipStore.d.ts.map +1 -0
  226. package/script/simulator-ui/src/workbenchChipStore.js +108 -0
  227. package/script/simulator-ui/src/workbenchContext.d.ts +50 -0
  228. package/script/simulator-ui/src/workbenchContext.d.ts.map +1 -0
  229. package/script/simulator-ui/src/workbenchContext.js +165 -0
  230. package/script/src/server/request_handler.d.ts.map +1 -1
  231. package/script/src/server/request_handler.js +0 -40
  232. package/script/src/server.js +1 -1
  233. package/script/src/server_legacy_api_routes.d.ts +2 -122
  234. package/script/src/server_legacy_api_routes.d.ts.map +1 -1
  235. package/script/src/server_legacy_api_routes.js +0 -624
  236. package/script/src/server_simulator_ui.d.ts.map +1 -1
  237. package/script/src/server_simulator_ui.js +34 -0
  238. package/script/src/server_ui_routes.d.ts.map +1 -1
  239. package/script/src/server_ui_routes.js +0 -2
  240. package/script/src/server_workspace_graphql.d.ts +1 -1
  241. package/script/src/server_workspace_graphql.d.ts.map +1 -1
  242. package/script/src/server_workspace_graphql.js +66 -46
  243. package/script/src/simulator_graphql.d.ts.map +1 -1
  244. package/script/src/simulator_graphql.js +5 -0
  245. package/esm/simulator-ui/src/ProviderLoginPanel.d.ts +0 -8
  246. package/esm/simulator-ui/src/ProviderLoginPanel.d.ts.map +0 -1
  247. package/esm/simulator-ui/src/ProviderLoginPanel.js +0 -156
  248. package/esm/simulator-ui/src/WorkbenchDrawer.d.ts +0 -38
  249. package/esm/simulator-ui/src/WorkbenchDrawer.d.ts.map +0 -1
  250. package/esm/simulator-ui/src/WorkbenchDrawer.js +0 -716
  251. package/esm/simulator-ui/src/gds/Accordion.d.ts +0 -19
  252. package/esm/simulator-ui/src/gds/Accordion.d.ts.map +0 -1
  253. package/esm/simulator-ui/src/gds/Accordion.js +0 -47
  254. package/script/simulator-ui/src/ProviderLoginPanel.d.ts +0 -8
  255. package/script/simulator-ui/src/ProviderLoginPanel.d.ts.map +0 -1
  256. package/script/simulator-ui/src/ProviderLoginPanel.js +0 -162
  257. package/script/simulator-ui/src/WorkbenchDrawer.d.ts +0 -38
  258. package/script/simulator-ui/src/WorkbenchDrawer.d.ts.map +0 -1
  259. package/script/simulator-ui/src/WorkbenchDrawer.js +0 -722
  260. package/script/simulator-ui/src/gds/Accordion.d.ts +0 -19
  261. package/script/simulator-ui/src/gds/Accordion.d.ts.map +0 -1
  262. package/script/simulator-ui/src/gds/Accordion.js +0 -86
@@ -1,9 +1,43 @@
1
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
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
5
38
  Object.defineProperty(exports, "__esModule", { value: true });
6
39
  exports.SimulatorTestPage = void 0;
40
+ const dntShim = __importStar(require("../../../../_dnt.shims.js"));
7
41
  const iso_js_1 = require("../../../__generated__/__isograph/iso.js");
8
42
  const react_1 = require("react");
9
43
  const workspace_routes_js_1 = require("../../../../src/workspace_routes.js");
@@ -24,6 +58,7 @@ const PageShell_js_1 = __importDefault(require("../../../src/gds/PageShell.js"))
24
58
  const PageGrid_js_1 = __importDefault(require("../../../src/gds/PageGrid.js"));
25
59
  const Callout_js_1 = __importDefault(require("../../../src/gds/Callout.js"));
26
60
  const TestBotChatPanel_js_1 = __importDefault(require("../../../src/TestBotChatPanel.js"));
61
+ const workbenchChipStore_js_1 = require("../../../src/workbenchChipStore.js");
27
62
  function toTestBotStatus(status) {
28
63
  const normalized = status.trim().toUpperCase();
29
64
  if (normalized === "RUNNING")
@@ -37,6 +72,35 @@ function toTestBotStatus(status) {
37
72
  }
38
73
  return "idle";
39
74
  }
75
+ function isBuildChatDebugEnabled() {
76
+ if (typeof dntShim.dntGlobalThis === "undefined")
77
+ return false;
78
+ if ("location" in dntShim.dntGlobalThis && globalThis.location) {
79
+ const search = typeof globalThis.location.search === "string"
80
+ ? globalThis.location.search
81
+ : "";
82
+ if (search.length > 0) {
83
+ const value = new URLSearchParams(search).get("gambitBuildChatDebug");
84
+ if (value === "1" || value === "true")
85
+ return true;
86
+ }
87
+ }
88
+ let stored = "";
89
+ try {
90
+ stored = (globalThis.localStorage?.getItem("gambit:build-chat-debug") ?? "")
91
+ .toLowerCase()
92
+ .trim();
93
+ }
94
+ catch {
95
+ return false;
96
+ }
97
+ return stored === "1" || stored === "true" || stored === "yes";
98
+ }
99
+ function logTestChipDebug(event, payload) {
100
+ if (!isBuildChatDebugEnabled())
101
+ return;
102
+ console.info(`[test-chip-debug] ${event}`, payload);
103
+ }
40
104
  function toOptimisticScenarioRunEdges(args) {
41
105
  const edges = args.runs.map((run) => {
42
106
  const isActive = run.id === args.runId;
@@ -73,6 +137,7 @@ function toOptimisticScenarioRunEdges(args) {
73
137
  exports.SimulatorTestPage = (0, iso_js_1.iso)(`
74
138
  field Workspace.TestTab @component {
75
139
  id
140
+ workbenchSelectedContextChips @updatable
76
141
  scenarioDecks {
77
142
  id
78
143
  label
@@ -135,7 +200,7 @@ exports.SimulatorTestPage = (0, iso_js_1.iso)(`
135
200
  }
136
201
  }
137
202
  }
138
- `)(function SimulatorTestPage({ data }) {
203
+ `)(function SimulatorTestPage({ data, startUpdate }) {
139
204
  const parseJsonField = (0, react_1.useCallback)((value) => {
140
205
  if (typeof value !== "string")
141
206
  return value;
@@ -161,18 +226,12 @@ exports.SimulatorTestPage = (0, iso_js_1.iso)(`
161
226
  }
162
227
  }, []);
163
228
  const workspaceId = data.id ?? "";
229
+ const composerChips = (0, react_1.useMemo)(() => (0, workbenchChipStore_js_1.resolveWorkbenchSelectedContextChips)(workspaceId, data.workbenchSelectedContextChips), [data.workbenchSelectedContextChips, workspaceId]);
230
+ const updateComposerChips = (0, react_1.useCallback)((next) => {
231
+ (0, workbenchChipStore_js_1.replaceWorkbenchSelectedContextChips)(startUpdate, next, workspaceId);
232
+ }, [startUpdate, workspaceId]);
164
233
  const { currentRoutePath, navigate } = (0, RouterContext_js_1.useRouter)();
165
- const routePrefix = (0, react_1.useMemo)(() => currentRoutePath === "/isograph" ||
166
- currentRoutePath.startsWith("/isograph/")
167
- ? "/isograph"
168
- : "", [currentRoutePath]);
169
- const workspaceRoutePath = (0, react_1.useMemo)(() => {
170
- if (!routePrefix)
171
- return currentRoutePath;
172
- const stripped = currentRoutePath.slice(routePrefix.length);
173
- return stripped.length > 0 ? stripped : "/";
174
- }, [currentRoutePath, routePrefix]);
175
- const toPrefixedPath = (0, react_1.useCallback)((path) => `${routePrefix}${path}`, [routePrefix]);
234
+ const workspaceRoutePath = currentRoutePath;
176
235
  const scenarioDecks = (0, react_1.useMemo)(() => (data.scenarioDecks ?? []).flatMap((deck) => deck?.id && deck.label && deck.path
177
236
  ? [{
178
237
  id: deck.id,
@@ -365,7 +424,7 @@ exports.SimulatorTestPage = (0, iso_js_1.iso)(`
365
424
  const runId = result?.run?.id;
366
425
  if (!runId)
367
426
  return;
368
- navigate(toPrefixedPath((0, workspace_routes_js_1.buildWorkspacePath)("test", workspaceId, { runId })));
427
+ navigate((0, workspace_routes_js_1.buildWorkspacePath)("test", workspaceId, { runId }));
369
428
  },
370
429
  });
371
430
  }, [
@@ -375,7 +434,6 @@ exports.SimulatorTestPage = (0, iso_js_1.iso)(`
375
434
  scenarioJsonText,
376
435
  selectedScenarioDeck,
377
436
  startScenarioRun,
378
- toPrefixedPath,
379
437
  workspaceId,
380
438
  ]);
381
439
  const startAssistantChatRun = (0, react_1.useCallback)(async () => {
@@ -410,16 +468,15 @@ exports.SimulatorTestPage = (0, iso_js_1.iso)(`
410
468
  });
411
469
  if (!started)
412
470
  return null;
413
- navigate(toPrefixedPath((0, workspace_routes_js_1.buildWorkspacePath)("test", workspaceId, {
471
+ navigate((0, workspace_routes_js_1.buildWorkspacePath)("test", workspaceId, {
414
472
  runId: started.runId,
415
- })));
473
+ }));
416
474
  return started;
417
475
  }, [
418
476
  assistantInitJsonText,
419
477
  canStartAssistantRun,
420
478
  navigate,
421
479
  startScenarioRun,
422
- toPrefixedPath,
423
480
  workspaceId,
424
481
  ]);
425
482
  const kickoffAssistantTurn = (0, react_1.useCallback)(async (runId) => {
@@ -507,12 +564,13 @@ exports.SimulatorTestPage = (0, iso_js_1.iso)(`
507
564
  const showStartOverlay = Boolean(assistantDeck?.startMode !== "user" &&
508
565
  selectedRunNeedsAssistantStart);
509
566
  const hasActiveScenarioTurn = selectedRunState.status === "running";
510
- const handleStopRun = (0, react_1.useCallback)(async () => {
567
+ const handleStopRun = (0, react_1.useCallback)(() => {
511
568
  if (!selectedRun?.id || !workspaceId)
512
- return;
569
+ return Promise.resolve();
513
570
  stopScenarioRun.commit({
514
571
  input: { workspaceId, runId: selectedRun.id },
515
572
  });
573
+ return Promise.resolve();
516
574
  }, [selectedRun?.id, stopScenarioRun, workspaceId]);
517
575
  const handleSendChat = (0, react_1.useCallback)(async () => {
518
576
  const message = chatDraft.trim();
@@ -616,21 +674,21 @@ exports.SimulatorTestPage = (0, iso_js_1.iso)(`
616
674
  return;
617
675
  if (nextRunId === selectedRunHistoryValue)
618
676
  return;
619
- navigate(toPrefixedPath((0, workspace_routes_js_1.buildWorkspacePath)("test", workspaceId, {
677
+ navigate((0, workspace_routes_js_1.buildWorkspacePath)("test", workspaceId, {
620
678
  runId: nextRunId,
621
- })));
679
+ }));
622
680
  }, [
623
681
  navigate,
624
682
  selectedRunHistoryValue,
625
- toPrefixedPath,
626
683
  workspaceId,
627
684
  ]);
628
- const handleNewChat = (0, react_1.useCallback)(async () => {
685
+ const handleNewChat = (0, react_1.useCallback)(() => {
629
686
  if (!workspaceId)
630
- return;
687
+ return Promise.resolve();
631
688
  setChatDraft("");
632
- navigate(toPrefixedPath((0, workspace_routes_js_1.buildWorkspacePath)("test", workspaceId)));
633
- }, [navigate, toPrefixedPath, workspaceId]);
689
+ navigate((0, workspace_routes_js_1.buildWorkspacePath)("test", workspaceId));
690
+ return Promise.resolve();
691
+ }, [navigate, workspaceId]);
634
692
  const saveFeedback = (0, react_1.useCallback)(async (messageRefId, score, reason) => {
635
693
  if (!workspaceId) {
636
694
  throw new Error("Missing workspaceId for feedback save.");
@@ -766,6 +824,42 @@ exports.SimulatorTestPage = (0, iso_js_1.iso)(`
766
824
  ? (0, utils_js_1.formatJson)(assistantDeck.modelParams)
767
825
  : null }),
768
826
  React.createElement(TestBotChatPanel_js_1.default, { run: selectedRunState, runWorkspaceId: workspaceId, runStatusLabel: runStatusLabel, testChatDisplay: testChatDisplay, transcriptMessageCount: transcriptMessageCount, transcriptUserMessageCount: transcriptUserMessageCount, activeWorkspaceId: workspaceId || null, requestedRunNotFound: hasMissingSelectedRun, canStart: canStartScenarioRun, canRunPersona: canRunPersona, hasPersonaSelection: hasPersonaSelection, botJsonErrorCount: parsedScenarioJson.error ? 1 : 0, deckJsonErrorCount: parsedAssistantInitJson.error ? 1 : 0, missingBotInput: missingScenarioFields, missingDeckInit: missingAssistantInitFields, lastInitFill: null, isUserStart: assistantDeck?.startMode === "user", showStartOverlay: showStartOverlay, canStartAssistant: canStartAssistantRun, canSendChat: chatDraft.trim().length > 0 && !showStartOverlay &&
769
- !sendScenarioRun.inFlight && !hasActiveScenarioTurn, chatDraft: chatDraft, setChatDraft: setChatDraft, chatError: null, optimisticUser: null, streamingUser: null, streamingAssistant: null, startRun: async () => startNewScenarioRun(), stopRun: handleStopRun, handleNewChat: handleNewChat, handleSendChat: handleSendChat, handleStartAssistant: handleStartAssistant, onScore: saveFeedback, onReasonChange: saveFeedback }))));
827
+ !sendScenarioRun.inFlight && !hasActiveScenarioTurn, chatDraft: chatDraft, setChatDraft: setChatDraft, chatError: null, optimisticUser: null, streamingUser: null, streamingAssistant: null, startRun: () => {
828
+ startNewScenarioRun();
829
+ return Promise.resolve();
830
+ }, stopRun: handleStopRun, handleNewChat: handleNewChat, handleSendChat: handleSendChat, handleStartAssistant: handleStartAssistant, onScore: saveFeedback, onReasonChange: saveFeedback, onAddFeedbackToWorkbench: (feedback) => {
831
+ const chip = {
832
+ chipId: `rating:${feedback.messageRefId}:${feedback.id}`,
833
+ source: "message_rating",
834
+ workspaceId,
835
+ runId: feedback.runId,
836
+ capturedAt: feedback.createdAt ?? new Date().toISOString(),
837
+ messageRefId: feedback.messageRefId,
838
+ score: feedback.score,
839
+ reason: feedback.reason,
840
+ enabled: true,
841
+ };
842
+ logTestChipDebug("feedback.add_to_workbench", {
843
+ messageRefId: feedback.messageRefId,
844
+ score: feedback.score,
845
+ reason: feedback.reason,
846
+ chip,
847
+ });
848
+ updateComposerChips((0, workbenchChipStore_js_1.mergeWorkbenchSelectedContextChip)(composerChips, chip));
849
+ }, onAddErrorToWorkbench: (payload) => {
850
+ if (!payload.error)
851
+ return;
852
+ updateComposerChips((0, workbenchChipStore_js_1.mergeWorkbenchSelectedContextChip)(composerChips, {
853
+ chipId: `scenario_run_error:${payload.runId ?? selectedRunState.id ?? workspaceId}`,
854
+ source: payload.source === "grader_run_error"
855
+ ? "grader_run_error"
856
+ : "scenario_run_error",
857
+ workspaceId: payload.workspaceId ?? workspaceId,
858
+ runId: payload.runId ?? selectedRunState.id,
859
+ capturedAt: new Date().toISOString(),
860
+ error: payload.error,
861
+ enabled: true,
862
+ }));
863
+ } }))));
770
864
  });
771
865
  exports.default = exports.SimulatorTestPage;
@@ -1 +1 @@
1
- {"version":3,"file":"SimulatorVerifyPage.d.ts","sourceRoot":"","sources":["../../../../../src/simulator-ui/isograph/components/Query/SimulatorVerifyPage.tsx"],"names":[],"mappings":"AA6IA,eAAO,MAAM,mBAAmB,8LAyyB9B,CAAC;AAEH,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"SimulatorVerifyPage.d.ts","sourceRoot":"","sources":["../../../../../src/simulator-ui/isograph/components/Query/SimulatorVerifyPage.tsx"],"names":[],"mappings":"AA+IA,eAAO,MAAM,mBAAmB,8LAo1B9B,CAAC;AAEH,eAAe,mBAAmB,CAAC"}
@@ -20,6 +20,7 @@ const PageGrid_js_1 = __importDefault(require("../../../src/gds/PageGrid.js"));
20
20
  const PageShell_js_1 = __importDefault(require("../../../src/gds/PageShell.js"));
21
21
  const Panel_js_1 = __importDefault(require("../../../src/gds/Panel.js"));
22
22
  const utils_js_1 = require("../../../src/utils.js");
23
+ const workbenchChipStore_js_1 = require("../../../src/workbenchChipStore.js");
23
24
  const verify_unified_js_1 = require("../../../src/verify_unified.js");
24
25
  const MAX_SCENARIO_RUNS = verify_unified_js_1.VERIFY_LIMITS.scenarioRunsMax;
25
26
  const MAX_GRADER_REPEATS = verify_unified_js_1.VERIFY_LIMITS.graderRepeatsMax;
@@ -27,11 +28,6 @@ const MAX_BATCH_CONCURRENCY = verify_unified_js_1.VERIFY_LIMITS.concurrencyMax;
27
28
  const DEFAULT_SCENARIO_RUNS = verify_unified_js_1.VERIFY_DEFAULTS.scenarioRuns;
28
29
  const DEFAULT_GRADER_REPEATS = verify_unified_js_1.VERIFY_DEFAULTS.graderRepeatsPerScenario;
29
30
  const DEFAULT_BATCH_CONCURRENCY = verify_unified_js_1.VERIFY_DEFAULTS.concurrency;
30
- function getRoutePrefix(path) {
31
- return path === "/isograph" || path.startsWith("/isograph/")
32
- ? "/isograph"
33
- : "";
34
- }
35
31
  function toBatchStatus(status) {
36
32
  const normalized = (status ?? "").trim().toUpperCase();
37
33
  if (normalized === "RUNNING")
@@ -64,6 +60,7 @@ function formatPercent(value) {
64
60
  exports.SimulatorVerifyPage = (0, iso_js_1.iso)(`
65
61
  field Workspace.VerifyTab @component {
66
62
  id
63
+ workbenchSelectedContextChips @updatable
67
64
  scenarioDecks {
68
65
  id
69
66
  label
@@ -159,13 +156,13 @@ exports.SimulatorVerifyPage = (0, iso_js_1.iso)(`
159
156
  }
160
157
  }
161
158
  }
162
- `)(function SimulatorVerifyPage({ data }) {
159
+ `)(function SimulatorVerifyPage({ data, startUpdate }) {
163
160
  const workspaceId = data.id ?? "";
164
- const { currentRoutePath, navigate } = (0, RouterContext_js_1.useRouter)();
165
- const routePrefix = (0, react_1.useMemo)(() => getRoutePrefix(currentRoutePath), [
166
- currentRoutePath,
167
- ]);
168
- const toPrefixedPath = (0, react_1.useCallback)((path) => `${routePrefix}${path}`, [routePrefix]);
161
+ const composerChips = (0, react_1.useMemo)(() => (0, workbenchChipStore_js_1.resolveWorkbenchSelectedContextChips)(workspaceId, data.workbenchSelectedContextChips), [data.workbenchSelectedContextChips, workspaceId]);
162
+ const updateComposerChips = (0, react_1.useCallback)((next) => {
163
+ (0, workbenchChipStore_js_1.replaceWorkbenchSelectedContextChips)(startUpdate, next, workspaceId);
164
+ }, [startUpdate, workspaceId]);
165
+ const { navigate } = (0, RouterContext_js_1.useRouter)();
169
166
  const runBatchMutation = (0, useGambitTypedMutation_js_1.useGambitTypedMutation)(GambitWorkspaceVerifyBatchRunCreateMutation_js_1.default);
170
167
  (0, useGambitTypedSubscription_js_1.useGambitTypedSubscription)(GambitWorkspaceVerifyLiveSubscription_js_1.default, workspaceId ? { workspaceId } : null);
171
168
  const scenarioDecks = (0, react_1.useMemo)(() => data.scenarioDecks?.flatMap((deck) => {
@@ -385,8 +382,8 @@ exports.SimulatorVerifyPage = (0, iso_js_1.iso)(`
385
382
  ]);
386
383
  const navigateToGradeRun = (0, react_1.useCallback)((runId) => {
387
384
  const gradePath = (0, workspace_routes_js_1.buildWorkspacePath)("grade", workspaceId, { runId });
388
- navigate(toPrefixedPath(gradePath));
389
- }, [navigate, toPrefixedPath, workspaceId]);
385
+ navigate(gradePath);
386
+ }, [navigate, workspaceId]);
390
387
  return (React.createElement(PageShell_js_1.default, { className: "verify-shell" },
391
388
  React.createElement(PageGrid_js_1.default, { as: "main", className: "verify-layout" },
392
389
  React.createElement(Panel_js_1.default, { className: "verify-controls", "data-testid": "verify-tab-scaffold" },
@@ -531,9 +528,26 @@ exports.SimulatorVerifyPage = (0, iso_js_1.iso)(`
531
528
  outlier.messageRefId
532
529
  ? ` · ref ${outlier.messageRefId}`
533
530
  : ""),
534
- uniqueRunLinks.length > 0 && (React.createElement("div", { className: "verify-outlier-links" }, uniqueRunLinks.map((runId) => (React.createElement("a", { key: runId, href: toPrefixedPath((0, workspace_routes_js_1.buildWorkspacePath)("grade", workspaceId, {
531
+ React.createElement("div", { className: "verify-outlier-links" },
532
+ React.createElement("button", { type: "button", className: "link-button", "data-testid": "verify-outlier-add-to-chat", onClick: () => updateComposerChips((0, workbenchChipStore_js_1.mergeWorkbenchSelectedContextChip)(composerChips, {
533
+ chipId: `verify:${outlier.key}`,
534
+ source: "verify_outlier",
535
+ workspaceId,
536
+ runId: outlier.maxRunId ?? outlier.minRunId,
537
+ capturedAt: new Date().toISOString(),
538
+ batchId: selectedBatch?.id,
539
+ scenarioRunId: outlier.scenarioRunId,
540
+ messageRefId: outlier.messageRefId,
541
+ score: outlier.averageScore ?? undefined,
542
+ instability: (outlier.maxScore ?? 0) -
543
+ (outlier.minScore ?? 0) >= 2,
544
+ message: `${(0, utils_js_1.scenarioNameFromValue)(outlier.scenarioRunId) ??
545
+ outlier.scenarioRunId}: avg ${outlier.averageScore ?? "-"}, min/max ${outlier.minScore ?? "-"}/${outlier.maxScore ?? "-"}, samples ${outlier.completedSampleCount}/${outlier.gradeSampleCount}`,
546
+ enabled: true,
547
+ })) }, "Add to chat")),
548
+ uniqueRunLinks.length > 0 && (React.createElement("div", { className: "verify-outlier-links" }, uniqueRunLinks.map((runId) => (React.createElement("a", { key: runId, href: (0, workspace_routes_js_1.buildWorkspacePath)("grade", workspaceId, {
535
549
  runId,
536
- })), onClick: (event) => {
550
+ }), onClick: (event) => {
537
551
  event.preventDefault();
538
552
  navigateToGradeRun(runId);
539
553
  } },
@@ -578,9 +592,9 @@ exports.SimulatorVerifyPage = (0, iso_js_1.iso)(`
578
592
  request.scenarioRunId && (React.createElement("span", { className: "secondary-note" }, (0, utils_js_1.scenarioNameFromValue)(request.scenarioRunId) ??
579
593
  request.scenarioRunId)),
580
594
  request.runId
581
- ? (React.createElement("a", { href: toPrefixedPath((0, workspace_routes_js_1.buildWorkspacePath)("grade", workspaceId, {
595
+ ? (React.createElement("a", { href: (0, workspace_routes_js_1.buildWorkspacePath)("grade", workspaceId, {
582
596
  runId: request.runId,
583
- })), onClick: (event) => {
597
+ }), onClick: (event) => {
584
598
  event.preventDefault();
585
599
  navigateToGradeRun(request.runId);
586
600
  } }, request.runId))
@@ -1 +1 @@
1
- {"version":3,"file":"SimulatorWorkspacesPage.d.ts","sourceRoot":"","sources":["../../../../../src/simulator-ui/isograph/components/Query/SimulatorWorkspacesPage.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,uBAAuB,kNAqFlC,CAAC;AAEH,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"SimulatorWorkspacesPage.d.ts","sourceRoot":"","sources":["../../../../../src/simulator-ui/isograph/components/Query/SimulatorWorkspacesPage.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,uBAAuB,kNA6ElC,CAAC;AAEH,eAAe,uBAAuB,CAAC"}
@@ -29,11 +29,7 @@ exports.SimulatorWorkspacesPage = (0, iso_js_1.iso)(`
29
29
  }
30
30
  }
31
31
  `)(function SimulatorWorkspacesPage({ data }) {
32
- const { currentRoutePath, navigate } = (0, RouterContext_js_1.useRouter)();
33
- const routePrefix = currentRoutePath === "/isograph" ||
34
- currentRoutePath.startsWith("/isograph/")
35
- ? "/isograph"
36
- : "";
32
+ const { navigate } = (0, RouterContext_js_1.useRouter)();
37
33
  const workspaces = (data.gambitWorkspaces?.edges ?? [])
38
34
  .flatMap((edge) => {
39
35
  const node = edge?.node;
@@ -60,7 +56,7 @@ exports.SimulatorWorkspacesPage = (0, iso_js_1.iso)(`
60
56
  React.createElement("h1", null, "Workspaces"),
61
57
  React.createElement("p", { className: "docs-subtitle" }, "Open an existing workspace session.")),
62
58
  React.createElement(Panel_js_1.default, { className: "docs-section-card" }, workspaces.length > 0
63
- ? (React.createElement(List_js_1.default, null, workspaces.map((workspace) => (React.createElement("button", { key: workspace.id, type: "button", className: "gds-list-item-button", style: { width: "100%", display: "block" }, onClick: () => navigate(`${routePrefix}${(0, workspace_routes_js_1.buildWorkspacePath)("build", workspace.id)}`) },
59
+ ? (React.createElement(List_js_1.default, null, workspaces.map((workspace) => (React.createElement("button", { key: workspace.id, type: "button", className: "gds-list-item-button", style: { width: "100%", display: "block" }, onClick: () => navigate((0, workspace_routes_js_1.buildWorkspacePath)("build", workspace.id)) },
64
60
  React.createElement(ListItem_js_1.default, { title: workspace.testBotName ??
65
61
  workspace.deckSlug ??
66
62
  workspace.deck ??
@@ -1 +1 @@
1
- {"version":3,"file":"WorkbenchChatDrawer.d.ts","sourceRoot":"","sources":["../../../../../src/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.tsx"],"names":[],"mappings":"AAgEA,eAAO,MAAM,mBAAmB;UAwBkC,OAAO;iCAocvE,CAAC;AAEH,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"WorkbenchChatDrawer.d.ts","sourceRoot":"","sources":["../../../../../src/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.tsx"],"names":[],"mappings":"AAwEA,eAAO,MAAM,mBAAmB;UA4BJ,OAAO;iCAqdlC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -44,15 +44,16 @@ const GambitSimulatorResetWorkspaceMutation_js_1 = __importDefault(require("../.
44
44
  const GambitSimulatorStopRunMutation_js_1 = __importDefault(require("../../../mutations/GambitSimulatorStopRunMutation.js"));
45
45
  const GambitWorkspaceBuildRunCreateMutation_js_1 = __importDefault(require("../../../mutations/GambitWorkspaceBuildRunCreateMutation.js"));
46
46
  const GambitWorkspaceWorkbenchLiveSubscription_js_1 = __importDefault(require("../../../subscriptions/GambitWorkspaceWorkbenchLiveSubscription.js"));
47
- const Button_js_1 = __importDefault(require("../../../src/gds/Button.js"));
48
47
  const Callout_js_1 = __importDefault(require("../../../src/gds/Callout.js"));
49
48
  const Listbox_js_1 = __importDefault(require("../../../src/gds/Listbox.js"));
50
49
  const List_js_1 = __importDefault(require("../../../src/gds/List.js"));
51
50
  const ListItem_js_1 = __importDefault(require("../../../src/gds/ListItem.js"));
51
+ const WorkbenchChatIntro_js_1 = __importDefault(require("../../../src/WorkbenchChatIntro.js"));
52
52
  const useGambitTypedMutation_js_1 = require("../../../src/hooks/useGambitTypedMutation.js");
53
53
  const useGambitTypedSubscription_js_1 = require("../../../src/hooks/useGambitTypedSubscription.js");
54
54
  const WorkbenchDrawerIso_js_1 = __importDefault(require("../../../src/WorkbenchDrawerIso.js"));
55
55
  const utils_js_1 = require("../../../src/utils.js");
56
+ const workbenchChipStore_js_1 = require("../../../src/workbenchChipStore.js");
56
57
  const workspace_contract_js_1 = require("../../../../src/workspace_contract.js");
57
58
  const BUILD_CHAT_PROVIDER_STORAGE_KEY = "gambit:build-chat-provider";
58
59
  function toErrorMessage(error) {
@@ -94,6 +95,7 @@ function storeBuildChatProvider(provider) {
94
95
  exports.WorkbenchChatDrawer = (0, iso_js_1.iso)(`
95
96
  field Workspace.WorkbenchChatDrawer @component {
96
97
  id
98
+ workbenchSelectedContextChips @updatable
97
99
  models {
98
100
  codex {
99
101
  model
@@ -115,10 +117,14 @@ exports.WorkbenchChatDrawer = (0, iso_js_1.iso)(`
115
117
  }
116
118
  }
117
119
  }
118
- `)(function WorkbenchChatDrawer({ data }, componentProps) {
120
+ `)(function WorkbenchChatDrawer({ data, startUpdate }, componentProps) {
119
121
  const workspaceId = typeof data.id === "string" && data.id.trim().length > 0
120
122
  ? data.id
121
123
  : null;
124
+ const composerChips = (0, react_1.useMemo)(() => (0, workbenchChipStore_js_1.resolveWorkbenchSelectedContextChips)(workspaceId, data.workbenchSelectedContextChips), [data.workbenchSelectedContextChips, workspaceId]);
125
+ const updateComposerChips = (0, react_1.useCallback)((next) => {
126
+ (0, workbenchChipStore_js_1.replaceWorkbenchSelectedContextChips)(startUpdate, next, workspaceId);
127
+ }, [startUpdate, workspaceId]);
122
128
  (0, useGambitTypedSubscription_js_1.useGambitTypedSubscription)(GambitWorkspaceWorkbenchLiveSubscription_js_1.default, workspaceId ? { workspaceId } : null);
123
129
  const runNode = (data.buildRuns?.edges ?? []).flatMap((edge) => edge?.node ? [edge.node] : [])[0] ?? null;
124
130
  const codexStatus = data.models?.codex
@@ -149,6 +155,10 @@ exports.WorkbenchChatDrawer = (0, iso_js_1.iso)(`
149
155
  { value: "codex-cli", label: "Codex" },
150
156
  { value: "claude-code-cli", label: "Claude Code" },
151
157
  ], []);
158
+ const providerSelector = (React.createElement("label", { className: "workbench-provider-select-label" },
159
+ React.createElement("div", { className: "workbench-provider-select", onClick: (event) => event.stopPropagation(), onMouseDown: (event) => event.stopPropagation(), onKeyDown: (event) => event.stopPropagation() },
160
+ React.createElement(Listbox_js_1.default, { value: buildChatProvider, onChange: (value) => onBuildChatProviderChange(value), options: buildProviderOptions, disabled: createRunMutation.inFlight || stopRunMutation.inFlight ||
161
+ resetWorkspaceMutation.inFlight, size: "small", popoverMatchTriggerWidth: false, popoverMinWidth: 200, popoverAlign: "right" }))));
152
162
  const loadChatHistory = (0, react_1.useCallback)(async () => {
153
163
  setChatHistoryLoading(true);
154
164
  setChatHistoryError(null);
@@ -249,20 +259,12 @@ exports.WorkbenchChatDrawer = (0, iso_js_1.iso)(`
249
259
  }
250
260
  }, [createRunMutation, workspaceId]);
251
261
  const ConversationRunChat = runNode?.WorkbenchConversationRunChat ?? null;
252
- const headerActions = (React.createElement(React.Fragment, null,
253
- React.createElement("label", { className: "workbench-provider-select-label" },
254
- React.createElement("div", { className: "workbench-provider-select", onClick: (event) => event.stopPropagation(), onMouseDown: (event) => event.stopPropagation(), onKeyDown: (event) => event.stopPropagation() },
255
- React.createElement(Listbox_js_1.default, { value: buildChatProvider, onChange: (value) => onBuildChatProviderChange(value), options: buildProviderOptions, disabled: createRunMutation.inFlight || stopRunMutation.inFlight ||
256
- resetWorkspaceMutation.inFlight, size: "small", popoverMatchTriggerWidth: false, popoverMinWidth: 200, popoverAlign: "right" }))),
257
- React.createElement(Button_js_1.default, { variant: "secondary", size: "small", onClick: (event) => {
258
- event.stopPropagation();
259
- void resetWorkspace();
260
- }, disabled: !workspaceId || createRunMutation.inFlight ||
261
- stopRunMutation.inFlight || resetWorkspaceMutation.inFlight }, "New chat")));
262
+ const headerActions = (React.createElement(React.Fragment, null, providerSelector));
262
263
  const historyContent = (React.createElement(React.Fragment, null,
263
264
  chatHistoryLoading && (React.createElement(Callout_js_1.default, null, "Loading chat history\u2026")),
264
265
  chatHistoryError && React.createElement("div", { className: "error" }, chatHistoryError),
265
- !chatHistoryLoading && !chatHistoryError && chatHistory.length === 0 && (React.createElement(Callout_js_1.default, null, "No previous chats yet.")),
266
+ !chatHistoryLoading && !chatHistoryError && chatHistory.length === 0 &&
267
+ (React.createElement(Callout_js_1.default, null, "No previous chats yet.")),
266
268
  !chatHistoryLoading && !chatHistoryError && chatHistory.length > 0 && (React.createElement(List_js_1.default, { className: "workbench-chat-history-list" }, chatHistory.map((entry) => {
267
269
  const timestamp = entry.updatedAt ?? entry.startedAt;
268
270
  const label = timestamp
@@ -275,7 +277,7 @@ exports.WorkbenchChatDrawer = (0, iso_js_1.iso)(`
275
277
  React.createElement(ListItem_js_1.default, { title: `Chat - ${label}` })));
276
278
  })))));
277
279
  if (ConversationRunChat && workspaceId) {
278
- return (React.createElement(ConversationRunChat, { open: componentProps.open, isSending: createRunMutation.inFlight ||
280
+ return (React.createElement(ConversationRunChat, { open: componentProps.open, composerChips: composerChips, onComposerChipsChange: updateComposerChips, isSending: createRunMutation.inFlight ||
279
281
  resetWorkspaceMutation.inFlight, isStopping: stopRunMutation.inFlight, codexAccess: codexStatus, canStartNewChat: !resetWorkspaceMutation.inFlight, onNewChat: () => {
280
282
  void resetWorkspace();
281
283
  }, chatHeaderActions: headerActions, chatHistoryOpen: chatHistoryOpen, onToggleChatHistory: () => setChatHistoryOpen((previous) => !previous), chatHistoryContent: historyContent, onSend: (args) => {
@@ -420,14 +422,16 @@ exports.WorkbenchChatDrawer = (0, iso_js_1.iso)(`
420
422
  } }));
421
423
  }
422
424
  const fallbackBody = (React.createElement("div", { className: "test-bot-sidebar flex-column gap-8 flex-1 build-chat-panel" },
423
- React.createElement(Callout_js_1.default, { variant: "emphasis" }, "Start the assistant to begin editing."),
424
- React.createElement("div", { className: "composer-actions" },
425
- React.createElement(Button_js_1.default, { variant: "primary", "data-testid": "build-start", disabled: !workspaceId || createRunMutation.inFlight ||
426
- codexLoginRequired, onClick: () => {
427
- void startAssistant();
428
- } }, createRunMutation.inFlight ? "Starting..." : "Start")),
429
- codexLoginRequired && (React.createElement(Callout_js_1.default, { variant: "danger", title: "Codex login required" }, codexStatus?.statusText?.trim() || "Run `codex login` to continue.")),
425
+ React.createElement(WorkbenchChatIntro_js_1.default, { disabled: !workspaceId || createRunMutation.inFlight ||
426
+ codexLoginRequired, leadingContent: providerSelector, pending: createRunMutation.inFlight, title: "Start a workspace editing session", onStart: () => {
427
+ void startAssistant();
428
+ } }),
429
+ React.createElement(Callout_js_1.default, null, "Start a chat session to inspect the workspace and begin editing files."),
430
+ codexLoginRequired && (React.createElement(Callout_js_1.default, { variant: "danger", title: "Codex login required" }, codexStatus?.statusText?.trim() ||
431
+ "Run `codex login` to continue.")),
430
432
  chatError && React.createElement("div", { className: "error" }, chatError)));
431
- return (React.createElement(WorkbenchDrawerIso_js_1.default, { open: componentProps.open, runStatus: "IDLE", chatHeaderActions: headerActions, chatHistoryOpen: chatHistoryOpen, onToggleChatHistory: () => setChatHistoryOpen((previous) => !previous), chatHistoryContent: historyContent, chatBody: fallbackBody }));
433
+ return (React.createElement(WorkbenchDrawerIso_js_1.default, { open: componentProps.open, runStatus: "IDLE", chatHeaderActions: headerActions, showChatHistoryToggle: utils_js_1.workbenchChatTopActionsEnabled, chatHistoryOpen: utils_js_1.workbenchChatTopActionsEnabled
434
+ ? chatHistoryOpen
435
+ : false, onToggleChatHistory: () => setChatHistoryOpen((previous) => !previous), chatHistoryContent: historyContent, chatBody: fallbackBody }));
432
436
  });
433
437
  exports.default = exports.WorkbenchChatDrawer;
@@ -1,5 +1,6 @@
1
1
  import { type ReactNode } from "react";
2
2
  import { type OptimisticTranscriptEntry } from "../../../src/transcriptEntries.js";
3
+ import { type WorkbenchSelectedContextChip } from "../../../src/workbenchContext.js";
3
4
  export declare const WorkbenchConversationRunChat: (data: import("../../../__generated__/__isograph/WorkspaceConversationRun/WorkbenchConversationRunChat/param_type.js").WorkspaceConversationRun__WorkbenchConversationRunChat__param, componentProps: {
4
5
  open: boolean;
5
6
  codexAccess?: {
@@ -39,6 +40,8 @@ export declare const WorkbenchConversationRunChat: (data: import("../../../__gen
39
40
  chatHistoryOpen?: boolean;
40
41
  onToggleChatHistory?: () => void;
41
42
  chatHistoryContent?: ReactNode;
43
+ composerChips?: Array<WorkbenchSelectedContextChip>;
44
+ onComposerChipsChange?: (next: Array<WorkbenchSelectedContextChip>) => void;
42
45
  }) => import("react").JSX.Element;
43
46
  export default WorkbenchConversationRunChat;
44
47
  //# sourceMappingURL=WorkbenchConversationRunChat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkbenchConversationRunChat.d.ts","sourceRoot":"","sources":["../../../../../src/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAWf,OAAO,EAEL,KAAK,yBAAyB,EAK/B,MAAM,mCAAmC,CAAC;AA0J3C,eAAO,MAAM,4BAA4B;UAwCjC,OAAO;kBACC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,GAAG,IAAI;mBACO,MAAM;YACb,CAAC,IAAI,EAAE;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,wBAAwB,EAAE,MAAM,CAAC;QACjC,mBAAmB,EAAE,MAAM,CAAC;QAC5B,2BAA2B,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC9D,UAAU,EAAE,MAAM,IAAI,CAAC;QACvB,OAAO,EAAE,MAAM,IAAI,CAAC;KACrB,KAAK,IAAI;YACF,CAAC,IAAI,EAAE;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,wBAAwB,EAAE,MAAM,CAAC;QACjC,2BAA2B,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC9D,UAAU,EAAE,MAAM,IAAI,CAAC;QACvB,OAAO,EAAE,MAAM,IAAI,CAAC;KACrB,KAAK,IAAI;eACC,OAAO;gBACN,OAAO;sBACD,OAAO;gBACb,MAAM,IAAI;wBACF,SAAS;sBACX,OAAO;0BACH,MAAM,IAAI;yBACX,SAAS;iCAua9B,CAAC;AAEH,eAAe,4BAA4B,CAAC"}
1
+ {"version":3,"file":"WorkbenchConversationRunChat.d.ts","sourceRoot":"","sources":["../../../../../src/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAcf,OAAO,EAEL,KAAK,yBAAyB,EAK/B,MAAM,mCAAmC,CAAC;AAK3C,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,kCAAkC,CAAC;AAqJ1C,eAAO,MAAM,4BAA4B;UAwCjC,OAAO;kBACC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,GAAG,IAAI;mBACO,MAAM;YACb,CAAC,IAAI,EAAE;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,wBAAwB,EAAE,MAAM,CAAC;QACjC,mBAAmB,EAAE,MAAM,CAAC;QAC5B,2BAA2B,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC9D,UAAU,EAAE,MAAM,IAAI,CAAC;QACvB,OAAO,EAAE,MAAM,IAAI,CAAC;KACrB,KAAK,IAAI;YACF,CAAC,IAAI,EAAE;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,wBAAwB,EAAE,MAAM,CAAC;QACjC,2BAA2B,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC9D,UAAU,EAAE,MAAM,IAAI,CAAC;QACvB,OAAO,EAAE,MAAM,IAAI,CAAC;KACrB,KAAK,IAAI;eACC,OAAO;gBACN,OAAO;sBACD,OAAO;gBACb,MAAM,IAAI;wBACF,SAAS;sBACX,OAAO;0BACH,MAAM,IAAI;yBACX,SAAS;oBACd,KAAK,CAAC,4BAA4B,CAAC;4BAC3B,CAAC,IAAI,EAAE,KAAK,CAAC,4BAA4B,CAAC,KAAK,IAAI;iCAid3E,CAAC;AAEH,eAAe,4BAA4B,CAAC"}