Update all pages with accurate company data and add 5th blog post
Deploy to Production / Build & Verify (push) Failing after 5m44s
E2E Test Suite / Form Interaction Tests (push) Has been skipped
E2E Test Suite / Destructive & Chaos Tests (push) Has been skipped
E2E Test Suite / Cross-Browser Regression (chromium) (push) Has been skipped
E2E Test Suite / Cross-Browser Regression (firefox) (push) Has been skipped
E2E Test Suite / Cross-Browser Regression (webkit) (push) Has been skipped
E2E Test Suite / Mobile Device Tests (push) Has been skipped
E2E Test Suite / Security Header Tests (push) Has been skipped
Ping Search Engines / Notify Search Engines (push) Successful in 7s
Deploy to Production / Pre-Deploy Tests (push) Has been skipped
Deploy to Production / Deploy to Railway (push) Has been skipped
Deploy to Production / Deploy to Render (push) Has been skipped
Deploy to Production / Deploy to VPS (PM2) (push) Has been skipped
Deploy to Production / Deploy to Fly.io (push) Has been skipped
Deploy to Production / Post-Deploy Verification (push) Has been skipped
Deploy to Production / Notify on Failure (push) Successful in 2s
E2E Test Suite / Smoke Tests (P0) (push) Failing after 9m14s
E2E Test Suite / Critical User Journeys (push) Has been skipped
E2E Test Suite / API Integration Tests (push) Has been skipped
E2E Test Suite / Test Report Summary (push) Failing after 4s
Uptime Monitor / Health & Response Time (push) Successful in 3s
Uptime Monitor / SSL Certificate (push) Successful in 2s
Uptime Monitor / Send Alerts (push) Has been skipped
Uptime Monitor / Record Uptime Success (push) Successful in 1s

