@kolbo/mcp 1.87.3 → 1.87.4
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/package.json
CHANGED
|
@@ -808,10 +808,15 @@ function renderResult(sc) {
|
|
|
808
808
|
// voice that actually ran, so the finished card must not keep the guess.
|
|
809
809
|
renderChips(sc);
|
|
810
810
|
setPhaseChip('', false);
|
|
811
|
-
if (sc.kind === 'status' && Array.isArray(sc.items)) return renderStatusGrid(sc);
|
|
812
811
|
if (sc.batch && sc.scenes && sc.scenes.length) return renderBatchGrid(sc);
|
|
813
812
|
if (sc.kind === 'scenes' && sc.scenes && sc.scenes.length) return renderScenes(sc);
|
|
814
813
|
var urls = preferKolbo(sc.urls || []);
|
|
814
|
+
// Key the per-item grid on items[], not on kind === 'status': a host bridge
|
|
815
|
+
// (Kolbo Code's shaped()) rewrites kind from the TOOL name before the payload
|
|
816
|
+
// reaches this iframe, so a finished prompts[] batch arrived as kind:'image'
|
|
817
|
+
// with eight completed items and no top-level urls — and painted
|
|
818
|
+
// "No output received / Failed" over generations that had completed and billed.
|
|
819
|
+
if (Array.isArray(sc.items) && sc.items.length && (sc.kind === 'status' || !urls.length)) return renderStatusGrid(sc);
|
|
815
820
|
var kind = displayKind(Object.assign({}, sc, { urls: urls }));
|
|
816
821
|
if (!urls.length) return renderError('No output received');
|
|
817
822
|
if (kind === 'image') renderImages(sc, urls);
|
package/src/tools/generate.js
CHANGED
|
@@ -99,9 +99,12 @@ async function pollBatch(client, batch, { interval, timeout }, toolName) {
|
|
|
99
99
|
generations,
|
|
100
100
|
failed_submissions: batch.failed.length ? batch.failed : undefined
|
|
101
101
|
}, null, 2);
|
|
102
|
+
// Name the model that actually ran — every id in one batch ran the same one.
|
|
103
|
+
const modelsRan = [...new Set(polls.filter((p) => !p.timedOut).map((p) => p.result.result && p.result.result.model).filter(Boolean))];
|
|
102
104
|
return uiCompleted({
|
|
103
105
|
tool: toolName, kind: 'status', client,
|
|
104
|
-
model:
|
|
106
|
+
model: modelsRan.length === 1 ? modelsRan[0] : 'Generations',
|
|
107
|
+
gen: { generation_id: batch.ids[0], session_id: batch.ok[0].gen.session_id },
|
|
105
108
|
settings: {},
|
|
106
109
|
items: generations.map(g => ({
|
|
107
110
|
id: g.generation_id,
|