@bolt-foundry/gambit 0.8.6-rc.2 → 0.8.6-rc.3

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 (567) hide show
  1. package/CHANGELOG.md +43 -1
  2. package/README.md +1 -1
  3. package/esm/gambit/simulator-ui/dist/bundle.js +2537 -1204
  4. package/esm/gambit/simulator-ui/dist/bundle.js.map +4 -4
  5. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/entrypoint.d.ts +7 -0
  6. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/entrypoint.d.ts.map +1 -0
  7. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/entrypoint.js +22 -0
  8. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/normalization_ast.d.ts +4 -0
  9. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/normalization_ast.d.ts.map +1 -0
  10. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/normalization_ast.js +275 -0
  11. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/output_type.d.ts +3 -0
  12. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/output_type.d.ts.map +1 -0
  13. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/output_type.js +1 -0
  14. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/param_type.d.ts +72 -0
  15. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/param_type.d.ts.map +1 -0
  16. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/param_type.js +1 -0
  17. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/parameters_type.d.ts +6 -0
  18. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/parameters_type.d.ts.map +1 -0
  19. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/parameters_type.js +1 -0
  20. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/query_text.d.ts +3 -0
  21. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/query_text.d.ts.map +1 -0
  22. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/query_text.js +59 -0
  23. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/raw_response_type.d.ts +55 -0
  24. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/raw_response_type.d.ts.map +1 -0
  25. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/raw_response_type.js +1 -0
  26. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/resolver_reader.d.ts +6 -0
  27. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/resolver_reader.d.ts.map +1 -0
  28. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/resolver_reader.js +360 -0
  29. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/param_type.d.ts +63 -63
  30. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/param_type.d.ts.map +1 -1
  31. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/raw_response_type.d.ts +63 -63
  32. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/raw_response_type.d.ts.map +1 -1
  33. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/param_type.d.ts +63 -63
  34. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/param_type.d.ts.map +1 -1
  35. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/raw_response_type.d.ts +63 -63
  36. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/raw_response_type.d.ts.map +1 -1
  37. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionSend/param_type.d.ts +61 -61
  38. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionSend/param_type.d.ts.map +1 -1
  39. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionSend/raw_response_type.d.ts +65 -65
  40. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionSend/raw_response_type.d.ts.map +1 -1
  41. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionStart/param_type.d.ts +21 -21
  42. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionStart/param_type.d.ts.map +1 -1
  43. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionStart/raw_response_type.d.ts +31 -31
  44. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionStart/raw_response_type.d.ts.map +1 -1
  45. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionStop/param_type.d.ts +61 -61
  46. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionStop/param_type.d.ts.map +1 -1
  47. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionStop/raw_response_type.d.ts +65 -65
  48. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionStop/raw_response_type.d.ts.map +1 -1
  49. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceCreate/param_type.d.ts +12 -12
  50. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceCreate/param_type.d.ts.map +1 -1
  51. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceCreate/raw_response_type.d.ts +12 -12
  52. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceCreate/raw_response_type.d.ts.map +1 -1
  53. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/entrypoint.d.ts +7 -0
  54. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/entrypoint.d.ts.map +1 -0
  55. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/entrypoint.js +22 -0
  56. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/normalization_ast.d.ts +4 -0
  57. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/normalization_ast.d.ts.map +1 -0
  58. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/normalization_ast.js +29 -0
  59. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/output_type.d.ts +3 -0
  60. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/output_type.d.ts.map +1 -0
  61. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/output_type.js +1 -0
  62. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/param_type.d.ts +11 -0
  63. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/param_type.d.ts.map +1 -0
  64. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/param_type.js +1 -0
  65. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/parameters_type.d.ts +4 -0
  66. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/parameters_type.d.ts.map +1 -0
  67. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/parameters_type.js +1 -0
  68. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/query_text.d.ts +3 -0
  69. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/query_text.d.ts.map +1 -0
  70. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/query_text.js +6 -0
  71. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/raw_response_type.d.ts +7 -0
  72. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/raw_response_type.d.ts.map +1 -0
  73. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/raw_response_type.js +1 -0
  74. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/resolver_reader.d.ts +6 -0
  75. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/resolver_reader.d.ts.map +1 -0
  76. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/resolver_reader.js +41 -0
  77. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeFlagReasonUpdate/param_type.d.ts +17 -17
  78. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeFlagReasonUpdate/param_type.d.ts.map +1 -1
  79. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeFlagReasonUpdate/raw_response_type.d.ts +17 -17
  80. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeFlagReasonUpdate/raw_response_type.d.ts.map +1 -1
  81. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeFlagToggle/param_type.d.ts +17 -17
  82. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeFlagToggle/param_type.d.ts.map +1 -1
  83. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeFlagToggle/raw_response_type.d.ts +17 -17
  84. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeFlagToggle/raw_response_type.d.ts.map +1 -1
  85. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeRunCreate/param_type.d.ts +45 -45
  86. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeRunCreate/param_type.d.ts.map +1 -1
  87. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeRunCreate/raw_response_type.d.ts +45 -45
  88. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeRunCreate/raw_response_type.d.ts.map +1 -1
  89. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/param_type.d.ts +58 -58
  90. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/param_type.d.ts.map +1 -1
  91. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/raw_response_type.d.ts +58 -58
  92. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/raw_response_type.d.ts.map +1 -1
  93. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/param_type.d.ts +35 -35
  94. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/param_type.d.ts.map +1 -1
  95. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/raw_response_type.d.ts +35 -35
  96. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/raw_response_type.d.ts.map +1 -1
  97. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/param_type.d.ts +58 -58
  98. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/param_type.d.ts.map +1 -1
  99. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/raw_response_type.d.ts +58 -58
  100. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/raw_response_type.d.ts.map +1 -1
  101. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceVerifyBatchRunCreate/param_type.d.ts +131 -131
  102. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceVerifyBatchRunCreate/param_type.d.ts.map +1 -1
  103. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceVerifyBatchRunCreate/raw_response_type.d.ts +131 -131
  104. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceVerifyBatchRunCreate/raw_response_type.d.ts.map +1 -1
  105. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointChatOptimisticPlaceholder/param_type.d.ts +3 -3
  106. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointChatOptimisticPlaceholder/param_type.d.ts.map +1 -1
  107. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointChatOptimisticPlaceholder/raw_response_type.d.ts +3 -3
  108. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointChatOptimisticPlaceholder/raw_response_type.d.ts.map +1 -1
  109. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorBuildPage/param_type.d.ts +2 -2
  110. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorBuildPage/param_type.d.ts.map +1 -1
  111. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorBuildPage/raw_response_type.d.ts +11 -11
  112. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorBuildPage/raw_response_type.d.ts.map +1 -1
  113. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/param_type.d.ts +2 -2
  114. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/param_type.d.ts.map +1 -1
  115. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/raw_response_type.d.ts +37 -37
  116. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/raw_response_type.d.ts.map +1 -1
  117. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/param_type.d.ts +2 -2
  118. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/param_type.d.ts.map +1 -1
  119. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts +33 -33
  120. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts.map +1 -1
  121. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/param_type.d.ts +2 -2
  122. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/param_type.d.ts.map +1 -1
  123. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/raw_response_type.d.ts +76 -76
  124. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/raw_response_type.d.ts.map +1 -1
  125. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/param_type.d.ts +3 -3
  126. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/param_type.d.ts.map +1 -1
  127. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/raw_response_type.d.ts +53 -53
  128. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/raw_response_type.d.ts.map +1 -1
  129. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaces/raw_response_type.d.ts +7 -7
  130. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaces/raw_response_type.d.ts.map +1 -1
  131. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/param_type.d.ts +78 -78
  132. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/param_type.d.ts.map +1 -1
  133. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/raw_response_type.d.ts +78 -78
  134. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/raw_response_type.d.ts.map +1 -1
  135. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildTabLiveWrite/param_type.d.ts +11 -11
  136. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildTabLiveWrite/param_type.d.ts.map +1 -1
  137. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildTabLiveWrite/raw_response_type.d.ts +11 -11
  138. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildTabLiveWrite/raw_response_type.d.ts.map +1 -1
  139. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceGradeLiveWrite/param_type.d.ts +37 -37
  140. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceGradeLiveWrite/param_type.d.ts.map +1 -1
  141. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceGradeLiveWrite/raw_response_type.d.ts +37 -37
  142. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceGradeLiveWrite/raw_response_type.d.ts.map +1 -1
  143. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceVerifyLiveWrite/param_type.d.ts +76 -76
  144. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceVerifyLiveWrite/param_type.d.ts.map +1 -1
  145. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceVerifyLiveWrite/raw_response_type.d.ts +76 -76
  146. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceVerifyLiveWrite/raw_response_type.d.ts.map +1 -1
  147. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/param_type.d.ts +21 -21
  148. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/param_type.d.ts.map +1 -1
  149. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/raw_response_type.d.ts +46 -46
  150. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/raw_response_type.d.ts.map +1 -1
  151. package/esm/simulator-ui/__generated__/__isograph/Query/SimulatorAppDrawer/param_type.d.ts +7 -7
  152. package/esm/simulator-ui/__generated__/__isograph/Query/SimulatorAppDrawer/param_type.d.ts.map +1 -1
  153. package/esm/simulator-ui/__generated__/__isograph/Query/SimulatorBuildContentShell/param_type.d.ts +2 -2
  154. package/esm/simulator-ui/__generated__/__isograph/Query/SimulatorBuildContentShell/param_type.d.ts.map +1 -1
  155. package/esm/simulator-ui/__generated__/__isograph/Query/SimulatorWorkspacesPage/param_type.d.ts +7 -7
  156. package/esm/simulator-ui/__generated__/__isograph/Query/SimulatorWorkspacesPage/param_type.d.ts.map +1 -1
  157. package/esm/simulator-ui/__generated__/__isograph/Workspace/BuildTab/param_type.d.ts +8 -8
  158. package/esm/simulator-ui/__generated__/__isograph/Workspace/BuildTab/param_type.d.ts.map +1 -1
  159. package/esm/simulator-ui/__generated__/__isograph/Workspace/GradeTab/param_type.d.ts +35 -35
  160. package/esm/simulator-ui/__generated__/__isograph/Workspace/GradeTab/param_type.d.ts.map +1 -1
  161. package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts +31 -31
  162. package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts.map +1 -1
  163. package/esm/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/param_type.d.ts +74 -74
  164. package/esm/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/param_type.d.ts.map +1 -1
  165. package/esm/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/param_type.d.ts +19 -19
  166. package/esm/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/param_type.d.ts.map +1 -1
  167. package/esm/simulator-ui/__generated__/__isograph/WorkspaceConversationRun/WorkbenchConversationRunChat/param_type.d.ts +26 -26
  168. package/esm/simulator-ui/__generated__/__isograph/WorkspaceConversationRun/WorkbenchConversationRunChat/param_type.d.ts.map +1 -1
  169. package/esm/simulator-ui/__generated__/__isograph/WorkspaceFile/PreviewFile/param_type.d.ts +2 -2
  170. package/esm/simulator-ui/__generated__/__isograph/WorkspaceFile/PreviewFile/param_type.d.ts.map +1 -1
  171. package/esm/simulator-ui/__generated__/__isograph/iso.d.ts +8 -0
  172. package/esm/simulator-ui/__generated__/__isograph/iso.d.ts.map +1 -1
  173. package/esm/simulator-ui/__generated__/__isograph/iso.js +6 -0
  174. package/esm/simulator-ui/__generated__/builtRoutes.d.ts +4 -0
  175. package/esm/simulator-ui/__generated__/builtRoutes.d.ts.map +1 -1
  176. package/esm/simulator-ui/__generated__/builtRoutes.js +6 -0
  177. package/esm/simulator-ui/isograph/components/Query/SimulatorAppDrawer.d.ts +6 -0
  178. package/esm/simulator-ui/isograph/components/Query/SimulatorAppDrawer.d.ts.map +1 -1
  179. package/esm/simulator-ui/isograph/components/Query/SimulatorAppDrawer.js +61 -14
  180. package/esm/simulator-ui/isograph/components/Query/SimulatorTestPage.d.ts.map +1 -1
  181. package/esm/simulator-ui/isograph/components/Query/SimulatorTestPage.js +10 -8
  182. package/esm/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.d.ts.map +1 -1
  183. package/esm/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.js +148 -3
  184. package/esm/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.d.ts +5 -0
  185. package/esm/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.d.ts.map +1 -1
  186. package/esm/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.js +1 -1
  187. package/esm/simulator-ui/isograph/components/grade/GradeTabView.d.ts.map +1 -1
  188. package/esm/simulator-ui/isograph/components/grade/GradeTabView.js +3 -1
  189. package/esm/simulator-ui/mutations/GambitSimulatorResetWorkspace.d.ts +55 -0
  190. package/esm/simulator-ui/mutations/GambitSimulatorResetWorkspace.d.ts.map +1 -0
  191. package/esm/simulator-ui/mutations/GambitSimulatorResetWorkspace.js +63 -0
  192. package/esm/simulator-ui/mutations/GambitSimulatorResetWorkspaceMutation.d.ts +55 -0
  193. package/esm/simulator-ui/mutations/GambitSimulatorResetWorkspaceMutation.d.ts.map +1 -0
  194. package/esm/simulator-ui/mutations/GambitSimulatorResetWorkspaceMutation.js +7 -0
  195. package/esm/simulator-ui/mutations/GambitSimulatorStopRun.d.ts +62 -62
  196. package/esm/simulator-ui/mutations/GambitSimulatorStopRun.d.ts.map +1 -1
  197. package/esm/simulator-ui/mutations/GambitSimulatorStopRunMutation.d.ts +62 -62
  198. package/esm/simulator-ui/mutations/GambitSimulatorStopRunMutation.d.ts.map +1 -1
  199. package/esm/simulator-ui/mutations/GambitWorkspaceBuildRunCreate.d.ts +62 -62
  200. package/esm/simulator-ui/mutations/GambitWorkspaceBuildRunCreate.d.ts.map +1 -1
  201. package/esm/simulator-ui/mutations/GambitWorkspaceBuildRunCreateMutation.d.ts +62 -62
  202. package/esm/simulator-ui/mutations/GambitWorkspaceBuildRunCreateMutation.d.ts.map +1 -1
  203. package/esm/simulator-ui/mutations/GambitWorkspaceConversationSessionSend.d.ts +60 -60
  204. package/esm/simulator-ui/mutations/GambitWorkspaceConversationSessionSend.d.ts.map +1 -1
  205. package/esm/simulator-ui/mutations/GambitWorkspaceConversationSessionStart.d.ts +20 -20
  206. package/esm/simulator-ui/mutations/GambitWorkspaceConversationSessionStart.d.ts.map +1 -1
  207. package/esm/simulator-ui/mutations/GambitWorkspaceConversationSessionStop.d.ts +60 -60
  208. package/esm/simulator-ui/mutations/GambitWorkspaceConversationSessionStop.d.ts.map +1 -1
  209. package/esm/simulator-ui/mutations/GambitWorkspaceCreate.d.ts +11 -11
  210. package/esm/simulator-ui/mutations/GambitWorkspaceCreate.d.ts.map +1 -1
  211. package/esm/simulator-ui/mutations/GambitWorkspaceCreateMutation.d.ts +11 -11
  212. package/esm/simulator-ui/mutations/GambitWorkspaceCreateMutation.d.ts.map +1 -1
  213. package/esm/simulator-ui/mutations/GambitWorkspaceDelete.d.ts +6 -0
  214. package/esm/simulator-ui/mutations/GambitWorkspaceDelete.d.ts.map +1 -0
  215. package/esm/simulator-ui/mutations/GambitWorkspaceDelete.js +12 -0
  216. package/esm/simulator-ui/mutations/GambitWorkspaceDeleteMutation.d.ts +6 -0
  217. package/esm/simulator-ui/mutations/GambitWorkspaceDeleteMutation.d.ts.map +1 -0
  218. package/esm/simulator-ui/mutations/GambitWorkspaceDeleteMutation.js +7 -0
  219. package/esm/simulator-ui/mutations/GambitWorkspaceGradeFlagReasonUpdate.d.ts +16 -16
  220. package/esm/simulator-ui/mutations/GambitWorkspaceGradeFlagReasonUpdate.d.ts.map +1 -1
  221. package/esm/simulator-ui/mutations/GambitWorkspaceGradeFlagReasonUpdateMutation.d.ts +16 -16
  222. package/esm/simulator-ui/mutations/GambitWorkspaceGradeFlagReasonUpdateMutation.d.ts.map +1 -1
  223. package/esm/simulator-ui/mutations/GambitWorkspaceGradeFlagToggle.d.ts +16 -16
  224. package/esm/simulator-ui/mutations/GambitWorkspaceGradeFlagToggle.d.ts.map +1 -1
  225. package/esm/simulator-ui/mutations/GambitWorkspaceGradeFlagToggleMutation.d.ts +16 -16
  226. package/esm/simulator-ui/mutations/GambitWorkspaceGradeFlagToggleMutation.d.ts.map +1 -1
  227. package/esm/simulator-ui/mutations/GambitWorkspaceGradeRunCreate.d.ts +44 -44
  228. package/esm/simulator-ui/mutations/GambitWorkspaceGradeRunCreate.d.ts.map +1 -1
  229. package/esm/simulator-ui/mutations/GambitWorkspaceGradeRunCreateMutation.d.ts +44 -44
  230. package/esm/simulator-ui/mutations/GambitWorkspaceGradeRunCreateMutation.d.ts.map +1 -1
  231. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunSend.d.ts +57 -57
  232. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunSend.d.ts.map +1 -1
  233. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunSendMutation.d.ts +57 -57
  234. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunSendMutation.d.ts.map +1 -1
  235. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStart.d.ts +34 -34
  236. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStart.d.ts.map +1 -1
  237. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStartMutation.d.ts +34 -34
  238. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStartMutation.d.ts.map +1 -1
  239. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStop.d.ts +57 -57
  240. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStop.d.ts.map +1 -1
  241. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStopMutation.d.ts +57 -57
  242. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStopMutation.d.ts.map +1 -1
  243. package/esm/simulator-ui/mutations/GambitWorkspaceVerifyBatchRunCreate.d.ts +130 -130
  244. package/esm/simulator-ui/mutations/GambitWorkspaceVerifyBatchRunCreate.d.ts.map +1 -1
  245. package/esm/simulator-ui/mutations/GambitWorkspaceVerifyBatchRunCreateMutation.d.ts +130 -130
  246. package/esm/simulator-ui/mutations/GambitWorkspaceVerifyBatchRunCreateMutation.d.ts.map +1 -1
  247. package/esm/simulator-ui/src/AppRoot.d.ts.map +1 -1
  248. package/esm/simulator-ui/src/AppRoot.js +10 -2
  249. package/esm/simulator-ui/src/AppShell.d.ts +6 -0
  250. package/esm/simulator-ui/src/AppShell.d.ts.map +1 -1
  251. package/esm/simulator-ui/src/AppShell.js +99 -29
  252. package/esm/simulator-ui/src/DocsPage.d.ts +2 -0
  253. package/esm/simulator-ui/src/DocsPage.d.ts.map +1 -0
  254. package/esm/simulator-ui/src/DocsPage.js +80 -0
  255. package/esm/simulator-ui/src/WorkbenchDrawerIso.d.ts +4 -0
  256. package/esm/simulator-ui/src/WorkbenchDrawerIso.d.ts.map +1 -1
  257. package/esm/simulator-ui/src/WorkbenchDrawerIso.js +20 -3
  258. package/esm/simulator-ui/src/WorkspaceContext.d.ts.map +1 -1
  259. package/esm/simulator-ui/src/WorkspaceContext.js +42 -10
  260. package/esm/simulator-ui/src/grade/GradeResultsPanel.d.ts.map +1 -1
  261. package/esm/simulator-ui/src/grade/GradeResultsPanel.js +3 -1
  262. package/esm/simulator-ui/src/routing.d.ts.map +1 -1
  263. package/esm/simulator-ui/src/routing.js +2 -0
  264. package/esm/simulator-ui/src/test_tab_start_gate.d.ts +8 -0
  265. package/esm/simulator-ui/src/test_tab_start_gate.d.ts.map +1 -0
  266. package/esm/simulator-ui/src/test_tab_start_gate.js +8 -0
  267. package/esm/src/providers/claude_code.d.ts.map +1 -1
  268. package/esm/src/providers/claude_code.js +65 -6
  269. package/esm/src/providers/codex.d.ts.map +1 -1
  270. package/esm/src/providers/codex.js +64 -1
  271. package/esm/src/server.d.ts.map +1 -1
  272. package/esm/src/server.js +272 -127
  273. package/esm/src/server_build_chat_provider.d.ts +26 -0
  274. package/esm/src/server_build_chat_provider.d.ts.map +1 -0
  275. package/esm/src/server_build_chat_provider.js +127 -0
  276. package/esm/src/server_isograph_environment.d.ts +17 -0
  277. package/esm/src/server_isograph_environment.d.ts.map +1 -1
  278. package/esm/src/server_isograph_environment.js +6 -0
  279. package/esm/src/server_session_store.d.ts +41 -1
  280. package/esm/src/server_session_store.d.ts.map +1 -1
  281. package/esm/src/server_session_store.js +1010 -0
  282. package/esm/src/simulator_graphql.d.ts +40 -0
  283. package/esm/src/simulator_graphql.d.ts.map +1 -1
  284. package/esm/src/simulator_graphql.js +141 -58
  285. package/package.json +1 -1
  286. package/script/gambit/simulator-ui/dist/bundle.js +2537 -1204
  287. package/script/gambit/simulator-ui/dist/bundle.js.map +4 -4
  288. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/entrypoint.d.ts +7 -0
  289. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/entrypoint.d.ts.map +1 -0
  290. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/entrypoint.js +27 -0
  291. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/normalization_ast.d.ts +4 -0
  292. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/normalization_ast.d.ts.map +1 -0
  293. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/normalization_ast.js +277 -0
  294. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/output_type.d.ts +3 -0
  295. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/output_type.d.ts.map +1 -0
  296. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/output_type.js +2 -0
  297. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/param_type.d.ts +72 -0
  298. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/param_type.d.ts.map +1 -0
  299. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/param_type.js +2 -0
  300. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/parameters_type.d.ts +6 -0
  301. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/parameters_type.d.ts.map +1 -0
  302. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/parameters_type.js +2 -0
  303. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/query_text.d.ts +3 -0
  304. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/query_text.d.ts.map +1 -0
  305. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/query_text.js +61 -0
  306. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/raw_response_type.d.ts +55 -0
  307. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/raw_response_type.d.ts.map +1 -0
  308. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/raw_response_type.js +2 -0
  309. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/resolver_reader.d.ts +6 -0
  310. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/resolver_reader.d.ts.map +1 -0
  311. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/resolver_reader.js +365 -0
  312. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/param_type.d.ts +63 -63
  313. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/param_type.d.ts.map +1 -1
  314. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/raw_response_type.d.ts +63 -63
  315. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/raw_response_type.d.ts.map +1 -1
  316. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/param_type.d.ts +63 -63
  317. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/param_type.d.ts.map +1 -1
  318. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/raw_response_type.d.ts +63 -63
  319. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/raw_response_type.d.ts.map +1 -1
  320. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionSend/param_type.d.ts +61 -61
  321. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionSend/param_type.d.ts.map +1 -1
  322. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionSend/raw_response_type.d.ts +65 -65
  323. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionSend/raw_response_type.d.ts.map +1 -1
  324. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionStart/param_type.d.ts +21 -21
  325. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionStart/param_type.d.ts.map +1 -1
  326. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionStart/raw_response_type.d.ts +31 -31
  327. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionStart/raw_response_type.d.ts.map +1 -1
  328. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionStop/param_type.d.ts +61 -61
  329. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionStop/param_type.d.ts.map +1 -1
  330. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionStop/raw_response_type.d.ts +65 -65
  331. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceConversationSessionStop/raw_response_type.d.ts.map +1 -1
  332. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceCreate/param_type.d.ts +12 -12
  333. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceCreate/param_type.d.ts.map +1 -1
  334. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceCreate/raw_response_type.d.ts +12 -12
  335. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceCreate/raw_response_type.d.ts.map +1 -1
  336. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/entrypoint.d.ts +7 -0
  337. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/entrypoint.d.ts.map +1 -0
  338. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/entrypoint.js +27 -0
  339. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/normalization_ast.d.ts +4 -0
  340. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/normalization_ast.d.ts.map +1 -0
  341. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/normalization_ast.js +31 -0
  342. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/output_type.d.ts +3 -0
  343. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/output_type.d.ts.map +1 -0
  344. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/output_type.js +2 -0
  345. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/param_type.d.ts +11 -0
  346. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/param_type.d.ts.map +1 -0
  347. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/param_type.js +2 -0
  348. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/parameters_type.d.ts +4 -0
  349. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/parameters_type.d.ts.map +1 -0
  350. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/parameters_type.js +2 -0
  351. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/query_text.d.ts +3 -0
  352. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/query_text.d.ts.map +1 -0
  353. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/query_text.js +8 -0
  354. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/raw_response_type.d.ts +7 -0
  355. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/raw_response_type.d.ts.map +1 -0
  356. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/raw_response_type.js +2 -0
  357. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/resolver_reader.d.ts +6 -0
  358. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/resolver_reader.d.ts.map +1 -0
  359. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceDelete/resolver_reader.js +43 -0
  360. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeFlagReasonUpdate/param_type.d.ts +17 -17
  361. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeFlagReasonUpdate/param_type.d.ts.map +1 -1
  362. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeFlagReasonUpdate/raw_response_type.d.ts +17 -17
  363. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeFlagReasonUpdate/raw_response_type.d.ts.map +1 -1
  364. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeFlagToggle/param_type.d.ts +17 -17
  365. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeFlagToggle/param_type.d.ts.map +1 -1
  366. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeFlagToggle/raw_response_type.d.ts +17 -17
  367. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeFlagToggle/raw_response_type.d.ts.map +1 -1
  368. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeRunCreate/param_type.d.ts +45 -45
  369. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeRunCreate/param_type.d.ts.map +1 -1
  370. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeRunCreate/raw_response_type.d.ts +45 -45
  371. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceGradeRunCreate/raw_response_type.d.ts.map +1 -1
  372. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/param_type.d.ts +58 -58
  373. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/param_type.d.ts.map +1 -1
  374. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/raw_response_type.d.ts +58 -58
  375. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/raw_response_type.d.ts.map +1 -1
  376. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/param_type.d.ts +35 -35
  377. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/param_type.d.ts.map +1 -1
  378. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/raw_response_type.d.ts +35 -35
  379. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/raw_response_type.d.ts.map +1 -1
  380. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/param_type.d.ts +58 -58
  381. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/param_type.d.ts.map +1 -1
  382. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/raw_response_type.d.ts +58 -58
  383. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/raw_response_type.d.ts.map +1 -1
  384. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceVerifyBatchRunCreate/param_type.d.ts +131 -131
  385. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceVerifyBatchRunCreate/param_type.d.ts.map +1 -1
  386. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceVerifyBatchRunCreate/raw_response_type.d.ts +131 -131
  387. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceVerifyBatchRunCreate/raw_response_type.d.ts.map +1 -1
  388. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointChatOptimisticPlaceholder/param_type.d.ts +3 -3
  389. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointChatOptimisticPlaceholder/param_type.d.ts.map +1 -1
  390. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointChatOptimisticPlaceholder/raw_response_type.d.ts +3 -3
  391. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointChatOptimisticPlaceholder/raw_response_type.d.ts.map +1 -1
  392. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorBuildPage/param_type.d.ts +2 -2
  393. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorBuildPage/param_type.d.ts.map +1 -1
  394. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorBuildPage/raw_response_type.d.ts +11 -11
  395. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorBuildPage/raw_response_type.d.ts.map +1 -1
  396. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/param_type.d.ts +2 -2
  397. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/param_type.d.ts.map +1 -1
  398. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/raw_response_type.d.ts +37 -37
  399. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/raw_response_type.d.ts.map +1 -1
  400. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/param_type.d.ts +2 -2
  401. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/param_type.d.ts.map +1 -1
  402. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts +33 -33
  403. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts.map +1 -1
  404. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/param_type.d.ts +2 -2
  405. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/param_type.d.ts.map +1 -1
  406. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/raw_response_type.d.ts +76 -76
  407. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/raw_response_type.d.ts.map +1 -1
  408. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/param_type.d.ts +3 -3
  409. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/param_type.d.ts.map +1 -1
  410. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/raw_response_type.d.ts +53 -53
  411. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/raw_response_type.d.ts.map +1 -1
  412. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaces/raw_response_type.d.ts +7 -7
  413. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaces/raw_response_type.d.ts.map +1 -1
  414. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/param_type.d.ts +78 -78
  415. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/param_type.d.ts.map +1 -1
  416. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/raw_response_type.d.ts +78 -78
  417. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/raw_response_type.d.ts.map +1 -1
  418. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildTabLiveWrite/param_type.d.ts +11 -11
  419. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildTabLiveWrite/param_type.d.ts.map +1 -1
  420. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildTabLiveWrite/raw_response_type.d.ts +11 -11
  421. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildTabLiveWrite/raw_response_type.d.ts.map +1 -1
  422. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceGradeLiveWrite/param_type.d.ts +37 -37
  423. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceGradeLiveWrite/param_type.d.ts.map +1 -1
  424. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceGradeLiveWrite/raw_response_type.d.ts +37 -37
  425. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceGradeLiveWrite/raw_response_type.d.ts.map +1 -1
  426. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceVerifyLiveWrite/param_type.d.ts +76 -76
  427. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceVerifyLiveWrite/param_type.d.ts.map +1 -1
  428. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceVerifyLiveWrite/raw_response_type.d.ts +76 -76
  429. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceVerifyLiveWrite/raw_response_type.d.ts.map +1 -1
  430. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/param_type.d.ts +21 -21
  431. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/param_type.d.ts.map +1 -1
  432. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/raw_response_type.d.ts +46 -46
  433. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/raw_response_type.d.ts.map +1 -1
  434. package/script/simulator-ui/__generated__/__isograph/Query/SimulatorAppDrawer/param_type.d.ts +7 -7
  435. package/script/simulator-ui/__generated__/__isograph/Query/SimulatorAppDrawer/param_type.d.ts.map +1 -1
  436. package/script/simulator-ui/__generated__/__isograph/Query/SimulatorBuildContentShell/param_type.d.ts +2 -2
  437. package/script/simulator-ui/__generated__/__isograph/Query/SimulatorBuildContentShell/param_type.d.ts.map +1 -1
  438. package/script/simulator-ui/__generated__/__isograph/Query/SimulatorWorkspacesPage/param_type.d.ts +7 -7
  439. package/script/simulator-ui/__generated__/__isograph/Query/SimulatorWorkspacesPage/param_type.d.ts.map +1 -1
  440. package/script/simulator-ui/__generated__/__isograph/Workspace/BuildTab/param_type.d.ts +8 -8
  441. package/script/simulator-ui/__generated__/__isograph/Workspace/BuildTab/param_type.d.ts.map +1 -1
  442. package/script/simulator-ui/__generated__/__isograph/Workspace/GradeTab/param_type.d.ts +35 -35
  443. package/script/simulator-ui/__generated__/__isograph/Workspace/GradeTab/param_type.d.ts.map +1 -1
  444. package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts +31 -31
  445. package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts.map +1 -1
  446. package/script/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/param_type.d.ts +74 -74
  447. package/script/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/param_type.d.ts.map +1 -1
  448. package/script/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/param_type.d.ts +19 -19
  449. package/script/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/param_type.d.ts.map +1 -1
  450. package/script/simulator-ui/__generated__/__isograph/WorkspaceConversationRun/WorkbenchConversationRunChat/param_type.d.ts +26 -26
  451. package/script/simulator-ui/__generated__/__isograph/WorkspaceConversationRun/WorkbenchConversationRunChat/param_type.d.ts.map +1 -1
  452. package/script/simulator-ui/__generated__/__isograph/WorkspaceFile/PreviewFile/param_type.d.ts +2 -2
  453. package/script/simulator-ui/__generated__/__isograph/WorkspaceFile/PreviewFile/param_type.d.ts.map +1 -1
  454. package/script/simulator-ui/__generated__/__isograph/iso.d.ts +8 -0
  455. package/script/simulator-ui/__generated__/__isograph/iso.d.ts.map +1 -1
  456. package/script/simulator-ui/__generated__/__isograph/iso.js +60 -54
  457. package/script/simulator-ui/__generated__/builtRoutes.d.ts +4 -0
  458. package/script/simulator-ui/__generated__/builtRoutes.d.ts.map +1 -1
  459. package/script/simulator-ui/__generated__/builtRoutes.js +33 -27
  460. package/script/simulator-ui/isograph/components/Query/SimulatorAppDrawer.d.ts +6 -0
  461. package/script/simulator-ui/isograph/components/Query/SimulatorAppDrawer.d.ts.map +1 -1
  462. package/script/simulator-ui/isograph/components/Query/SimulatorAppDrawer.js +60 -13
  463. package/script/simulator-ui/isograph/components/Query/SimulatorTestPage.d.ts.map +1 -1
  464. package/script/simulator-ui/isograph/components/Query/SimulatorTestPage.js +10 -8
  465. package/script/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.d.ts.map +1 -1
  466. package/script/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.js +180 -2
  467. package/script/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.d.ts +5 -0
  468. package/script/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.d.ts.map +1 -1
  469. package/script/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.js +1 -1
  470. package/script/simulator-ui/isograph/components/grade/GradeTabView.d.ts.map +1 -1
  471. package/script/simulator-ui/isograph/components/grade/GradeTabView.js +3 -1
  472. package/script/simulator-ui/mutations/GambitSimulatorResetWorkspace.d.ts +55 -0
  473. package/script/simulator-ui/mutations/GambitSimulatorResetWorkspace.d.ts.map +1 -0
  474. package/script/simulator-ui/mutations/GambitSimulatorResetWorkspace.js +66 -0
  475. package/script/simulator-ui/mutations/GambitSimulatorResetWorkspaceMutation.d.ts +55 -0
  476. package/script/simulator-ui/mutations/GambitSimulatorResetWorkspaceMutation.d.ts.map +1 -0
  477. package/script/simulator-ui/mutations/GambitSimulatorResetWorkspaceMutation.js +13 -0
  478. package/script/simulator-ui/mutations/GambitSimulatorStopRun.d.ts +62 -62
  479. package/script/simulator-ui/mutations/GambitSimulatorStopRun.d.ts.map +1 -1
  480. package/script/simulator-ui/mutations/GambitSimulatorStopRunMutation.d.ts +62 -62
  481. package/script/simulator-ui/mutations/GambitSimulatorStopRunMutation.d.ts.map +1 -1
  482. package/script/simulator-ui/mutations/GambitWorkspaceBuildRunCreate.d.ts +62 -62
  483. package/script/simulator-ui/mutations/GambitWorkspaceBuildRunCreate.d.ts.map +1 -1
  484. package/script/simulator-ui/mutations/GambitWorkspaceBuildRunCreateMutation.d.ts +62 -62
  485. package/script/simulator-ui/mutations/GambitWorkspaceBuildRunCreateMutation.d.ts.map +1 -1
  486. package/script/simulator-ui/mutations/GambitWorkspaceConversationSessionSend.d.ts +60 -60
  487. package/script/simulator-ui/mutations/GambitWorkspaceConversationSessionSend.d.ts.map +1 -1
  488. package/script/simulator-ui/mutations/GambitWorkspaceConversationSessionStart.d.ts +20 -20
  489. package/script/simulator-ui/mutations/GambitWorkspaceConversationSessionStart.d.ts.map +1 -1
  490. package/script/simulator-ui/mutations/GambitWorkspaceConversationSessionStop.d.ts +60 -60
  491. package/script/simulator-ui/mutations/GambitWorkspaceConversationSessionStop.d.ts.map +1 -1
  492. package/script/simulator-ui/mutations/GambitWorkspaceCreate.d.ts +11 -11
  493. package/script/simulator-ui/mutations/GambitWorkspaceCreate.d.ts.map +1 -1
  494. package/script/simulator-ui/mutations/GambitWorkspaceCreateMutation.d.ts +11 -11
  495. package/script/simulator-ui/mutations/GambitWorkspaceCreateMutation.d.ts.map +1 -1
  496. package/script/simulator-ui/mutations/GambitWorkspaceDelete.d.ts +6 -0
  497. package/script/simulator-ui/mutations/GambitWorkspaceDelete.d.ts.map +1 -0
  498. package/script/simulator-ui/mutations/GambitWorkspaceDelete.js +15 -0
  499. package/script/simulator-ui/mutations/GambitWorkspaceDeleteMutation.d.ts +6 -0
  500. package/script/simulator-ui/mutations/GambitWorkspaceDeleteMutation.d.ts.map +1 -0
  501. package/script/simulator-ui/mutations/GambitWorkspaceDeleteMutation.js +13 -0
  502. package/script/simulator-ui/mutations/GambitWorkspaceGradeFlagReasonUpdate.d.ts +16 -16
  503. package/script/simulator-ui/mutations/GambitWorkspaceGradeFlagReasonUpdate.d.ts.map +1 -1
  504. package/script/simulator-ui/mutations/GambitWorkspaceGradeFlagReasonUpdateMutation.d.ts +16 -16
  505. package/script/simulator-ui/mutations/GambitWorkspaceGradeFlagReasonUpdateMutation.d.ts.map +1 -1
  506. package/script/simulator-ui/mutations/GambitWorkspaceGradeFlagToggle.d.ts +16 -16
  507. package/script/simulator-ui/mutations/GambitWorkspaceGradeFlagToggle.d.ts.map +1 -1
  508. package/script/simulator-ui/mutations/GambitWorkspaceGradeFlagToggleMutation.d.ts +16 -16
  509. package/script/simulator-ui/mutations/GambitWorkspaceGradeFlagToggleMutation.d.ts.map +1 -1
  510. package/script/simulator-ui/mutations/GambitWorkspaceGradeRunCreate.d.ts +44 -44
  511. package/script/simulator-ui/mutations/GambitWorkspaceGradeRunCreate.d.ts.map +1 -1
  512. package/script/simulator-ui/mutations/GambitWorkspaceGradeRunCreateMutation.d.ts +44 -44
  513. package/script/simulator-ui/mutations/GambitWorkspaceGradeRunCreateMutation.d.ts.map +1 -1
  514. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunSend.d.ts +57 -57
  515. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunSend.d.ts.map +1 -1
  516. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunSendMutation.d.ts +57 -57
  517. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunSendMutation.d.ts.map +1 -1
  518. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStart.d.ts +34 -34
  519. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStart.d.ts.map +1 -1
  520. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStartMutation.d.ts +34 -34
  521. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStartMutation.d.ts.map +1 -1
  522. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStop.d.ts +57 -57
  523. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStop.d.ts.map +1 -1
  524. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStopMutation.d.ts +57 -57
  525. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStopMutation.d.ts.map +1 -1
  526. package/script/simulator-ui/mutations/GambitWorkspaceVerifyBatchRunCreate.d.ts +130 -130
  527. package/script/simulator-ui/mutations/GambitWorkspaceVerifyBatchRunCreate.d.ts.map +1 -1
  528. package/script/simulator-ui/mutations/GambitWorkspaceVerifyBatchRunCreateMutation.d.ts +130 -130
  529. package/script/simulator-ui/mutations/GambitWorkspaceVerifyBatchRunCreateMutation.d.ts.map +1 -1
  530. package/script/simulator-ui/src/AppRoot.d.ts.map +1 -1
  531. package/script/simulator-ui/src/AppRoot.js +9 -1
  532. package/script/simulator-ui/src/AppShell.d.ts +6 -0
  533. package/script/simulator-ui/src/AppShell.d.ts.map +1 -1
  534. package/script/simulator-ui/src/AppShell.js +98 -28
  535. package/script/simulator-ui/src/DocsPage.d.ts +2 -0
  536. package/script/simulator-ui/src/DocsPage.d.ts.map +1 -0
  537. package/script/simulator-ui/src/DocsPage.js +86 -0
  538. package/script/simulator-ui/src/WorkbenchDrawerIso.d.ts +4 -0
  539. package/script/simulator-ui/src/WorkbenchDrawerIso.d.ts.map +1 -1
  540. package/script/simulator-ui/src/WorkbenchDrawerIso.js +20 -3
  541. package/script/simulator-ui/src/WorkspaceContext.d.ts.map +1 -1
  542. package/script/simulator-ui/src/WorkspaceContext.js +42 -10
  543. package/script/simulator-ui/src/grade/GradeResultsPanel.d.ts.map +1 -1
  544. package/script/simulator-ui/src/grade/GradeResultsPanel.js +3 -1
  545. package/script/simulator-ui/src/routing.d.ts.map +1 -1
  546. package/script/simulator-ui/src/routing.js +2 -0
  547. package/script/simulator-ui/src/test_tab_start_gate.d.ts +8 -0
  548. package/script/simulator-ui/src/test_tab_start_gate.d.ts.map +1 -0
  549. package/script/simulator-ui/src/test_tab_start_gate.js +11 -0
  550. package/script/src/providers/claude_code.d.ts.map +1 -1
  551. package/script/src/providers/claude_code.js +65 -6
  552. package/script/src/providers/codex.d.ts.map +1 -1
  553. package/script/src/providers/codex.js +64 -1
  554. package/script/src/server.d.ts.map +1 -1
  555. package/script/src/server.js +272 -127
  556. package/script/src/server_build_chat_provider.d.ts +26 -0
  557. package/script/src/server_build_chat_provider.d.ts.map +1 -0
  558. package/script/src/server_build_chat_provider.js +166 -0
  559. package/script/src/server_isograph_environment.d.ts +17 -0
  560. package/script/src/server_isograph_environment.d.ts.map +1 -1
  561. package/script/src/server_isograph_environment.js +6 -0
  562. package/script/src/server_session_store.d.ts +41 -1
  563. package/script/src/server_session_store.d.ts.map +1 -1
  564. package/script/src/server_session_store.js +1010 -0
  565. package/script/src/simulator_graphql.d.ts +40 -0
  566. package/script/src/simulator_graphql.d.ts.map +1 -1
  567. package/script/src/simulator_graphql.js +141 -58
