← back to Designer Wallcoverings
Update Claude model IDs to claude-opus-4-8 (Opus 4.8 upgrade)
3b1cfa98473ea67b90f09249f2102793592778b8 · 2026-05-29 08:21:25 -0700 · Steve
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Files touched
M DW-Agents/dw-agents/DWLegalTeam/legal-agent.tsM DW-Agents/dw-agents/accounting-agent.tsM DW-Agents/dw-agents/agent-accounting/accounting-agent.tsM DW-Agents/dw-agents/agent-executive-ceo/ceo-dashboard-agent.tsM DW-Agents/dw-agents/agent-executive-cfo/cfo-dashboard-agent.tsM DW-Agents/dw-agents/agent-executive-coo/coo-dashboard-agent.tsM DW-Agents/dw-agents/agent-executive-cto/cto-dashboard-agent.tsM DW-Agents/dw-agents/agent-executive-vp-ops/vp-ops-dashboard-agent.tsM DW-Agents/dw-agents/agent-legal-team/legal-agent.tsM DW-Agents/dw-agents/agent-marketing/marketing-agent.tsM DW-Agents/dw-agents/agent-purchasing-office/purchasing-office-agent.tsM DW-Agents/dw-agents/agent-restart-analyzer/restart-analyzer-agent.tsM DW-Agents/dw-agents/agent-slack/slack-agent.cjsM DW-Agents/dw-agents/agent-slack/slack-agent.jsM DW-Agents/dw-agents/agent-slack/slack-agent.tsM DW-Agents/dw-agents/agent-trend-research/trend-research-agent.tsM DW-Agents/dw-agents/agent-zendesk-chat/zendesk-chat-agent.tsM DW-Agents/dw-agents/architectural-update-agent.tsM DW-Agents/dw-agents/generate-eod-report.tsM DW-Agents/dw-agents/koroseal-fixed-import.tsM DW-Agents/dw-agents/koroseal-import.tsM DW-Agents/dw-agents/marketing-agent.tsM DW-Agents/dw-agents/master-hub.tsM DW-Agents/dw-agents/purchasing-office-agent.tsM DW-Agents/dw-agents/trend-research-agent.tsM DW-Agents/dw-agents/zendesk-chat-agent.tsM DW-Agents/slack-claude-bot/server-debug.jsM DW-Agents/slack-claude-bot/server-socket.jsM DW-Agents/slack-claude-bot/server.jsM DW-Programming/ImportNewSkufromURL/app/api/interior-designer-tags/route.tsM DW-Programming/ImportNewSkufromURL/app/api/vendor-chat/route.tsM DW-Programming/ImportNewSkufromURL/check-single-product.tsM DW-Programming/ImportNewSkufromURL/dwjs-ai-retag.tsM DW-Programming/ImportNewSkufromURL/fix-xpf-products.tsM DW-Programming/ImportNewSkufromURL/lib/extract.tsM DW-Programming/ImportNewSkufromURL/lib/private-label-ai.tsM DW-Programming/ImportNewSkufromURL/lib/settlement-checker.tsM DW-Programming/ImportNewSkufromURL/scripts/koroseal-enrichment.tsM DW-Programming/ImportNewSkufromURL/update-lincrusta-products.tsM DW-Programming/ImportNewSkufromURL/verify-red-batch.tsM DW-Programming/ImportNewSkufromURL/verify-red-images.tsM DW-Programming/KravetDesignTagger/server.jsM DW-Programming/RemoveDuplicatesInShopify/auto-tag-groups.jsM DW-Programming/RemoveDuplicatesInShopify/recrawl-all-tags.jsM DW-Programming/RemoveDuplicatesInShopify/server.jsM DW-Programming/ThibautTagger/server.jsM DW-Programming/architectural-updater/lib/update-engine.jsM DW-Programming/legal-compliance-checker-9878.tsM DW-Programming/schumacher-dwsw-full-updater.tsM DW-Programming/schumacher-dwsw-validator.tsM DW-Programming/update-specific-schumacher.ts
Diff
commit 3b1cfa98473ea67b90f09249f2102793592778b8
Author: Steve <steve@designerwallcoverings.com>
Date: Fri May 29 08:21:25 2026 -0700
Update Claude model IDs to claude-opus-4-8 (Opus 4.8 upgrade)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
DW-Agents/dw-agents/DWLegalTeam/legal-agent.ts | 2 +-
DW-Agents/dw-agents/accounting-agent.ts | 2 +-
DW-Agents/dw-agents/agent-accounting/accounting-agent.ts | 2 +-
DW-Agents/dw-agents/agent-executive-ceo/ceo-dashboard-agent.ts | 2 +-
DW-Agents/dw-agents/agent-executive-cfo/cfo-dashboard-agent.ts | 2 +-
DW-Agents/dw-agents/agent-executive-coo/coo-dashboard-agent.ts | 2 +-
DW-Agents/dw-agents/agent-executive-cto/cto-dashboard-agent.ts | 2 +-
.../dw-agents/agent-executive-vp-ops/vp-ops-dashboard-agent.ts | 2 +-
DW-Agents/dw-agents/agent-legal-team/legal-agent.ts | 2 +-
DW-Agents/dw-agents/agent-marketing/marketing-agent.ts | 8 ++++----
.../agent-purchasing-office/purchasing-office-agent.ts | 4 ++--
.../dw-agents/agent-restart-analyzer/restart-analyzer-agent.ts | 2 +-
DW-Agents/dw-agents/agent-slack/slack-agent.cjs | 2 +-
DW-Agents/dw-agents/agent-slack/slack-agent.js | 2 +-
DW-Agents/dw-agents/agent-slack/slack-agent.ts | 2 +-
.../dw-agents/agent-trend-research/trend-research-agent.ts | 10 +++++-----
DW-Agents/dw-agents/agent-zendesk-chat/zendesk-chat-agent.ts | 2 +-
DW-Agents/dw-agents/architectural-update-agent.ts | 4 ++--
DW-Agents/dw-agents/generate-eod-report.ts | 2 +-
DW-Agents/dw-agents/koroseal-fixed-import.ts | 2 +-
DW-Agents/dw-agents/koroseal-import.ts | 2 +-
DW-Agents/dw-agents/marketing-agent.ts | 8 ++++----
DW-Agents/dw-agents/master-hub.ts | 4 ++--
DW-Agents/dw-agents/purchasing-office-agent.ts | 4 ++--
DW-Agents/dw-agents/trend-research-agent.ts | 10 +++++-----
DW-Agents/dw-agents/zendesk-chat-agent.ts | 2 +-
DW-Agents/slack-claude-bot/server-debug.js | 2 +-
DW-Agents/slack-claude-bot/server-socket.js | 2 +-
DW-Agents/slack-claude-bot/server.js | 2 +-
.../app/api/interior-designer-tags/route.ts | 2 +-
.../ImportNewSkufromURL/app/api/vendor-chat/route.ts | 2 +-
DW-Programming/ImportNewSkufromURL/check-single-product.ts | 2 +-
DW-Programming/ImportNewSkufromURL/dwjs-ai-retag.ts | 2 +-
DW-Programming/ImportNewSkufromURL/fix-xpf-products.ts | 2 +-
DW-Programming/ImportNewSkufromURL/lib/extract.ts | 10 +++++-----
DW-Programming/ImportNewSkufromURL/lib/private-label-ai.ts | 4 ++--
DW-Programming/ImportNewSkufromURL/lib/settlement-checker.ts | 2 +-
.../ImportNewSkufromURL/scripts/koroseal-enrichment.ts | 2 +-
.../ImportNewSkufromURL/update-lincrusta-products.ts | 2 +-
DW-Programming/ImportNewSkufromURL/verify-red-batch.ts | 2 +-
DW-Programming/ImportNewSkufromURL/verify-red-images.ts | 2 +-
DW-Programming/KravetDesignTagger/server.js | 2 +-
DW-Programming/RemoveDuplicatesInShopify/auto-tag-groups.js | 2 +-
DW-Programming/RemoveDuplicatesInShopify/recrawl-all-tags.js | 2 +-
DW-Programming/RemoveDuplicatesInShopify/server.js | 2 +-
DW-Programming/ThibautTagger/server.js | 2 +-
DW-Programming/architectural-updater/lib/update-engine.js | 2 +-
DW-Programming/legal-compliance-checker-9878.ts | 4 ++--
DW-Programming/schumacher-dwsw-full-updater.ts | 2 +-
DW-Programming/schumacher-dwsw-validator.ts | 2 +-
DW-Programming/update-specific-schumacher.ts | 2 +-
51 files changed, 75 insertions(+), 75 deletions(-)
diff --git a/DW-Agents/dw-agents/DWLegalTeam/legal-agent.ts b/DW-Agents/dw-agents/DWLegalTeam/legal-agent.ts
index a069e608..63e904f6 100644
--- a/DW-Agents/dw-agents/DWLegalTeam/legal-agent.ts
+++ b/DW-Agents/dw-agents/DWLegalTeam/legal-agent.ts
@@ -2067,7 +2067,7 @@ ANALYSIS:
[Detailed explanation of your findings]`;
const message = await anthropic.messages.create({
- model: 'claude-sonnet-4-5-20250929',
+ model: 'claude-opus-4-8',
max_tokens: 2000,
messages: [
{
diff --git a/DW-Agents/dw-agents/accounting-agent.ts b/DW-Agents/dw-agents/accounting-agent.ts
index 0fa09292..683031d7 100644
--- a/DW-Agents/dw-agents/accounting-agent.ts
+++ b/DW-Agents/dw-agents/accounting-agent.ts
@@ -1063,7 +1063,7 @@ When users ask about specific financial data, provide helpful summaries and acti
Be professional, accurate, and provide clear financial guidance.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
system: systemPrompt,
messages: req.session.chatHistory
diff --git a/DW-Agents/dw-agents/agent-accounting/accounting-agent.ts b/DW-Agents/dw-agents/agent-accounting/accounting-agent.ts
index aaf27702..ab610573 100644
--- a/DW-Agents/dw-agents/agent-accounting/accounting-agent.ts
+++ b/DW-Agents/dw-agents/agent-accounting/accounting-agent.ts
@@ -1026,7 +1026,7 @@ When users ask about specific financial data, provide helpful summaries and acti
Be professional, accurate, and provide clear financial guidance.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
system: systemPrompt,
messages: req.session.chatHistory
diff --git a/DW-Agents/dw-agents/agent-executive-ceo/ceo-dashboard-agent.ts b/DW-Agents/dw-agents/agent-executive-ceo/ceo-dashboard-agent.ts
index 6280266e..aa8fb3f7 100644
--- a/DW-Agents/dw-agents/agent-executive-ceo/ceo-dashboard-agent.ts
+++ b/DW-Agents/dw-agents/agent-executive-ceo/ceo-dashboard-agent.ts
@@ -270,7 +270,7 @@ ${liveContext}`;
];
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048,
system: systemPrompt,
messages
diff --git a/DW-Agents/dw-agents/agent-executive-cfo/cfo-dashboard-agent.ts b/DW-Agents/dw-agents/agent-executive-cfo/cfo-dashboard-agent.ts
index 5d9919ba..592d3df9 100644
--- a/DW-Agents/dw-agents/agent-executive-cfo/cfo-dashboard-agent.ts
+++ b/DW-Agents/dw-agents/agent-executive-cfo/cfo-dashboard-agent.ts
@@ -626,7 +626,7 @@ Be concise, data-driven, and actionable. Present numbers clearly. Flag any conce
}));
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048,
system: systemPrompt,
messages: chatMessages
diff --git a/DW-Agents/dw-agents/agent-executive-coo/coo-dashboard-agent.ts b/DW-Agents/dw-agents/agent-executive-coo/coo-dashboard-agent.ts
index 12f494d9..6031b59b 100644
--- a/DW-Agents/dw-agents/agent-executive-coo/coo-dashboard-agent.ts
+++ b/DW-Agents/dw-agents/agent-executive-coo/coo-dashboard-agent.ts
@@ -433,7 +433,7 @@ When vendors have low import rates, suggest prioritization.`;
const chatHistory = (history || req.session.chatHistory).slice(-16);
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1500,
system: systemPrompt,
messages: chatHistory.map((m: any) => ({ role: m.role, content: m.content }))
diff --git a/DW-Agents/dw-agents/agent-executive-cto/cto-dashboard-agent.ts b/DW-Agents/dw-agents/agent-executive-cto/cto-dashboard-agent.ts
index f1fc804d..eda6a7f6 100644
--- a/DW-Agents/dw-agents/agent-executive-cto/cto-dashboard-agent.ts
+++ b/DW-Agents/dw-agents/agent-executive-cto/cto-dashboard-agent.ts
@@ -507,7 +507,7 @@ Reference specific vendor tables when discussing data issues.`;
const chatHistory = (history || req.session.chatHistory).slice(-16);
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1500,
system: systemPrompt,
messages: chatHistory.map((m: any) => ({ role: m.role, content: m.content }))
diff --git a/DW-Agents/dw-agents/agent-executive-vp-ops/vp-ops-dashboard-agent.ts b/DW-Agents/dw-agents/agent-executive-vp-ops/vp-ops-dashboard-agent.ts
index 00e06fc2..12e44c8b 100644
--- a/DW-Agents/dw-agents/agent-executive-vp-ops/vp-ops-dashboard-agent.ts
+++ b/DW-Agents/dw-agents/agent-executive-vp-ops/vp-ops-dashboard-agent.ts
@@ -486,7 +486,7 @@ Prioritize server stability and agent uptime above all else.`;
const chatHistory = (history || req.session.chatHistory).slice(-16);
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1500,
system: systemPrompt,
messages: chatHistory.map((m: any) => ({ role: m.role, content: m.content }))
diff --git a/DW-Agents/dw-agents/agent-legal-team/legal-agent.ts b/DW-Agents/dw-agents/agent-legal-team/legal-agent.ts
index b7e5016c..c1519d90 100644
--- a/DW-Agents/dw-agents/agent-legal-team/legal-agent.ts
+++ b/DW-Agents/dw-agents/agent-legal-team/legal-agent.ts
@@ -2336,7 +2336,7 @@ ANALYSIS:
[Detailed explanation of your findings]`;
const message = await anthropic.messages.create({
- model: 'claude-sonnet-4-5-20250929',
+ model: 'claude-opus-4-8',
max_tokens: 2000,
messages: [
{
diff --git a/DW-Agents/dw-agents/agent-marketing/marketing-agent.ts b/DW-Agents/dw-agents/agent-marketing/marketing-agent.ts
index ab04df18..69f19735 100644
--- a/DW-Agents/dw-agents/agent-marketing/marketing-agent.ts
+++ b/DW-Agents/dw-agents/agent-marketing/marketing-agent.ts
@@ -2110,7 +2110,7 @@ or HTML/CSS for mobile. Automatically implement older-adult accessibility.
Be enthusiastic, creative, and marketing-focused in your responses.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
system: systemPrompt,
messages: req.session.chatHistory
@@ -2254,7 +2254,7 @@ Write an engaging blog post (300-500 words) that includes:
Make it SEO-friendly and engaging for interior designers and homeowners.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048,
messages: [{ role: 'user', content: prompt }]
});
@@ -2399,7 +2399,7 @@ app.post('/api/generate/social', requireGlobalAuth, async (req, res) => {
};
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 512,
messages: [{ role: 'user', content: prompts[platform] || prompts.instagram }]
});
@@ -2523,7 +2523,7 @@ ${guide}
Write the post content only. Do not include any preamble or explanation. For Instagram, put hashtags on a separate line at the end.`;
const aiResponse = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
messages: [{ role: 'user', content: prompt }]
});
diff --git a/DW-Agents/dw-agents/agent-purchasing-office/purchasing-office-agent.ts b/DW-Agents/dw-agents/agent-purchasing-office/purchasing-office-agent.ts
index d436aa12..590b4d2d 100755
--- a/DW-Agents/dw-agents/agent-purchasing-office/purchasing-office-agent.ts
+++ b/DW-Agents/dw-agents/agent-purchasing-office/purchasing-office-agent.ts
@@ -1184,7 +1184,7 @@ Be detailed, clear, and always include dates and prices when relevant.`;
// Call Claude API
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048, // Increased for detailed responses with dates/prices
system: systemPrompt,
messages: req.session.chatHistory.map(msg => ({
@@ -1259,7 +1259,7 @@ Recent context:
Provide actionable insights and specific recommendations.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048,
messages: [{
role: 'user',
diff --git a/DW-Agents/dw-agents/agent-restart-analyzer/restart-analyzer-agent.ts b/DW-Agents/dw-agents/agent-restart-analyzer/restart-analyzer-agent.ts
index 37128d21..926661dc 100644
--- a/DW-Agents/dw-agents/agent-restart-analyzer/restart-analyzer-agent.ts
+++ b/DW-Agents/dw-agents/agent-restart-analyzer/restart-analyzer-agent.ts
@@ -203,7 +203,7 @@ Format the response in clear markdown with sections and bullet points.`;
try {
const message = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 4096,
messages: [{
role: 'user',
diff --git a/DW-Agents/dw-agents/agent-slack/slack-agent.cjs b/DW-Agents/dw-agents/agent-slack/slack-agent.cjs
index 46ab59a1..d05d541a 100644
--- a/DW-Agents/dw-agents/agent-slack/slack-agent.cjs
+++ b/DW-Agents/dw-agents/agent-slack/slack-agent.cjs
@@ -234,7 +234,7 @@ async function askClaude(message, channelId) {
try {
const history = conversationHistory.get(channelId) || [];
const body = {
- model: 'claude-sonnet-4-20250514', max_tokens: 1024,
+ model: 'claude-opus-4-8', max_tokens: 1024,
system: `You are Claude, an AI assistant in the Designer Wallcoverings Slack workspace. Help with Shopify product management, vendor data, AI analysis, and business operations. Server: 45.61.58.125. Be concise, use Slack formatting.`,
messages: [...history.slice(-10), { role: 'user', content: message }]
};
diff --git a/DW-Agents/dw-agents/agent-slack/slack-agent.js b/DW-Agents/dw-agents/agent-slack/slack-agent.js
index 75ed39d6..69983287 100644
--- a/DW-Agents/dw-agents/agent-slack/slack-agent.js
+++ b/DW-Agents/dw-agents/agent-slack/slack-agent.js
@@ -229,7 +229,7 @@ async function askClaude(message, channelId) {
try {
const history = conversationHistory.get(channelId) || [];
const body = {
- model: 'claude-sonnet-4-20250514', max_tokens: 1024,
+ model: 'claude-opus-4-8', max_tokens: 1024,
system: `You are Claude, an AI assistant in the Designer Wallcoverings Slack workspace. Help with Shopify product management, vendor data, AI analysis, and business operations. Server: 45.61.58.125. Be concise, use Slack formatting.`,
messages: [...history.slice(-10), { role: 'user', content: message }]
};
diff --git a/DW-Agents/dw-agents/agent-slack/slack-agent.ts b/DW-Agents/dw-agents/agent-slack/slack-agent.ts
index a049eb88..2c989684 100644
--- a/DW-Agents/dw-agents/agent-slack/slack-agent.ts
+++ b/DW-Agents/dw-agents/agent-slack/slack-agent.ts
@@ -232,7 +232,7 @@ async function askClaude(message: string, channelId: string): Promise<string> {
try {
const history = conversationHistory.get(channelId) || [];
const body = {
- model: 'claude-sonnet-4-20250514', max_tokens: 1024,
+ model: 'claude-opus-4-8', max_tokens: 1024,
system: `You are Claude, an AI assistant in the Designer Wallcoverings Slack workspace. Help with Shopify product management, vendor data, AI analysis, and business operations. Server: 45.61.58.125. Be concise, use Slack formatting.`,
messages: [...history.slice(-10), { role: 'user', content: message }]
};
diff --git a/DW-Agents/dw-agents/agent-trend-research/trend-research-agent.ts b/DW-Agents/dw-agents/agent-trend-research/trend-research-agent.ts
index 5a30e690..8f5b9fa9 100644
--- a/DW-Agents/dw-agents/agent-trend-research/trend-research-agent.ts
+++ b/DW-Agents/dw-agents/agent-trend-research/trend-research-agent.ts
@@ -1064,7 +1064,7 @@ When users ask about trends, provide detailed analysis with actionable insights.
Be professional, insightful, and provide strategic recommendations based on market data.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
system: systemPrompt,
messages: req.session.chatHistory
@@ -1151,7 +1151,7 @@ Generate a detailed Trend Forecast Report with:
Format the report professionally with clear sections and actionable insights.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048,
system: systemPrompt,
messages: [{ role: 'user', content: 'Generate a comprehensive Trend Forecast Report based on current market data.' }]
@@ -1216,7 +1216,7 @@ ${currentTrends.slice(0, 3).map(t => `- ${t.name}: ${t.description}`).join('\n')
Generate a detailed competitor analysis with strategic insights and actionable recommendations.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048,
system: systemPrompt,
messages: [{ role: 'user', content: 'Generate a comprehensive Competitor Analysis Report.' }]
@@ -1286,7 +1286,7 @@ Generate a comprehensive Vendor Performance Report with:
Format professionally with actionable insights.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048,
system: systemPrompt,
messages: [{ role: 'user', content: 'Generate a comprehensive Vendor Performance Report.' }]
@@ -1357,7 +1357,7 @@ Generate a strategic Market Opportunities Report with:
Focus on actionable, profitable opportunities aligned with current capabilities.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048,
system: systemPrompt,
messages: [{ role: 'user', content: 'Generate a comprehensive Market Opportunities Report.' }]
diff --git a/DW-Agents/dw-agents/agent-zendesk-chat/zendesk-chat-agent.ts b/DW-Agents/dw-agents/agent-zendesk-chat/zendesk-chat-agent.ts
index 479c716a..4391a31b 100644
--- a/DW-Agents/dw-agents/agent-zendesk-chat/zendesk-chat-agent.ts
+++ b/DW-Agents/dw-agents/agent-zendesk-chat/zendesk-chat-agent.ts
@@ -1471,7 +1471,7 @@ When helping with responses:
Be helpful, supportive, and provide excellent customer service guidance.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
system: systemPrompt,
messages: req.session.chatHistory
diff --git a/DW-Agents/dw-agents/architectural-update-agent.ts b/DW-Agents/dw-agents/architectural-update-agent.ts
index df427af7..358fa96c 100644
--- a/DW-Agents/dw-agents/architectural-update-agent.ts
+++ b/DW-Agents/dw-agents/architectural-update-agent.ts
@@ -331,7 +331,7 @@ function formatTitle(patternName: string, color: string | null, mfrNumber: strin
async function analyzeColorsWithAI(imageUrl: string, productTitle: string): Promise<any> {
try {
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
messages: [{
role: 'user',
@@ -4280,7 +4280,7 @@ app.post('/api/chat', async (req, res) => {
}
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 500,
system: `You are the Architectural Update Agent AI assistant. You help with:
- Updating commercial wallcovering products to Architectural Wallcoverings branding
diff --git a/DW-Agents/dw-agents/generate-eod-report.ts b/DW-Agents/dw-agents/generate-eod-report.ts
index 1147f365..36a187b0 100644
--- a/DW-Agents/dw-agents/generate-eod-report.ts
+++ b/DW-Agents/dw-agents/generate-eod-report.ts
@@ -195,7 +195,7 @@ Format the report in clean markdown with clear sections and bullet points.`;
try {
const message = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 4096,
messages: [{
role: 'user',
diff --git a/DW-Agents/dw-agents/koroseal-fixed-import.ts b/DW-Agents/dw-agents/koroseal-fixed-import.ts
index dfa2a2a4..b73ab49d 100644
--- a/DW-Agents/dw-agents/koroseal-fixed-import.ts
+++ b/DW-Agents/dw-agents/koroseal-fixed-import.ts
@@ -129,7 +129,7 @@ async function analyzeImageForTags(imageUrl: string): Promise<string[]> {
const base64Image = Buffer.from(imageBuffer).toString('base64');
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 500,
messages: [{
role: 'user',
diff --git a/DW-Agents/dw-agents/koroseal-import.ts b/DW-Agents/dw-agents/koroseal-import.ts
index dfa2a2a4..b73ab49d 100644
--- a/DW-Agents/dw-agents/koroseal-import.ts
+++ b/DW-Agents/dw-agents/koroseal-import.ts
@@ -129,7 +129,7 @@ async function analyzeImageForTags(imageUrl: string): Promise<string[]> {
const base64Image = Buffer.from(imageBuffer).toString('base64');
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 500,
messages: [{
role: 'user',
diff --git a/DW-Agents/dw-agents/marketing-agent.ts b/DW-Agents/dw-agents/marketing-agent.ts
index 9a147fab..1cc249ce 100644
--- a/DW-Agents/dw-agents/marketing-agent.ts
+++ b/DW-Agents/dw-agents/marketing-agent.ts
@@ -1992,7 +1992,7 @@ When creating content:
Be professional, sophisticated, and magazine-editorial in your approach.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 4096, // Increased for longer blog posts
system: systemPrompt,
messages: req.session.chatHistory
@@ -2136,7 +2136,7 @@ Write an engaging blog post (300-500 words) that includes:
Make it SEO-friendly and engaging for interior designers and homeowners.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048,
messages: [{ role: 'user', content: prompt }]
});
@@ -2184,7 +2184,7 @@ app.post('/api/generate/social', async (req, res) => {
};
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 512,
messages: [{ role: 'user', content: prompts[platform] || prompts.instagram }]
});
@@ -2368,7 +2368,7 @@ Create marketing content for this task. Determine the best format (blog, social,
}
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 4096,
messages: [{ role: 'user', content: prompt }]
});
diff --git a/DW-Agents/dw-agents/master-hub.ts b/DW-Agents/dw-agents/master-hub.ts
index 97cb439b..0f415961 100644
--- a/DW-Agents/dw-agents/master-hub.ts
+++ b/DW-Agents/dw-agents/master-hub.ts
@@ -530,7 +530,7 @@ Be helpful, concise, and direct users to the right agent dashboard when needed.`
] as const;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048,
system: systemPrompt,
messages: req.session.chatHistory,
@@ -604,7 +604,7 @@ Be helpful, concise, and direct users to the right agent dashboard when needed.`
// Get final response
const finalResponse = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048,
system: systemPrompt,
messages: req.session.chatHistory
diff --git a/DW-Agents/dw-agents/purchasing-office-agent.ts b/DW-Agents/dw-agents/purchasing-office-agent.ts
index 9621e8cd..61a1d606 100644
--- a/DW-Agents/dw-agents/purchasing-office-agent.ts
+++ b/DW-Agents/dw-agents/purchasing-office-agent.ts
@@ -1122,7 +1122,7 @@ Be detailed, clear, and always include dates and prices when relevant.`;
let assistantMessage = '';
try {
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048, // Increased for detailed responses with dates/prices
system: systemPrompt,
messages: req.session.chatHistory.map(msg => ({
@@ -1282,7 +1282,7 @@ Provide actionable insights and specific recommendations.`;
let research = '';
try {
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048,
messages: [{
role: 'user',
diff --git a/DW-Agents/dw-agents/trend-research-agent.ts b/DW-Agents/dw-agents/trend-research-agent.ts
index 47d05bd0..97f0af8d 100644
--- a/DW-Agents/dw-agents/trend-research-agent.ts
+++ b/DW-Agents/dw-agents/trend-research-agent.ts
@@ -991,7 +991,7 @@ When users ask about trends, provide detailed analysis with actionable insights.
Be professional, insightful, and provide strategic recommendations based on market data.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
system: systemPrompt,
messages: req.session.chatHistory
@@ -1111,7 +1111,7 @@ Generate a detailed Trend Forecast Report with:
Format the report professionally with clear sections and actionable insights.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048,
system: systemPrompt,
messages: [{ role: 'user', content: 'Generate a comprehensive Trend Forecast Report based on current market data.' }]
@@ -1177,7 +1177,7 @@ ${currentTrends.slice(0, 3).map(t => `- ${t.name}: ${t.description}`).join('\n')
Generate a detailed competitor analysis with strategic insights and actionable recommendations.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048,
system: systemPrompt,
messages: [{ role: 'user', content: 'Generate a comprehensive Competitor Analysis Report.' }]
@@ -1248,7 +1248,7 @@ Generate a comprehensive Vendor Performance Report with:
Format professionally with actionable insights.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048,
system: systemPrompt,
messages: [{ role: 'user', content: 'Generate a comprehensive Vendor Performance Report.' }]
@@ -1320,7 +1320,7 @@ Generate a strategic Market Opportunities Report with:
Focus on actionable, profitable opportunities aligned with current capabilities.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 2048,
system: systemPrompt,
messages: [{ role: 'user', content: 'Generate a comprehensive Market Opportunities Report.' }]
diff --git a/DW-Agents/dw-agents/zendesk-chat-agent.ts b/DW-Agents/dw-agents/zendesk-chat-agent.ts
index 4c97432d..4c831fb5 100644
--- a/DW-Agents/dw-agents/zendesk-chat-agent.ts
+++ b/DW-Agents/dw-agents/zendesk-chat-agent.ts
@@ -1528,7 +1528,7 @@ When helping with responses:
Be helpful, supportive, and provide excellent customer service guidance.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
system: systemPrompt,
messages: req.session.chatHistory
diff --git a/DW-Agents/slack-claude-bot/server-debug.js b/DW-Agents/slack-claude-bot/server-debug.js
index 6e4c1486..278d4966 100644
--- a/DW-Agents/slack-claude-bot/server-debug.js
+++ b/DW-Agents/slack-claude-bot/server-debug.js
@@ -52,7 +52,7 @@ app.post('/slack/events', async (req, res) => {
try {
// Call Claude
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
system: 'You are Claude, a helpful AI assistant in Slack. Be concise.',
messages: [{ role: 'user', content: text || 'Hello' }]
diff --git a/DW-Agents/slack-claude-bot/server-socket.js b/DW-Agents/slack-claude-bot/server-socket.js
index 9c7c6353..6880c79a 100644
--- a/DW-Agents/slack-claude-bot/server-socket.js
+++ b/DW-Agents/slack-claude-bot/server-socket.js
@@ -51,7 +51,7 @@ Be concise but helpful. Use Slack formatting (*bold*, _italic_, \`code\`).
If asked to run commands or update products, explain what you would do but note you need terminal access for actual changes.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
system: systemPrompt,
messages: [
diff --git a/DW-Agents/slack-claude-bot/server.js b/DW-Agents/slack-claude-bot/server.js
index 1c1ea40b..5570da2a 100644
--- a/DW-Agents/slack-claude-bot/server.js
+++ b/DW-Agents/slack-claude-bot/server.js
@@ -141,7 +141,7 @@ Be concise but helpful. Use Slack formatting (*bold*, _italic_, \`code\`).
If asked to run commands or update products, explain what you would do but note you need terminal access for actual changes.`;
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
system: systemPrompt,
messages: [
diff --git a/DW-Programming/ImportNewSkufromURL/app/api/interior-designer-tags/route.ts b/DW-Programming/ImportNewSkufromURL/app/api/interior-designer-tags/route.ts
index 21f93f26..017e8d69 100644
--- a/DW-Programming/ImportNewSkufromURL/app/api/interior-designer-tags/route.ts
+++ b/DW-Programming/ImportNewSkufromURL/app/api/interior-designer-tags/route.ts
@@ -105,7 +105,7 @@ async function analyzeImageWithClaude(imageUrl: string, productTitle?: string):
: 'Analyze this wallcovering product image and generate interior designer tags.';
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
messages: [
{
diff --git a/DW-Programming/ImportNewSkufromURL/app/api/vendor-chat/route.ts b/DW-Programming/ImportNewSkufromURL/app/api/vendor-chat/route.ts
index bd3a7956..4a97d9d8 100644
--- a/DW-Programming/ImportNewSkufromURL/app/api/vendor-chat/route.ts
+++ b/DW-Programming/ImportNewSkufromURL/app/api/vendor-chat/route.ts
@@ -217,7 +217,7 @@ export async function POST(request: NextRequest) {
try {
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 400,
temperature: 0.3,
system: systemPrompt,
diff --git a/DW-Programming/ImportNewSkufromURL/check-single-product.ts b/DW-Programming/ImportNewSkufromURL/check-single-product.ts
index c036cb68..46f05adb 100644
--- a/DW-Programming/ImportNewSkufromURL/check-single-product.ts
+++ b/DW-Programming/ImportNewSkufromURL/check-single-product.ts
@@ -16,7 +16,7 @@ async function analyzeImage(imageUrl: string, productTitle: string) {
const base64Image = Buffer.from(imageBuffer).toString('base64');
const message = await anthropic.messages.create({
- model: 'claude-sonnet-4-0',
+ model: 'claude-opus-4-8',
max_tokens: 500,
messages: [
{
diff --git a/DW-Programming/ImportNewSkufromURL/dwjs-ai-retag.ts b/DW-Programming/ImportNewSkufromURL/dwjs-ai-retag.ts
index 86aff4e1..462ca5a0 100644
--- a/DW-Programming/ImportNewSkufromURL/dwjs-ai-retag.ts
+++ b/DW-Programming/ImportNewSkufromURL/dwjs-ai-retag.ts
@@ -423,7 +423,7 @@ Return ONLY valid JSON:
const mediaType = product.imageUrl.toLowerCase().includes('.png') ? 'image/png' : 'image/jpeg';
const message = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
messages: [{
role: 'user',
diff --git a/DW-Programming/ImportNewSkufromURL/fix-xpf-products.ts b/DW-Programming/ImportNewSkufromURL/fix-xpf-products.ts
index 444de6a0..81bf8f3b 100644
--- a/DW-Programming/ImportNewSkufromURL/fix-xpf-products.ts
+++ b/DW-Programming/ImportNewSkufromURL/fix-xpf-products.ts
@@ -128,7 +128,7 @@ async function analyzeColorsInImage(imageUrl: string): Promise<ColorAnalysis> {
const mediaType = imageUrl.toLowerCase().endsWith('.png') ? 'image/png' : 'image/jpeg';
const message = await anthropic.messages.create({
- model: 'claude-sonnet-4-0',
+ model: 'claude-opus-4-8',
max_tokens: 800,
messages: [{
role: 'user',
diff --git a/DW-Programming/ImportNewSkufromURL/lib/extract.ts b/DW-Programming/ImportNewSkufromURL/lib/extract.ts
index 23f6e831..44bfdab2 100644
--- a/DW-Programming/ImportNewSkufromURL/lib/extract.ts
+++ b/DW-Programming/ImportNewSkufromURL/lib/extract.ts
@@ -463,7 +463,7 @@ Extract the product data as JSON following the exact schema above.`;
timestamp: new Date().toISOString(),
event: 'ai_extraction_attempt',
provider: 'anthropic',
- model: 'claude-sonnet-4-0',
+ model: 'claude-opus-4-8',
attempt,
maxAttempts: MAX_ANTHROPIC_ATTEMPTS,
modelInfo: 'Using Anthropic Claude Sonnet 4.0 as GUARANTEED fallback',
@@ -471,7 +471,7 @@ Extract the product data as JSON following the exact schema above.`;
const message = await rateLimitedAnthropicRequest(() =>
anthropic.messages.create({
- model: 'claude-sonnet-4-0',
+ model: 'claude-opus-4-8',
max_tokens: 4096,
temperature: 0,
system: SYSTEM_PROMPT,
@@ -490,7 +490,7 @@ Extract the product data as JSON following the exact schema above.`;
timestamp: new Date().toISOString(),
event: 'ai_extraction_response',
provider: 'anthropic',
- model: 'claude-sonnet-4-0',
+ model: 'claude-opus-4-8',
attempt,
durationMs: Date.now() - startTime,
responseLength: responseText.length,
@@ -514,7 +514,7 @@ Extract the product data as JSON following the exact schema above.`;
timestamp: new Date().toISOString(),
event: 'ai_extraction_success',
provider: 'anthropic',
- model: 'claude-sonnet-4-0',
+ model: 'claude-opus-4-8',
attempt,
imageCount: validated.images.length,
tagCount: validated.tags.length,
@@ -540,7 +540,7 @@ Extract the product data as JSON following the exact schema above.`;
timestamp: new Date().toISOString(),
event: 'ai_extraction_error',
provider: 'anthropic',
- model: 'claude-sonnet-4-0',
+ model: 'claude-opus-4-8',
attempt,
error: lastError.message,
isLastAttempt,
diff --git a/DW-Programming/ImportNewSkufromURL/lib/private-label-ai.ts b/DW-Programming/ImportNewSkufromURL/lib/private-label-ai.ts
index 2d4f70cb..ca112c1b 100644
--- a/DW-Programming/ImportNewSkufromURL/lib/private-label-ai.ts
+++ b/DW-Programming/ImportNewSkufromURL/lib/private-label-ai.ts
@@ -143,14 +143,14 @@ Remember: The content must be completely unique and original. Think of this as d
console.log(JSON.stringify({
timestamp: new Date().toISOString(),
event: 'private_label_ai_request_start',
- model: 'claude-sonnet-4-0'
+ model: 'claude-opus-4-8'
}));
// Get Anthropic client (lazy initialization ensures env vars are loaded)
const anthropic = getAnthropicClient();
const message = await anthropic.messages.create({
- model: 'claude-sonnet-4-0',
+ model: 'claude-opus-4-8',
max_tokens: 2000,
messages: [
{
diff --git a/DW-Programming/ImportNewSkufromURL/lib/settlement-checker.ts b/DW-Programming/ImportNewSkufromURL/lib/settlement-checker.ts
index ce482a4f..ada467d5 100644
--- a/DW-Programming/ImportNewSkufromURL/lib/settlement-checker.ts
+++ b/DW-Programming/ImportNewSkufromURL/lib/settlement-checker.ts
@@ -116,7 +116,7 @@ Now analyze this product image:`;
const { base64, mediaType } = await fetchImageAsBase64(imageUrl);
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-5-20250929',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
messages: [
{
diff --git a/DW-Programming/ImportNewSkufromURL/scripts/koroseal-enrichment.ts b/DW-Programming/ImportNewSkufromURL/scripts/koroseal-enrichment.ts
index 410c8559..d67d8f64 100644
--- a/DW-Programming/ImportNewSkufromURL/scripts/koroseal-enrichment.ts
+++ b/DW-Programming/ImportNewSkufromURL/scripts/koroseal-enrichment.ts
@@ -350,7 +350,7 @@ async function analyzeWithClaude(imageUrl: string): Promise<ImageAnalysis | null
const anthropic = new Anthropic({ apiKey: ANTHROPIC_API_KEY });
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
messages: [{
role: 'user',
diff --git a/DW-Programming/ImportNewSkufromURL/update-lincrusta-products.ts b/DW-Programming/ImportNewSkufromURL/update-lincrusta-products.ts
index 4425dec6..3564364e 100644
--- a/DW-Programming/ImportNewSkufromURL/update-lincrusta-products.ts
+++ b/DW-Programming/ImportNewSkufromURL/update-lincrusta-products.ts
@@ -165,7 +165,7 @@ HTML to extract from:
${html}`;
const message = await anthropic.messages.create({
- model: "claude-sonnet-4-5-20250929",
+ model: "claude-opus-4-8",
max_tokens: 4096,
messages: [
{
diff --git a/DW-Programming/ImportNewSkufromURL/verify-red-batch.ts b/DW-Programming/ImportNewSkufromURL/verify-red-batch.ts
index 6e9b5c83..aea1b196 100644
--- a/DW-Programming/ImportNewSkufromURL/verify-red-batch.ts
+++ b/DW-Programming/ImportNewSkufromURL/verify-red-batch.ts
@@ -117,7 +117,7 @@ async function analyzeImageForRedColor(imageUrl: string): Promise<{ hasRed: bool
else if (imageUrl.includes('.webp')) mediaType = 'image/webp';
const message = await anthropic.messages.create({
- model: 'claude-sonnet-4-0',
+ model: 'claude-opus-4-8',
max_tokens: 500,
messages: [
{
diff --git a/DW-Programming/ImportNewSkufromURL/verify-red-images.ts b/DW-Programming/ImportNewSkufromURL/verify-red-images.ts
index 3355873e..01a4ae5a 100644
--- a/DW-Programming/ImportNewSkufromURL/verify-red-images.ts
+++ b/DW-Programming/ImportNewSkufromURL/verify-red-images.ts
@@ -103,7 +103,7 @@ async function analyzeImageForRedColor(imageUrl: string): Promise<{ hasRed: bool
else if (imageUrl.includes('.webp')) mediaType = 'image/webp';
const message = await anthropic.messages.create({
- model: 'claude-sonnet-4-0',
+ model: 'claude-opus-4-8',
max_tokens: 500,
messages: [
{
diff --git a/DW-Programming/KravetDesignTagger/server.js b/DW-Programming/KravetDesignTagger/server.js
index 3822afa0..9f2a90cb 100644
--- a/DW-Programming/KravetDesignTagger/server.js
+++ b/DW-Programming/KravetDesignTagger/server.js
@@ -92,7 +92,7 @@ async function analyzeImageWithClaude(imageUrl, productTitle) {
'anthropic-version': '2023-06-01'
},
body: JSON.stringify({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1200,
messages: [{
role: 'user',
diff --git a/DW-Programming/RemoveDuplicatesInShopify/auto-tag-groups.js b/DW-Programming/RemoveDuplicatesInShopify/auto-tag-groups.js
index cf3329ab..6c3b90cb 100644
--- a/DW-Programming/RemoveDuplicatesInShopify/auto-tag-groups.js
+++ b/DW-Programming/RemoveDuplicatesInShopify/auto-tag-groups.js
@@ -40,7 +40,7 @@ async function analyzeImage(imageUrl, productTitle) {
'anthropic-version': '2023-06-01'
},
body: JSON.stringify({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 800,
messages: [{
role: 'user',
diff --git a/DW-Programming/RemoveDuplicatesInShopify/recrawl-all-tags.js b/DW-Programming/RemoveDuplicatesInShopify/recrawl-all-tags.js
index acbee4c8..83f3a3a4 100644
--- a/DW-Programming/RemoveDuplicatesInShopify/recrawl-all-tags.js
+++ b/DW-Programming/RemoveDuplicatesInShopify/recrawl-all-tags.js
@@ -44,7 +44,7 @@ async function analyzeImage(imageUrl, productTitle) {
'anthropic-version': '2023-06-01'
},
body: JSON.stringify({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1000,
messages: [{
role: 'user',
diff --git a/DW-Programming/RemoveDuplicatesInShopify/server.js b/DW-Programming/RemoveDuplicatesInShopify/server.js
index ae7fc34c..2b8365f9 100644
--- a/DW-Programming/RemoveDuplicatesInShopify/server.js
+++ b/DW-Programming/RemoveDuplicatesInShopify/server.js
@@ -69,7 +69,7 @@ async function analyzeImageWithClaude(imageUrl) {
'anthropic-version': '2023-06-01'
},
body: JSON.stringify({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 500,
messages: [{
role: 'user',
diff --git a/DW-Programming/ThibautTagger/server.js b/DW-Programming/ThibautTagger/server.js
index c44d361e..bdfed200 100644
--- a/DW-Programming/ThibautTagger/server.js
+++ b/DW-Programming/ThibautTagger/server.js
@@ -92,7 +92,7 @@ async function analyzeImageWithClaude(imageUrl, productTitle) {
'anthropic-version': '2023-06-01'
},
body: JSON.stringify({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1200,
messages: [{
role: 'user',
diff --git a/DW-Programming/architectural-updater/lib/update-engine.js b/DW-Programming/architectural-updater/lib/update-engine.js
index 4ebfa7ad..5719b396 100644
--- a/DW-Programming/architectural-updater/lib/update-engine.js
+++ b/DW-Programming/architectural-updater/lib/update-engine.js
@@ -253,7 +253,7 @@ function formatTitle(patternName, color, mfrNumber) {
async function analyzeColorsWithAI(imageUrl, productTitle) {
try {
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
messages: [{
role: 'user',
diff --git a/DW-Programming/legal-compliance-checker-9878.ts b/DW-Programming/legal-compliance-checker-9878.ts
index 41444460..6d40b223 100644
--- a/DW-Programming/legal-compliance-checker-9878.ts
+++ b/DW-Programming/legal-compliance-checker-9878.ts
@@ -99,7 +99,7 @@ async function checkCompliance(url: string): Promise<ComplianceCheck> {
// Use Claude to analyze for compliance
const message = await anthropic.messages.create({
- model: 'claude-sonnet-4-5-20250929',
+ model: 'claude-opus-4-8',
max_tokens: 2000,
messages: [
{
@@ -761,7 +761,7 @@ app.post('/api/chat', async (req, res) => {
console.log(`\n💬 Chat: General question - ${message.substring(0, 50)}...`);
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-5-20250929',
+ model: 'claude-opus-4-8',
max_tokens: 1000,
messages: [
{
diff --git a/DW-Programming/schumacher-dwsw-full-updater.ts b/DW-Programming/schumacher-dwsw-full-updater.ts
index edc8f4bf..2debdef4 100644
--- a/DW-Programming/schumacher-dwsw-full-updater.ts
+++ b/DW-Programming/schumacher-dwsw-full-updater.ts
@@ -324,7 +324,7 @@ async function scrapeSchumacherProduct(page: Page, sku: string): Promise<Schumac
async function analyzeImageForTags(imageUrl: string, productTitle: string): Promise<string[]> {
try {
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
messages: [{
role: 'user',
diff --git a/DW-Programming/schumacher-dwsw-validator.ts b/DW-Programming/schumacher-dwsw-validator.ts
index 74c25175..f073f8a5 100644
--- a/DW-Programming/schumacher-dwsw-validator.ts
+++ b/DW-Programming/schumacher-dwsw-validator.ts
@@ -371,7 +371,7 @@ async function analyzeImageForTags(imageUrl: string, productTitle: string): Prom
console.log(` 🎨 Analyzing image with AI...`);
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 1024,
messages: [{
role: 'user',
diff --git a/DW-Programming/update-specific-schumacher.ts b/DW-Programming/update-specific-schumacher.ts
index 145726a1..9dfd9b74 100644
--- a/DW-Programming/update-specific-schumacher.ts
+++ b/DW-Programming/update-specific-schumacher.ts
@@ -133,7 +133,7 @@ async function scrapeSchumacherProduct(page: Page, sku: string): Promise<Schumac
async function analyzeImageWithAI(imageUrl: string): Promise<string[]> {
try {
const response = await anthropic.messages.create({
- model: 'claude-sonnet-4-20250514',
+ model: 'claude-opus-4-8',
max_tokens: 500,
messages: [{
role: 'user',
← 6114227d Update Claude model IDs to claude-opus-4-8 (Opus 4.8 upgrade
·
back to Designer Wallcoverings
·
security: strip hardcoded dw_admin DSN password -> env-first f19be762 →