import re

with open('src/app/dashboard/monitoring/page.tsx', 'r') as f:
    content = f.read()

old = """      const [resourcesResponse, servicesResponse] = await Promise.all([
        fetch('/api/bridge/metrics'),
        fetch('/api/bridge/status')
      ])

      const resourcesData = await resourcesResponse.json()
      const servicesData = await servicesResponse.json()

      setResources(resourcesData?.resources)
      setServices(servicesData?.services || [])"""

new = """      // Fetch metrics and status separately for resilience
      let metricsOk = false
      try {
        const metricsRes = await fetch('/api/bridge/metrics')
        if (metricsRes.ok) {
          const metricsJson = await metricsRes.json()
          console.log('Metrics data:', metricsJson)
          if (metricsJson?.resources) {
            setResources(metricsJson.resources)
            metricsOk = true
          }
        }
      } catch (e) { console.error('Metrics fetch error:', e) }

      try {
        const statusRes = await fetch('/api/bridge/status')
        if (statusRes.ok) {
          const statusJson = await statusRes.json()
          setServices(statusJson?.services || [])
        }
      } catch (e) { console.error('Status fetch error:', e) }

      if (!metricsOk) console.warn('No metrics data received')"""

content = content.replace(old, new)

with open('src/app/dashboard/monitoring/page.tsx', 'w') as f:
    f.write(content)

print("DONE")
