@goodandready/dsh-image-gen 0.10.27 → 0.10.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client.js +36 -6
- package/package.json +1 -1
package/lib/client.js
CHANGED
|
@@ -1080,9 +1080,21 @@ window.__ModuleLoader__.load({
|
|
|
1080
1080
|
const budgetText = (state.dailyBudgetUsd && state.dailyBudgetUsd.text) || '0'
|
|
1081
1081
|
const loopLimit = (state.loopGuardLimit && state.loopGuardLimit.text) || '3'
|
|
1082
1082
|
|
|
1083
|
+
// Plugins page seats: 'summary' is the one-line row description, 'page' is the
|
|
1084
|
+
// opened detail form (the page draws title/icon/crumb and padding itself, so the
|
|
1085
|
+
// form must render bare and open).
|
|
1086
|
+
const page = !!(props && props.view === 'page')
|
|
1087
|
+
if (props && props.view === 'summary') {
|
|
1088
|
+
return react.createElement(
|
|
1089
|
+
'div',
|
|
1090
|
+
{ style: { fontSize: '13px', color: 'var(--dsw-alias-label-secondary)' } },
|
|
1091
|
+
t('settings.description')
|
|
1092
|
+
)
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1083
1095
|
return react.createElement(
|
|
1084
|
-
'li',
|
|
1085
|
-
{ className: 'ig-section-card', style: { listStyle: 'none', marginBottom: '12px' } },
|
|
1096
|
+
page ? 'div' : 'li',
|
|
1097
|
+
{ className: page ? 'ig-seat-page' : 'ig-section-card', style: page ? undefined : { listStyle: 'none', marginBottom: '12px' } },
|
|
1086
1098
|
// Header
|
|
1087
1099
|
react.createElement(
|
|
1088
1100
|
'button',
|
|
@@ -1092,13 +1104,13 @@ window.__ModuleLoader__.load({
|
|
|
1092
1104
|
background: 'none',
|
|
1093
1105
|
border: 'none',
|
|
1094
1106
|
cursor: 'pointer',
|
|
1095
|
-
display: 'flex',
|
|
1107
|
+
display: page ? 'none' : 'flex',
|
|
1096
1108
|
alignItems: 'center',
|
|
1097
1109
|
width: '100%',
|
|
1098
1110
|
padding: 0,
|
|
1099
1111
|
textAlign: 'left',
|
|
1100
1112
|
},
|
|
1101
|
-
'aria-expanded': open,
|
|
1113
|
+
'aria-expanded': page ? true : open,
|
|
1102
1114
|
onClick: () => setOpen(!open),
|
|
1103
1115
|
},
|
|
1104
1116
|
react.createElement(
|
|
@@ -1124,7 +1136,7 @@ window.__ModuleLoader__.load({
|
|
|
1124
1136
|
ChevronIconNode
|
|
1125
1137
|
)
|
|
1126
1138
|
),
|
|
1127
|
-
open
|
|
1139
|
+
(page || open)
|
|
1128
1140
|
? react.createElement(
|
|
1129
1141
|
'div',
|
|
1130
1142
|
{ className: 'ig-page' },
|
|
@@ -2171,7 +2183,25 @@ window.__ModuleLoader__.load({
|
|
|
2171
2183
|
)
|
|
2172
2184
|
)
|
|
2173
2185
|
|
|
2174
|
-
//
|
|
2186
|
+
// List seat (plugins.item): the seat the Plugins page renders as the plugin's own
|
|
2187
|
+
// page with its configuration. The label is a static string on purpose — it is
|
|
2188
|
+
// resolved while the page renders, and a locale lookup there would take the whole
|
|
2189
|
+
// client batch down with it.
|
|
2190
|
+
registerSlotWhenReady('plugins.item', () =>
|
|
2191
|
+
ctx.slots.register(
|
|
2192
|
+
{
|
|
2193
|
+
name: 'plugins.item',
|
|
2194
|
+
id: 'dsh-image-gen',
|
|
2195
|
+
order: 60,
|
|
2196
|
+
label: () => 'Image Studio',
|
|
2197
|
+
locale: NS,
|
|
2198
|
+
inject: () => cardOnce().inject(),
|
|
2199
|
+
},
|
|
2200
|
+
(props) => react.createElement(ErrorBoundary, null, react.createElement(FalSettingsCard, props))
|
|
2201
|
+
)
|
|
2202
|
+
)
|
|
2203
|
+
|
|
2204
|
+
// Settings card item (legacy seat, kept as a fallback)
|
|
2175
2205
|
registerSlotWhenReady('settings.plugin.item', () =>
|
|
2176
2206
|
ctx.slots.register(
|
|
2177
2207
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goodandready/dsh-image-gen",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.28",
|
|
4
4
|
"description": "Image generation for DeepSeek Harness: a generate_image tool with pluggable providers — the FAL queue, any OpenAI-compatible images API, or a ChatGPT/Grok subscription with no API key at all. The picture is shown inline in the conversation; the model receives either a link (works with any chat model) or the image itself (needs dsh-vision-bridge or a vision-capable model).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deepseek-harness",
|