Fix wws runtime compatibility - use module.exports pattern

- Update api/index.js to use handler export format
- Update chat/index.js to use handler export format
- Update webhook/index.js to use handler export format
- Remove addEventListener('fetch') pattern incompatible with wws
- Remove URL API usage (not available in wws JS runtime)
- Remove spread operator for better compatibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-15 05:56:18 +01:00
parent 9d83a9d2f0
commit 02d32536a0
3 changed files with 72 additions and 68 deletions

View File

@@ -1,36 +1,34 @@
// Chat proxy - routes requests to n8n workflow
// Path: /chat
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
async function handler(request) {
const corsHeaders = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type, Authorization',
'Content-Type': 'application/json'
}
if (request.method === 'OPTIONS') {
return new Response(null, { headers: corsHeaders })
return new Response('', { headers: corsHeaders })
}
if (request.method !== 'POST') {
return new Response(JSON.stringify({ error: 'Method not allowed' }), {
status: 405,
headers: { 'Content-Type': 'application/json', ...corsHeaders }
headers: corsHeaders
})
}
try {
const body = await request.json()
const { message, project_id, user_id, provider = 'zai' } = body
const { message, project_id, user_id, provider } = body
const selectedProvider = provider || 'zai'
if (!message) {
return new Response(JSON.stringify({ error: 'Message is required' }), {
status: 400,
headers: { 'Content-Type': 'application/json', ...corsHeaders }
headers: corsHeaders
})
}
@@ -39,10 +37,10 @@ async function handleRequest(request) {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
message,
message: message,
project_id: project_id || null,
user_id: user_id || null,
provider,
provider: selectedProvider,
source: 'wws-proxy',
timestamp: new Date().toISOString()
})
@@ -53,10 +51,10 @@ async function handleRequest(request) {
return new Response(JSON.stringify({
success: true,
response: result.response || result,
provider,
provider: selectedProvider,
timestamp: new Date().toISOString()
}), {
headers: { 'Content-Type': 'application/json', ...corsHeaders }
headers: corsHeaders
})
} catch (error) {
@@ -65,7 +63,9 @@ async function handleRequest(request) {
error: error.message || 'Internal server error'
}), {
status: 500,
headers: { 'Content-Type': 'application/json', ...corsHeaders }
headers: corsHeaders
})
}
}
module.exports = { handler }