- Fix contact page trust stats (20+ projects, 100% satisfaction, 3+ years)
- Fix portfolio meta description (20+ projects, not 100+)
- Fix services page stats (20+ projects, 100% satisfaction, 6 services)
- Update BaseLayout keywords to match actual tech stack (remove Flutter, add Astro/Golang/Expo)
- Update aggregate rating reviewCount to realistic 20 (was inflated 127)
- Add 5th blog post: Building Scalable ERP Systems
- Replace placeholder SVG blog images with real Unsplash JPEG photos
- Add dedicated image for government IT systems blog post

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
WorkRoot Agent
2026-04-12 20:26:01 +05:30
co-authored by Claude Opus 4.6
parent 0614ae6f85
commit dfd7e5685d
63 changed files with 4802 additions and 516 deletions
+253
View File
@@ -0,0 +1,253 @@
# Graph Report - /home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f (2026-04-12)
## Corpus Check
- 43 files · ~183,959 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 163 nodes · 187 edges · 42 communities detected
- Extraction: 100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS
- Token cost: 0 input · 0 output
## God Nodes (most connected - your core abstractions)
1. `ContactPage` - 10 edges
2. `NavigationPage` - 8 edges
3. `main()` - 7 edges
4. `trackEvent()` - 6 edges
5. `captureException()` - 6 edges
6. `captureMessage()` - 6 edges
7. `POST()` - 5 edges
8. `POST()` - 5 edges
9. `initAllAnimations()` - 5 edges
10. `log()` - 5 edges
## Surprising Connections (you probably didn't know these)
- None detected - all connections are within the same source files.
## Communities
### Community 0 - "Community 0"
Cohesion: 0.17
Nodes (0):
### Community 1 - "Community 1"
Cohesion: 0.22
Nodes (1): ContactPage
### Community 2 - "Community 2"
Cohesion: 0.56
Nodes (8): captureException(), captureMessage(), generateEventId(), getEnvironment(), getRelease(), getSentryDsn(), parseDsn(), sendToSentry()
### Community 3 - "Community 3"
Cohesion: 0.36
Nodes (6): formatEntry(), getMinLevel(), log(), logApiRequest(), output(), shouldLog()
### Community 4 - "Community 4"
Cohesion: 0.22
Nodes (1): NavigationPage
### Community 5 - "Community 5"
Cohesion: 0.46
Nodes (7): checkRateLimit(), corsHeaders(), escapeHtml(), OPTIONS(), POST(), sendContactEmail(), validateContactForm()
### Community 6 - "Community 6"
Cohesion: 0.43
Nodes (6): trackCaseStudyView(), trackEvent(), trackExternalLink(), trackFormSubmit(), trackNewsletterSignup(), trackPortfolioFilter()
### Community 7 - "Community 7"
Cohesion: 0.36
Nodes (7): extract_scores(), get_issues(), main(), Run Lighthouse audit on a URL, Extract key scores from Lighthouse data, Extract issues from Lighthouse audit, run_lighthouse()
### Community 8 - "Community 8"
Cohesion: 0.46
Nodes (7): captureScreenshot(), ensureDir(), generateIndex(), main(), screenshotPath(), setTheme(), waitForPageReady()
### Community 9 - "Community 9"
Cohesion: 0.36
Nodes (4): deleteFromDB(), getAllFromDB(), openDB(), processSyncQueue()
### Community 10 - "Community 10"
Cohesion: 0.52
Nodes (6): checkRateLimit(), corsHeaders(), OPTIONS(), POST(), subscribeToNewsletter(), validateEmail()
### Community 11 - "Community 11"
Cohesion: 0.48
Nodes (5): initAllAnimations(), initButtonRipple(), initCounters(), initProgressBars(), initScrollReveal()
### Community 12 - "Community 12"
Cohesion: 0.48
Nodes (5): extractJsonLd(), main(), validateOpenGraph(), validatePage(), validateTwitterCard()
### Community 13 - "Community 13"
Cohesion: 0.47
Nodes (5): main(), measure_response_time(), print_stats(), Measure response time for a URL over multiple iterations, Print statistics for response times
### Community 14 - "Community 14"
Cohesion: 0.4
Nodes (2): loadWithTheme(), setStoredTheme()
### Community 15 - "Community 15"
Cohesion: 0.6
Nodes (3): formatUptime(), GET(), percentile()
### Community 16 - "Community 16"
Cohesion: 0.5
Nodes (0):
### Community 17 - "Community 17"
Cohesion: 0.5
Nodes (0):
### Community 18 - "Community 18"
Cohesion: 1.0
Nodes (0):
### Community 19 - "Community 19"
Cohesion: 1.0
Nodes (0):
### Community 20 - "Community 20"
Cohesion: 1.0
Nodes (0):
### Community 21 - "Community 21"
Cohesion: 1.0
Nodes (0):
### Community 22 - "Community 22"
Cohesion: 1.0
Nodes (0):
### Community 23 - "Community 23"
Cohesion: 1.0
Nodes (0):
### Community 24 - "Community 24"
Cohesion: 1.0
Nodes (0):
### Community 25 - "Community 25"
Cohesion: 1.0
Nodes (0):
### Community 26 - "Community 26"
Cohesion: 1.0
Nodes (0):
### Community 27 - "Community 27"
Cohesion: 1.0
Nodes (0):
### Community 28 - "Community 28"
Cohesion: 1.0
Nodes (0):
### Community 29 - "Community 29"
Cohesion: 1.0
Nodes (0):
### Community 30 - "Community 30"
Cohesion: 1.0
Nodes (0):
### Community 31 - "Community 31"
Cohesion: 1.0
Nodes (0):
### Community 32 - "Community 32"
Cohesion: 1.0
Nodes (0):
### Community 33 - "Community 33"
Cohesion: 1.0
Nodes (0):
### Community 34 - "Community 34"
Cohesion: 1.0
Nodes (0):
### Community 35 - "Community 35"
Cohesion: 1.0
Nodes (0):
### Community 36 - "Community 36"
Cohesion: 1.0
Nodes (0):
### Community 37 - "Community 37"
Cohesion: 1.0
Nodes (0):
### Community 38 - "Community 38"
Cohesion: 1.0
Nodes (0):
### Community 39 - "Community 39"
Cohesion: 1.0
Nodes (0):
### Community 40 - "Community 40"
Cohesion: 1.0
Nodes (0):
### Community 41 - "Community 41"
Cohesion: 1.0
Nodes (0):
## Knowledge Gaps
- **5 isolated node(s):** `Run Lighthouse audit on a URL`, `Extract key scores from Lighthouse data`, `Extract issues from Lighthouse audit`, `Measure response time for a URL over multiple iterations`, `Print statistics for response times`
These have ≤1 connection - possible missing edges or undocumented components.
- **Thin community `Community 18`** (2 nodes): `sitemap.xml.ts`, `GET()`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 19`** (2 nodes): `sitemap-index.xml.ts`, `GET()`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 20`** (2 nodes): `health.json.ts`, `GET()`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 21`** (1 nodes): `playwright.config.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 22`** (1 nodes): `env.d.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 23`** (1 nodes): `config.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 24`** (1 nodes): `windows-tasks.ps1`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 25`** (1 nodes): `e2e-blog-navigation.spec.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 26`** (1 nodes): `e2e-critical-paths.spec.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 27`** (1 nodes): `navigation.spec.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 28`** (1 nodes): `contact-form.spec.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 29`** (1 nodes): `e2e-form-interactions.spec.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 30`** (1 nodes): `destructive-chaos.spec.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 31`** (1 nodes): `security-headers.test.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 32`** (1 nodes): `bug-fix-verification.spec.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 33`** (1 nodes): `pages.spec.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 34`** (1 nodes): `api-integration.spec.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 35`** (1 nodes): `static-assets.spec.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 36`** (1 nodes): `accessibility.spec.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 37`** (1 nodes): `cross-browser.spec.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 38`** (1 nodes): `newsletter-subscription.spec.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 39`** (1 nodes): `portfolio.spec.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 40`** (1 nodes): `blog.spec.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
- **Thin community `Community 41`** (1 nodes): `e2e-smoke-suite.spec.ts`
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
## Suggested Questions
_Questions this graph is uniquely positioned to answer:_
- **What connects `Run Lighthouse audit on a URL`, `Extract key scores from Lighthouse data`, `Extract issues from Lighthouse audit` to the rest of the system?**
_5 weakly-connected nodes found - possible documentation gaps or missing edges._
@@ -0,0 +1 @@
{"nodes": [{"id": "portfolio_spec", "label": "portfolio.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/portfolio.spec.ts", "source_location": "L1"}], "edges": [{"source": "portfolio_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/portfolio.spec.ts", "source_location": "L1", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "logger", "label": "logger.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L1"}, {"id": "logger_getminlevel", "label": "getMinLevel()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L32"}, {"id": "logger_shouldlog", "label": "shouldLog()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L41"}, {"id": "logger_formatentry", "label": "formatEntry()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L45"}, {"id": "logger_output", "label": "output()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L67"}, {"id": "logger_log", "label": "log()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L81"}, {"id": "logger_logapirequest", "label": "logApiRequest()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L96"}], "edges": [{"source": "logger", "target": "logger_getminlevel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L32", "weight": 1.0}, {"source": "logger", "target": "logger_shouldlog", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L41", "weight": 1.0}, {"source": "logger", "target": "logger_formatentry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L45", "weight": 1.0}, {"source": "logger", "target": "logger_output", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L67", "weight": 1.0}, {"source": "logger", "target": "logger_log", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L81", "weight": 1.0}, {"source": "logger", "target": "logger_logapirequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L96", "weight": 1.0}, {"source": "logger_shouldlog", "target": "logger_getminlevel", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L42", "weight": 1.0}, {"source": "logger_output", "target": "logger_log", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L71", "weight": 1.0}, {"source": "logger_log", "target": "logger_shouldlog", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L82", "weight": 1.0}, {"source": "logger_log", "target": "logger_output", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L83", "weight": 1.0}, {"source": "logger_log", "target": "logger_formatentry", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L83", "weight": 1.0}, {"source": "logger_logapirequest", "target": "logger_log", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/logger.ts", "source_location": "L107", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "cross_browser_spec", "label": "cross-browser.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/cross-browser.spec.ts", "source_location": "L1"}], "edges": [{"source": "cross_browser_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/cross-browser.spec.ts", "source_location": "L1", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "security_headers_test", "label": "security-headers.test.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/security-headers.test.ts", "source_location": "L1"}], "edges": [{"source": "security_headers_test", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/security-headers.test.ts", "source_location": "L6", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "static_assets_spec", "label": "static-assets.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/static-assets.spec.ts", "source_location": "L1"}], "edges": [{"source": "static_assets_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/static-assets.spec.ts", "source_location": "L1", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "metrics_json", "label": "metrics.json.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts", "source_location": "L1"}, {"id": "metrics_json_recordrequest", "label": "recordRequest()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts", "source_location": "L12"}, {"id": "metrics_json_percentile", "label": "percentile()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts", "source_location": "L19"}, {"id": "metrics_json_get", "label": "GET()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts", "source_location": "L25"}, {"id": "metrics_json_formatuptime", "label": "formatUptime()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts", "source_location": "L85"}], "edges": [{"source": "metrics_json", "target": "astro", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts", "source_location": "L1", "weight": 1.0}, {"source": "metrics_json", "target": "metrics_json_recordrequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts", "source_location": "L12", "weight": 1.0}, {"source": "metrics_json", "target": "metrics_json_percentile", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts", "source_location": "L19", "weight": 1.0}, {"source": "metrics_json", "target": "metrics_json_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts", "source_location": "L25", "weight": 1.0}, {"source": "metrics_json", "target": "metrics_json_formatuptime", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts", "source_location": "L85", "weight": 1.0}, {"source": "metrics_json_get", "target": "metrics_json_formatuptime", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts", "source_location": "L49", "weight": 1.0}, {"source": "metrics_json_get", "target": "metrics_json_percentile", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/metrics.json.ts", "source_location": "L58", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "windows_tasks", "label": "windows-tasks.ps1", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/backup/windows-tasks.ps1", "source_location": "L1"}], "edges": []}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "bug_fix_verification_spec", "label": "bug-fix-verification.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/bug-fix-verification.spec.ts", "source_location": "L1"}], "edges": [{"source": "bug_fix_verification_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/bug-fix-verification.spec.ts", "source_location": "L13", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "sitemap_xml", "label": "sitemap.xml.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap.xml.ts", "source_location": "L1"}, {"id": "sitemap_xml_get", "label": "GET()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap.xml.ts", "source_location": "L13"}], "edges": [{"source": "sitemap_xml", "target": "astro", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap.xml.ts", "source_location": "L1", "weight": 1.0}, {"source": "sitemap_xml", "target": "astro_content", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap.xml.ts", "source_location": "L2", "weight": 1.0}, {"source": "sitemap_xml", "target": "sitemap_xml_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap.xml.ts", "source_location": "L13", "weight": 1.0}]}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "config", "label": "config.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/content/config.ts", "source_location": "L1"}], "edges": [{"source": "config", "target": "astro_content", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/content/config.ts", "source_location": "L1", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "theme_spec", "label": "theme.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme.spec.ts", "source_location": "L1"}, {"id": "theme_spec_getthemestate", "label": "getThemeState()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme.spec.ts", "source_location": "L9"}, {"id": "theme_spec_loadpagewithstoredtheme", "label": "loadPageWithStoredTheme()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme.spec.ts", "source_location": "L25"}, {"id": "theme_spec_clickthemetoggle", "label": "clickThemeToggle()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme.spec.ts", "source_location": "L42"}], "edges": [{"source": "theme_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme.spec.ts", "source_location": "L1", "weight": 1.0}, {"source": "theme_spec", "target": "theme_spec_getthemestate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme.spec.ts", "source_location": "L9", "weight": 1.0}, {"source": "theme_spec", "target": "theme_spec_loadpagewithstoredtheme", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme.spec.ts", "source_location": "L25", "weight": 1.0}, {"source": "theme_spec", "target": "theme_spec_clickthemetoggle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme.spec.ts", "source_location": "L42", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "pages_spec", "label": "pages.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages.spec.ts", "source_location": "L1"}], "edges": [{"source": "pages_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages.spec.ts", "source_location": "L1", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "e2e_form_interactions_spec", "label": "e2e-form-interactions.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/e2e-form-interactions.spec.ts", "source_location": "L1"}], "edges": [{"source": "e2e_form_interactions_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/e2e-form-interactions.spec.ts", "source_location": "L1", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "middleware", "label": "middleware.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts", "source_location": "L1"}, {"id": "middleware_validatecsrforigin", "label": "validateCsrfOrigin()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts", "source_location": "L19"}], "edges": [{"source": "middleware", "target": "astro_middleware", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts", "source_location": "L1", "weight": 1.0}, {"source": "middleware", "target": "logger", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts", "source_location": "L2", "weight": 1.0}, {"source": "middleware", "target": "sentry", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts", "source_location": "L3", "weight": 1.0}, {"source": "middleware", "target": "middleware_validatecsrforigin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/middleware.ts", "source_location": "L19", "weight": 1.0}]}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "health_json", "label": "health.json.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/health.json.ts", "source_location": "L1"}, {"id": "health_json_get", "label": "GET()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/health.json.ts", "source_location": "L5"}], "edges": [{"source": "health_json", "target": "astro", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/health.json.ts", "source_location": "L1", "weight": 1.0}, {"source": "health_json", "target": "health_json_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/health.json.ts", "source_location": "L5", "weight": 1.0}]}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "api_integration_spec", "label": "api-integration.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/api-integration.spec.ts", "source_location": "L1"}], "edges": [{"source": "api_integration_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/api-integration.spec.ts", "source_location": "L1", "weight": 1.0}]}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "contact_form_spec", "label": "contact-form.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/contact-form.spec.ts", "source_location": "L1"}], "edges": [{"source": "contact_form_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/contact-form.spec.ts", "source_location": "L1", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "blog_spec", "label": "blog.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/blog.spec.ts", "source_location": "L1"}], "edges": [{"source": "blog_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/blog.spec.ts", "source_location": "L1", "weight": 1.0}]}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "e2e_critical_paths_spec", "label": "e2e-critical-paths.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/e2e-critical-paths.spec.ts", "source_location": "L1"}], "edges": [{"source": "e2e_critical_paths_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/e2e-critical-paths.spec.ts", "source_location": "L1", "weight": 1.0}]}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "destructive_chaos_spec", "label": "destructive-chaos.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/destructive-chaos.spec.ts", "source_location": "L1"}], "edges": [{"source": "destructive_chaos_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/destructive-chaos.spec.ts", "source_location": "L1", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "imageutils", "label": "imageUtils.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/imageUtils.ts", "source_location": "L1"}, {"id": "imageutils_optimizeunsplashurl", "label": "optimizeUnsplashUrl()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/imageUtils.ts", "source_location": "L11"}, {"id": "imageutils_generatesrcset", "label": "generateSrcset()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/imageUtils.ts", "source_location": "L41"}, {"id": "imageutils_getblurplaceholder", "label": "getBlurPlaceholder()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/imageUtils.ts", "source_location": "L65"}], "edges": [{"source": "imageutils", "target": "imageutils_optimizeunsplashurl", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/imageUtils.ts", "source_location": "L11", "weight": 1.0}, {"source": "imageutils", "target": "imageutils_generatesrcset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/imageUtils.ts", "source_location": "L41", "weight": 1.0}, {"source": "imageutils", "target": "imageutils_getblurplaceholder", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/imageUtils.ts", "source_location": "L65", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "sitemap_index_xml", "label": "sitemap-index.xml.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap-index.xml.ts", "source_location": "L1"}, {"id": "sitemap_index_xml_get", "label": "GET()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap-index.xml.ts", "source_location": "L10"}], "edges": [{"source": "sitemap_index_xml", "target": "astro", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap-index.xml.ts", "source_location": "L1", "weight": 1.0}, {"source": "sitemap_index_xml", "target": "sitemap_index_xml_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap-index.xml.ts", "source_location": "L10", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "e2e_blog_navigation_spec", "label": "e2e-blog-navigation.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/e2e-blog-navigation.spec.ts", "source_location": "L1"}], "edges": [{"source": "e2e_blog_navigation_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/e2e-blog-navigation.spec.ts", "source_location": "L1", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "sw", "label": "sw.js", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L1"}, {"id": "sw_isstaticasset", "label": "isStaticAsset()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L126"}, {"id": "sw_cachefirst", "label": "cacheFirst()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L133"}, {"id": "sw_stalewhilerevalidate", "label": "staleWhileRevalidate()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L149"}, {"id": "sw_processsyncqueue", "label": "processSyncQueue()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L184"}, {"id": "sw_opendb", "label": "openDB()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L212"}, {"id": "sw_getallfromdb", "label": "getAllFromDB()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L229"}, {"id": "sw_deletefromdb", "label": "deleteFromDB()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L239"}], "edges": [{"source": "sw", "target": "sw_isstaticasset", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L126", "weight": 1.0}, {"source": "sw", "target": "sw_cachefirst", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L133", "weight": 1.0}, {"source": "sw", "target": "sw_stalewhilerevalidate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L149", "weight": 1.0}, {"source": "sw", "target": "sw_processsyncqueue", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L184", "weight": 1.0}, {"source": "sw", "target": "sw_opendb", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L212", "weight": 1.0}, {"source": "sw", "target": "sw_getallfromdb", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L229", "weight": 1.0}, {"source": "sw", "target": "sw_deletefromdb", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L239", "weight": 1.0}, {"source": "sw_processsyncqueue", "target": "sw_opendb", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L185", "weight": 1.0}, {"source": "sw_processsyncqueue", "target": "sw_getallfromdb", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L186", "weight": 1.0}, {"source": "sw_processsyncqueue", "target": "sw_deletefromdb", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/public/sw.js", "source_location": "L197", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "env_d", "label": "env.d.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/env.d.ts", "source_location": "L1"}], "edges": []}
@@ -0,0 +1 @@
{"nodes": [{"id": "playwright_config", "label": "playwright.config.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/playwright.config.ts", "source_location": "L1"}], "edges": [{"source": "playwright_config", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/playwright.config.ts", "source_location": "L1", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "theme_cross_browser_spec", "label": "theme-cross-browser.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts", "source_location": "L1"}, {"id": "theme_cross_browser_spec_getthemestate", "label": "getThemeState()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts", "source_location": "L19"}, {"id": "theme_cross_browser_spec_setstoredtheme", "label": "setStoredTheme()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts", "source_location": "L36"}, {"id": "theme_cross_browser_spec_loadwiththeme", "label": "loadWithTheme()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts", "source_location": "L45"}, {"id": "theme_cross_browser_spec_clicktoggle", "label": "clickToggle()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts", "source_location": "L51"}, {"id": "theme_cross_browser_spec_get", "label": "get()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts", "source_location": "L193"}], "edges": [{"source": "theme_cross_browser_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts", "source_location": "L1", "weight": 1.0}, {"source": "theme_cross_browser_spec", "target": "theme_cross_browser_spec_getthemestate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts", "source_location": "L19", "weight": 1.0}, {"source": "theme_cross_browser_spec", "target": "theme_cross_browser_spec_setstoredtheme", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts", "source_location": "L36", "weight": 1.0}, {"source": "theme_cross_browser_spec", "target": "theme_cross_browser_spec_loadwiththeme", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts", "source_location": "L45", "weight": 1.0}, {"source": "theme_cross_browser_spec", "target": "theme_cross_browser_spec_clicktoggle", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts", "source_location": "L51", "weight": 1.0}, {"source": "theme_cross_browser_spec", "target": "theme_cross_browser_spec_get", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts", "source_location": "L193", "weight": 1.0}, {"source": "theme_cross_browser_spec_loadwiththeme", "target": "theme_cross_browser_spec_setstoredtheme", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/theme-cross-browser.spec.ts", "source_location": "L47", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "navigation_spec", "label": "navigation.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/navigation.spec.ts", "source_location": "L1"}], "edges": [{"source": "navigation_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/navigation.spec.ts", "source_location": "L1", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "accessibility_spec", "label": "accessibility.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/accessibility.spec.ts", "source_location": "L1"}], "edges": [{"source": "accessibility_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/accessibility.spec.ts", "source_location": "L1", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "animations", "label": "animations.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L1"}, {"id": "animations_initscrollreveal", "label": "initScrollReveal()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L10"}, {"id": "animations_initcounters", "label": "initCounters()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L42"}, {"id": "animations_animatecounter", "label": "animateCounter()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L65"}, {"id": "animations_initbuttonripple", "label": "initButtonRipple()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L88"}, {"id": "animations_initprogressbars", "label": "initProgressBars()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L104"}, {"id": "animations_initallanimations", "label": "initAllAnimations()", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L128"}], "edges": [{"source": "animations", "target": "animations_initscrollreveal", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L10", "weight": 1.0}, {"source": "animations", "target": "animations_initcounters", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L42", "weight": 1.0}, {"source": "animations", "target": "animations_animatecounter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L65", "weight": 1.0}, {"source": "animations", "target": "animations_initbuttonripple", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L88", "weight": 1.0}, {"source": "animations", "target": "animations_initprogressbars", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L104", "weight": 1.0}, {"source": "animations", "target": "animations_initallanimations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L128", "weight": 1.0}, {"source": "animations_initallanimations", "target": "animations_initscrollreveal", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L129", "weight": 1.0}, {"source": "animations_initallanimations", "target": "animations_initcounters", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L130", "weight": 1.0}, {"source": "animations_initallanimations", "target": "animations_initbuttonripple", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L131", "weight": 1.0}, {"source": "animations_initallanimations", "target": "animations_initprogressbars", "relation": "calls", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/utils/animations.ts", "source_location": "L132", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "newsletter_subscription_spec", "label": "newsletter-subscription.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/newsletter-subscription.spec.ts", "source_location": "L1"}], "edges": [{"source": "newsletter_subscription_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/newsletter-subscription.spec.ts", "source_location": "L1", "weight": 1.0}]}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "e2e_smoke_suite_spec", "label": "e2e-smoke-suite.spec.ts", "file_type": "code", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/e2e-smoke-suite.spec.ts", "source_location": "L1"}], "edges": [{"source": "e2e_smoke_suite_spec", "target": "test", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/e2e-smoke-suite.spec.ts", "source_location": "L1", "weight": 1.0}]}
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff