feat: add Chinese UI, Responses models, and mirrored Windows setup
Localize the web console and persist custom model and capability settings. Use OpenAI Responses exclusively and move runtime limits into environment configuration. Bootstrap uv and the virtual environment on Windows, support optional China mirrors, and package source distributions without environments, build output, or credentials. Update regression tests and repository quality checks for the new behavior.
This commit is contained in:
1 parent
371aa6df56
commit
2ddec53954
183 files changed
+3427
-11857
No files matched your search
@@ -1,3 +1,4 @@
|
||||
import { UiLabelPipe } from '../../utils/ui-label.pipe';
|
||||
/**
|
||||
* Copyright 2026 Google LLC
|
||||
*
|
||||
@@ -27,7 +28,7 @@ export type { MarkdownSegment, MarkdownLine, NoteMilestone, ParsedNote };
|
||||
@Component({
|
||||
selector: 'app-chat-interface',
|
||||
standalone: true,
|
||||
imports: [CommonModule, FormsModule],
|
||||
imports: [UiLabelPipe, CommonModule, FormsModule],
|
||||
templateUrl: './chat-interface.component.html',
|
||||
styleUrl: './chat-interface.component.scss',
|
||||
changeDetection: ChangeDetectionStrategy.OnPush
|
||||
@@ -95,7 +96,7 @@ export class ChatInterfaceComponent {
|
||||
error: (err) => {
|
||||
console.error('Failed to submit task:', err);
|
||||
this.isSubmitting.set(false);
|
||||
this.errorMessage.set(err.error?.detail || 'The runner is busy. Please wait for the current task to finish.');
|
||||
this.errorMessage.set(err.error?.detail || "执行器忙碌,请等待当前任务结束。");
|
||||
// Auto-dismiss error banner after 5 seconds
|
||||
setTimeout(() => {
|
||||
this.errorMessage.set(null);
|
||||
@@ -133,7 +134,7 @@ export class ChatInterfaceComponent {
|
||||
* Clear all database data/history to start fresh
|
||||
*/
|
||||
public clearHistory(): void {
|
||||
if (!confirm('Are you sure you want to clear all tasks and history? This cannot be undone.')) {
|
||||
if (!confirm("确定清空所有任务和历史记录?此操作无法撤销。")) {
|
||||
return;
|
||||
}
|
||||
this.isSubmitting.set(true);
|
||||
@@ -145,7 +146,7 @@ export class ChatInterfaceComponent {
|
||||
error: (err: any) => {
|
||||
console.error('Failed to clear history:', err);
|
||||
this.isSubmitting.set(false);
|
||||
this.errorMessage.set(err.error?.detail || 'Failed to clear history.');
|
||||
this.errorMessage.set(err.error?.detail || "清空历史记录失败。");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -155,7 +156,7 @@ export class ChatInterfaceComponent {
|
||||
*/
|
||||
public deleteTask(sessionId: string, event: MouseEvent): void {
|
||||
event.stopPropagation();
|
||||
if (!confirm(`Are you sure you want to delete this task? This cannot be undone.`)) {
|
||||
if (!confirm("确定删除此任务?此操作无法撤销。")) {
|
||||
return;
|
||||
}
|
||||
this.isSubmitting.set(true);
|
||||
@@ -165,9 +166,9 @@ export class ChatInterfaceComponent {
|
||||
this.isSubmitting.set(false);
|
||||
},
|
||||
error: (err: any) => {
|
||||
console.error(`Failed to delete task ${sessionId}:`, err);
|
||||
console.error(`删除任务失败:${sessionId}:`, err);
|
||||
this.isSubmitting.set(false);
|
||||
this.errorMessage.set(err.error?.detail || 'Failed to delete task.');
|
||||
this.errorMessage.set(err.error?.detail || "删除任务失败。");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user