{
  "generalDiagnostics": [
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/auth/api.py",
      "message": "Cannot access attribute \"ANTI_ABUSE_CHECKS_ENABLED\" for class \"type[AuthFeatures]\"\n  Attribute \"ANTI_ABUSE_CHECKS_ENABLED\" is unknown",
      "range": {
        "end": {
          "character": 87,
          "line": 149
        },
        "start": {
          "character": 62,
          "line": 149
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/billing/e2e_tests/context_manager/revcat.py",
      "message": "\"revcat_subscription_id\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 67,
          "line": 27
        },
        "start": {
          "character": 45,
          "line": 27
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/billing/e2e_tests/context_manager/revcat.py",
      "message": "\"active_subscription_platform\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 66,
          "line": 28
        },
        "start": {
          "character": 38,
          "line": 28
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/billing/e2e_tests/context_manager/revcat.py",
      "message": "\"subscription_cancel_at\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 67,
          "line": 36
        },
        "start": {
          "character": 45,
          "line": 36
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/billing/e2e_tests/test_case_routes/test_revcat.py",
      "message": "\"revcat_subscription_id\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 73,
          "line": 590
        },
        "start": {
          "character": 51,
          "line": 590
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/api.py",
      "message": "No overloads for \"__setitem__\" match the provided arguments",
      "range": {
        "end": {
          "character": 20,
          "line": 204
        },
        "start": {
          "character": 12,
          "line": 204
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/api.py",
      "message": "Argument of type \"GeneratedClipSchema | None\" cannot be assigned to parameter \"value\" of type \"GeneratedClip\" in function \"__setitem__\"\n  Type \"GeneratedClipSchema | None\" is not assignable to type \"GeneratedClip\"\n    \"GeneratedClipSchema\" is not assignable to \"GeneratedClip\"",
      "range": {
        "end": {
          "character": 20,
          "line": 204
        },
        "start": {
          "character": 12,
          "line": 204
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/api.py",
      "message": "\"created_at\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 61,
          "line": 873
        },
        "start": {
          "character": 51,
          "line": 873
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/api.py",
      "message": "Argument of type \"Page[Unknown] | list[Unknown]\" cannot be assigned to parameter \"playlist_clips\" of type \"List[PlaylistClipSchema]\" in function \"__init__\"\n  Type \"Page[Unknown] | list[Unknown]\" is not assignable to type \"List[PlaylistClipSchema]\"\n    \"Page[Unknown]\" is not assignable to \"List[PlaylistClipSchema]\"",
      "range": {
        "end": {
          "character": 37,
          "line": 1128
        },
        "start": {
          "character": 23,
          "line": 1128
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/api.py",
      "message": "Argument of type \"Page[Unknown] | list[Unknown]\" cannot be assigned to parameter \"playlist_clips\" of type \"List[PlaylistClipSchema]\" in function \"__init__\"\n  Type \"Page[Unknown] | list[Unknown]\" is not assignable to type \"List[PlaylistClipSchema]\"\n    \"Page[Unknown]\" is not assignable to \"List[PlaylistClipSchema]\"",
      "range": {
        "end": {
          "character": 37,
          "line": 1178
        },
        "start": {
          "character": 23,
          "line": 1178
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/api.py",
      "message": "No parameter named \"include_beta\"",
      "range": {
        "end": {
          "character": 46,
          "line": 1299
        },
        "start": {
          "character": 34,
          "line": 1299
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/api.py",
      "message": "Type \"None\" is not assignable to declared type \"User\"\n  \"None\" is not assignable to \"User\"",
      "range": {
        "end": {
          "character": 15,
          "line": 2074
        },
        "start": {
          "character": 11,
          "line": 2074
        }
      },
      "rule": "reportAssignmentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/api.py",
      "message": "\"SignatureVerificationError\" is not a known attribute of module \"stripe\"",
      "range": {
        "end": {
          "character": 61,
          "line": 320
        },
        "start": {
          "character": 35,
          "line": 320
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/api.py",
      "message": "Argument of type \"int | None\" cannot be assigned to parameter \"level\" of type \"int\" in function \"get_by_level\"\n  Type \"int | None\" is not assignable to type \"int\"\n    \"None\" is not assignable to \"int\"",
      "range": {
        "end": {
          "character": 62,
          "line": 555
        },
        "start": {
          "character": 45,
          "line": 555
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/api.py",
      "message": "Argument of type \"int | None\" cannot be assigned to parameter \"level\" of type \"int\" in function \"get_by_level\"\n  Type \"int | None\" is not assignable to type \"int\"\n    \"None\" is not assignable to \"int\"",
      "range": {
        "end": {
          "character": 66,
          "line": 639
        },
        "start": {
          "character": 49,
          "line": 639
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/api.py",
      "message": "\"one_time_free_cover_clips_remaining\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 83,
          "line": 828
        },
        "start": {
          "character": 48,
          "line": 828
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/api.py",
      "message": "\"one_time_free_persona_clips_remaining\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 87,
          "line": 829
        },
        "start": {
          "character": 50,
          "line": 829
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/api.py",
      "message": "\"one_time_free_mobile_v4_gens_remaining\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 89,
          "line": 831
        },
        "start": {
          "character": 51,
          "line": 831
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/api.py",
      "message": "\"one_time_free_web_v4_gens_remaining\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 87,
          "line": 837
        },
        "start": {
          "character": 52,
          "line": 837
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/api.py",
      "message": "\"one_time_free_remasters_remaining\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 75,
          "line": 839
        },
        "start": {
          "character": 42,
          "line": 839
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/api.py",
      "message": "Type \"User | Unknown | None\" is not assignable to return type \"UserWithDiscordInfo | None\"\n  Type \"User | Unknown | None\" is not assignable to type \"UserWithDiscordInfo | None\"\n    Type \"User\" is not assignable to type \"UserWithDiscordInfo | None\"\n      \"User\" is not assignable to \"UserWithDiscordInfo\"\n      \"User\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 15,
          "line": 1145
        },
        "start": {
          "character": 11,
          "line": 1145
        }
      },
      "rule": "reportReturnType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/api.py",
      "message": "Argument of type \"UserWithDiscordInfo | AnonymousUser\" cannot be assigned to parameter \"user\" of type \"User\" in function \"get_usage_plan_web_table_comparison\"\n  Type \"UserWithDiscordInfo | AnonymousUser\" is not assignable to type \"User\"\n    \"AnonymousUser\" is not assignable to \"User\"",
      "range": {
        "end": {
          "character": 88,
          "line": 1223
        },
        "start": {
          "character": 76,
          "line": 1223
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/api.py",
      "message": "Cannot access attribute \"usageplandiscountoffer_set\" for class \"DiscountOffer\"\n  Attribute \"usageplandiscountoffer_set\" is unknown",
      "range": {
        "end": {
          "character": 52,
          "line": 1454
        },
        "start": {
          "character": 26,
          "line": 1454
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/api.py",
      "message": "Argument of type \"_AnyUser\" cannot be assigned to parameter \"user\" of type \"UserWithDiscordInfo | AnonymousUser\" in function \"get_eligible_discounts\"\n  Type \"_AnyUser\" is not assignable to type \"UserWithDiscordInfo | AnonymousUser\"\n    Type \"Model\" is not assignable to type \"UserWithDiscordInfo | AnonymousUser\"\n      \"Model\" is not assignable to \"UserWithDiscordInfo\"\n      \"Model\" is not assignable to \"AnonymousUser\"",
      "range": {
        "end": {
          "character": 64,
          "line": 1564
        },
        "start": {
          "character": 52,
          "line": 1564
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/api.py",
      "message": "Type \"dict[Unknown, dict[Unknown, Unknown] | list[dict[Unknown, Unknown] | list[Unknown] | str] | str] | list[dict[Unknown, dict[Unknown, Unknown] | list[Unknown] | str] | list[Unknown] | str] | str\" is not assignable to declared type \"dict[Unknown, Unknown]\"\n  Type \"dict[Unknown, dict[Unknown, Unknown] | list[dict[Unknown, Unknown] | list[Unknown] | str] | str] | list[dict[Unknown, dict[Unknown, Unknown] | list[Unknown] | str] | list[Unknown] | str] | str\" is not assignable to type \"dict[Unknown, Unknown]\"\n    \"str\" is not assignable to \"dict[Unknown, Unknown]\"",
      "range": {
        "end": {
          "character": 50,
          "line": 1686
        },
        "start": {
          "character": 31,
          "line": 1686
        }
      },
      "rule": "reportAssignmentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/plan_descriptions.py",
      "message": "Type \"dict[UsagePlanKey, Unknown | Any | None]\" is not assignable to return type \"dict[UsagePlanKey, UsagePlanDescription]\"",
      "range": {
        "end": {
          "character": 94,
          "line": 53
        },
        "start": {
          "character": 11,
          "line": 53
        }
      },
      "rule": "reportReturnType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"subscription_cancel_at\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 44,
          "line": 262
        },
        "start": {
          "character": 22,
          "line": 262
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"subscription_period_end\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 80,
          "line": 262
        },
        "start": {
          "character": 57,
          "line": 262
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"save\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 26,
          "line": 263
        },
        "start": {
          "character": 22,
          "line": 263
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"subscription_cancel_at\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 44,
          "line": 265
        },
        "start": {
          "character": 22,
          "line": 265
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"save\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 26,
          "line": 266
        },
        "start": {
          "character": 22,
          "line": 266
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "Argument of type \"User\" cannot be assigned to parameter \"user\" of type \"UserWithDiscordInfo\" in function \"reset_subscription\"\n  \"User\" is not assignable to \"UserWithDiscordInfo\"",
      "range": {
        "end": {
          "character": 41,
          "line": 268
        },
        "start": {
          "character": 37,
          "line": 268
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"subscription_changing_to\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 42,
          "line": 283
        },
        "start": {
          "character": 18,
          "line": 283
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"subscription_status\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 37,
          "line": 288
        },
        "start": {
          "character": 18,
          "line": 288
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"active_subscription_platform\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 50,
          "line": 290
        },
        "start": {
          "character": 22,
          "line": 290
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"active_subscription_platform\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 50,
          "line": 292
        },
        "start": {
          "character": 22,
          "line": 292
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"revcat_subscription_id\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 40,
          "line": 293
        },
        "start": {
          "character": 18,
          "line": 293
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"subscription_anchor\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 33,
          "line": 314
        },
        "start": {
          "character": 14,
          "line": 314
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"subscription_period_end\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 37,
          "line": 315
        },
        "start": {
          "character": 14,
          "line": 315
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"subscription_period_type\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 45,
          "line": 332
        },
        "start": {
          "character": 21,
          "line": 332
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"subscription_period_type\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 63,
          "line": 336
        },
        "start": {
          "character": 39,
          "line": 336
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"subscription_plan\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 31,
          "line": 347
        },
        "start": {
          "character": 14,
          "line": 347
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"subscription_period_type\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 38,
          "line": 348
        },
        "start": {
          "character": 14,
          "line": 348
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"extra_credits_balance\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 43,
          "line": 364
        },
        "start": {
          "character": 22,
          "line": 364
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"user\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 35,
          "line": 376
        },
        "start": {
          "character": 31,
          "line": 376
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"user\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 35,
          "line": 390
        },
        "start": {
          "character": 31,
          "line": 390
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"user\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 31,
          "line": 403
        },
        "start": {
          "character": 27,
          "line": 403
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"user\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 31,
          "line": 413
        },
        "start": {
          "character": 27,
          "line": 413
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"extra_credits_balance\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 43,
          "line": 437
        },
        "start": {
          "character": 22,
          "line": 437
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"user\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 35,
          "line": 452
        },
        "start": {
          "character": 31,
          "line": 452
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"user\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 31,
          "line": 467
        },
        "start": {
          "character": 27,
          "line": 467
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"user\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 31,
          "line": 477
        },
        "start": {
          "character": 27,
          "line": 477
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/revcat_handler.py",
      "message": "\"save\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 18,
          "line": 483
        },
        "start": {
          "character": 14,
          "line": 483
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/stripe.py",
      "message": "Argument of type \"dict[str, str]\" cannot be assigned to parameter \"value\" of type \"int\" in function \"__setitem__\"\n  \"dict[str, str]\" is not assignable to \"int\"",
      "range": {
        "end": {
          "character": 70,
          "line": 746
        },
        "start": {
          "character": 12,
          "line": 746
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/stripe.py",
      "message": "Argument of type \"Any | None\" cannot be assigned to parameter \"customer_id\" of type \"str\" in function \"upgrade_subscription_now\"\n  Type \"Any | None\" is not assignable to type \"str\"\n    \"None\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 23,
          "line": 1213
        },
        "start": {
          "character": 12,
          "line": 1213
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/stripe.py",
      "message": "\"subscription_period_paid_amount_usd\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 69,
          "line": 1581
        },
        "start": {
          "character": 34,
          "line": 1581
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/stripe.py",
      "message": "\"save\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 38,
          "line": 1582
        },
        "start": {
          "character": 34,
          "line": 1582
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/stripe.py",
      "message": "\"InvalidRequestError\" is not a known attribute of module \"stripe\"",
      "range": {
        "end": {
          "character": 53,
          "line": 1787
        },
        "start": {
          "character": 34,
          "line": 1787
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/tests/test_billing_utils.py",
      "message": "\"currency\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 48,
          "line": 130
        },
        "start": {
          "character": 40,
          "line": 130
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/tests/test_billing_utils.py",
      "message": "\"price\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 45,
          "line": 131
        },
        "start": {
          "character": 40,
          "line": 131
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/tests/test_billing_utils.py",
      "message": "\"stripe_price_id\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 55,
          "line": 132
        },
        "start": {
          "character": 40,
          "line": 132
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/tests/test_billing_utils.py",
      "message": "\"currency\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 40,
          "line": 169
        },
        "start": {
          "character": 32,
          "line": 169
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/tests/test_billing_utils.py",
      "message": "\"price\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 37,
          "line": 170
        },
        "start": {
          "character": 32,
          "line": 170
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/tests/test_billing_utils.py",
      "message": "\"stripe_price_id\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 47,
          "line": 171
        },
        "start": {
          "character": 32,
          "line": 171
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/tests/test_multi_currency.py",
      "message": "\"currency\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 53,
          "line": 255
        },
        "start": {
          "character": 45,
          "line": 255
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/tests/test_multi_currency.py",
      "message": "\"stripe_price_id\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 60,
          "line": 256
        },
        "start": {
          "character": 45,
          "line": 256
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/tests/test_multi_currency.py",
      "message": "Argument of type \"User\" cannot be assigned to parameter \"user\" of type \"UserWithDiscordInfo\" in function \"create_checkout_session\"\n  \"User\" is not assignable to \"UserWithDiscordInfo\"",
      "range": {
        "end": {
          "character": 34,
          "line": 322
        },
        "start": {
          "character": 25,
          "line": 322
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/tests/test_multi_currency.py",
      "message": "Argument of type \"User\" cannot be assigned to parameter \"user\" of type \"UserWithDiscordInfo\" in function \"_get_pretax_paid_amount\"\n  \"User\" is not assignable to \"UserWithDiscordInfo\"",
      "range": {
        "end": {
          "character": 68,
          "line": 415
        },
        "start": {
          "character": 59,
          "line": 415
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/tests/test_stripe_checkout.py",
      "message": "Argument of type \"User\" cannot be assigned to parameter \"user\" of type \"UserWithDiscordInfo\" in function \"create_checkout_session\"\n  \"User\" is not assignable to \"UserWithDiscordInfo\"",
      "range": {
        "end": {
          "character": 38,
          "line": 95
        },
        "start": {
          "character": 29,
          "line": 95
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/tests/test_stripe_checkout.py",
      "message": "Argument of type \"User\" cannot be assigned to parameter \"user\" of type \"UserWithDiscordInfo\" in function \"create_checkout_session\"\n  \"User\" is not assignable to \"UserWithDiscordInfo\"",
      "range": {
        "end": {
          "character": 38,
          "line": 132
        },
        "start": {
          "character": 29,
          "line": 132
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/tests/test_stripe_checkout.py",
      "message": "Argument of type \"User\" cannot be assigned to parameter \"user\" of type \"UserWithDiscordInfo\" in function \"create_checkout_session\"\n  \"User\" is not assignable to \"UserWithDiscordInfo\"",
      "range": {
        "end": {
          "character": 38,
          "line": 156
        },
        "start": {
          "character": 29,
          "line": 156
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/usage.py",
      "message": "\"subscription_status\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 52,
          "line": 86
        },
        "start": {
          "character": 33,
          "line": 86
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/usage.py",
      "message": "\"subscription_status\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 51,
          "line": 90
        },
        "start": {
          "character": 32,
          "line": 90
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/billing/usage.py",
      "message": "Argument of type \"PeriodCreditUsage | None\" cannot be assigned to parameter \"credit_usage\" of type \"PeriodCreditUsage\" in function \"_update_extra_credit_used\"\n  Type \"PeriodCreditUsage | None\" is not assignable to type \"PeriodCreditUsage\"\n    \"None\" is not assignable to \"PeriodCreditUsage\"",
      "range": {
        "end": {
          "character": 76,
          "line": 634
        },
        "start": {
          "character": 53,
          "line": 634
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/cache/caches.py",
      "message": "Cannot access attribute \"_class\" for class \"ConnectionPoolSharingRedisCache*\"\n  Attribute \"_class\" is unknown",
      "range": {
        "end": {
          "character": 26,
          "line": 120
        },
        "start": {
          "character": 20,
          "line": 120
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/cache/caches.py",
      "message": "Cannot access attribute \"_servers\" for class \"ConnectionPoolSharingRedisCache*\"\n  Attribute \"_servers\" is unknown",
      "range": {
        "end": {
          "character": 40,
          "line": 120
        },
        "start": {
          "character": 32,
          "line": 120
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/cache/caches.py",
      "message": "Cannot access attribute \"_options\" for class \"ConnectionPoolSharingRedisCache*\"\n  Attribute \"_options\" is unknown",
      "range": {
        "end": {
          "character": 90,
          "line": 120
        },
        "start": {
          "character": 82,
          "line": 120
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/cache/caches.py",
      "message": "Argument missing for parameter \"fields\"",
      "range": {
        "end": {
          "character": 63,
          "line": 315
        },
        "start": {
          "character": 12,
          "line": 315
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/cache/caches.py",
      "message": "Argument missing for parameter \"fields\"",
      "range": {
        "end": {
          "character": 57,
          "line": 1016
        },
        "start": {
          "character": 12,
          "line": 1016
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/cache/caches.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"url\" of type \"str\" in function \"from_url\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 55,
          "line": 1067
        },
        "start": {
          "character": 46,
          "line": 1067
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/cache/caches.py",
      "message": "Argument of type \"dict[str, float]\" cannot be assigned to parameter \"mapping\" of type \"Mapping[_Key, _Value]\" in function \"zadd\"\n  \"dict[str, float]\" is not assignable to \"Mapping[_Key, _Value]\"\n    Type parameter \"_KT@Mapping\" is invariant, but \"str\" is not the same as \"_Key\"",
      "range": {
        "end": {
          "character": 49,
          "line": 1101
        },
        "start": {
          "character": 39,
          "line": 1101
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/cache/caches.py",
      "message": "Argument of type \"dict[str, float]\" cannot be assigned to parameter \"mapping\" of type \"Mapping[_Key, _Value]\" in function \"zadd\"\n  \"dict[str, float]\" is not assignable to \"Mapping[_Key, _Value]\"\n    Type parameter \"_KT@Mapping\" is invariant, but \"str\" is not the same as \"_Key\"",
      "range": {
        "end": {
          "character": 53,
          "line": 1151
        },
        "start": {
          "character": 43,
          "line": 1151
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/cache/caches.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"url\" of type \"str\" in function \"from_url\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 55,
          "line": 2061
        },
        "start": {
          "character": 46,
          "line": 2061
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/cache/caches.py",
      "message": "Argument of type \"dict[bytes, float]\" cannot be assigned to parameter \"mapping\" of type \"Mapping[_Key, _Value]\" in function \"zadd\"\n  \"dict[bytes, float]\" is not assignable to \"Mapping[_Key, _Value]\"\n    Type parameter \"_KT@Mapping\" is invariant, but \"bytes\" is not the same as \"_Key\"",
      "range": {
        "end": {
          "character": 53,
          "line": 2150
        },
        "start": {
          "character": 43,
          "line": 2150
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/cache/caches.py",
      "message": "Argument of type \"dict[bytes, float]\" cannot be assigned to parameter \"mapping\" of type \"Mapping[_Key, _Value]\" in function \"zadd\"\n  \"dict[bytes, float]\" is not assignable to \"Mapping[_Key, _Value]\"\n    Type parameter \"_KT@Mapping\" is invariant, but \"bytes\" is not the same as \"_Key\"",
      "range": {
        "end": {
          "character": 57,
          "line": 2211
        },
        "start": {
          "character": 47,
          "line": 2211
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/cache/model_caches/clip_extra_cache.py",
      "message": "Cannot access attribute \"clip_id\" for class \"GeneratedClipExtra\"\n  Attribute \"clip_id\" is unknown",
      "range": {
        "end": {
          "character": 42,
          "line": 36
        },
        "start": {
          "character": 35,
          "line": 36
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/cache/model_caches/clip_extra_cache.py",
      "message": "Argument missing for parameter \"fields\"",
      "range": {
        "end": {
          "character": 64,
          "line": 76
        },
        "start": {
          "character": 12,
          "line": 76
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/cache/model_caches/playlist_cache.py",
      "message": "Argument missing for parameter \"fields\"",
      "range": {
        "end": {
          "character": 54,
          "line": 41
        },
        "start": {
          "character": 12,
          "line": 41
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/cache/model_caches/user_reaction_cache.py",
      "message": "Cannot access attribute \"user_id\" for class \"UserReaction\"\n  Attribute \"user_id\" is unknown",
      "range": {
        "end": {
          "character": 36,
          "line": 32
        },
        "start": {
          "character": 29,
          "line": 32
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/cache/model_caches/user_stats_cache.py",
      "message": "Argument missing for parameter \"fields\"",
      "range": {
        "end": {
          "character": 48,
          "line": 39
        },
        "start": {
          "character": 12,
          "line": 39
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/clients/aws_kinesis_client/client.py",
      "message": "No overloads for \"client\" match the provided arguments",
      "range": {
        "end": {
          "character": 9,
          "line": 22
        },
        "start": {
          "character": 22,
          "line": 17
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/clients/aws_kinesis_client/client.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"aws_access_key_id\" of type \"str | None\" in function \"client\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str | None\"\n    Type \"NoValue\" is not assignable to type \"str | None\"\n      \"NoValue\" is not assignable to \"str\"\n      \"NoValue\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 60,
          "line": 19
        },
        "start": {
          "character": 30,
          "line": 19
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/clients/aws_kinesis_client/client.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"aws_secret_access_key\" of type \"str | None\" in function \"client\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str | None\"\n    Type \"NoValue\" is not assignable to type \"str | None\"\n      \"NoValue\" is not assignable to \"str\"\n      \"NoValue\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 68,
          "line": 20
        },
        "start": {
          "character": 34,
          "line": 20
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/comment/base_comment_actions.py",
      "message": "Argument of type \"_AnyUser\" cannot be assigned to parameter \"user\" of type \"User | None\" in function \"get_paginated_comments\"\n  Type \"_AnyUser\" is not assignable to type \"User | None\"\n    Type \"AnonymousUser\" is not assignable to type \"User | None\"\n      \"AnonymousUser\" is not assignable to \"User\"\n      \"AnonymousUser\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 24,
          "line": 291
        },
        "start": {
          "character": 12,
          "line": 291
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/comment/base_comment_actions.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"num_replies\" of type \"int | None\" in function \"__init__\"\n  Type \"str\" is not assignable to type \"int | None\"\n    \"str\" is not assignable to \"int\"\n    \"str\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 99,
          "line": 416
        },
        "start": {
          "character": 18,
          "line": 416
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/comment/base_comment_actions.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"replies\" of type \"List[ReplySchema] | None\" in function \"__init__\"\n  Type \"str\" is not assignable to type \"List[ReplySchema] | None\"\n    \"str\" is not assignable to \"List[ReplySchema]\"\n    \"str\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 99,
          "line": 416
        },
        "start": {
          "character": 18,
          "line": 416
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/comment/base_comment_actions.py",
      "message": "Cannot access attribute \"user_likes\" for class \"AbstractComment\"\n  Attribute \"user_likes\" is unknown",
      "range": {
        "end": {
          "character": 86,
          "line": 687
        },
        "start": {
          "character": 76,
          "line": 687
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/comment/base_comment_actions.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"num_replies\" of type \"int | None\" in function \"__init__\"\n  Type \"str\" is not assignable to type \"int | None\"\n    \"str\" is not assignable to \"int\"\n    \"str\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 21,
          "line": 835
        },
        "start": {
          "character": 22,
          "line": 831
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/comment/base_comment_actions.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"replies\" of type \"List[ReplySchema] | None\" in function \"__init__\"\n  Type \"str\" is not assignable to type \"List[ReplySchema] | None\"\n    \"str\" is not assignable to \"List[ReplySchema]\"\n    \"str\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 21,
          "line": 835
        },
        "start": {
          "character": 22,
          "line": 831
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/comment/base_comment_actions.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"user_comments_blocked\" of type \"bool | None\" in function \"__init__\"\n  Type \"str\" is not assignable to type \"bool | None\"\n    \"str\" is not assignable to \"bool\"\n    \"str\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 57,
          "line": 1149
        },
        "start": {
          "character": 14,
          "line": 1149
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/comment/base_comment_actions.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"num_replies\" of type \"int | None\" in function \"__init__\"\n  Type \"str\" is not assignable to type \"int | None\"\n    \"str\" is not assignable to \"int\"\n    \"str\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 57,
          "line": 1149
        },
        "start": {
          "character": 14,
          "line": 1149
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/comment/base_comment_actions.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"replies\" of type \"List[ReplySchema] | None\" in function \"__init__\"\n  Type \"str\" is not assignable to type \"List[ReplySchema] | None\"\n    \"str\" is not assignable to \"List[ReplySchema]\"\n    \"str\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 57,
          "line": 1149
        },
        "start": {
          "character": 14,
          "line": 1149
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/comment/base_comment_actions.py",
      "message": "Cannot access attribute \"hook\" for class \"AbstractComment\"\n  Attribute \"hook\" is unknown",
      "range": {
        "end": {
          "character": 62,
          "line": 1237
        },
        "start": {
          "character": 58,
          "line": 1237
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/comment/base_comment_actions.py",
      "message": "Argument of type \"list[AbstractComment]\" cannot be assigned to parameter \"entities\" of type \"List[AbstractComment | ClipComment | ClipCaption]\" in function \"attach_mentions_to_entities\"\n  \"list[AbstractComment]\" is not assignable to \"List[AbstractComment | ClipComment | ClipCaption]\"\n    Type parameter \"_T@list\" is invariant, but \"AbstractComment\" is not the same as \"AbstractComment | ClipComment | ClipCaption\"\n    Consider switching from \"list\" to \"Sequence\" which is covariant",
      "range": {
        "end": {
          "character": 49,
          "line": 1532
        },
        "start": {
          "character": 36,
          "line": 1532
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/comment/base_comment_actions.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"num_replies\" of type \"int | None\" in function \"__init__\"\n  Type \"str\" is not assignable to type \"int | None\"\n    \"str\" is not assignable to \"int\"\n    \"str\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 99,
          "line": 1539
        },
        "start": {
          "character": 18,
          "line": 1539
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/comment/base_comment_actions.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"replies\" of type \"List[ReplySchema] | None\" in function \"__init__\"\n  Type \"str\" is not assignable to type \"List[ReplySchema] | None\"\n    \"str\" is not assignable to \"List[ReplySchema]\"\n    \"str\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 99,
          "line": 1539
        },
        "start": {
          "character": 18,
          "line": 1539
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/create_global_playlists.py",
      "message": "List expression not allowed in type expression\n  Use list[T] to indicate a list type or T1 | T2 to indicate a union type",
      "range": {
        "end": {
          "character": 44,
          "line": 51
        },
        "start": {
          "character": 39,
          "line": 51
        }
      },
      "rule": "reportInvalidTypeForm",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/create_global_playlists.py",
      "message": "Expected class but received \"list[type[str]]\"",
      "range": {
        "end": {
          "character": 44,
          "line": 51
        },
        "start": {
          "character": 39,
          "line": 51
        }
      },
      "rule": "reportGeneralTypeIssues",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/discord/generate.py",
      "message": "\"split\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 43,
          "line": 114
        },
        "start": {
          "character": 38,
          "line": 114
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/discord/generate.py",
      "message": "Cannot access attribute \"clip\" for class \"str\"\n  Attribute \"clip\" is unknown",
      "range": {
        "end": {
          "character": 43,
          "line": 568
        },
        "start": {
          "character": 39,
          "line": 568
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/discord/generate.py",
      "message": "Cannot access attribute \"clip\" for class \"str\"\n  Attribute \"clip\" is unknown",
      "range": {
        "end": {
          "character": 74,
          "line": 568
        },
        "start": {
          "character": 70,
          "line": 568
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/discord/generate.py",
      "message": "Argument of type \"Context | None\" cannot be assigned to parameter \"context\" of type \"Context | Span\" in function \"inject\"\n  Type \"Context | None\" is not assignable to type \"Context | Span\"\n    Type \"None\" is not assignable to type \"Context | Span\"\n      \"None\" is not assignable to \"Context\"\n      \"None\" is not assignable to \"Span\"",
      "range": {
        "end": {
          "character": 33,
          "line": 581
        },
        "start": {
          "character": 26,
          "line": 581
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/editing/api.py",
      "message": "Argument of type \"list[GeneratedClip]\" cannot be assigned to parameter \"clips\" of type \"list[GeneratedClipSchema]\" in function \"__init__\"\n  \"GeneratedClip\" is not assignable to \"GeneratedClipSchema\"\n  \"GeneratedClip\" is not assignable to \"GeneratedClipSchema\"",
      "range": {
        "end": {
          "character": 72,
          "line": 421
        },
        "start": {
          "character": 41,
          "line": 421
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/editing/api.py",
      "message": "Argument of type \"_AnyUser\" cannot be assigned to parameter \"user\" of type \"AbstractBaseUser | AnonymousUser\" in function \"add_clip_lineage\"\n  Type \"_AnyUser\" is not assignable to type \"AbstractBaseUser | AnonymousUser\"\n    Type \"Model\" is not assignable to type \"AbstractBaseUser | AnonymousUser\"\n      \"Model\" is not assignable to \"AbstractBaseUser\"\n      \"Model\" is not assignable to \"AnonymousUser\"",
      "range": {
        "end": {
          "character": 49,
          "line": 432
        },
        "start": {
          "character": 37,
          "line": 432
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/external/api.py",
      "message": "Argument of type \"list[dict[str, Any]]\" cannot be assigned to parameter \"aligned_words\" of type \"list[AlignedWordSchema]\" in function \"__init__\"\n  \"list[dict[str, Any]]\" is not assignable to \"list[AlignedWordSchema]\"\n    Type parameter \"_T@list\" is invariant, but \"dict[str, Any]\" is not the same as \"AlignedWordSchema\"\n    Consider switching from \"list\" to \"Sequence\" which is covariant",
      "range": {
        "end": {
          "character": 73,
          "line": 337
        },
        "start": {
          "character": 59,
          "line": 337
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/feature_flags.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"sdk_key\" of type \"str\" in function \"__new__\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 64,
          "line": 180
        },
        "start": {
          "character": 37,
          "line": 180
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Argument of type \"GeneratedClip | None\" cannot be assigned to parameter \"clip\" of type \"GeneratedClip\" in function \"update_ES_clip_index\"\n  Type \"GeneratedClip | None\" is not assignable to type \"GeneratedClip\"\n    \"None\" is not assignable to \"GeneratedClip\"",
      "range": {
        "end": {
          "character": 29,
          "line": 518
        },
        "start": {
          "character": 25,
          "line": 518
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Argument of type \"BulkPlayCountSpec\" cannot be assigned to parameter \"spec\" of type \"PlayCountSpec\" in function \"_do_increment_play_count_with_spec\"\n  \"BulkPlayCountSpec\" is not assignable to \"PlayCountSpec\"",
      "range": {
        "end": {
          "character": 64,
          "line": 597
        },
        "start": {
          "character": 60,
          "line": 597
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Argument of type \"int | Any\" cannot be assigned to parameter \"user_id\" of type \"str\" in function \"_add_to_user_listen_history_redis\"\n  Type \"int | Any\" is not assignable to type \"str\"\n    \"int\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 49,
          "line": 674
        },
        "start": {
          "character": 42,
          "line": 674
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Argument of type \"int | Any\" cannot be assigned to parameter \"user_id\" of type \"str\" in function \"_add_to_clip_active_listeners_redis\"\n  Type \"int | Any\" is not assignable to type \"str\"\n    \"int\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 51,
          "line": 683
        },
        "start": {
          "character": 44,
          "line": 683
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Argument of type \"list[dict[str, Any]]\" cannot be assigned to parameter \"aligned_words\" of type \"list[AlignedWordSchema]\" in function \"__init__\"\n  \"list[dict[str, Any]]\" is not assignable to \"list[AlignedWordSchema]\"\n    Type parameter \"_T@list\" is invariant, but \"dict[str, Any]\" is not the same as \"AlignedWordSchema\"\n    Consider switching from \"list\" to \"Sequence\" which is covariant",
      "range": {
        "end": {
          "character": 65,
          "line": 1159
        },
        "start": {
          "character": 51,
          "line": 1159
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Variable not allowed in type expression",
      "range": {
        "end": {
          "character": 78,
          "line": 1566
        },
        "start": {
          "character": 70,
          "line": 1566
        }
      },
      "rule": "reportInvalidTypeForm",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Argument of type \"Literal['midi']\" cannot be assigned to parameter \"gen_type\" of type \"Literal['remaster', 'mobile_remaster', 'mobile_v4_gen', 'web_v4_gen'] | None\" in function \"can_afford_generation\"\n  Type \"Literal['midi']\" is not assignable to type \"Literal['remaster', 'mobile_remaster', 'mobile_v4_gen', 'web_v4_gen'] | None\"\n    \"Literal['midi']\" is not assignable to \"None\"\n    \"Literal['midi']\" is not assignable to type \"Literal['remaster']\"\n    \"Literal['midi']\" is not assignable to type \"Literal['mobile_remaster']\"\n    \"Literal['midi']\" is not assignable to type \"Literal['mobile_v4_gen']\"\n    \"Literal['midi']\" is not assignable to type \"Literal['web_v4_gen']\"",
      "range": {
        "end": {
          "character": 87,
          "line": 1959
        },
        "start": {
          "character": 81,
          "line": 1959
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Type \"GeneratedClip\" is not assignable to return type \"GeneratedClipSchema | MetadataEditErrorSchema\"\n  Type \"GeneratedClip\" is not assignable to type \"GeneratedClipSchema | MetadataEditErrorSchema\"\n    \"GeneratedClip\" is not assignable to \"GeneratedClipSchema\"\n    \"GeneratedClip\" is not assignable to \"MetadataEditErrorSchema\"",
      "range": {
        "end": {
          "character": 15,
          "line": 2501
        },
        "start": {
          "character": 11,
          "line": 2501
        }
      },
      "rule": "reportReturnType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"id\" of type \"UUID\" in function \"__init__\"\n  \"str\" is not assignable to \"UUID\"",
      "range": {
        "end": {
          "character": 25,
          "line": 2520
        },
        "start": {
          "character": 19,
          "line": 2520
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"id\" of type \"UUID\" in function \"__init__\"\n  \"str\" is not assignable to \"UUID\"",
      "range": {
        "end": {
          "character": 29,
          "line": 2538
        },
        "start": {
          "character": 23,
          "line": 2538
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Argument of type \"Literal['lyrics_moderation_error']\" cannot be assigned to parameter \"error_type\" of type \"Literal['title_too_long', 'prompt_too_long', 'text_moderation_error', 'caption_moderation_error', 'image_moderation_error', 'image_upload_error', 'caption_too_long', 'video_cover_error', 'display_tags_moderation_error']\" in function \"__init__\"\n  Type \"Literal['lyrics_moderation_error']\" is not assignable to type \"Literal['title_too_long', 'prompt_too_long', 'text_moderation_error', 'caption_moderation_error', 'image_moderation_error', 'image_upload_error', 'caption_too_long', 'video_cover_error', 'display_tags_moderation_error']\"\n    \"Literal['lyrics_moderation_error']\" is not assignable to type \"Literal['title_too_long']\"\n    \"Literal['lyrics_moderation_error']\" is not assignable to type \"Literal['prompt_too_long']\"\n    \"Literal['lyrics_moderation_error']\" is not assignable to type \"Literal['text_moderation_error']\"\n    \"Literal['lyrics_moderation_error']\" is not assignable to type \"Literal['caption_moderation_error']\"\n    \"Literal['lyrics_moderation_error']\" is not assignable to type \"Literal['image_moderation_error']\"\n    \"Literal['lyrics_moderation_error']\" is not assignable to type \"Literal['image_upload_error']\"\n    \"Literal['lyrics_moderation_error']\" is not assignable to type \"Literal['caption_too_long']\"\n  ...",
      "range": {
        "end": {
          "character": 56,
          "line": 2914
        },
        "start": {
          "character": 31,
          "line": 2914
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "\"db\" is not a known attribute of module \"django\"",
      "range": {
        "end": {
          "character": 20,
          "line": 2955
        },
        "start": {
          "character": 18,
          "line": 2955
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Cannot access attribute \"video_cover_s3_id\" for class \"GeneratedClip\"\n  Attribute \"video_cover_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 84,
          "line": 2968
        },
        "start": {
          "character": 67,
          "line": 2968
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Cannot access attribute \"preview_s3_id\" for class \"GeneratedClip\"\n  Attribute \"preview_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 76,
          "line": 2971
        },
        "start": {
          "character": 63,
          "line": 2971
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Object of type \"None\" is not subscriptable",
      "range": {
        "end": {
          "character": 58,
          "line": 3028
        },
        "start": {
          "character": 41,
          "line": 3028
        }
      },
      "rule": "reportOptionalSubscript",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "\"db\" is not a known attribute of module \"django\"",
      "range": {
        "end": {
          "character": 20,
          "line": 3052
        },
        "start": {
          "character": 18,
          "line": 3052
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Argument of type \"MultiGenActionSpec\" cannot be assigned to parameter \"spec\" of type \"ActionSpec\" in function \"_do_increment_action_count\"\n  \"MultiGenActionSpec\" is not assignable to \"ActionSpec\"",
      "range": {
        "end": {
          "character": 62,
          "line": 3090
        },
        "start": {
          "character": 58,
          "line": 3090
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"video_cover_status\" of type \"Literal['uploading', 'processing', 'error', 'saved', 'removed']\" in function \"__init__\"\n  Type \"str\" is not assignable to type \"Literal['uploading', 'processing', 'error', 'saved', 'removed']\"\n    \"str\" is not assignable to type \"Literal['uploading']\"\n    \"str\" is not assignable to type \"Literal['processing']\"\n    \"str\" is not assignable to type \"Literal['error']\"\n    \"str\" is not assignable to type \"Literal['saved']\"\n    \"str\" is not assignable to type \"Literal['removed']\"",
      "range": {
        "end": {
          "character": 53,
          "line": 3268
        },
        "start": {
          "character": 47,
          "line": 3268
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Argument of type \"GeneratedClip\" cannot be assigned to parameter \"clip\" of type \"GeneratedClipSchema\" in function \"__init__\"\n  \"GeneratedClip\" is not assignable to \"GeneratedClipSchema\"",
      "range": {
        "end": {
          "character": 64,
          "line": 3268
        },
        "start": {
          "character": 60,
          "line": 3268
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Cannot assign to attribute \"video_cover_s3_id\" for class \"GeneratedClip\"\n  Attribute \"video_cover_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 30,
          "line": 3311
        },
        "start": {
          "character": 13,
          "line": 3311
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Cannot assign to attribute \"preview_s3_id\" for class \"GeneratedClip\"\n  Attribute \"preview_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 26,
          "line": 3312
        },
        "start": {
          "character": 13,
          "line": 3312
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Cannot assign to attribute \"video_cover_s3_id\" for class \"GeneratedClip\"\n  Attribute \"video_cover_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 38,
          "line": 3332
        },
        "start": {
          "character": 21,
          "line": 3332
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Cannot assign to attribute \"gif_preview_s3_id\" for class \"GeneratedClip\"\n  Attribute \"gif_preview_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 38,
          "line": 3333
        },
        "start": {
          "character": 21,
          "line": 3333
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Cannot assign to attribute \"preview_s3_id\" for class \"GeneratedClip\"\n  Attribute \"preview_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 34,
          "line": 3334
        },
        "start": {
          "character": 21,
          "line": 3334
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"error_type\" of type \"api_error_type | None\" in function \"__init__\"\n  Type \"str\" is not assignable to type \"api_error_type | None\"\n    \"str\" is not assignable to \"None\"\n    \"str\" is not assignable to type \"Literal['rate_limit']\"\n    \"str\" is not assignable to type \"Literal['forbidden']\"\n    \"str\" is not assignable to type \"Literal['song_not_found']\"\n    \"str\" is not assignable to type \"Literal['comment_too_long']\"\n    \"str\" is not assignable to type \"Literal['comment_duplicate']\"\n    \"str\" is not assignable to type \"Literal['comment_no_permission']\"\n  ...",
      "range": {
        "end": {
          "character": 85,
          "line": 3712
        },
        "start": {
          "character": 69,
          "line": 3712
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/api.py",
      "message": "Argument of type \"UserWithDiscordInfo | AnonymousUser\" cannot be assigned to parameter \"user\" of type \"User\" in function \"_check_comment_permission\"\n  Type \"UserWithDiscordInfo | AnonymousUser\" is not assignable to type \"User\"\n    \"AnonymousUser\" is not assignable to \"User\"",
      "range": {
        "end": {
          "character": 78,
          "line": 3774
        },
        "start": {
          "character": 66,
          "line": 3774
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/lib/waveform_aggregates.py",
      "message": "Cannot access attribute \"value\" for class \"Binary\"\n  Attribute \"value\" is unknown",
      "range": {
        "end": {
          "character": 24,
          "line": 34
        },
        "start": {
          "character": 19,
          "line": 34
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/lib/waveform_aggregates.py",
      "message": "Argument of type \"bytes\" cannot be assigned to parameter \"value\" of type \"dict[str, Unknown]\" in function \"__setitem__\"\n  \"bytes\" is not assignable to \"dict[str, Unknown]\"",
      "range": {
        "end": {
          "character": 47,
          "line": 70
        },
        "start": {
          "character": 8,
          "line": 70
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/utils.py",
      "message": "Cannot assign to attribute \"explicit\" for class \"GeneratedClip\"\n  Attribute \"explicit\" is unknown",
      "range": {
        "end": {
          "character": 29,
          "line": 130
        },
        "start": {
          "character": 21,
          "line": 130
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/utils.py",
      "message": "Cannot access attribute \"contest_clip\" for class \"GeneratedClip\"\n  Attribute \"contest_clip\" is unknown",
      "range": {
        "end": {
          "character": 53,
          "line": 135
        },
        "start": {
          "character": 41,
          "line": 135
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/utils.py",
      "message": "Cannot access attribute \"reaction_type\" for class \"GeneratedClipExtra\"\n  Attribute \"reaction_type\" is unknown",
      "range": {
        "end": {
          "character": 72,
          "line": 467
        },
        "start": {
          "character": 59,
          "line": 467
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/utils.py",
      "message": "\"get\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 47,
          "line": 585
        },
        "start": {
          "character": 44,
          "line": 585
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/utils.py",
      "message": "Cannot assign to attribute \"user_mentions\" for class \"AbstractComment\"\n  Attribute \"user_mentions\" is unknown",
      "range": {
        "end": {
          "character": 32,
          "line": 686
        },
        "start": {
          "character": 19,
          "line": 686
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/utils.py",
      "message": "Cannot assign to attribute \"user_mentions\" for class \"ClipComment\"\n  Attribute \"user_mentions\" is unknown",
      "range": {
        "end": {
          "character": 32,
          "line": 686
        },
        "start": {
          "character": 19,
          "line": 686
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/gen/utils.py",
      "message": "Cannot assign to attribute \"user_mentions\" for class \"ClipCaption\"\n  Attribute \"user_mentions\" is unknown",
      "range": {
        "end": {
          "character": 32,
          "line": 686
        },
        "start": {
          "character": 19,
          "line": 686
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"lyrics_id\" of type \"UUID\" in function \"_set_worker_handler_cache\"\n  \"str\" is not assignable to \"UUID\"",
      "range": {
        "end": {
          "character": 56,
          "line": 633
        },
        "start": {
          "character": 47,
          "line": 633
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "\"decode\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 39,
          "line": 736
        },
        "start": {
          "character": 33,
          "line": 736
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"lyrics_id\" of type \"UUID\" in function \"_set_worker_handler_cache\"\n  \"str\" is not assignable to \"UUID\"",
      "range": {
        "end": {
          "character": 58,
          "line": 844
        },
        "start": {
          "character": 47,
          "line": 844
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"lyrics_id\" of type \"UUID\" in function \"_set_worker_handler_cache\"\n  \"str\" is not assignable to \"UUID\"",
      "range": {
        "end": {
          "character": 58,
          "line": 845
        },
        "start": {
          "character": 47,
          "line": 845
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"lyrics_request_id\" of type \"UUID\" in function \"__init__\"\n  \"str\" is not assignable to \"UUID\"",
      "range": {
        "end": {
          "character": 36,
          "line": 866
        },
        "start": {
          "character": 26,
          "line": 866
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"lyrics_a_id\" of type \"UUID\" in function \"__init__\"\n  \"str\" is not assignable to \"UUID\"",
      "range": {
        "end": {
          "character": 61,
          "line": 866
        },
        "start": {
          "character": 50,
          "line": 866
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"lyrics_b_id\" of type \"UUID\" in function \"__init__\"\n  \"str\" is not assignable to \"UUID\"",
      "range": {
        "end": {
          "character": 86,
          "line": 866
        },
        "start": {
          "character": 75,
          "line": 866
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "\"model_name\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 55,
          "line": 903
        },
        "start": {
          "character": 45,
          "line": 903
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "Cannot access attribute \"clips\" for class \"GenerationRequest\"\n  Attribute \"clips\" is unknown",
      "range": {
        "end": {
          "character": 32,
          "line": 1045
        },
        "start": {
          "character": 27,
          "line": 1045
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "Cannot access attribute \"clips\" for class \"GenerationRequest\"\n  Attribute \"clips\" is unknown",
      "range": {
        "end": {
          "character": 44,
          "line": 1048
        },
        "start": {
          "character": 39,
          "line": 1048
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "Argument missing for parameter \"clip_id\"",
      "range": {
        "end": {
          "character": 5,
          "line": 1141
        },
        "start": {
          "character": 4,
          "line": 1138
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "Argument of type \"list[GeneratedClip]\" cannot be assigned to parameter \"clips\" of type \"List[GeneratedClipSchema]\" in function \"__init__\"\n  \"GeneratedClip\" is not assignable to \"GeneratedClipSchema\"",
      "range": {
        "end": {
          "character": 63,
          "line": 1282
        },
        "start": {
          "character": 59,
          "line": 1282
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "\"context\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 54,
          "line": 2279
        },
        "start": {
          "character": 47,
          "line": 2279
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "No parameter named \"created_at\"",
      "range": {
        "end": {
          "character": 18,
          "line": 2356
        },
        "start": {
          "character": 8,
          "line": 2356
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "Cannot access attribute \"contest_clip\" for class \"GeneratedClip\"\n  Attribute \"contest_clip\" is unknown",
      "range": {
        "end": {
          "character": 45,
          "line": 2613
        },
        "start": {
          "character": 33,
          "line": 2613
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "\"context\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 54,
          "line": 2619
        },
        "start": {
          "character": 47,
          "line": 2619
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "Argument of type \"UpsampleParamsSpec\" cannot be assigned to parameter \"params\" of type \"GenParamsSpec\" in function \"check_bot_on_generation\"\n  \"UpsampleParamsSpec\" is not assignable to \"GenParamsSpec\"",
      "range": {
        "end": {
          "character": 72,
          "line": 2622
        },
        "start": {
          "character": 66,
          "line": 2622
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "Argument of type \"UpsampleParamsSpec\" cannot be assigned to parameter \"params_or_clip\" of type \"GenParamsSpec | GeneratedClip\" in function \"track_gen_stem_lineage\"\n  Type \"UpsampleParamsSpec\" is not assignable to type \"GenParamsSpec | GeneratedClip\"\n    \"UpsampleParamsSpec\" is not assignable to \"GenParamsSpec\"\n    \"UpsampleParamsSpec\" is not assignable to \"GeneratedClip\"",
      "range": {
        "end": {
          "character": 53,
          "line": 2678
        },
        "start": {
          "character": 47,
          "line": 2678
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "No parameter named \"created_at\"",
      "range": {
        "end": {
          "character": 18,
          "line": 2725
        },
        "start": {
          "character": 8,
          "line": 2725
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "Argument of type \"list[dict[str, str]] | list[MatrixParam]\" cannot be assigned to parameter \"params\" of type \"List[MatrixParam]\" in function \"__init__\"\n  Type \"list[dict[str, str]] | list[MatrixParam]\" is not assignable to type \"List[MatrixParam]\"\n    \"list[dict[str, str]]\" is not assignable to \"List[MatrixParam]\"\n      Type parameter \"_T@list\" is invariant, but \"dict[str, str]\" is not the same as \"MatrixParam\"\n      Consider switching from \"list\" to \"Sequence\" which is covariant",
      "range": {
        "end": {
          "character": 59,
          "line": 3009
        },
        "start": {
          "character": 15,
          "line": 3009
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/api.py",
      "message": "Argument of type \"list[dict[str, Unknown]] | list[MatrixParam]\" cannot be assigned to parameter \"diffusion_params\" of type \"List[MatrixParam]\" in function \"__init__\"\n  Type \"list[dict[str, Unknown]] | list[MatrixParam]\" is not assignable to type \"List[MatrixParam]\"\n    \"list[dict[str, Unknown]]\" is not assignable to \"List[MatrixParam]\"\n      Type parameter \"_T@list\" is invariant, but \"dict[str, Unknown]\" is not the same as \"MatrixParam\"\n      Consider switching from \"list\" to \"Sequence\" which is covariant",
      "range": {
        "end": {
          "character": 70,
          "line": 3010
        },
        "start": {
          "character": 25,
          "line": 3010
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/lyrics_infill.py",
      "message": "Type \"InfillLyricsResult\" is not assignable to return type \"str\"\n  \"InfillLyricsResult\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 5,
          "line": 110
        },
        "start": {
          "character": 11,
          "line": 106
        }
      },
      "rule": "reportReturnType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/model_name_resolver.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"key\" of type \"ModelCapability\" in function \"__getitem__\"\n  \"str\" is not assignable to \"ModelCapability\"",
      "range": {
        "end": {
          "character": 53,
          "line": 167
        },
        "start": {
          "character": 15,
          "line": 167
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/model_name_resolver.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"key\" of type \"ModelCapability\" in function \"__getitem__\"\n  \"str\" is not assignable to \"ModelCapability\"",
      "range": {
        "end": {
          "character": 41,
          "line": 177
        },
        "start": {
          "character": 11,
          "line": 177
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/preprocess/access_check.py",
      "message": "Argument of type \"taskLiteral\" cannot be assigned to parameter \"key\" of type \"GenerateTasks\" in function \"__getitem__\"\n  Type \"taskLiteral\" is not assignable to type \"GenerateTasks\"\n    \"Literal['']\" is not assignable to \"GenerateTasks\"",
      "range": {
        "end": {
          "character": 43,
          "line": 68
        },
        "start": {
          "character": 18,
          "line": 68
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/preprocess/balance_check.py",
      "message": "Argument of type \"Literal['mobile_v4_gen', 'web_v4_gen', 'cover', 'persona'] | None\" cannot be assigned to parameter \"gen_type\" of type \"Literal['remaster', 'mobile_remaster', 'mobile_v4_gen', 'web_v4_gen'] | None\" in function \"can_afford_generation\"\n  Type \"Literal['mobile_v4_gen', 'web_v4_gen', 'cover', 'persona'] | None\" is not assignable to type \"Literal['remaster', 'mobile_remaster', 'mobile_v4_gen', 'web_v4_gen'] | None\"\n    Type \"Literal['cover']\" is not assignable to type \"Literal['remaster', 'mobile_remaster', 'mobile_v4_gen', 'web_v4_gen'] | None\"\n      \"Literal['cover']\" is not assignable to \"None\"\n      \"Literal['cover']\" is not assignable to type \"Literal['remaster']\"\n      \"Literal['cover']\" is not assignable to type \"Literal['mobile_remaster']\"\n      \"Literal['cover']\" is not assignable to type \"Literal['mobile_v4_gen']\"\n      \"Literal['cover']\" is not assignable to type \"Literal['web_v4_gen']\"",
      "range": {
        "end": {
          "character": 56,
          "line": 119
        },
        "start": {
          "character": 48,
          "line": 119
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/preprocess/tasks/task_param_builder.py",
      "message": "\"metadata\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 68,
          "line": 88
        },
        "start": {
          "character": 60,
          "line": 88
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/preprocess/tasks/task_param_builder.py",
      "message": "\"metadata\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 47,
          "line": 169
        },
        "start": {
          "character": 39,
          "line": 169
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/test_model_name_resolver.py",
      "message": "Argument of type \"Literal['ALL', 'GENERATE', 'INFILL', 'FIXED_INFILL', 'INFILL_INTRO', 'INFILL_OUTRO', 'ARTIST_INFILL', 'COVER_INFILL', 'ARTIST_CONSISTENCY', 'ARTIST_COVER', 'ARTIST_EXTEND', 'COVER', 'UPSAMPLE', 'EXTEND', 'UPLOAD_EXTEND', 'COVER_EXTEND', 'SHORT', 'GENERATE_STEM']\" cannot be assigned to parameter \"task\" of type \"taskLiteral | None\" in function \"resolve_model_name\"\n  Type \"Literal['ALL', 'GENERATE', 'INFILL', 'FIXED_INFILL', 'INFILL_INTRO', 'INFILL_OUTRO', 'ARTIST_INFILL', 'COVER_INFILL', 'ARTIST_CONSISTENCY', 'ARTIST_COVER', 'ARTIST_EXTEND', 'COVER', 'UPSAMPLE', 'EXTEND', 'UPLOAD_EXTEND', 'COVER_EXTEND', 'SHORT', 'GENERATE_STEM']\" is not assignable to type \"taskLiteral | None\"\n    Type \"Literal['ALL']\" is not assignable to type \"taskLiteral | None\"\n      \"Literal['ALL']\" is not assignable to \"None\"\n      \"Literal['ALL']\" is not assignable to type \"Literal['extend']\"\n      \"Literal['ALL']\" is not assignable to type \"Literal['upload_extend']\"\n      \"Literal['ALL']\" is not assignable to type \"Literal['infill']\"\n      \"Literal['ALL']\" is not assignable to type \"Literal['fixed_infill']\"\n      \"Literal['ALL']\" is not assignable to type \"Literal['infill_intro']\"\n  ...",
      "range": {
        "end": {
          "character": 75,
          "line": 102
        },
        "start": {
          "character": 67,
          "line": 102
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/test_model_name_resolver.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"task\" of type \"taskLiteral | None\" in function \"resolve_model_name\"\n  Type \"str\" is not assignable to type \"taskLiteral | None\"\n    \"str\" is not assignable to \"None\"\n    \"str\" is not assignable to type \"Literal['extend']\"\n    \"str\" is not assignable to type \"Literal['upload_extend']\"\n    \"str\" is not assignable to type \"Literal['infill']\"\n    \"str\" is not assignable to type \"Literal['fixed_infill']\"\n    \"str\" is not assignable to type \"Literal['infill_intro']\"\n    \"str\" is not assignable to type \"Literal['infill_outro']\"\n  ...",
      "range": {
        "end": {
          "character": 84,
          "line": 123
        },
        "start": {
          "character": 66,
          "line": 123
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/test_model_name_resolver.py",
      "message": "Argument of type \"Literal['SOME_UNKNOWN_TASK']\" cannot be assigned to parameter \"task\" of type \"taskLiteral | None\" in function \"resolve_model_name\"\n  Type \"Literal['SOME_UNKNOWN_TASK']\" is not assignable to type \"taskLiteral | None\"\n    \"Literal['SOME_UNKNOWN_TASK']\" is not assignable to \"None\"\n    \"Literal['SOME_UNKNOWN_TASK']\" is not assignable to type \"Literal['extend']\"\n    \"Literal['SOME_UNKNOWN_TASK']\" is not assignable to type \"Literal['upload_extend']\"\n    \"Literal['SOME_UNKNOWN_TASK']\" is not assignable to type \"Literal['infill']\"\n    \"Literal['SOME_UNKNOWN_TASK']\" is not assignable to type \"Literal['fixed_infill']\"\n    \"Literal['SOME_UNKNOWN_TASK']\" is not assignable to type \"Literal['infill_intro']\"\n    \"Literal['SOME_UNKNOWN_TASK']\" is not assignable to type \"Literal['infill_outro']\"\n  ...",
      "range": {
        "end": {
          "character": 88,
          "line": 146
        },
        "start": {
          "character": 69,
          "line": 146
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/test_model_name_resolver.py",
      "message": "Argument of type \"Literal['GENERATE']\" cannot be assigned to parameter \"task\" of type \"taskLiteral | None\" in function \"resolve_model_name\"\n  Type \"Literal['GENERATE']\" is not assignable to type \"taskLiteral | None\"\n    \"Literal['GENERATE']\" is not assignable to \"None\"\n    \"Literal['GENERATE']\" is not assignable to type \"Literal['extend']\"\n    \"Literal['GENERATE']\" is not assignable to type \"Literal['upload_extend']\"\n    \"Literal['GENERATE']\" is not assignable to type \"Literal['infill']\"\n    \"Literal['GENERATE']\" is not assignable to type \"Literal['fixed_infill']\"\n    \"Literal['GENERATE']\" is not assignable to type \"Literal['infill_intro']\"\n    \"Literal['GENERATE']\" is not assignable to type \"Literal['infill_outro']\"\n  ...",
      "range": {
        "end": {
          "character": 92,
          "line": 156
        },
        "start": {
          "character": 63,
          "line": 156
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/generate/test_model_name_resolver.py",
      "message": "Argument of type \"Literal['GENERATE']\" cannot be assigned to parameter \"task\" of type \"taskLiteral | None\" in function \"resolve_model_name\"\n  Type \"Literal['GENERATE']\" is not assignable to type \"taskLiteral | None\"\n    \"Literal['GENERATE']\" is not assignable to \"None\"\n    \"Literal['GENERATE']\" is not assignable to type \"Literal['extend']\"\n    \"Literal['GENERATE']\" is not assignable to type \"Literal['upload_extend']\"\n    \"Literal['GENERATE']\" is not assignable to type \"Literal['infill']\"\n    \"Literal['GENERATE']\" is not assignable to type \"Literal['fixed_infill']\"\n    \"Literal['GENERATE']\" is not assignable to type \"Literal['infill_intro']\"\n    \"Literal['GENERATE']\" is not assignable to type \"Literal['infill_outro']\"\n  ...",
      "range": {
        "end": {
          "character": 86,
          "line": 168
        },
        "start": {
          "character": 57,
          "line": 168
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/impact/client.py",
      "message": "Expression of type \"None\" cannot be assigned to parameter of type \"str\"\n  \"None\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 85,
          "line": 65
        },
        "start": {
          "character": 81,
          "line": 65
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/impact/client.py",
      "message": "Argument of type \"int\" cannot be assigned to parameter \"user_id\" of type \"str | None\" in function \"check_user_flag_by_user_id\"\n  Type \"int\" is not assignable to type \"str | None\"\n    \"int\" is not assignable to \"str\"\n    \"int\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 23,
          "line": 67
        },
        "start": {
          "character": 16,
          "line": 67
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/impact/client.py",
      "message": "Argument of type \"int\" cannot be assigned to parameter \"user_id\" of type \"str | None\" in function \"check_user_flag_by_user_id\"\n  Type \"int\" is not assignable to type \"str | None\"\n    \"int\" is not assignable to \"str\"\n    \"int\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 23,
          "line": 103
        },
        "start": {
          "character": 16,
          "line": 103
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/impact/client.py",
      "message": "Argument of type \"int\" cannot be assigned to parameter \"user_id\" of type \"str | None\" in function \"check_user_flag_by_user_id\"\n  Type \"int\" is not assignable to type \"str | None\"\n    \"int\" is not assignable to \"str\"\n    \"int\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 23,
          "line": 131
        },
        "start": {
          "character": 16,
          "line": 131
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/invite/api.py",
      "message": "Cannot access attribute \"date_joined\" for class \"AnonymousUser\"\n  Attribute \"date_joined\" is unknown",
      "range": {
        "end": {
          "character": 52,
          "line": 92
        },
        "start": {
          "character": 41,
          "line": 92
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/invite/api.py",
      "message": "No parameter named \"reward_amount\"",
      "range": {
        "end": {
          "character": 21,
          "line": 100
        },
        "start": {
          "character": 8,
          "line": 100
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/invite/ios/api.py",
      "message": "Cannot access attribute \"get\" for class \"DynamicConfig\"\n  Attribute \"get\" is unknown",
      "range": {
        "end": {
          "character": 43,
          "line": 156
        },
        "start": {
          "character": 40,
          "line": 156
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/invite/ios/api.py",
      "message": "Cannot access attribute \"get\" for class \"DynamicConfig\"\n  Attribute \"get\" is unknown",
      "range": {
        "end": {
          "character": 19,
          "line": 158
        },
        "start": {
          "character": 16,
          "line": 158
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/invite/ios/api.py",
      "message": "Cannot access attribute \"get\" for class \"DynamicConfig\"\n  Attribute \"get\" is unknown",
      "range": {
        "end": {
          "character": 19,
          "line": 159
        },
        "start": {
          "character": 16,
          "line": 159
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/invite/ios/lib.py",
      "message": "Argument of type \"_AnyUser\" cannot be assigned to parameter \"user\" of type \"User | AnonymousUser | AbstractBaseUser\" in function \"get_ios_invite_config\"\n  Type \"_AnyUser\" is not assignable to type \"User | AnonymousUser | AbstractBaseUser\"\n    Type \"Model\" is not assignable to type \"User | AnonymousUser | AbstractBaseUser\"\n      \"Model\" is not assignable to \"User\"\n      \"Model\" is not assignable to \"AnonymousUser\"\n      \"Model\" is not assignable to \"AbstractBaseUser\"",
      "range": {
        "end": {
          "character": 47,
          "line": 41
        },
        "start": {
          "character": 35,
          "line": 41
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/invite/ios/lib.py",
      "message": "Argument of type \"_AnyUser\" cannot be assigned to parameter \"user\" of type \"User | AnonymousUser | AbstractBaseUser\" in function \"get_ios_invite_config\"\n  Type \"_AnyUser\" is not assignable to type \"User | AnonymousUser | AbstractBaseUser\"\n    Type \"Model\" is not assignable to type \"User | AnonymousUser | AbstractBaseUser\"\n      \"Model\" is not assignable to \"User\"\n      \"Model\" is not assignable to \"AnonymousUser\"\n      \"Model\" is not assignable to \"AbstractBaseUser\"",
      "range": {
        "end": {
          "character": 51,
          "line": 83
        },
        "start": {
          "character": 39,
          "line": 83
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/invite/ios/lib.py",
      "message": "Argument of type \"_AnyUser\" cannot be assigned to parameter \"user\" of type \"User\" in function \"can_log_in_ios\"\n  Type \"_AnyUser\" is not assignable to type \"User\"\n    \"AnonymousUser\" is not assignable to \"User\"",
      "range": {
        "end": {
          "character": 50,
          "line": 87
        },
        "start": {
          "character": 38,
          "line": 87
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/lyrics_critic_gpt.py",
      "message": "Type \"Literal['']\" is not assignable to return type \"bool\"\n  \"Literal['']\" is not assignable to \"bool\"",
      "range": {
        "end": {
          "character": 21,
          "line": 60
        },
        "start": {
          "character": 19,
          "line": 60
        }
      },
      "rule": "reportReturnType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/lyrics_critic_gpt.py",
      "message": "Type \"bool | None\" is not assignable to return type \"bool\"\n  Type \"bool | None\" is not assignable to type \"bool\"\n    \"None\" is not assignable to \"bool\"",
      "range": {
        "end": {
          "character": 42,
          "line": 65
        },
        "start": {
          "character": 15,
          "line": 65
        }
      },
      "rule": "reportReturnType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/lyrics_critic_gpt.py",
      "message": "Argument of type \"str | None\" cannot be assigned to parameter \"response\" of type \"str\" in function \"_is_approved\"\n  Type \"str | None\" is not assignable to type \"str\"\n    \"None\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 41,
          "line": 65
        },
        "start": {
          "character": 33,
          "line": 65
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/backfill_clerk_users_to_usersocialauth.py",
      "message": "Could not access item in TypedDict\n  \"limit\" is not a required key in \"GetUserListRequestTypedDict\", so access may result in runtime exception",
      "range": {
        "end": {
          "character": 43,
          "line": 191
        },
        "start": {
          "character": 16,
          "line": 191
        }
      },
      "rule": "reportTypedDictNotRequiredAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/backfill_clerk_users_to_usersocialauth.py",
      "message": "Argument of type \"dict[str, object]\" cannot be assigned to parameter \"base_request\" of type \"GetUserListRequestTypedDict\"\n  \"dict[str, object]\" is not assignable to \"GetUserListRequestTypedDict\"",
      "range": {
        "end": {
          "character": 36,
          "line": 312
        },
        "start": {
          "character": 20,
          "line": 312
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/backfill_clerk_users_to_usersocialauth.py",
      "message": "Argument of type \"dict[str, object]\" cannot be assigned to parameter \"request\" of type \"GetUserListRequest | GetUserListRequestTypedDict\" in function \"list\"\n  Type \"dict[str, object]\" is not assignable to type \"GetUserListRequest | GetUserListRequestTypedDict\"\n    \"dict[str, object]\" is not assignable to \"GetUserListRequest\"\n    \"dict[str, object]\" is not assignable to \"GetUserListRequestTypedDict\"",
      "range": {
        "end": {
          "character": 55,
          "line": 409
        },
        "start": {
          "character": 40,
          "line": 409
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/backfill_clerk_users_to_usersocialauth.py",
      "message": "Cannot access attribute \"social_auth\" for class \"UserWithDiscordInfo\"\n  Attribute \"social_auth\" is unknown",
      "range": {
        "end": {
          "character": 66,
          "line": 470
        },
        "start": {
          "character": 55,
          "line": 470
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/backfill_clerk_users_to_usersocialauth.py",
      "message": "Cannot access attribute \"user_id\" for class \"UserSocialAuth\"\n  Attribute \"user_id\" is unknown",
      "range": {
        "end": {
          "character": 58,
          "line": 499
        },
        "start": {
          "character": 51,
          "line": 499
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/backfill_clerk_users_to_usersocialauth.py",
      "message": "Cannot access attribute \"user_id\" for class \"UserSocialAuth\"\n  Attribute \"user_id\" is unknown",
      "range": {
        "end": {
          "character": 54,
          "line": 615
        },
        "start": {
          "character": 47,
          "line": 615
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/backfill_clerk_users_to_usersocialauth.py",
      "message": "Cannot access attribute \"user_id\" for class \"UserSocialAuth\"\n  Attribute \"user_id\" is unknown",
      "range": {
        "end": {
          "character": 60,
          "line": 620
        },
        "start": {
          "character": 53,
          "line": 620
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/backfill_deleted_user_data.py",
      "message": "Import \"psycopg\" could not be resolved",
      "range": {
        "end": {
          "character": 14,
          "line": 6
        },
        "start": {
          "character": 7,
          "line": 6
        }
      },
      "rule": "reportMissingImports",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/backfill_deleted_user_data.py",
      "message": "Import \"psycopg.types.json\" could not be resolved",
      "range": {
        "end": {
          "character": 23,
          "line": 8
        },
        "start": {
          "character": 5,
          "line": 8
        }
      },
      "rule": "reportMissingImports",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/create_contest.py",
      "message": "Argument of type \"Unknown | None\" cannot be assigned to parameter \"value\" of type \"str\" in function \"parse_datetime\"\n  Type \"Unknown | None\" is not assignable to type \"str\"\n    \"None\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 54,
          "line": 53
        },
        "start": {
          "character": 40,
          "line": 53
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/create_contest.py",
      "message": "Argument of type \"Unknown | None\" cannot be assigned to parameter \"value\" of type \"str\" in function \"parse_datetime\"\n  Type \"Unknown | None\" is not assignable to type \"str\"\n    \"None\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 50,
          "line": 59
        },
        "start": {
          "character": 38,
          "line": 59
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/lyrics_modv3_check.py",
      "message": "Import \"studio_api.search.lyrics_search_utils\" could not be resolved",
      "range": {
        "end": {
          "character": 42,
          "line": 36
        },
        "start": {
          "character": 5,
          "line": 36
        }
      },
      "rule": "reportMissingImports",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/lyrics_modv3_check.py",
      "message": "Type \"None\" is not assignable to return type \"dict[Unknown, Unknown]\"\n  \"None\" is not assignable to \"dict[Unknown, Unknown]\"",
      "range": {
        "end": {
          "character": 27,
          "line": 127
        },
        "start": {
          "character": 23,
          "line": 127
        }
      },
      "rule": "reportReturnType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/lyrics_modv3_check.py",
      "message": "Type \"None\" is not assignable to return type \"dict[Unknown, Unknown]\"\n  \"None\" is not assignable to \"dict[Unknown, Unknown]\"",
      "range": {
        "end": {
          "character": 23,
          "line": 141
        },
        "start": {
          "character": 19,
          "line": 141
        }
      },
      "rule": "reportReturnType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/lyrics_modv3_check.py",
      "message": "Argument of type \"dict[str, str]\" cannot be assigned to parameter \"options\" of type \"Dict[str, int | str]\" in function \"configs\"\n  \"dict[str, str]\" is not assignable to \"Dict[str, int | str]\"\n    Type parameter \"_VT@dict\" is invariant, but \"str\" is not the same as \"int | str\"\n    Consider switching from \"dict\" to \"Mapping\" which is covariant in the value type",
      "range": {
        "end": {
          "character": 67,
          "line": 339
        },
        "start": {
          "character": 46,
          "line": 339
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/lyrics_modv3_hydrate_es.py",
      "message": "Argument of type \"int | List[Dict[str, Any]]\" cannot be assigned to parameter \"obj\" of type \"Sized\" in function \"len\"\n  Type \"int | List[Dict[str, Any]]\" is not assignable to type \"Sized\"\n    \"int\" is incompatible with protocol \"Sized\"\n      \"__len__\" is not present",
      "range": {
        "end": {
          "character": 54,
          "line": 286
        },
        "start": {
          "character": 48,
          "line": 286
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/lyrics_modv3_hydrate_es.py",
      "message": "\"int\" is not iterable\n  \"__iter__\" method not defined",
      "range": {
        "end": {
          "character": 47,
          "line": 288
        },
        "start": {
          "character": 41,
          "line": 288
        }
      },
      "rule": "reportGeneralTypeIssues",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/retrieve_popular_clips_given_genre.py",
      "message": "\"result\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 102,
          "line": 149
        },
        "start": {
          "character": 96,
          "line": 149
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/management/commands/update_daily_theme_topic.py",
      "message": "Type \"DailyTheme | None\" is not assignable to declared type \"DailyTheme\"\n  Type \"DailyTheme | None\" is not assignable to type \"DailyTheme\"\n    \"None\" is not assignable to \"DailyTheme\"",
      "range": {
        "end": {
          "character": 93,
          "line": 25
        },
        "start": {
          "character": 41,
          "line": 25
        }
      },
      "rule": "reportAssignmentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/memoizer.py",
      "message": "Expression of type \"None\" cannot be assigned to parameter of type \"List[str]\"\n  \"None\" is not assignable to \"List[str]\"",
      "range": {
        "end": {
          "character": 35,
          "line": 27
        },
        "start": {
          "character": 31,
          "line": 27
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/memoizer.py",
      "message": "Expression of type \"None\" cannot be assigned to parameter of type \"List[Tuple[str, Any]]\"\n  \"None\" is not assignable to \"List[Tuple[str, Any]]\"",
      "range": {
        "end": {
          "character": 48,
          "line": 28
        },
        "start": {
          "character": 44,
          "line": 28
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/memoizer.py",
      "message": "Object of type \"Enum\" is not callable\n  Attribute \"__call__\" is unknown",
      "range": {
        "end": {
          "character": 56,
          "line": 50
        },
        "start": {
          "character": 23,
          "line": 50
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/memoizer.py",
      "message": "Object of type \"Enum\" is not callable\n  Attribute \"__call__\" is unknown",
      "range": {
        "end": {
          "character": 44,
          "line": 94
        },
        "start": {
          "character": 15,
          "line": 94
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/memoizer.py",
      "message": "Argument of type \"type[MEMOIZED_FUNCTIONS]\" cannot be assigned to parameter \"function_list\" of type \"Enum\" in function \"__init__\"\n  Type \"type[MEMOIZED_FUNCTIONS]\" is not assignable to type \"Enum\"",
      "range": {
        "end": {
          "character": 57,
          "line": 192
        },
        "start": {
          "character": 39,
          "line": 192
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/notification/api.py",
      "message": "Argument of type \"str | Unknown | Literal[NotificationTypeV2.CLIP_CREATE_FOLLOWEE, NotificationTypeV2.CLIP_REMIX]\" cannot be assigned to parameter \"notification_type\" of type \"Literal['clip_like', 'scene_like', 'clip_create_followee', 'playlist_like', 'code_redeem', 'persona_favorite', 'persona_follow', 'persona_used', 'announcement', 'follow', 'invite', 'invite_accepted', 'clip_comment', 'scene_comment', 'playlist_comment', 'comment_like', 'comment_reply', 'comment_mention', 'caption_mention', 'clip_remix', 'share_clip', 'delete', 'default', 'hook_like', 'hook_comment', 'hook_comment_reply', 'hook_created', 'hook_comment_like', 'hook_comment_mention', 'video_cover_hook_like', 'video_cover_hook_comment', 'video_cover_hook_comment_reply', 'video_cover_hook_comment_like', 'video_cover_hook_comment_mention']\" in function \"__init__\"\n  Type \"str | Unknown | Literal[NotificationTypeV2.CLIP_CREATE_FOLLOWEE, NotificationTypeV2.CLIP_REMIX]\" is not assignable to type \"Literal['clip_like', 'scene_like', 'clip_create_followee', 'playlist_like', 'code_redeem', 'persona_favorite', 'persona_follow', 'persona_used', 'announcement', 'follow', 'invite', 'invite_accepted', 'clip_comment', 'scene_comment', 'playlist_comment', 'comment_like', 'comment_reply', 'comment_mention', 'caption_mention', 'clip_remix', 'share_clip', 'delete', 'default', 'hook_like', 'hook_comment', 'hook_comment_reply', 'hook_created', 'hook_comment_like', 'hook_comment_mention', 'video_cover_hook_like', 'video_cover_hook_comment', 'video_cover_hook_comment_reply', 'video_cover_hook_comment_like', 'video_cover_hook_comment_mention']\"\n    Type \"str\" is not assignable to type \"Literal['clip_like', 'scene_like', 'clip_create_followee', 'playlist_like', 'code_redeem', 'persona_favorite', 'persona_follow', 'persona_used', 'announcement', 'follow', 'invite', 'invite_accepted', 'clip_comment', 'scene_comment', 'playlist_comment', 'comment_like', 'comment_reply', 'comment_mention', 'caption_mention', 'clip_remix', 'share_clip', 'delete', 'default', 'hook_like', 'hook_comment', 'hook_comment_reply', 'hook_created', 'hook_comment_like', 'hook_comment_mention', 'video_cover_hook_like', 'video_cover_hook_comment', 'video_cover_hook_comment_reply', 'video_cover_hook_comment_like', 'video_cover_hook_comment_mention']\"\n      \"str\" is not assignable to type \"Literal['clip_like']\"\n      \"str\" is not assignable to type \"Literal['scene_like']\"\n      \"str\" is not assignable to type \"Literal['clip_create_followee']\"\n      \"str\" is not assignable to type \"Literal['playlist_like']\"\n      \"str\" is not assignable to type \"Literal['code_redeem']\"\n      \"str\" is not assignable to type \"Literal['persona_favorite']\"\n  ...",
      "range": {
        "end": {
          "character": 51,
          "line": 324
        },
        "start": {
          "character": 34,
          "line": 324
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/notification/braze/client.py",
      "message": "\"uid\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 68,
          "line": 97
        },
        "start": {
          "character": 65,
          "line": 97
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/notification/utils.py",
      "message": "Argument of type \"str | (() -> (str | None)) | None\" cannot be assigned to parameter \"image_url\" of type \"str | None\" in function \"__init__\"\n  Type \"str | (() -> (str | None)) | None\" is not assignable to type \"str | None\"\n    Type \"() -> (str | None)\" is not assignable to type \"str | None\"\n      \"MethodType\" is not assignable to \"str\"\n      \"MethodType\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 44,
          "line": 61
        },
        "start": {
          "character": 18,
          "line": 61
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/notification/utils.py",
      "message": "Cannot access attribute \"get_contest_name_display\" for class \"ContestWinnerNotification\"\n  Attribute \"get_contest_name_display\" is unknown",
      "range": {
        "end": {
          "character": 83,
          "line": 86
        },
        "start": {
          "character": 59,
          "line": 86
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/notification/utils.py",
      "message": "No parameter named \"clip\"",
      "range": {
        "end": {
          "character": 28,
          "line": 87
        },
        "start": {
          "character": 24,
          "line": 87
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/notification/utils.py",
      "message": "\"subscription_plan\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 41,
          "line": 276
        },
        "start": {
          "character": 24,
          "line": 276
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/notification/utils.py",
      "message": "\"subscription_period_type\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 52,
          "line": 279
        },
        "start": {
          "character": 28,
          "line": 279
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/notification/utils.py",
      "message": "\"subscription_period_type\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 54,
          "line": 281
        },
        "start": {
          "character": 30,
          "line": 281
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/notification/utils.py",
      "message": "\"subscription_plan\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 43,
          "line": 283
        },
        "start": {
          "character": 26,
          "line": 283
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/notification/utils.py",
      "message": "\"subscription_period_type\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 52,
          "line": 286
        },
        "start": {
          "character": 28,
          "line": 286
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/openai/client.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"api_key\" of type \"str | None\" in function \"__init__\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str | None\"\n    Type \"NoValue\" is not assignable to type \"str | None\"\n      \"NoValue\" is not assignable to \"str\"\n      \"NoValue\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 75,
          "line": 7
        },
        "start": {
          "character": 65,
          "line": 7
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/openai/client.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"api_key\" of type \"str | None\" in function \"__init__\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str | None\"\n    Type \"NoValue\" is not assignable to type \"str | None\"\n      \"NoValue\" is not assignable to \"str\"\n      \"NoValue\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 86,
          "line": 8
        },
        "start": {
          "character": 76,
          "line": 8
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/orpheus/api.py",
      "message": "Argument of type \"dict[KeyT, EncodableT]\" cannot be assigned to parameter \"mapping\" of type \"Mapping[_Key, _Value]\" in function \"hset\"\n  \"dict[KeyT, EncodableT]\" is not assignable to \"Mapping[_Key, _Value]\"\n    Type parameter \"_KT@Mapping\" is invariant, but \"KeyT\" is not the same as \"_Key\"\n    Type parameter \"_VT_co@Mapping\" is covariant, but \"EncodableT\" is not a subtype of \"_Value\"\n      Type \"EncodableT\" is not assignable to type \"_Value\"\n        Type \"memoryview[int]\" is not assignable to type \"_Value\"\n          \"memoryview[int]\" is not assignable to \"bytes\"\n          Set disableBytesTypePromotions to false to enable type promotion behavior for \"bytearray\" and \"memoryview\"\n          \"memoryview[int]\" is not assignable to \"float\"\n  ...",
      "range": {
        "end": {
          "character": 65,
          "line": 218
        },
        "start": {
          "character": 49,
          "line": 218
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/orpheus/api.py",
      "message": "No overloads for \"create\" match the provided arguments",
      "range": {
        "end": {
          "character": 13,
          "line": 265
        },
        "start": {
          "character": 21,
          "line": 244
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/orpheus/api.py",
      "message": "Argument of type \"list[dict[str, Any]]\" cannot be assigned to parameter \"messages\" of type \"Iterable[ChatCompletionMessageParam]\" in function \"create\"\n  \"list[dict[str, Any]]\" is not assignable to \"Iterable[ChatCompletionMessageParam]\"\n    Type parameter \"_T_co@Iterable\" is covariant, but \"dict[str, Any]\" is not a subtype of \"ChatCompletionMessageParam\"\n      Type \"dict[str, Any]\" is not assignable to type \"ChatCompletionMessageParam\"\n        \"dict[str, Any]\" is not assignable to \"ChatCompletionDeveloperMessageParam\"\n        \"dict[str, Any]\" is not assignable to \"ChatCompletionSystemMessageParam\"\n        \"dict[str, Any]\" is not assignable to \"ChatCompletionUserMessageParam\"\n        \"dict[str, Any]\" is not assignable to \"ChatCompletionAssistantMessageParam\"\n        \"dict[str, Any]\" is not assignable to \"ChatCompletionToolMessageParam\"\n  ...",
      "range": {
        "end": {
          "character": 33,
          "line": 246
        },
        "start": {
          "character": 25,
          "line": 246
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/orpheus/api.py",
      "message": "Argument of type \"list[dict[str, Unknown]]\" cannot be assigned to parameter \"tools\" of type \"Iterable[ChatCompletionToolParam] | NotGiven\" in function \"create\"\n  Type \"list[dict[str, Unknown]]\" is not assignable to type \"Iterable[ChatCompletionToolParam] | NotGiven\"\n    \"list[dict[str, Unknown]]\" is not assignable to \"Iterable[ChatCompletionToolParam]\"\n      Type parameter \"_T_co@Iterable\" is covariant, but \"dict[str, Unknown]\" is not a subtype of \"ChatCompletionToolParam\"\n        \"dict[str, Unknown]\" is not assignable to \"ChatCompletionToolParam\"\n    \"list[dict[str, Unknown]]\" is not assignable to \"NotGiven\"",
      "range": {
        "end": {
          "character": 35,
          "line": 248
        },
        "start": {
          "character": 22,
          "line": 248
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/orpheus/api.py",
      "message": "Argument of type \"Literal['fast_tier_temp_pilot']\" cannot be assigned to parameter \"service_tier\" of type \"NotGiven | Literal['auto', 'default'] | None\" in function \"create\"\n  Type \"Literal['fast_tier_temp_pilot']\" is not assignable to type \"NotGiven | Literal['auto', 'default'] | None\"\n    \"Literal['fast_tier_temp_pilot']\" is not assignable to \"None\"\n    \"Literal['fast_tier_temp_pilot']\" is not assignable to \"NotGiven\"\n    \"Literal['fast_tier_temp_pilot']\" is not assignable to type \"Literal['auto']\"\n    \"Literal['fast_tier_temp_pilot']\" is not assignable to type \"Literal['default']\"",
      "range": {
        "end": {
          "character": 41,
          "line": 249
        },
        "start": {
          "character": 29,
          "line": 249
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/orpheus/api.py",
      "message": "Argument of type \"dict[KeyT, EncodableT]\" cannot be assigned to parameter \"mapping\" of type \"Mapping[_Key, _Value]\" in function \"hset\"\n  \"dict[KeyT, EncodableT]\" is not assignable to \"Mapping[_Key, _Value]\"\n    Type parameter \"_KT@Mapping\" is invariant, but \"KeyT\" is not the same as \"_Key\"\n    Type parameter \"_VT_co@Mapping\" is covariant, but \"EncodableT\" is not a subtype of \"_Value\"\n      Type \"EncodableT\" is not assignable to type \"_Value\"\n        Type \"memoryview[int]\" is not assignable to type \"_Value\"\n          \"memoryview[int]\" is not assignable to \"bytes\"\n          Set disableBytesTypePromotions to false to enable type promotion behavior for \"bytearray\" and \"memoryview\"\n          \"memoryview[int]\" is not assignable to \"float\"\n  ...",
      "range": {
        "end": {
          "character": 87,
          "line": 333
        },
        "start": {
          "character": 63,
          "line": 333
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/orpheus/api.py",
      "message": "No overloads for \"create\" match the provided arguments",
      "range": {
        "end": {
          "character": 13,
          "line": 387
        },
        "start": {
          "character": 21,
          "line": 381
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/orpheus/api.py",
      "message": "Argument of type \"list[dict[str, Any]]\" cannot be assigned to parameter \"messages\" of type \"Iterable[ChatCompletionMessageParam]\" in function \"create\"\n  \"list[dict[str, Any]]\" is not assignable to \"Iterable[ChatCompletionMessageParam]\"\n    Type parameter \"_T_co@Iterable\" is covariant, but \"dict[str, Any]\" is not a subtype of \"ChatCompletionMessageParam\"\n      Type \"dict[str, Any]\" is not assignable to type \"ChatCompletionMessageParam\"\n        \"dict[str, Any]\" is not assignable to \"ChatCompletionDeveloperMessageParam\"\n        \"dict[str, Any]\" is not assignable to \"ChatCompletionSystemMessageParam\"\n        \"dict[str, Any]\" is not assignable to \"ChatCompletionUserMessageParam\"\n        \"dict[str, Any]\" is not assignable to \"ChatCompletionAssistantMessageParam\"\n        \"dict[str, Any]\" is not assignable to \"ChatCompletionToolMessageParam\"\n  ...",
      "range": {
        "end": {
          "character": 33,
          "line": 383
        },
        "start": {
          "character": 25,
          "line": 383
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/orpheus/api.py",
      "message": "Argument of type \"Literal['fast_tier_temp_pilot']\" cannot be assigned to parameter \"service_tier\" of type \"NotGiven | Literal['auto', 'default'] | None\" in function \"create\"\n  Type \"Literal['fast_tier_temp_pilot']\" is not assignable to type \"NotGiven | Literal['auto', 'default'] | None\"\n    \"Literal['fast_tier_temp_pilot']\" is not assignable to \"None\"\n    \"Literal['fast_tier_temp_pilot']\" is not assignable to \"NotGiven\"\n    \"Literal['fast_tier_temp_pilot']\" is not assignable to type \"Literal['auto']\"\n    \"Literal['fast_tier_temp_pilot']\" is not assignable to type \"Literal['default']\"",
      "range": {
        "end": {
          "character": 41,
          "line": 386
        },
        "start": {
          "character": 29,
          "line": 386
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/orpheus/api.py",
      "message": "Argument of type \"dict[KeyT, EncodableT]\" cannot be assigned to parameter \"mapping\" of type \"Mapping[_Key, _Value]\" in function \"hset\"\n  \"dict[KeyT, EncodableT]\" is not assignable to \"Mapping[_Key, _Value]\"\n    Type parameter \"_KT@Mapping\" is invariant, but \"KeyT\" is not the same as \"_Key\"\n    Type parameter \"_VT_co@Mapping\" is covariant, but \"EncodableT\" is not a subtype of \"_Value\"\n      Type \"EncodableT\" is not assignable to type \"_Value\"\n        Type \"memoryview[int]\" is not assignable to type \"_Value\"\n          \"memoryview[int]\" is not assignable to \"bytes\"\n          Set disableBytesTypePromotions to false to enable type promotion behavior for \"bytearray\" and \"memoryview\"\n          \"memoryview[int]\" is not assignable to \"float\"\n  ...",
      "range": {
        "end": {
          "character": 81,
          "line": 430
        },
        "start": {
          "character": 60,
          "line": 430
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/orpheus/api.py",
      "message": "\"ninja\" is unbound",
      "range": {
        "end": {
          "character": 23,
          "line": 471
        },
        "start": {
          "character": 18,
          "line": 471
        }
      },
      "rule": "reportUnboundVariable",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/orpheus/api.py",
      "message": "Cannot access attribute \"errors\" for class \"Unbound\"",
      "range": {
        "end": {
          "character": 30,
          "line": 471
        },
        "start": {
          "character": 24,
          "line": 471
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/orpheus/api.py",
      "message": "\"ninja\" is unbound",
      "range": {
        "end": {
          "character": 19,
          "line": 474
        },
        "start": {
          "character": 14,
          "line": 474
        }
      },
      "rule": "reportUnboundVariable",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/orpheus/api.py",
      "message": "Cannot access attribute \"errors\" for class \"Unbound\"",
      "range": {
        "end": {
          "character": 26,
          "line": 474
        },
        "start": {
          "character": 20,
          "line": 474
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/persona/api.py",
      "message": "Cannot access attribute \"user_love_reaction\" for class \"Persona\"\n  Attribute \"user_love_reaction\" is unknown",
      "range": {
        "end": {
          "character": 59,
          "line": 455
        },
        "start": {
          "character": 41,
          "line": 455
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/persona/api.py",
      "message": "Cannot access attribute \"user_love_reaction\" for class \"Persona\"\n  Attribute \"user_love_reaction\" is unknown",
      "range": {
        "end": {
          "character": 59,
          "line": 498
        },
        "start": {
          "character": 41,
          "line": 498
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/persona/api.py",
      "message": "Cannot access attribute \"user_love_reaction\" for class \"Persona\"\n  Attribute \"user_love_reaction\" is unknown",
      "range": {
        "end": {
          "character": 51,
          "line": 578
        },
        "start": {
          "character": 33,
          "line": 578
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/persona/api.py",
      "message": "Cannot access attribute \"user_follows\" for class \"Persona\"\n  Attribute \"user_follows\" is unknown",
      "range": {
        "end": {
          "character": 48,
          "line": 654
        },
        "start": {
          "character": 36,
          "line": 654
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/persona/api.py",
      "message": "Cannot access attribute \"user_love_reaction\" for class \"Persona\"\n  Attribute \"user_love_reaction\" is unknown",
      "range": {
        "end": {
          "character": 51,
          "line": 677
        },
        "start": {
          "character": 33,
          "line": 677
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/persona/api.py",
      "message": "Argument of type \"list[PersonaResponseSchema]\" cannot be assigned to parameter \"personas\" of type \"List[PersonaMetadataResponseSchema]\" in function \"__init__\"",
      "range": {
        "end": {
          "character": 9,
          "line": 925
        },
        "start": {
          "character": 17,
          "line": 906
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/persona/api.py",
      "message": "Argument of type \"QuerySet[PersonaClip, PersonaClip]\" cannot be assigned to parameter \"persona_clips\" of type \"List[PersonaClipSchema]\" in function \"__init__\"\n  \"QuerySet[PersonaClip, PersonaClip]\" is not assignable to \"List[PersonaClipSchema]\"",
      "range": {
        "end": {
          "character": 57,
          "line": 917
        },
        "start": {
          "character": 30,
          "line": 917
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/persona/api.py",
      "message": "Cannot access attribute \"generatedclipextra\" for class \"PersonaClip\"\n  Attribute \"generatedclipextra\" is unknown",
      "range": {
        "end": {
          "character": 43,
          "line": 1053
        },
        "start": {
          "character": 25,
          "line": 1053
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/persona/api.py",
      "message": "Argument of type \"list[PersonaResponseSchema]\" cannot be assigned to parameter \"personas\" of type \"List[PersonaMetadataResponseSchema]\" in function \"__init__\"",
      "range": {
        "end": {
          "character": 13,
          "line": 1248
        },
        "start": {
          "character": 21,
          "line": 1229
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/persona/api.py",
      "message": "Argument of type \"list[PersonaResponseSchema]\" cannot be assigned to parameter \"personas\" of type \"List[PersonaMetadataResponseSchema]\" in function \"__init__\"",
      "range": {
        "end": {
          "character": 13,
          "line": 1442
        },
        "start": {
          "character": 21,
          "line": 1419
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/persona/api.py",
      "message": "Cannot access attribute \"user_love_reaction\" for class \"Persona\"\n  Attribute \"user_love_reaction\" is unknown",
      "range": {
        "end": {
          "character": 59,
          "line": 1439
        },
        "start": {
          "character": 41,
          "line": 1439
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/api.py",
      "message": "Cannot assign to attribute \"is_owned\" for class \"Playlist\"\n  Attribute \"is_owned\" is unknown",
      "range": {
        "end": {
          "character": 19,
          "line": 305
        },
        "start": {
          "character": 11,
          "line": 305
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/api.py",
      "message": "Cannot assign to attribute \"is_clip_added\" for class \"Playlist\"\n  Attribute \"is_clip_added\" is unknown",
      "range": {
        "end": {
          "character": 24,
          "line": 306
        },
        "start": {
          "character": 11,
          "line": 306
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/api.py",
      "message": "Cannot access attribute \"clip_to_check\" for class \"Playlist\"\n  Attribute \"clip_to_check\" is unknown",
      "range": {
        "end": {
          "character": 47,
          "line": 306
        },
        "start": {
          "character": 34,
          "line": 306
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/api.py",
      "message": "\"HttpResponseForbidden\" is not awaitable\n  \"HttpResponseForbidden\" is incompatible with protocol \"Awaitable[_T_co@Awaitable]\"\n    \"__await__\" is not present",
      "range": {
        "end": {
          "character": 98,
          "line": 533
        },
        "start": {
          "character": 24,
          "line": 533
        }
      },
      "rule": "reportGeneralTypeIssues",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/api.py",
      "message": "\"HttpResponse\" is not awaitable\n  \"HttpResponse\" is incompatible with protocol \"Awaitable[_T_co@Awaitable]\"\n    \"__await__\" is not present",
      "range": {
        "end": {
          "character": 98,
          "line": 533
        },
        "start": {
          "character": 24,
          "line": 533
        }
      },
      "rule": "reportGeneralTypeIssues",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/api.py",
      "message": "\"GenerationRequestSchema\" is not awaitable\n  \"GenerationRequestSchema\" is incompatible with protocol \"Awaitable[_T_co@Awaitable]\"\n    \"__await__\" is not present",
      "range": {
        "end": {
          "character": 98,
          "line": 533
        },
        "start": {
          "character": 24,
          "line": 533
        }
      },
      "rule": "reportGeneralTypeIssues",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/api.py",
      "message": "\"is_public_approved\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 54,
          "line": 716
        },
        "start": {
          "character": 36,
          "line": 716
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/api.py",
      "message": "Cannot access attribute \"user_likes\" for class \"Playlist\"\n  Attribute \"user_likes\" is unknown",
      "range": {
        "end": {
          "character": 45,
          "line": 1206
        },
        "start": {
          "character": 35,
          "line": 1206
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/api.py",
      "message": "No parameter named \"user_likes\"",
      "range": {
        "end": {
          "character": 18,
          "line": 1317
        },
        "start": {
          "character": 8,
          "line": 1317
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/api.py",
      "message": "No parameter named \"id\"",
      "range": {
        "end": {
          "character": 14,
          "line": 1348
        },
        "start": {
          "character": 12,
          "line": 1348
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/utils.py",
      "message": "Cannot assign to attribute \"user_display_name\" for class \"Playlist\"\n  Attribute \"user_display_name\" is unknown",
      "range": {
        "end": {
          "character": 38,
          "line": 94
        },
        "start": {
          "character": 21,
          "line": 94
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/utils.py",
      "message": "Cannot assign to attribute \"user_handle\" for class \"Playlist\"\n  Attribute \"user_handle\" is unknown",
      "range": {
        "end": {
          "character": 32,
          "line": 95
        },
        "start": {
          "character": 21,
          "line": 95
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/utils.py",
      "message": "Cannot assign to attribute \"user_avatar_image_url\" for class \"Playlist\"\n  Attribute \"user_avatar_image_url\" is unknown",
      "range": {
        "end": {
          "character": 42,
          "line": 96
        },
        "start": {
          "character": 21,
          "line": 96
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/utils.py",
      "message": "Cannot assign to attribute \"user_display_name\" for class \"Playlist\"\n  Attribute \"user_display_name\" is unknown",
      "range": {
        "end": {
          "character": 38,
          "line": 98
        },
        "start": {
          "character": 21,
          "line": 98
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/utils.py",
      "message": "Cannot assign to attribute \"user_handle\" for class \"Playlist\"\n  Attribute \"user_handle\" is unknown",
      "range": {
        "end": {
          "character": 32,
          "line": 99
        },
        "start": {
          "character": 21,
          "line": 99
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/utils.py",
      "message": "Cannot assign to attribute \"user_avatar_image_url\" for class \"Playlist\"\n  Attribute \"user_avatar_image_url\" is unknown",
      "range": {
        "end": {
          "character": 42,
          "line": 100
        },
        "start": {
          "character": 21,
          "line": 100
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist/utils.py",
      "message": "Cannot assign to attribute \"image_url\" for class \"Playlist\"\n  Type \"str | None\" is not assignable to type \"() -> (str | None)\"\n    Type \"str\" is not assignable to type \"() -> (str | None)\"",
      "range": {
        "end": {
          "character": 49,
          "line": 102
        },
        "start": {
          "character": 29,
          "line": 102
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/playlist_reaction_api.py",
      "message": "Argument of type \"int | Any\" cannot be assigned to parameter \"user_id\" of type \"str\" in function \"_update_user_listen_history\"\n  Type \"int | Any\" is not assignable to type \"str\"\n    \"int\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 47,
          "line": 204
        },
        "start": {
          "character": 40,
          "line": 204
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/profiles/api.py",
      "message": "No parameter named \"user_name\"",
      "range": {
        "end": {
          "character": 17,
          "line": 561
        },
        "start": {
          "character": 8,
          "line": 561
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/profiles/api.py",
      "message": "Object of type \"Annotated\" is not callable",
      "range": {
        "end": {
          "character": 21,
          "line": 1153
        },
        "start": {
          "character": 16,
          "line": 1153
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/profiles/api.py",
      "message": "Arguments missing for parameters \"external_user_id\", \"stats\"",
      "range": {
        "end": {
          "character": 43,
          "line": 1761
        },
        "start": {
          "character": 18,
          "line": 1761
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/profiles/api.py",
      "message": "Cannot access attribute \"following\" for class \"DiscordInfo\"\n  Attribute \"following\" is unknown",
      "range": {
        "end": {
          "character": 57,
          "line": 2204
        },
        "start": {
          "character": 48,
          "line": 2204
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/profiles/api.py",
      "message": "Argument of type \"list[PersonaMetadataResponseSchema]\" cannot be assigned to parameter \"personas\" of type \"List[PersonaResponseSchema]\" in function \"__init__\"\n  \"list[PersonaMetadataResponseSchema]\" is not assignable to \"List[PersonaResponseSchema]\"\n    Type parameter \"_T@list\" is invariant, but \"PersonaMetadataResponseSchema\" is not the same as \"PersonaResponseSchema\"\n    Consider switching from \"list\" to \"Sequence\" which is covariant",
      "range": {
        "end": {
          "character": 25,
          "line": 2329
        },
        "start": {
          "character": 17,
          "line": 2329
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/profiles/tests.py",
      "message": "\"clip_id\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 47,
          "line": 151
        },
        "start": {
          "character": 40,
          "line": 151
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/project/api.py",
      "message": "Cannot assign to attribute \"shared\" for class \"Project\"\n  Attribute \"shared\" is unknown",
      "range": {
        "end": {
          "character": 26,
          "line": 597
        },
        "start": {
          "character": 20,
          "line": 597
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/project/api.py",
      "message": "Cannot assign to attribute \"shared\" for class \"Project\"\n  Attribute \"shared\" is unknown",
      "range": {
        "end": {
          "character": 26,
          "line": 600
        },
        "start": {
          "character": 20,
          "line": 600
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/project/api.py",
      "message": "Cannot access attribute \"max_created_at_last_updated_clip\" for class \"Project\"\n  Attribute \"max_created_at_last_updated_clip\" is unknown",
      "range": {
        "end": {
          "character": 54,
          "line": 611
        },
        "start": {
          "character": 22,
          "line": 611
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/project/api.py",
      "message": "Cannot access attribute \"max_created_at_last_updated_clip\" for class \"Project\"\n  Attribute \"max_created_at_last_updated_clip\" is unknown",
      "range": {
        "end": {
          "character": 57,
          "line": 612
        },
        "start": {
          "character": 25,
          "line": 612
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/project/api.py",
      "message": "Cannot access attribute \"last_updated_clip\" for class \"Project\"\n  Attribute \"last_updated_clip\" is unknown",
      "range": {
        "end": {
          "character": 39,
          "line": 617
        },
        "start": {
          "character": 22,
          "line": 617
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/project/api.py",
      "message": "Cannot access attribute \"last_updated_clip\" for class \"Project\"\n  Attribute \"last_updated_clip\" is unknown",
      "range": {
        "end": {
          "character": 62,
          "line": 617
        },
        "start": {
          "character": 45,
          "line": 617
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/project/api.py",
      "message": "Cannot assign to attribute \"owner\" for class \"Project\"\n  Attribute \"owner\" is unknown",
      "range": {
        "end": {
          "character": 29,
          "line": 629
        },
        "start": {
          "character": 24,
          "line": 629
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/project/api.py",
      "message": "Argument of type \"Page[Project] | list[Unknown]\" cannot be assigned to parameter \"projects\" of type \"List[ProjectMetadataSchema]\" in function \"__init__\"\n  Type \"Page[Project] | list[Unknown]\" is not assignable to type \"List[ProjectMetadataSchema]\"\n    \"Page[Project]\" is not assignable to \"List[ProjectMetadataSchema]\"",
      "range": {
        "end": {
          "character": 35,
          "line": 727
        },
        "start": {
          "character": 17,
          "line": 727
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/project/api.py",
      "message": "Argument of type \"list[UUID]\" cannot be assigned to parameter \"ids\" of type \"List[str]\" in function \"get_songs_by_ids\"",
      "range": {
        "end": {
          "character": 52,
          "line": 1854
        },
        "start": {
          "character": 8,
          "line": 1854
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/project/api.py",
      "message": "Argument of type \"list[ProjectClip]\" cannot be assigned to parameter \"project_clips\" of type \"List[ProjectClipSchema]\" in function \"__init__\"\n  \"list[ProjectClip]\" is not assignable to \"List[ProjectClipSchema]\"\n    Type parameter \"_T@list\" is invariant, but \"ProjectClip\" is not the same as \"ProjectClipSchema\"\n    Consider switching from \"list\" to \"Sequence\" which is covariant",
      "range": {
        "end": {
          "character": 35,
          "line": 2049
        },
        "start": {
          "character": 22,
          "line": 2049
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/project/api.py",
      "message": "\"user\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 49,
          "line": 2056
        },
        "start": {
          "character": 45,
          "line": 2056
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/project/tests.py",
      "message": "\"clip_id\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 63,
          "line": 915
        },
        "start": {
          "character": 56,
          "line": 915
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/prompts/api.py",
      "message": "Argument of type \"SavedPrompt\" cannot be assigned to parameter \"saved_prompt\" of type \"ClipPromptSchema\" in function \"__init__\"\n  \"SavedPrompt\" is not assignable to \"ClipPromptSchema\"",
      "range": {
        "end": {
          "character": 73,
          "line": 75
        },
        "start": {
          "character": 57,
          "line": 75
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/prompts/api.py",
      "message": "Argument of type \"SavedPrompt\" cannot be assigned to parameter \"saved_prompt\" of type \"ClipPromptSchema\" in function \"__init__\"\n  \"SavedPrompt\" is not assignable to \"ClipPromptSchema\"",
      "range": {
        "end": {
          "character": 61,
          "line": 77
        },
        "start": {
          "character": 49,
          "line": 77
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/radio_api.py",
      "message": "Cannot access attribute \"overrides\" for class \"GeneratedPlaylist\"\n  Attribute \"overrides\" is unknown",
      "range": {
        "end": {
          "character": 44,
          "line": 73
        },
        "start": {
          "character": 35,
          "line": 73
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/radio_api.py",
      "message": "Argument of type \"Unknown | None\" cannot be assigned to parameter \"playlist\" of type \"Playlist\" in function \"_update_generated_playlist\"\n  Type \"Unknown | None\" is not assignable to type \"Playlist\"\n    \"None\" is not assignable to \"Playlist\"",
      "range": {
        "end": {
          "character": 57,
          "line": 150
        },
        "start": {
          "character": 39,
          "line": 150
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/radio_api.py",
      "message": "Argument of type \"QuerySet[GeneratedClip, GeneratedClip]\" cannot be assigned to parameter \"clips\" of type \"List[GeneratedClip]\" in function \"_update_generated_playlist\"\n  \"QuerySet[GeneratedClip, GeneratedClip]\" is not assignable to \"List[GeneratedClip]\"",
      "range": {
        "end": {
          "character": 70,
          "line": 150
        },
        "start": {
          "character": 59,
          "line": 150
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/specs_and_schemas.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"errors\" of type \"List[DictStrAny]\" in function \"__init__\"\n  \"str\" is not assignable to \"List[DictStrAny]\"",
      "range": {
        "end": {
          "character": 37,
          "line": 1506
        },
        "start": {
          "character": 34,
          "line": 1506
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/specs_and_schemas.py",
      "message": "Argument of type \"Literal['feedback_reason cannot be None if feedback is give…']\" cannot be assigned to parameter \"errors\" of type \"List[DictStrAny]\" in function \"__init__\"\n  \"Literal['feedback_reason cannot be None if feedback is give…']\" is not assignable to \"List[DictStrAny]\"",
      "range": {
        "end": {
          "character": 37,
          "line": 1521
        },
        "start": {
          "character": 34,
          "line": 1521
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/specs_and_schemas.py",
      "message": "Type \"None\" is not assignable to declared type \"List[str]\"\n  \"None\" is not assignable to \"List[str]\"",
      "range": {
        "end": {
          "character": 37,
          "line": 2702
        },
        "start": {
          "character": 33,
          "line": 2702
        }
      },
      "rule": "reportAssignmentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/statsd.py",
      "message": "\"DogStatsd\" is not exported from module \"datadog.dogstatsd\"",
      "range": {
        "end": {
          "character": 54,
          "line": 22
        },
        "start": {
          "character": 45,
          "line": 22
        }
      },
      "rule": "reportPrivateImportUsage",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/statsd.py",
      "message": "\"DogStatsd\" is not exported from module \"datadog.dogstatsd\"",
      "range": {
        "end": {
          "character": 63,
          "line": 39
        },
        "start": {
          "character": 54,
          "line": 39
        }
      },
      "rule": "reportPrivateImportUsage",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/statsd.py",
      "message": "\"DogStatsd\" is not exported from module \"datadog.dogstatsd\"",
      "range": {
        "end": {
          "character": 56,
          "line": 53
        },
        "start": {
          "character": 47,
          "line": 53
        }
      },
      "rule": "reportPrivateImportUsage",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/statsig/api.py",
      "message": "\"handle\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 55,
          "line": 110
        },
        "start": {
          "character": 49,
          "line": 110
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/statsig/api.py",
      "message": "\"uid\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 51,
          "line": 111
        },
        "start": {
          "character": 48,
          "line": 111
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/statsig/api.py",
      "message": "Argument of type \"_AnyUser\" cannot be assigned to parameter \"user\" of type \"User | AbstractBaseUser | AnonymousUser\" in function \"is_day_zero_user\"\n  Type \"_AnyUser\" is not assignable to type \"User | AbstractBaseUser | AnonymousUser\"\n    Type \"Model\" is not assignable to type \"User | AbstractBaseUser | AnonymousUser\"\n      \"Model\" is not assignable to \"User\"\n      \"Model\" is not assignable to \"AbstractBaseUser\"\n      \"Model\" is not assignable to \"AnonymousUser\"",
      "range": {
        "end": {
          "character": 45,
          "line": 150
        },
        "start": {
          "character": 33,
          "line": 150
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/statsig/api.py",
      "message": "Cannot access attribute \"is_staff\" for class \"Model\"\n  Attribute \"is_staff\" is unknown",
      "range": {
        "end": {
          "character": 37,
          "line": 151
        },
        "start": {
          "character": 29,
          "line": 151
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/statsig/api.py",
      "message": "Argument of type \"_AnyUser\" cannot be assigned to parameter \"user\" of type \"User | AnonymousUser | AbstractBaseUser\" in function \"get_layer\"\n  Type \"_AnyUser\" is not assignable to type \"User | AnonymousUser | AbstractBaseUser\"\n    Type \"Model\" is not assignable to type \"User | AnonymousUser | AbstractBaseUser\"\n      \"Model\" is not assignable to \"User\"\n      \"Model\" is not assignable to \"AnonymousUser\"\n      \"Model\" is not assignable to \"AbstractBaseUser\"",
      "range": {
        "end": {
          "character": 56,
          "line": 155
        },
        "start": {
          "character": 44,
          "line": 155
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/statsig_user_middleware.py",
      "message": "Cannot access attribute \"discord_info\" for class \"AnonymousUser\"\n  Attribute \"discord_info\" is unknown",
      "range": {
        "end": {
          "character": 35,
          "line": 76
        },
        "start": {
          "character": 23,
          "line": 76
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/statsig_user_middleware.py",
      "message": "Cannot access attribute \"discord_info\" for class \"AbstractBaseUser\"\n  Attribute \"discord_info\" is unknown",
      "range": {
        "end": {
          "character": 35,
          "line": 76
        },
        "start": {
          "character": 23,
          "line": 76
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/statsig_user_middleware.py",
      "message": "\"uid\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 39,
          "line": 76
        },
        "start": {
          "character": 36,
          "line": 76
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/statsig_user_middleware.py",
      "message": "Cannot access attribute \"email\" for class \"AnonymousUser\"\n  Attribute \"email\" is unknown",
      "range": {
        "end": {
          "character": 27,
          "line": 79
        },
        "start": {
          "character": 22,
          "line": 79
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/statsig_user_middleware.py",
      "message": "Cannot access attribute \"email\" for class \"AbstractBaseUser\"\n  Attribute \"email\" is unknown",
      "range": {
        "end": {
          "character": 27,
          "line": 79
        },
        "start": {
          "character": 22,
          "line": 79
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/statsig_user_middleware.py",
      "message": "Cannot access attribute \"date_joined\" for class \"AnonymousUser\"\n  Attribute \"date_joined\" is unknown",
      "range": {
        "end": {
          "character": 31,
          "line": 131
        },
        "start": {
          "character": 20,
          "line": 131
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/statsig_user_middleware.py",
      "message": "Cannot access attribute \"date_joined\" for class \"AnonymousUser\"\n  Attribute \"date_joined\" is unknown",
      "range": {
        "end": {
          "character": 31,
          "line": 156
        },
        "start": {
          "character": 20,
          "line": 156
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/statsig_user_middleware.py",
      "message": "Cannot access attribute \"date_joined\" for class \"AnonymousUser\"\n  Attribute \"date_joined\" is unknown",
      "range": {
        "end": {
          "character": 74,
          "line": 156
        },
        "start": {
          "character": 63,
          "line": 156
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/studio/api.py",
      "message": "Cannot assign to attribute \"state\" for class \"StudioProject\"\n  Attribute \"state\" is unknown",
      "range": {
        "end": {
          "character": 25,
          "line": 456
        },
        "start": {
          "character": 20,
          "line": 456
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/studio/api.py",
      "message": "Cannot assign to attribute \"state\" for class \"StudioProject\"\n  Attribute \"state\" is unknown",
      "range": {
        "end": {
          "character": 25,
          "line": 459
        },
        "start": {
          "character": 20,
          "line": 459
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/studio/api.py",
      "message": "Argument of type \"QuerySet[GeneratedClip, GeneratedClip]\" cannot be assigned to parameter \"clips\" of type \"list[GeneratedClip]\" in function \"is_all_sources_original\"\n  \"QuerySet[GeneratedClip, GeneratedClip]\" is not assignable to \"list[GeneratedClip]\"",
      "range": {
        "end": {
          "character": 67,
          "line": 696
        },
        "start": {
          "character": 51,
          "line": 696
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/studio/api.py",
      "message": "Cannot assign to attribute \"caption\" for class \"GeneratedClip\"\n  Attribute \"caption\" is unknown",
      "range": {
        "end": {
          "character": 20,
          "line": 856
        },
        "start": {
          "character": 13,
          "line": 856
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/studio/api.py",
      "message": "Cannot access attribute \"studiowaitlist_set\" for class \"User\"\n  Attribute \"studiowaitlist_set\" is unknown",
      "range": {
        "end": {
          "character": 52,
          "line": 1668
        },
        "start": {
          "character": 34,
          "line": 1668
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_api.py",
      "message": "Argument of type \"map[list[Unknown]]\" cannot be assigned to parameter \"clips_s3_data\" of type \"List[List[str]]\" in function \"check_at_least_one_wav_exists\"\n  \"map[list[Unknown]]\" is not assignable to \"List[List[str]]\"",
      "range": {
        "end": {
          "character": 84,
          "line": 870
        },
        "start": {
          "character": 71,
          "line": 870
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_api.py",
      "message": "Argument of type \"map[list[Unknown]]\" cannot be assigned to parameter \"clips_s3_data\" of type \"List[List[str]]\" in function \"delete_clips_from_s3\"\n  \"map[list[Unknown]]\" is not assignable to \"List[List[str]]\"",
      "range": {
        "end": {
          "character": 42,
          "line": 997
        },
        "start": {
          "character": 29,
          "line": 997
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_api.py",
      "message": "Argument of type \"list[GeneratedPlaylist | None]\" cannot be assigned to parameter \"model_instances\" of type \"Iterable[_Model@prefetch_related_objects]\" in function \"prefetch_related_objects\"\n  Type \"GeneratedPlaylist | None\" is not assignable to type \"Model\"\n    Type \"GeneratedPlaylist | None\" is not assignable to type \"Model\"\n      \"None\" is not assignable to \"Model\"",
      "range": {
        "end": {
          "character": 26,
          "line": 1593
        },
        "start": {
          "character": 13,
          "line": 1593
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_api.py",
      "message": "\"playlist\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 30,
          "line": 1598
        },
        "start": {
          "character": 22,
          "line": 1598
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_api.py",
      "message": "\"playlist\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 52,
          "line": 1599
        },
        "start": {
          "character": 44,
          "line": 1599
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_caches.py",
      "message": "Cannot assign to attribute \"caption\" for class \"GeneratedClip\"\n  Attribute \"caption\" is unknown",
      "range": {
        "end": {
          "character": 38,
          "line": 35
        },
        "start": {
          "character": 31,
          "line": 35
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_caches.py",
      "message": "\"time_used\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 49,
          "line": 56
        },
        "start": {
          "character": 40,
          "line": 56
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_caches.py",
      "message": "Cannot access attribute \"video_cover_s3_id\" for class \"GeneratedClip\"\n  Attribute \"video_cover_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 51,
          "line": 161
        },
        "start": {
          "character": 34,
          "line": 161
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_caches.py",
      "message": "Cannot access attribute \"gif_preview_s3_id\" for class \"GeneratedClip\"\n  Attribute \"gif_preview_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 51,
          "line": 162
        },
        "start": {
          "character": 34,
          "line": 162
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_caches.py",
      "message": "Cannot access attribute \"preview_s3_id\" for class \"GeneratedClip\"\n  Attribute \"preview_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 47,
          "line": 163
        },
        "start": {
          "character": 34,
          "line": 163
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_caches.py",
      "message": "Cannot access attribute \"video_cover_s3_id\" for class \"GeneratedClip\"\n  Attribute \"video_cover_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 51,
          "line": 165
        },
        "start": {
          "character": 34,
          "line": 165
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_caches.py",
      "message": "Cannot access attribute \"gif_preview_s3_id\" for class \"GeneratedClip\"\n  Attribute \"gif_preview_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 51,
          "line": 166
        },
        "start": {
          "character": 34,
          "line": 166
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_caches.py",
      "message": "Cannot assign to attribute \"video_cover_s3_id\" for class \"GeneratedClip\"\n  Attribute \"video_cover_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 35,
          "line": 182
        },
        "start": {
          "character": 18,
          "line": 182
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_caches.py",
      "message": "Cannot assign to attribute \"video_cover_s3_id\" for class \"GeneratedClip\"\n  Attribute \"video_cover_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 48,
          "line": 184
        },
        "start": {
          "character": 31,
          "line": 184
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_caches.py",
      "message": "Cannot assign to attribute \"preview_s3_id\" for class \"GeneratedClip\"\n  Attribute \"preview_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 44,
          "line": 185
        },
        "start": {
          "character": 31,
          "line": 185
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_caches.py",
      "message": "Cannot assign to attribute \"caption\" for class \"GeneratedClip\"\n  Attribute \"caption\" is unknown",
      "range": {
        "end": {
          "character": 38,
          "line": 186
        },
        "start": {
          "character": 31,
          "line": 186
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_caches.py",
      "message": "Cannot assign to attribute \"video_cover_s3_id\" for class \"GeneratedClip\"\n  Attribute \"video_cover_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 35,
          "line": 215
        },
        "start": {
          "character": 18,
          "line": 215
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_caches.py",
      "message": "Cannot assign to attribute \"video_cover_s3_id\" for class \"GeneratedClip\"\n  Attribute \"video_cover_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 48,
          "line": 217
        },
        "start": {
          "character": 31,
          "line": 217
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_caches.py",
      "message": "Cannot assign to attribute \"preview_s3_id\" for class \"GeneratedClip\"\n  Attribute \"preview_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 44,
          "line": 218
        },
        "start": {
          "character": 31,
          "line": 218
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_caches.py",
      "message": "\"title\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 42,
          "line": 283
        },
        "start": {
          "character": 37,
          "line": 283
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_generate.py",
      "message": "Object of type \"None\" is not subscriptable",
      "range": {
        "end": {
          "character": 39,
          "line": 1864
        },
        "start": {
          "character": 26,
          "line": 1864
        }
      },
      "rule": "reportOptionalSubscript",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_generate.py",
      "message": "Object of type \"None\" is not subscriptable",
      "range": {
        "end": {
          "character": 39,
          "line": 1897
        },
        "start": {
          "character": 26,
          "line": 1897
        }
      },
      "rule": "reportOptionalSubscript",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_generate.py",
      "message": "Object of type \"None\" is not subscriptable",
      "range": {
        "end": {
          "character": 39,
          "line": 1938
        },
        "start": {
          "character": 26,
          "line": 1938
        }
      },
      "rule": "reportOptionalSubscript",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_persona_api.py",
      "message": "\"is_read\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 45,
          "line": 373
        },
        "start": {
          "character": 38,
          "line": 373
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_playlist_reaction_api.py",
      "message": "Cannot access attribute \"playlist_id\" for class \"UserPlaylistReaction\"\n  Attribute \"playlist_id\" is unknown",
      "range": {
        "end": {
          "character": 67,
          "line": 179
        },
        "start": {
          "character": 56,
          "line": 179
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_playlist_reaction_api.py",
      "message": "Cannot access attribute \"playlist_id\" for class \"UserPlaylistReaction\"\n  Attribute \"playlist_id\" is unknown",
      "range": {
        "end": {
          "character": 67,
          "line": 194
        },
        "start": {
          "character": 56,
          "line": 194
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_prompts_api.py",
      "message": "\"gpt_description_prompt\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 60,
          "line": 51
        },
        "start": {
          "character": 38,
          "line": 51
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_prompts_api.py",
      "message": "\"lyrics\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 44,
          "line": 52
        },
        "start": {
          "character": 38,
          "line": 52
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_prompts_api.py",
      "message": "\"tags\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 42,
          "line": 53
        },
        "start": {
          "character": 38,
          "line": 53
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_prompts_api.py",
      "message": "\"gpt_description_prompt\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 60,
          "line": 92
        },
        "start": {
          "character": 38,
          "line": 92
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_prompts_api.py",
      "message": "\"lyrics\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 44,
          "line": 93
        },
        "start": {
          "character": 38,
          "line": 93
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_prompts_api.py",
      "message": "\"tags\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 42,
          "line": 94
        },
        "start": {
          "character": 38,
          "line": 94
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_prompts_api.py",
      "message": "\"title\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 43,
          "line": 95
        },
        "start": {
          "character": 38,
          "line": 95
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_specs_and_schemas.py",
      "message": "Argument of type \"Literal['unrecognized_error_type']\" cannot be assigned to parameter \"error_type\" of type \"Literal['title_too_long', 'prompt_too_long', 'text_moderation_error', 'caption_moderation_error', 'image_moderation_error', 'image_upload_error', 'caption_too_long', 'video_cover_error', 'display_tags_moderation_error']\" in function \"__init__\"\n  Type \"Literal['unrecognized_error_type']\" is not assignable to type \"Literal['title_too_long', 'prompt_too_long', 'text_moderation_error', 'caption_moderation_error', 'image_moderation_error', 'image_upload_error', 'caption_too_long', 'video_cover_error', 'display_tags_moderation_error']\"\n    \"Literal['unrecognized_error_type']\" is not assignable to type \"Literal['title_too_long']\"\n    \"Literal['unrecognized_error_type']\" is not assignable to type \"Literal['prompt_too_long']\"\n    \"Literal['unrecognized_error_type']\" is not assignable to type \"Literal['text_moderation_error']\"\n    \"Literal['unrecognized_error_type']\" is not assignable to type \"Literal['caption_moderation_error']\"\n    \"Literal['unrecognized_error_type']\" is not assignable to type \"Literal['image_moderation_error']\"\n    \"Literal['unrecognized_error_type']\" is not assignable to type \"Literal['image_upload_error']\"\n    \"Literal['unrecognized_error_type']\" is not assignable to type \"Literal['caption_too_long']\"\n  ...",
      "range": {
        "end": {
          "character": 48,
          "line": 33
        },
        "start": {
          "character": 23,
          "line": 33
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_specs_and_schemas.py",
      "message": "Argument of type \"dict[str, Unknown]\" cannot be assigned to parameter \"json_data\" of type \"str | bytes | bytearray\" in function \"model_validate_json\"\n  Type \"dict[str, Unknown]\" is not assignable to type \"str | bytes | bytearray\"\n    \"dict[str, Unknown]\" is not assignable to \"str\"\n    \"dict[str, Unknown]\" is not assignable to \"bytes\"\n    \"dict[str, Unknown]\" is not assignable to \"bytearray\"",
      "range": {
        "end": {
          "character": 78,
          "line": 72
        },
        "start": {
          "character": 60,
          "line": 72
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_specs_and_schemas.py",
      "message": "Argument of type \"dict[str, Unknown]\" cannot be assigned to parameter \"json_data\" of type \"str | bytes | bytearray\" in function \"model_validate_json\"\n  Type \"dict[str, Unknown]\" is not assignable to type \"str | bytes | bytearray\"\n    \"dict[str, Unknown]\" is not assignable to \"str\"\n    \"dict[str, Unknown]\" is not assignable to \"bytes\"\n    \"dict[str, Unknown]\" is not assignable to \"bytearray\"",
      "range": {
        "end": {
          "character": 78,
          "line": 88
        },
        "start": {
          "character": 60,
          "line": 88
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tests/test_specs_and_schemas.py",
      "message": "Argument of type \"dict[str, Unknown]\" cannot be assigned to parameter \"json_data\" of type \"str | bytes | bytearray\" in function \"model_validate_json\"\n  Type \"dict[str, Unknown]\" is not assignable to type \"str | bytes | bytearray\"\n    \"dict[str, Unknown]\" is not assignable to \"str\"\n    \"dict[str, Unknown]\" is not assignable to \"bytes\"\n    \"dict[str, Unknown]\" is not assignable to \"bytearray\"",
      "range": {
        "end": {
          "character": 78,
          "line": 104
        },
        "start": {
          "character": 60,
          "line": 104
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tracing.py",
      "message": "Type \"Context | Unknown\" is not assignable to declared type \"str | None\"\n  Type \"Context | Unknown\" is not assignable to type \"str | None\"\n    Type \"Context\" is not assignable to type \"str | None\"\n      \"Context\" is not assignable to \"str\"\n      \"Context\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 68,
          "line": 49
        },
        "start": {
          "character": 37,
          "line": 49
        }
      },
      "rule": "reportAssignmentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tracing.py",
      "message": "Type \"Context | Unknown\" is not assignable to declared type \"str | None\"\n  Type \"Context | Unknown\" is not assignable to type \"str | None\"\n    Type \"Context\" is not assignable to type \"str | None\"\n      \"Context\" is not assignable to \"str\"\n      \"Context\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 87,
          "line": 51
        },
        "start": {
          "character": 37,
          "line": 51
        }
      },
      "rule": "reportAssignmentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tracing.py",
      "message": "Argument missing for parameter \"name\"",
      "range": {
        "end": {
          "character": 13,
          "line": 61
        },
        "start": {
          "character": 17,
          "line": 56
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tracing.py",
      "message": "Argument of type \"str | None\" cannot be assigned to parameter \"child_of\" of type \"Span | Context | None\" in function \"_start_span_after_shutdown\"\n  Type \"str | None\" is not assignable to type \"Span | Context | None\"\n    Type \"str\" is not assignable to type \"Span | Context | None\"\n      \"str\" is not assignable to \"Span\"\n      \"str\" is not assignable to \"Context\"\n      \"str\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 39,
          "line": 59
        },
        "start": {
          "character": 25,
          "line": 59
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tracing.py",
      "message": "Type \"Context | Unknown\" is not assignable to declared type \"str | None\"\n  Type \"Context | Unknown\" is not assignable to type \"str | None\"\n    Type \"Context\" is not assignable to type \"str | None\"\n      \"Context\" is not assignable to \"str\"\n      \"Context\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 87,
          "line": 68
        },
        "start": {
          "character": 37,
          "line": 68
        }
      },
      "rule": "reportAssignmentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tracing.py",
      "message": "Argument missing for parameter \"name\"",
      "range": {
        "end": {
          "character": 13,
          "line": 78
        },
        "start": {
          "character": 17,
          "line": 73
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tracing.py",
      "message": "Argument of type \"str | None\" cannot be assigned to parameter \"child_of\" of type \"Span | Context | None\" in function \"_start_span_after_shutdown\"\n  Type \"str | None\" is not assignable to type \"Span | Context | None\"\n    Type \"str\" is not assignable to type \"Span | Context | None\"\n      \"str\" is not assignable to \"Span\"\n      \"str\" is not assignable to \"Context\"\n      \"str\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 39,
          "line": 76
        },
        "start": {
          "character": 25,
          "line": 76
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/tracing.py",
      "message": "Type \"(func: Unknown) -> (_Wrapped[..., Unknown, (..., parent_context: str | None = None), CoroutineType[Any, Any, Unknown]] | _Wrapped[..., Unknown, (..., parent_context: str | None = None), Unknown])\" is not assignable to return type \"((...) -> R@distributed_trace) -> ((...) -> R@distributed_trace)\"\n  Type \"(func: Unknown) -> (_Wrapped[..., Unknown, (..., parent_context: str | None = None), CoroutineType[Any, Any, Unknown]] | _Wrapped[..., Unknown, (..., parent_context: str | None = None), Unknown])\" is not assignable to type \"((...) -> R@distributed_trace) -> ((...) -> R@distributed_trace)\"\n    Function return type \"_Wrapped[..., Unknown, (..., parent_context: str | None = None), CoroutineType[Any, Any, Unknown]] | _Wrapped[..., Unknown, (..., parent_context: str | None = None), Unknown]\" is incompatible with type \"(...) -> R@distributed_trace\"\n      Type \"_Wrapped[..., Unknown, (..., parent_context: str | None = None), CoroutineType[Any, Any, Unknown]] | _Wrapped[..., Unknown, (..., parent_context: str | None = None), Unknown]\" is not assignable to type \"(...) -> R@distributed_trace\"\n        Type \"_Wrapped[..., Unknown, (..., parent_context: str | None = None), CoroutineType[Any, Any, Unknown]]\" is not assignable to type \"(...) -> R@distributed_trace\"\n          Function return type \"CoroutineType[Any, Any, Unknown]\" is incompatible with type \"R@distributed_trace\"",
      "range": {
        "end": {
          "character": 20,
          "line": 86
        },
        "start": {
          "character": 11,
          "line": 86
        }
      },
      "rule": "reportReturnType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/twitter_bot/utils/clip_util.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"url\" of type \"str | bytes\" in function \"post\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str | bytes\"\n    Type \"NoValue\" is not assignable to type \"str | bytes\"\n      \"NoValue\" is not assignable to \"str\"\n      \"NoValue\" is not assignable to \"bytes\"",
      "range": {
        "end": {
          "character": 44,
          "line": 26
        },
        "start": {
          "character": 29,
          "line": 26
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/twitter_bot/utils/tweeter_utils.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"url\" of type \"str | bytes\" in function \"post\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str | bytes\"\n    Type \"NoValue\" is not assignable to type \"str | bytes\"\n      \"NoValue\" is not assignable to \"str\"\n      \"NoValue\" is not assignable to \"bytes\"",
      "range": {
        "end": {
          "character": 44,
          "line": 299
        },
        "start": {
          "character": 29,
          "line": 299
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/uploads/test_uploads.py",
      "message": "Cannot access attribute \"video_cover_s3_id\" for class \"GeneratedClip\"\n  Attribute \"video_cover_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 44,
          "line": 238
        },
        "start": {
          "character": 27,
          "line": 238
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/uploads/test_uploads.py",
      "message": "\"video_cover_s3_id\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 44,
          "line": 238
        },
        "start": {
          "character": 27,
          "line": 238
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/uploads/upload_finished_callback.py",
      "message": "Cannot access attribute \"video_cover_s3_id\" for class \"GeneratedClip\"\n  Attribute \"video_cover_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 39,
          "line": 116
        },
        "start": {
          "character": 22,
          "line": 116
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/uploads/upload_finished_callback.py",
      "message": "Cannot assign to attribute \"video_streaming_file_sizes\" for class \"GeneratedClip\"\n  Attribute \"video_streaming_file_sizes\" is unknown",
      "range": {
        "end": {
          "character": 39,
          "line": 118
        },
        "start": {
          "character": 13,
          "line": 118
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/uploads/upload_finished_callback.py",
      "message": "Cannot assign to attribute \"video_cover_s3_id\" for class \"GeneratedClip\"\n  Attribute \"video_cover_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 38,
          "line": 221
        },
        "start": {
          "character": 21,
          "line": 221
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/uploads/upload_finished_callback.py",
      "message": "Cannot assign to attribute \"gif_preview_s3_id\" for class \"GeneratedClip\"\n  Attribute \"gif_preview_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 38,
          "line": 222
        },
        "start": {
          "character": 21,
          "line": 222
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/uploads/upload_finished_callback.py",
      "message": "Cannot assign to attribute \"preview_s3_id\" for class \"GeneratedClip\"\n  Attribute \"preview_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 34,
          "line": 223
        },
        "start": {
          "character": 21,
          "line": 223
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/uploads/upload_finished_callback.py",
      "message": "Cannot assign to attribute \"video_streaming_s3_id_base\" for class \"GeneratedClip\"\n  Attribute \"video_streaming_s3_id_base\" is unknown",
      "range": {
        "end": {
          "character": 47,
          "line": 224
        },
        "start": {
          "character": 21,
          "line": 224
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/user/api.py",
      "message": "Argument of type \"dict[str, Unknown | int]\" cannot be assigned to parameter \"stats\" of type \"ProfileStatsSchema\" in function \"__init__\"\n  \"dict[str, Unknown | int]\" is not assignable to \"ProfileStatsSchema\"",
      "range": {
        "end": {
          "character": 19,
          "line": 163
        },
        "start": {
          "character": 14,
          "line": 163
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/user/api.py",
      "message": "Argument of type \"User\" cannot be assigned to parameter \"user\" of type \"UserWithDiscordInfo\"\n  \"User\" is not assignable to \"UserWithDiscordInfo\"",
      "range": {
        "end": {
          "character": 54,
          "line": 204
        },
        "start": {
          "character": 50,
          "line": 204
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/user/api.py",
      "message": "Argument of type \"User\" cannot be assigned to parameter \"user\" of type \"UserWithDiscordInfo\"\n  \"User\" is not assignable to \"UserWithDiscordInfo\"",
      "range": {
        "end": {
          "character": 71,
          "line": 207
        },
        "start": {
          "character": 67,
          "line": 207
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/user/api.py",
      "message": "Argument of type \"dict[Any, Any]\" cannot be assigned to parameter \"stats\" of type \"ProfileStatsSchema\" in function \"__init__\"",
      "range": {
        "end": {
          "character": 28,
          "line": 408
        },
        "start": {
          "character": 26,
          "line": 408
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/user/api.py",
      "message": "Argument of type \"ExtendSessionIdSchema\" cannot be assigned to parameter \"schema\" of type \"CreateSessionIdSchema\" in function \"_cache_session_id\"\n  \"ExtendSessionIdSchema\" is not assignable to \"CreateSessionIdSchema\"",
      "range": {
        "end": {
          "character": 53,
          "line": 531
        },
        "start": {
          "character": 47,
          "line": 531
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/user/test_user_session.py",
      "message": "Cannot assign to attribute \"headers\" for class \"WSGIRequest\"\n  Argument of type \"dict[str, str]\" cannot be assigned to parameter \"value\" of type \"HttpHeaders\" in function \"__set__\"\n    \"dict[str, str]\" is not assignable to \"HttpHeaders\"",
      "range": {
        "end": {
          "character": 33,
          "line": 21
        },
        "start": {
          "character": 26,
          "line": 21
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/user/user_session.py",
      "message": "Cannot access attribute \"id\" for class \"object\"\n  Attribute \"id\" is unknown",
      "range": {
        "end": {
          "character": 35,
          "line": 105
        },
        "start": {
          "character": 33,
          "line": 105
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/user/utils.py",
      "message": "Argument of type \"dict[str, Any | int]\" cannot be assigned to parameter \"stats\" of type \"ProfileStatsSchema\" in function \"__init__\"\n  \"dict[str, Any | int]\" is not assignable to \"ProfileStatsSchema\"",
      "range": {
        "end": {
          "character": 35,
          "line": 49
        },
        "start": {
          "character": 30,
          "line": 49
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Cannot access attribute \"date_joined\" for class \"AbstractBaseUser\"\n  Attribute \"date_joined\" is unknown",
      "range": {
        "end": {
          "character": 23,
          "line": 657
        },
        "start": {
          "character": 12,
          "line": 657
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Cannot access attribute \"date_joined\" for class \"AbstractBaseUser\"\n  Attribute \"date_joined\" is unknown",
      "range": {
        "end": {
          "character": 36,
          "line": 658
        },
        "start": {
          "character": 25,
          "line": 658
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Cannot access attribute \"date_joined\" for class \"AbstractBaseUser\"\n  Attribute \"date_joined\" is unknown",
      "range": {
        "end": {
          "character": 36,
          "line": 660
        },
        "start": {
          "character": 25,
          "line": 660
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Argument of type \"Unknown | Any | list[str] | None\" cannot be assigned to parameter \"population\" of type \"Sequence[_T@sample]\" in function \"sample\"\n  Type \"Unknown | Any | list[str] | None\" is not assignable to type \"Sequence[str]\"\n    \"None\" is not assignable to \"Sequence[str]\"",
      "range": {
        "end": {
          "character": 43,
          "line": 699
        },
        "start": {
          "character": 29,
          "line": 699
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Object of type \"None\" cannot be used as iterable value",
      "range": {
        "end": {
          "character": 54,
          "line": 703
        },
        "start": {
          "character": 40,
          "line": 703
        }
      },
      "rule": "reportOptionalIterable",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Argument of type \"Unknown | Any | list[str] | None\" cannot be assigned to parameter \"population\" of type \"Sequence[_T@sample]\" in function \"sample\"\n  Type \"Unknown | Any | list[str] | None\" is not assignable to type \"Sequence[str]\"\n    \"None\" is not assignable to \"Sequence[str]\"",
      "range": {
        "end": {
          "character": 43,
          "line": 704
        },
        "start": {
          "character": 29,
          "line": 704
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "\"remove\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 26,
          "line": 714
        },
        "start": {
          "character": 20,
          "line": 714
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "\"get\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 56,
          "line": 715
        },
        "start": {
          "character": 53,
          "line": 715
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Argument of type \"Unknown | Any | list[str] | None\" cannot be assigned to parameter \"population\" of type \"Sequence[_T@sample]\" in function \"sample\"\n  Type \"Unknown | Any | list[str] | None\" is not assignable to type \"Sequence[str]\"\n    \"None\" is not assignable to \"Sequence[str]\"",
      "range": {
        "end": {
          "character": 43,
          "line": 726
        },
        "start": {
          "character": 29,
          "line": 726
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "\"remove\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 26,
          "line": 734
        },
        "start": {
          "character": 20,
          "line": 734
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Argument of type \"Unknown | Any | list[str] | None\" cannot be assigned to parameter \"population\" of type \"Sequence[_T@sample]\" in function \"sample\"\n  Type \"Unknown | Any | list[str] | None\" is not assignable to type \"Sequence[str]\"\n    \"None\" is not assignable to \"Sequence[str]\"",
      "range": {
        "end": {
          "character": 23,
          "line": 742
        },
        "start": {
          "character": 12,
          "line": 742
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Cannot assign to attribute \"user_display_name\" for class \"Playlist\"\n  Attribute \"user_display_name\" is unknown",
      "range": {
        "end": {
          "character": 34,
          "line": 758
        },
        "start": {
          "character": 17,
          "line": 758
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Cannot assign to attribute \"user_handle\" for class \"Playlist\"\n  Attribute \"user_handle\" is unknown",
      "range": {
        "end": {
          "character": 28,
          "line": 759
        },
        "start": {
          "character": 17,
          "line": 759
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Cannot assign to attribute \"user_avatar_image_url\" for class \"Playlist\"\n  Attribute \"user_avatar_image_url\" is unknown",
      "range": {
        "end": {
          "character": 38,
          "line": 760
        },
        "start": {
          "character": 17,
          "line": 760
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Cannot assign to attribute \"comment_count\" for class \"GeneratedClip\"\n  Attribute \"comment_count\" is unknown",
      "range": {
        "end": {
          "character": 26,
          "line": 808
        },
        "start": {
          "character": 13,
          "line": 808
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Cannot assign to attribute \"explicit\" for class \"GeneratedClip\"\n  Attribute \"explicit\" is unknown",
      "range": {
        "end": {
          "character": 21,
          "line": 809
        },
        "start": {
          "character": 13,
          "line": 809
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Cannot access attribute \"is_anonymous\" for class \"Model\"\n  Attribute \"is_anonymous\" is unknown",
      "range": {
        "end": {
          "character": 32,
          "line": 1135
        },
        "start": {
          "character": 20,
          "line": 1135
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Cannot access attribute \"id\" for class \"Model\"\n  Attribute \"id\" is unknown",
      "range": {
        "end": {
          "character": 35,
          "line": 1137
        },
        "start": {
          "character": 33,
          "line": 1137
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Type \"str | None\" is not assignable to return type \"str\"\n  Type \"str | None\" is not assignable to type \"str\"\n    \"None\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 21,
          "line": 1217
        },
        "start": {
          "character": 11,
          "line": 1217
        }
      },
      "rule": "reportReturnType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Argument of type \"Unknown | None\" cannot be assigned to parameter \"ip_str\" of type \"str\" in function \"is_valid_ip\"\n  Type \"Unknown | None\" is not assignable to type \"str\"\n    \"None\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 45,
          "line": 2404
        },
        "start": {
          "character": 23,
          "line": 2404
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Object of type \"list[str]\" is not callable\n  Attribute \"__call__\" is unknown",
      "range": {
        "end": {
          "character": 89,
          "line": 2907
        },
        "start": {
          "character": 8,
          "line": 2907
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Expected class but received \"(iterable: Iterable[object], /) -> bool\"",
      "range": {
        "end": {
          "character": 87,
          "line": 3451
        },
        "start": {
          "character": 84,
          "line": 3451
        }
      },
      "rule": "reportGeneralTypeIssues",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Cannot access attribute \"video_cover_s3_id\" for class \"GeneratedClip\"\n  Attribute \"video_cover_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 73,
          "line": 3474
        },
        "start": {
          "character": 56,
          "line": 3474
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Cannot access attribute \"video_cover_s3_id\" for class \"GeneratedClip\"\n  Attribute \"video_cover_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 87,
          "line": 3494
        },
        "start": {
          "character": 70,
          "line": 3494
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/bots/utils.py",
      "message": "Cannot access attribute \"video_cover_s3_id\" for class \"GeneratedClip\"\n  Attribute \"video_cover_s3_id\" is unknown",
      "range": {
        "end": {
          "character": 96,
          "line": 3500
        },
        "start": {
          "character": 79,
          "line": 3500
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/celery.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"api_key\" of type \"str\" in function \"__init__\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 63,
          "line": 94
        },
        "start": {
          "character": 53,
          "line": 94
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/chat/api.py",
      "message": "Argument of type \"QuerySet[ChatMessage, ChatMessage]\" cannot be assigned to parameter \"messages\" of type \"list[ChatMessage] | None\" in function \"__init__\"\n  Type \"QuerySet[ChatMessage, ChatMessage]\" is not assignable to type \"list[ChatMessage] | None\"\n    \"QuerySet[ChatMessage, ChatMessage]\" is not assignable to \"list[ChatMessage]\"\n    \"QuerySet[ChatMessage, ChatMessage]\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 45,
          "line": 72
        },
        "start": {
          "character": 37,
          "line": 72
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/clerk/resources.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"api_token\" of type \"str | None\" in function \"__init__\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str | None\"\n    Type \"NoValue\" is not assignable to type \"str | None\"\n      \"NoValue\" is not assignable to \"str\"\n      \"NoValue\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 60,
          "line": 1795
        },
        "start": {
          "character": 36,
          "line": 1795
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/clerk/test_api.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"key\" of type \"AllowedPrivateKeys | PyJWK | str | bytes\" in function \"encode\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"AllowedPrivateKeys | PyJWK | str | bytes\"\n    Type \"NoValue\" is not assignable to type \"AllowedPrivateKeys | PyJWK | str | bytes\"\n      \"NoValue\" is not assignable to \"RSAPrivateKey\"\n      \"NoValue\" is not assignable to \"EllipticCurvePrivateKey\"\n      \"NoValue\" is not assignable to \"Ed25519PrivateKey\"\n      \"NoValue\" is not assignable to \"Ed448PrivateKey\"\n      \"NoValue\" is not assignable to \"PyJWK\"\n      \"NoValue\" is not assignable to \"str\"\n  ...",
      "range": {
        "end": {
          "character": 70,
          "line": 633
        },
        "start": {
          "character": 51,
          "line": 633
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/clerk/views.py",
      "message": "Argument of type \"Unknown | None\" cannot be assigned to parameter \"arg1\" of type \"SupportsRichComparisonT@min\" in function \"min\"\n  Type \"Unknown | None\" is not assignable to type \"SupportsRichComparison\"\n    Type \"Unknown | None\" is not assignable to type \"SupportsRichComparison\"\n      Type \"None\" is not assignable to type \"SupportsRichComparison\"\n        \"None\" is incompatible with protocol \"SupportsDunderLT[Any]\"\n          \"__lt__\" is not present\n        \"None\" is incompatible with protocol \"SupportsDunderGT[Any]\"\n          \"__gt__\" is not present",
      "range": {
        "end": {
          "character": 57,
          "line": 159
        },
        "start": {
          "character": 33,
          "line": 159
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/clerk/views.py",
      "message": "Argument of type \"Unknown | None\" cannot be assigned to parameter \"arg2\" of type \"SupportsRichComparisonT@min\" in function \"min\"\n  Type \"Unknown | None\" is not assignable to type \"SupportsRichComparison\"\n    Type \"Unknown | None\" is not assignable to type \"SupportsRichComparison\"\n      Type \"None\" is not assignable to type \"SupportsRichComparison\"\n        \"None\" is incompatible with protocol \"SupportsDunderLT[Any]\"\n          \"__lt__\" is not present\n        \"None\" is incompatible with protocol \"SupportsDunderGT[Any]\"\n          \"__gt__\" is not present",
      "range": {
        "end": {
          "character": 77,
          "line": 159
        },
        "start": {
          "character": 59,
          "line": 159
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/clips/api.py",
      "message": "Argument of type \"list[dict[Unknown, Unknown]]\" cannot be assigned to parameter \"child_clips\" of type \"List[ChildClipSchema]\" in function \"__init__\"\n  \"list[dict[Unknown, Unknown]]\" is not assignable to \"List[ChildClipSchema]\"\n    Type parameter \"_T@list\" is invariant, but \"dict[Unknown, Unknown]\" is not the same as \"ChildClipSchema\"\n    Consider switching from \"list\" to \"Sequence\" which is covariant",
      "range": {
        "end": {
          "character": 48,
          "line": 724
        },
        "start": {
          "character": 40,
          "line": 724
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/clips/api.py",
      "message": "Argument of type \"list[GeneratedClip]\" cannot be assigned to parameter \"root_clips\" of type \"List[GeneratedClipSchema]\" in function \"__init__\"\n  \"list[GeneratedClip]\" is not assignable to \"List[GeneratedClipSchema]\"\n    Type parameter \"_T@list\" is invariant, but \"GeneratedClip\" is not the same as \"GeneratedClipSchema\"\n    Consider switching from \"list\" to \"Sequence\" which is covariant",
      "range": {
        "end": {
          "character": 71,
          "line": 724
        },
        "start": {
          "character": 61,
          "line": 724
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/clips/api.py",
      "message": "Argument of type \"list[GeneratedClip]\" cannot be assigned to parameter \"children\" of type \"List[GeneratedClipSchema]\" in function \"__init__\"",
      "range": {
        "end": {
          "character": 64,
          "line": 763
        },
        "start": {
          "character": 17,
          "line": 763
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/clips/models.py",
      "message": "Cannot access attribute \"_meta\" for class \"AutoNowMixin*\"\n  Attribute \"_meta\" is unknown",
      "range": {
        "end": {
          "character": 35,
          "line": 34
        },
        "start": {
          "character": 30,
          "line": 34
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/clips/models.py",
      "message": "Cannot access attribute \"_meta\" for class \"AutoNowMixin*\"\n  Attribute \"_meta\" is unknown",
      "range": {
        "end": {
          "character": 31,
          "line": 39
        },
        "start": {
          "character": 26,
          "line": 39
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/clips/models.py",
      "message": "Cannot access attribute \"save\" for class \"object\"\n  Attribute \"save\" is unknown",
      "range": {
        "end": {
          "character": 20,
          "line": 44
        },
        "start": {
          "character": 16,
          "line": 44
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/clips/worker_handler_base.py",
      "message": "Could not access item in TypedDict\n  \"Error\" is not a required key in \"_ClientErrorResponseTypeDef\", so access may result in runtime exception",
      "range": {
        "end": {
          "character": 34,
          "line": 48
        },
        "start": {
          "character": 15,
          "line": 48
        }
      },
      "rule": "reportTypedDictNotRequiredAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/clips/worker_handler_base.py",
      "message": "Could not access item in TypedDict\n  \"Code\" is not a required key in \"_ClientErrorResponseError\", so access may result in runtime exception",
      "range": {
        "end": {
          "character": 42,
          "line": 48
        },
        "start": {
          "character": 15,
          "line": 48
        }
      },
      "rule": "reportTypedDictNotRequiredAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/cms/banner_service.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"action\" of type \"Literal['play', 'remix', 'cover', 'extend', 'external_link'] | None\" in function \"__init__\"\n  Type \"str\" is not assignable to type \"Literal['play', 'remix', 'cover', 'extend', 'external_link'] | None\"\n    \"str\" is not assignable to \"None\"\n    \"str\" is not assignable to type \"Literal['play']\"\n    \"str\" is not assignable to type \"Literal['remix']\"\n    \"str\" is not assignable to type \"Literal['cover']\"\n    \"str\" is not assignable to type \"Literal['extend']\"\n    \"str\" is not assignable to type \"Literal['external_link']\"",
      "range": {
        "end": {
          "character": 52,
          "line": 52
        },
        "start": {
          "character": 19,
          "line": 52
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/cms/banner_service.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"action\" of type \"Literal['play', 'remix', 'cover', 'extend', 'external_link'] | None\" in function \"__init__\"\n  Type \"str\" is not assignable to type \"Literal['play', 'remix', 'cover', 'extend', 'external_link'] | None\"\n    \"str\" is not assignable to \"None\"\n    \"str\" is not assignable to type \"Literal['play']\"\n    \"str\" is not assignable to type \"Literal['remix']\"\n    \"str\" is not assignable to type \"Literal['cover']\"\n    \"str\" is not assignable to type \"Literal['extend']\"\n    \"str\" is not assignable to type \"Literal['external_link']\"",
      "range": {
        "end": {
          "character": 54,
          "line": 62
        },
        "start": {
          "character": 19,
          "line": 62
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/configs/gatekeeper.py",
      "message": "Argument of type \"_AnyUser\" cannot be assigned to parameter \"user\" of type \"User | AnonymousUser | AbstractBaseUser\" in function \"get_all_client_configs\"\n  Type \"_AnyUser\" is not assignable to type \"User | AnonymousUser | AbstractBaseUser\"\n    Type \"Model\" is not assignable to type \"User | AnonymousUser | AbstractBaseUser\"\n      \"Model\" is not assignable to \"User\"\n      \"Model\" is not assignable to \"AnonymousUser\"\n      \"Model\" is not assignable to \"AbstractBaseUser\"",
      "range": {
        "end": {
          "character": 60,
          "line": 57
        },
        "start": {
          "character": 48,
          "line": 57
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/configs/gatekeeper.py",
      "message": "Type \"str | None\" is not assignable to return type \"str\"\n  Type \"str | None\" is not assignable to type \"str\"\n    \"None\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 36,
          "line": 63
        },
        "start": {
          "character": 15,
          "line": 63
        }
      },
      "rule": "reportReturnType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/configs/gatekeeper.py",
      "message": "Argument of type \"_AnyUser\" cannot be assigned to parameter \"user\" of type \"User\" in function \"is_user_flag_on\"\n  Type \"_AnyUser\" is not assignable to type \"User\"\n    \"AnonymousUser\" is not assignable to \"User\"",
      "range": {
        "end": {
          "character": 39,
          "line": 95
        },
        "start": {
          "character": 27,
          "line": 95
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/contests/test_contestclip_idx.py",
      "message": "Argument of type \"list[Unknown] | None\" cannot be assigned to parameter \"obj\" of type \"Sized\" in function \"len\"\n  Type \"list[Unknown] | None\" is not assignable to type \"Sized\"\n    \"None\" is incompatible with protocol \"Sized\"\n      \"__len__\" is not present",
      "range": {
        "end": {
          "character": 43,
          "line": 894
        },
        "start": {
          "character": 29,
          "line": 894
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/contests/tests.py",
      "message": "\"clip\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 51,
          "line": 156
        },
        "start": {
          "character": 47,
          "line": 156
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/dynamodb/meta_heavy_handler.py",
      "message": "No overloads for \"resource\" match the provided arguments",
      "range": {
        "end": {
          "character": 9,
          "line": 46
        },
        "start": {
          "character": 23,
          "line": 44
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/dynamodb/meta_heavy_handler.py",
      "message": "Argument of type \"str | None\" cannot be assigned to parameter \"use_ssl\" of type \"bool | None\" in function \"resource\"\n  Type \"str | None\" is not assignable to type \"bool | None\"\n    Type \"str\" is not assignable to type \"bool | None\"\n      \"str\" is not assignable to \"bool\"\n      \"str\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 84,
          "line": 45
        },
        "start": {
          "character": 78,
          "line": 45
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/dynamodb/meta_heavy_handler.py",
      "message": "Argument of type \"str | None\" cannot be assigned to parameter \"config\" of type \"Config | None\" in function \"resource\"\n  Type \"str | None\" is not assignable to type \"Config | None\"\n    Type \"str\" is not assignable to type \"Config | None\"\n      \"str\" is not assignable to \"Config\"\n      \"str\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 84,
          "line": 45
        },
        "start": {
          "character": 78,
          "line": 45
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/dynamodb/meta_heavy_handler.py",
      "message": "\"batch_get_item\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 54,
          "line": 239
        },
        "start": {
          "character": 40,
          "line": 239
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/dynamodb/orpheus_session_handler.py",
      "message": "Argument of type \"TableAttributeValueTypeDef\" cannot be assigned to parameter \"iterable\" of type \"Iterable[_T@list]\" in function \"__init__\"\n  Type \"TableAttributeValueTypeDef\" is not assignable to type \"Iterable[_T@list]\"\n    \"Decimal\" is incompatible with protocol \"Iterable[_T@list]\"\n      \"__iter__\" is not present",
      "range": {
        "end": {
          "character": 60,
          "line": 89
        },
        "start": {
          "character": 31,
          "line": 89
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/dynamodb/orpheus_session_handler.py",
      "message": "Argument of type \"float\" cannot be assigned to parameter \"value\" of type \"TableAttributeValueTypeDef\" in function \"__setitem__\"\n  Type \"float\" is not assignable to type \"TableAttributeValueTypeDef\"\n    \"float\" is not assignable to \"bytes\"\n    \"float\" is not assignable to \"bytearray\"\n    \"float\" is not assignable to \"str\"\n    \"float\" is not assignable to \"int\"\n    \"float\" is not assignable to \"Decimal\"\n    \"float\" is not assignable to \"bool\"\n    \"float\" is not assignable to \"Set[int]\"",
      "range": {
        "end": {
          "character": 34,
          "line": 154
        },
        "start": {
          "character": 16,
          "line": 154
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/dynamodb/orpheus_session_handler.py",
      "message": "Argument of type \"TableAttributeValueTypeDef\" cannot be assigned to parameter \"x\" of type \"ConvertibleToFloat\" in function \"__new__\"\n  Type \"TableAttributeValueTypeDef\" is not assignable to type \"ConvertibleToFloat\"\n    Type \"Mapping[str, Any]\" is not assignable to type \"ConvertibleToFloat\"\n      \"Mapping[str, Any]\" is not assignable to \"str\"\n      \"Mapping[str, Any]\" is incompatible with protocol \"Buffer\"\n        \"__buffer__\" is not present\n      \"Mapping[str, Any]\" is incompatible with protocol \"SupportsFloat\"\n        \"__float__\" is not present\n      \"Mapping[str, Any]\" is incompatible with protocol \"SupportsIndex\"\n  ...",
      "range": {
        "end": {
          "character": 61,
          "line": 154
        },
        "start": {
          "character": 43,
          "line": 154
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/dynamodb/orpheus_session_handler.py",
      "message": "Argument of type \"TableAttributeValueTypeDef\" cannot be assigned to parameter \"x\" of type \"ConvertibleToFloat\" in function \"__new__\"\n  Type \"TableAttributeValueTypeDef\" is not assignable to type \"ConvertibleToFloat\"\n    Type \"Mapping[str, Any]\" is not assignable to type \"ConvertibleToFloat\"\n      \"Mapping[str, Any]\" is not assignable to \"str\"\n      \"Mapping[str, Any]\" is incompatible with protocol \"Buffer\"\n        \"__buffer__\" is not present\n      \"Mapping[str, Any]\" is incompatible with protocol \"SupportsFloat\"\n        \"__float__\" is not present\n      \"Mapping[str, Any]\" is incompatible with protocol \"SupportsIndex\"",
      "range": {
        "end": {
          "character": 61,
          "line": 154
        },
        "start": {
          "character": 43,
          "line": 154
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/dynamodb/orpheus_session_handler.py",
      "message": "Argument of type \"float\" cannot be assigned to parameter \"value\" of type \"TableAttributeValueTypeDef\" in function \"__setitem__\"\n  Type \"float\" is not assignable to type \"TableAttributeValueTypeDef\"\n    \"float\" is not assignable to \"bytes\"\n    \"float\" is not assignable to \"bytearray\"\n    \"float\" is not assignable to \"str\"\n    \"float\" is not assignable to \"int\"\n    \"float\" is not assignable to \"Decimal\"\n    \"float\" is not assignable to \"bool\"\n    \"float\" is not assignable to \"Set[int]\"",
      "range": {
        "end": {
          "character": 34,
          "line": 156
        },
        "start": {
          "character": 16,
          "line": 156
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/dynamodb/orpheus_session_handler.py",
      "message": "Argument of type \"TableAttributeValueTypeDef\" cannot be assigned to parameter \"x\" of type \"ConvertibleToFloat\" in function \"__new__\"\n  Type \"TableAttributeValueTypeDef\" is not assignable to type \"ConvertibleToFloat\"\n    Type \"Mapping[str, Any]\" is not assignable to type \"ConvertibleToFloat\"\n      \"Mapping[str, Any]\" is not assignable to \"str\"\n      \"Mapping[str, Any]\" is incompatible with protocol \"Buffer\"\n        \"__buffer__\" is not present\n      \"Mapping[str, Any]\" is incompatible with protocol \"SupportsFloat\"\n        \"__float__\" is not present\n      \"Mapping[str, Any]\" is incompatible with protocol \"SupportsIndex\"\n  ...",
      "range": {
        "end": {
          "character": 61,
          "line": 156
        },
        "start": {
          "character": 43,
          "line": 156
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/dynamodb/orpheus_session_handler.py",
      "message": "Argument of type \"TableAttributeValueTypeDef\" cannot be assigned to parameter \"x\" of type \"ConvertibleToFloat\" in function \"__new__\"\n  Type \"TableAttributeValueTypeDef\" is not assignable to type \"ConvertibleToFloat\"\n    Type \"Mapping[str, Any]\" is not assignable to type \"ConvertibleToFloat\"\n      \"Mapping[str, Any]\" is not assignable to \"str\"\n      \"Mapping[str, Any]\" is incompatible with protocol \"Buffer\"\n        \"__buffer__\" is not present\n      \"Mapping[str, Any]\" is incompatible with protocol \"SupportsFloat\"\n        \"__float__\" is not present\n      \"Mapping[str, Any]\" is incompatible with protocol \"SupportsIndex\"",
      "range": {
        "end": {
          "character": 61,
          "line": 156
        },
        "start": {
          "character": 43,
          "line": 156
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/feedback/api.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"key\" of type \"str\" in function \"open_by_key\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 49,
          "line": 85
        },
        "start": {
          "character": 34,
          "line": 85
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/living_radio/living_radio_prompt_chat_gpt.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"api_key\" of type \"str\" in function \"__init__\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 88,
          "line": 72
        },
        "start": {
          "character": 78,
          "line": 72
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/middleware/request_id_middleware.py",
      "message": "Argument of type \"str | None\" cannot be assigned to parameter \"value\" of type \"str\" in function \"set\"\n  Type \"str | None\" is not assignable to type \"str\"\n    \"None\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 37,
          "line": 46
        },
        "start": {
          "character": 27,
          "line": 46
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/middleware/request_id_middleware.py",
      "message": "Argument of type \"str | None\" cannot be assigned to parameter \"value\" of type \"str\" in function \"set\"\n  Type \"str | None\" is not assignable to type \"str\"\n    \"None\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 35,
          "line": 47
        },
        "start": {
          "character": 26,
          "line": 47
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/middleware/request_id_middleware.py",
      "message": "Argument of type \"str | None\" cannot be assigned to parameter \"value\" of type \"str\" in function \"set\"\n  Type \"str | None\" is not assignable to type \"str\"\n    \"None\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 31,
          "line": 49
        },
        "start": {
          "character": 24,
          "line": 49
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/middleware/request_id_middleware.py",
      "message": "Cannot access attribute \"request_id\" for class \"HttpRequest\"\n  Attribute \"request_id\" is unknown",
      "range": {
        "end": {
          "character": 41,
          "line": 62
        },
        "start": {
          "character": 31,
          "line": 62
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/middleware/request_id_middleware.py",
      "message": "Cannot access attribute \"source_ip\" for class \"HttpRequest\"\n  Attribute \"source_ip\" is unknown",
      "range": {
        "end": {
          "character": 39,
          "line": 63
        },
        "start": {
          "character": 30,
          "line": 63
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/middleware/request_id_middleware.py",
      "message": "Cannot access attribute \"source_device\" for class \"HttpRequest\"\n  Attribute \"source_device\" is unknown",
      "range": {
        "end": {
          "character": 47,
          "line": 64
        },
        "start": {
          "character": 34,
          "line": 64
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/moderation/lyrics/lyrics_moderation_v3.py",
      "message": "No parameter named \"_source\"",
      "range": {
        "end": {
          "character": 23,
          "line": 344
        },
        "start": {
          "character": 16,
          "line": 344
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/moderation/middleware/bot_metrics.py",
      "message": "Cannot access attribute \"get\" for class \"Literal[True]\"\n  Attribute \"get\" is unknown",
      "range": {
        "end": {
          "character": 58,
          "line": 117
        },
        "start": {
          "character": 55,
          "line": 117
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/moderation/middleware/bot_metrics.py",
      "message": "Cannot access attribute \"get\" for class \"Literal[True]\"\n  Attribute \"get\" is unknown",
      "range": {
        "end": {
          "character": 64,
          "line": 118
        },
        "start": {
          "character": 61,
          "line": 118
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/preferences/api.py",
      "message": "Argument of type \"Unknown | None\" cannot be assigned to parameter \"timestr\" of type \"_FileOrStr\" in function \"parse\"\n  Type \"Unknown | None\" is not assignable to type \"_FileOrStr\"\n    Type \"None\" is not assignable to type \"_FileOrStr\"\n      \"None\" is not assignable to \"bytes\"\n      \"None\" is not assignable to \"str\"\n      \"None\" is not assignable to \"IO[str]\"\n      \"None\" is not assignable to \"IO[Any]\"",
      "range": {
        "end": {
          "character": 53,
          "line": 128
        },
        "start": {
          "character": 27,
          "line": 128
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/recommendations/retrieval/new_song_retrieval_op.py",
      "message": "Function with declared return type \"RetrievedResults\" must return value on all code paths\n  Type \"None\" is not assignable to type \"RetrievedResults\"\n    \"None\" is not assignable to \"RetrievedClipResults\"\n    \"None\" is not assignable to \"RetrievedPlaylistResults\"",
      "range": {
        "end": {
          "character": 25,
          "line": 11
        },
        "start": {
          "character": 9,
          "line": 11
        }
      },
      "rule": "reportReturnType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/search/search_plan/library_song_search_plan.py",
      "message": "\"id\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 53,
          "line": 116
        },
        "start": {
          "character": 51,
          "line": 116
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"x\" of type \"ConvertibleToFloat\" in function \"__new__\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"ConvertibleToFloat\"\n    Type \"NoValue\" is not assignable to type \"ConvertibleToFloat\"\n      \"NoValue\" is not assignable to \"str\"\n      \"NoValue\" is incompatible with protocol \"Buffer\"\n        \"__buffer__\" is not present\n      \"NoValue\" is incompatible with protocol \"SupportsFloat\"\n        \"__float__\" is not present\n      \"NoValue\" is incompatible with protocol \"SupportsIndex\"\n  ...",
      "range": {
        "end": {
          "character": 37,
          "line": 414
        },
        "start": {
          "character": 26,
          "line": 414
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"x\" of type \"ConvertibleToFloat\" in function \"__new__\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"ConvertibleToFloat\"\n    Type \"NoValue\" is not assignable to type \"ConvertibleToFloat\"\n      \"NoValue\" is not assignable to \"str\"\n      \"NoValue\" is incompatible with protocol \"Buffer\"\n        \"__buffer__\" is not present\n      \"NoValue\" is incompatible with protocol \"SupportsFloat\"\n        \"__float__\" is not present\n      \"NoValue\" is incompatible with protocol \"SupportsIndex\"",
      "range": {
        "end": {
          "character": 37,
          "line": 414
        },
        "start": {
          "character": 26,
          "line": 414
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"database_url\" of type \"str\" in function \"convert_database_url_to_iam_config\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 39,
          "line": 429
        },
        "start": {
          "character": 16,
          "line": 429
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"role_arn\" of type \"str | None\" in function \"convert_database_url_to_iam_config\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str | None\"\n    Type \"NoValue\" is not assignable to type \"str | None\"\n      \"NoValue\" is not assignable to \"str\"\n      \"NoValue\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 42,
          "line": 431
        },
        "start": {
          "character": 25,
          "line": 431
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"host\" of type \"str\" in function \"create_iam_database_config\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 41,
          "line": 438
        },
        "start": {
          "character": 21,
          "line": 438
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"role_arn\" of type \"str | None\" in function \"create_iam_database_config\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str | None\"\n    Type \"NoValue\" is not assignable to type \"str | None\"\n      \"NoValue\" is not assignable to \"str\"\n      \"NoValue\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 42,
          "line": 444
        },
        "start": {
          "character": 25,
          "line": 444
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue\" cannot be assigned to parameter \"host\" of type \"str\" in function \"create_iam_database_config\"\n  Type \"Unknown | bytes | str | NoValue\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 42,
          "line": 454
        },
        "start": {
          "character": 21,
          "line": 454
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"role_arn\" of type \"str | None\" in function \"create_iam_database_config\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str | None\"\n    Type \"NoValue\" is not assignable to type \"str | None\"\n      \"NoValue\" is not assignable to \"str\"\n      \"NoValue\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 42,
          "line": 460
        },
        "start": {
          "character": 25,
          "line": 460
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"database_url\" of type \"str\" in function \"convert_database_url_to_iam_config\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 36,
          "line": 464
        },
        "start": {
          "character": 16,
          "line": 464
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"role_arn\" of type \"str | None\" in function \"convert_database_url_to_iam_config\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str | None\"\n    Type \"NoValue\" is not assignable to type \"str | None\"\n      \"NoValue\" is not assignable to \"str\"\n      \"NoValue\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 42,
          "line": 466
        },
        "start": {
          "character": 25,
          "line": 466
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue\" cannot be assigned to parameter \"host\" of type \"str\" in function \"create_iam_database_config\"\n  Type \"Unknown | bytes | str | NoValue\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 34,
          "line": 476
        },
        "start": {
          "character": 21,
          "line": 476
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"role_arn\" of type \"str | None\" in function \"create_iam_database_config\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str | None\"\n    Type \"NoValue\" is not assignable to type \"str | None\"\n      \"NoValue\" is not assignable to \"str\"\n      \"NoValue\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 42,
          "line": 482
        },
        "start": {
          "character": 25,
          "line": 482
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"database_url\" of type \"str\" in function \"convert_database_url_to_iam_config\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 28,
          "line": 486
        },
        "start": {
          "character": 16,
          "line": 486
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"role_arn\" of type \"str | None\" in function \"convert_database_url_to_iam_config\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str | None\"\n    Type \"NoValue\" is not assignable to type \"str | None\"\n      \"NoValue\" is not assignable to \"str\"\n      \"NoValue\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 42,
          "line": 488
        },
        "start": {
          "character": 25,
          "line": 488
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue\" cannot be assigned to parameter \"database_url\" of type \"str\" in function \"convert_database_url_to_iam_config\"\n  Type \"Unknown | bytes | str | NoValue\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 40,
          "line": 504
        },
        "start": {
          "character": 25,
          "line": 504
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"role_arn\" of type \"str | None\" in function \"convert_database_url_to_iam_config\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str | None\"\n    Type \"NoValue\" is not assignable to type \"str | None\"\n      \"NoValue\" is not assignable to \"str\"\n      \"NoValue\" is not assignable to \"None\"",
      "range": {
        "end": {
          "character": 38,
          "line": 506
        },
        "start": {
          "character": 21,
          "line": 506
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"DBConfig\" cannot be assigned to parameter \"value\" of type \"Dict[str, Any]\" in function \"__setitem__\"\n  \"DBConfig\" is not assignable to \"Dict[str, Any]\"",
      "range": {
        "end": {
          "character": 28,
          "line": 512
        },
        "start": {
          "character": 8,
          "line": 512
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue\" cannot be assigned to parameter \"url\" of type \"str\" in function \"parse\"\n  Type \"Unknown | bytes | str | NoValue\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 64,
          "line": 512
        },
        "start": {
          "character": 53,
          "line": 512
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Operator \"+\" not supported for types \"Unknown | bytes | str | NoValue | None\" and \"Literal['?options=-c%20statement_timeout=30000']\"\n  Operator \"+\" not supported for types \"None\" and \"Literal['?options=-c%20statement_timeout=30000']\" when expected type is \"str | None\"\n  Operator \"+\" not supported for types \"bytes\" and \"Literal['?options=-c%20statement_timeout=30000']\" when expected type is \"str | None\"\n  Operator \"+\" not supported for types \"NoValue\" and \"Literal['?options=-c%20statement_timeout=30000']\" when expected type is \"str | None\"",
      "range": {
        "end": {
          "character": 102,
          "line": 520
        },
        "start": {
          "character": 51,
          "line": 520
        }
      },
      "rule": "reportOperatorIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue\" cannot be assigned to parameter \"url\" of type \"str\" in function \"parse\"\n  Type \"Unknown | bytes | str | NoValue\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 78,
          "line": 529
        },
        "start": {
          "character": 62,
          "line": 529
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue\" cannot be assigned to parameter \"url\" of type \"str\" in function \"parse\"\n  Type \"Unknown | bytes | str | NoValue\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 62,
          "line": 536
        },
        "start": {
          "character": 54,
          "line": 536
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue\" cannot be assigned to parameter \"url\" of type \"str\" in function \"parse\"\n  Type \"Unknown | bytes | str | NoValue\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 62,
          "line": 542
        },
        "start": {
          "character": 54,
          "line": 542
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue\" cannot be assigned to parameter \"url\" of type \"str\" in function \"parse\"\n  Type \"Unknown | bytes | str | NoValue\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 63,
          "line": 550
        },
        "start": {
          "character": 53,
          "line": 550
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Type \"Unknown | bytes | str | NoValue | None\" is not assignable to declared type \"str\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 55,
          "line": 758
        },
        "start": {
          "character": 28,
          "line": 758
        }
      },
      "rule": "reportAssignmentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Type \"Unknown | bytes | str | NoValue | None\" is not assignable to declared type \"str\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 59,
          "line": 759
        },
        "start": {
          "character": 30,
          "line": 759
        }
      },
      "rule": "reportAssignmentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/settings.py",
      "message": "Type \"Unknown | bytes | str | NoValue | None\" is not assignable to declared type \"str\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 51,
          "line": 760
        },
        "start": {
          "character": 26,
          "line": 760
        }
      },
      "rule": "reportAssignmentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/api.py",
      "message": "No parameter named \"updated_at\"",
      "range": {
        "end": {
          "character": 26,
          "line": 109
        },
        "start": {
          "character": 16,
          "line": 109
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/api.py",
      "message": "Cannot access attribute \"image_url\" for class \"SimpleProfileInfoSchema\"\n  Attribute \"image_url\" is unknown",
      "range": {
        "end": {
          "character": 44,
          "line": 122
        },
        "start": {
          "character": 35,
          "line": 122
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/api.py",
      "message": "Cannot access attribute \"image_url\" for class \"GenreSchema\"\n  Attribute \"image_url\" is unknown",
      "range": {
        "end": {
          "character": 44,
          "line": 122
        },
        "start": {
          "character": 35,
          "line": 122
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/api.py",
      "message": "No parameter named \"user_likes\"",
      "range": {
        "end": {
          "character": 26,
          "line": 127
        },
        "start": {
          "character": 16,
          "line": 127
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/api.py",
      "message": "Argument of type \"Literal['playlist', 'clip', 'user', 'persona']\" cannot be assigned to parameter \"item_type\" of type \"ItemTypeEnum\" in function \"__init__\"\n  Type \"Literal['playlist', 'clip', 'user', 'persona']\" is not assignable to type \"ItemTypeEnum\"\n    \"Literal['clip']\" is not assignable to \"ItemTypeEnum\"",
      "range": {
        "end": {
          "character": 33,
          "line": 132
        },
        "start": {
          "character": 18,
          "line": 132
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/api.py",
      "message": "Argument of type \"list[PlaylistSchema] | List[SearchResultItemSchema]\" cannot be assigned to parameter \"items\" of type \"List[GeneratedClipSchema | PlaylistSchema]\" in function \"__init__\"\n  Type \"list[PlaylistSchema] | List[SearchResultItemSchema]\" is not assignable to type \"List[GeneratedClipSchema | PlaylistSchema]\"\n    \"List[SearchResultItemSchema]\" is not assignable to \"List[GeneratedClipSchema | PlaylistSchema]\"\n      Type parameter \"_T@list\" is invariant, but \"SearchResultItemSchema\" is not the same as \"GeneratedClipSchema | PlaylistSchema\"\n      Consider switching from \"list\" to \"Sequence\" which is covariant",
      "range": {
        "end": {
          "character": 19,
          "line": 134
        },
        "start": {
          "character": 14,
          "line": 134
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/api.py",
      "message": "Cannot access attribute \"following\" for class \"DiscordInfo\"\n  Attribute \"following\" is unknown",
      "range": {
        "end": {
          "character": 38,
          "line": 153
        },
        "start": {
          "character": 29,
          "line": 153
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/following_feed/following_feed_creation_utils.py",
      "message": "Type \"QuerySet[ProfileFollow, ProfileFollow]\" is not assignable to return type \"List[DiscordInfo]\"\n  \"QuerySet[ProfileFollow, ProfileFollow]\" is not assignable to \"List[DiscordInfo]\"",
      "range": {
        "end": {
          "character": 5,
          "line": 31
        },
        "start": {
          "character": 11,
          "line": 29
        }
      },
      "rule": "reportReturnType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/following_feed/following_feed_creation_utils.py",
      "message": "Type \"bool | None\" is not assignable to return type \"bool\"\n  Type \"bool | None\" is not assignable to type \"bool\"\n    \"None\" is not assignable to \"bool\"",
      "range": {
        "end": {
          "character": 5,
          "line": 37
        },
        "start": {
          "character": 11,
          "line": 35
        }
      },
      "rule": "reportReturnType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/following_feed/following_feed_creation_utils.py",
      "message": "Cannot access attribute \"following_profile\" for class \"DiscordInfo\"\n  Attribute \"following_profile\" is unknown",
      "range": {
        "end": {
          "character": 53,
          "line": 72
        },
        "start": {
          "character": 36,
          "line": 72
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/following_feed/following_feed_creation_utils.py",
      "message": "Cannot access attribute \"following_profile\" for class \"DiscordInfo\"\n  Attribute \"following_profile\" is unknown",
      "range": {
        "end": {
          "character": 57,
          "line": 86
        },
        "start": {
          "character": 40,
          "line": 86
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/following_feed/following_feed_creation_utils.py",
      "message": "Cannot access attribute \"following_profile\" for class \"DiscordInfo\"\n  Attribute \"following_profile\" is unknown",
      "range": {
        "end": {
          "character": 53,
          "line": 123
        },
        "start": {
          "character": 36,
          "line": 123
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/following_feed/test_following_feed_creation_utils.py",
      "message": "Cannot assign to attribute \"auto_now\" for class \"Field[Any, Any]\"\n  Attribute \"auto_now\" is unknown",
      "range": {
        "end": {
          "character": 30,
          "line": 423
        },
        "start": {
          "character": 22,
          "line": 423
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/following_feed/test_following_feed_creation_utils.py",
      "message": "Cannot assign to attribute \"auto_now_add\" for class \"Field[Any, Any]\"\n  Attribute \"auto_now_add\" is unknown",
      "range": {
        "end": {
          "character": 34,
          "line": 427
        },
        "start": {
          "character": 22,
          "line": 427
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/following_feed/test_following_feed_creation_utils.py",
      "message": "Cannot assign to attribute \"auto_now\" for class \"Field[Any, Any]\"\n  Attribute \"auto_now\" is unknown",
      "range": {
        "end": {
          "character": 30,
          "line": 457
        },
        "start": {
          "character": 22,
          "line": 457
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/following_feed/test_following_feed_creation_utils.py",
      "message": "Cannot assign to attribute \"auto_now\" for class \"Field[Any, Any]\"\n  Attribute \"auto_now\" is unknown",
      "range": {
        "end": {
          "character": 30,
          "line": 479
        },
        "start": {
          "character": 22,
          "line": 479
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/social/following_feed/test_following_feed_creation_utils.py",
      "message": "Cannot assign to attribute \"auto_now_add\" for class \"Field[Any, Any]\"\n  Attribute \"auto_now_add\" is unknown",
      "range": {
        "end": {
          "character": 34,
          "line": 483
        },
        "start": {
          "character": 22,
          "line": 483
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/songify/api.py",
      "message": "Argument of type \"str\" cannot be assigned to parameter \"request\" of type \"AuthedHttpRequest\" in function \"create_songify_video\"\n  \"str\" is not assignable to \"AuthedHttpRequest\"",
      "range": {
        "end": {
          "character": 68,
          "line": 96
        },
        "start": {
          "character": 48,
          "line": 96
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/songify/songify_actions.py",
      "message": "Expected 0 positional arguments",
      "range": {
        "end": {
          "character": 43,
          "line": 181
        },
        "start": {
          "character": 16,
          "line": 181
        }
      },
      "rule": "reportCallIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/unified_feed/feed/test_feed_item_utils.py",
      "message": "Argument of type \"Literal['invalid_type']\" cannot be assigned to parameter \"content_type\" of type \"GenericFeedItemContentType\" in function \"get_content_variant_key\"\n  \"Literal['invalid_type']\" is not assignable to \"GenericFeedItemContentType\"",
      "range": {
        "end": {
          "character": 50,
          "line": 99
        },
        "start": {
          "character": 36,
          "line": 99
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/unified_feed/feed/test_feed_item_utils.py",
      "message": "\"id\" is not a known attribute of \"None\"",
      "range": {
        "end": {
          "character": 42,
          "line": 210
        },
        "start": {
          "character": 40,
          "line": 210
        }
      },
      "rule": "reportOptionalMemberAccess",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/utils.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"url\" of type \"str\" in function \"from_url\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 53,
          "line": 20
        },
        "start": {
          "character": 34,
          "line": 20
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/utils.py",
      "message": "Expression of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter of type \"str\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 69,
          "line": 31
        },
        "start": {
          "character": 44,
          "line": 31
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/video/hooks/hook_creation_utils.py",
      "message": "Argument of type \"Any | None\" cannot be assigned to parameter \"rating_str\" of type \"str\" in function \"update_hook_gemini_rating_in_ES\"\n  Type \"Any | None\" is not assignable to type \"str\"\n    \"None\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 76,
          "line": 527
        },
        "start": {
          "character": 49,
          "line": 527
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/video/hooks/hook_creation_utils.py",
      "message": "Argument of type \"Any | None\" cannot be assigned to parameter \"embedding\" of type \"list[float]\" in function \"update_hook_description_embedding_in_ES\"\n  Type \"Any | None\" is not assignable to type \"list[float]\"\n    \"None\" is not assignable to \"list[float]\"",
      "range": {
        "end": {
          "character": 92,
          "line": 528
        },
        "start": {
          "character": 57,
          "line": 528
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/video_gen/chatbots/vibe_chat_bot.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"api_key\" of type \"str\" in function \"__init__\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 72,
          "line": 153
        },
        "start": {
          "character": 62,
          "line": 153
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/video_gen/management/commands/video_generation.py",
      "message": "Cannot assign to attribute \"user\" for class \"_MutableHttpRequest\"\n  Type \"None\" is not assignable to type \"_AnyUser\"\n    \"None\" is not assignable to \"Model\"\n    \"None\" is not assignable to \"AnonymousUser\"",
      "range": {
        "end": {
          "character": 28,
          "line": 58
        },
        "start": {
          "character": 24,
          "line": 58
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/video_gen/management/commands/video_generation.py",
      "message": "Cannot assign to attribute \"is_authenticated\" for class \"_MutableHttpRequest\"\n  Attribute \"is_authenticated\" is unknown",
      "range": {
        "end": {
          "character": 33,
          "line": 59
        },
        "start": {
          "character": 17,
          "line": 59
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/video_gen/utils.py",
      "message": "Cannot assign to attribute \"user\" for class \"_MutableHttpRequest\"\n  Type \"None\" is not assignable to type \"_AnyUser\"\n    \"None\" is not assignable to \"Model\"\n    \"None\" is not assignable to \"AnonymousUser\"",
      "range": {
        "end": {
          "character": 20,
          "line": 19
        },
        "start": {
          "character": 16,
          "line": 19
        }
      },
      "rule": "reportAttributeAccessIssue",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/video_gen/utils.py",
      "message": "Argument of type \"_MutableHttpRequest\" cannot be assigned to parameter \"request\" of type \"AuthedHttpRequest\" in function \"get_aligned_lyrics_v2\"\n  \"_MutableHttpRequest\" is not assignable to \"AuthedHttpRequest\"",
      "range": {
        "end": {
          "character": 47,
          "line": 21
        },
        "start": {
          "character": 43,
          "line": 21
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/video_gen/video_tag_generator.py",
      "message": "Argument of type \"str | None\" cannot be assigned to parameter \"b\" of type \"str | bytes\" in function \"parse_raw\"\n  Type \"str | None\" is not assignable to type \"str | bytes\"\n    Type \"None\" is not assignable to type \"str | bytes\"\n      \"None\" is not assignable to \"str\"\n      \"None\" is not assignable to \"bytes\"",
      "range": {
        "end": {
          "character": 55,
          "line": 67
        },
        "start": {
          "character": 47,
          "line": 67
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    },
    {
      "file": "/Users/csakellaris/code/glockenspiel/studio_api/studio_api/video_gen/video_tag_generator.py",
      "message": "Argument of type \"Unknown | bytes | str | NoValue | None\" cannot be assigned to parameter \"api_key\" of type \"str\" in function \"__init__\"\n  Type \"Unknown | bytes | str | NoValue | None\" is not assignable to type \"str\"\n    \"NoValue\" is not assignable to \"str\"",
      "range": {
        "end": {
          "character": 68,
          "line": 72
        },
        "start": {
          "character": 58,
          "line": 72
        }
      },
      "rule": "reportArgumentType",
      "severity": "error"
    }
  ],
  "summary": {
    "errorCount": 517,
    "filesAnalyzed": 952,
    "informationCount": 0,
    "timeInSec": 7.616,
    "warningCount": 0
  },
  "time": "1762540755083",
  "version": "1.1.406"
}
