code-issues.json

{
  "schema_version": 6,
  "version": "2.77.0",
  "elapsed_ms": 191,
  "total_issues": 42,
  "entry_points": {
    "total": 97,
    "sources": {
      "default_index": 1,
      "manual_entry": 6,
      "package.json": 26,
      "plugin": 64
    }
  },
  "summary": {
    "total_issues": 42,
    "unused_files": 0,
    "unused_exports": 25,
    "unused_types": 7,
    "private_type_leaks": 0,
    "unused_dependencies": 3,
    "unused_enum_members": 0,
    "unused_class_members": 2,
    "unresolved_imports": 0,
    "unlisted_dependencies": 5,
    "duplicate_exports": 0,
    "type_only_dependencies": 0,
    "test_only_dependencies": 0,
    "circular_dependencies": 0,
    "re_export_cycles": 0,
    "boundary_violations": 0,
    "stale_suppressions": 0,
    "unused_catalog_entries": 0,
    "empty_catalog_groups": 0,
    "unresolved_catalog_references": 0,
    "unused_dependency_overrides": 0,
    "misconfigured_dependency_overrides": 0
  },
  "unused_files": [],
  "unused_exports": [
    {
      "path": "apps/admin/src/components/product/extraction-progress-panel.tsx",
      "export_name": "EXTRACTION_STEPS",
      "is_type_only": false,
      "line": 95,
      "col": 13,
      "span_start": 2755,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "apps/server/src/lib/logging.ts",
      "export_name": "getRequestLog",
      "is_type_only": false,
      "line": 110,
      "col": 16,
      "span_start": 2598,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "apps/storev2/src/lib/analytics.ts",
      "export_name": "trackAssistantOpened",
      "is_type_only": false,
      "line": 190,
      "col": 16,
      "span_start": 4193,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "apps/storev2/src/lib/analytics.ts",
      "export_name": "trackAssistantMessageSent",
      "is_type_only": false,
      "line": 194,
      "col": 16,
      "span_start": 4267,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "apps/storev2/src/lib/analytics.ts",
      "export_name": "trackAssistantStarterPromptClicked",
      "is_type_only": false,
      "line": 200,
      "col": 16,
      "span_start": 4414,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "apps/storev2/src/lib/analytics.ts",
      "export_name": "trackAssistantProductsShown",
      "is_type_only": false,
      "line": 206,
      "col": 16,
      "span_start": 4548,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "apps/storev2/src/lib/analytics.ts",
      "export_name": "trackAssistantAddToCart",
      "is_type_only": false,
      "line": 217,
      "col": 16,
      "span_start": 4812,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "apps/storev2/src/lib/analytics.ts",
      "export_name": "trackAssistantCheckoutClicked",
      "is_type_only": false,
      "line": 227,
      "col": 16,
      "span_start": 4997,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/ai/product-match.ts",
      "export_name": "tokenize",
      "is_type_only": false,
      "line": 15,
      "col": 16,
      "span_start": 433,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/ai/product-match.ts",
      "export_name": "scoreProductMatch",
      "is_type_only": false,
      "line": 21,
      "col": 16,
      "span_start": 580,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/ai/product-match.ts",
      "export_name": "retrieveCandidateProducts",
      "is_type_only": false,
      "line": 85,
      "col": 22,
      "span_start": 2461,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/ai/product-match.ts",
      "export_name": "scoreRetrievedCandidate",
      "is_type_only": false,
      "line": 114,
      "col": 16,
      "span_start": 3323,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/ai-product/amazon-scrape.ts",
      "export_name": "isAmazonUrl",
      "is_type_only": false,
      "line": 18,
      "col": 9,
      "span_start": 522,
      "is_re_export": true,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API",
          "note": "This finding originates from a re-export; verify it is not part of your public API before removing"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/ai-product/amazon-url.ts",
      "export_name": "CACHE_TTL",
      "is_type_only": false,
      "line": 34,
      "col": 9,
      "span_start": 940,
      "is_re_export": true,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API",
          "note": "This finding originates from a re-export; verify it is not part of your public API before removing"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/ai-product/brand-resolve.ts",
      "export_name": "normalizeBrandName",
      "is_type_only": false,
      "line": 6,
      "col": 16,
      "span_start": 213,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/integrations/messenger/failed-notifications.ts",
      "export_name": "ORDER_CONFIRMATION_PURPOSE",
      "is_type_only": false,
      "line": 7,
      "col": 13,
      "span_start": 333,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/integrations/messenger/messages.ts",
      "export_name": "sendTransferNotification",
      "is_type_only": false,
      "line": 92,
      "col": 13,
      "span_start": 2299,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/integrations/posthog/capture.ts",
      "export_name": "identifyUserServerSide",
      "is_type_only": false,
      "line": 128,
      "col": 22,
      "span_start": 3057,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/integrations/posthog/index.ts",
      "export_name": "identifyUserServerSide",
      "is_type_only": false,
      "line": 4,
      "col": 1,
      "span_start": 170,
      "is_re_export": true,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API",
          "note": "This finding originates from a re-export; verify it is not part of your public API before removing"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/product-search/core.ts",
      "export_name": "createProductMiniSearch",
      "is_type_only": false,
      "line": 87,
      "col": 13,
      "span_start": 1672,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/product-search/core.ts",
      "export_name": "mapMiniSearchResult",
      "is_type_only": false,
      "line": 271,
      "col": 13,
      "span_start": 7093,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/product-search/text.ts",
      "export_name": "expandLatinAliases",
      "is_type_only": false,
      "line": 69,
      "col": 13,
      "span_start": 1254,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/product-search/text.ts",
      "export_name": "uniqueText",
      "is_type_only": false,
      "line": 84,
      "col": 13,
      "span_start": 1642,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/queries/products/index.ts",
      "export_name": "adminQueries",
      "is_type_only": false,
      "line": 1,
      "col": 9,
      "span_start": 9,
      "is_re_export": true,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API",
          "note": "This finding originates from a re-export; verify it is not part of your public API before removing"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    },
    {
      "path": "packages/api/src/queries/products/index.ts",
      "export_name": "storeQueries",
      "is_type_only": false,
      "line": 2,
      "col": 9,
      "span_start": 66,
      "is_re_export": true,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the unused export from the public API",
          "note": "This finding originates from a re-export; verify it is not part of your public API before removing"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-export"
        }
      ]
    }
  ],
  "unused_types": [
    {
      "path": "apps/storev2/src/lib/static-navigation.ts",
      "export_name": "StaticNavigationCategory",
      "is_type_only": true,
      "line": 3,
      "col": 17,
      "span_start": 52,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the `export` (or `export type`) keyword from the type declaration"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-type"
        }
      ]
    },
    {
      "path": "apps/storev2/src/lib/static-navigation.ts",
      "export_name": "StaticNavigationBrand",
      "is_type_only": true,
      "line": 10,
      "col": 17,
      "span_start": 166,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the `export` (or `export type`) keyword from the type declaration"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-type"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/ai-product/pipeline.ts",
      "export_name": "AiProductSessionState",
      "is_type_only": true,
      "line": 332,
      "col": 14,
      "span_start": 9344,
      "is_re_export": true,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the `export` (or `export type`) keyword from the type declaration",
          "note": "This finding originates from a re-export; verify it is not part of your public API before removing"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-type"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/ai-product/schemas.ts",
      "export_name": "ImageSelectionResult",
      "is_type_only": true,
      "line": 7,
      "col": 12,
      "span_start": 195,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the `export` (or `export type`) keyword from the type declaration"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-type"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/ai-product/schemas.ts",
      "export_name": "VisionAnalysisOutput",
      "is_type_only": true,
      "line": 22,
      "col": 12,
      "span_start": 703,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the `export` (or `export type`) keyword from the type declaration"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-type"
        }
      ]
    },
    {
      "path": "packages/api/src/lib/ai-product/schemas.ts",
      "export_name": "TranslationOutput",
      "is_type_only": true,
      "line": 50,
      "col": 12,
      "span_start": 1851,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the `export` (or `export type`) keyword from the type declaration"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-type"
        }
      ]
    },
    {
      "path": "packages/api/src/routers/store/product.ts",
      "export_name": "SearchProductResult",
      "is_type_only": true,
      "line": 22,
      "col": 17,
      "span_start": 651,
      "is_re_export": false,
      "actions": [
        {
          "type": "remove-export",
          "auto_fixable": true,
          "description": "Remove the `export` (or `export type`) keyword from the type declaration"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-type"
        }
      ]
    }
  ],
  "private_type_leaks": [],
  "unused_dependencies": [
    {
      "package_name": "@vit/api",
      "location": "dependencies",
      "path": "apps/storev2/package.json",
      "line": 28,
      "used_in_workspaces": [
        "apps/admin",
        "apps/server",
        "packages/api"
      ],
      "actions": [
        {
          "type": "move-dependency",
          "auto_fixable": false,
          "description": "Move this dependency to the workspace package.json that imports it",
          "note": "fallow fix will not remove dependencies that are imported by another workspace"
        },
        {
          "type": "add-to-config",
          "auto_fixable": false,
          "description": "Add \"@vit/api\" to ignoreDependencies in fallow config",
          "config_key": "ignoreDependencies",
          "value": "@vit/api",
          "value_schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json#/properties/ignoreDependencies/items"
        }
      ]
    },
    {
      "package_name": "sharp",
      "location": "dependencies",
      "path": "apps/storev2/package.json",
      "line": 36,
      "actions": [
        {
          "type": "remove-dependency",
          "auto_fixable": true,
          "description": "Remove from dependencies in package.json"
        },
        {
          "type": "add-to-config",
          "auto_fixable": false,
          "description": "Add \"sharp\" to ignoreDependencies in fallow config",
          "config_key": "ignoreDependencies",
          "value": "sharp",
          "value_schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json#/properties/ignoreDependencies/items"
        }
      ]
    },
    {
      "package_name": "@upstash/search",
      "location": "dependencies",
      "path": "packages/api/package.json",
      "line": 65,
      "actions": [
        {
          "type": "remove-dependency",
          "auto_fixable": true,
          "description": "Remove from dependencies in package.json"
        },
        {
          "type": "add-to-config",
          "auto_fixable": false,
          "description": "Add \"@upstash/search\" to ignoreDependencies in fallow config",
          "config_key": "ignoreDependencies",
          "value": "@upstash/search",
          "value_schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json#/properties/ignoreDependencies/items"
        }
      ]
    }
  ],
  "unused_dev_dependencies": [],
  "unused_optional_dependencies": [],
  "unused_enum_members": [],
  "unused_class_members": [
    {
      "path": "apps/server/src/durable-objects/product-search-object.ts",
      "parent_name": "ProductSearchObject",
      "member_name": "search",
      "kind": "class_method",
      "line": 59,
      "col": 1,
      "actions": [
        {
          "type": "remove-class-member",
          "auto_fixable": false,
          "description": "Remove this class member",
          "note": "Class member may be used via dependency injection or decorators"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-class-member"
        }
      ]
    },
    {
      "path": "apps/server/src/durable-objects/product-search-object.ts",
      "parent_name": "ProductSearchObject",
      "member_name": "clear",
      "kind": "class_method",
      "line": 97,
      "col": 1,
      "actions": [
        {
          "type": "remove-class-member",
          "auto_fixable": false,
          "description": "Remove this class member",
          "note": "Class member may be used via dependency injection or decorators"
        },
        {
          "type": "suppress-line",
          "auto_fixable": false,
          "description": "Suppress with an inline comment above the line",
          "comment": "// fallow-ignore-next-line unused-class-member"
        }
      ]
    }
  ],
  "unresolved_imports": [],
  "unlisted_dependencies": [
    {
      "package_name": "dotenv",
      "imported_from": [
        {
          "path": "apps/admin/alchemy.run.ts",
          "line": 4,
          "col": 9
        },
        {
          "path": "apps/storev2/alchemy.run.ts",
          "line": 4,
          "col": 9
        }
      ],
      "actions": [
        {
          "type": "install-dependency",
          "auto_fixable": false,
          "description": "Add this package to dependencies in package.json",
          "note": "Verify this package should be a direct dependency before adding"
        },
        {
          "type": "add-to-config",
          "auto_fixable": false,
          "description": "Add \"dotenv\" to ignoreDependencies in fallow config",
          "config_key": "ignoreDependencies",
          "value": "dotenv",
          "value_schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json#/properties/ignoreDependencies/items"
        }
      ]
    },
    {
      "package_name": "minisearch",
      "imported_from": [
        {
          "path": "apps/server/src/durable-objects/product-search-object.ts",
          "line": 17,
          "col": 12
        }
      ],
      "actions": [
        {
          "type": "install-dependency",
          "auto_fixable": false,
          "description": "Add this package to dependencies in package.json",
          "note": "Verify this package should be a direct dependency before adding"
        },
        {
          "type": "add-to-config",
          "auto_fixable": false,
          "description": "Add \"minisearch\" to ignoreDependencies in fallow config",
          "config_key": "ignoreDependencies",
          "value": "minisearch",
          "value_schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json#/properties/ignoreDependencies/items"
        }
      ]
    },
    {
      "package_name": "posthog-node",
      "imported_from": [
        {
          "path": "packages/api/src/lib/integrations/posthog/capture.ts",
          "line": 1,
          "col": 9
        }
      ],
      "actions": [
        {
          "type": "install-dependency",
          "auto_fixable": false,
          "description": "Add this package to dependencies in package.json",
          "note": "Verify this package should be a direct dependency before adding"
        },
        {
          "type": "add-to-config",
          "auto_fixable": false,
          "description": "Add \"posthog-node\" to ignoreDependencies in fallow config",
          "config_key": "ignoreDependencies",
          "value": "posthog-node",
          "value_schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json#/properties/ignoreDependencies/items"
        }
      ]
    },
    {
      "package_name": "valibot",
      "imported_from": [
        {
          "path": "env.ts",
          "line": 2,
          "col": 7
        }
      ],
      "actions": [
        {
          "type": "install-dependency",
          "auto_fixable": false,
          "description": "Add this package to dependencies in package.json",
          "note": "Verify this package should be a direct dependency before adding"
        },
        {
          "type": "add-to-config",
          "auto_fixable": false,
          "description": "Add \"valibot\" to ignoreDependencies in fallow config",
          "config_key": "ignoreDependencies",
          "value": "valibot",
          "value_schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json#/properties/ignoreDependencies/items"
        }
      ]
    },
    {
      "package_name": "zod",
      "imported_from": [
        {
          "path": "packages/api/src/lib/ai/llm-output.ts",
          "line": 2,
          "col": 14
        },
        {
          "path": "packages/api/src/lib/ai/product-match.ts",
          "line": 2,
          "col": 9
        },
        {
          "path": "packages/api/src/lib/ai-product/schemas.ts",
          "line": 1,
          "col": 9
        },
        {
          "path": "packages/api/src/routers/admin/ai-purchase.ts",
          "line": 12,
          "col": 9
        }
      ],
      "actions": [
        {
          "type": "install-dependency",
          "auto_fixable": false,
          "description": "Add this package to dependencies in package.json",
          "note": "Verify this package should be a direct dependency before adding"
        },
        {
          "type": "add-to-config",
          "auto_fixable": false,
          "description": "Add \"zod\" to ignoreDependencies in fallow config",
          "config_key": "ignoreDependencies",
          "value": "zod",
          "value_schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json#/properties/ignoreDependencies/items"
        }
      ]
    }
  ],
  "duplicate_exports": [],
  "type_only_dependencies": [],
  "test_only_dependencies": [],
  "circular_dependencies": [],
  "re_export_cycles": [],
  "boundary_violations": [],
  "stale_suppressions": [],
  "unused_catalog_entries": [],
  "empty_catalog_groups": [],
  "unresolved_catalog_references": [],
  "unused_dependency_overrides": [],
  "misconfigured_dependency_overrides": []
}