Merge branch 'dev' into nxl/background-subagents

This commit is contained in:
Shoubhit Dash
2026-05-01 15:29:32 +05:30
827 changed files with 30124 additions and 16692 deletions
-11
View File
@@ -11,17 +11,6 @@
cursor: pointer;
}
&[data-hide-details="true"] {
[data-slot="basic-tool-tool-trigger-content"] {
flex: 1 1 auto;
max-width: 100%;
}
[data-slot="basic-tool-tool-info"] {
flex: 1 1 auto;
}
}
[data-slot="basic-tool-tool-trigger-content"] {
flex: 0 1 auto;
width: auto;
+1 -1
View File
@@ -1,4 +1,4 @@
import { sampledChecksum } from "@opencode-ai/shared/util/encode"
import { sampledChecksum } from "@opencode-ai/core/util/encode"
import {
DEFAULT_VIRTUAL_FILE_METRICS,
type DiffLineAnnotation,
+1 -1
View File
@@ -1,5 +1,5 @@
import { useFilteredList } from "@opencode-ai/ui/hooks"
import { getDirectory, getFilename } from "@opencode-ai/shared/util/path"
import { getDirectory, getFilename } from "@opencode-ai/core/util/path"
import { createSignal, For, onMount, Show, splitProps, type JSX } from "solid-js"
import { Button } from "./button"
import { FileIcon } from "./file-icon"
+1 -1
View File
@@ -2,7 +2,7 @@ import { useMarked } from "../context/marked"
import { useI18n } from "../context/i18n"
import DOMPurify from "dompurify"
import morphdom from "morphdom"
import { checksum } from "@opencode-ai/shared/util/encode"
import { checksum } from "@opencode-ai/core/util/encode"
import { ComponentProps, createEffect, createResource, createSignal, onCleanup, splitProps } from "solid-js"
import { isServer } from "solid-js/web"
import { stream } from "./markdown-stream"
@@ -1207,7 +1207,6 @@
[data-slot="apply-patch-filename"] {
color: var(--text-strong);
flex: 1 1 auto;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
+2 -34
View File
@@ -45,8 +45,8 @@ import { Checkbox } from "./checkbox"
import { DiffChanges } from "./diff-changes"
import { Markdown } from "./markdown"
import { ImagePreview } from "./image-preview"
import { getDirectory as _getDirectory, getFilename } from "@opencode-ai/shared/util/path"
import { checksum } from "@opencode-ai/shared/util/encode"
import { getDirectory as _getDirectory, getFilename } from "@opencode-ai/core/util/path"
import { checksum } from "@opencode-ai/core/util/encode"
import { Tooltip } from "./tooltip"
import { IconButton } from "./icon-button"
import { Spinner } from "./spinner"
@@ -356,12 +356,6 @@ export function getToolInfo(tool: string, input: any = {}): ToolInfo {
title: i18n.t("ui.tool.websearch"),
subtitle: input.query,
}
case "codesearch":
return {
icon: "code",
title: i18n.t("ui.tool.codesearch"),
subtitle: input.query,
}
case "task": {
const type =
typeof input.subagent_type === "string" && input.subagent_type
@@ -1710,32 +1704,6 @@ ToolRegistry.register({
},
})
ToolRegistry.register({
name: "codesearch",
render(props) {
const i18n = useI18n()
const query = createMemo(() => {
const value = props.input.query
if (typeof value !== "string") return ""
return value
})
return (
<BasicTool
{...props}
icon="code"
trigger={{
title: i18n.t("ui.tool.codesearch"),
subtitle: query(),
subtitleClass: "exa-tool-query",
}}
>
<ExaOutput output={props.output} />
</BasicTool>
)
},
})
ToolRegistry.register({
name: "task",
render(props) {
@@ -11,8 +11,8 @@ import { Tooltip } from "./tooltip"
import { ScrollView } from "./scroll-view"
import { useFileComponent } from "../context/file"
import { useI18n } from "../context/i18n"
import { getDirectory, getFilename } from "@opencode-ai/shared/util/path"
import { checksum } from "@opencode-ai/shared/util/encode"
import { getDirectory, getFilename } from "@opencode-ai/core/util/path"
import { checksum } from "@opencode-ai/core/util/encode"
import { createEffect, createMemo, For, Match, onCleanup, Show, Switch, untrack, type JSX } from "solid-js"
import { createStore } from "solid-js/store"
import { type FileContent, type SnapshotFileDiff, type VcsFileDiff } from "@opencode-ai/sdk/v2"
+2 -2
View File
@@ -8,8 +8,8 @@ import type { SessionStatus } from "@opencode-ai/sdk/v2"
import { useData } from "../context"
import { useFileComponent } from "../context/file"
import { Binary } from "@opencode-ai/shared/util/binary"
import { getDirectory, getFilename } from "@opencode-ai/shared/util/path"
import { Binary } from "@opencode-ai/core/util/binary"
import { getDirectory, getFilename } from "@opencode-ai/core/util/path"
import { createEffect, createMemo, createSignal, For, on, ParentProps, Show } from "solid-js"
import { createStore } from "solid-js/store"
import { Dynamic } from "solid-js/web"
@@ -43,10 +43,6 @@ const samples = [
tool: "websearch",
error: "websearch Rate limited: Please try again in 30 seconds",
},
{
tool: "codesearch",
error: "codesearch Timeout: exceeded 120s",
},
{
tool: "question",
error: "question Dismissed: user dismissed this question",
@@ -72,7 +68,7 @@ export default {
argTypes: {
tool: {
control: "select",
options: ["apply_patch", "bash", "read", "glob", "grep", "webfetch", "websearch", "codesearch", "question"],
options: ["apply_patch", "bash", "read", "glob", "grep", "webfetch", "websearch", "question"],
},
error: {
control: "text",
@@ -33,7 +33,6 @@ export function ToolErrorCard(props: ToolErrorCardProps) {
task: "ui.tool.task",
webfetch: "ui.tool.webfetch",
websearch: "ui.tool.websearch",
codesearch: "ui.tool.codesearch",
bash: "ui.tool.shell",
apply_patch: "ui.tool.patch",
question: "ui.tool.questions",
-1
View File
@@ -95,7 +95,6 @@ export const dict = {
"ui.tool.grep": "Grep",
"ui.tool.webfetch": "جلب الويب",
"ui.tool.websearch": "بحث الويب",
"ui.tool.codesearch": "بحث الكود",
"ui.tool.shell": "Shell",
"ui.tool.patch": "تصحيح",
"ui.tool.todos": "المهام",
-1
View File
@@ -95,7 +95,6 @@ export const dict = {
"ui.tool.grep": "Grep",
"ui.tool.webfetch": "Buscar Web",
"ui.tool.websearch": "Pesquisa na Web",
"ui.tool.codesearch": "Pesquisa de Código",
"ui.tool.shell": "Shell",
"ui.tool.patch": "Patch",
"ui.tool.todos": "Tarefas",
-1
View File
@@ -99,7 +99,6 @@ export const dict = {
"ui.tool.grep": "Grep",
"ui.tool.webfetch": "Web preuzimanje",
"ui.tool.websearch": "Pretraga weba",
"ui.tool.codesearch": "Pretraga koda",
"ui.tool.shell": "Shell",
"ui.tool.patch": "Patch",
"ui.tool.todos": "Lista zadataka",
-1
View File
@@ -94,7 +94,6 @@ export const dict = {
"ui.tool.grep": "Grep",
"ui.tool.webfetch": "Webhentning",
"ui.tool.websearch": "Websøgning",
"ui.tool.codesearch": "Kodesøgning",
"ui.tool.shell": "Shell",
"ui.tool.patch": "Patch",
"ui.tool.todos": "Opgaver",
-1
View File
@@ -100,7 +100,6 @@ export const dict = {
"ui.tool.grep": "Grep",
"ui.tool.webfetch": "Webabruf",
"ui.tool.websearch": "Websuche",
"ui.tool.codesearch": "Codesuche",
"ui.tool.shell": "Shell",
"ui.tool.patch": "Patch",
"ui.tool.todos": "Aufgaben",
-1
View File
@@ -108,7 +108,6 @@ export const dict: Record<string, string> = {
"ui.tool.task": "Task",
"ui.tool.webfetch": "Webfetch",
"ui.tool.websearch": "Web Search",
"ui.tool.codesearch": "Code Search",
"ui.tool.shell": "Shell",
"ui.tool.patch": "Patch",
"ui.tool.todos": "To-dos",
-1
View File
@@ -95,7 +95,6 @@ export const dict = {
"ui.tool.grep": "Grep",
"ui.tool.webfetch": "Webfetch",
"ui.tool.websearch": "Búsqueda web",
"ui.tool.codesearch": "Búsqueda de código",
"ui.tool.shell": "Shell",
"ui.tool.patch": "Parche",
"ui.tool.todos": "Tareas",
-1
View File
@@ -95,7 +95,6 @@ export const dict = {
"ui.tool.grep": "Grep",
"ui.tool.webfetch": "Webfetch",
"ui.tool.websearch": "Recherche Web",
"ui.tool.codesearch": "Recherche de code",
"ui.tool.shell": "Shell",
"ui.tool.patch": "Patch",
"ui.tool.todos": "Tâches",
-1
View File
@@ -94,7 +94,6 @@ export const dict = {
"ui.tool.grep": "Grep",
"ui.tool.webfetch": "Webfetch",
"ui.tool.websearch": "Web検索",
"ui.tool.codesearch": "コード検索",
"ui.tool.shell": "Shell",
"ui.tool.patch": "Patch",
"ui.tool.todos": "Todo",
-1
View File
@@ -95,7 +95,6 @@ export const dict = {
"ui.tool.grep": "Grep",
"ui.tool.webfetch": "웹 가져오기",
"ui.tool.websearch": "웹 검색",
"ui.tool.codesearch": "코드 검색",
"ui.tool.shell": "셸",
"ui.tool.patch": "패치",
"ui.tool.todos": "할 일",
-1
View File
@@ -98,7 +98,6 @@ export const dict: Record<Keys, string> = {
"ui.tool.grep": "Grep",
"ui.tool.webfetch": "Webhenting",
"ui.tool.websearch": "Nettsøk",
"ui.tool.codesearch": "Kodesøk",
"ui.tool.shell": "Shell",
"ui.tool.patch": "Patch",
"ui.tool.todos": "Gjøremål",
-1
View File
@@ -94,7 +94,6 @@ export const dict = {
"ui.tool.grep": "Grep",
"ui.tool.webfetch": "Pobieranie sieciowe",
"ui.tool.websearch": "Wyszukiwanie w sieci",
"ui.tool.codesearch": "Wyszukiwanie kodu",
"ui.tool.shell": "Terminal",
"ui.tool.patch": "Patch",
"ui.tool.todos": "Zadania",
-1
View File
@@ -94,7 +94,6 @@ export const dict = {
"ui.tool.grep": "Grep",
"ui.tool.webfetch": "Webfetch",
"ui.tool.websearch": "Веб-поиск",
"ui.tool.codesearch": "Поиск кода",
"ui.tool.shell": "Оболочка",
"ui.tool.patch": "Патч",
"ui.tool.todos": "Задачи",
-1
View File
@@ -96,7 +96,6 @@ export const dict = {
"ui.tool.grep": "Grep",
"ui.tool.webfetch": "ดึงจากเว็บ",
"ui.tool.websearch": "ค้นหาเว็บ",
"ui.tool.codesearch": "ค้นหาโค้ด",
"ui.tool.shell": "เชลล์",
"ui.tool.patch": "แพตช์",
"ui.tool.todos": "รายการงาน",
-1
View File
@@ -101,7 +101,6 @@ export const dict = {
"ui.tool.grep": "Grep",
"ui.tool.webfetch": "Web getir",
"ui.tool.websearch": "Web Araması",
"ui.tool.codesearch": "Kod Araması",
"ui.tool.shell": "Kabuk",
"ui.tool.patch": "Yama",
"ui.tool.todos": "Görevler",
-1
View File
@@ -99,7 +99,6 @@ export const dict = {
"ui.tool.grep": "Grep",
"ui.tool.webfetch": "Webfetch",
"ui.tool.websearch": "网络搜索",
"ui.tool.codesearch": "代码搜索",
"ui.tool.shell": "Shell",
"ui.tool.patch": "补丁",
"ui.tool.todos": "待办",
-1
View File
@@ -99,7 +99,6 @@ export const dict = {
"ui.tool.grep": "Grep",
"ui.tool.webfetch": "Webfetch",
"ui.tool.websearch": "網頁搜尋",
"ui.tool.codesearch": "程式碼搜尋",
"ui.tool.shell": "Shell",
"ui.tool.patch": "修補",
"ui.tool.todos": "待辦",