@@ -37,6 +37,8 @@ exports.createSessionStore = void 0;
37
37
  const dntShim = __importStar(require("../_dnt.shims.js"));
38
38
  const path = __importStar(require("../deps/jsr.io/@std/path/1.1.4/mod.js"));
39
39
  const mod_js_1 = require("../deps/jsr.io/@std/fs/1.0.23/mod.js");
40
+ const node_sqlite_1 = require("node:sqlite");
41
+ const gambit_core_1 = require("@bolt-foundry/gambit-core");
40
42
  const TRACE_EVENT_TYPES = new Set([
41
43
  "run.start",
42
44
  "message.user",
@@ -150,6 +152,225 @@ const safeStringify = (value, space) => {
150
152
  return candidate;
151
153
  }, space);
152
154
  };
155
+ const OPENRESPONSES_RUN_EVENT_RECORD_TYPE = "gambit.openresponses.run_event";
156
+ const OPENRESPONSES_RUN_EVENT_RECORD_KIND = "openresponses.run_event.v0";
157
+ const SESSION_SQLITE_DB_FILENAME = "workspace.sqlite";
158
+ const SESSION_SQLITE_SCHEMA_VERSION = 3;
159
+ const OPENRESPONSES_EVENTS_SQLITE_TABLE = "openresponses_run_events_v0";
160
+ const OPENRESPONSES_OUTPUT_ITEMS_SQLITE_TABLE = "openresponses_output_items_v0";
161
+ function isObjectRecord(value) {
162
+ return !!value && typeof value === "object" && !Array.isArray(value);
163
+ }
164
+ function ensureDirSync(dir) {
165
+ try {
166
+ dntShim.Deno.mkdirSync(dir, { recursive: true });
167
+ }
168
+ catch (error) {
169
+ if (!(error instanceof dntShim.Deno.errors.AlreadyExists)) {
170
+ throw error;
171
+ }
172
+ }
173
+ }
174
+ function ensureSessionSqliteSchema(db) {
175
+ const row = db.prepare("PRAGMA user_version;").get();
176
+ const current = typeof row?.user_version === "number" ? row.user_version : 0;
177
+ if (current < 1) {
178
+ db.exec(`
179
+ CREATE TABLE IF NOT EXISTS ${OPENRESPONSES_EVENTS_SQLITE_TABLE} (
180
+ workspace_id TEXT NOT NULL,
181
+ run_id TEXT NOT NULL,
182
+ sequence INTEGER NOT NULL,
183
+ event_type TEXT NOT NULL,
184
+ payload_json TEXT NOT NULL,
185
+ idempotency_key TEXT NOT NULL,
186
+ created_at TEXT NOT NULL,
187
+ offset INTEGER NOT NULL UNIQUE,
188
+ UNIQUE (workspace_id, run_id, idempotency_key),
189
+ PRIMARY KEY (workspace_id, run_id, sequence)
190
+ );
191
+ CREATE INDEX IF NOT EXISTS ${OPENRESPONSES_EVENTS_SQLITE_TABLE}_workspace_run_sequence_idx
192
+ ON ${OPENRESPONSES_EVENTS_SQLITE_TABLE}(workspace_id, run_id, sequence);
193
+ CREATE INDEX IF NOT EXISTS ${OPENRESPONSES_EVENTS_SQLITE_TABLE}_workspace_run_idempotency_idx
194
+ ON ${OPENRESPONSES_EVENTS_SQLITE_TABLE}(workspace_id, run_id, idempotency_key);
195
+ `);
196
+ }
197
+ if (current < 2) {
198
+ db.exec(`
199
+ CREATE TABLE IF NOT EXISTS ${OPENRESPONSES_OUTPUT_ITEMS_SQLITE_TABLE} (
200
+ workspace_id TEXT NOT NULL,
201
+ run_id TEXT NOT NULL,
202
+ item_key TEXT NOT NULL,
203
+ item_id TEXT NOT NULL,
204
+ item_kind TEXT NOT NULL,
205
+ role TEXT,
206
+ content TEXT,
207
+ message_ref_id TEXT,
208
+ reasoning_type TEXT,
209
+ summary TEXT,
210
+ tool_call_id TEXT,
211
+ tool_name TEXT,
212
+ tool_status TEXT,
213
+ arguments_text TEXT,
214
+ result_text TEXT,
215
+ error_text TEXT,
216
+ output_index INTEGER,
217
+ sequence INTEGER NOT NULL,
218
+ PRIMARY KEY (workspace_id, run_id, item_key)
219
+ );
220
+ CREATE INDEX IF NOT EXISTS ${OPENRESPONSES_OUTPUT_ITEMS_SQLITE_TABLE}_workspace_run_sequence_idx
221
+ ON ${OPENRESPONSES_OUTPUT_ITEMS_SQLITE_TABLE}(workspace_id, run_id, sequence);
222
+ `);
223
+ }
224
+ if (current >= 1 && current < 3) {
225
+ db.exec("BEGIN IMMEDIATE;");
226
+ try {
227
+ const migratedTable = `${OPENRESPONSES_EVENTS_SQLITE_TABLE}__v3_migrated`;
228
+ db.exec(`
229
+ DROP TABLE IF EXISTS ${migratedTable};
230
+ CREATE TABLE ${migratedTable} (
231
+ workspace_id TEXT NOT NULL,
232
+ run_id TEXT NOT NULL,
233
+ sequence INTEGER NOT NULL,
234
+ event_type TEXT NOT NULL,
235
+ payload_json TEXT NOT NULL,
236
+ idempotency_key TEXT NOT NULL,
237
+ created_at TEXT NOT NULL,
238
+ offset INTEGER NOT NULL UNIQUE,
239
+ UNIQUE (workspace_id, run_id, idempotency_key),
240
+ PRIMARY KEY (workspace_id, run_id, sequence)
241
+ );
242
+ INSERT INTO ${migratedTable} (
243
+ workspace_id,
244
+ run_id,
245
+ sequence,
246
+ event_type,
247
+ payload_json,
248
+ idempotency_key,
249
+ created_at,
250
+ offset
251
+ )
252
+ SELECT
253
+ workspace_id,
254
+ run_id,
255
+ sequence,
256
+ event_type,
257
+ payload_json,
258
+ idempotency_key,
259
+ created_at,
260
+ offset
261
+ FROM ${OPENRESPONSES_EVENTS_SQLITE_TABLE}
262
+ ORDER BY offset ASC;
263
+ DROP TABLE ${OPENRESPONSES_EVENTS_SQLITE_TABLE};
264
+ ALTER TABLE ${migratedTable} RENAME TO ${OPENRESPONSES_EVENTS_SQLITE_TABLE};
265
+ CREATE INDEX IF NOT EXISTS ${OPENRESPONSES_EVENTS_SQLITE_TABLE}_workspace_run_sequence_idx
266
+ ON ${OPENRESPONSES_EVENTS_SQLITE_TABLE}(workspace_id, run_id, sequence);
267
+ CREATE INDEX IF NOT EXISTS ${OPENRESPONSES_EVENTS_SQLITE_TABLE}_workspace_run_idempotency_idx
268
+ ON ${OPENRESPONSES_EVENTS_SQLITE_TABLE}(workspace_id, run_id, idempotency_key);
269
+ `);
270
+ db.exec("COMMIT;");
271
+ }
272
+ catch (error) {
273
+ db.exec("ROLLBACK;");
274
+ throw error;
275
+ }
276
+ }
277
+ if (current < SESSION_SQLITE_SCHEMA_VERSION) {
278
+ db.exec(`PRAGMA user_version = ${SESSION_SQLITE_SCHEMA_VERSION};`);
279
+ }
280
+ }
281
+ function parseOpenResponsesRunEventRecord(value) {
282
+ if (!isObjectRecord(value))
283
+ return null;
284
+ if (value.type !== OPENRESPONSES_RUN_EVENT_RECORD_TYPE)
285
+ return null;
286
+ const meta = isObjectRecord(value._gambit) ? value._gambit : null;
287
+ if (meta?.kind !== OPENRESPONSES_RUN_EVENT_RECORD_KIND ||
288
+ !(0, gambit_core_1.isOpenResponsesRunEventPayload)(value.payload)) {
289
+ return null;
290
+ }
291
+ const sequence = typeof value.sequence === "number" &&
292
+ Number.isInteger(value.sequence)
293
+ ? value.sequence
294
+ : null;
295
+ if (sequence === null || sequence < 0)
296
+ return null;
297
+ const workspaceId = typeof value.workspace_id === "string"
298
+ ? value.workspace_id.trim()
299
+ : "";
300
+ const runId = typeof value.run_id === "string" ? value.run_id.trim() : "";
301
+ const eventType = typeof value.event_type === "string"
302
+ ? value.event_type.trim()
303
+ : "";
304
+ const idempotencyKey = typeof value.idempotency_key === "string"
305
+ ? value.idempotency_key.trim()
306
+ : "";
307
+ const createdAt = typeof value.created_at === "string"
308
+ ? value.created_at
309
+ : "";
310
+ if (!workspaceId || !runId || !eventType || !idempotencyKey || !createdAt) {
311
+ return null;
312
+ }
313
+ return {
314
+ workspace_id: workspaceId,
315
+ run_id: runId,
316
+ sequence,
317
+ event_type: eventType,
318
+ payload: value.payload,
319
+ idempotency_key: idempotencyKey,
320
+ created_at: createdAt,
321
+ };
322
+ }
323
+ function parsePersistedOpenResponsesRunEventRecord(value) {
324
+ const parsed = parseOpenResponsesRunEventRecord(value);
325
+ if (!parsed || !isObjectRecord(value))
326
+ return null;
327
+ const offset = typeof value.offset === "number" &&
328
+ Number.isInteger(value.offset) &&
329
+ value.offset >= 0
330
+ ? value.offset
331
+ : typeof value._gambit?.offset ===
332
+ "number" &&
333
+ Number.isInteger(value._gambit?.offset) &&
334
+ (value._gambit?.offset ?? -1) >= 0
335
+ ? value._gambit.offset
336
+ : null;
337
+ return { ...parsed, offset };
338
+ }
339
+ function asRecord(value) {
340
+ return value && typeof value === "object" && !Array.isArray(value)
341
+ ? value
342
+ : null;
343
+ }
344
+ function asString(value) {
345
+ return typeof value === "string" ? value : "";
346
+ }
347
+ function asFiniteNumber(value) {
348
+ return typeof value === "number" && Number.isFinite(value) ? value : null;
349
+ }
350
+ function toEventMessageText(value) {
351
+ if (typeof value === "string")
352
+ return value;
353
+ if (Array.isArray(value)) {
354
+ return value.map((entry) => {
355
+ if (typeof entry === "string")
356
+ return entry;
357
+ const record = asRecord(entry);
358
+ if (!record)
359
+ return "";
360
+ const text = asString(record.text);
361
+ if (text.length > 0)
362
+ return text;
363
+ return toEventMessageText(record.content);
364
+ }).join("");
365
+ }
366
+ const record = asRecord(value);
367
+ if (!record)
368
+ return "";
369
+ const text = asString(record.text);
370
+ if (text.length > 0)
371
+ return text;
372
+ return toEventMessageText(record.content);
373
+ }
153
374
  const createSessionStore = (deps) => {
154
375
  const { sessionsRoot, randomId, logger, enrichStateWithSession, workspaceStateSchemaVersion, workspaceSchemaError, } = deps;
155
376
  const sessionStateCache = new Map();
@@ -158,6 +379,9 @@ const createSessionStore = (deps) => {
158
379
  const sessionOffsetById = new Map();
159
380
  const buildProjectionCache = new Map();
160
381
  const buildProjectionRefreshInFlight = new Map();
382
+ const openResponsesRunEventsBySession = new Map();
383
+ const sessionSqliteById = new Map();
384
+ const openResponsesRunEventListenersBySessionRun = new Map();
161
385
  const drainSessionWriteQueue = async (sessionId) => {
162
386
  let shouldContinueDrain = false;
163
387
  try {
@@ -200,6 +424,16 @@ const createSessionStore = (deps) => {
200
424
  sessionWriteActive.add(sessionId);
201
425
  void drainSessionWriteQueue(sessionId);
202
426
  };
427
+ const enqueueSessionWriteResult = (sessionId, task) => new Promise((resolve, reject) => {
428
+ enqueueSessionWrite(sessionId, async () => {
429
+ try {
430
+ resolve(await task());
431
+ }
432
+ catch (error) {
433
+ reject(error);
434
+ }
435
+ });
436
+ });
203
437
  const mergeSessionState = (current, next) => {
204
438
  if (!current)
205
439
  return next;
@@ -228,6 +462,31 @@ const createSessionStore = (deps) => {
228
462
  return undefined;
229
463
  return value;
230
464
  };
465
+ const getSessionSqlitePath = (sessionId, state) => {
466
+ const stateMeta = state?.meta;
467
+ const fromMeta = typeof stateMeta?.sessionSqlitePath === "string"
468
+ ? stateMeta.sessionSqlitePath
469
+ : "";
470
+ if (fromMeta.trim().length > 0)
471
+ return fromMeta;
472
+ const sessionDir = typeof stateMeta?.sessionDir === "string"
473
+ ? stateMeta.sessionDir
474
+ : path.join(sessionsRoot, sessionId);
475
+ return path.join(sessionDir, SESSION_SQLITE_DB_FILENAME);
476
+ };
477
+ const getSessionSqliteDb = (sessionId, state) => {
478
+ const existing = sessionSqliteById.get(sessionId);
479
+ if (existing)
480
+ return existing;
481
+ const sqlitePath = getSessionSqlitePath(sessionId, state);
482
+ ensureDirSync(path.dirname(sqlitePath));
483
+ const db = new node_sqlite_1.DatabaseSync(sqlitePath);
484
+ db.exec("PRAGMA busy_timeout=5000;");
485
+ db.exec("PRAGMA journal_mode=WAL;");
486
+ ensureSessionSqliteSchema(db);
487
+ sessionSqliteById.set(sessionId, db);
488
+ return db;
489
+ };
231
490
  const normalizeBuildProjectionRun = (workspaceId, value) => {
232
491
  if (!value || typeof value !== "object") {
233
492
  return {
@@ -376,6 +635,488 @@ const createSessionStore = (deps) => {
376
635
  }
377
636
  return highest;
378
637
  };
638
+ const openResponsesRunEventListenerKey = (workspaceId, runId) => `${workspaceId}::${runId}`;
639
+ const openResponsesRunEventIdempotencyKey = (workspaceId, runId, idempotencyKey) => `${workspaceId}::${runId}::${idempotencyKey}`;
640
+ const getOpenResponsesRunEventStore = (sessionId) => {
641
+ const existing = openResponsesRunEventsBySession.get(sessionId);
642
+ if (existing)
643
+ return existing;
644
+ const created = {
645
+ byIdempotencyKey: new Map(),
646
+ byRunId: new Map(),
647
+ hydrated: false,
648
+ };
649
+ openResponsesRunEventsBySession.set(sessionId, created);
650
+ return created;
651
+ };
652
+ const indexOpenResponsesRunEvent = (store, event) => {
653
+ const idempotencyStoreKey = openResponsesRunEventIdempotencyKey(event.workspace_id, event.run_id, event.idempotency_key);
654
+ if (store.byIdempotencyKey.has(idempotencyStoreKey)) {
655
+ return;
656
+ }
657
+ store.byIdempotencyKey.set(idempotencyStoreKey, event);
658
+ const runStoreKey = openResponsesRunEventListenerKey(event.workspace_id, event.run_id);
659
+ const byRun = store.byRunId.get(runStoreKey) ?? [];
660
+ byRun.push(event);
661
+ byRun.sort((a, b) => a.sequence - b.sequence);
662
+ store.byRunId.set(runStoreKey, byRun);
663
+ };
664
+ const resetOpenResponsesRunEventStore = (sessionId) => {
665
+ const store = getOpenResponsesRunEventStore(sessionId);
666
+ store.byIdempotencyKey.clear();
667
+ store.byRunId.clear();
668
+ store.hydrated = false;
669
+ };
670
+ const projectOutputItemRowsFromEvent = (event) => {
671
+ const payload = asRecord(event.payload);
672
+ if (!payload)
673
+ return [];
674
+ const payloadType = asString(payload.type) || event.event_type;
675
+ if (payloadType === "input.item") {
676
+ const role = asString(payload.role).trim() || "user";
677
+ const text = toEventMessageText(payload.content).trim() ||
678
+ asString(payload.text).trim();
679
+ if (!text || role !== "user")
680
+ return [];
681
+ return [{
682
+ workspaceId: event.workspace_id,
683
+ runId: event.run_id,
684
+ itemKey: `input:event:${event.sequence}`,
685
+ itemId: `${event.run_id}:input:event:${event.sequence}`,
686
+ itemKind: "message",
687
+ role,
688
+ content: text,
689
+ messageRefId: asString(payload.message_id).trim() ||
690
+ asString(payload.messageRefId).trim() ||
691
+ null,
692
+ reasoningType: null,
693
+ summary: null,
694
+ summaryMode: "replace",
695
+ toolCallId: null,
696
+ toolName: null,
697
+ toolStatus: null,
698
+ argumentsText: null,
699
+ resultText: null,
700
+ errorText: null,
701
+ outputIndex: null,
702
+ sequence: event.sequence,
703
+ }];
704
+ }
705
+ if (payloadType === "response.reasoning.delta" ||
706
+ payloadType === "response.reasoning.done" ||
707
+ payloadType === "response.reasoning_summary_text.delta" ||
708
+ payloadType === "response.reasoning_summary_text.done" ||
709
+ payloadType === "response.reasoning_summary_part.added" ||
710
+ payloadType === "response.reasoning_summary_part.done") {
711
+ const outputIndex = asFiniteNumber(payload.output_index);
712
+ const itemId = asString(payload.item_id).trim() ||
713
+ `reasoning-${outputIndex ?? event.sequence}`;
714
+ const text = asString(payload.delta).trim() ||
715
+ asString(payload.text).trim() ||
716
+ toEventMessageText(payload.part).trim() ||
717
+ toEventMessageText(payload.summary).trim();
718
+ if (!text)
719
+ return [];
720
+ const appendMode = payloadType.endsWith(".delta") ||
721
+ payloadType.endsWith(".added");
722
+ return [{
723
+ workspaceId: event.workspace_id,
724
+ runId: event.run_id,
725
+ itemKey: `reasoning:${itemId}`,
726
+ itemId: `${event.run_id}:reasoning:${itemId}`,
727
+ itemKind: "reasoning",
728
+ role: null,
729
+ content: null,
730
+ messageRefId: null,
731
+ reasoningType: payloadType,
732
+ summary: text,
733
+ summaryMode: appendMode ? "append" : "replace",
734
+ toolCallId: null,
735
+ toolName: null,
736
+ toolStatus: null,
737
+ argumentsText: null,
738
+ resultText: null,
739
+ errorText: null,
740
+ outputIndex,
741
+ sequence: event.sequence,
742
+ }];
743
+ }
744
+ if (payloadType !== "response.output_item.done")
745
+ return [];
746
+ const item = asRecord(payload.item);
747
+ if (!item)
748
+ return [];
749
+ const itemType = asString(item.type);
750
+ const outputIndex = asFiniteNumber(payload.output_index);
751
+ if (itemType === "function_call" || itemType === "tool_call") {
752
+ const toolCallId = asString(item.call_id).trim() ||
753
+ asString(item.id).trim() ||
754
+ `tool-${outputIndex ?? event.sequence}`;
755
+ return [{
756
+ workspaceId: event.workspace_id,
757
+ runId: event.run_id,
758
+ itemKey: `tool:${toolCallId}`,
759
+ itemId: `${event.run_id}:tool:${toolCallId}`,
760
+ itemKind: "tool_call",
761
+ role: null,
762
+ content: null,
763
+ messageRefId: null,
764
+ reasoningType: null,
765
+ summary: null,
766
+ summaryMode: "replace",
767
+ toolCallId,
768
+ toolName: asString(item.name).trim() || "tool_call",
769
+ toolStatus: "RUNNING",
770
+ argumentsText: asString(item.arguments).trim() || null,
771
+ resultText: asString(item.output).trim() || null,
772
+ errorText: asString(item.error).trim() || null,
773
+ outputIndex,
774
+ sequence: event.sequence,
775
+ }];
776
+ }
777
+ if (itemType === "function_call_output") {
778
+ const toolCallId = asString(item.call_id).trim() ||
779
+ asString(item.id).trim() ||
780
+ `tool-${outputIndex ?? event.sequence}`;
781
+ const resultText = asString(item.output).trim() ||
782
+ toEventMessageText(item.output).trim();
783
+ const errorText = asString(item.error).trim() || null;
784
+ return [{
785
+ workspaceId: event.workspace_id,
786
+ runId: event.run_id,
787
+ itemKey: `tool:${toolCallId}`,
788
+ itemId: `${event.run_id}:tool:${toolCallId}`,
789
+ itemKind: "tool_call",
790
+ role: null,
791
+ content: null,
792
+ messageRefId: null,
793
+ reasoningType: null,
794
+ summary: null,
795
+ summaryMode: "replace",
796
+ toolCallId,
797
+ toolName: asString(item.name).trim() || null,
798
+ toolStatus: errorText ? "ERROR" : "COMPLETED",
799
+ argumentsText: asString(item.arguments).trim() || null,
800
+ resultText: resultText || null,
801
+ errorText,
802
+ outputIndex,
803
+ sequence: event.sequence,
804
+ }];
805
+ }
806
+ if (itemType === "message" || itemType === "agent_message" ||
807
+ itemType === "assistant_message") {
808
+ const text = toEventMessageText(item.content).trim() ||
809
+ toEventMessageText(item.text).trim();
810
+ if (!text)
811
+ return [];
812
+ const role = asString(item.role).trim() || "assistant";
813
+ return [{
814
+ workspaceId: event.workspace_id,
815
+ runId: event.run_id,
816
+ itemKey: `output:${outputIndex ?? "na"}:${event.sequence}`,
817
+ itemId: `${event.run_id}:output:${outputIndex ?? "na"}:${event.sequence}`,
818
+ itemKind: "message",
819
+ role,
820
+ content: text,
821
+ messageRefId: asString(item.messageRefId).trim() || null,
822
+ reasoningType: null,
823
+ summary: null,
824
+ summaryMode: "replace",
825
+ toolCallId: null,
826
+ toolName: null,
827
+ toolStatus: null,
828
+ argumentsText: null,
829
+ resultText: null,
830
+ errorText: null,
831
+ outputIndex,
832
+ sequence: event.sequence,
833
+ }];
834
+ }
835
+ if (itemType === "reasoning") {
836
+ const summary = toEventMessageText(item.summary).trim() ||
837
+ asString(item.text).trim();
838
+ if (!summary)
839
+ return [];
840
+ const itemId = asString(item.id).trim() ||
841
+ `reasoning-${outputIndex ?? event.sequence}`;
842
+ return [{
843
+ workspaceId: event.workspace_id,
844
+ runId: event.run_id,
845
+ itemKey: `reasoning:${itemId}`,
846
+ itemId: `${event.run_id}:reasoning:${itemId}`,
847
+ itemKind: "reasoning",
848
+ role: null,
849
+ content: null,
850
+ messageRefId: null,
851
+ reasoningType: itemType,
852
+ summary,
853
+ summaryMode: "replace",
854
+ toolCallId: null,
855
+ toolName: null,
856
+ toolStatus: null,
857
+ argumentsText: null,
858
+ resultText: null,
859
+ errorText: null,
860
+ outputIndex,
861
+ sequence: event.sequence,
862
+ }];
863
+ }
864
+ return [];
865
+ };
866
+ const upsertOutputItemRow = (db, row) => {
867
+ let summary = row.summary;
868
+ if (row.itemKind === "reasoning" && row.summaryMode === "append") {
869
+ const existing = db.prepare(`
870
+ SELECT summary
871
+ FROM ${OPENRESPONSES_OUTPUT_ITEMS_SQLITE_TABLE}
872
+ WHERE workspace_id = ? AND run_id = ? AND item_key = ?
873
+ LIMIT 1
874
+ `).get(row.workspaceId, row.runId, row.itemKey);
875
+ summary = `${existing?.summary ?? ""}${row.summary ?? ""}`;
876
+ }
877
+ db.prepare(`
878
+ INSERT INTO ${OPENRESPONSES_OUTPUT_ITEMS_SQLITE_TABLE} (
879
+ workspace_id,
880
+ run_id,
881
+ item_key,
882
+ item_id,
883
+ item_kind,
884
+ role,
885
+ content,
886
+ message_ref_id,
887
+ reasoning_type,
888
+ summary,
889
+ tool_call_id,
890
+ tool_name,
891
+ tool_status,
892
+ arguments_text,
893
+ result_text,
894
+ error_text,
895
+ output_index,
896
+ sequence
897
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
898
+ ON CONFLICT(workspace_id, run_id, item_key) DO UPDATE SET
899
+ item_id = excluded.item_id,
900
+ item_kind = excluded.item_kind,
901
+ role = excluded.role,
902
+ content = excluded.content,
903
+ message_ref_id = excluded.message_ref_id,
904
+ reasoning_type = excluded.reasoning_type,
905
+ summary = excluded.summary,
906
+ tool_call_id = excluded.tool_call_id,
907
+ tool_name = COALESCE(excluded.tool_name, ${OPENRESPONSES_OUTPUT_ITEMS_SQLITE_TABLE}.tool_name),
908
+ tool_status = excluded.tool_status,
909
+ arguments_text = COALESCE(excluded.arguments_text, ${OPENRESPONSES_OUTPUT_ITEMS_SQLITE_TABLE}.arguments_text),
910
+ result_text = excluded.result_text,
911
+ error_text = excluded.error_text,
912
+ output_index = COALESCE(${OPENRESPONSES_OUTPUT_ITEMS_SQLITE_TABLE}.output_index, excluded.output_index),
913
+ sequence = CASE
914
+ WHEN excluded.sequence > ${OPENRESPONSES_OUTPUT_ITEMS_SQLITE_TABLE}.sequence THEN excluded.sequence
915
+ ELSE ${OPENRESPONSES_OUTPUT_ITEMS_SQLITE_TABLE}.sequence
916
+ END
917
+ `).run(row.workspaceId, row.runId, row.itemKey, row.itemId, row.itemKind, row.role, row.content, row.messageRefId, row.reasoningType, summary, row.toolCallId, row.toolName, row.toolStatus, row.argumentsText, row.resultText, row.errorText, row.outputIndex, row.sequence);
918
+ };
919
+ const persistOutputItemsFromRunEvent = (db, event) => {
920
+ const rows = projectOutputItemRowsFromEvent(event);
921
+ for (const row of rows) {
922
+ upsertOutputItemRow(db, row);
923
+ }
924
+ };
925
+ const importOpenResponsesRunEventsFromJsonl = (sessionId, eventsPath, db) => {
926
+ let text = "";
927
+ try {
928
+ text = dntShim.Deno.readTextFileSync(eventsPath);
929
+ }
930
+ catch {
931
+ return 0;
932
+ }
933
+ const insert = db.prepare(`
934
+ INSERT OR IGNORE INTO ${OPENRESPONSES_EVENTS_SQLITE_TABLE} (
935
+ workspace_id,
936
+ run_id,
937
+ sequence,
938
+ event_type,
939
+ payload_json,
940
+ idempotency_key,
941
+ created_at,
942
+ offset
943
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
944
+ `);
945
+ const maxOffsetRow = db.prepare(`
946
+ SELECT MAX(offset) AS offset
947
+ FROM ${OPENRESPONSES_EVENTS_SQLITE_TABLE}
948
+ `).get();
949
+ let nextSyntheticOffset = typeof maxOffsetRow.offset === "number"
950
+ ? maxOffsetRow.offset + 1
951
+ : 0;
952
+ let inserted = 0;
953
+ db.exec("BEGIN IMMEDIATE;");
954
+ try {
955
+ for (const line of text.split("\n")) {
956
+ if (!line.trim())
957
+ continue;
958
+ let parsed = null;
959
+ try {
960
+ parsed = JSON.parse(line);
961
+ }
962
+ catch {
963
+ continue;
964
+ }
965
+ const record = parsePersistedOpenResponsesRunEventRecord(parsed);
966
+ if (!record)
967
+ continue;
968
+ const event = {
969
+ workspace_id: record.workspace_id,
970
+ run_id: record.run_id,
971
+ sequence: record.sequence,
972
+ event_type: record.event_type,
973
+ payload: record.payload,
974
+ idempotency_key: record.idempotency_key,
975
+ created_at: record.created_at,
976
+ };
977
+ const offset = record.offset ?? nextSyntheticOffset;
978
+ if (record.offset === null) {
979
+ nextSyntheticOffset += 1;
980
+ }
981
+ else if (record.offset >= nextSyntheticOffset) {
982
+ nextSyntheticOffset = record.offset + 1;
983
+ }
984
+ const result = insert.run(record.workspace_id, record.run_id, record.sequence, record.event_type, safeStringify(record.payload), record.idempotency_key, record.created_at, offset);
985
+ const changes = Number(result.changes ?? 0);
986
+ if (changes > 0) {
987
+ persistOutputItemsFromRunEvent(db, event);
988
+ }
989
+ inserted += changes;
990
+ }
991
+ db.exec("COMMIT;");
992
+ }
993
+ catch (error) {
994
+ db.exec("ROLLBACK;");
995
+ throw error;
996
+ }
997
+ if (inserted > 0) {
998
+ resetOpenResponsesRunEventStore(sessionId);
999
+ }
1000
+ return inserted;
1001
+ };
1002
+ const hydrateOpenResponsesRunEvents = (sessionId, state, eventsPath) => {
1003
+ const store = getOpenResponsesRunEventStore(sessionId);
1004
+ if (store.hydrated)
1005
+ return;
1006
+ const db = getSessionSqliteDb(sessionId, state);
1007
+ importOpenResponsesRunEventsFromJsonl(sessionId, eventsPath, db);
1008
+ const rows = db.prepare(`
1009
+ SELECT
1010
+ workspace_id,
1011
+ run_id,
1012
+ sequence,
1013
+ event_type,
1014
+ payload_json,
1015
+ idempotency_key,
1016
+ created_at
1017
+ FROM ${OPENRESPONSES_EVENTS_SQLITE_TABLE}
1018
+ ORDER BY run_id ASC, sequence ASC
1019
+ `).all();
1020
+ for (const row of rows) {
1021
+ let payload = null;
1022
+ try {
1023
+ payload = JSON.parse(row.payload_json);
1024
+ }
1025
+ catch {
1026
+ continue;
1027
+ }
1028
+ if (!(0, gambit_core_1.isOpenResponsesRunEventPayload)(payload))
1029
+ continue;
1030
+ indexOpenResponsesRunEvent(store, {
1031
+ workspace_id: row.workspace_id,
1032
+ run_id: row.run_id,
1033
+ sequence: row.sequence,
1034
+ event_type: row.event_type,
1035
+ payload,
1036
+ idempotency_key: row.idempotency_key,
1037
+ created_at: row.created_at,
1038
+ });
1039
+ }
1040
+ store.hydrated = true;
1041
+ };
1042
+ const appendOpenResponsesRunEventSqlite = (args) => {
1043
+ const db = getSessionSqliteDb(args.sessionId, args.state);
1044
+ importOpenResponsesRunEventsFromJsonl(args.sessionId, args.eventsPath, db);
1045
+ const existing = db.prepare(`
1046
+ SELECT
1047
+ workspace_id,
1048
+ run_id,
1049
+ sequence,
1050
+ event_type,
1051
+ payload_json,
1052
+ idempotency_key,
1053
+ created_at
1054
+ FROM ${OPENRESPONSES_EVENTS_SQLITE_TABLE}
1055
+ WHERE workspace_id = ? AND run_id = ? AND idempotency_key = ?
1056
+ LIMIT 1
1057
+ `).get(args.workspaceId, args.input.run_id, args.input.idempotency_key);
1058
+ if (existing) {
1059
+ // JSON.parse returns `any`; force a runtime-validation path via unknown first.
1060
+ const payload = JSON.parse(existing.payload_json);
1061
+ if ((0, gambit_core_1.isOpenResponsesRunEventPayload)(payload)) {
1062
+ return {
1063
+ event: {
1064
+ workspace_id: existing.workspace_id,
1065
+ run_id: existing.run_id,
1066
+ sequence: existing.sequence,
1067
+ event_type: existing.event_type,
1068
+ payload,
1069
+ idempotency_key: existing.idempotency_key,
1070
+ created_at: existing.created_at,
1071
+ },
1072
+ inserted: false,
1073
+ };
1074
+ }
1075
+ }
1076
+ db.exec("BEGIN IMMEDIATE;");
1077
+ try {
1078
+ const sequenceRow = db.prepare(`
1079
+ SELECT MAX(sequence) AS sequence
1080
+ FROM ${OPENRESPONSES_EVENTS_SQLITE_TABLE}
1081
+ WHERE workspace_id = ? AND run_id = ?
1082
+ `).get(args.workspaceId, args.input.run_id);
1083
+ const sequence = typeof sequenceRow.sequence === "number"
1084
+ ? sequenceRow.sequence + 1
1085
+ : 0;
1086
+ const event = (0, gambit_core_1.toOpenResponsesRunEventV0)({
1087
+ ...args.input,
1088
+ workspace_id: args.workspaceId,
1089
+ sequence,
1090
+ });
1091
+ db.prepare(`
1092
+ INSERT INTO ${OPENRESPONSES_EVENTS_SQLITE_TABLE} (
1093
+ workspace_id,
1094
+ run_id,
1095
+ sequence,
1096
+ event_type,
1097
+ payload_json,
1098
+ idempotency_key,
1099
+ created_at,
1100
+ offset
1101
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
1102
+ `).run(event.workspace_id, event.run_id, event.sequence, event.event_type, safeStringify(event.payload), event.idempotency_key, event.created_at, args.offset);
1103
+ persistOutputItemsFromRunEvent(db, event);
1104
+ db.exec("COMMIT;");
1105
+ return { event, inserted: true };
1106
+ }
1107
+ catch (error) {
1108
+ db.exec("ROLLBACK;");
1109
+ throw error;
1110
+ }
1111
+ };
1112
+ const publishOpenResponsesRunEvent = (event) => {
1113
+ const listeners = openResponsesRunEventListenersBySessionRun.get(openResponsesRunEventListenerKey(event.workspace_id, event.run_id));
1114
+ if (!listeners || listeners.size === 0)
1115
+ return;
1116
+ for (const listener of listeners) {
1117
+ listener(event);
1118
+ }
1119
+ };
379
1120
  const getCurrentSessionOffset = (sessionId, state) => {
380
1121
  const cached = sessionOffsetById.get(sessionId);
381
1122
  if (cached !== undefined)
@@ -727,6 +1468,257 @@ const createSessionStore = (deps) => {
727
1468
  });
728
1469
  return envelope;
729
1470
  };
1471
+ const appendOpenResponsesRunEvent = async (state, input) => {
1472
+ const sessionId = typeof state.meta?.sessionId === "string"
1473
+ ? state.meta.sessionId
1474
+ : undefined;
1475
+ const eventsPath = typeof state.meta?.sessionEventsPath === "string"
1476
+ ? state.meta.sessionEventsPath
1477
+ : undefined;
1478
+ const statePath = typeof state.meta?.sessionStatePath === "string"
1479
+ ? state.meta.sessionStatePath
1480
+ : undefined;
1481
+ const workspaceId = typeof state.meta?.workspaceId === "string"
1482
+ ? state.meta.workspaceId
1483
+ : sessionId;
1484
+ if (!sessionId || !eventsPath || !workspaceId)
1485
+ return null;
1486
+ if (!(0, gambit_core_1.isOpenResponsesRunEventPayload)(input.payload)) {
1487
+ throw new Error("OpenResponses run event payload must include a type");
1488
+ }
1489
+ importOpenResponsesRunEventsFromJsonl(sessionId, eventsPath, getSessionSqliteDb(sessionId, state));
1490
+ const store = getOpenResponsesRunEventStore(sessionId);
1491
+ hydrateOpenResponsesRunEvents(sessionId, state, eventsPath);
1492
+ const idempotencyStoreKey = openResponsesRunEventIdempotencyKey(workspaceId, input.run_id, input.idempotency_key);
1493
+ const existing = store.byIdempotencyKey.get(idempotencyStoreKey);
1494
+ if (existing)
1495
+ return existing;
1496
+ return await enqueueSessionWriteResult(sessionId, async () => {
1497
+ importOpenResponsesRunEventsFromJsonl(sessionId, eventsPath, getSessionSqliteDb(sessionId, state));
1498
+ const localStore = getOpenResponsesRunEventStore(sessionId);
1499
+ hydrateOpenResponsesRunEvents(sessionId, state, eventsPath);
1500
+ const idempotent = localStore.byIdempotencyKey.get(idempotencyStoreKey);
1501
+ if (idempotent) {
1502
+ publishOpenResponsesRunEvent(idempotent);
1503
+ return idempotent;
1504
+ }
1505
+ const offset = nextSessionOffsetCandidate(sessionId, state);
1506
+ const { event, inserted } = appendOpenResponsesRunEventSqlite({
1507
+ sessionId,
1508
+ state,
1509
+ eventsPath,
1510
+ input,
1511
+ workspaceId,
1512
+ offset,
1513
+ });
1514
+ if (!inserted) {
1515
+ indexOpenResponsesRunEvent(localStore, event);
1516
+ publishOpenResponsesRunEvent(event);
1517
+ return event;
1518
+ }
1519
+ const record = {
1520
+ ...event,
1521
+ offset,
1522
+ type: OPENRESPONSES_RUN_EVENT_RECORD_TYPE,
1523
+ _gambit: {
1524
+ kind: OPENRESPONSES_RUN_EVENT_RECORD_KIND,
1525
+ domain: "session",
1526
+ offset,
1527
+ },
1528
+ };
1529
+ await appendJsonl(eventsPath, record);
1530
+ sessionOffsetById.set(sessionId, offset);
1531
+ if (state.meta && typeof state.meta === "object") {
1532
+ state.meta.lastAppliedOffset = offset;
1533
+ state.meta.lastAppliedEventSeq = offset;
1534
+ }
1535
+ await updateSnapshotBoundary(sessionId, statePath, offset);
1536
+ indexOpenResponsesRunEvent(localStore, event);
1537
+ publishOpenResponsesRunEvent(event);
1538
+ return event;
1539
+ });
1540
+ };
1541
+ const listOpenResponsesRunEvents = (args) => {
1542
+ const state = readSessionState(args.workspaceId);
1543
+ if (!state)
1544
+ return [];
1545
+ const sessionId = typeof state.meta?.sessionId === "string"
1546
+ ? state.meta.sessionId
1547
+ : args.workspaceId;
1548
+ const eventsPath = typeof state.meta?.sessionEventsPath === "string"
1549
+ ? state.meta.sessionEventsPath
1550
+ : path.join(sessionsRoot, sessionId, "events.jsonl");
1551
+ const fromSequence = parseFiniteInteger(args.fromSequence) ?? 0;
1552
+ const db = getSessionSqliteDb(sessionId, state);
1553
+ importOpenResponsesRunEventsFromJsonl(sessionId, eventsPath, db);
1554
+ const rows = db.prepare(`
1555
+ SELECT
1556
+ workspace_id,
1557
+ run_id,
1558
+ sequence,
1559
+ event_type,
1560
+ payload_json,
1561
+ idempotency_key,
1562
+ created_at
1563
+ FROM ${OPENRESPONSES_EVENTS_SQLITE_TABLE}
1564
+ WHERE workspace_id = ? AND run_id = ? AND sequence >= ?
1565
+ ORDER BY sequence ASC
1566
+ `).all(args.workspaceId, args.runId, fromSequence);
1567
+ return rows.flatMap((row) => {
1568
+ let payload = {};
1569
+ try {
1570
+ payload = JSON.parse(row.payload_json);
1571
+ }
1572
+ catch {
1573
+ return [];
1574
+ }
1575
+ if (!(0, gambit_core_1.isOpenResponsesRunEventPayload)(payload))
1576
+ return [];
1577
+ return (0, gambit_core_1.toOpenResponsesRunEventV0)({
1578
+ workspace_id: row.workspace_id,
1579
+ run_id: row.run_id,
1580
+ sequence: row.sequence,
1581
+ event_type: row.event_type,
1582
+ payload,
1583
+ idempotency_key: row.idempotency_key,
1584
+ created_at: row.created_at,
1585
+ });
1586
+ });
1587
+ };
1588
+ const listOpenResponsesOutputItems = (args) => {
1589
+ const state = readSessionState(args.workspaceId);
1590
+ if (!state)
1591
+ return [];
1592
+ const sessionId = typeof state.meta?.sessionId === "string"
1593
+ ? state.meta.sessionId
1594
+ : args.workspaceId;
1595
+ const eventsPath = typeof state.meta?.sessionEventsPath === "string"
1596
+ ? state.meta.sessionEventsPath
1597
+ : path.join(sessionsRoot, sessionId, "events.jsonl");
1598
+ const db = getSessionSqliteDb(sessionId, state);
1599
+ importOpenResponsesRunEventsFromJsonl(sessionId, eventsPath, db);
1600
+ const rows = db.prepare(`
1601
+ SELECT
1602
+ item_id,
1603
+ item_kind,
1604
+ role,
1605
+ content,
1606
+ message_ref_id,
1607
+ reasoning_type,
1608
+ summary,
1609
+ tool_call_id,
1610
+ tool_name,
1611
+ tool_status,
1612
+ arguments_text,
1613
+ result_text,
1614
+ error_text
1615
+ FROM ${OPENRESPONSES_OUTPUT_ITEMS_SQLITE_TABLE}
1616
+ WHERE workspace_id = ? AND run_id = ?
1617
+ ORDER BY sequence ASC, output_index ASC, item_key ASC
1618
+ `).all(args.workspaceId, args.runId);
1619
+ return rows.flatMap((row) => {
1620
+ if (row.item_kind === "message") {
1621
+ return [{
1622
+ __typename: "OutputMessage",
1623
+ id: row.item_id,
1624
+ role: row.role ?? "assistant",
1625
+ content: row.content ?? "",
1626
+ messageRefId: row.message_ref_id ?? undefined,
1627
+ }];
1628
+ }
1629
+ if (row.item_kind === "reasoning") {
1630
+ if (!(row.summary ?? "").trim())
1631
+ return [];
1632
+ return [{
1633
+ __typename: "OutputReasoning",
1634
+ id: row.item_id,
1635
+ summary: row.summary ?? "",
1636
+ reasoningType: row.reasoning_type ?? undefined,
1637
+ }];
1638
+ }
1639
+ if (row.item_kind === "tool_call") {
1640
+ const status = row.tool_status === "RUNNING" ||
1641
+ row.tool_status === "ERROR"
1642
+ ? row.tool_status
1643
+ : "COMPLETED";
1644
+ return [{
1645
+ __typename: "OutputToolCall",
1646
+ id: row.item_id,
1647
+ toolCallId: row.tool_call_id ?? row.item_id,
1648
+ toolName: row.tool_name ?? "tool_call",
1649
+ status,
1650
+ argumentsText: row.arguments_text ?? undefined,
1651
+ resultText: row.result_text ?? undefined,
1652
+ error: row.error_text ?? undefined,
1653
+ }];
1654
+ }
1655
+ return [];
1656
+ });
1657
+ };
1658
+ const subscribeOpenResponsesRunEvents = (args) => {
1659
+ const replayFrom = parseFiniteInteger(args.fromSequence) ?? 0;
1660
+ return {
1661
+ async *[Symbol.asyncIterator]() {
1662
+ const listenerKey = openResponsesRunEventListenerKey(args.workspaceId, args.runId);
1663
+ const listeners = openResponsesRunEventListenersBySessionRun.get(listenerKey) ??
1664
+ new Set();
1665
+ openResponsesRunEventListenersBySessionRun.set(listenerKey, listeners);
1666
+ const pending = [];
1667
+ let wake = null;
1668
+ let highWatermark = replayFrom - 1;
1669
+ const wakeNow = () => {
1670
+ if (!wake)
1671
+ return;
1672
+ const resolve = wake;
1673
+ wake = null;
1674
+ resolve();
1675
+ };
1676
+ const listener = (event) => {
1677
+ if (event.sequence <= highWatermark)
1678
+ return;
1679
+ pending.push(event);
1680
+ pending.sort((a, b) => a.sequence - b.sequence);
1681
+ wakeNow();
1682
+ };
1683
+ listeners.add(listener);
1684
+ const abortListener = () => wakeNow();
1685
+ args.signal?.addEventListener("abort", abortListener, { once: true });
1686
+ try {
1687
+ const replay = listOpenResponsesRunEvents({
1688
+ workspaceId: args.workspaceId,
1689
+ runId: args.runId,
1690
+ fromSequence: replayFrom,
1691
+ });
1692
+ for (const event of replay) {
1693
+ if (event.sequence <= highWatermark)
1694
+ continue;
1695
+ highWatermark = event.sequence;
1696
+ yield event;
1697
+ }
1698
+ while (!args.signal?.aborted) {
1699
+ if (pending.length === 0) {
1700
+ await new Promise((resolve) => {
1701
+ wake = resolve;
1702
+ });
1703
+ continue;
1704
+ }
1705
+ const next = pending.shift();
1706
+ if (!next || next.sequence <= highWatermark)
1707
+ continue;
1708
+ highWatermark = next.sequence;
1709
+ yield next;
1710
+ }
1711
+ }
1712
+ finally {
1713
+ args.signal?.removeEventListener("abort", abortListener);
1714
+ listeners.delete(listener);
1715
+ if (listeners.size === 0) {
1716
+ openResponsesRunEventListenersBySessionRun.delete(listenerKey);
1717
+ }
1718
+ }
1719
+ },
1720
+ };
1721
+ };
730
1722
  const appendSessionEvent = (state, payload) => appendWorkspaceEnvelope(state, "session", payload);
731
1723
  const appendFeedbackLog = (state, payload) => appendWorkspaceEnvelope(state, "session", {
732
1724
  ...payload,
@@ -795,9 +1787,19 @@ const createSessionStore = (deps) => {
795
1787
  const statePath = typeof snapshot.meta?.sessionStatePath === "string"
796
1788
  ? snapshot.meta.sessionStatePath
797
1789
  : path.join(dir, "state.json");
1790
+ const sqlitePath = typeof snapshot.meta?.sessionSqlitePath === "string"
1791
+ ? snapshot.meta.sessionSqlitePath
1792
+ : path.join(dir, SESSION_SQLITE_DB_FILENAME);
798
1793
  enqueueSessionWrite(sessionId, async () => {
799
1794
  try {
800
1795
  await ensureDirAsync(dir);
1796
+ getSessionSqliteDb(sessionId, {
1797
+ ...snapshot,
1798
+ meta: {
1799
+ ...(snapshot.meta ?? {}),
1800
+ sessionSqlitePath: sqlitePath,
1801
+ },
1802
+ });
801
1803
  let firstWrite = false;
802
1804
  try {
803
1805
  await dntShim.Deno.stat(eventsPath);
@@ -837,6 +1839,7 @@ const createSessionStore = (deps) => {
837
1839
  ...(snapshot.meta ?? {}),
838
1840
  lastAppliedOffset: snapshotOffset,
839
1841
  lastAppliedEventSeq: snapshotOffset,
1842
+ sessionSqlitePath: sqlitePath,
840
1843
  },
841
1844
  };
842
1845
  await appendJsonl(eventsPath, toCanonicalEventRecord({
@@ -916,6 +1919,9 @@ const createSessionStore = (deps) => {
916
1919
  if (typeof meta.sessionBuildStatePath !== "string") {
917
1920
  meta.sessionBuildStatePath = path.join(dir, "build_state.json");
918
1921
  }
1922
+ if (typeof meta.sessionSqlitePath !== "string") {
1923
+ meta.sessionSqlitePath = path.join(dir, SESSION_SQLITE_DB_FILENAME);
1924
+ }
919
1925
  const eventsPath = typeof meta.sessionEventsPath === "string"
920
1926
  ? meta.sessionEventsPath
921
1927
  : undefined;
@@ -991,6 +1997,7 @@ const createSessionStore = (deps) => {
991
1997
  parseFiniteInteger,
992
1998
  selectCanonicalScenarioRunSummary,
993
1999
  appendWorkspaceEnvelope,
2000
+ appendOpenResponsesRunEvent,
994
2001
  appendSessionEvent,
995
2002
  appendFeedbackLog,
996
2003
  appendGradingLog,
@@ -1000,6 +2007,9 @@ const createSessionStore = (deps) => {
1000
2007
  readSessionStateStrict,
1001
2008
  readSessionState,
1002
2009
  readBuildState,
2010
+ listOpenResponsesRunEvents,
2011
+ listOpenResponsesOutputItems,
2012
+ subscribeOpenResponsesRunEvents,
1003
2013
  replayBuildProjection,
1004
2014
  };
1005
2015
  };