Skip to content

Commit fe8617c

Browse files
committed
fix empty query results, bump maxSteps to 100, error color, muted state
1 parent 645bf8f commit fe8617c

File tree

6 files changed

+47
-29
lines changed

6 files changed

+47
-29
lines changed

src/assets/styles/_theme.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,5 @@
1212
--theme-scrollbar-track: transparent;
1313
--theme-scrollbar-thumb: color-mix(in srgb, var(--theme-base) 20%, var(--theme-bg) 80%);
1414
--text-muted: color-mix(in srgb, var(--theme-base) 20%, var(--theme-bg) 80%);
15+
--text-muted-2: color-mix(in srgb, var(--theme-base) 30%, var(--theme-bg) 70%);
1516
}

src/assets/styles/components/_message.scss

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,16 +109,39 @@
109109
}
110110

111111
.tool {
112-
.tool-name {
113-
margin-bottom: 0.25rem;
114-
}
115-
116112
.tool-error {
117113
margin-top: 0.5rem;
114+
color: var(--brand-danger);
115+
}
116+
117+
&[data-tool-error=true] {
118+
flex-direction: column;
119+
}
120+
121+
&:not([data-tool-name="run_query"]) {
122+
.tool-result {
123+
margin-left: 0.5rem;
124+
display: flex;
125+
align-items: center;
126+
color: var(--text-muted-2);
127+
}
128+
129+
.tool-result::before {
130+
content: "";
131+
display: inline-block;
132+
width: 0.5rem;
133+
height: 1px;
134+
background-color: var(--border-color);
135+
margin-right: 0.5rem;
136+
}
118137
}
119138

120139
&[data-tool-name="run_query"] {
121-
gap: 0;
140+
flex-direction: column;
141+
142+
.tool-name {
143+
margin-bottom: 0.25rem;
144+
}
122145

123146
.no-rows {
124147
margin-top: 0.5rem;

src/assets/styles/pages/_chat-interface.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,10 +318,8 @@
318318

319319
.tool {
320320
display: flex;
321-
flex-direction: column;
322321
padding: 0.5rem 1rem;
323322
border-left: 2px solid var(--border-color);
324-
gap: 0.35rem;
325323
width: 100%;
326324
margin: 0.75em 0;
327325

src/components/messages/ToolMessage.vue

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template>
22
<div class="tool" :data-tool-name="toolCall.toolName" :data-tool-state="toolCall.state"
3-
:data-tool-empty-result="isEmptyResult">
3+
:data-tool-empty-result="isEmptyResult" :data-tool-error="!!error">
44
<div class="tool-name">{{ displayName }}</div>
55
<markdown v-if="toolCall.toolName === 'run_query'" :content="'```sql\n' + toolCall.args.query + '\n```'" />
66
<div v-if="askingPermission">
@@ -20,24 +20,20 @@
2020
</button>
2121
</div>
2222
</div>
23-
<div :class="{ 'error tool-error': error }">
24-
<template v-if="error">{{ error }}</template>
25-
<template v-else-if="data">
26-
<template v-if="toolCall.toolName === 'get_connection_info'">
27-
{{ data.connectionType }}
28-
</template>
29-
<template v-if="toolCall.toolName === 'get_tables'">
30-
{{ data.length }}
31-
{{ $pluralize("table", data.length) }}
32-
(<code v-text="truncateAtWord(data.map((t) => t.name).join(', '))" />)
33-
</template>
34-
<template v-if="toolCall.toolName === 'get_columns'">
35-
{{ data.length }}
36-
{{ $pluralize("column", data.length) }}
37-
(<code v-if="data.length < 5" v-text="data.map((c) => c.name).join(', ')" />)
38-
</template>
39-
<run-query-result v-else-if="toolCall.toolName === 'run_query' && data" :data="data" />
23+
<div class="tool-error error" v-if="error" v-text="error" />
24+
<div class="tool-result" v-else-if="data">
25+
<template v-if="toolCall.toolName === 'get_connection_info'">
26+
{{ data.connectionType }}
4027
</template>
28+
<template v-if="toolCall.toolName === 'get_tables'">
29+
{{ data.length }}
30+
{{ $pluralize("table", data.length) }}
31+
</template>
32+
<template v-if="toolCall.toolName === 'get_columns'">
33+
{{ data.length }}
34+
{{ $pluralize("column", data.length) }}
35+
</template>
36+
<run-query-result v-else-if="toolCall.toolName === 'run_query' && data" :data="data" />
4137
</div>
4238
</div>
4339
</template>
@@ -105,7 +101,7 @@ export default {
105101
if (this.toolCall.args.schema) {
106102
return `Get Columns (schema: ${this.toolCall.args.schema}, table: ${this.toolCall.args.table})`;
107103
}
108-
return `Get Columns (table: ${this.toolCall.args.table})`;
104+
return `Get Columns (${this.toolCall.args.table})`;
109105
}
110106
return this.toolCall.toolName.split("_").map(_.capitalize).join(" ");
111107
},

src/components/messages/tool/RunQueryResult.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,10 @@ export default {
6464
},
6565
computed: {
6666
columns() {
67-
return this.data.results[0].fields;
67+
return this.data.results?.[0].fields || [];
6868
},
6969
rows() {
70-
return this.data.results[0].rows;
70+
return this.data.results?.[0].rows || [];
7171
},
7272
limitedRows() {
7373
return this.rows.slice(0, TABLE_MAX_ROWS);

src/providers/BaseProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export abstract class BaseProvider {
3131
abortSignal: options.signal,
3232
system: options.systemPrompt,
3333
tools: options.tools,
34-
maxSteps: 20,
34+
maxSteps: 100,
3535
temperature: options.temperature ?? defaultTemperature,
3636
});
3737
return result.toDataStreamResponse({

0 commit comments

Comments
 (0)