feat(web): attach images from the composer
The (+) door and the clipboard door both stage files as removable chips, the claw's own budget enforced client-side (eight a message, 5 MiB decoded each, errors surfaced, never silent drops). The sent row renders local previews at once; the stream's user_message echo carries the stored ids and dedupes against it, so a replayed message renders its thumbnails through the same bearer-guarded fetch as an attachment card. Model options mark vision when the listing knows.
This commit is contained in:
1 parent
cfb349508f
commit
6efb69331d
6 files changed
+396
-39
No files matched your search
@@ -215,6 +215,16 @@ watch(
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
/** The listing's vision verdict, spelled the way the TUI's picker
|
||||
* spells it: a mark when the adapter knows the model takes images, a
|
||||
* bare "no vision" when it knows it does not, nothing when the key is
|
||||
* absent — unknown is no verdict at all, never a `false`. */
|
||||
function visionLabel(model: ModelCard): string {
|
||||
if (model.supports_vision === true) return ' ◉ vision'
|
||||
if (model.supports_vision === false) return ' no vision'
|
||||
return ''
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -259,7 +269,7 @@ watch(
|
||||
<select v-model="draftModel" :disabled="saving || !draftProvider">
|
||||
<option value="">(provider default)</option>
|
||||
<option v-for="m in models" :key="m.id" :value="m.id">
|
||||
{{ m.id }}
|
||||
{{ m.id }}{{ visionLabel(m) }}
|
||||
</option>
|
||||
</select>
|
||||
</SettingRow>
|
||||
|
||||
Reference in new issue
Block a user