@bolt-foundry/gambit 0.8.6-rc.5 → 0.8.6-rc.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -1
- package/esm/gambit/simulator-ui/dist/bundle.js +14226 -23324
- package/esm/gambit/simulator-ui/dist/bundle.js.map +4 -4
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/normalization_ast.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/normalization_ast.js +5 -0
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/query_text.d.ts +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/query_text.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/query_text.js +1 -0
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/raw_response_type.d.ts +1 -0
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/raw_response_type.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/normalization_ast.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/normalization_ast.js +5 -0
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.d.ts +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.js +1 -0
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts +1 -0
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/normalization_ast.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/normalization_ast.js +5 -0
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/query_text.d.ts +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/query_text.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/query_text.js +1 -0
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/raw_response_type.d.ts +1 -0
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/raw_response_type.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/normalization_ast.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/normalization_ast.js +5 -0
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.d.ts +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.js +1 -0
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/raw_response_type.d.ts +1 -0
- package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/raw_response_type.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Workspace/GradeTab/param_type.d.ts +65 -0
- package/esm/simulator-ui/__generated__/__isograph/Workspace/GradeTab/param_type.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Workspace/GradeTab/resolver_reader.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Workspace/GradeTab/resolver_reader.js +8 -1
- package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts +82 -0
- package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/resolver_reader.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/resolver_reader.js +8 -1
- package/esm/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/param_type.d.ts +106 -0
- package/esm/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/param_type.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/resolver_reader.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/resolver_reader.js +8 -1
- package/esm/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/param_type.d.ts +32 -0
- package/esm/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/param_type.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/resolver_reader.d.ts.map +1 -1
- package/esm/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/resolver_reader.js +8 -1
- package/esm/simulator-ui/isograph/components/Query/SimulatorBuildPage.d.ts.map +1 -1
- package/esm/simulator-ui/isograph/components/Query/SimulatorBuildPage.js +4 -11
- package/esm/simulator-ui/isograph/components/Query/SimulatorGradePage.d.ts.map +1 -1
- package/esm/simulator-ui/isograph/components/Query/SimulatorGradePage.js +79 -20
- package/esm/simulator-ui/isograph/components/Query/SimulatorTestPage.d.ts.map +1 -1
- package/esm/simulator-ui/isograph/components/Query/SimulatorTestPage.js +88 -27
- package/esm/simulator-ui/isograph/components/Query/SimulatorVerifyPage.d.ts.map +1 -1
- package/esm/simulator-ui/isograph/components/Query/SimulatorVerifyPage.js +31 -17
- package/esm/simulator-ui/isograph/components/Query/SimulatorWorkspacesPage.d.ts.map +1 -1
- package/esm/simulator-ui/isograph/components/Query/SimulatorWorkspacesPage.js +2 -6
- package/esm/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.d.ts.map +1 -1
- package/esm/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.js +27 -23
- package/esm/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.d.ts +3 -0
- package/esm/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.d.ts.map +1 -1
- package/esm/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.js +76 -50
- package/esm/simulator-ui/isograph/components/grade/GradeTabView.d.ts +14 -0
- package/esm/simulator-ui/isograph/components/grade/GradeTabView.d.ts.map +1 -1
- package/esm/simulator-ui/isograph/components/grade/GradeTabView.js +1 -1
- package/esm/simulator-ui/isograph/entrypoints/EntrypointSimulatorRedirect.d.ts.map +1 -1
- package/esm/simulator-ui/isograph/entrypoints/EntrypointSimulatorRedirect.js +3 -16
- package/esm/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.d.ts.map +1 -1
- package/esm/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.js +1 -9
- package/esm/simulator-ui/src/AppShell.d.ts.map +1 -1
- package/esm/simulator-ui/src/AppShell.js +21 -31
- package/esm/simulator-ui/src/Chat.d.ts +6 -30
- package/esm/simulator-ui/src/Chat.d.ts.map +1 -1
- package/esm/simulator-ui/src/Chat.js +14 -109
- package/esm/simulator-ui/src/MinimalRouterRoot.d.ts.map +1 -1
- package/esm/simulator-ui/src/MinimalRouterRoot.js +1 -16
- package/esm/simulator-ui/src/TestBotChatPanel.d.ts +2 -0
- package/esm/simulator-ui/src/TestBotChatPanel.d.ts.map +1 -1
- package/esm/simulator-ui/src/TestBotChatPanel.js +2 -2
- package/esm/simulator-ui/src/WorkbenchChatIntro.d.ts +10 -0
- package/esm/simulator-ui/src/WorkbenchChatIntro.d.ts.map +1 -0
- package/esm/simulator-ui/src/WorkbenchChatIntro.js +24 -0
- package/esm/simulator-ui/src/WorkbenchDrawerIso.d.ts +1 -0
- package/esm/simulator-ui/src/WorkbenchDrawerIso.d.ts.map +1 -1
- package/esm/simulator-ui/src/WorkbenchDrawerIso.js +3 -15
- package/esm/simulator-ui/src/gds/WorkbenchComposerChip.d.ts +2 -17
- package/esm/simulator-ui/src/gds/WorkbenchComposerChip.d.ts.map +1 -1
- package/esm/simulator-ui/src/grade/GradeResultsPanel.d.ts +10 -0
- package/esm/simulator-ui/src/grade/GradeResultsPanel.d.ts.map +1 -1
- package/esm/simulator-ui/src/grade/GradeResultsPanel.js +16 -1
- package/esm/simulator-ui/src/routing.d.ts.map +1 -1
- package/esm/simulator-ui/src/routing.js +0 -31
- package/esm/simulator-ui/src/shared.d.ts +1 -0
- package/esm/simulator-ui/src/shared.d.ts.map +1 -1
- package/esm/simulator-ui/src/shared.js +4 -2
- package/esm/simulator-ui/src/styles.d.ts +1 -1
- package/esm/simulator-ui/src/styles.d.ts.map +1 -1
- package/esm/simulator-ui/src/styles.js +65 -0
- package/esm/simulator-ui/src/utils.d.ts +1 -0
- package/esm/simulator-ui/src/utils.d.ts.map +1 -1
- package/esm/simulator-ui/src/utils.js +2 -0
- package/esm/simulator-ui/src/workbenchChipStore.d.ts +12 -0
- package/esm/simulator-ui/src/workbenchChipStore.d.ts.map +1 -0
- package/esm/simulator-ui/src/workbenchChipStore.js +69 -0
- package/esm/simulator-ui/src/workbenchContext.d.ts +50 -0
- package/esm/simulator-ui/src/workbenchContext.d.ts.map +1 -0
- package/esm/simulator-ui/src/workbenchContext.js +159 -0
- package/esm/src/server/request_handler.d.ts.map +1 -1
- package/esm/src/server/request_handler.js +0 -40
- package/esm/src/server.js +1 -1
- package/esm/src/server_legacy_api_routes.d.ts +2 -122
- package/esm/src/server_legacy_api_routes.d.ts.map +1 -1
- package/esm/src/server_legacy_api_routes.js +0 -591
- package/esm/src/server_simulator_ui.d.ts.map +1 -1
- package/esm/src/server_simulator_ui.js +34 -0
- package/esm/src/server_ui_routes.d.ts.map +1 -1
- package/esm/src/server_ui_routes.js +0 -2
- package/esm/src/server_workspace_graphql.d.ts +1 -1
- package/esm/src/server_workspace_graphql.d.ts.map +1 -1
- package/esm/src/server_workspace_graphql.js +66 -46
- package/esm/src/simulator_graphql.d.ts.map +1 -1
- package/esm/src/simulator_graphql.js +5 -0
- package/package.json +1 -1
- package/script/gambit/simulator-ui/dist/bundle.js +14226 -23324
- package/script/gambit/simulator-ui/dist/bundle.js.map +4 -4
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/normalization_ast.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/normalization_ast.js +5 -0
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/query_text.d.ts +1 -1
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/query_text.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/query_text.js +1 -0
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/raw_response_type.d.ts +1 -0
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorGradePage/raw_response_type.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/normalization_ast.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/normalization_ast.js +5 -0
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.d.ts +1 -1
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.js +1 -0
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts +1 -0
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/normalization_ast.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/normalization_ast.js +5 -0
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/query_text.d.ts +1 -1
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/query_text.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/query_text.js +1 -0
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/raw_response_type.d.ts +1 -0
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorVerifyPage/raw_response_type.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/normalization_ast.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/normalization_ast.js +5 -0
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.d.ts +1 -1
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.js +1 -0
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/raw_response_type.d.ts +1 -0
- package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/raw_response_type.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Workspace/GradeTab/param_type.d.ts +65 -0
- package/script/simulator-ui/__generated__/__isograph/Workspace/GradeTab/param_type.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Workspace/GradeTab/resolver_reader.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Workspace/GradeTab/resolver_reader.js +8 -1
- package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts +82 -0
- package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/resolver_reader.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/resolver_reader.js +8 -1
- package/script/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/param_type.d.ts +106 -0
- package/script/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/param_type.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/resolver_reader.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Workspace/VerifyTab/resolver_reader.js +8 -1
- package/script/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/param_type.d.ts +32 -0
- package/script/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/param_type.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/resolver_reader.d.ts.map +1 -1
- package/script/simulator-ui/__generated__/__isograph/Workspace/WorkbenchChatDrawer/resolver_reader.js +8 -1
- package/script/simulator-ui/isograph/components/Query/SimulatorBuildPage.d.ts.map +1 -1
- package/script/simulator-ui/isograph/components/Query/SimulatorBuildPage.js +4 -11
- package/script/simulator-ui/isograph/components/Query/SimulatorGradePage.d.ts.map +1 -1
- package/script/simulator-ui/isograph/components/Query/SimulatorGradePage.js +112 -20
- package/script/simulator-ui/isograph/components/Query/SimulatorTestPage.d.ts.map +1 -1
- package/script/simulator-ui/isograph/components/Query/SimulatorTestPage.js +121 -27
- package/script/simulator-ui/isograph/components/Query/SimulatorVerifyPage.d.ts.map +1 -1
- package/script/simulator-ui/isograph/components/Query/SimulatorVerifyPage.js +31 -17
- package/script/simulator-ui/isograph/components/Query/SimulatorWorkspacesPage.d.ts.map +1 -1
- package/script/simulator-ui/isograph/components/Query/SimulatorWorkspacesPage.js +2 -6
- package/script/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.d.ts.map +1 -1
- package/script/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.js +26 -22
- package/script/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.d.ts +3 -0
- package/script/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.d.ts.map +1 -1
- package/script/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.js +75 -49
- package/script/simulator-ui/isograph/components/grade/GradeTabView.d.ts +14 -0
- package/script/simulator-ui/isograph/components/grade/GradeTabView.d.ts.map +1 -1
- package/script/simulator-ui/isograph/components/grade/GradeTabView.js +1 -1
- package/script/simulator-ui/isograph/entrypoints/EntrypointSimulatorRedirect.d.ts.map +1 -1
- package/script/simulator-ui/isograph/entrypoints/EntrypointSimulatorRedirect.js +3 -16
- package/script/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.d.ts.map +1 -1
- package/script/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.js +1 -9
- package/script/simulator-ui/src/AppShell.d.ts.map +1 -1
- package/script/simulator-ui/src/AppShell.js +21 -31
- package/script/simulator-ui/src/Chat.d.ts +6 -30
- package/script/simulator-ui/src/Chat.d.ts.map +1 -1
- package/script/simulator-ui/src/Chat.js +14 -109
- package/script/simulator-ui/src/MinimalRouterRoot.d.ts.map +1 -1
- package/script/simulator-ui/src/MinimalRouterRoot.js +1 -16
- package/script/simulator-ui/src/TestBotChatPanel.d.ts +2 -0
- package/script/simulator-ui/src/TestBotChatPanel.d.ts.map +1 -1
- package/script/simulator-ui/src/TestBotChatPanel.js +2 -2
- package/script/simulator-ui/src/WorkbenchChatIntro.d.ts +10 -0
- package/script/simulator-ui/src/WorkbenchChatIntro.d.ts.map +1 -0
- package/script/simulator-ui/src/WorkbenchChatIntro.js +30 -0
- package/script/simulator-ui/src/WorkbenchDrawerIso.d.ts +1 -0
- package/script/simulator-ui/src/WorkbenchDrawerIso.d.ts.map +1 -1
- package/script/simulator-ui/src/WorkbenchDrawerIso.js +3 -15
- package/script/simulator-ui/src/gds/WorkbenchComposerChip.d.ts +2 -17
- package/script/simulator-ui/src/gds/WorkbenchComposerChip.d.ts.map +1 -1
- package/script/simulator-ui/src/grade/GradeResultsPanel.d.ts +10 -0
- package/script/simulator-ui/src/grade/GradeResultsPanel.d.ts.map +1 -1
- package/script/simulator-ui/src/grade/GradeResultsPanel.js +16 -1
- package/script/simulator-ui/src/routing.d.ts.map +1 -1
- package/script/simulator-ui/src/routing.js +0 -31
- package/script/simulator-ui/src/shared.d.ts +1 -0
- package/script/simulator-ui/src/shared.d.ts.map +1 -1
- package/script/simulator-ui/src/shared.js +4 -2
- package/script/simulator-ui/src/styles.d.ts +1 -1
- package/script/simulator-ui/src/styles.d.ts.map +1 -1
- package/script/simulator-ui/src/styles.js +65 -0
- package/script/simulator-ui/src/utils.d.ts +1 -0
- package/script/simulator-ui/src/utils.d.ts.map +1 -1
- package/script/simulator-ui/src/utils.js +3 -1
- package/script/simulator-ui/src/workbenchChipStore.d.ts +12 -0
- package/script/simulator-ui/src/workbenchChipStore.d.ts.map +1 -0
- package/script/simulator-ui/src/workbenchChipStore.js +108 -0
- package/script/simulator-ui/src/workbenchContext.d.ts +50 -0
- package/script/simulator-ui/src/workbenchContext.d.ts.map +1 -0
- package/script/simulator-ui/src/workbenchContext.js +165 -0
- package/script/src/server/request_handler.d.ts.map +1 -1
- package/script/src/server/request_handler.js +0 -40
- package/script/src/server.js +1 -1
- package/script/src/server_legacy_api_routes.d.ts +2 -122
- package/script/src/server_legacy_api_routes.d.ts.map +1 -1
- package/script/src/server_legacy_api_routes.js +0 -624
- package/script/src/server_simulator_ui.d.ts.map +1 -1
- package/script/src/server_simulator_ui.js +34 -0
- package/script/src/server_ui_routes.d.ts.map +1 -1
- package/script/src/server_ui_routes.js +0 -2
- package/script/src/server_workspace_graphql.d.ts +1 -1
- package/script/src/server_workspace_graphql.d.ts.map +1 -1
- package/script/src/server_workspace_graphql.js +66 -46
- package/script/src/simulator_graphql.d.ts.map +1 -1
- package/script/src/simulator_graphql.js +5 -0
- package/esm/simulator-ui/src/ProviderLoginPanel.d.ts +0 -8
- package/esm/simulator-ui/src/ProviderLoginPanel.d.ts.map +0 -1
- package/esm/simulator-ui/src/ProviderLoginPanel.js +0 -156
- package/esm/simulator-ui/src/WorkbenchDrawer.d.ts +0 -38
- package/esm/simulator-ui/src/WorkbenchDrawer.d.ts.map +0 -1
- package/esm/simulator-ui/src/WorkbenchDrawer.js +0 -716
- package/esm/simulator-ui/src/gds/Accordion.d.ts +0 -19
- package/esm/simulator-ui/src/gds/Accordion.d.ts.map +0 -1
- package/esm/simulator-ui/src/gds/Accordion.js +0 -47
- package/script/simulator-ui/src/ProviderLoginPanel.d.ts +0 -8
- package/script/simulator-ui/src/ProviderLoginPanel.d.ts.map +0 -1
- package/script/simulator-ui/src/ProviderLoginPanel.js +0 -162
- package/script/simulator-ui/src/WorkbenchDrawer.d.ts +0 -38
- package/script/simulator-ui/src/WorkbenchDrawer.d.ts.map +0 -1
- package/script/simulator-ui/src/WorkbenchDrawer.js +0 -722
- package/script/simulator-ui/src/gds/Accordion.d.ts +0 -19
- package/script/simulator-ui/src/gds/Accordion.d.ts.map +0 -1
- package/script/simulator-ui/src/gds/Accordion.js +0 -86
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import * as dntShim from "../../../../_dnt.shims.js";
|
|
2
2
|
import { iso } from "../../../__generated__/__isograph/iso.js";
|
|
3
3
|
import { useCallback, useEffect, useMemo, useReducer, useRef, useState, } from "react";
|
|
4
|
-
import { BuildChatRows, deriveBuildChatActivityState, formatElapsedDuration, } from "../../../src/Chat.js";
|
|
4
|
+
import { BuildChatRows, deriveBuildChatActivityState, encodeWorkbenchMessageWithContext, formatElapsedDuration, } from "../../../src/Chat.js";
|
|
5
5
|
import Button from "../../../src/gds/Button.js";
|
|
6
6
|
import Callout from "../../../src/gds/Callout.js";
|
|
7
7
|
import CodexLoginRequiredOverlay from "../../../src/CodexLoginRequiredOverlay.js";
|
|
8
|
+
import WorkbenchChatIntro from "../../../src/WorkbenchChatIntro.js";
|
|
9
|
+
import WorkbenchComposerChip from "../../../src/gds/WorkbenchComposerChip.js";
|
|
8
10
|
import { countTranscriptMessages, parseTranscriptEntries, toBuildDisplayEntries, toOptimisticTranscriptEntries, } from "../../../src/transcriptEntries.js";
|
|
9
11
|
import WorkbenchDrawerIso from "../../../src/WorkbenchDrawerIso.js";
|
|
12
|
+
import { workbenchChatTopActionsEnabled } from "../../../src/utils.js";
|
|
13
|
+
import { toWorkbenchMessageContext, } from "../../../src/workbenchContext.js";
|
|
14
|
+
import { mergeWorkbenchSelectedContextChip } from "../../../src/workbenchChipStore.js";
|
|
10
15
|
const RUN_STATUS_VALUES = new Set([
|
|
11
16
|
"IDLE",
|
|
12
17
|
"RUNNING",
|
|
@@ -40,12 +45,10 @@ function isBuildChatDebugEnabled() {
|
|
|
40
45
|
}
|
|
41
46
|
return stored === "1" || stored === "true" || stored === "yes";
|
|
42
47
|
}
|
|
43
|
-
const BUILD_CHAT_DEBUG = isBuildChatDebugEnabled();
|
|
44
48
|
function logBuildChatDebug(event, payload) {
|
|
45
|
-
if (!
|
|
49
|
+
if (!isBuildChatDebugEnabled())
|
|
46
50
|
return;
|
|
47
|
-
|
|
48
|
-
void payload;
|
|
51
|
+
console.info(`[build-chat-debug] ${event}`, payload);
|
|
49
52
|
}
|
|
50
53
|
function toRunStatus(value) {
|
|
51
54
|
if (typeof value !== "string")
|
|
@@ -169,7 +172,6 @@ export const WorkbenchConversationRunChat = iso(`
|
|
|
169
172
|
const testIdPrefix = (componentProps.testIdPrefix ?? "build").trim() ||
|
|
170
173
|
"build";
|
|
171
174
|
const chatInputTestId = `${testIdPrefix}-chat-input`;
|
|
172
|
-
const startButtonTestId = `${testIdPrefix}-start`;
|
|
173
175
|
const sendButtonTestId = `${testIdPrefix}-send`;
|
|
174
176
|
const stopButtonTestId = `${testIdPrefix}-stop`;
|
|
175
177
|
const activityIndicatorTestId = `${testIdPrefix}-chat-activity-indicator`;
|
|
@@ -222,6 +224,9 @@ export const WorkbenchConversationRunChat = iso(`
|
|
|
222
224
|
const wasActiveRef = useRef(false);
|
|
223
225
|
const [chatDraft, setChatDraft] = useState("");
|
|
224
226
|
const [localError, setLocalError] = useState(null);
|
|
227
|
+
const composerChips = componentProps.composerChips ?? [];
|
|
228
|
+
const updateComposerChips = componentProps.onComposerChipsChange ??
|
|
229
|
+
(() => { });
|
|
225
230
|
const onSendMessage = useCallback((message, options) => {
|
|
226
231
|
if (codexLoginRequired) {
|
|
227
232
|
setChatError("Codex login is required for this workspace.");
|
|
@@ -304,11 +309,13 @@ export const WorkbenchConversationRunChat = iso(`
|
|
|
304
309
|
]);
|
|
305
310
|
const isRunning = runStatus === "RUNNING";
|
|
306
311
|
const isBusy = componentProps.isSending || componentProps.isStopping;
|
|
312
|
+
const hasEnabledComposerChip = composerChips.some((chip) => chip.enabled);
|
|
307
313
|
const canStartAssistant = !isRunning && !componentProps.isSending &&
|
|
308
314
|
transcriptMessageCount === 0;
|
|
309
315
|
const canSubmitMessage = !componentProps.isSending && !isRunning &&
|
|
310
|
-
chatDraft.trim().length > 0;
|
|
311
|
-
const
|
|
316
|
+
(chatDraft.trim().length > 0 || hasEnabledComposerChip);
|
|
317
|
+
const showStartOverlay = canStartAssistant && !hasEnabledComposerChip &&
|
|
318
|
+
chatDraft.trim().length === 0;
|
|
312
319
|
const resolvedError = chatError ?? localError;
|
|
313
320
|
const handleCopyCodexLoginCommand = useCallback(() => {
|
|
314
321
|
globalThis.navigator?.clipboard?.writeText(codexLoginCommand);
|
|
@@ -361,26 +368,37 @@ export const WorkbenchConversationRunChat = iso(`
|
|
|
361
368
|
const trimmed = chatDraft.trim();
|
|
362
369
|
if (!canSubmitMessage || isBusy)
|
|
363
370
|
return;
|
|
371
|
+
const activeChips = composerChips.filter((chip) => chip.enabled);
|
|
372
|
+
const activeChipIds = new Set(activeChips.map((chip) => chip.chipId));
|
|
373
|
+
const outboundMessage = activeChips.length > 0
|
|
374
|
+
? encodeWorkbenchMessageWithContext(trimmed, activeChips.map((chip) => toWorkbenchMessageContext(chip)))
|
|
375
|
+
: trimmed;
|
|
376
|
+
logBuildChatDebug("send.outbound", {
|
|
377
|
+
runId,
|
|
378
|
+
workspaceId,
|
|
379
|
+
trimmed,
|
|
380
|
+
activeChips,
|
|
381
|
+
outboundMessage,
|
|
382
|
+
});
|
|
364
383
|
setLocalError(null);
|
|
365
384
|
try {
|
|
366
|
-
await onSendMessage(
|
|
385
|
+
await onSendMessage(outboundMessage);
|
|
367
386
|
setChatDraft("");
|
|
387
|
+
if (activeChipIds.size > 0) {
|
|
388
|
+
updateComposerChips(composerChips.map((chip) => activeChipIds.has(chip.chipId) ? { ...chip, enabled: false } : chip));
|
|
389
|
+
}
|
|
368
390
|
}
|
|
369
391
|
catch (error) {
|
|
370
392
|
setLocalError(toErrorMessage(error));
|
|
371
393
|
}
|
|
372
|
-
}, [
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
catch (error) {
|
|
381
|
-
setLocalError(toErrorMessage(error));
|
|
382
|
-
}
|
|
383
|
-
}, [isBusy, onSendMessage, showStartButton]);
|
|
394
|
+
}, [
|
|
395
|
+
canSubmitMessage,
|
|
396
|
+
chatDraft,
|
|
397
|
+
composerChips,
|
|
398
|
+
isBusy,
|
|
399
|
+
onSendMessage,
|
|
400
|
+
updateComposerChips,
|
|
401
|
+
]);
|
|
384
402
|
const stopMessage = useCallback(async () => {
|
|
385
403
|
if (isBusy || !isRunning)
|
|
386
404
|
return;
|
|
@@ -395,17 +413,23 @@ export const WorkbenchConversationRunChat = iso(`
|
|
|
395
413
|
const addScenarioErrorToChat = useCallback(() => {
|
|
396
414
|
if (!scenarioRunError)
|
|
397
415
|
return;
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
416
|
+
updateComposerChips(mergeWorkbenchSelectedContextChip(composerChips, {
|
|
417
|
+
chipId: `scenario_run_error:${runId ?? workspaceId ?? "workspace"}`,
|
|
418
|
+
source: "scenario_run_error",
|
|
419
|
+
workspaceId: workspaceId ?? undefined,
|
|
420
|
+
runId: runId ?? undefined,
|
|
421
|
+
capturedAt: new Date().toISOString(),
|
|
422
|
+
error: scenarioRunError,
|
|
423
|
+
enabled: true,
|
|
424
|
+
}));
|
|
406
425
|
composerInputRef.current?.focus();
|
|
407
|
-
}, [
|
|
408
|
-
|
|
426
|
+
}, [
|
|
427
|
+
composerChips,
|
|
428
|
+
runId,
|
|
429
|
+
scenarioRunError,
|
|
430
|
+
updateComposerChips,
|
|
431
|
+
workspaceId,
|
|
432
|
+
]);
|
|
409
433
|
const errorCalloutTestId = `${testIdPrefix}-error-callout`;
|
|
410
434
|
const addErrorToChatTestId = `${testIdPrefix}-add-error-to-chat`;
|
|
411
435
|
const chatBody = (React.createElement("div", { className: "test-bot-sidebar flex-column gap-8 flex-1 build-chat-panel" },
|
|
@@ -415,19 +439,23 @@ export const WorkbenchConversationRunChat = iso(`
|
|
|
415
439
|
React.createElement("div", { className: "test-bot-thread" },
|
|
416
440
|
React.createElement("div", { className: "imessage-thread", ref: transcriptRef, onScroll: (event) => {
|
|
417
441
|
shouldAutoScrollRef.current = isNearBottom(event.currentTarget);
|
|
418
|
-
} },
|
|
419
|
-
|
|
420
|
-
|
|
442
|
+
} },
|
|
443
|
+
!showCodexLoginOverlay && showStartOverlay && React.createElement(WorkbenchChatIntro, null),
|
|
444
|
+
effectiveTranscriptDisplay.length === 0
|
|
445
|
+
? (showStartOverlay && !showCodexLoginOverlay
|
|
446
|
+
? null
|
|
447
|
+
: React.createElement(Callout, null, emptyStateText))
|
|
448
|
+
: React.createElement(BuildChatRows, { display: effectiveTranscriptDisplay }))),
|
|
421
449
|
React.createElement("div", { className: "composer" },
|
|
422
450
|
React.createElement("div", { className: "composer-inputs" },
|
|
423
451
|
React.createElement("div", { className: "build-chat-activity-sticky" },
|
|
424
452
|
React.createElement(BuildChatActivityIndicator, { state: activityState, startedAtMs: resolvedStartedAtMs, testId: activityIndicatorTestId, timerTestId: activityTimerTestId })),
|
|
453
|
+
composerChips.length > 0 && (React.createElement("div", { className: "workbench-composer-chip-row", "data-testid": `${testIdPrefix}-composer-chip-row` }, composerChips.map((chip) => (React.createElement(WorkbenchComposerChip, { key: chip.chipId, context: chip, enabled: chip.enabled, onEnabledChange: (enabled) => updateComposerChips(composerChips.map((entry) => entry.chipId === chip.chipId
|
|
454
|
+
? { ...entry, enabled }
|
|
455
|
+
: entry)), onRemove: () => updateComposerChips(composerChips.filter((entry) => entry.chipId !== chip.chipId)) }))))),
|
|
425
456
|
scenarioRunError && (React.createElement(Callout, { variant: "danger", title: "Scenario run failed", actions: React.createElement(Button, { variant: "secondary", size: "small", "data-testid": addErrorToChatTestId, onClick: addScenarioErrorToChat }, "Add to chat"), "data-testid": errorCalloutTestId }, scenarioRunError)),
|
|
426
|
-
showStartButton && (React.createElement(Callout, { variant: "emphasis" }, "Start the assistant to begin editing.")),
|
|
427
457
|
React.createElement("div", { className: "flex-row gap-4 mb-2" },
|
|
428
|
-
React.createElement("textarea", { ref: composerInputRef, className: "message-input flex-1", rows: 1, placeholder:
|
|
429
|
-
? "Start the assistant to begin..."
|
|
430
|
-
: "Message Gambit Bot...", value: chatDraft, onChange: (event) => setChatDraft(event.target.value), "data-testid": chatInputTestId, disabled: isBusy, onKeyDown: (event) => {
|
|
458
|
+
React.createElement("textarea", { ref: composerInputRef, className: "message-input flex-1", rows: 1, placeholder: "Message Gambit Bot...", value: chatDraft, onChange: (event) => setChatDraft(event.target.value), "data-testid": chatInputTestId, disabled: isBusy, onKeyDown: (event) => {
|
|
431
459
|
if (event.key === "Enter" && !event.shiftKey) {
|
|
432
460
|
event.preventDefault();
|
|
433
461
|
if (canSubmitMessage) {
|
|
@@ -436,19 +464,17 @@ export const WorkbenchConversationRunChat = iso(`
|
|
|
436
464
|
}
|
|
437
465
|
} }),
|
|
438
466
|
React.createElement("div", { className: "composer-actions" },
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
? (React.createElement(Button, { variant: "primary", disabled: !showStartButton || isBusy || codexLoginRequired, "data-testid": startButtonTestId, onClick: () => {
|
|
446
|
-
void startAssistant();
|
|
447
|
-
} }, componentProps.isSending ? "Starting..." : "Start"))
|
|
448
|
-
: (React.createElement(Button, { variant: "primary", disabled: !canSubmitMessage || isBusy || codexLoginRequired, "data-testid": sendButtonTestId, onClick: () => {
|
|
467
|
+
React.createElement("div", { className: "composer-action-slot composer-action-slot-primary" }, isRunning
|
|
468
|
+
? (React.createElement(Button, { variant: "secondary", className: "composer-action-button", disabled: isBusy, "data-testid": stopButtonTestId, onClick: () => {
|
|
469
|
+
void stopMessage();
|
|
470
|
+
} }, componentProps.isStopping ? "Stopping..." : "Stop"))
|
|
471
|
+
: (React.createElement(Button, { variant: "primary", className: "composer-action-button", disabled: !canSubmitMessage || isBusy ||
|
|
472
|
+
codexLoginRequired, "data-testid": sendButtonTestId, onClick: () => {
|
|
449
473
|
void sendMessage();
|
|
450
|
-
} }, componentProps.isSending ? "Sending..." : "Send")))),
|
|
474
|
+
} }, componentProps.isSending ? "Sending..." : "Send"))))),
|
|
451
475
|
resolvedError && React.createElement("div", { className: "error" }, resolvedError)))));
|
|
452
|
-
return (React.createElement(WorkbenchDrawerIso, { open: componentProps.open, runStatus: runStatus, chatHeaderActions: componentProps.chatHeaderActions, chatHistoryOpen:
|
|
476
|
+
return (React.createElement(WorkbenchDrawerIso, { open: componentProps.open, runStatus: runStatus, chatHeaderActions: componentProps.chatHeaderActions, chatHistoryOpen: workbenchChatTopActionsEnabled
|
|
477
|
+
? componentProps.chatHistoryOpen
|
|
478
|
+
: false, chatHistoryContent: componentProps.chatHistoryContent, chatBody: chatBody }));
|
|
453
479
|
});
|
|
454
480
|
export default WorkbenchConversationRunChat;
|
|
@@ -65,6 +65,20 @@ export declare function GradeTabView(props: {
|
|
|
65
65
|
runId: string;
|
|
66
66
|
turnIndex?: number;
|
|
67
67
|
}) => void;
|
|
68
|
+
onAddFlagToWorkbench?: (args: {
|
|
69
|
+
refId: string;
|
|
70
|
+
runId: string;
|
|
71
|
+
turnIndex?: number;
|
|
72
|
+
score?: number;
|
|
73
|
+
graderReason?: string;
|
|
74
|
+
flagReason?: string;
|
|
75
|
+
priorUser?: string;
|
|
76
|
+
gradedAssistant?: string;
|
|
77
|
+
}) => void;
|
|
78
|
+
onAddErrorToWorkbench?: (args: {
|
|
79
|
+
runId?: string;
|
|
80
|
+
error: string;
|
|
81
|
+
}) => void;
|
|
68
82
|
mutationError: string | null;
|
|
69
83
|
expandedResults: Record<string, boolean>;
|
|
70
84
|
onToggleExpandedResult: (itemKey: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GradeTabView.d.ts","sourceRoot":"","sources":["../../../../../src/simulator-ui/isograph/components/grade/GradeTabView.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GradeTabView.d.ts","sourceRoot":"","sources":["../../../../../src/simulator-ui/isograph/components/grade/GradeTabView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -86,6 +86,6 @@ export function GradeTabView(props) {
|
|
|
86
86
|
meta: [run.status, run.finishedAt ?? run.startedAt].filter(Boolean)
|
|
87
87
|
.join(" · "),
|
|
88
88
|
})), [props.scenarioRuns]);
|
|
89
|
-
return (React.createElement(GradeTabShell, { runner: React.createElement(GradeRunnerPanel, { testRunOptions: testRunOptions, selectedTestRunId: props.selectedScenarioRunId, onSelectTestRun: (runId) => props.onSelectScenarioRun(runId || null), graders: graderOptions, selectedGraderId: props.selectedGraderId, onSelectGrader: props.onSelectGrader, selectedGraderDescription: selectedGrader?.description ?? null, sessionsCount: props.scenarioRuns.length, onRunGrader: props.onRunGrader, canRun: props.canRunGrader, running: props.runInFlight, runButtonTestId: "grade-run-grader" }), results: React.createElement(GradeResultsPanel, { error: props.mutationError, loading: false, runCount: runSections.length, runItemsCount: runSections.flatMap((section) => section.items).length, emptyMessage: "No grader runs for this selected test run yet.", routeRunNotFound: props.routeRunMissing, missingRunHref: props.missingRunHref, runSections: runSections, expandedRunId: props.routeGradeRunId, onToggleRun: (runId) => props.onSelectRun(props.routeGradeRunId === runId ? null : runId), expandedResults: props.expandedResults, onToggleExpandedResult: props.onToggleExpandedResult, flaggedRefSet: flaggedRefSet, flagReasonDrafts: props.reasonDrafts, flagReasonByRefId: props.flagByRefId, onToggleFlag: props.onToggleFlag, onFlagReasonChange: props.onReasonDraftChange, onFlagReasonBlur: props.onReasonBlur, topErrorRunId: props.routeGradeRunId }) }));
|
|
89
|
+
return (React.createElement(GradeTabShell, { runner: React.createElement(GradeRunnerPanel, { testRunOptions: testRunOptions, selectedTestRunId: props.selectedScenarioRunId, onSelectTestRun: (runId) => props.onSelectScenarioRun(runId || null), graders: graderOptions, selectedGraderId: props.selectedGraderId, onSelectGrader: props.onSelectGrader, selectedGraderDescription: selectedGrader?.description ?? null, sessionsCount: props.scenarioRuns.length, onRunGrader: props.onRunGrader, canRun: props.canRunGrader, running: props.runInFlight, runButtonTestId: "grade-run-grader" }), results: React.createElement(GradeResultsPanel, { error: props.mutationError, loading: false, runCount: runSections.length, runItemsCount: runSections.flatMap((section) => section.items).length, emptyMessage: "No grader runs for this selected test run yet.", routeRunNotFound: props.routeRunMissing, missingRunHref: props.missingRunHref, runSections: runSections, expandedRunId: props.routeGradeRunId, onToggleRun: (runId) => props.onSelectRun(props.routeGradeRunId === runId ? null : runId), expandedResults: props.expandedResults, onToggleExpandedResult: props.onToggleExpandedResult, flaggedRefSet: flaggedRefSet, flagReasonDrafts: props.reasonDrafts, flagReasonByRefId: props.flagByRefId, onToggleFlag: props.onToggleFlag, onFlagReasonChange: props.onReasonDraftChange, onFlagReasonBlur: props.onReasonBlur, onAddFlagToWorkbench: props.onAddFlagToWorkbench, onAddErrorToWorkbench: props.onAddErrorToWorkbench, topErrorRunId: props.routeGradeRunId }) }));
|
|
90
90
|
}
|
|
91
91
|
export default GradeTabView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntrypointSimulatorRedirect.d.ts","sourceRoot":"","sources":["../../../../src/simulator-ui/isograph/entrypoints/EntrypointSimulatorRedirect.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,2BAA2B;;;;;;;
|
|
1
|
+
{"version":3,"file":"EntrypointSimulatorRedirect.d.ts","sourceRoot":"","sources":["../../../../src/simulator-ui/isograph/entrypoints/EntrypointSimulatorRedirect.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,2BAA2B;;;;;;;CAuDtC,CAAC;AAEH,eAAe,2BAA2B,CAAC"}
|
|
@@ -15,10 +15,6 @@ export const EntrypointSimulatorRedirect = iso(`
|
|
|
15
15
|
? globals.__GAMBIT_CURRENT_PATH__
|
|
16
16
|
: "/";
|
|
17
17
|
})();
|
|
18
|
-
const isIsographPrefixed = currentPath === "/isograph" ||
|
|
19
|
-
currentPath.startsWith("/isograph/");
|
|
20
|
-
const routePrefix = isIsographPrefixed ? "/isograph" : "";
|
|
21
|
-
const withPrefix = (path) => `${routePrefix}${path}`;
|
|
22
18
|
if (currentPath === "/" || currentPath === "/build" ||
|
|
23
19
|
currentPath === "/debug" || currentPath === "/simulate") {
|
|
24
20
|
return {
|
|
@@ -28,16 +24,7 @@ export const EntrypointSimulatorRedirect = iso(`
|
|
|
28
24
|
headers: { Location: "/workspaces" },
|
|
29
25
|
};
|
|
30
26
|
}
|
|
31
|
-
|
|
32
|
-
currentPath === "/isograph/debug" || currentPath === "/isograph/simulate") {
|
|
33
|
-
return {
|
|
34
|
-
Body: null,
|
|
35
|
-
title: "Gambit Simulator",
|
|
36
|
-
status: 302,
|
|
37
|
-
headers: { Location: "/isograph/workspaces" },
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
const bareWorkspaceMatch = currentPath.match(/^(?:\/isograph)?\/workspaces\/([^/]+)$/);
|
|
27
|
+
const bareWorkspaceMatch = currentPath.match(/^\/workspaces\/([^/]+)$/);
|
|
41
28
|
if (bareWorkspaceMatch && bareWorkspaceMatch[1] !== "new") {
|
|
42
29
|
const workspaceId = (() => {
|
|
43
30
|
try {
|
|
@@ -51,14 +38,14 @@ export const EntrypointSimulatorRedirect = iso(`
|
|
|
51
38
|
Body: null,
|
|
52
39
|
title: "Gambit Simulator",
|
|
53
40
|
status: 302,
|
|
54
|
-
headers: { Location:
|
|
41
|
+
headers: { Location: `/workspaces/${workspaceId}/build` },
|
|
55
42
|
};
|
|
56
43
|
}
|
|
57
44
|
return {
|
|
58
45
|
Body: null,
|
|
59
46
|
title: "Gambit Simulator",
|
|
60
47
|
status: 302,
|
|
61
|
-
headers: { Location:
|
|
48
|
+
headers: { Location: "/workspaces" },
|
|
62
49
|
};
|
|
63
50
|
});
|
|
64
51
|
export default EntrypointSimulatorRedirect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntrypointSimulatorWorkspaceShell.d.ts","sourceRoot":"","sources":["../../../../src/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EntrypointSimulatorWorkspaceShell.d.ts","sourceRoot":"","sources":["../../../../src/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.tsx"],"names":[],"mappings":"AA6CA,eAAO,MAAM,iCAAiC;;;;;;;;CAkC5C,CAAC;AAEH,eAAe,iCAAiC,CAAC"}
|
|
@@ -12,17 +12,9 @@ function isThenable(value) {
|
|
|
12
12
|
(typeof value === "object" || typeof value === "function") &&
|
|
13
13
|
typeof value.then === "function";
|
|
14
14
|
}
|
|
15
|
-
function toWorkspaceRoutePath(path) {
|
|
16
|
-
if (path === "/isograph" || path.startsWith("/isograph/")) {
|
|
17
|
-
const stripped = path.slice("/isograph".length);
|
|
18
|
-
return stripped.length > 0 ? stripped : "/";
|
|
19
|
-
}
|
|
20
|
-
return path;
|
|
21
|
-
}
|
|
22
15
|
function WorkspaceMainPane(props) {
|
|
23
16
|
const { currentRoutePath } = useRouter();
|
|
24
|
-
const
|
|
25
|
-
const route = parseWorkspaceRoute(workspaceRoutePath);
|
|
17
|
+
const route = parseWorkspaceRoute(currentRoutePath);
|
|
26
18
|
const tab = route?.tab === "test" || route?.tab === "grade" ||
|
|
27
19
|
route?.tab === "verify"
|
|
28
20
|
? route.tab
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../src/simulator-ui/src/AppShell.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../src/simulator-ui/src/AppShell.tsx"],"names":[],"mappings":"AAuCA,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC;QAC1B,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;QACxC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,WAAW,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;QAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;QACxC,kBAAkB,EAAE,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,KAAK,IAAI,CAAC;KACvE,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC9B,IAAI,EAAE,OAAO,CAAC;KACf,CAAC,CAAC;CACJ,+BAsTA"}
|
|
@@ -5,7 +5,6 @@ import { verifyTabEnabled } from "./utils.js";
|
|
|
5
5
|
import { useRouter } from "./RouterContext.js";
|
|
6
6
|
import Button from "./gds/Button.js";
|
|
7
7
|
import Icon from "./gds/Icon.js";
|
|
8
|
-
import WorkbenchDrawer from "./WorkbenchDrawer.js";
|
|
9
8
|
import { classNames, DOCS_PATH } from "./utils.js";
|
|
10
9
|
import { useGambitTypedMutation } from "./hooks/useGambitTypedMutation.js";
|
|
11
10
|
import gambitWorkspaceCreateMutation from "../mutations/GambitWorkspaceCreateMutation.js";
|
|
@@ -30,17 +29,7 @@ export function AppShell(props) {
|
|
|
30
29
|
const THEME_STORAGE_KEY = "gambit-simulator-theme";
|
|
31
30
|
const { Drawer } = props;
|
|
32
31
|
const { currentRoutePath, navigate } = useRouter();
|
|
33
|
-
const
|
|
34
|
-
currentRoutePath.startsWith("/isograph/")
|
|
35
|
-
? "/isograph"
|
|
36
|
-
: "", [currentRoutePath]);
|
|
37
|
-
const toPrefixedPath = useCallback((path) => `${routePrefix}${path}`, [routePrefix]);
|
|
38
|
-
const workspaceRoutePath = useMemo(() => {
|
|
39
|
-
if (!routePrefix)
|
|
40
|
-
return currentRoutePath;
|
|
41
|
-
const stripped = currentRoutePath.slice(routePrefix.length);
|
|
42
|
-
return stripped.length > 0 ? stripped : "/";
|
|
43
|
-
}, [currentRoutePath, routePrefix]);
|
|
32
|
+
const workspaceRoutePath = currentRoutePath;
|
|
44
33
|
const deckLabel = getDeckLabelForShell();
|
|
45
34
|
const [drawerOpen, setDrawerOpen] = useState(false);
|
|
46
35
|
const [workbenchOpen, setWorkbenchOpen] = useState(true);
|
|
@@ -61,7 +50,7 @@ export function AppShell(props) {
|
|
|
61
50
|
});
|
|
62
51
|
const createWorkspaceMutation = useGambitTypedMutation(gambitWorkspaceCreateMutation);
|
|
63
52
|
const deleteWorkspaceMutation = useGambitTypedMutation(gambitWorkspaceDeleteMutation);
|
|
64
|
-
const Workbench = props.Workbench
|
|
53
|
+
const Workbench = props.Workbench;
|
|
65
54
|
const activeWorkspaceId = useMemo(() => {
|
|
66
55
|
const route = parseWorkspaceRoute(workspaceRoutePath);
|
|
67
56
|
return route?.workspaceId ?? null;
|
|
@@ -70,26 +59,27 @@ export function AppShell(props) {
|
|
|
70
59
|
const route = parseWorkspaceRoute(workspaceRoutePath);
|
|
71
60
|
return route?.tab ?? null;
|
|
72
61
|
}, [workspaceRoutePath]);
|
|
73
|
-
const buildTabLabel =
|
|
62
|
+
const buildTabLabel = "Build";
|
|
74
63
|
const isWorkspacesPath = useMemo(() => workspaceRoutePath === "/workspaces" ||
|
|
75
64
|
workspaceRoutePath === "/workspaces/new", [workspaceRoutePath]);
|
|
76
65
|
const isDocsPath = workspaceRoutePath === "/docs";
|
|
77
66
|
const canOpenWorkbench = Boolean(activeWorkspaceId);
|
|
78
|
-
const workbenchVisible = workbenchOpen && canOpenWorkbench
|
|
67
|
+
const workbenchVisible = workbenchOpen && canOpenWorkbench &&
|
|
68
|
+
Boolean(Workbench);
|
|
79
69
|
const handleSelectWorkspace = useCallback((workspaceId) => {
|
|
80
|
-
navigate(
|
|
70
|
+
navigate(buildWorkspacePath("build", workspaceId));
|
|
81
71
|
setDrawerOpen(false);
|
|
82
|
-
}, [navigate
|
|
72
|
+
}, [navigate]);
|
|
83
73
|
const createWorkspace = useCallback(() => {
|
|
84
74
|
createWorkspaceMutation.commit({}, {
|
|
85
75
|
onComplete: (result) => {
|
|
86
76
|
const workspaceId = result?.workspace?.id;
|
|
87
77
|
if (!workspaceId)
|
|
88
78
|
return;
|
|
89
|
-
navigate(
|
|
79
|
+
navigate(buildWorkspacePath("build", workspaceId));
|
|
90
80
|
},
|
|
91
81
|
});
|
|
92
|
-
}, [createWorkspaceMutation, navigate
|
|
82
|
+
}, [createWorkspaceMutation, navigate]);
|
|
93
83
|
const persistAppearance = useCallback((nextAppearance) => {
|
|
94
84
|
try {
|
|
95
85
|
globalThis.localStorage.setItem(THEME_STORAGE_KEY, nextAppearance);
|
|
@@ -119,13 +109,13 @@ export function AppShell(props) {
|
|
|
119
109
|
try {
|
|
120
110
|
await runDeleteWorkspaceMutation(workspaceId);
|
|
121
111
|
if (workspaceId === activeWorkspaceId) {
|
|
122
|
-
navigate(
|
|
112
|
+
navigate("/workspaces");
|
|
123
113
|
}
|
|
124
114
|
}
|
|
125
115
|
finally {
|
|
126
116
|
setDeletingWorkspaceId(null);
|
|
127
117
|
}
|
|
128
|
-
}, [activeWorkspaceId, navigate, runDeleteWorkspaceMutation
|
|
118
|
+
}, [activeWorkspaceId, navigate, runDeleteWorkspaceMutation]);
|
|
129
119
|
const deleteAllWorkspaces = useCallback(async (workspaceIds) => {
|
|
130
120
|
const uniqueWorkspaceIds = Array.from(new Set(workspaceIds.filter((id) => id.trim().length > 0)));
|
|
131
121
|
if (uniqueWorkspaceIds.length === 0) {
|
|
@@ -134,12 +124,12 @@ export function AppShell(props) {
|
|
|
134
124
|
setDeletingAll(true);
|
|
135
125
|
try {
|
|
136
126
|
await Promise.allSettled(uniqueWorkspaceIds.map((workspaceId) => runDeleteWorkspaceMutation(workspaceId)));
|
|
137
|
-
navigate(
|
|
127
|
+
navigate("/workspaces");
|
|
138
128
|
}
|
|
139
129
|
finally {
|
|
140
130
|
setDeletingAll(false);
|
|
141
131
|
}
|
|
142
|
-
}, [navigate, runDeleteWorkspaceMutation
|
|
132
|
+
}, [navigate, runDeleteWorkspaceMutation]);
|
|
143
133
|
return (React.createElement("div", { className: "app-root" },
|
|
144
134
|
React.createElement("header", { className: "top-nav" },
|
|
145
135
|
React.createElement("div", { className: "top-nav-left" },
|
|
@@ -147,42 +137,42 @@ export function AppShell(props) {
|
|
|
147
137
|
React.createElement(Icon, { name: "hamburgerMenu", size: 17, style: { color: "var(--color-text)" } }))),
|
|
148
138
|
React.createElement("div", { className: "top-nav-buttons tab-anchor-group" },
|
|
149
139
|
React.createElement("span", { className: "tab-anchor-indicator", "aria-hidden": "true" }),
|
|
150
|
-
React.createElement(Button, { "data-testid": "nav-docs", tab: true, variant: isDocsPath ? "primary" : "secondary", className: classNames("tab-anchor", isDocsPath && "tab-anchor--active"), onClick: () => navigate(
|
|
140
|
+
React.createElement(Button, { "data-testid": "nav-docs", tab: true, variant: isDocsPath ? "primary" : "secondary", className: classNames("tab-anchor", isDocsPath && "tab-anchor--active"), onClick: () => navigate(DOCS_PATH) }, "Docs"),
|
|
151
141
|
React.createElement(Button, { "data-testid": "nav-build", tab: true, variant: activeWorkspaceTab === "build" ? "primary" : "secondary", className: classNames("tab-anchor", activeWorkspaceTab === "build" && "tab-anchor--active"), onClick: () => {
|
|
152
142
|
if (!activeWorkspaceId)
|
|
153
143
|
return;
|
|
154
|
-
navigate(
|
|
144
|
+
navigate(buildWorkspacePath("build", activeWorkspaceId));
|
|
155
145
|
}, disabled: !activeWorkspaceId }, buildTabLabel),
|
|
156
146
|
React.createElement(Button, { "data-testid": "nav-test", tab: true, variant: activeWorkspaceTab === "test" ? "primary" : "secondary", className: classNames("tab-anchor", activeWorkspaceTab === "test" && "tab-anchor--active"), onClick: () => {
|
|
157
147
|
if (!activeWorkspaceId)
|
|
158
148
|
return;
|
|
159
|
-
navigate(
|
|
149
|
+
navigate(buildWorkspacePath("test", activeWorkspaceId));
|
|
160
150
|
}, disabled: !activeWorkspaceId }, "Test"),
|
|
161
151
|
React.createElement(Button, { "data-testid": "nav-grade", tab: true, variant: activeWorkspaceTab === "grade" ? "primary" : "secondary", className: classNames("tab-anchor", activeWorkspaceTab === "grade" && "tab-anchor--active"), onClick: () => {
|
|
162
152
|
if (!activeWorkspaceId)
|
|
163
153
|
return;
|
|
164
|
-
navigate(
|
|
154
|
+
navigate(buildWorkspacePath("grade", activeWorkspaceId));
|
|
165
155
|
}, disabled: !activeWorkspaceId }, "Grade"),
|
|
166
156
|
verifyTabEnabled && (React.createElement(Button, { "data-testid": "nav-verify", tab: true, variant: activeWorkspaceTab === "verify"
|
|
167
157
|
? "primary"
|
|
168
158
|
: "secondary", className: classNames("tab-anchor", activeWorkspaceTab === "verify" && "tab-anchor--active"), onClick: () => {
|
|
169
159
|
if (!activeWorkspaceId)
|
|
170
160
|
return;
|
|
171
|
-
navigate(
|
|
161
|
+
navigate(buildWorkspacePath("verify", activeWorkspaceId));
|
|
172
162
|
}, disabled: !activeWorkspaceId }, "Verify"))),
|
|
173
163
|
React.createElement("div", { className: "top-nav-center" },
|
|
174
164
|
React.createElement("span", { className: "top-nav-deck" }, deckLabel)),
|
|
175
165
|
React.createElement("div", { className: "top-nav-right" },
|
|
176
166
|
React.createElement("div", { className: "top-nav-actions" }),
|
|
177
|
-
React.createElement(Button, { "data-testid": "nav-workbench", className: classNames("workbench-toggle", workbenchVisible && "active"), variant: "secondary", onClick: () => setWorkbenchOpen((prev) => !prev), disabled: !canOpenWorkbench, "aria-label": workbenchVisible
|
|
167
|
+
Workbench && (React.createElement(Button, { "data-testid": "nav-workbench", className: classNames("workbench-toggle", workbenchVisible && "active"), variant: "secondary", onClick: () => setWorkbenchOpen((prev) => !prev), disabled: !canOpenWorkbench, "aria-label": workbenchVisible
|
|
178
168
|
? "Close workbench drawer"
|
|
179
169
|
: "Open workbench drawer" },
|
|
180
|
-
React.createElement(Icon, { name: "chat", size: 16, style: { color: "currentColor" } })))),
|
|
170
|
+
React.createElement(Icon, { name: "chat", size: 16, style: { color: "currentColor" } }))))),
|
|
181
171
|
React.createElement("div", { className: "app-content-frame" },
|
|
182
172
|
React.createElement("main", { className: "page-shell" },
|
|
183
173
|
isWorkspacesPath && (React.createElement("div", { style: { padding: "12px 16px 0 16px" } },
|
|
184
174
|
React.createElement(Button, { "data-testid": "workspace-create-cta", variant: "primary", size: "small", onClick: createWorkspace, disabled: createWorkspaceMutation.inFlight }, "New workspace"))),
|
|
185
175
|
isDocsPath ? React.createElement(DocsPage, null) : props.children),
|
|
186
|
-
React.createElement(Workbench, { open: workbenchVisible })),
|
|
176
|
+
Workbench ? React.createElement(Workbench, { open: workbenchVisible }) : null),
|
|
187
177
|
React.createElement(Drawer, { open: drawerOpen, onCreateWorkspace: createWorkspace, onSelect: handleSelectWorkspace, onDelete: deleteWorkspace, onDeleteAll: deleteAllWorkspaces, onClose: () => setDrawerOpen(false), activeWorkspaceId: activeWorkspaceId, bundleStamp: null, creatingWorkspace: createWorkspaceMutation.inFlight, deletingWorkspaceId: deletingWorkspaceId, deletingAll: deletingAll, appearance: appearance, onAppearanceChange: persistAppearance })));
|
|
188
178
|
}
|
|
@@ -1,43 +1,19 @@
|
|
|
1
1
|
import { type BuildDisplayMessage } from "./utils.js";
|
|
2
2
|
import { bucketBuildChatDisplay } from "./ActivityTranscriptRows.js";
|
|
3
3
|
import { useBuildChat } from "./BuildChatContext.js";
|
|
4
|
+
import { type WorkbenchErrorContext, type WorkbenchFlagContext, type WorkbenchMessageContext, type WorkbenchRatingContext, type WorkbenchSelectedContextChip, type WorkbenchVerifyOutlierContext } from "./workbenchContext.js";
|
|
4
5
|
export { bucketBuildChatDisplay };
|
|
5
|
-
export type WorkbenchScenarioErrorContext = {
|
|
6
|
+
export type WorkbenchScenarioErrorContext = WorkbenchErrorContext & {
|
|
6
7
|
source: "scenario_run_error";
|
|
7
|
-
workspaceId?: string;
|
|
8
|
-
runId?: string;
|
|
9
|
-
capturedAt: string;
|
|
10
|
-
error: string;
|
|
11
8
|
};
|
|
12
|
-
export type
|
|
13
|
-
source: "
|
|
14
|
-
workspaceId?: string;
|
|
15
|
-
runId?: string;
|
|
16
|
-
capturedAt: string;
|
|
17
|
-
messageRefId: string;
|
|
18
|
-
statePath?: string;
|
|
19
|
-
statePointer?: string;
|
|
20
|
-
score: number;
|
|
21
|
-
reason?: string;
|
|
9
|
+
export type WorkbenchGraderErrorContext = WorkbenchErrorContext & {
|
|
10
|
+
source: "grader_run_error";
|
|
22
11
|
};
|
|
23
|
-
export type WorkbenchFlagContext = {
|
|
24
|
-
source: "grading_flag";
|
|
25
|
-
workspaceId?: string;
|
|
26
|
-
runId?: string;
|
|
27
|
-
capturedAt: string;
|
|
28
|
-
flagId?: string;
|
|
29
|
-
refId: string;
|
|
30
|
-
score?: number;
|
|
31
|
-
message: string;
|
|
32
|
-
};
|
|
33
|
-
export type WorkbenchMessageContext = WorkbenchScenarioErrorContext | WorkbenchRatingContext | WorkbenchFlagContext;
|
|
34
12
|
export type WorkbenchScenarioErrorChip = WorkbenchScenarioErrorContext & {
|
|
35
13
|
enabled: boolean;
|
|
36
14
|
};
|
|
37
|
-
export type WorkbenchComposerChip =
|
|
38
|
-
|
|
39
|
-
enabled: boolean;
|
|
40
|
-
};
|
|
15
|
+
export type WorkbenchComposerChip = WorkbenchSelectedContextChip;
|
|
16
|
+
export type { WorkbenchFlagContext, WorkbenchRatingContext, WorkbenchVerifyOutlierContext, };
|
|
41
17
|
export declare function encodeWorkbenchMessageWithErrorContext(message: string, context: WorkbenchScenarioErrorContext): string;
|
|
42
18
|
export declare function encodeWorkbenchMessageWithContext(message: string, contexts: Array<WorkbenchMessageContext>): string;
|
|
43
19
|
export declare function decodeWorkbenchMessageWithErrorContext(content: string): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/simulator-ui/src/Chat.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,YAAY,CAAC;AAIpB,OAAO,EAEL,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/simulator-ui/src/Chat.tsx"],"names":[],"mappings":"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"}
|