@kvasar/google-stitch 0.1.13 → 0.1.14
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/openclaw.plugin.json
CHANGED
package/package.json
CHANGED
|
@@ -93,22 +93,32 @@ export function generateScreenFromTextTool(client: StitchMCPClient) {
|
|
|
93
93
|
const screen = result.screen;
|
|
94
94
|
const firstComponent = result.output_components?.[0];
|
|
95
95
|
|
|
96
|
+
// Extract model's conversational text and suggestion
|
|
97
|
+
const modelText = firstComponent?.text;
|
|
98
|
+
const suggestion = firstComponent?.suggestion;
|
|
99
|
+
|
|
100
|
+
// Try image URL response
|
|
96
101
|
const imageUrl =
|
|
97
102
|
screen?.screenshot?.url ||
|
|
98
103
|
firstComponent?.design?.screenshot?.url;
|
|
99
104
|
|
|
100
105
|
if (imageUrl) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
};
|
|
106
|
+
const content: Array<{ type: string; [key: string]: any }> = [];
|
|
107
|
+
if (modelText) {
|
|
108
|
+
content.push({ type: "text", text: modelText });
|
|
109
|
+
}
|
|
110
|
+
content.push({
|
|
111
|
+
type: "image",
|
|
112
|
+
url: imageUrl,
|
|
113
|
+
caption: screen?.title || "Generated by Google Stitch"
|
|
114
|
+
});
|
|
115
|
+
if (suggestion) {
|
|
116
|
+
content.push({ type: "text", text: suggestion });
|
|
117
|
+
}
|
|
118
|
+
return { content };
|
|
110
119
|
}
|
|
111
120
|
|
|
121
|
+
// Try image bytes response
|
|
112
122
|
const imageBytes =
|
|
113
123
|
screen?.screenshot?.bytes ||
|
|
114
124
|
firstComponent?.design?.screenshot?.bytes;
|
|
@@ -124,33 +134,41 @@ export function generateScreenFromTextTool(client: StitchMCPClient) {
|
|
|
124
134
|
Buffer.from(imageBytes, "base64")
|
|
125
135
|
);
|
|
126
136
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
};
|
|
137
|
+
const content: Array<{ type: string; [key: string]: any }> = [];
|
|
138
|
+
if (modelText) {
|
|
139
|
+
content.push({ type: "text", text: modelText });
|
|
140
|
+
}
|
|
141
|
+
content.push({
|
|
142
|
+
type: "image",
|
|
143
|
+
path: tempFilePath,
|
|
144
|
+
caption: screen?.title || "Generated by Google Stitch"
|
|
145
|
+
});
|
|
146
|
+
if (suggestion) {
|
|
147
|
+
content.push({ type: "text", text: suggestion });
|
|
148
|
+
}
|
|
149
|
+
return { content };
|
|
136
150
|
}
|
|
137
151
|
|
|
138
|
-
|
|
152
|
+
// HTML fallback (either provided or minimal placeholder)
|
|
153
|
+
let html =
|
|
139
154
|
screen?.htmlCode?.content ||
|
|
140
|
-
firstComponent?.design?.htmlCode?.content
|
|
141
|
-
|
|
155
|
+
firstComponent?.design?.htmlCode?.content;
|
|
156
|
+
|
|
157
|
+
if (!html) {
|
|
158
|
+
html = `<div style="padding:16px">
|
|
142
159
|
<h3>${escapeHtml(screen?.title || "Generated screen")}</h3>
|
|
143
|
-
<p>${escapeHtml(firstComponent?.text || "")}</p>
|
|
144
160
|
</div>`;
|
|
161
|
+
}
|
|
145
162
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
}
|
|
163
|
+
const content: Array<{ type: string; [key: string]: any }> = [];
|
|
164
|
+
if (modelText) {
|
|
165
|
+
content.push({ type: "text", text: modelText });
|
|
166
|
+
}
|
|
167
|
+
content.push({ type: "html", html });
|
|
168
|
+
if (suggestion) {
|
|
169
|
+
content.push({ type: "text", text: suggestion });
|
|
170
|
+
}
|
|
171
|
+
return { content };
|
|
154
172
|
}
|
|
155
173
|
};
|
|
156
174
|
}
|