{
  "schema_version": "1.0.0",
  "scanner": {
    "name": "global-capability-catalog",
    "version": "0.1.0"
  },
  "repo": {
    "id": "github-recent__mbarbine__platphorm-jules",
    "name": "mbarbine__platphorm-jules",
    "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__platphorm-jules",
    "relative_path": "github-recent/mbarbine__platphorm-jules",
    "remote_url": "git@github.com:mbarbine/platphorm-jules.git",
    "default_branch": "main",
    "current_commit": "fa4706b84d3c99e3291a2116bec8795d120eec2d"
  },
  "languages": [
    {
      "language": "TypeScript",
      "files": 255,
      "bytes": 733670
    },
    {
      "language": "JSON",
      "files": 6,
      "bytes": 394715
    },
    {
      "language": "YAML",
      "files": 2,
      "bytes": 272135
    },
    {
      "language": "Markdown",
      "files": 5,
      "bytes": 17899
    },
    {
      "language": "CSS",
      "files": 2,
      "bytes": 9567
    },
    {
      "language": "JavaScript",
      "files": 3,
      "bytes": 2710
    },
    {
      "language": "Dockerfile",
      "files": 1,
      "bytes": 1007
    }
  ],
  "frameworks": [
    {
      "name": "Next.js",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "React",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "Tailwind CSS",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "Vitest",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    }
  ],
  "packages": {
    "package_manager": "pnpm",
    "manifests": [
      {
        "path": "package.json",
        "name": "my-project",
        "version": "0.1.0",
        "scripts": {
          "dev": "next dev",
          "build": "next build --webpack",
          "start": "next start",
          "register": "npx tsx scripts/register.ts",
          "test": "vitest run",
          "test:e2e": "playwright test",
          "test:e2e:headed": "playwright test --headed",
          "test:e2e:install": "playwright install chromium",
          "lint": "eslint ."
        },
        "dependencies": {
          "@hookform/resolvers": "^3.10.0",
          "@radix-ui/react-accordion": "1.2.12",
          "@radix-ui/react-alert-dialog": "1.1.15",
          "@radix-ui/react-aspect-ratio": "1.1.8",
          "@radix-ui/react-avatar": "1.1.11",
          "@radix-ui/react-checkbox": "1.3.3",
          "@radix-ui/react-collapsible": "1.1.12",
          "@radix-ui/react-context-menu": "2.2.16",
          "@radix-ui/react-dialog": "1.1.15",
          "@radix-ui/react-dropdown-menu": "2.1.16",
          "@radix-ui/react-hover-card": "1.1.15",
          "@radix-ui/react-label": "2.1.8",
          "@radix-ui/react-menubar": "1.1.16",
          "@radix-ui/react-navigation-menu": "1.2.14",
          "@radix-ui/react-popover": "1.1.15",
          "@radix-ui/react-progress": "1.1.8",
          "@radix-ui/react-radio-group": "1.3.8",
          "@radix-ui/react-scroll-area": "1.2.10",
          "@radix-ui/react-select": "2.2.6",
          "@radix-ui/react-separator": "1.1.8",
          "@radix-ui/react-slider": "1.3.6",
          "@radix-ui/react-slot": "1.2.4",
          "@radix-ui/react-switch": "1.2.6",
          "@radix-ui/react-tabs": "1.1.13",
          "@radix-ui/react-toast": "1.2.15",
          "@radix-ui/react-toggle": "1.1.10",
          "@radix-ui/react-toggle-group": "1.1.11",
          "@radix-ui/react-tooltip": "1.2.8",
          "@vercel/analytics": "1.6.1",
          "autoprefixer": "^10.5.0",
          "class-variance-authority": "^0.7.1",
          "clsx": "^2.1.1",
          "cmdk": "1.1.1",
          "date-fns": "4.1.0",
          "embla-carousel-react": "8.6.0",
          "eslint-config-next": "14.1.0",
          "input-otp": "1.4.2",
          "lucide-react": "^0.564.0",
          "next": "16.1.6",
          "next-themes": "^0.4.6",
          "react": "19.2.4",
          "react-day-picker": "9.13.2",
          "react-dom": "19.2.4",
          "react-hook-form": "^7.73.1",
          "react-resizable-panels": "^2.1.9",
          "recharts": "2.15.0",
          "sonner": "^1.7.4",
          "swr": "^2.4.1",
          "tailwind-merge": "^3.5.0",
          "vaul": "^1.1.2",
          "zod": "^3.25.76"
        },
        "dev_dependencies": {
          "@playwright/test": "^1.59.1",
          "@tailwindcss/postcss": "^4.2.4",
          "@testing-library/dom": "^10.4.1",
          "@testing-library/jest-dom": "^6.9.1",
          "@testing-library/react": "^16.3.2",
          "@types/node": "^22.19.17",
          "@types/react": "19.2.14",
          "@types/react-dom": "19.2.3",
          "@vitejs/plugin-react": "^6.0.1",
          "@vitest/coverage-v8": "^4.1.5",
          "eslint": "^8.57.1",
          "jsdom": "^29.0.2",
          "next-test-api-route-handler": "^5.0.4",
          "postcss": "^8.5.10",
          "tailwindcss": "^4.2.4",
          "test-listen": "^1.1.0",
          "tw-animate-css": "1.3.3",
          "typescript": "5.7.3",
          "vitest": "^4.1.5"
        }
      }
    ]
  },
  "routes": {
    "api_routes": [
      {
        "route": "/[...path]",
        "source_path": "app/api/[...path]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/capabilities",
        "source_path": "app/api/capabilities/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/docs",
        "source_path": "app/api/docs/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/github/auth-status",
        "source_path": "app/api/github/auth-status/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/github/repositories/create",
        "source_path": "app/api/github/repositories/create/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/github/repositories",
        "source_path": "app/api/github/repositories/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/health",
        "source_path": "app/api/health/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/mcp",
        "source_path": "app/api/mcp/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/register",
        "source_path": "app/api/register/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v0/agent-run/[id]",
        "source_path": "app/api/v0/agent-run/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v0/agent-run/[id]/tool-calls",
        "source_path": "app/api/v0/agent-run/[id]/tool-calls/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v0/realm/[id]",
        "source_path": "app/api/v0/realm/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/auth-status",
        "source_path": "app/api/v1/auth-status/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/calendar/events",
        "source_path": "app/api/v1/calendar/events/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/v1/capabilities",
        "source_path": "app/api/v1/capabilities/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/docs",
        "source_path": "app/api/v1/docs/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/health",
        "source_path": "app/api/v1/health/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/integrations/browserops/run",
        "source_path": "app/api/v1/integrations/browserops/run/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/integrations/docs/report",
        "source_path": "app/api/v1/integrations/docs/report/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/integrations/evals/run",
        "source_path": "app/api/v1/integrations/evals/run/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/integrations/kanban/create-tasks",
        "source_path": "app/api/v1/integrations/kanban/create-tasks/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/integrations/mcp/sync",
        "source_path": "app/api/v1/integrations/mcp/sync/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/integrations",
        "source_path": "app/api/v1/integrations/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/integrations/sandbox/dry-run",
        "source_path": "app/api/v1/integrations/sandbox/dry-run/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/integrations/status",
        "source_path": "app/api/v1/integrations/status/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/kanban/board",
        "source_path": "app/api/v1/kanban/board/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/kanban/tasks",
        "source_path": "app/api/v1/kanban/tasks/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/v1/mcp/network",
        "source_path": "app/api/v1/mcp/network/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/mcp",
        "source_path": "app/api/v1/mcp/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/mcp/sites",
        "source_path": "app/api/v1/mcp/sites/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/mcp/tools",
        "source_path": "app/api/v1/mcp/tools/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/v1/network/discovery-compliance",
        "source_path": "app/api/v1/network/discovery-compliance/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/network/graph",
        "source_path": "app/api/v1/network/graph/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/network/graph/sync",
        "source_path": "app/api/v1/network/graph/sync/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/network/route-compliance",
        "source_path": "app/api/v1/network/route-compliance/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/network/sites",
        "source_path": "app/api/v1/network/sites/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/network/trusted-domains",
        "source_path": "app/api/v1/network/trusted-domains/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/onboard/applications/[id]",
        "source_path": "app/api/v1/onboard/applications/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/onboard/applications",
        "source_path": "app/api/v1/onboard/applications/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/onboard/import/[id]/create-kanban-tasks",
        "source_path": "app/api/v1/onboard/import/[id]/create-kanban-tasks/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/onboard/import/[id]/create-session",
        "source_path": "app/api/v1/onboard/import/[id]/create-session/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/onboard/import/[id]/generate-docs",
        "source_path": "app/api/v1/onboard/import/[id]/generate-docs/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/onboard/import/[id]/generate-plan",
        "source_path": "app/api/v1/onboard/import/[id]/generate-plan/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/onboard/import",
        "source_path": "app/api/v1/onboard/import/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/plans/[id]",
        "source_path": "app/api/v1/plans/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1/sessions/[id]/export",
        "source_path": "app/api/v1/sessions/[id]/export/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/sessions/[id]/messages",
        "source_path": "app/api/v1/sessions/[id]/messages/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/v1/sessions/[id]/plans",
        "source_path": "app/api/v1/sessions/[id]/plans/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/v1/sessions/[id]",
        "source_path": "app/api/v1/sessions/[id]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "DELETE",
          "GET",
          "PUT"
        ]
      },
      {
        "route": "/v1/sessions/import",
        "source_path": "app/api/v1/sessions/import/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "POST"
        ]
      },
      {
        "route": "/v1/sessions",
        "source_path": "app/api/v1/sessions/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/v1alpha/auth-status",
        "source_path": "app/api/v1alpha/auth-status/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1alpha/sessions/[sessionId]/activities",
        "source_path": "app/api/v1alpha/sessions/[sessionId]/activities/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/v1alpha/sessions/[sessionId]",
        "source_path": "app/api/v1alpha/sessions/[sessionId]/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "DELETE",
          "GET",
          "POST"
        ]
      },
      {
        "route": "/v1alpha/sessions",
        "source_path": "app/api/v1alpha/sessions/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      },
      {
        "route": "/v1alpha/sources",
        "source_path": "app/api/v1alpha/sources/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/webhooks",
        "source_path": "app/api/webhooks/route.ts",
        "kind": "next-app-api-route",
        "methods": [
          "GET",
          "POST"
        ]
      }
    ],
    "app_routes": [
      {
        "route": "/create",
        "source_path": "app/(main)/create/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/dashboard",
        "source_path": "app/(main)/dashboard/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/faq",
        "source_path": "app/(main)/faq/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/modernize/callback",
        "source_path": "app/(main)/modernize/callback/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/modernize",
        "source_path": "app/(main)/modernize/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/(main)",
        "source_path": "app/(main)/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/roadmap",
        "source_path": "app/(main)/roadmap/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/jobs",
        "source_path": "app/jobs/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      },
      {
        "route": "/session/[id]",
        "source_path": "app/session/[id]/page.tsx",
        "kind": "next-app-page",
        "methods": [
          "GET"
        ]
      }
    ]
  },
  "components": [
    {
      "name": "activity-item.test",
      "kind": "ui-component",
      "source_path": "components/jules/activity-item.test.tsx"
    },
    {
      "name": "activity-item",
      "kind": "ui-component",
      "source_path": "components/jules/activity-item.tsx"
    },
    {
      "name": "bottom-nav",
      "kind": "ui-component",
      "source_path": "components/jules/bottom-nav.tsx"
    },
    {
      "name": "breadcrumb-usage.test",
      "kind": "ui-component",
      "source_path": "components/jules/breadcrumb-usage.test.tsx"
    },
    {
      "name": "breadcrumbs.test",
      "kind": "ui-component",
      "source_path": "components/jules/breadcrumbs.test.tsx"
    },
    {
      "name": "breadcrumbs",
      "kind": "ui-component",
      "source_path": "components/jules/breadcrumbs.tsx"
    },
    {
      "name": "code-block.test",
      "kind": "ui-component",
      "source_path": "components/jules/code-block.test.tsx"
    },
    {
      "name": "code-block",
      "kind": "ui-component",
      "source_path": "components/jules/code-block.tsx"
    },
    {
      "name": "empty-state.test",
      "kind": "ui-component",
      "source_path": "components/jules/empty-state.test.tsx"
    },
    {
      "name": "empty-state",
      "kind": "ui-component",
      "source_path": "components/jules/empty-state.tsx"
    },
    {
      "name": "header.test",
      "kind": "ui-component",
      "source_path": "components/jules/header.test.tsx"
    },
    {
      "name": "header",
      "kind": "ui-component",
      "source_path": "components/jules/header.tsx"
    },
    {
      "name": "loading-overlay.test",
      "kind": "ui-component",
      "source_path": "components/jules/loading-overlay.test.tsx"
    },
    {
      "name": "loading-overlay",
      "kind": "ui-component",
      "source_path": "components/jules/loading-overlay.tsx"
    },
    {
      "name": "session-card.test",
      "kind": "ui-component",
      "source_path": "components/jules/session-card.test.tsx"
    },
    {
      "name": "session-card",
      "kind": "ui-component",
      "source_path": "components/jules/session-card.tsx"
    },
    {
      "name": "providers",
      "kind": "ui-component",
      "source_path": "components/providers.tsx"
    },
    {
      "name": "theme-provider",
      "kind": "ui-component",
      "source_path": "components/theme-provider.tsx"
    },
    {
      "name": "accordion",
      "kind": "ui-component",
      "source_path": "components/ui/accordion.tsx"
    },
    {
      "name": "alert-dialog",
      "kind": "ui-component",
      "source_path": "components/ui/alert-dialog.tsx"
    },
    {
      "name": "alert",
      "kind": "ui-component",
      "source_path": "components/ui/alert.tsx"
    },
    {
      "name": "aspect-ratio",
      "kind": "ui-component",
      "source_path": "components/ui/aspect-ratio.tsx"
    },
    {
      "name": "avatar",
      "kind": "ui-component",
      "source_path": "components/ui/avatar.tsx"
    },
    {
      "name": "badge",
      "kind": "ui-component",
      "source_path": "components/ui/badge.tsx"
    },
    {
      "name": "breadcrumb",
      "kind": "ui-component",
      "source_path": "components/ui/breadcrumb.tsx"
    },
    {
      "name": "button-group",
      "kind": "ui-component",
      "source_path": "components/ui/button-group.tsx"
    },
    {
      "name": "button",
      "kind": "ui-component",
      "source_path": "components/ui/button.tsx"
    },
    {
      "name": "calendar",
      "kind": "ui-component",
      "source_path": "components/ui/calendar.tsx"
    },
    {
      "name": "card",
      "kind": "ui-component",
      "source_path": "components/ui/card.tsx"
    },
    {
      "name": "carousel",
      "kind": "ui-component",
      "source_path": "components/ui/carousel.tsx"
    },
    {
      "name": "chart",
      "kind": "ui-component",
      "source_path": "components/ui/chart.tsx"
    },
    {
      "name": "checkbox",
      "kind": "ui-component",
      "source_path": "components/ui/checkbox.tsx"
    },
    {
      "name": "collapsible",
      "kind": "ui-component",
      "source_path": "components/ui/collapsible.tsx"
    },
    {
      "name": "command",
      "kind": "ui-component",
      "source_path": "components/ui/command.tsx"
    },
    {
      "name": "context-menu",
      "kind": "ui-component",
      "source_path": "components/ui/context-menu.tsx"
    },
    {
      "name": "dialog",
      "kind": "ui-component",
      "source_path": "components/ui/dialog.tsx"
    },
    {
      "name": "drawer",
      "kind": "ui-component",
      "source_path": "components/ui/drawer.tsx"
    },
    {
      "name": "dropdown-menu",
      "kind": "ui-component",
      "source_path": "components/ui/dropdown-menu.tsx"
    },
    {
      "name": "empty",
      "kind": "ui-component",
      "source_path": "components/ui/empty.tsx"
    },
    {
      "name": "field",
      "kind": "ui-component",
      "source_path": "components/ui/field.tsx"
    },
    {
      "name": "form",
      "kind": "ui-component",
      "source_path": "components/ui/form.tsx"
    },
    {
      "name": "hover-card",
      "kind": "ui-component",
      "source_path": "components/ui/hover-card.tsx"
    },
    {
      "name": "input-group",
      "kind": "ui-component",
      "source_path": "components/ui/input-group.tsx"
    },
    {
      "name": "input-otp",
      "kind": "ui-component",
      "source_path": "components/ui/input-otp.tsx"
    },
    {
      "name": "input",
      "kind": "ui-component",
      "source_path": "components/ui/input.tsx"
    },
    {
      "name": "item",
      "kind": "ui-component",
      "source_path": "components/ui/item.tsx"
    },
    {
      "name": "kbd",
      "kind": "ui-component",
      "source_path": "components/ui/kbd.tsx"
    },
    {
      "name": "label",
      "kind": "ui-component",
      "source_path": "components/ui/label.tsx"
    },
    {
      "name": "menubar",
      "kind": "ui-component",
      "source_path": "components/ui/menubar.tsx"
    },
    {
      "name": "navigation-menu",
      "kind": "ui-component",
      "source_path": "components/ui/navigation-menu.tsx"
    },
    {
      "name": "pagination",
      "kind": "ui-component",
      "source_path": "components/ui/pagination.tsx"
    },
    {
      "name": "popover",
      "kind": "ui-component",
      "source_path": "components/ui/popover.tsx"
    },
    {
      "name": "progress",
      "kind": "ui-component",
      "source_path": "components/ui/progress.tsx"
    },
    {
      "name": "radio-group",
      "kind": "ui-component",
      "source_path": "components/ui/radio-group.tsx"
    },
    {
      "name": "resizable",
      "kind": "ui-component",
      "source_path": "components/ui/resizable.tsx"
    },
    {
      "name": "scroll-area",
      "kind": "ui-component",
      "source_path": "components/ui/scroll-area.tsx"
    },
    {
      "name": "select",
      "kind": "ui-component",
      "source_path": "components/ui/select.tsx"
    },
    {
      "name": "separator",
      "kind": "ui-component",
      "source_path": "components/ui/separator.tsx"
    },
    {
      "name": "sheet",
      "kind": "ui-component",
      "source_path": "components/ui/sheet.tsx"
    },
    {
      "name": "sidebar",
      "kind": "ui-component",
      "source_path": "components/ui/sidebar.tsx"
    },
    {
      "name": "skeleton",
      "kind": "ui-component",
      "source_path": "components/ui/skeleton.tsx"
    },
    {
      "name": "slider",
      "kind": "ui-component",
      "source_path": "components/ui/slider.tsx"
    },
    {
      "name": "sonner",
      "kind": "ui-component",
      "source_path": "components/ui/sonner.tsx"
    },
    {
      "name": "spinner",
      "kind": "ui-component",
      "source_path": "components/ui/spinner.tsx"
    },
    {
      "name": "switch",
      "kind": "ui-component",
      "source_path": "components/ui/switch.tsx"
    },
    {
      "name": "table",
      "kind": "ui-component",
      "source_path": "components/ui/table.tsx"
    },
    {
      "name": "tabs",
      "kind": "ui-component",
      "source_path": "components/ui/tabs.tsx"
    },
    {
      "name": "textarea",
      "kind": "ui-component",
      "source_path": "components/ui/textarea.tsx"
    },
    {
      "name": "toast",
      "kind": "ui-component",
      "source_path": "components/ui/toast.tsx"
    },
    {
      "name": "toaster",
      "kind": "ui-component",
      "source_path": "components/ui/toaster.tsx"
    },
    {
      "name": "toggle-group",
      "kind": "ui-component",
      "source_path": "components/ui/toggle-group.tsx"
    },
    {
      "name": "toggle",
      "kind": "ui-component",
      "source_path": "components/ui/toggle.tsx"
    },
    {
      "name": "tooltip",
      "kind": "ui-component",
      "source_path": "components/ui/tooltip.tsx"
    },
    {
      "name": "use-mobile",
      "kind": "ui-component",
      "source_path": "components/ui/use-mobile.tsx"
    }
  ],
  "data_models": [],
  "database": {
    "databases": [],
    "schemas": [],
    "migrations": []
  },
  "tests": [
    {
      "name": "page.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "app/(main)/dashboard/page.test.tsx"
    },
    {
      "name": "faq.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "app/(main)/faq/faq.test.tsx"
    },
    {
      "name": "page.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "app/(main)/page.test.tsx"
    },
    {
      "name": "roadmap.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "app/(main)/roadmap/roadmap.test.tsx"
    },
    {
      "name": "spec.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/docs/spec.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/github/auth-status/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/github/repositories/create/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/github/repositories/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/health/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/mcp/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/register/__tests__/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/v0/agent-run/[id]/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/v0/agent-run/[id]/tool-calls/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/v1/calendar/events/__tests__/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/v1/integrations/kanban/create-tasks/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/v1/kanban/board/__tests__/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/v1/kanban/tasks/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/v1/mcp/network/__tests__/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/v1/mcp/sites/__tests__/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/v1/mcp/tools/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/v1/onboard/import/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/v1alpha/auth-status/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/v1alpha/sessions/[sessionId]/activities/__tests__/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/v1alpha/sessions/[sessionId]/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/v1alpha/sessions/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/v1alpha/sources/__tests__/route.test.ts"
    },
    {
      "name": "route.test.ts",
      "kind": "unit-or-integration",
      "source_path": "app/api/webhooks/route.test.ts"
    },
    {
      "name": "page.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "app/jobs/page.test.tsx"
    },
    {
      "name": "activity-item.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "components/jules/activity-item.test.tsx"
    },
    {
      "name": "breadcrumb-usage.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "components/jules/breadcrumb-usage.test.tsx"
    },
    {
      "name": "breadcrumbs.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "components/jules/breadcrumbs.test.tsx"
    },
    {
      "name": "code-block.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "components/jules/code-block.test.tsx"
    },
    {
      "name": "empty-state.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "components/jules/empty-state.test.tsx"
    },
    {
      "name": "header.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "components/jules/header.test.tsx"
    },
    {
      "name": "loading-overlay.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "components/jules/loading-overlay.test.tsx"
    },
    {
      "name": "session-card.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "components/jules/session-card.test.tsx"
    },
    {
      "name": "jules-live.spec.ts",
      "kind": "e2e",
      "source_path": "e2e/jules-live.spec.ts"
    },
    {
      "name": "use-calendar.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "hooks/__tests__/use-calendar.test.tsx"
    },
    {
      "name": "use-jules-api.test.ts",
      "kind": "unit-or-integration",
      "source_path": "hooks/__tests__/use-jules-api.test.ts"
    },
    {
      "name": "use-kanban.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "hooks/__tests__/use-kanban.test.tsx"
    },
    {
      "name": "use-mcp.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "hooks/__tests__/use-mcp.test.tsx"
    },
    {
      "name": "use-mobile.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "hooks/__tests__/use-mobile.test.tsx"
    },
    {
      "name": "use-settings.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "hooks/__tests__/use-settings.test.tsx"
    },
    {
      "name": "use-toast.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "hooks/__tests__/use-toast.test.tsx"
    },
    {
      "name": "use-calendar.test.ts",
      "kind": "unit-or-integration",
      "source_path": "hooks/use-calendar.test.ts"
    },
    {
      "name": "use-kanban.test.ts",
      "kind": "unit-or-integration",
      "source_path": "hooks/use-kanban.test.ts"
    },
    {
      "name": "use-mcp.test.ts",
      "kind": "unit-or-integration",
      "source_path": "hooks/use-mcp.test.ts"
    },
    {
      "name": "use-mobile.test.ts",
      "kind": "unit-or-integration",
      "source_path": "hooks/use-mobile.test.ts"
    },
    {
      "name": "use-settings.test.tsx",
      "kind": "unit-or-integration",
      "source_path": "hooks/use-settings.test.tsx"
    },
    {
      "name": "analytics.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/__tests__/analytics.test.ts"
    },
    {
      "name": "calendar-api.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/__tests__/calendar-api.test.ts"
    },
    {
      "name": "jules-api.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/__tests__/jules-api.test.ts"
    },
    {
      "name": "kanban-api.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/__tests__/kanban-api.test.ts"
    },
    {
      "name": "analytics.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/analytics.test.ts"
    },
    {
      "name": "github.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/github.test.ts"
    },
    {
      "name": "i18n.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/i18n.test.ts"
    },
    {
      "name": "jules-sources.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/jules-sources.test.ts"
    },
    {
      "name": "mcp-api.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/mcp-api.test.ts"
    },
    {
      "name": "jules-proxy.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/server/jules-proxy.test.ts"
    },
    {
      "name": "utils.test.ts",
      "kind": "unit-or-integration",
      "source_path": "lib/utils.test.ts"
    },
    {
      "name": "middleware.test.ts",
      "kind": "unit-or-integration",
      "source_path": "middleware.test.ts"
    },
    {
      "name": "playwright.config.ts",
      "kind": "playwright",
      "source_path": "playwright.config.ts"
    }
  ],
  "ci": {
    "workflows": []
  },
  "containers": {
    "dockerfiles": [
      {
        "path": "Dockerfile"
      }
    ],
    "compose_files": []
  },
  "env": {
    "example_files": [],
    "variables": [
      {
        "name": "DATABASE_URL",
        "source_paths": [
          "app/api/health/route.ts",
          "lib/server/jules-store.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "GH_TOKEN",
        "source_paths": [
          "app/api/github/auth-status/route.test.ts",
          "app/api/github/repositories/create/route.test.ts",
          "app/api/github/repositories/route.test.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "GITHUB_E2E_REPO_PREFIX",
        "source_paths": [
          "e2e/jules-live.spec.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "GITHUB_TOKEN",
        "source_paths": [
          "app/api/github/auth-status/route.test.ts",
          "app/api/github/repositories/create/route.test.ts",
          "app/api/github/repositories/route.test.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "GITHUB_USERNAME",
        "source_paths": [
          "app/api/github/auth-status/route.test.ts",
          "app/api/github/repositories/route.test.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "JULES_API_BASE_URL",
        "source_paths": [
          "lib/server/jules-proxy.test.ts",
          "lib/server/jules-proxy.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "JULES_API_KEY",
        "source_paths": [
          "app/api/v1alpha/auth-status/route.test.ts",
          "lib/server/jules-proxy.test.ts",
          "lib/server/jules-proxy.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "JULES_E2E_CREATE_GITHUB_REPO",
        "source_paths": [
          "e2e/jules-live.spec.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "JULES_E2E_REPOSITORY",
        "source_paths": [
          "e2e/jules-live.spec.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "MCP_PROTOCOL_VERSION",
        "source_paths": [
          "app/.well-known/[...path]/route.ts",
          "app/api/[...path]/route.ts",
          "lib/jules-mcp-server.ts",
          "lib/platform-discovery.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "NODE_ENV",
        "source_paths": [
          "app/api/health/route.ts",
          "lib/__tests__/analytics.test.ts",
          "lib/analytics.ts",
          "middleware.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "PLATPHORM_API_KEY",
        "source_paths": [
          "app/api/register/__tests__/route.test.ts",
          "app/api/register/route.ts",
          "app/api/v1/calendar/events/route.ts",
          "app/api/v1/kanban/board/route.ts",
          "app/api/v1/kanban/tasks/route.ts",
          "lib/server/platform-auth.ts"
        ],
        "likely_secret": true
      },
      {
        "name": "PLAYWRIGHT_BASE_URL",
        "source_paths": [
          "playwright.config.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "SERVICE_NAME",
        "source_paths": [
          "app/.well-known/[...path]/route.ts",
          "app/api/[...path]/route.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL",
        "source_paths": [
          "app/api/v1/onboard/import/route.test.ts",
          "lib/server/jules-store.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "VERCEL_ENV",
        "source_paths": [
          "app/api/health/route.ts"
        ],
        "likely_secret": false
      },
      {
        "name": "WEBHOOK_SECRET",
        "source_paths": [
          "app/api/webhooks/route.ts"
        ],
        "likely_secret": true
      }
    ]
  },
  "configs": [
    {
      "path": "next.config.mjs"
    },
    {
      "path": "package.json"
    },
    {
      "path": "pnpm-workspace.yaml"
    },
    {
      "path": "postcss.config.mjs"
    },
    {
      "path": "tsconfig.json"
    },
    {
      "path": "tsconfig.tsbuildinfo"
    }
  ],
  "docs": {
    "readme_paths": [
      {
        "path": "README.md"
      }
    ],
    "doc_paths": [],
    "llms_context_paths": []
  },
  "discovery_files": {
    "openapi": [],
    "mcp": [
      {
        "path": "app/api/mcp/route.test.ts"
      },
      {
        "path": "app/api/mcp/route.ts"
      }
    ],
    "llms": [],
    "sitemaps": [],
    "feeds": [],
    "well_known": [
      {
        "path": "app/.well-known/[...path]/route.ts"
      },
      {
        "path": "app/.well-known/agents.json/route.ts"
      },
      {
        "path": "app/.well-known/ai-plugin.json/route.ts"
      },
      {
        "path": "app/.well-known/mcp.json/route.ts"
      },
      {
        "path": "app/.well-known/security.txt/route.ts"
      },
      {
        "path": "app/.well-known/trust.json/route.ts"
      }
    ],
    "robots": [],
    "manifests": []
  },
  "integrations": [
    {
      "name": "PlatPhorm",
      "confidence": "medium",
      "evidence_paths": [
        "app/api/health/route.test.ts",
        "app/api/health/route.ts",
        "app/api/register/__tests__/route.test.ts",
        "app/api/register/route.ts",
        "app/api/v1/auth-status/route.ts",
        "app/api/v1/calendar/events/route.ts",
        "app/api/v1/kanban/board/route.ts",
        "app/api/v1/kanban/tasks/route.ts",
        "package.json"
      ]
    },
    {
      "name": "Postgres",
      "confidence": "medium",
      "evidence_paths": [
        "app/(main)/page.test.tsx",
        "app/api/health/route.ts",
        "lib/jules-model.ts",
        "lib/platform-discovery.ts",
        "lib/server/jules-store.ts",
        "package.json",
        "README.md"
      ]
    },
    {
      "name": "Vercel",
      "confidence": "medium",
      "evidence_paths": [
        "app/api/health/route.ts",
        "app/api/v1/onboard/import/route.test.ts",
        "app/layout.tsx",
        "lib/server/jules-store.ts",
        "package-lock.json",
        "package.json",
        "pnpm-lock.yaml"
      ]
    }
  ],
  "license": {
    "spdx": null,
    "paths": [
      {
        "path": "LICENSE.txt"
      }
    ]
  },
  "comments": [
    {
      "kind": "todo",
      "source_path": "app/api/v1/kanban/tasks/route.test.ts",
      "line": 47,
      "text": "{ id: '1', title: 'Task 1', status: 'todo' },"
    },
    {
      "kind": "todo",
      "source_path": "app/api/v1/kanban/tasks/route.test.ts",
      "line": 59,
      "text": "const request = new NextRequest('http://localhost/api/v1/kanban/tasks?status=todo&limit=10');"
    },
    {
      "kind": "todo",
      "source_path": "app/api/v1/kanban/tasks/route.test.ts",
      "line": 72,
      "text": "status: 'todo',"
    },
    {
      "kind": "security",
      "source_path": "app/api/v1/network/discovery-compliance/route.ts",
      "line": 18,
      "text": "'/.well-known/security.txt',"
    },
    {
      "kind": "security",
      "source_path": "app/api/webhooks/route.test.ts",
      "line": 72,
      "text": "describe('Security and Verification', () => {"
    },
    {
      "kind": "todo",
      "source_path": "hooks/__tests__/use-kanban.test.tsx",
      "line": 37,
      "text": "const { result } = renderHook(() => useKanbanTasks({ status: 'TODO', priority: 'HIGH', page: 2, limit: 10 }));"
    },
    {
      "kind": "todo",
      "source_path": "hooks/use-kanban.test.ts",
      "line": 43,
      "text": "const { result } = renderHook(() => useKanbanTasks({ status: 'todo', limit: 10 }));"
    },
    {
      "kind": "todo",
      "source_path": "hooks/use-kanban.test.ts",
      "line": 47,
      "text": "expect.stringContaining('/api/v1/kanban/tasks?status=todo&limit=10'),"
    },
    {
      "kind": "todo",
      "source_path": "lib/__tests__/kanban-api.test.ts",
      "line": 134,
      "text": "await client.listTasks({ status: 'todo', page: 2 });"
    },
    {
      "kind": "todo",
      "source_path": "lib/__tests__/kanban-api.test.ts",
      "line": 136,
      "text": "'https://kanban.platphormnews.com/api/v1/tasks?status=todo&page=2',"
    },
    {
      "kind": "todo",
      "source_path": "lib/api-types.ts",
      "line": 21,
      "text": "status: 'backlog' | 'todo' | 'in-progress' | 'review' | 'done';"
    },
    {
      "kind": "security",
      "source_path": "lib/jules-local-store.ts",
      "line": 13,
      "text": "import { publicSafeText, redactObject } from './platform-security'"
    },
    {
      "kind": "security",
      "source_path": "lib/jules-model.ts",
      "line": 3,
      "text": "import { publicSafeText, redactObject } from './platform-security'"
    },
    {
      "kind": "todo",
      "source_path": "lib/jules-model.ts",
      "line": 32,
      "text": "status: z.enum(['todo', 'in_progress', 'blocked', 'review', 'done']).default('todo'),"
    },
    {
      "kind": "todo",
      "source_path": "lib/jules-model.ts",
      "line": 267,
      "text": "status: 'todo',"
    },
    {
      "kind": "security",
      "source_path": "lib/jules-upstream.ts",
      "line": 3,
      "text": "import { publicSafeText, redactObject } from './platform-security'"
    },
    {
      "kind": "todo",
      "source_path": "lib/jules-upstream.ts",
      "line": 127,
      "text": "status: index === 0 ? 'in_progress' : 'todo',"
    },
    {
      "kind": "todo",
      "source_path": "lib/kanban-api.ts",
      "line": 164,
      "text": "status: 'todo',"
    },
    {
      "kind": "security",
      "source_path": "lib/platform-discovery.ts",
      "line": 35,
      "text": "{ method: 'GET', path: '/.well-known/security.txt', public: true, protected: false, summary: 'Security contact.' },"
    },
    {
      "kind": "security",
      "source_path": "lib/platform-discovery.ts",
      "line": 310,
      "text": "'/.well-known/security.txt',"
    },
    {
      "kind": "security",
      "source_path": "lib/platform-discovery.ts",
      "line": 388,
      "text": "securityContact: 'security@platphormnews.com',"
    },
    {
      "kind": "security",
      "source_path": "lib/platform-discovery.ts",
      "line": 446,
      "text": "contact_email: 'security@platphormnews.com',"
    },
    {
      "kind": "security",
      "source_path": "lib/platform-discovery.ts",
      "line": 452,
      "text": "return `Contact: mailto:security@platphormnews.com"
    },
    {
      "kind": "security",
      "source_path": "lib/platform-discovery.ts",
      "line": 454,
      "text": "Canonical: ${JULES_BASE_URL}/.well-known/security.txt"
    },
    {
      "kind": "security",
      "source_path": "lib/platform-discovery.ts",
      "line": 467,
      "text": "security: route.protected ? [{ PlatPhormApiKey: [] }, { PlatPhormBearer: [] }] : [],"
    },
    {
      "kind": "security",
      "source_path": "lib/server/jules-store.ts",
      "line": 20,
      "text": "import { redactObject } from '@/lib/platform-security'"
    },
    {
      "kind": "deprecated",
      "source_path": "lib/types.ts",
      "line": 57,
      "text": "/** @deprecated Use SessionState */"
    },
    {
      "kind": "security",
      "source_path": "License FAQ.md",
      "line": 23,
      "text": "Yes, if your use is non-commercial as defined by the license. Internal evaluation, research, development, testing, security review, accessibility work, and internal experimentation are generally allowed if you are not directly or indirectly"
    },
    {
      "kind": "security",
      "source_path": "LICENSE.txt",
      "line": 13,
      "text": "“Non-commercial purposes” include personal use by an individual, academic research and development, journalism, testing, evaluation, interoperability work, security review, accessibility work, and internal use by your own organization where"
    },
    {
      "kind": "security",
      "source_path": "middleware.ts",
      "line": 18,
      "text": "// Add security headers"
    },
    {
      "kind": "deprecated",
      "source_path": "package-lock.json",
      "line": 579,
      "text": "\"deprecated\": \"Use @eslint/config-array instead\","
    },
    {
      "kind": "deprecated",
      "source_path": "package-lock.json",
      "line": 607,
      "text": "\"deprecated\": \"Use @eslint/object-schema instead\","
    },
    {
      "kind": "deprecated",
      "source_path": "package-lock.json",
      "line": 5832,
      "text": "\"deprecated\": \"This version is no longer supported. Please see https://eslint.org/version-support for other options.\","
    },
    {
      "kind": "deprecated",
      "source_path": "package-lock.json",
      "line": 6583,
      "text": "\"deprecated\": \"Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by c"
    },
    {
      "kind": "deprecated",
      "source_path": "package-lock.json",
      "line": 6869,
      "text": "\"deprecated\": \"This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.\","
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 391,
      "text": "deprecated: Use @eslint/config-array instead"
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 399,
      "text": "deprecated: Use @eslint/object-schema instead"
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 2362,
      "text": "deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options."
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 2511,
      "text": "deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by cont"
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 2516,
      "text": "deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by cont"
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 2592,
      "text": "deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful."
    },
    {
      "kind": "deprecated",
      "source_path": "pnpm-lock.yaml",
      "line": 3275,
      "text": "deprecated: Rimraf versions prior to v4 are no longer supported"
    },
    {
      "kind": "security",
      "source_path": "README.md",
      "line": 112,
      "text": "- `/.well-known/security.txt`"
    }
  ],
  "security": {
    "secret_risks": [],
    "unsafe_patterns": [
      {
        "name": "dangerously-set-html",
        "confidence": "medium",
        "evidence_paths": [
          "components/ui/chart.tsx"
        ]
      },
      {
        "name": "sql-injection-review-needed",
        "confidence": "medium",
        "evidence_paths": [
          "app/api/v1alpha/sessions/[sessionId]/route.ts",
          "lib/platform-discovery.ts"
        ]
      },
      {
        "name": "ssrf-review-needed",
        "confidence": "medium",
        "evidence_paths": [
          "app/(main)/create/page.tsx",
          "app/(main)/dashboard/page.tsx",
          "app/(main)/page.tsx",
          "app/api/register/route.ts",
          "app/session/[id]/page.tsx",
          "hooks/use-calendar.ts",
          "hooks/use-jules-api.ts",
          "hooks/use-kanban.ts",
          "hooks/use-mcp.ts",
          "lib/analytics.ts",
          "lib/server/jules-proxy.ts",
          "lib/server/network-discovery.ts"
        ]
      }
    ],
    "sensitive_data_indicators": [
      {
        "name": "api_key",
        "confidence": "medium",
        "evidence_paths": [
          "app/(main)/create/page.tsx",
          "app/(main)/page.tsx",
          "app/api/health/route.test.ts",
          "app/api/health/route.ts",
          "app/api/register/__tests__/route.test.ts",
          "app/api/register/route.ts",
          "app/api/v1/auth-status/route.ts",
          "app/api/v1/calendar/events/route.ts",
          "app/api/v1/kanban/board/route.ts",
          "app/api/v1/kanban/tasks/route.ts",
          "app/api/v1alpha/auth-status/route.test.ts",
          "lib/__tests__/jules-api.test.ts",
          "lib/i18n.ts",
          "lib/platform-discovery.ts",
          "lib/platform-security.ts",
          "lib/server/jules-proxy.test.ts",
          "lib/server/jules-proxy.ts",
          "lib/server/platform-auth.ts",
          "README.md"
        ]
      },
      {
        "name": "card",
        "confidence": "medium",
        "evidence_paths": [
          "app/(main)/create/page.tsx",
          "app/(main)/dashboard/page.tsx",
          "app/(main)/faq/page.tsx",
          "app/(main)/modernize/callback/page.tsx",
          "app/(main)/modernize/page.tsx",
          "app/(main)/page.tsx",
          "app/(main)/roadmap/page.tsx",
          "app/globals.css",
          "app/jobs/page.tsx",
          "app/layout.tsx",
          "app/session/[id]/page.tsx",
          "components/jules/activity-item.tsx",
          "components/jules/empty-state.tsx",
          "components/jules/index.ts",
          "components/jules/session-card.test.tsx",
          "components/jules/session-card.tsx",
          "components/ui/alert.tsx",
          "components/ui/calendar.tsx",
          "components/ui/card.tsx",
          "components/ui/hover-card.tsx"
        ]
      },
      {
        "name": "email",
        "confidence": "medium",
        "evidence_paths": [
          "app/api/v1/onboard/import/route.test.ts",
          "lib/api-types.ts",
          "lib/platform-discovery.ts"
        ]
      },
      {
        "name": "fingerprint",
        "confidence": "medium",
        "evidence_paths": [
          "app/api/v0/realm/[id]/route.ts",
          "lib/mcp-api.ts"
        ]
      },
      {
        "name": "health",
        "confidence": "medium",
        "evidence_paths": [
          "app/.well-known/[...path]/route.ts",
          "app/(main)/dashboard/page.test.tsx",
          "app/(main)/dashboard/page.tsx",
          "app/(main)/page.test.tsx",
          "app/(main)/page.tsx",
          "app/api/health/route.test.ts",
          "app/api/health/route.ts",
          "app/api/v1/health/route.ts",
          "app/api/v1/mcp/network/__tests__/route.test.ts",
          "lib/__tests__/kanban-api.test.ts",
          "lib/analytics.test.ts",
          "lib/analytics.ts",
          "lib/api-types.ts",
          "lib/calendar-api.ts",
          "lib/kanban-api.ts",
          "lib/mcp-api.test.ts",
          "lib/mcp-api.ts",
          "lib/platform-discovery.ts",
          "lib/platform-integrations.ts",
          "pr_body.md"
        ]
      },
      {
        "name": "location",
        "confidence": "medium",
        "evidence_paths": [
          ".jules/bolt.md",
          "app/(main)/create/page.tsx",
          "app/(main)/modernize/page.tsx",
          "components/jules/activity-item.tsx",
          "lib/api-types.ts",
          "lib/i18n.ts"
        ]
      },
      {
        "name": "password",
        "confidence": "medium",
        "evidence_paths": [
          "lib/platform-security.ts"
        ]
      },
      {
        "name": "pii",
        "confidence": "medium",
        "evidence_paths": [
          "lib/api-types.ts",
          "package-lock.json",
          "pnpm-lock.yaml"
        ]
      },
      {
        "name": "secret-like environment variables",
        "confidence": "medium",
        "evidence_paths": [
          "package.json"
        ]
      },
      {
        "name": "token",
        "confidence": "medium",
        "evidence_paths": [
          "app/(main)/create/page.tsx",
          "app/api/github/auth-status/route.test.ts",
          "app/api/github/repositories/create/route.test.ts",
          "app/api/github/repositories/create/route.ts",
          "app/api/github/repositories/route.test.ts",
          "app/api/github/repositories/route.ts",
          "e2e/jules-live.spec.ts",
          "hooks/use-settings.ts",
          "lib/github.test.ts",
          "lib/github.ts",
          "lib/i18n.ts",
          "lib/jules-model.ts",
          "lib/platform-discovery.ts",
          "lib/platform-security.ts",
          "lib/server/jules-store.ts",
          "lib/types.ts",
          "package-lock.json",
          "pnpm-lock.yaml"
        ]
      }
    ]
  },
  "generated_at": "2026-05-16T16:44:15.352Z"
}
