Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unify intent selector, model selector, and agentic chat dropdown #6690

Draft
wants to merge 49 commits into
base: main
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
373f76c
.gitignore: add aider files
beyang Jan 17, 2025
3b08ef4
wip: unify intent and model selector
beyang Dec 31, 2024
6349d69
basic working AgentSelectField
beyang Dec 31, 2024
2d34d03
make work
beyang Jan 18, 2025
b48626d
pass through setAgent request to ChatController
beyang Jan 18, 2025
079d407
make agent a property of the box and track as local state
beyang Jan 18, 2025
1be888c
wip: make agent selector work
beyang Jan 18, 2025
986df2b
"OmniboxAgent" -> "OmniboxHandler" and add optional title fieild
beyang Jan 18, 2025
61512db
proper groups, but agentic chat still relies on the toggle
beyang Jan 18, 2025
bf98f0d
fix web build
beyang Jan 18, 2025
468fae8
mock ToolboxManager settings
beyang Jan 18, 2025
2e656dc
remove toolbox button
beyang Jan 18, 2025
771d235
ensure non-deep-cody is used when deep-cody is not set
beyang Jan 18, 2025
93104f6
wip: hide agentic context cell when not using agent
beyang Jan 18, 2025
7937fee
icons
beyang Jan 18, 2025
2c10c6d
introduce "auto" handler
beyang Jan 18, 2025
62018dd
todo
beyang Jan 18, 2025
229e59c
make intent depend on using "auto" agent
beyang Jan 18, 2025
40f685b
todo
beyang Jan 18, 2025
0aca64a
unify setHandler (setAgent) and setModel
beyang Jan 19, 2025
5b42241
default handler, and remove intent button
beyang Jan 19, 2025
11ae680
remove unused
beyang Jan 19, 2025
d085fc6
only show intent if using "auto"
beyang Jan 19, 2025
5dbe3cd
fix empty response when search intent detected and "agentic chat" sel…
beyang Jan 19, 2025
417afd2
DeepCody: always disable terminal execution
beyang Jan 19, 2025
7365d3d
remove agentic chat toolbox
beyang Jan 19, 2025
a2154ba
clean up SubmitButton to remove intent selector
beyang Jan 19, 2025
072da15
clean up "deep-cody" literals
beyang Jan 19, 2025
81fc17b
update getTooltip
beyang Jan 19, 2025
4bce2d6
rename "agent" to "handler" in many places
beyang Jan 19, 2025
b8ca528
more renames
beyang Jan 19, 2025
d88442d
chat/setHandler
beyang Jan 19, 2025
34581e1
Merge remote-tracking branch 'origin/main' into bl/unify-intent-model…
beyang Feb 12, 2025
1c152d8
clean up conflicted code
beyang Feb 12, 2025
d8052a7
clean up
beyang Feb 12, 2025
9246799
remove auto
beyang Feb 12, 2025
631a3d7
Merge remote-tracking branch 'origin/main' into bl/unify-intent-model…
beyang Feb 17, 2025
09e42f2
remove options from chat submit button
beyang Feb 17, 2025
348d3e0
loading indicator for search
beyang Feb 17, 2025
a2a9775
fix sizing
beyang Feb 17, 2025
0413c34
fix build
beyang Feb 17, 2025
f631eff
fix test
beyang Feb 17, 2025
23da8a6
fix test
beyang Feb 17, 2025
9c57090
fix test
beyang Feb 18, 2025
56a4007
clean up
beyang Feb 18, 2025
495cf44
rename Toolbar2 -> Toolbar
beyang Feb 18, 2025
8aa8d5b
regenerate kotlin bindingsg
beyang Feb 18, 2025
0e3beb4
remove dead code
beyang Feb 18, 2025
b7cfb2c
todo: selectively display agentic chat
beyang Feb 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
loading indicator for search
beyang committed Feb 17, 2025
commit 348d3e097d734c387482e327a897ac5fd2437c84
24 changes: 1 addition & 23 deletions lib/shared/src/models/sync.ts
Original file line number Diff line number Diff line change
@@ -26,7 +26,7 @@ import { RestClient } from '../sourcegraph-api/rest/client'
import type { UserProductSubscription } from '../sourcegraph-api/userProductSubscription'
import { CHAT_INPUT_TOKEN_BUDGET } from '../token/constants'
import { isError } from '../utils'
import { TOOL_CODY_MODEL, ToolCodyModelName, getExperimentalClientModelByFeatureFlag } from './client'
import { TOOL_CODY_MODEL, ToolCodyModelName } from './client'
import { type Model, type ServerModel, createModel, createModelFromServerModel } from './model'
import type {
DefaultsAndUserPreferencesForEndpoint,
@@ -235,31 +235,9 @@ export function syncModels({

const clientModels = []

// Handle agentic chat features
const isAgenticChatEnabled =
hasAgenticChatFlag ||
(isDotComUser && !isCodyFreeUser)
const haikuModel = data.primaryModels.find(m =>
m.id.includes('5-haiku')
)
const sonnetModel = data.primaryModels.find(m =>
m.id.includes('5-sonnet')
)
const hasDeepCody = data.primaryModels.some(m =>
m.id.includes('deep-cody')
)
if (
!hasDeepCody &&
isAgenticChatEnabled &&
sonnetModel &&
haikuModel
) {
clientModels.push(
getExperimentalClientModelByFeatureFlag(
FeatureFlag.DeepCody
)!
)
}

const hasToolCody = data.primaryModels.some(m =>
m.id.includes(ToolCodyModelName)
13 changes: 12 additions & 1 deletion vscode/webviews/chat/Transcript.tsx
Original file line number Diff line number Diff line change
@@ -546,13 +546,24 @@ const TranscriptInteraction: FC<TranscriptInteractionProps> = memo(props => {
switchToSearch={() => editAndSubmitSearch(assistantMessage?.didYouMeanQuery ?? '')}
/>
)}
{!usingToolCody && !isSearchIntent && humanMessage.agent && (
{humanMessage.agent === DeepCodyAgentID ? (
<AgenticContextCell
key={`${humanMessage.index}-${humanMessage.intent}-process`}
isContextLoading={isContextLoading}
processes={humanMessage?.processes ?? undefined}
/>
) : (
<>
{isContextLoading && (
<div className="flex justify-center items-center h-full">
<div className="tw-mt-6">
<i className="codicon codicon-loading codicon-modifier tw-animate-spin" />
</div>
</div>
)}
</>
)}

{!isSearchIntent &&
humanMessage.agent &&
isContextLoading &&

Unchanged files with check annotations Beta

} from '@sourcegraph/cody-shared'
import type { TelemetryEventMarketingTrackingInput } from '@sourcegraph/telemetry'
import { HandlerID } from '@sourcegraph/cody-shared/src/models/model'

Check failure on line 17 in vscode/src/jsonrpc/agent-protocol.ts

GitHub Actions / build

All these imports are only used as types.
import type { ExtensionMessage, WebviewMessage } from '../chat/protocol'
import type { CompletionBookkeepingEvent, CompletionItemID } from '../completions/analytics-logger'
import type { FixupTaskID } from '../non-stop/FixupTask'
vi.spyOn(modelsService, 'modelsChanges', 'get').mockReturnValue(Observable.of(result))
// Check if Deep Cody model is in the primary models list.
expect(result.primaryModels.some(model => model.id.includes('deep-cody'))).toBe(true)

Check failure on line 537 in lib/shared/src/models/sync.test.ts

GitHub Actions / test-unit (ubuntu, 20)

src/models/sync.test.ts > syncModels > not to set Agentic Chat as default chat model when feature flag is enabled

AssertionError: expected false to be true // Object.is equality - Expected + Received - true + false ❯ src/models/sync.test.ts:537:84

Check failure on line 537 in lib/shared/src/models/sync.test.ts

GitHub Actions / test-unit (windows, 20)

src/models/sync.test.ts > syncModels > not to set Agentic Chat as default chat model when feature flag is enabled

AssertionError: expected false to be true // Object.is equality - Expected + Received - true + false ❯ src/models/sync.test.ts:537:84

Check failure on line 537 in lib/shared/src/models/sync.test.ts

GitHub Actions / test-unit (ubuntu, 18)

src/models/sync.test.ts > syncModels > not to set Agentic Chat as default chat model when feature flag is enabled

AssertionError: expected false to be true // Object.is equality - Expected + Received - true + false ❯ src/models/sync.test.ts:537:84
// Deep Cody should not replace the default chat / edit model.
expect(result.preferences.defaults.chat?.includes('deep-cody')).toBe(false)
private get storage(): Memento {
if (!this._storage) {
throw new Error('LocalStorage not initialized')

Check failure on line 57 in vscode/src/services/LocalStorageProvider.ts

GitHub Actions / test-unit (ubuntu, 20)

src/chat/agentic/CodyTool.test.ts > CodyTool > should register and retrieve tools correctly

Error: LocalStorage not initialized ❯ LocalStorage.get storage [as storage] src/services/LocalStorageProvider.ts:57:19 ❯ LocalStorage.get src/services/LocalStorageProvider.ts:365:21 ❯ LocalStorage.getChatMemory src/services/LocalStorageProvider.ts:337:21 ❯ CodyChatMemory.getChatMemory src/chat/agentic/CodyChatMemory.ts:68:38 ❯ Function.initialize src/chat/agentic/CodyChatMemory.ts:31:54 ❯ new MemoryTool src/chat/agentic/CodyTool.ts:370:24 ❯ Object.ToolFactory.register.createInstance src/chat/agentic/CodyToolProvider.ts:67:29 ❯ src/chat/agentic/CodyToolProvider.ts:88:42 ❯ TestToolFactory.getInstances src/chat/agentic/CodyToolProvider.ts:88:14

Check failure on line 57 in vscode/src/services/LocalStorageProvider.ts

GitHub Actions / test-unit (windows, 20)

src/chat/agentic/CodyTool.test.ts > CodyTool > should register and retrieve tools correctly

Error: LocalStorage not initialized ❯ LocalStorage.get storage [as storage] src/services/LocalStorageProvider.ts:57:19 ❯ LocalStorage.get src/services/LocalStorageProvider.ts:365:21 ❯ LocalStorage.getChatMemory src/services/LocalStorageProvider.ts:337:21 ❯ CodyChatMemory.getChatMemory src/chat/agentic/CodyChatMemory.ts:68:38 ❯ Function.initialize src/chat/agentic/CodyChatMemory.ts:31:54 ❯ new MemoryTool src/chat/agentic/CodyTool.ts:370:24 ❯ Object.ToolFactory.register.createInstance src/chat/agentic/CodyToolProvider.ts:67:29 ❯ src/chat/agentic/CodyToolProvider.ts:88:42 ❯ TestToolFactory.getInstances src/chat/agentic/CodyToolProvider.ts:88:14

Check failure on line 57 in vscode/src/services/LocalStorageProvider.ts

GitHub Actions / test-unit (ubuntu, 18)

src/chat/agentic/CodyTool.test.ts > CodyTool > should register and retrieve tools correctly

Error: LocalStorage not initialized ❯ LocalStorage.get storage [as storage] src/services/LocalStorageProvider.ts:57:19 ❯ LocalStorage.get src/services/LocalStorageProvider.ts:365:21 ❯ LocalStorage.getChatMemory src/services/LocalStorageProvider.ts:337:21 ❯ CodyChatMemory.getChatMemory src/chat/agentic/CodyChatMemory.ts:68:38 ❯ Function.initialize src/chat/agentic/CodyChatMemory.ts:31:54 ❯ new MemoryTool src/chat/agentic/CodyTool.ts:370:24 ❯ Object.ToolFactory.register.createInstance src/chat/agentic/CodyToolProvider.ts:67:29 ❯ src/chat/agentic/CodyToolProvider.ts:88:42 ❯ TestToolFactory.getInstances src/chat/agentic/CodyToolProvider.ts:88:14
}
return this._storage
// Check if the model selector is rendered
const modelSelector = container.querySelector('[data-testid="chat-model-selector"]')
expect(modelSelector).not.toBeNull()

Check failure on line 51 in vscode/webviews/chat/Transcript.test.tsx

GitHub Actions / test-unit (ubuntu, 20)

webviews/chat/Transcript.test.tsx > Transcript > renders with provided models

AssertionError: expected null not to be null ❯ webviews/chat/Transcript.test.tsx:51:35

Check failure on line 51 in vscode/webviews/chat/Transcript.test.tsx

GitHub Actions / test-unit (windows, 20)

webviews/chat/Transcript.test.tsx > Transcript > renders with provided models

AssertionError: expected null not to be null ❯ webviews/chat/Transcript.test.tsx:51:35

Check failure on line 51 in vscode/webviews/chat/Transcript.test.tsx

GitHub Actions / test-unit (ubuntu, 18)

webviews/chat/Transcript.test.tsx > Transcript > renders with provided models

AssertionError: expected null not to be null ❯ webviews/chat/Transcript.test.tsx:51:35
expect(modelSelector?.textContent).toEqual(FIXTURE_MODELS[0].title)
// Open the menu on click
test('model selector is showing up with the default model name', () => {
const { container } = renderWithMocks({})
const modelSelector = container.querySelector('[data-testid="chat-model-selector"]')
expect(modelSelector).not.toBeNull()

Check failure on line 139 in vscode/webviews/chat/cells/messageCell/human/editor/HumanMessageEditor.test.tsx

GitHub Actions / test-unit (ubuntu, 20)

webviews/chat/cells/messageCell/human/editor/HumanMessageEditor.test.tsx > HumanMessageEditor > submitting > model selector is showing up with the default model name

AssertionError: expected null not to be null ❯ webviews/chat/cells/messageCell/human/editor/HumanMessageEditor.test.tsx:139:39

Check failure on line 139 in vscode/webviews/chat/cells/messageCell/human/editor/HumanMessageEditor.test.tsx

GitHub Actions / test-unit (windows, 20)

webviews/chat/cells/messageCell/human/editor/HumanMessageEditor.test.tsx > HumanMessageEditor > submitting > model selector is showing up with the default model name

AssertionError: expected null not to be null ❯ webviews/chat/cells/messageCell/human/editor/HumanMessageEditor.test.tsx:139:39

Check failure on line 139 in vscode/webviews/chat/cells/messageCell/human/editor/HumanMessageEditor.test.tsx

GitHub Actions / test-unit (ubuntu, 18)

webviews/chat/cells/messageCell/human/editor/HumanMessageEditor.test.tsx > HumanMessageEditor > submitting > model selector is showing up with the default model name

AssertionError: expected null not to be null ❯ webviews/chat/cells/messageCell/human/editor/HumanMessageEditor.test.tsx:139:39
expect(modelSelector?.textContent).toEqual(FIXTURE_MODELS[0].title)
})
})
const modelSelect = chatFrame.getByRole('combobox', { name: 'Select a model' }).last()
await expect(modelSelect).toBeEnabled()
await expect(modelSelect).toHaveText(/^Claude 3.5 Sonnet/)

Check failure on line 208 in vscode/test/e2e/chat-input.test.ts

GitHub Actions / test-e2e (ubuntu, 2/5)

chat-input.test.ts:197:3 › chat model selector

1) chat-input.test.ts:197:3 › chat model selector ──────────────────────────────────────────────── Error: Timed out 5000ms waiting for expect(locator).toHaveText(expected) Locator: frameLocator('iframe.webview:first-child:last-child').frameLocator('iframe').getByRole('combobox', { name: 'Select a model' }).last() Expected pattern: /^Claude 3.5 Sonnet/ Received string: "Agentic chatExperimental" Call log: - expect.toHaveText with timeout 5000ms - waiting for frameLocator('iframe.webview:first-child:last-child').frameLocator('iframe').getByRole('combobox', { name: 'Select a model' }).last() - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:rj:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:rj:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:rj:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:rj:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:rj:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:rj:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:rj:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:rj:" aria-label="Select a model" data-te

Check failure on line 208 in vscode/test/e2e/chat-input.test.ts

GitHub Actions / test-e2e (ubuntu, 2/5)

chat-input.test.ts:197:3 › chat model selector

1) chat-input.test.ts:197:3 › chat model selector ──────────────────────────────────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 5000ms waiting for expect(locator).toHaveText(expected) Locator: frameLocator('iframe.webview:first-child:last-child').frameLocator('iframe').getByRole('combobox', { name: 'Select a model' }).last() Expected pattern: /^Claude 3.5 Sonnet/ Received string: "Agentic chatExperimental" Call log: - expect.toHaveText with timeout 5000ms - waiting for frameLocator('iframe.webview:first-child:last-child').frameLocator('iframe').getByRole('combobox', { name: 'Select a model' }).last() - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:rj:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:rj:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:rj:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:rj:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:rj:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:rj:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:rj:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-
await firstChatInput.fill('to model1')
await firstChatInput.press('Enter')
const actual = prompt[i].text?.toString()
const expected = expectedPrefixes[i]
if (!actual?.includes(expected)) {
expect.fail(

Check failure on line 280 in vscode/src/chat/chat-view/prompt.test.ts

GitHub Actions / test-unit (windows, 20)

src/chat/chat-view/prompt.test.ts > DefaultPrompter > prefers latest context

AssertionError: Message mismatch: expected "Codebase context from file \\enhanced1.ts:\n```typescript:\\enhanced1.ts\nimport vscode```" to include "Codebase context from file enhanced1.ts" ❯ checkPrompt src/chat/chat-view/prompt.test.ts:280:24 ❯ src/chat/chat-view/prompt.test.ts:225:9
`Message mismatch: expected ${JSON.stringify(actual)} to include ${JSON.stringify(
expectedPrefixes[i]
)}`
// First model in the server list should be selected as default
await expect(modelSelect).toBeEnabled()
await expect(modelSelect).toHaveText(/^Opus/)

Check failure on line 19 in vscode/test/e2e/enterprise-server-sent-models.test.ts

GitHub Actions / test-e2e (ubuntu, 5/5)

enterprise-server-sent-models.test.ts:6:5 › allows multiple enterprise models when server-sent models is enabled

1) enterprise-server-sent-models.test.ts:6:5 › allows multiple enterprise models when server-sent models is enabled Error: Timed out 5000ms waiting for expect(locator).toHaveText(expected) Locator: frameLocator('.simple-find-part-wrapper + iframe.webview').last().frameLocator('iframe').getByRole('combobox', { name: 'Select a model' }).last() Expected pattern: /^Opus/ Received string: "Agentic chatExperimental" Call log: - expect.toHaveText with timeout 5000ms - waiting for frameLocator('.simple-find-part-wrapper + iframe.webview').last().frameLocator('iframe').getByRole('combobox', { name: 'Select a model' }).last() - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:r7:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:r7:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:r7:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:r7:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:r7:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:r7:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:r7:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:r7:" aria-l

Check failure on line 19 in vscode/test/e2e/enterprise-server-sent-models.test.ts

GitHub Actions / test-e2e (ubuntu, 5/5)

enterprise-server-sent-models.test.ts:6:5 › allows multiple enterprise models when server-sent models is enabled

1) enterprise-server-sent-models.test.ts:6:5 › allows multiple enterprise models when server-sent models is enabled Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 5000ms waiting for expect(locator).toHaveText(expected) Locator: frameLocator('.simple-find-part-wrapper + iframe.webview').last().frameLocator('iframe').getByRole('combobox', { name: 'Select a model' }).last() Expected pattern: /^Opus/ Received string: "Agentic chatExperimental" Call log: - expect.toHaveText with timeout 5000ms - waiting for frameLocator('.simple-find-part-wrapper + iframe.webview').last().frameLocator('iframe').getByRole('combobox', { name: 'Select a model' }).last() - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:r7:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:r7:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:r7:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:r7:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:r7:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:r7:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combobox" data-state="closed" aria-expanded="false" aria-haspopup="dialog" aria-controls="radix-:r7:" aria-label="Select a model" data-testid="chat-model-selector" class="tw-border-none tw-flex tw-items-center focus-visible:tw-outline-none tw-justify-between tw-mr-1 _button_1wufw_5 _button--secondary_1wufw_60 _button--no-icon-start_1wufw_51">…</button> - unexpected value "Agentic chatExperimental" - locator resolved to <button type="button" role="combob
// Change selection to Titan and assert it was updated
// Note: currently the backend doesn't respect frontend enterprise