summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoradamelmore <[email protected]>2026-01-27 11:18:07 -0600
committeradamelmore <[email protected]>2026-01-27 11:38:37 -0600
commit07d84fe008905e17894a053e4cb80fce3ae28a99 (patch)
tree376617e44a08f54c4b65381704bc4667d389ea51
parentb9edd23608deb2692049fc70218b4b2b2b87e103 (diff)
downloadopencode-07d84fe008905e17894a053e4cb80fce3ae28a99.tar.gz
opencode-07d84fe008905e17894a053e4cb80fce3ae28a99.zip
feat(app): show loaded agents.md files
-rw-r--r--packages/ui/src/components/message-part.css17
-rw-r--r--packages/ui/src/components/message-part.tsx37
-rw-r--r--packages/ui/src/i18n/ar.ts1
-rw-r--r--packages/ui/src/i18n/br.ts1
-rw-r--r--packages/ui/src/i18n/da.ts1
-rw-r--r--packages/ui/src/i18n/de.ts1
-rw-r--r--packages/ui/src/i18n/en.ts1
-rw-r--r--packages/ui/src/i18n/es.ts1
-rw-r--r--packages/ui/src/i18n/fr.ts1
-rw-r--r--packages/ui/src/i18n/ja.ts1
-rw-r--r--packages/ui/src/i18n/ko.ts1
-rw-r--r--packages/ui/src/i18n/no.ts1
-rw-r--r--packages/ui/src/i18n/pl.ts1
-rw-r--r--packages/ui/src/i18n/ru.ts1
-rw-r--r--packages/ui/src/i18n/zh.ts1
-rw-r--r--packages/ui/src/i18n/zht.ts1
16 files changed, 59 insertions, 9 deletions
diff --git a/packages/ui/src/components/message-part.css b/packages/ui/src/components/message-part.css
index 56fe9cf41..2bef792a2 100644
--- a/packages/ui/src/components/message-part.css
+++ b/packages/ui/src/components/message-part.css
@@ -809,3 +809,20 @@
display: none;
}
}
+
+[data-component="tool-loaded-file"] {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ padding: 4px 0 4px 28px;
+ font-family: var(--font-family-sans);
+ font-size: var(--font-size-small);
+ font-weight: var(--font-weight-regular);
+ line-height: var(--line-height-large);
+ color: var(--text-weak);
+
+ [data-component="icon"] {
+ flex-shrink: 0;
+ color: var(--icon-weak);
+ }
+}
diff --git a/packages/ui/src/components/message-part.tsx b/packages/ui/src/components/message-part.tsx
index 3fde255c8..7aad01ace 100644
--- a/packages/ui/src/components/message-part.tsx
+++ b/packages/ui/src/components/message-part.tsx
@@ -724,20 +724,39 @@ PART_MAPPING["reasoning"] = function ReasoningPartDisplay(props) {
ToolRegistry.register({
name: "read",
render(props) {
+ const data = useData()
const i18n = useI18n()
const args: string[] = []
if (props.input.offset) args.push("offset=" + props.input.offset)
if (props.input.limit) args.push("limit=" + props.input.limit)
+ const loaded = createMemo(() => {
+ if (props.status !== "completed") return []
+ const value = props.metadata.loaded
+ if (!value || !Array.isArray(value)) return []
+ return value.filter((p): p is string => typeof p === "string")
+ })
return (
- <BasicTool
- {...props}
- icon="glasses"
- trigger={{
- title: i18n.t("ui.tool.read"),
- subtitle: props.input.filePath ? getFilename(props.input.filePath) : "",
- args,
- }}
- />
+ <>
+ <BasicTool
+ {...props}
+ icon="glasses"
+ trigger={{
+ title: i18n.t("ui.tool.read"),
+ subtitle: props.input.filePath ? getFilename(props.input.filePath) : "",
+ args,
+ }}
+ />
+ <For each={loaded()}>
+ {(filepath) => (
+ <div data-component="tool-loaded-file">
+ <Icon name="enter" size="small" />
+ <span>
+ {i18n.t("ui.tool.loaded")} {relativizeProjectPaths(filepath, data.directory)}
+ </span>
+ </div>
+ )}
+ </For>
+ </>
)
},
})
diff --git a/packages/ui/src/i18n/ar.ts b/packages/ui/src/i18n/ar.ts
index a4179a414..fc99bdacb 100644
--- a/packages/ui/src/i18n/ar.ts
+++ b/packages/ui/src/i18n/ar.ts
@@ -54,6 +54,7 @@ export const dict = {
"ui.imagePreview.alt": "معاينة الصورة",
"ui.tool.read": "قراءة",
+ "ui.tool.loaded": "تم التحميل",
"ui.tool.list": "قائمة",
"ui.tool.glob": "Glob",
"ui.tool.grep": "Grep",
diff --git a/packages/ui/src/i18n/br.ts b/packages/ui/src/i18n/br.ts
index b8e6fdbe5..fdec9138a 100644
--- a/packages/ui/src/i18n/br.ts
+++ b/packages/ui/src/i18n/br.ts
@@ -54,6 +54,7 @@ export const dict = {
"ui.imagePreview.alt": "Visualização de imagem",
"ui.tool.read": "Ler",
+ "ui.tool.loaded": "Carregado",
"ui.tool.list": "Listar",
"ui.tool.glob": "Glob",
"ui.tool.grep": "Grep",
diff --git a/packages/ui/src/i18n/da.ts b/packages/ui/src/i18n/da.ts
index 6e8f6b46e..fbe34e03f 100644
--- a/packages/ui/src/i18n/da.ts
+++ b/packages/ui/src/i18n/da.ts
@@ -54,6 +54,7 @@ export const dict = {
"ui.imagePreview.alt": "Billedforhåndsvisning",
"ui.tool.read": "Læs",
+ "ui.tool.loaded": "Indlæst",
"ui.tool.list": "Liste",
"ui.tool.glob": "Glob",
"ui.tool.grep": "Grep",
diff --git a/packages/ui/src/i18n/de.ts b/packages/ui/src/i18n/de.ts
index 6d2086023..d74cd5d22 100644
--- a/packages/ui/src/i18n/de.ts
+++ b/packages/ui/src/i18n/de.ts
@@ -58,6 +58,7 @@ export const dict = {
"ui.imagePreview.alt": "Bildvorschau",
"ui.tool.read": "Lesen",
+ "ui.tool.loaded": "Geladen",
"ui.tool.list": "Auflisten",
"ui.tool.glob": "Glob",
"ui.tool.grep": "Grep",
diff --git a/packages/ui/src/i18n/en.ts b/packages/ui/src/i18n/en.ts
index da77b04aa..8c0f09cb3 100644
--- a/packages/ui/src/i18n/en.ts
+++ b/packages/ui/src/i18n/en.ts
@@ -55,6 +55,7 @@ export const dict = {
"ui.imagePreview.alt": "Image preview",
"ui.tool.read": "Read",
+ "ui.tool.loaded": "Loaded",
"ui.tool.list": "List",
"ui.tool.glob": "Glob",
"ui.tool.grep": "Grep",
diff --git a/packages/ui/src/i18n/es.ts b/packages/ui/src/i18n/es.ts
index 19df81a6b..3f71a98ac 100644
--- a/packages/ui/src/i18n/es.ts
+++ b/packages/ui/src/i18n/es.ts
@@ -54,6 +54,7 @@ export const dict = {
"ui.imagePreview.alt": "Vista previa de imagen",
"ui.tool.read": "Leer",
+ "ui.tool.loaded": "Cargado",
"ui.tool.list": "Listar",
"ui.tool.glob": "Glob",
"ui.tool.grep": "Grep",
diff --git a/packages/ui/src/i18n/fr.ts b/packages/ui/src/i18n/fr.ts
index b563f9a02..0ec70509a 100644
--- a/packages/ui/src/i18n/fr.ts
+++ b/packages/ui/src/i18n/fr.ts
@@ -54,6 +54,7 @@ export const dict = {
"ui.imagePreview.alt": "Aperçu de l'image",
"ui.tool.read": "Lire",
+ "ui.tool.loaded": "Chargé",
"ui.tool.list": "Lister",
"ui.tool.glob": "Glob",
"ui.tool.grep": "Grep",
diff --git a/packages/ui/src/i18n/ja.ts b/packages/ui/src/i18n/ja.ts
index 7bd4d8e40..fd3f24ab3 100644
--- a/packages/ui/src/i18n/ja.ts
+++ b/packages/ui/src/i18n/ja.ts
@@ -54,6 +54,7 @@ export const dict = {
"ui.imagePreview.alt": "画像プレビュー",
"ui.tool.read": "読み込み",
+ "ui.tool.loaded": "読み込み済み",
"ui.tool.list": "リスト",
"ui.tool.glob": "Glob",
"ui.tool.grep": "Grep",
diff --git a/packages/ui/src/i18n/ko.ts b/packages/ui/src/i18n/ko.ts
index b83d7ef37..e419f730a 100644
--- a/packages/ui/src/i18n/ko.ts
+++ b/packages/ui/src/i18n/ko.ts
@@ -54,6 +54,7 @@ export const dict = {
"ui.imagePreview.alt": "이미지 미리보기",
"ui.tool.read": "읽기",
+ "ui.tool.loaded": "로드됨",
"ui.tool.list": "목록",
"ui.tool.glob": "Glob",
"ui.tool.grep": "Grep",
diff --git a/packages/ui/src/i18n/no.ts b/packages/ui/src/i18n/no.ts
index c9a7481c9..4433b8114 100644
--- a/packages/ui/src/i18n/no.ts
+++ b/packages/ui/src/i18n/no.ts
@@ -57,6 +57,7 @@ export const dict: Record<Keys, string> = {
"ui.imagePreview.alt": "Bildeforhåndsvisning",
"ui.tool.read": "Les",
+ "ui.tool.loaded": "Lastet",
"ui.tool.list": "Liste",
"ui.tool.glob": "Glob",
"ui.tool.grep": "Grep",
diff --git a/packages/ui/src/i18n/pl.ts b/packages/ui/src/i18n/pl.ts
index 5531a7473..efe4bf6cf 100644
--- a/packages/ui/src/i18n/pl.ts
+++ b/packages/ui/src/i18n/pl.ts
@@ -54,6 +54,7 @@ export const dict = {
"ui.imagePreview.alt": "Podgląd obrazu",
"ui.tool.read": "Odczyt",
+ "ui.tool.loaded": "Załadowano",
"ui.tool.list": "Lista",
"ui.tool.glob": "Glob",
"ui.tool.grep": "Grep",
diff --git a/packages/ui/src/i18n/ru.ts b/packages/ui/src/i18n/ru.ts
index 8af9e05a5..60e63455d 100644
--- a/packages/ui/src/i18n/ru.ts
+++ b/packages/ui/src/i18n/ru.ts
@@ -54,6 +54,7 @@ export const dict = {
"ui.imagePreview.alt": "Предпросмотр изображения",
"ui.tool.read": "Чтение",
+ "ui.tool.loaded": "Загружено",
"ui.tool.list": "Список",
"ui.tool.glob": "Glob",
"ui.tool.grep": "Grep",
diff --git a/packages/ui/src/i18n/zh.ts b/packages/ui/src/i18n/zh.ts
index c81f4725b..9a5a056a8 100644
--- a/packages/ui/src/i18n/zh.ts
+++ b/packages/ui/src/i18n/zh.ts
@@ -58,6 +58,7 @@ export const dict = {
"ui.imagePreview.alt": "图片预览",
"ui.tool.read": "读取",
+ "ui.tool.loaded": "已加载",
"ui.tool.list": "列表",
"ui.tool.glob": "Glob",
"ui.tool.grep": "Grep",
diff --git a/packages/ui/src/i18n/zht.ts b/packages/ui/src/i18n/zht.ts
index 906f602f9..c5ef99cda 100644
--- a/packages/ui/src/i18n/zht.ts
+++ b/packages/ui/src/i18n/zht.ts
@@ -58,6 +58,7 @@ export const dict = {
"ui.imagePreview.alt": "圖片預覽",
"ui.tool.read": "讀取",
+ "ui.tool.loaded": "已載入",
"ui.tool.list": "清單",
"ui.tool.glob": "Glob",
"ui.tool.grep": "Grep",