← back to Designer Wallcoverings
auto-save: 2026-06-23T07:50:15 (83 files) — DW-Agents/dw-agents/agent-thibaut-updater/thibaut-updater-agent.ts DW-Agents/vendor-command-center/server.js DW-Agents/vendor-command-center/standardization-worker.js DW-Agents/vendor-command-center/website-scorer.js DW-Programming/DW-Duplicate-Recolor-v1.4/lib/geminiAnalyzer.js
2a4e2a6180b4455469bceeb586e76dde2d8618e2 · 2026-06-23 07:50:21 -0700 · Steve Abrams
Files touched
M DW-Agents/dw-agents/agent-thibaut-updater/thibaut-updater-agent.tsM DW-Agents/vendor-command-center/server.jsM DW-Agents/vendor-command-center/standardization-worker.jsM DW-Agents/vendor-command-center/website-scorer.jsM DW-Programming/DW-Duplicate-Recolor-v1.4/lib/geminiAnalyzer.jsM DW-Programming/ImportNewSkufromURL/dwjs-comprehensive-update.tsM DW-Programming/ImportNewSkufromURL/dwjs-interior-design-update.jsM DW-Programming/ImportNewSkufromURL/dwjs-interior-design-update.tsM DW-Programming/ImportNewSkufromURL/scripts/rwltd-gemini-cron.jsM DW-Programming/ShopifyCalendarNext/scripts/rescan-scheduled-posts.tsM DW-Programming/ShopifyCalendarNext/src/app/api/analyze-product/route.tsM DW-Programming/ShopifyCalendarNext/src/app/api/generate-ai-content/route.tsM DW-Programming/activate-versace-drafts.jsM DW-Programming/activate-versace-vi.jsM DW-Programming/anna-french-ai-enrich.jsM DW-Programming/china-seas-design-tagger.jsM DW-Programming/color-collection-cleaner.jsM DW-Programming/fix-blue-collection.jsM DW-Programming/gls-gemini-retry.jsM DW-Programming/gls-product-cleanup.jsM DW-Programming/gls-product-processor.jsM DW-Programming/gls-product-updater.jsM DW-Programming/gls-retry-failed.jsM DW-Programming/hollywood-hex-and-tags.jsM DW-Programming/interior-design-ai-tagger.jsM DW-Programming/interior-design-tagger.jsM DW-Programming/maya-romanoff-updater/maya-romanoff-updater.jsM DW-Programming/maya-romanoff-updater/server.jsM DW-Programming/nextjs-liquid-app/app/api/analyze-image/route.tsM DW-Programming/nextjs-liquid-app/app/api/bulk-import/route.tsM DW-Programming/phase3-ai-enrich-100.jsM DW-Programming/phase3-ai-enrich-batch.jsM DW-Programming/phase3-ai-enrichment.jsM DW-Programming/prl-ai-enrich.jsM DW-Programming/ralph-lauren-fabric-updater-9899.jsM DW-Programming/ralph-lauren-fabric-updater-9899.tsM DW-Programming/room-setting-app/app/api/analyze-pattern/route.tsM DW-Programming/room-setting-app/lib/multi-model-generator.tsM DW-Programming/zoffany-ai-enrich.jsM ai-enrich-arte-fix.jsM ai-enrich-gaps2.jsM arte-fill-tags.jsM brand-router/server.jsM enrich-arte-gaps.jsM enrich-arte-puppeteer.jsM enrich-remaining-13.jsM gemini-classify-texture.jsM gemini-enrich-gaps.jsM scripts/brand-mckenzie-ai-analysis.tsM scripts/brand-mckenzie-full-scrape.tsM scripts/brand-mckenzie-full-update.tsM scripts/collection-description-writer.jsM scripts/enrich-remaining-13.jsM scripts/interior-design-tags.jsM scripts/prl-ai-enrich.jsM scripts/texture-repeat-classifier.jsM scripts/us-007-ai-product-quality-analyzer.tsM shopify/_cwGRID/sections/collection.liquidR088 shopify/_cwGRID/sections/collection-filters-horizontal.liquid shopify/_cwGRID/snippets/collection-filters-horizontal.liquidM shopify/fix-collection-filters-snippet.shM shopify/scripts/arte-dashboard/server.jsM shopify/scripts/bespoke-updater/server.jsM shopify/scripts/gemini-catalog-tagger.jsM shopify/scripts/gemini-tag-engine/index.jsM shopify/scripts/import-missing-dwrr.tsM shopify/scripts/interior-design-tagger.jsM shopify/scripts/koroseal-batch-cron.jsM shopify/scripts/koroseal-complete-update.tsM shopify/scripts/koroseal-enhanced-update.jsM shopify/scripts/koroseal-update.jsM shopify/scripts/prl-ai-enrich.jsM shopify/scripts/review-dwqw-images-descriptions.tsM shopify/scripts/set-texture-repeat-zero.jsM shopify/scripts/update-all-malibu-architectural.tsM shopify/scripts/update-dwk-full-details.jsM shopify/scripts/update-dwk-slow-seo.jsM shopify/scripts/update-dwqw-complete.tsM shopify/scripts/update-dwqw-malibu-architectural.tsM shopify/scripts/update-dwrr-descriptions-quantities.tsM shopify/scripts/update-dwrr-gemini.tsM shopify/scripts/update-koroseal-gemini.tsM shopify/scripts/zoffany-full-monty-20.js
Diff
commit 2a4e2a6180b4455469bceeb586e76dde2d8618e2
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Tue Jun 23 07:50:21 2026 -0700
auto-save: 2026-06-23T07:50:15 (83 files) — DW-Agents/dw-agents/agent-thibaut-updater/thibaut-updater-agent.ts DW-Agents/vendor-command-center/server.js DW-Agents/vendor-command-center/standardization-worker.js DW-Agents/vendor-command-center/website-scorer.js DW-Programming/DW-Duplicate-Recolor-v1.4/lib/geminiAnalyzer.js
---
.../agent-thibaut-updater/thibaut-updater-agent.ts | 2 +-
DW-Agents/vendor-command-center/server.js | 4 +-
.../standardization-worker.js | 2 +-
DW-Agents/vendor-command-center/website-scorer.js | 2 +-
.../lib/geminiAnalyzer.js | 2 +-
.../dwjs-comprehensive-update.ts | 2 +-
.../dwjs-interior-design-update.js | 2 +-
.../dwjs-interior-design-update.ts | 2 +-
.../scripts/rwltd-gemini-cron.js | 2 +-
.../scripts/rescan-scheduled-posts.ts | 2 +-
.../src/app/api/analyze-product/route.ts | 2 +-
.../src/app/api/generate-ai-content/route.ts | 2 +-
DW-Programming/activate-versace-drafts.js | 2 +-
DW-Programming/activate-versace-vi.js | 6 +--
DW-Programming/anna-french-ai-enrich.js | 2 +-
DW-Programming/china-seas-design-tagger.js | 2 +-
DW-Programming/color-collection-cleaner.js | 2 +-
DW-Programming/fix-blue-collection.js | 6 +--
DW-Programming/gls-gemini-retry.js | 2 +-
DW-Programming/gls-product-cleanup.js | 4 +-
DW-Programming/gls-product-processor.js | 2 +-
DW-Programming/gls-product-updater.js | 2 +-
DW-Programming/gls-retry-failed.js | 2 +-
DW-Programming/hollywood-hex-and-tags.js | 2 +-
DW-Programming/interior-design-ai-tagger.js | 2 +-
DW-Programming/interior-design-tagger.js | 2 +-
.../maya-romanoff-updater/maya-romanoff-updater.js | 2 +-
DW-Programming/maya-romanoff-updater/server.js | 2 +-
.../app/api/analyze-image/route.ts | 2 +-
.../nextjs-liquid-app/app/api/bulk-import/route.ts | 2 +-
DW-Programming/phase3-ai-enrich-100.js | 2 +-
DW-Programming/phase3-ai-enrich-batch.js | 2 +-
DW-Programming/phase3-ai-enrichment.js | 2 +-
DW-Programming/prl-ai-enrich.js | 2 +-
DW-Programming/ralph-lauren-fabric-updater-9899.js | 2 +-
DW-Programming/ralph-lauren-fabric-updater-9899.ts | 2 +-
.../app/api/analyze-pattern/route.ts | 2 +-
.../room-setting-app/lib/multi-model-generator.ts | 2 +-
DW-Programming/zoffany-ai-enrich.js | 2 +-
ai-enrich-arte-fix.js | 2 +-
ai-enrich-gaps2.js | 2 +-
arte-fill-tags.js | 2 +-
brand-router/server.js | 2 +-
enrich-arte-gaps.js | 2 +-
enrich-arte-puppeteer.js | 2 +-
enrich-remaining-13.js | 2 +-
gemini-classify-texture.js | 2 +-
gemini-enrich-gaps.js | 2 +-
scripts/brand-mckenzie-ai-analysis.ts | 2 +-
scripts/brand-mckenzie-full-scrape.ts | 2 +-
scripts/brand-mckenzie-full-update.ts | 2 +-
scripts/collection-description-writer.js | 2 +-
scripts/enrich-remaining-13.js | 2 +-
scripts/interior-design-tags.js | 2 +-
scripts/prl-ai-enrich.js | 2 +-
scripts/texture-repeat-classifier.js | 2 +-
scripts/us-007-ai-product-quality-analyzer.ts | 2 +-
shopify/_cwGRID/sections/collection.liquid | 2 +-
.../collection-filters-horizontal.liquid | 61 +---------------------
shopify/fix-collection-filters-snippet.sh | 2 +
shopify/scripts/arte-dashboard/server.js | 4 +-
shopify/scripts/bespoke-updater/server.js | 2 +-
shopify/scripts/gemini-catalog-tagger.js | 2 +-
shopify/scripts/gemini-tag-engine/index.js | 2 +-
shopify/scripts/import-missing-dwrr.ts | 2 +-
shopify/scripts/interior-design-tagger.js | 4 +-
shopify/scripts/koroseal-batch-cron.js | 2 +-
shopify/scripts/koroseal-complete-update.ts | 2 +-
shopify/scripts/koroseal-enhanced-update.js | 2 +-
shopify/scripts/koroseal-update.js | 2 +-
shopify/scripts/prl-ai-enrich.js | 2 +-
shopify/scripts/review-dwqw-images-descriptions.ts | 2 +-
shopify/scripts/set-texture-repeat-zero.js | 4 +-
shopify/scripts/update-all-malibu-architectural.ts | 2 +-
shopify/scripts/update-dwk-full-details.js | 2 +-
shopify/scripts/update-dwk-slow-seo.js | 2 +-
shopify/scripts/update-dwqw-complete.ts | 2 +-
.../scripts/update-dwqw-malibu-architectural.ts | 2 +-
.../scripts/update-dwrr-descriptions-quantities.ts | 2 +-
shopify/scripts/update-dwrr-gemini.ts | 2 +-
shopify/scripts/update-koroseal-gemini.ts | 2 +-
shopify/scripts/zoffany-full-monty-20.js | 2 +-
82 files changed, 92 insertions(+), 149 deletions(-)
diff --git a/DW-Agents/dw-agents/agent-thibaut-updater/thibaut-updater-agent.ts b/DW-Agents/dw-agents/agent-thibaut-updater/thibaut-updater-agent.ts
index eaec9e2d..8e77da03 100644
--- a/DW-Agents/dw-agents/agent-thibaut-updater/thibaut-updater-agent.ts
+++ b/DW-Agents/dw-agents/agent-thibaut-updater/thibaut-updater-agent.ts
@@ -448,7 +448,7 @@ Provide comprehensive tagging data for e-commerce. Return ONLY valid JSON:
}` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 800 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 } }
})
});
diff --git a/DW-Agents/vendor-command-center/server.js b/DW-Agents/vendor-command-center/server.js
index eb71f735..696176c4 100644
--- a/DW-Agents/vendor-command-center/server.js
+++ b/DW-Agents/vendor-command-center/server.js
@@ -1245,7 +1245,7 @@ app.post('/api/launch-test', async (req, res) => {
contents: [{ parts: [
{ text: `Image URL: ${p.image_url}\n\nProduct: ${title}\n\n${idPrompt}` }
]}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 400 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 400, thinkingConfig: { thinkingBudget: 0 } }
}),
signal: AbortSignal.timeout(15000)
}
@@ -3490,7 +3490,7 @@ app.post('/api/tags/batch-submit', async (req, res) => {
"material": "one of: Vinyl, Paper, Non-woven, Grasscloth, Sisal, Silk, Fabric, Linen, Velvet, Metal Leaf, Foil"
}` }
]}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 500 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 500, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/DW-Agents/vendor-command-center/standardization-worker.js b/DW-Agents/vendor-command-center/standardization-worker.js
index 5d7792b7..dfb0e2c6 100644
--- a/DW-Agents/vendor-command-center/standardization-worker.js
+++ b/DW-Agents/vendor-command-center/standardization-worker.js
@@ -95,7 +95,7 @@ async function analyzeWithGemini(imageUrl, title, productType) {
{ inlineData: { mimeType: 'image/jpeg', data: imageBase64 } },
{ text: GEMINI_PROMPT + '\n\nContext: ' + contextNote }
]}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 800 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 } }
}),
signal: gemCtrl.signal
});
diff --git a/DW-Agents/vendor-command-center/website-scorer.js b/DW-Agents/vendor-command-center/website-scorer.js
index 1d24954a..298b4fa7 100644
--- a/DW-Agents/vendor-command-center/website-scorer.js
+++ b/DW-Agents/vendor-command-center/website-scorer.js
@@ -293,7 +293,7 @@ Scoring guide:
const body = JSON.stringify({
contents: [{ parts: [{ text: prompt }] }],
- generationConfig: { temperature: 0.3, maxOutputTokens: 200 },
+ generationConfig: { temperature: 0.3, maxOutputTokens: 200, thinkingConfig: { thinkingBudget: 0 } },
});
return new Promise((resolve, reject) => {
diff --git a/DW-Programming/DW-Duplicate-Recolor-v1.4/lib/geminiAnalyzer.js b/DW-Programming/DW-Duplicate-Recolor-v1.4/lib/geminiAnalyzer.js
index 189580fe..d754b11f 100644
--- a/DW-Programming/DW-Duplicate-Recolor-v1.4/lib/geminiAnalyzer.js
+++ b/DW-Programming/DW-Duplicate-Recolor-v1.4/lib/geminiAnalyzer.js
@@ -89,7 +89,7 @@ For ${wallWidthFt}×${wallHeightFt} wall: ${wallHeightFt > wallWidthFt ? 'NARROW
temperature: 0.4,
topK: 32,
topP: 1,
- maxOutputTokens: 4096,
+ maxOutputTokens: 4096, thinkingConfig: { thinkingBudget: 0 },
}
});
diff --git a/DW-Programming/ImportNewSkufromURL/dwjs-comprehensive-update.ts b/DW-Programming/ImportNewSkufromURL/dwjs-comprehensive-update.ts
index ec22a9d4..b4f917ec 100644
--- a/DW-Programming/ImportNewSkufromURL/dwjs-comprehensive-update.ts
+++ b/DW-Programming/ImportNewSkufromURL/dwjs-comprehensive-update.ts
@@ -210,7 +210,7 @@ async function analyzeImageWithGemini(imageUrl: string): Promise<{ color1: strin
{ inlineData: { mimeType: 'image/jpeg', data: await fetchImageAsBase64(imageUrl) } }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 500 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 500, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/DW-Programming/ImportNewSkufromURL/dwjs-interior-design-update.js b/DW-Programming/ImportNewSkufromURL/dwjs-interior-design-update.js
index 084377e8..373e207b 100644
--- a/DW-Programming/ImportNewSkufromURL/dwjs-interior-design-update.js
+++ b/DW-Programming/ImportNewSkufromURL/dwjs-interior-design-update.js
@@ -232,7 +232,7 @@ Return ONLY valid JSON (no markdown, no code blocks):
}` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 600 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 600, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/DW-Programming/ImportNewSkufromURL/dwjs-interior-design-update.ts b/DW-Programming/ImportNewSkufromURL/dwjs-interior-design-update.ts
index d4cbe470..e2476f1f 100644
--- a/DW-Programming/ImportNewSkufromURL/dwjs-interior-design-update.ts
+++ b/DW-Programming/ImportNewSkufromURL/dwjs-interior-design-update.ts
@@ -236,7 +236,7 @@ Return ONLY valid JSON (no markdown, no code blocks):
}` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 600 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 600, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/DW-Programming/ImportNewSkufromURL/scripts/rwltd-gemini-cron.js b/DW-Programming/ImportNewSkufromURL/scripts/rwltd-gemini-cron.js
index f07c3a9e..a7f427b4 100644
--- a/DW-Programming/ImportNewSkufromURL/scripts/rwltd-gemini-cron.js
+++ b/DW-Programming/ImportNewSkufromURL/scripts/rwltd-gemini-cron.js
@@ -51,7 +51,7 @@ Return ONLY valid JSON:
}` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 300 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 300, thinkingConfig: { thinkingBudget: 0 } }
}),
signal: AbortSignal.timeout(25000)
}
diff --git a/DW-Programming/ShopifyCalendarNext/scripts/rescan-scheduled-posts.ts b/DW-Programming/ShopifyCalendarNext/scripts/rescan-scheduled-posts.ts
index dd7edf1c..83619667 100644
--- a/DW-Programming/ShopifyCalendarNext/scripts/rescan-scheduled-posts.ts
+++ b/DW-Programming/ShopifyCalendarNext/scripts/rescan-scheduled-posts.ts
@@ -72,7 +72,7 @@ Return ONLY valid JSON:
8. Description MUST mention: Custom Colors, Custom Scale, Made to Order` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 1200 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 1200, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/DW-Programming/ShopifyCalendarNext/src/app/api/analyze-product/route.ts b/DW-Programming/ShopifyCalendarNext/src/app/api/analyze-product/route.ts
index cbaa9721..1a260761 100644
--- a/DW-Programming/ShopifyCalendarNext/src/app/api/analyze-product/route.ts
+++ b/DW-Programming/ShopifyCalendarNext/src/app/api/analyze-product/route.ts
@@ -89,7 +89,7 @@ Return ONLY valid JSON matching this schema:
{ text: prompt }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 1200 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 1200, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/DW-Programming/ShopifyCalendarNext/src/app/api/generate-ai-content/route.ts b/DW-Programming/ShopifyCalendarNext/src/app/api/generate-ai-content/route.ts
index 9b0b8ab8..6d2fd80c 100644
--- a/DW-Programming/ShopifyCalendarNext/src/app/api/generate-ai-content/route.ts
+++ b/DW-Programming/ShopifyCalendarNext/src/app/api/generate-ai-content/route.ts
@@ -70,7 +70,7 @@ Return ONLY valid JSON in this exact format:
}],
generationConfig: {
temperature: 0.3,
- maxOutputTokens: 500
+ maxOutputTokens: 500, thinkingConfig: { thinkingBudget: 0 }
}
})
}
diff --git a/DW-Programming/activate-versace-drafts.js b/DW-Programming/activate-versace-drafts.js
index 9b7db7e7..5b12cb8b 100644
--- a/DW-Programming/activate-versace-drafts.js
+++ b/DW-Programming/activate-versace-drafts.js
@@ -79,7 +79,7 @@ Requirements:
{ inline_data: { mime_type: 'image/jpeg', data: imgBase64 } }
]
}],
- generationConfig: { maxOutputTokens: 300, temperature: 0.7 }
+ generationConfig: { maxOutputTokens: 300, thinkingConfig: { thinkingBudget: 0 }, temperature: 0.7 }
};
const resp = await fetch(
diff --git a/DW-Programming/activate-versace-vi.js b/DW-Programming/activate-versace-vi.js
index 4b06890e..0a25023b 100644
--- a/DW-Programming/activate-versace-vi.js
+++ b/DW-Programming/activate-versace-vi.js
@@ -149,14 +149,14 @@ Guidelines:
{ inline_data: { mime_type: 'image/jpeg', data: imageBase64 } }
]
}],
- generationConfig: { temperature: 0.7, maxOutputTokens: 300 }
+ generationConfig: { temperature: 0.7, maxOutputTokens: 300, thinkingConfig: { thinkingBudget: 0 } }
};
} else {
reqBody = {
contents: [{
parts: [{ text: prompt + `\n\nNote: The image could not be loaded. Write based on the pattern name and color.` }]
}],
- generationConfig: { temperature: 0.7, maxOutputTokens: 300 }
+ generationConfig: { temperature: 0.7, maxOutputTokens: 300, thinkingConfig: { thinkingBudget: 0 } }
};
}
@@ -178,7 +178,7 @@ Guidelines:
contents: [{
parts: [{ text: prompt + `\n\nNote: Write based on the pattern name and color provided.` }]
}],
- generationConfig: { temperature: 0.7, maxOutputTokens: 300 }
+ generationConfig: { temperature: 0.7, maxOutputTokens: 300, thinkingConfig: { thinkingBudget: 0 } }
};
const fallbackRes = await httpRequest(url, {
diff --git a/DW-Programming/anna-french-ai-enrich.js b/DW-Programming/anna-french-ai-enrich.js
index c95122da..61165ec2 100644
--- a/DW-Programming/anna-french-ai-enrich.js
+++ b/DW-Programming/anna-french-ai-enrich.js
@@ -92,7 +92,7 @@ async function analyzeWithGemini(imageBase64, context) {
{ text: prompt }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 800 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 } }
};
const bodyStr = JSON.stringify(body);
diff --git a/DW-Programming/china-seas-design-tagger.js b/DW-Programming/china-seas-design-tagger.js
index e52bea81..322c0a06 100644
--- a/DW-Programming/china-seas-design-tagger.js
+++ b/DW-Programming/china-seas-design-tagger.js
@@ -89,7 +89,7 @@ Return ONLY valid JSON (no markdown, no code fences):
{ inlineData: { mimeType, data: base64 } },
{ text: prompt }
]}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 800 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 } }
};
const resp = await fetchJson(GEMINI_URL, {
diff --git a/DW-Programming/color-collection-cleaner.js b/DW-Programming/color-collection-cleaner.js
index 7a83c1f3..9fcafc8f 100644
--- a/DW-Programming/color-collection-cleaner.js
+++ b/DW-Programming/color-collection-cleaner.js
@@ -223,7 +223,7 @@ async function analyzeWithGemini(imageUrl, colorPrompt, notColors) {
{ inline_data: { mime_type: 'image/jpeg', data: imgBase64 } }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 50 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 50, thinkingConfig: { thinkingBudget: 0 } }
});
// Retry with exponential backoff on 429
diff --git a/DW-Programming/fix-blue-collection.js b/DW-Programming/fix-blue-collection.js
index 249aa76c..f78902e9 100644
--- a/DW-Programming/fix-blue-collection.js
+++ b/DW-Programming/fix-blue-collection.js
@@ -71,7 +71,7 @@ async function analyzeWithGemini(imageUrl) {
{ text: imageUrl }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 50 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 50, thinkingConfig: { thinkingBudget: 0 } }
});
// Use URL-based image analysis
@@ -82,7 +82,7 @@ async function analyzeWithGemini(imageUrl) {
{ file_data: { mime_type: 'image/jpeg', file_uri: imageUrl } }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 50 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 50, thinkingConfig: { thinkingBudget: 0 } }
});
// Fetch image first, then send as base64
@@ -98,7 +98,7 @@ async function analyzeWithGemini(imageUrl) {
{ inline_data: { mime_type: 'image/jpeg', data: imgBase64 } }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 50 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 50, thinkingConfig: { thinkingBudget: 0 } }
});
const gemReq = https.request({
diff --git a/DW-Programming/gls-gemini-retry.js b/DW-Programming/gls-gemini-retry.js
index 16c5bf86..39aeb426 100644
--- a/DW-Programming/gls-gemini-retry.js
+++ b/DW-Programming/gls-gemini-retry.js
@@ -118,7 +118,7 @@ Analyze this wallcovering and return ONLY valid JSON (no markdown, no backticks,
{ inlineData: { mimeType: 'image/jpeg', data: imageBase64 } },
{ text: prompt }
]}],
- generationConfig: { temperature: 0.2, maxOutputTokens: 500 }
+ generationConfig: { temperature: 0.2, maxOutputTokens: 500, thinkingConfig: { thinkingBudget: 0 } }
};
const res = await fetch(GEMINI_URL, {
diff --git a/DW-Programming/gls-product-cleanup.js b/DW-Programming/gls-product-cleanup.js
index a0b3ac54..0d0ef0c1 100644
--- a/DW-Programming/gls-product-cleanup.js
+++ b/DW-Programming/gls-product-cleanup.js
@@ -199,7 +199,7 @@ Analyze this wallcovering and return ONLY valid JSON (no markdown, no backticks)
{ text: prompt }
]
}],
- generationConfig: { temperature: 0.2, maxOutputTokens: 800 }
+ generationConfig: { temperature: 0.2, maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 } }
};
const res = await fetch(GEMINI_URL, {
@@ -239,7 +239,7 @@ Return ONLY valid JSON (no markdown):
{ text: prompt }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 300 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 300, thinkingConfig: { thinkingBudget: 0 } }
};
const res = await fetch(GEMINI_URL, {
diff --git a/DW-Programming/gls-product-processor.js b/DW-Programming/gls-product-processor.js
index f101b85e..3167a218 100644
--- a/DW-Programming/gls-product-processor.js
+++ b/DW-Programming/gls-product-processor.js
@@ -139,7 +139,7 @@ Analyze this wallcovering image and return ONLY valid JSON (no markdown, no back
{ text: prompt }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 1000 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 1000, thinkingConfig: { thinkingBudget: 0 } }
})
});
diff --git a/DW-Programming/gls-product-updater.js b/DW-Programming/gls-product-updater.js
index 4a55896b..dd2b95bf 100644
--- a/DW-Programming/gls-product-updater.js
+++ b/DW-Programming/gls-product-updater.js
@@ -84,7 +84,7 @@ Analyze this wallcovering and return ONLY valid JSON (no markdown, no code fence
IMPORTANT: Only list colors you ACTUALLY SEE. Do not guess. Do not add colors from the title unless visible.` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 800 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 } }
})
});
diff --git a/DW-Programming/gls-retry-failed.js b/DW-Programming/gls-retry-failed.js
index cf28a3b2..aa24d8a2 100644
--- a/DW-Programming/gls-retry-failed.js
+++ b/DW-Programming/gls-retry-failed.js
@@ -60,7 +60,7 @@ Return ONLY valid JSON (no markdown):
{ inlineData: { mimeType: mimeMap[ext] || 'image/jpeg', data: base64 } },
{ text: prompt }
]}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 1000 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 1000, thinkingConfig: { thinkingBudget: 0 } }
})
});
const data = await res.json();
diff --git a/DW-Programming/hollywood-hex-and-tags.js b/DW-Programming/hollywood-hex-and-tags.js
index eb60dbab..be032618 100644
--- a/DW-Programming/hollywood-hex-and-tags.js
+++ b/DW-Programming/hollywood-hex-and-tags.js
@@ -257,7 +257,7 @@ Focus on the overall dominant color of the wallcovering material itself, not bac
}],
generationConfig: {
temperature: 0.1,
- maxOutputTokens: 50
+ maxOutputTokens: 50, thinkingConfig: { thinkingBudget: 0 }
}
};
diff --git a/DW-Programming/interior-design-ai-tagger.js b/DW-Programming/interior-design-ai-tagger.js
index 21b19653..b26c9a1b 100644
--- a/DW-Programming/interior-design-ai-tagger.js
+++ b/DW-Programming/interior-design-ai-tagger.js
@@ -129,7 +129,7 @@ async function analyzeWithGemini(imageBase64, context = '') {
{ text: prompt }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 800 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 } }
};
const controller = new AbortController();
diff --git a/DW-Programming/interior-design-tagger.js b/DW-Programming/interior-design-tagger.js
index 35701cbf..1752838b 100644
--- a/DW-Programming/interior-design-tagger.js
+++ b/DW-Programming/interior-design-tagger.js
@@ -226,7 +226,7 @@ Return ONLY valid JSON (no markdown, no code fences):
}` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 500 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 500, thinkingConfig: { thinkingBudget: 0 } }
});
const url = new URL(`https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent?key=${GEMINI_API_KEY}`);
diff --git a/DW-Programming/maya-romanoff-updater/maya-romanoff-updater.js b/DW-Programming/maya-romanoff-updater/maya-romanoff-updater.js
index 8f1f42d9..2d20f2fe 100644
--- a/DW-Programming/maya-romanoff-updater/maya-romanoff-updater.js
+++ b/DW-Programming/maya-romanoff-updater/maya-romanoff-updater.js
@@ -121,7 +121,7 @@ Return ONLY valid JSON (no markdown):
}` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 1000 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 1000, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/DW-Programming/maya-romanoff-updater/server.js b/DW-Programming/maya-romanoff-updater/server.js
index 31e8b73a..c266a83c 100644
--- a/DW-Programming/maya-romanoff-updater/server.js
+++ b/DW-Programming/maya-romanoff-updater/server.js
@@ -487,7 +487,7 @@ Return ONLY valid JSON (no markdown, no code blocks):
{ text: prompt }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 1000 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 1000, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/DW-Programming/nextjs-liquid-app/app/api/analyze-image/route.ts b/DW-Programming/nextjs-liquid-app/app/api/analyze-image/route.ts
index 5acabdce..c76765b0 100644
--- a/DW-Programming/nextjs-liquid-app/app/api/analyze-image/route.ts
+++ b/DW-Programming/nextjs-liquid-app/app/api/analyze-image/route.ts
@@ -75,7 +75,7 @@ Return ONLY valid JSON with no markdown:
{ text: prompt }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 1000 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 1000, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/DW-Programming/nextjs-liquid-app/app/api/bulk-import/route.ts b/DW-Programming/nextjs-liquid-app/app/api/bulk-import/route.ts
index 9197b818..772c8855 100644
--- a/DW-Programming/nextjs-liquid-app/app/api/bulk-import/route.ts
+++ b/DW-Programming/nextjs-liquid-app/app/api/bulk-import/route.ts
@@ -162,7 +162,7 @@ Return ONLY valid JSON with no markdown:
}` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 1000 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 1000, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/DW-Programming/phase3-ai-enrich-100.js b/DW-Programming/phase3-ai-enrich-100.js
index 79f54a88..2a8a7b9a 100644
--- a/DW-Programming/phase3-ai-enrich-100.js
+++ b/DW-Programming/phase3-ai-enrich-100.js
@@ -67,7 +67,7 @@ function callGemini(base64Data, mimeType) {
{ inline_data: { mime_type: mimeType, data: base64Data } }
]
}],
- generationConfig: { temperature: 0.2, maxOutputTokens: 1024 }
+ generationConfig: { temperature: 0.2, maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 } }
});
const url = new URL(GEMINI_URL);
diff --git a/DW-Programming/phase3-ai-enrich-batch.js b/DW-Programming/phase3-ai-enrich-batch.js
index db22ad7b..33f4a46a 100644
--- a/DW-Programming/phase3-ai-enrich-batch.js
+++ b/DW-Programming/phase3-ai-enrich-batch.js
@@ -82,7 +82,7 @@ function callGemini(base64Data, mimeType) {
}],
generationConfig: {
temperature: 0.2,
- maxOutputTokens: 1024
+ maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 }
}
});
diff --git a/DW-Programming/phase3-ai-enrichment.js b/DW-Programming/phase3-ai-enrichment.js
index ffa2f016..fa044af7 100644
--- a/DW-Programming/phase3-ai-enrichment.js
+++ b/DW-Programming/phase3-ai-enrichment.js
@@ -80,7 +80,7 @@ function callGemini(base64Image, mimeType = 'image/jpeg') {
}],
generationConfig: {
temperature: 0.2,
- maxOutputTokens: 1024
+ maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 }
}
});
diff --git a/DW-Programming/prl-ai-enrich.js b/DW-Programming/prl-ai-enrich.js
index 7d880fb5..0ffa3773 100644
--- a/DW-Programming/prl-ai-enrich.js
+++ b/DW-Programming/prl-ai-enrich.js
@@ -94,7 +94,7 @@ async function analyzeWithGemini(imageBase64, context) {
{ text: prompt }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 800 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 } }
};
const bodyStr = JSON.stringify(body);
diff --git a/DW-Programming/ralph-lauren-fabric-updater-9899.js b/DW-Programming/ralph-lauren-fabric-updater-9899.js
index 10c78ed3..1716e652 100644
--- a/DW-Programming/ralph-lauren-fabric-updater-9899.js
+++ b/DW-Programming/ralph-lauren-fabric-updater-9899.js
@@ -1150,7 +1150,7 @@ Return ONLY valid JSON (no markdown, no code blocks):
}],
generationConfig: {
temperature: 0.1,
- maxOutputTokens: 800
+ maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 }
}
})
});
diff --git a/DW-Programming/ralph-lauren-fabric-updater-9899.ts b/DW-Programming/ralph-lauren-fabric-updater-9899.ts
index 3ffe4e69..e3f969b6 100644
--- a/DW-Programming/ralph-lauren-fabric-updater-9899.ts
+++ b/DW-Programming/ralph-lauren-fabric-updater-9899.ts
@@ -1268,7 +1268,7 @@ Return ONLY valid JSON (no markdown, no code blocks):
}],
generationConfig: {
temperature: 0.1,
- maxOutputTokens: 800
+ maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 }
}
})
}
diff --git a/DW-Programming/room-setting-app/app/api/analyze-pattern/route.ts b/DW-Programming/room-setting-app/app/api/analyze-pattern/route.ts
index 55c3b29a..25741543 100644
--- a/DW-Programming/room-setting-app/app/api/analyze-pattern/route.ts
+++ b/DW-Programming/room-setting-app/app/api/analyze-pattern/route.ts
@@ -105,7 +105,7 @@ Respond ONLY with valid JSON in this exact format (no markdown, no code fences,
temperature: 0.2,
topK: 32,
topP: 0.8,
- maxOutputTokens: 1024,
+ maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 },
},
}),
});
diff --git a/DW-Programming/room-setting-app/lib/multi-model-generator.ts b/DW-Programming/room-setting-app/lib/multi-model-generator.ts
index 758420b4..95ea68e5 100644
--- a/DW-Programming/room-setting-app/lib/multi-model-generator.ts
+++ b/DW-Programming/room-setting-app/lib/multi-model-generator.ts
@@ -914,7 +914,7 @@ Generate the photorealistic room with correctly scaled wallpaper now.`;
temperature: 0.4,
topK: 32,
topP: 1,
- maxOutputTokens: 4096,
+ maxOutputTokens: 4096, thinkingConfig: { thinkingBudget: 0 },
},
});
diff --git a/DW-Programming/zoffany-ai-enrich.js b/DW-Programming/zoffany-ai-enrich.js
index 5d690bc5..228af023 100644
--- a/DW-Programming/zoffany-ai-enrich.js
+++ b/DW-Programming/zoffany-ai-enrich.js
@@ -100,7 +100,7 @@ async function analyzeWithGemini(imageBase64, context) {
{ text: prompt }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 800 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 } }
};
const bodyStr = JSON.stringify(body);
diff --git a/ai-enrich-arte-fix.js b/ai-enrich-arte-fix.js
index 651819c9..719ccf3b 100644
--- a/ai-enrich-arte-fix.js
+++ b/ai-enrich-arte-fix.js
@@ -47,7 +47,7 @@ function callGemini(b64, name) {
{ text: `Product: ${name}\n\n${PROMPT}` },
{ inlineData: { mimeType: 'image/jpeg', data: b64 } }
]}],
- generationConfig: { temperature: 0.2, maxOutputTokens: 1024 }
+ generationConfig: { temperature: 0.2, maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 } }
});
return new Promise((resolve, reject) => {
const url = new URL(GEMINI_URL);
diff --git a/ai-enrich-gaps2.js b/ai-enrich-gaps2.js
index e95d1159..0b4e36bb 100644
--- a/ai-enrich-gaps2.js
+++ b/ai-enrich-gaps2.js
@@ -53,7 +53,7 @@ function callGemini(b64, productName) {
{ text: `Product: ${productName}\n\n${PROMPT}` },
{ inlineData: { mimeType: 'image/jpeg', data: b64 } }
]}],
- generationConfig: { temperature: 0.2, maxOutputTokens: 1024 }
+ generationConfig: { temperature: 0.2, maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 } }
});
return new Promise((resolve, reject) => {
diff --git a/arte-fill-tags.js b/arte-fill-tags.js
index 3b2fb8b7..36e2a3a8 100644
--- a/arte-fill-tags.js
+++ b/arte-fill-tags.js
@@ -25,7 +25,7 @@ Tags should describe: style, mood, pattern type, texture, suitable rooms, design
{ inline_data: { mime_type: 'image/jpeg', data: await fetchImageBase64(imageUrl) } }
]
}],
- generationConfig: { temperature: 0.2, maxOutputTokens: 300 }
+ generationConfig: { temperature: 0.2, maxOutputTokens: 300, thinkingConfig: { thinkingBudget: 0 } }
});
return new Promise((resolve, reject) => {
diff --git a/brand-router/server.js b/brand-router/server.js
index 64a15d6b..968b0e7c 100644
--- a/brand-router/server.js
+++ b/brand-router/server.js
@@ -306,7 +306,7 @@ Return ONLY the description text, nothing else.`;
const body = JSON.stringify({
contents: [{ parts: [{ text: prompt }] }],
- generationConfig: { temperature: 0.7, maxOutputTokens: 300 }
+ generationConfig: { temperature: 0.7, maxOutputTokens: 300, thinkingConfig: { thinkingBudget: 0 } }
});
const result = await new Promise((resolve, reject) => {
diff --git a/enrich-arte-gaps.js b/enrich-arte-gaps.js
index 2225c435..c6d6cae4 100644
--- a/enrich-arte-gaps.js
+++ b/enrich-arte-gaps.js
@@ -60,7 +60,7 @@ function callGemini(b64) {
{ text: PROMPT },
{ inline_data: { mime_type: 'image/jpeg', data: b64 } }
]}],
- generationConfig: { temperature: 0.2, maxOutputTokens: 1024 }
+ generationConfig: { temperature: 0.2, maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 } }
});
return new Promise((resolve, reject) => {
const u = new URL(GEMINI_URL);
diff --git a/enrich-arte-puppeteer.js b/enrich-arte-puppeteer.js
index 3e2d6908..eaee904e 100644
--- a/enrich-arte-puppeteer.js
+++ b/enrich-arte-puppeteer.js
@@ -37,7 +37,7 @@ function callGemini(imageBase64, mimeType) {
{ text: PROMPT },
{ inline_data: { mime_type: mimeType || 'image/jpeg', data: imageBase64 } }
]}],
- generationConfig: { temperature: 0.3, maxOutputTokens: 1024 }
+ generationConfig: { temperature: 0.3, maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 } }
});
const url = new URL(`https://generativelanguage.googleapis.com/v1beta/models/${GEMINI_MODEL}:generateContent?key=${GEMINI_KEY}`);
const opts = { method: 'POST', hostname: url.hostname, path: url.pathname + url.search, headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(body) } };
diff --git a/enrich-remaining-13.js b/enrich-remaining-13.js
index 76152362..ade41a73 100644
--- a/enrich-remaining-13.js
+++ b/enrich-remaining-13.js
@@ -61,7 +61,7 @@ function callGemini(imageBase64, mimeType) {
{ inline_data: { mime_type: mimeType || 'image/jpeg', data: imageBase64 } }
]
}],
- generationConfig: { temperature: 0.3, maxOutputTokens: 1024 }
+ generationConfig: { temperature: 0.3, maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 } }
});
const url = new URL(`https://generativelanguage.googleapis.com/v1beta/models/${GEMINI_MODEL}:generateContent?key=${GEMINI_KEY}`);
const opts = { method: 'POST', hostname: url.hostname, path: url.pathname + url.search, headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(body) } };
diff --git a/gemini-classify-texture.js b/gemini-classify-texture.js
index 600378d8..c8674421 100644
--- a/gemini-classify-texture.js
+++ b/gemini-classify-texture.js
@@ -43,7 +43,7 @@ function classifyWithGemini(base64, mimeType) {
{ text: PROMPT },
{ inline_data: { mime_type: mimeType, data: base64 } }
]}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 10 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 10, thinkingConfig: { thinkingBudget: 0 } }
};
return new Promise((resolve, reject) => {
const url = new URL(GEMINI_URL);
diff --git a/gemini-enrich-gaps.js b/gemini-enrich-gaps.js
index 52db8410..616be9e1 100644
--- a/gemini-enrich-gaps.js
+++ b/gemini-enrich-gaps.js
@@ -74,7 +74,7 @@ async function analyzeWithGemini(product) {
{ fileData: undefined }
]
}],
- generationConfig: { temperature: 0.2, maxOutputTokens: 1024 }
+ generationConfig: { temperature: 0.2, maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 } }
};
// Use image URL reference
body.contents[0].parts = [
diff --git a/scripts/brand-mckenzie-ai-analysis.ts b/scripts/brand-mckenzie-ai-analysis.ts
index a721bfd2..cb520b79 100644
--- a/scripts/brand-mckenzie-ai-analysis.ts
+++ b/scripts/brand-mckenzie-ai-analysis.ts
@@ -70,7 +70,7 @@ Styles: Traditional, Contemporary, Coastal, Tropical, Art Deco, Mid-Century, Boh
Patterns: Botanical, Floral, Geometric, Damask, Palm, Trellis, Stripe, Abstract, Toile, Scenic, Animal, Insects` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 800 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/scripts/brand-mckenzie-full-scrape.ts b/scripts/brand-mckenzie-full-scrape.ts
index 1a768e9a..bf0c26c8 100644
--- a/scripts/brand-mckenzie-full-scrape.ts
+++ b/scripts/brand-mckenzie-full-scrape.ts
@@ -242,7 +242,7 @@ Return ONLY valid JSON:
{ inlineData: { mimeType: 'image/jpeg', data: base64Image } },
{ text: prompt }
]}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 800 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/scripts/brand-mckenzie-full-update.ts b/scripts/brand-mckenzie-full-update.ts
index 9f1b689e..76e5f739 100644
--- a/scripts/brand-mckenzie-full-update.ts
+++ b/scripts/brand-mckenzie-full-update.ts
@@ -117,7 +117,7 @@ Return ONLY valid JSON with NO markdown:
{ text: prompt }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 800 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/scripts/collection-description-writer.js b/scripts/collection-description-writer.js
index 3869d4d8..2577415b 100644
--- a/scripts/collection-description-writer.js
+++ b/scripts/collection-description-writer.js
@@ -79,7 +79,7 @@ function callGemini(systemPrompt, userPrompt) {
const body = JSON.stringify({
systemInstruction: { parts: [{ text: systemPrompt }] },
contents: [{ parts: [{ text: userPrompt }] }],
- generationConfig: { temperature: 0.7, maxOutputTokens: 300, topP: 0.9 }
+ generationConfig: { temperature: 0.7, maxOutputTokens: 300, thinkingConfig: { thinkingBudget: 0 }, topP: 0.9 }
});
const req = https.request({
hostname: 'generativelanguage.googleapis.com',
diff --git a/scripts/enrich-remaining-13.js b/scripts/enrich-remaining-13.js
index 3bdb4cfe..7bf318f8 100644
--- a/scripts/enrich-remaining-13.js
+++ b/scripts/enrich-remaining-13.js
@@ -61,7 +61,7 @@ async function callGemini(imageUrl, title) {
{ inlineData: { mimeType: image.mimeType, data: image.base64 } }
]
}],
- generationConfig: { temperature: 0.2, maxOutputTokens: 1024 }
+ generationConfig: { temperature: 0.2, maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 } }
});
return new Promise((resolve, reject) => {
diff --git a/scripts/interior-design-tags.js b/scripts/interior-design-tags.js
index bf8057cd..37ab316a 100644
--- a/scripts/interior-design-tags.js
+++ b/scripts/interior-design-tags.js
@@ -157,7 +157,7 @@ async function analyzeWithGemini(imageUrl, productName) {
{ inline_data: { mime_type: mime, data: imgBuffer.toString('base64') } }
]
}],
- generationConfig: { temperature: 0.2, maxOutputTokens: 1024 }
+ generationConfig: { temperature: 0.2, maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 } }
};
const resp = await postJson(GEMINI_URL, body);
diff --git a/scripts/prl-ai-enrich.js b/scripts/prl-ai-enrich.js
index f751f822..cab41e60 100644
--- a/scripts/prl-ai-enrich.js
+++ b/scripts/prl-ai-enrich.js
@@ -74,7 +74,7 @@ async function callGemini(imageUrl) {
{ inline_data: { mime_type: imageData.mimeType, data: imageData.base64 } }
]
}],
- generationConfig: { temperature: 0.2, maxOutputTokens: 1024 }
+ generationConfig: { temperature: 0.2, maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 } }
});
return new Promise((resolve, reject) => {
diff --git a/scripts/texture-repeat-classifier.js b/scripts/texture-repeat-classifier.js
index 576ebe00..60a34998 100644
--- a/scripts/texture-repeat-classifier.js
+++ b/scripts/texture-repeat-classifier.js
@@ -63,7 +63,7 @@ async function classifyWithGemini(imageUrl) {
{ inline_data: { mime_type: mimeType, data: base64 } }
]
}],
- generationConfig: { temperature: 0, maxOutputTokens: 10 }
+ generationConfig: { temperature: 0, maxOutputTokens: 10, thinkingConfig: { thinkingBudget: 0 } }
});
return new Promise((resolve, reject) => {
diff --git a/scripts/us-007-ai-product-quality-analyzer.ts b/scripts/us-007-ai-product-quality-analyzer.ts
index a59f97cf..83916917 100644
--- a/scripts/us-007-ai-product-quality-analyzer.ts
+++ b/scripts/us-007-ai-product-quality-analyzer.ts
@@ -118,7 +118,7 @@ SCORING CRITERIA:
}],
generationConfig: {
temperature: 0.1,
- maxOutputTokens: 800
+ maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 }
}
})
}
diff --git a/shopify/_cwGRID/sections/collection.liquid b/shopify/_cwGRID/sections/collection.liquid
index 79a4274e..c404beb9 100644
--- a/shopify/_cwGRID/sections/collection.liquid
+++ b/shopify/_cwGRID/sections/collection.liquid
@@ -82,7 +82,7 @@
<div class="collection-filters">
{% if show_filters and collection.filters.size > 0 %}
<!-- Approach B: Horizontal filter bar (proxies to Boost's hidden controls) -->
- {%- section 'collection-filters-horizontal' -%}
+ {% render 'collection-filters-horizontal' %}
<!-- Boost native filters (hidden by Approach B CSS, powers the filtering) -->
<div class="faceted-filters" data-faceted-filter>
diff --git a/shopify/_cwGRID/sections/collection-filters-horizontal.liquid b/shopify/_cwGRID/snippets/collection-filters-horizontal.liquid
similarity index 88%
rename from shopify/_cwGRID/sections/collection-filters-horizontal.liquid
rename to shopify/_cwGRID/snippets/collection-filters-horizontal.liquid
index e8cb97e8..4a268729 100644
--- a/shopify/_cwGRID/sections/collection-filters-horizontal.liquid
+++ b/shopify/_cwGRID/snippets/collection-filters-horizontal.liquid
@@ -20,7 +20,7 @@
Revision: 2026-06-22 (Approach B — complete + tested)
{%- endcomment -%}
-<div class="dw-filter-horizontal-wrapper" data-section-id="{{ section.id }}">
+<div class="dw-filter-horizontal-wrapper" data-section-id="collection-filters-horizontal">
<style>
/* HIDE Boost's vertical sidebar completely */
body.dw-filters-horizontal .boost-sd__filter-tree,
@@ -326,62 +326,3 @@
initializeFilters();
})();
</script>
-
-{% schema %}
-{
- "name": "Filters",
- "settings": [
- {
- "type": "checkbox",
- "id": "show_color",
- "label": "Show color filter",
- "default": true
- },
- {
- "type": "checkbox",
- "id": "show_style",
- "label": "Show style filter",
- "default": true
- },
- {
- "type": "checkbox",
- "id": "show_brand",
- "label": "Show brand filter",
- "default": true
- },
- {
- "type": "checkbox",
- "id": "show_durability",
- "label": "Show durability filter",
- "default": true
- },
- {
- "type": "checkbox",
- "id": "show_price",
- "label": "Show price filter",
- "default": true
- },
- {
- "type": "select",
- "id": "layout",
- "label": "Layout",
- "options": [
- {
- "value": "horizontal",
- "label": "Horizontal"
- },
- {
- "value": "vertical",
- "label": "Vertical"
- }
- ],
- "default": "horizontal"
- }
- ],
- "presets": [
- {
- "name": "Collection Filters (Horizontal)"
- }
- ]
-}
-{% endschema %}
diff --git a/shopify/fix-collection-filters-snippet.sh b/shopify/fix-collection-filters-snippet.sh
index 0f6b28a3..f69811da 100644
--- a/shopify/fix-collection-filters-snippet.sh
+++ b/shopify/fix-collection-filters-snippet.sh
@@ -28,6 +28,8 @@ import sys,re
src=open(sys.argv[1],encoding="utf-8").read()
# strip any {% schema %}...{% endschema %} block (invalid in snippets)
src=re.sub(r"{%-?\s*schema\s*-?%}.*?{%-?\s*endschema\s*-?%}", "", src, flags=re.S)
+# section.id does not exist in a snippet -> use a stable literal so data-section-id isn't blank
+src=src.replace("{{ section.id }}", "collection-filters-horizontal")
open(sys.argv[2],"w",encoding="utf-8").write(src.strip()+"\n")
print("snippet written:",sys.argv[2])
PY
diff --git a/shopify/scripts/arte-dashboard/server.js b/shopify/scripts/arte-dashboard/server.js
index 150fce10..79663fd6 100644
--- a/shopify/scripts/arte-dashboard/server.js
+++ b/shopify/scripts/arte-dashboard/server.js
@@ -1659,7 +1659,7 @@ RULES:
- Single word values only, no prefixes` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 500 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 500, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
@@ -2618,7 +2618,7 @@ INSTRUCTIONS:
6. description: Describe what THIS SPECIFIC wallcovering looks like for commercial applications` }
]
}],
- generationConfig: { temperature: 0.2, maxOutputTokens: 1000 }
+ generationConfig: { temperature: 0.2, maxOutputTokens: 1000, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/shopify/scripts/bespoke-updater/server.js b/shopify/scripts/bespoke-updater/server.js
index 297c20f3..9313717c 100644
--- a/shopify/scripts/bespoke-updater/server.js
+++ b/shopify/scripts/bespoke-updater/server.js
@@ -254,7 +254,7 @@ Return ONLY valid JSON:
8. Description MUST mention: Custom Colors, Custom Scale, Made to Order` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 1200 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 1200, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/shopify/scripts/gemini-catalog-tagger.js b/shopify/scripts/gemini-catalog-tagger.js
index 1013541a..6fd681e5 100644
--- a/shopify/scripts/gemini-catalog-tagger.js
+++ b/shopify/scripts/gemini-catalog-tagger.js
@@ -121,7 +121,7 @@ async function callGemini(imageUrl) {
{ inlineData: { mimeType, data: base64 } },
],
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 1024 },
+ generationConfig: { temperature: 0.1, maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 } },
};
const response = await fetch(GEMINI_URL, {
diff --git a/shopify/scripts/gemini-tag-engine/index.js b/shopify/scripts/gemini-tag-engine/index.js
index dd9f4ab9..2753350a 100644
--- a/shopify/scripts/gemini-tag-engine/index.js
+++ b/shopify/scripts/gemini-tag-engine/index.js
@@ -155,7 +155,7 @@ async function downloadAndAnalyze(imageUrl) {
}],
generationConfig: {
temperature: 0.1,
- maxOutputTokens: 1024
+ maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 }
}
});
diff --git a/shopify/scripts/import-missing-dwrr.ts b/shopify/scripts/import-missing-dwrr.ts
index db1dd43b..24e783bb 100644
--- a/shopify/scripts/import-missing-dwrr.ts
+++ b/shopify/scripts/import-missing-dwrr.ts
@@ -138,7 +138,7 @@ Requirements:
Return ONLY the description text, no quotes or extra formatting.` }
]
}],
- generationConfig: { temperature: 0.7, maxOutputTokens: 300 }
+ generationConfig: { temperature: 0.7, maxOutputTokens: 300, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/shopify/scripts/interior-design-tagger.js b/shopify/scripts/interior-design-tagger.js
index 734c5607..d9d00088 100644
--- a/shopify/scripts/interior-design-tagger.js
+++ b/shopify/scripts/interior-design-tagger.js
@@ -274,7 +274,7 @@ async function analyzeWithGemini(imageUrl, productName) {
{ inlineData: { mimeType: 'image/jpeg', data: imgBuf.toString('base64') } }
]
}],
- generationConfig: { temperature: 0.2, maxOutputTokens: 1024 }
+ generationConfig: { temperature: 0.2, maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 } }
};
} else {
// Fallback: send URL as text reference
@@ -285,7 +285,7 @@ async function analyzeWithGemini(imageUrl, productName) {
{ text: `Image URL: ${imageUrl}` }
]
}],
- generationConfig: { temperature: 0.2, maxOutputTokens: 1024 }
+ generationConfig: { temperature: 0.2, maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 } }
};
}
diff --git a/shopify/scripts/koroseal-batch-cron.js b/shopify/scripts/koroseal-batch-cron.js
index 664becd1..bb6f3f6e 100644
--- a/shopify/scripts/koroseal-batch-cron.js
+++ b/shopify/scripts/koroseal-batch-cron.js
@@ -203,7 +203,7 @@ async function analyzeWithGemini(imageUrl, title) {
}` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 500 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 500, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/shopify/scripts/koroseal-complete-update.ts b/shopify/scripts/koroseal-complete-update.ts
index 2fcff05c..769408bb 100644
--- a/shopify/scripts/koroseal-complete-update.ts
+++ b/shopify/scripts/koroseal-complete-update.ts
@@ -129,7 +129,7 @@ async function analyzeWithGemini(imageUrl: string, title: string): Promise<any>
{"backgroundColor":"dominant color","relevantColors":["max 3 visible"],"styles":["1-2: Contemporary,Modern,Traditional,Industrial"],"patterns":["1-2: Texture,Geometric,Solid,Weave"]}` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 400 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 400, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/shopify/scripts/koroseal-enhanced-update.js b/shopify/scripts/koroseal-enhanced-update.js
index b6dec060..0c4fe724 100644
--- a/shopify/scripts/koroseal-enhanced-update.js
+++ b/shopify/scripts/koroseal-enhanced-update.js
@@ -1460,7 +1460,7 @@ Return ONLY valid JSON (no markdown):
}` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 500 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 500, thinkingConfig: { thinkingBudget: 0 } }
})
});
const data = await response.json();
diff --git a/shopify/scripts/koroseal-update.js b/shopify/scripts/koroseal-update.js
index d9302997..58e5fa9e 100644
--- a/shopify/scripts/koroseal-update.js
+++ b/shopify/scripts/koroseal-update.js
@@ -140,7 +140,7 @@ async function analyzeWithGemini(imageUrl, title) {
{"backgroundColor":"dominant color","relevantColors":["max 3 visible"],"styles":["1-2: Contemporary,Modern,Traditional"],"patterns":["1-2: Texture,Geometric,Solid"]}` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 400 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 400, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/shopify/scripts/prl-ai-enrich.js b/shopify/scripts/prl-ai-enrich.js
index b9dffbf5..c258ae64 100644
--- a/shopify/scripts/prl-ai-enrich.js
+++ b/shopify/scripts/prl-ai-enrich.js
@@ -51,7 +51,7 @@ async function callGemini(imageUrl) {
}
]
}],
- generationConfig: { temperature: 0.2, maxOutputTokens: 1024 }
+ generationConfig: { temperature: 0.2, maxOutputTokens: 1024, thinkingConfig: { thinkingBudget: 0 } }
});
return new Promise((resolve, reject) => {
const url = new URL(GEMINI_URL);
diff --git a/shopify/scripts/review-dwqw-images-descriptions.ts b/shopify/scripts/review-dwqw-images-descriptions.ts
index 53154cc3..f76ea4bf 100644
--- a/shopify/scripts/review-dwqw-images-descriptions.ts
+++ b/shopify/scripts/review-dwqw-images-descriptions.ts
@@ -223,7 +223,7 @@ Return ONLY valid JSON (no markdown, no code blocks):
{ text: prompt }
]
}],
- generationConfig: { temperature: 0.3, maxOutputTokens: 800 }
+ generationConfig: { temperature: 0.3, maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/shopify/scripts/set-texture-repeat-zero.js b/shopify/scripts/set-texture-repeat-zero.js
index bf599a77..0559597a 100644
--- a/shopify/scripts/set-texture-repeat-zero.js
+++ b/shopify/scripts/set-texture-repeat-zero.js
@@ -70,7 +70,7 @@ async function callGeminiVision(imageUrl) {
{ inline_data: undefined }, // will use image URL
]
}],
- generationConfig: { temperature: 0, maxOutputTokens: 10 }
+ generationConfig: { temperature: 0, maxOutputTokens: 10, thinkingConfig: { thinkingBudget: 0 } }
});
// Fetch image first, then send as inline_data
@@ -87,7 +87,7 @@ async function callGeminiVision(imageUrl) {
{ inline_data: { mime_type: mimeType, data: base64Image } }
]
}],
- generationConfig: { temperature: 0, maxOutputTokens: 10 }
+ generationConfig: { temperature: 0, maxOutputTokens: 10, thinkingConfig: { thinkingBudget: 0 } }
});
return new Promise((resolve) => {
diff --git a/shopify/scripts/update-all-malibu-architectural.ts b/shopify/scripts/update-all-malibu-architectural.ts
index 5b5668cd..34dd5532 100644
--- a/shopify/scripts/update-all-malibu-architectural.ts
+++ b/shopify/scripts/update-all-malibu-architectural.ts
@@ -230,7 +230,7 @@ Return ONLY valid JSON (no markdown, no code blocks):
Use professional interior design terminology. Focus on actual visible colors only.` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 800 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/shopify/scripts/update-dwk-full-details.js b/shopify/scripts/update-dwk-full-details.js
index 458fbc4c..750981e4 100644
--- a/shopify/scripts/update-dwk-full-details.js
+++ b/shopify/scripts/update-dwk-full-details.js
@@ -170,7 +170,7 @@ async function analyzeWithGemini(imageUrl) {
}` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 500 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 500, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/shopify/scripts/update-dwk-slow-seo.js b/shopify/scripts/update-dwk-slow-seo.js
index 3e0903d7..89f6243a 100644
--- a/shopify/scripts/update-dwk-slow-seo.js
+++ b/shopify/scripts/update-dwk-slow-seo.js
@@ -135,7 +135,7 @@ async function analyzeWithGemini(imageUrl) {
{ text: `Analyze this wallcovering. Return ONLY JSON: {"backgroundColor":"color","colors":["max 3"],"styles":["1-2 styles"],"patterns":["1-2 patterns"]}` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 300 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 300, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/shopify/scripts/update-dwqw-complete.ts b/shopify/scripts/update-dwqw-complete.ts
index 7ef93499..6878b0fb 100644
--- a/shopify/scripts/update-dwqw-complete.ts
+++ b/shopify/scripts/update-dwqw-complete.ts
@@ -110,7 +110,7 @@ Return ONLY valid JSON (no markdown):
{ text: prompt }
]
}],
- generationConfig: { temperature: 0.2, maxOutputTokens: 400 }
+ generationConfig: { temperature: 0.2, maxOutputTokens: 400, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/shopify/scripts/update-dwqw-malibu-architectural.ts b/shopify/scripts/update-dwqw-malibu-architectural.ts
index c9ab5c46..a289064c 100644
--- a/shopify/scripts/update-dwqw-malibu-architectural.ts
+++ b/shopify/scripts/update-dwqw-malibu-architectural.ts
@@ -178,7 +178,7 @@ Styles from: Traditional, Contemporary, Coastal, Tropical, Nautical, Bohemian, T
Patterns from: Botanical, Floral, Geometric, Damask, Palm, Trellis, Stripe, Abstract` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 500 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 500, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/shopify/scripts/update-dwrr-descriptions-quantities.ts b/shopify/scripts/update-dwrr-descriptions-quantities.ts
index 1f78e25b..3f142762 100644
--- a/shopify/scripts/update-dwrr-descriptions-quantities.ts
+++ b/shopify/scripts/update-dwrr-descriptions-quantities.ts
@@ -121,7 +121,7 @@ Requirements:
Return ONLY the description text, no quotes or extra formatting.` }
]
}],
- generationConfig: { temperature: 0.7, maxOutputTokens: 300 }
+ generationConfig: { temperature: 0.7, maxOutputTokens: 300, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/shopify/scripts/update-dwrr-gemini.ts b/shopify/scripts/update-dwrr-gemini.ts
index 3f0dccc5..08c776b0 100644
--- a/shopify/scripts/update-dwrr-gemini.ts
+++ b/shopify/scripts/update-dwrr-gemini.ts
@@ -139,7 +139,7 @@ IMPORTANT: Only include colors that are ACTUALLY visible. Remove any color not p
}],
generationConfig: {
temperature: 0.1,
- maxOutputTokens: 500
+ maxOutputTokens: 500, thinkingConfig: { thinkingBudget: 0 }
}
})
}
diff --git a/shopify/scripts/update-koroseal-gemini.ts b/shopify/scripts/update-koroseal-gemini.ts
index aa54c412..dfaf8632 100644
--- a/shopify/scripts/update-koroseal-gemini.ts
+++ b/shopify/scripts/update-koroseal-gemini.ts
@@ -120,7 +120,7 @@ Return ONLY valid JSON (no markdown):
}` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 500 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 500, thinkingConfig: { thinkingBudget: 0 } }
})
}
);
diff --git a/shopify/scripts/zoffany-full-monty-20.js b/shopify/scripts/zoffany-full-monty-20.js
index 5ee98127..1ee34ae5 100644
--- a/shopify/scripts/zoffany-full-monty-20.js
+++ b/shopify/scripts/zoffany-full-monty-20.js
@@ -330,7 +330,7 @@ async function phase3_aiEnrich(products) {
{ text: `${GEMINI_PROMPT}\n\nProduct: "${context}"` }
]
}],
- generationConfig: { temperature: 0.1, maxOutputTokens: 800 }
+ generationConfig: { temperature: 0.1, maxOutputTokens: 800, thinkingConfig: { thinkingBudget: 0 } }
});
const resp = await httpRequest(GEMINI_URL, {
← 98038581 Add collection grid responsive-cols + infinite-scroll fix pu
·
back to Designer Wallcoverings
·
Disable Gemini thinking budget on capped enrichment calls (t a1410525 →