{
  "schema_version": "1.0.0",
  "scanner": {
    "name": "global-capability-catalog",
    "version": "0.1.0"
  },
  "repo": {
    "id": "github-recent__mbarbine__ph3ar-webby",
    "name": "mbarbine__PH3AR-WEBBY",
    "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__PH3AR-WEBBY",
    "relative_path": "github-recent/mbarbine__PH3AR-WEBBY",
    "remote_url": "git@github.com:mbarbine/PH3AR-WEBBY.git",
    "default_branch": "main",
    "current_commit": "ff2ad9b5c4d2140010469d6727e8854143d0b797"
  },
  "languages": [
    {
      "language": "Svelte",
      "files": 18,
      "bytes": 117443
    },
    {
      "language": "TypeScript",
      "files": 23,
      "bytes": 56684
    },
    {
      "language": "JavaScript",
      "files": 21,
      "bytes": 35562
    },
    {
      "language": "Markdown",
      "files": 1,
      "bytes": 4854
    },
    {
      "language": "JSON",
      "files": 4,
      "bytes": 3868
    },
    {
      "language": "HTML",
      "files": 1,
      "bytes": 3369
    },
    {
      "language": "Python",
      "files": 2,
      "bytes": 2537
    },
    {
      "language": "Shell",
      "files": 1,
      "bytes": 1768
    },
    {
      "language": "CSS",
      "files": 1,
      "bytes": 868
    },
    {
      "language": "YAML",
      "files": 1,
      "bytes": 101
    }
  ],
  "frameworks": [
    {
      "name": "Svelte",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "Tailwind CSS",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "Vite",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "Vitest",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    }
  ],
  "packages": {
    "package_manager": "bun",
    "manifests": [
      {
        "path": "package.json",
        "name": "sveltekit-2",
        "version": "0.0.1",
        "scripts": {
          "dev": "vite dev",
          "build": "vite build",
          "preview": "vite preview",
          "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
          "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
          "test": "playwright test",
          "test:unit": "vitest",
          "lint": "prettier --plugin-search-dir . --check . && eslint .",
          "format": "prettier --plugin-search-dir . --write .",
          "clean": "rimraf .svelte-kit && rimraf build && rimraf dist",
          "ci:test": "npm run check && npm run lint && npm run test"
        },
        "dependencies": {
          "@fullhuman/postcss-purgecss": "^6.0.0",
          "@mapbox/node-pre-gyp": "^1.0.11",
          "@neoconfetti/svelte": "^2.2.1",
          "@poppanator/sveltekit-svg": "^4.2.1",
          "@sveltejs/adapter-auto": "^3.2.4",
          "@sveltejs/adapter-static": "^3.0.4",
          "@sveltejs/package": "^2.3.4",
          "@sveltejs/vite-plugin-svelte-inspector": "^2.1.0",
          "@vercel/analytics": "^1.4.0",
          "@vercel/kv": "^0.2.4",
          "ai": "^3.3.7",
          "colord": "^2.9.3",
          "dequal": "^2.0.3",
          "devalue": "^5.0.0",
          "esbuild": "^0.23.0",
          "eventsource-parser": "^2.0.1",
          "graceful-fs": "^4.2.11",
          "magic-string": "^0.30.11",
          "mkdirp": "^3.0.1",
          "openai": "^4.56.0",
          "postcss-load-config": "^5.1.0",
          "postcss-preset-env": "^10.0.1",
          "purgecss": "^6.0.0",
          "svelte-add": "^2.7.3",
          "svelte-file-dropzone": "^2.0.7",
          "svelte-i18n": "^4.0.0",
          "svelte-subscribe": "^2.0.1",
          "svelte-transitions": "^1.2.0",
          "vite-imagetools": "^7.0.4"
        },
        "dev_dependencies": {
          "@playwright/test": "^1.40.1",
          "@sveltejs/adapter-vercel": "^4.0.5",
          "@sveltejs/kit": "^2.5.22",
          "@sveltejs/vite-plugin-svelte": "^3.0.0",
          "@tailwindcss/typography": "^0.5.14",
          "@testing-library/jest-dom": "^6.9.1",
          "@testing-library/svelte": "^5.3.1",
          "@types/node": "^22.4.0",
          "@typescript-eslint/eslint-plugin": "^5.45.0",
          "@typescript-eslint/parser": "^5.45.0",
          "autoprefixer": "^10.4.20",
          "cssnano": "^5.1.15",
          "eslint": "^8.28.0",
          "eslint-config-prettier": "^8.5.0",
          "eslint-plugin-svelte": "^2.35.1",
          "jsdom": "^28.1.0",
          "postcss": "^8.4.41",
          "postcss-nested": "^5.0.6",
          "prettier": "^2.8.0",
          "prettier-plugin-svelte": "^2.10.1",
          "rimraf": "^4.1.2",
          "sass": "^1.77.8",
          "svelte": "^4.2.18",
          "svelte-check": "^3.4.3",
          "svelte-preprocess": "^6.0.2",
          "tailwindcss": "^3.4.10",
          "typescript": "^5.0.0",
          "vite": "^5.2.10",
          "vitest": "^0.25.8",
          "web-vitals": "^3.5.0"
        }
      }
    ]
  },
  "routes": {
    "api_routes": [
      {
        "route": "/api/getMediaDetails",
        "source_path": "src/routes/api/getMediaDetails/+server.ts",
        "kind": "sveltekit-server-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/api/getMediaDetailsBatch",
        "source_path": "src/routes/api/getMediaDetailsBatch/+server.ts",
        "kind": "sveltekit-server-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/api/getRecommendation",
        "source_path": "src/routes/api/getRecommendation/+server.ts",
        "kind": "sveltekit-server-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/api/health",
        "source_path": "src/routes/api/health/+server.ts",
        "kind": "sveltekit-server-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/api/jobs/generate",
        "source_path": "src/routes/api/jobs/generate/+server.ts",
        "kind": "sveltekit-server-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/api/verify-secret",
        "source_path": "src/routes/api/verify-secret/+server.ts",
        "kind": "sveltekit-server-route",
        "methods": [
          "UNKNOWN"
        ]
      },
      {
        "route": "/feed.xml",
        "source_path": "src/routes/feed.xml/+server.ts",
        "kind": "sveltekit-server-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/rss.xml",
        "source_path": "src/routes/rss.xml/+server.ts",
        "kind": "sveltekit-server-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/sitemap.xml",
        "source_path": "src/routes/sitemap.xml/+server.ts",
        "kind": "sveltekit-server-route",
        "methods": [
          "GET"
        ]
      }
    ],
    "app_routes": [
      {
        "route": "/about",
        "source_path": "src/routes/about/+page.js",
        "kind": "sveltekit-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/about",
        "source_path": "src/routes/about/+page.svelte",
        "kind": "sveltekit-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/api-docs",
        "source_path": "src/routes/api-docs/+page.svelte",
        "kind": "sveltekit-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/careers",
        "source_path": "src/routes/careers/+page.svelte",
        "kind": "sveltekit-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/contact",
        "source_path": "src/routes/contact/+page.svelte",
        "kind": "sveltekit-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/faq",
        "source_path": "src/routes/faq/+page.svelte",
        "kind": "sveltekit-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/jobs",
        "source_path": "src/routes/jobs/+page.svelte",
        "kind": "sveltekit-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/privacy",
        "source_path": "src/routes/privacy/+page.svelte",
        "kind": "sveltekit-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/roadmap",
        "source_path": "src/routes/roadmap/+page.svelte",
        "kind": "sveltekit-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/watch-this",
        "source_path": "src/routes/watch-this/+page.svelte",
        "kind": "sveltekit-page",
        "methods": [
          "GET"
        ]
      }
    ]
  },
  "components": [],
  "data_models": [],
  "database": {
    "databases": [],
    "schemas": [],
    "migrations": []
  },
  "tests": [
    {
      "name": "playwright.config.js",
      "kind": "playwright",
      "source_path": "playwright.config.js"
    },
    {
      "name": "run_test.cjs",
      "kind": "unit-or-integration",
      "source_path": "run_test.cjs"
    },
    {
      "name": "run-test.cjs",
      "kind": "unit-or-integration",
      "source_path": "run-test.cjs"
    },
    {
      "name": "benchmark.test.js",
      "kind": "unit-or-integration",
      "source_path": "src/benchmark.test.js"
    },
    {
      "name": "SecretModal.spec.ts",
      "kind": "unit-or-integration",
      "source_path": "src/lib/SecretModal.spec.ts"
    },
    {
      "name": "vitals.spec.js",
      "kind": "unit-or-integration",
      "source_path": "src/lib/vitals.spec.js"
    },
    {
      "name": "getMediaDetails.test.ts",
      "kind": "unit-or-integration",
      "source_path": "src/routes/api/getMediaDetails/getMediaDetails.test.ts"
    },
    {
      "name": "kv.test.ts",
      "kind": "unit-or-integration",
      "source_path": "src/routes/api/getMediaDetails/kv.test.ts"
    },
    {
      "name": "kvWriteFailure.test.ts",
      "kind": "unit-or-integration",
      "source_path": "src/routes/api/getMediaDetails/kvWriteFailure.test.ts"
    },
    {
      "name": "server.test.ts",
      "kind": "unit-or-integration",
      "source_path": "src/routes/api/getMediaDetails/server.test.ts"
    },
    {
      "name": "server.test.ts",
      "kind": "unit-or-integration",
      "source_path": "src/routes/api/getMediaDetailsBatch/server.test.ts"
    },
    {
      "name": "server.test.ts",
      "kind": "unit-or-integration",
      "source_path": "src/routes/api/getRecommendation/server.test.ts"
    },
    {
      "name": "health.test.ts",
      "kind": "unit-or-integration",
      "source_path": "src/routes/api/health/health.test.ts"
    },
    {
      "name": "sitemap.spec.ts",
      "kind": "unit-or-integration",
      "source_path": "src/routes/sitemap.xml/sitemap.spec.ts"
    },
    {
      "name": "page.test.ts",
      "kind": "unit-or-integration",
      "source_path": "src/routes/watch-this/page.test.ts"
    },
    {
      "name": "performance.spec.js",
      "kind": "unit-or-integration",
      "source_path": "tests/performance.spec.js"
    },
    {
      "name": "test.js",
      "kind": "unit-or-integration",
      "source_path": "tests/test.js"
    }
  ],
  "ci": {
    "workflows": []
  },
  "containers": {
    "dockerfiles": [],
    "compose_files": []
  },
  "env": {
    "example_files": [],
    "variables": [
      {
        "name": "GTM_ID",
        "source_paths": [
          "src/routes/+layout.server.js"
        ],
        "likely_secret": false
      },
      {
        "name": "KV_REST_API_TOKEN",
        "source_paths": [
          "src/benchmark.test.js",
          "src/routes/api/getMediaDetails/+server.ts",
          "src/routes/api/getMediaDetailsBatch/+server.ts",
          "src/routes/api/getRecommendation/_temp_server.cjs",
          "src/routes/api/getRecommendation/+server.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "KV_REST_API_URL",
        "source_paths": [
          "src/benchmark.test.js",
          "src/routes/api/getMediaDetails/+server.ts",
          "src/routes/api/getMediaDetailsBatch/+server.ts",
          "src/routes/api/getRecommendation/_temp_server.cjs",
          "src/routes/api/getRecommendation/+server.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "MOCK_KV_TOKEN",
        "source_paths": [
          "src/routes/api/getRecommendation/server.test.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "MOCK_KV_URL",
        "source_paths": [
          "src/routes/api/getRecommendation/server.test.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "MOCK_OPENAI_KEY",
        "source_paths": [
          "src/routes/api/getRecommendation/server.test.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "OMDB_API_KEY",
        "source_paths": [
          "src/benchmark.test.js",
          "src/routes/api/getMediaDetails/+server.ts",
          "src/routes/api/getMediaDetailsBatch/+server.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "OPENAI_API_KEY",
        "source_paths": [
          "src/benchmark.test.js",
          "src/routes/api/getMediaDetails/+server.ts",
          "src/routes/api/getMediaDetailsBatch/+server.ts",
          "src/routes/api/getRecommendation/_temp_server.cjs",
          "src/routes/api/getRecommendation/+server.ts",
          "src/routes/api/jobs/generate/+server.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "VERCEL_ANALYTICS_ID",
        "source_paths": [
          "src/routes/+layout.server.js"
        ],
        "likely_secret": false
      }
    ]
  },
  "configs": [
    {
      "path": "jsconfig.json"
    },
    {
      "path": "package.json"
    },
    {
      "path": "pnpm-workspace.yaml"
    },
    {
      "path": "postcss.config.cjs"
    },
    {
      "path": "svelte.config.js"
    },
    {
      "path": "tailwind.config.cjs"
    },
    {
      "path": "tsconfig.json"
    },
    {
      "path": "vite.config.js"
    }
  ],
  "docs": {
    "readme_paths": [
      {
        "path": "README.md"
      }
    ],
    "doc_paths": [],
    "llms_context_paths": [
      {
        "path": "static/llms-full.txt"
      },
      {
        "path": "static/llms.txt"
      }
    ]
  },
  "discovery_files": {
    "openapi": [],
    "mcp": [],
    "llms": [
      {
        "path": "static/llms-full.txt"
      },
      {
        "path": "static/llms.txt"
      }
    ],
    "sitemaps": [],
    "feeds": [],
    "well_known": [],
    "robots": [
      {
        "path": "static/robots.txt"
      }
    ],
    "manifests": []
  },
  "integrations": [
    {
      "name": "OpenAI",
      "confidence": "medium",
      "evidence_paths": [
        "package.json",
        "src/__mocks__/env.js",
        "src/benchmark.test.js",
        "src/routes/api/getMediaDetails/+server.ts",
        "src/routes/api/getMediaDetails/getMediaDetails.test.ts",
        "src/routes/api/getMediaDetails/server.test.ts",
        "src/routes/api/getMediaDetailsBatch/+server.ts",
        "src/routes/api/getMediaDetailsBatch/server.test.ts",
        "src/routes/api/getRecommendation/_temp_server.cjs",
        "src/routes/api/getRecommendation/+server.ts",
        "src/routes/api/getRecommendation/server.test.ts"
      ]
    },
    {
      "name": "Vercel",
      "confidence": "medium",
      "evidence_paths": [
        "package.json",
        "src/benchmark.test.js",
        "src/routes/+layout.server.js",
        "src/routes/+layout.svelte",
        "src/routes/api/getMediaDetails/+server.ts",
        "src/routes/api/getMediaDetails/kv.test.ts",
        "src/routes/api/getMediaDetails/kvWriteFailure.test.ts",
        "src/routes/api/getMediaDetailsBatch/+server.ts",
        "src/routes/api/getMediaDetailsBatch/benchmark.ts",
        "src/routes/api/getMediaDetailsBatch/server.test.ts",
        "svelte.config.js"
      ]
    }
  ],
  "license": {
    "spdx": null,
    "paths": []
  },
  "comments": [
    {
      "kind": "security",
      "source_path": "src/routes/api/jobs/generate/+server.ts",
      "line": 10,
      "text": "let jobDescription = \"Lead the integration of Platphorm News Network's AI capabilities into the PH3AR platform. Responsible for architecting robust, scalable, and secure API gateways, focusing on next-gen gaming and predictive analytics.\\n\\"
    },
    {
      "kind": "unsafe",
      "source_path": "src/routes/rss.xml/+server.ts",
      "line": 58,
      "text": "function escapeXml(unsafe: string): string {"
    },
    {
      "kind": "unsafe",
      "source_path": "src/routes/rss.xml/+server.ts",
      "line": 59,
      "text": "return unsafe"
    },
    {
      "kind": "security",
      "source_path": "static/llms-full.txt",
      "line": 144,
      "text": "## Authentication & Security"
    },
    {
      "kind": "unsafe",
      "source_path": "svelte.config.js",
      "line": 38,
      "text": "'style-src': ['self', 'unsafe-inline'],"
    }
  ],
  "security": {
    "secret_risks": [],
    "unsafe_patterns": [
      {
        "name": "child-process-exec",
        "confidence": "medium",
        "evidence_paths": [
          "run_test.cjs",
          "run-test.cjs"
        ]
      }
    ],
    "sensitive_data_indicators": [
      {
        "name": "api_key",
        "confidence": "medium",
        "evidence_paths": [
          "src/__mocks__/env.js",
          "src/benchmark.test.js",
          "src/routes/api/getMediaDetails/+server.ts",
          "src/routes/api/getMediaDetails/kv.test.ts",
          "src/routes/api/getMediaDetails/kvWriteFailure.test.ts",
          "src/routes/api/getMediaDetails/server.test.ts",
          "src/routes/api/getMediaDetailsBatch/+server.ts",
          "src/routes/api/getMediaDetailsBatch/server.test.ts",
          "src/routes/api/getRecommendation/_temp_server.cjs",
          "src/routes/api/getRecommendation/+server.ts",
          "src/routes/api/getRecommendation/server.test.ts",
          "src/routes/api/jobs/generate/+server.ts",
          "tests/test.js"
        ]
      },
      {
        "name": "card",
        "confidence": "medium",
        "evidence_paths": [
          "debug_watch_this.py",
          "src/app.html",
          "src/routes/+page.svelte",
          "src/routes/about/+page.svelte",
          "src/routes/api-docs/+page.svelte",
          "src/routes/careers/+page.svelte",
          "src/routes/contact/+page.svelte",
          "src/routes/roadmap/+page.svelte",
          "src/routes/watch-this/+page.svelte",
          "tree.txt",
          "verify_watch_this_real.py"
        ]
      },
      {
        "name": "email",
        "confidence": "medium",
        "evidence_paths": [
          "src/app.d.ts",
          "src/routes/careers/+page.svelte",
          "src/routes/contact/+page.svelte",
          "src/routes/privacy/+page.svelte",
          "tests/performance.spec.js"
        ]
      },
      {
        "name": "health",
        "confidence": "medium",
        "evidence_paths": [
          "src/routes/api/health/health.test.ts",
          "src/routes/careers/+page.svelte",
          "static/llms.txt"
        ]
      },
      {
        "name": "location",
        "confidence": "medium",
        "evidence_paths": [
          "src/lib/vitals.js",
          "src/lib/vitals.spec.js",
          "src/routes/api/jobs/generate/+server.ts",
          "src/routes/careers/+page.svelte",
          "src/routes/feed.xml/+server.ts"
        ]
      },
      {
        "name": "secret-like environment variables",
        "confidence": "medium",
        "evidence_paths": [
          "package.json"
        ]
      },
      {
        "name": "token",
        "confidence": "medium",
        "evidence_paths": [
          "src/benchmark.test.js",
          "src/routes/api/getMediaDetails/+server.ts",
          "src/routes/api/getMediaDetails/kv.test.ts",
          "src/routes/api/getMediaDetails/kvWriteFailure.test.ts",
          "src/routes/api/getMediaDetailsBatch/+server.ts",
          "src/routes/api/getMediaDetailsBatch/server.test.ts",
          "src/routes/api/getRecommendation/_temp_server.cjs",
          "src/routes/api/getRecommendation/+server.ts",
          "src/routes/api/getRecommendation/server.test.ts"
        ]
      }
    ]
  },
  "generated_at": "2026-05-16T16:44:12.105Z"
}
