{
  "auth": {
    "user_pool_id": "ap-southeast-1_ISUlRZfpp",
    "aws_region": "ap-southeast-1",
    "user_pool_client_id": "2ool529f04qgucriv7bqtbqpoh",
    "identity_pool_id": "ap-southeast-1:355fb333-b18a-4042-ac99-a17103517449",
    "mfa_methods": [],
    "standard_required_attributes": [
      "email",
      "given_name",
      "family_name"
    ],
    "username_attributes": [
      "email"
    ],
    "user_verification_types": [
      "email"
    ],
    "groups": [],
    "mfa_configuration": "NONE",
    "password_policy": {
      "min_length": 8,
      "require_lowercase": true,
      "require_numbers": true,
      "require_symbols": true,
      "require_uppercase": true
    },
    "oauth": {
      "identity_providers": ["COGNITO"],
      "redirect_sign_in_uri": [
        "http://localhost:3000/app",
        "https://dev.d3mqnmcwpclb8h.amplifyapp.com/app",
        "https://kiro.d3mqnmcwpclb8h.amplifyapp.com/app",
        "https://eduq-ai.com/app",
        "https://www.eduq-ai.com/app"
      ],
      "redirect_sign_out_uri": [
        "http://localhost:3000/",
        "https://dev.d3mqnmcwpclb8h.amplifyapp.com/",
        "https://kiro.d3mqnmcwpclb8h.amplifyapp.com/",
        "https://eduq-ai.com/",
        "https://www.eduq-ai.com/"
      ],
      "response_type": "code",
      "scopes": [
        "email",
        "openid",
        "profile",
        "aws.cognito.signin.user.admin"
      ],
      "domain": "eduq-ai-gen2.auth.ap-southeast-1.amazoncognito.com"
    },
    "unauthenticated_identities_enabled": true
  },
  "data": {
    "url": "https://nmab5vbpajgy3ck5q2a5cwhme4.appsync-api.ap-southeast-1.amazonaws.com/graphql",
    "aws_region": "ap-southeast-1",
    "api_key": "da2-eg2hnugqrbd7ha2xoyuzvdstky",
    "default_authorization_type": "AMAZON_COGNITO_USER_POOLS",
    "authorization_types": [
      "API_KEY",
      "AWS_IAM"
    ],
    "model_introspection": {
      "version": 1,
      "models": {
        "Todo": {
          "name": "Todo",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "content": {
              "name": "content",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": [],
              "isReadOnly": true
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": [],
              "isReadOnly": true
            }
          },
          "syncable": true,
          "pluralName": "Todos",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "PaymentIntent": {
          "name": "PaymentIntent",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "airwallexIntentId": {
              "name": "airwallexIntentId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "planId": {
              "name": "planId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "planName": {
              "name": "planName",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "planType": {
              "name": "planType",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "billingCycle": {
              "name": "billingCycle",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "amount": {
              "name": "amount",
              "isArray": false,
              "type": "Int",
              "isRequired": true,
              "attributes": []
            },
            "currency": {
              "name": "currency",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "status": {
              "name": "status",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "customerEmail": {
              "name": "customerEmail",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "customerFirstName": {
              "name": "customerFirstName",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "customerLastName": {
              "name": "customerLastName",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "customerPhone": {
              "name": "customerPhone",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "customerCountry": {
              "name": "customerCountry",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "paymentMethod": {
              "name": "paymentMethod",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "locale": {
              "name": "locale",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "returnUrl": {
              "name": "returnUrl",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "cancelUrl": {
              "name": "cancelUrl",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "metadata": {
              "name": "metadata",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "processedAt": {
              "name": "processedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": []
            },
            "failureReason": {
              "name": "failureReason",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "webhookProcessed": {
              "name": "webhookProcessed",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            }
          },
          "syncable": true,
          "pluralName": "PaymentIntents",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "id"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "UserSubscription": {
          "name": "UserSubscription",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "userId": {
              "name": "userId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "paymentIntentId": {
              "name": "paymentIntentId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "planId": {
              "name": "planId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "planName": {
              "name": "planName",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "planType": {
              "name": "planType",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "billingCycle": {
              "name": "billingCycle",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "status": {
              "name": "status",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "amount": {
              "name": "amount",
              "isArray": false,
              "type": "Int",
              "isRequired": true,
              "attributes": []
            },
            "currency": {
              "name": "currency",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "startDate": {
              "name": "startDate",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "endDate": {
              "name": "endDate",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "nextBillingDate": {
              "name": "nextBillingDate",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": []
            },
            "autoRenew": {
              "name": "autoRenew",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "cancelledAt": {
              "name": "cancelledAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": []
            },
            "cancellationReason": {
              "name": "cancellationReason",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "metadata": {
              "name": "metadata",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            }
          },
          "syncable": true,
          "pluralName": "UserSubscriptions",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "id"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "PaymentEvent": {
          "name": "PaymentEvent",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "paymentIntentId": {
              "name": "paymentIntentId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "eventType": {
              "name": "eventType",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "eventData": {
              "name": "eventData",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "source": {
              "name": "source",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "processedAt": {
              "name": "processedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "ttl": {
              "name": "ttl",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "metadata": {
              "name": "metadata",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": [],
              "isReadOnly": true
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": [],
              "isReadOnly": true
            }
          },
          "syncable": true,
          "pluralName": "PaymentEvents",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "id"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "ProcessedDocument": {
          "name": "ProcessedDocument",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "userId": {
              "name": "userId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "originalFileName": {
              "name": "originalFileName",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "documentName": {
              "name": "documentName",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "fileType": {
              "name": "fileType",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "fileSize": {
              "name": "fileSize",
              "isArray": false,
              "type": "Int",
              "isRequired": true,
              "attributes": []
            },
            "s3Key": {
              "name": "s3Key",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "extractedText": {
              "name": "extractedText",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "processingStatus": {
              "name": "processingStatus",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "processingError": {
              "name": "processingError",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "pageCount": {
              "name": "pageCount",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "language": {
              "name": "language",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "metadata": {
              "name": "metadata",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "processedAt": {
              "name": "processedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            }
          },
          "syncable": true,
          "pluralName": "ProcessedDocuments",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "id"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "ConversationSession": {
          "name": "ConversationSession",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "userId": {
              "name": "userId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "documentId": {
              "name": "documentId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "sessionType": {
              "name": "sessionType",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "mode": {
              "name": "mode",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "conversationPlan": {
              "name": "conversationPlan",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "currentPhase": {
              "name": "currentPhase",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "currentStep": {
              "name": "currentStep",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "worksheetData": {
              "name": "worksheetData",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "messages": {
              "name": "messages",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "status": {
              "name": "status",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "completedAt": {
              "name": "completedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": []
            },
            "ttl": {
              "name": "ttl",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "hasVoiceInput": {
              "name": "hasVoiceInput",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "hasDocuments": {
              "name": "hasDocuments",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "hasMathVisual": {
              "name": "hasMathVisual",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "hasCharacterPractice": {
              "name": "hasCharacterPractice",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "hasWorksheets": {
              "name": "hasWorksheets",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "autoTitle": {
              "name": "autoTitle",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "titleGenerated": {
              "name": "titleGenerated",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "titleGeneratedAt": {
              "name": "titleGeneratedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": []
            },
            "primaryLanguage": {
              "name": "primaryLanguage",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "languagesUsed": {
              "name": "languagesUsed",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "messageCount": {
              "name": "messageCount",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "lastMessageAt": {
              "name": "lastMessageAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            }
          },
          "syncable": true,
          "pluralName": "ConversationSessions",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "id"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "conversationSessionsByUserIdAndLastMessageAt",
                "queryField": "listConversationSessionsByUser",
                "fields": [
                  "userId",
                  "lastMessageAt"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "conversationSessionsByPrimaryLanguageAndCreatedAt",
                "queryField": "listConversationSessionsByLanguage",
                "fields": [
                  "primaryLanguage",
                  "createdAt"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "provider": "userPools",
                    "ownerField": "owner",
                    "allow": "owner",
                    "identityClaim": "cognito:username",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  },
                  {
                    "allow": "private",
                    "operations": [
                      "read"
                    ]
                  },
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "Message": {
          "name": "Message",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "conversationId": {
              "name": "conversationId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "role": {
              "name": "role",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "content": {
              "name": "content",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "timestamp": {
              "name": "timestamp",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "metadata": {
              "name": "metadata",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "ttl": {
              "name": "ttl",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "inputType": {
              "name": "inputType",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "language": {
              "name": "language",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "voiceData": {
              "name": "voiceData",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "documentData": {
              "name": "documentData",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "mathVisualId": {
              "name": "mathVisualId",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "characterPracticeId": {
              "name": "characterPracticeId",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "worksheetId": {
              "name": "worksheetId",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "safetyCheck": {
              "name": "safetyCheck",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "processingStatus": {
              "name": "processingStatus",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "processingError": {
              "name": "processingError",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": [],
              "isReadOnly": true
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": [],
              "isReadOnly": true
            }
          },
          "syncable": true,
          "pluralName": "Messages",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "id"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "messagesByConversationIdAndTimestamp",
                "queryField": "listMessagesByConversation",
                "fields": [
                  "conversationId",
                  "timestamp"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "messagesByInputTypeAndTimestamp",
                "queryField": "listMessagesByInputType",
                "fields": [
                  "inputType",
                  "timestamp"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "messagesByLanguageAndTimestamp",
                "queryField": "listMessagesByLanguage",
                "fields": [
                  "language",
                  "timestamp"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "provider": "userPools",
                    "ownerField": "owner",
                    "allow": "owner",
                    "identityClaim": "cognito:username",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  },
                  {
                    "allow": "private",
                    "operations": [
                      "read"
                    ]
                  },
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "UserProfile": {
          "name": "UserProfile",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "userId": {
              "name": "userId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "gradeLevel": {
              "name": "gradeLevel",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "educationSystem": {
              "name": "educationSystem",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "learningStyle": {
              "name": "learningStyle",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "age": {
              "name": "age",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "parentEmail": {
              "name": "parentEmail",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "coppaCompliant": {
              "name": "coppaCompliant",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "parentalConsentDate": {
              "name": "parentalConsentDate",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": []
            },
            "phoneNumber": {
              "name": "phoneNumber",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "areaCode": {
              "name": "areaCode",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "language": {
              "name": "language",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "marketingConsent": {
              "name": "marketingConsent",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            }
          },
          "syncable": true,
          "pluralName": "UserProfiles",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "id"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "ParentFlag": {
          "name": "ParentFlag",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "userId": {
              "name": "userId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "conversationId": {
              "name": "conversationId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "messageId": {
              "name": "messageId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "flagReason": {
              "name": "flagReason",
              "isArray": false,
              "type": {
                "enum": "ParentFlagFlagReason"
              },
              "isRequired": false,
              "attributes": []
            },
            "flagDetails": {
              "name": "flagDetails",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "severity": {
              "name": "severity",
              "isArray": false,
              "type": {
                "enum": "ParentFlagSeverity"
              },
              "isRequired": false,
              "attributes": []
            },
            "reviewStatus": {
              "name": "reviewStatus",
              "isArray": false,
              "type": {
                "enum": "ParentFlagReviewStatus"
              },
              "isRequired": false,
              "attributes": []
            },
            "reviewNotes": {
              "name": "reviewNotes",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "reviewedAt": {
              "name": "reviewedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": []
            },
            "reviewedBy": {
              "name": "reviewedBy",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "timestamp": {
              "name": "timestamp",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            }
          },
          "syncable": true,
          "pluralName": "ParentFlags",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "id"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "parentFlagsByUserIdAndTimestamp",
                "queryField": "listParentFlagsByUser",
                "fields": [
                  "userId",
                  "timestamp"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "parentFlagsByConversationIdAndTimestamp",
                "queryField": "listParentFlagsByConversation",
                "fields": [
                  "conversationId",
                  "timestamp"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "UserLearningProfile": {
          "name": "UserLearningProfile",
          "fields": {
            "userId": {
              "name": "userId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "version": {
              "name": "version",
              "isArray": false,
              "type": "Int",
              "isRequired": true,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "basicInfo": {
              "name": "basicInfo",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "learningStyles": {
              "name": "learningStyles",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "educationSystem": {
              "name": "educationSystem",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "schoolInfo": {
              "name": "schoolInfo",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "academicProfile": {
              "name": "academicProfile",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "learningCharacteristics": {
              "name": "learningCharacteristics",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "performanceMetrics": {
              "name": "performanceMetrics",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "parentInfo": {
              "name": "parentInfo",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "privacy": {
              "name": "privacy",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "metadata": {
              "name": "metadata",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            }
          },
          "syncable": true,
          "pluralName": "UserLearningProfiles",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "userId"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": true,
            "primaryKeyFieldName": "userId",
            "sortKeyFieldNames": []
          }
        },
        "UserLearningProfileHistory": {
          "name": "UserLearningProfileHistory",
          "fields": {
            "userId": {
              "name": "userId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "version": {
              "name": "version",
              "isArray": false,
              "type": "Int",
              "isRequired": true,
              "attributes": []
            },
            "profileData": {
              "name": "profileData",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "timestamp": {
              "name": "timestamp",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "ttl": {
              "name": "ttl",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": [],
              "isReadOnly": true
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": [],
              "isReadOnly": true
            }
          },
          "syncable": true,
          "pluralName": "UserLearningProfileHistories",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "userId",
                  "version"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": true,
            "primaryKeyFieldName": "userId",
            "sortKeyFieldNames": [
              "version"
            ]
          }
        },
        "LearningProgress": {
          "name": "LearningProgress",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "userId": {
              "name": "userId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "childId": {
              "name": "childId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "sessionMetrics": {
              "name": "sessionMetrics",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "subjectProgress": {
              "name": "subjectProgress",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "weeklyProgress": {
              "name": "weeklyProgress",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "insights": {
              "name": "insights",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "milestonesReached": {
              "name": "milestonesReached",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "currentGoals": {
              "name": "currentGoals",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "engagementLevel": {
              "name": "engagementLevel",
              "isArray": false,
              "type": {
                "enum": "LearningProgressEngagementLevel"
              },
              "isRequired": false,
              "attributes": []
            },
            "learningVelocity": {
              "name": "learningVelocity",
              "isArray": false,
              "type": "Float",
              "isRequired": true,
              "attributes": []
            },
            "consistencyScore": {
              "name": "consistencyScore",
              "isArray": false,
              "type": "Float",
              "isRequired": true,
              "attributes": []
            },
            "predictedDifficulties": {
              "name": "predictedDifficulties",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "recommendedFocus": {
              "name": "recommendedFocus",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "lastUpdated": {
              "name": "lastUpdated",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "dataVersion": {
              "name": "dataVersion",
              "isArray": false,
              "type": "Int",
              "isRequired": true,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            }
          },
          "syncable": true,
          "pluralName": "LearningProgresses",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "id"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "learningProgressesByUserIdAndLastUpdated",
                "queryField": "listLearningProgressByUser",
                "fields": [
                  "userId",
                  "lastUpdated"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "learningProgressesByChildIdAndLastUpdated",
                "queryField": "listLearningProgressByChild",
                "fields": [
                  "childId",
                  "lastUpdated"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "provider": "userPools",
                    "ownerField": "owner",
                    "allow": "owner",
                    "identityClaim": "cognito:username",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  },
                  {
                    "allow": "private",
                    "operations": [
                      "read"
                    ]
                  },
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "DocumentUpload": {
          "name": "DocumentUpload",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "userId": {
              "name": "userId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "conversationId": {
              "name": "conversationId",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "fileName": {
              "name": "fileName",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "fileSize": {
              "name": "fileSize",
              "isArray": false,
              "type": "Int",
              "isRequired": true,
              "attributes": []
            },
            "fileType": {
              "name": "fileType",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "s3Key": {
              "name": "s3Key",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "s3Bucket": {
              "name": "s3Bucket",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "uploadedAt": {
              "name": "uploadedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "extractedText": {
              "name": "extractedText",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "textractJobId": {
              "name": "textractJobId",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "textractStatus": {
              "name": "textractStatus",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "textractConfidence": {
              "name": "textractConfidence",
              "isArray": false,
              "type": "Float",
              "isRequired": false,
              "attributes": []
            },
            "analysisResult": {
              "name": "analysisResult",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "analysisStatus": {
              "name": "analysisStatus",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "analysisPrompt": {
              "name": "analysisPrompt",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "analysisTokens": {
              "name": "analysisTokens",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "language": {
              "name": "language",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "educationalSubject": {
              "name": "educationalSubject",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "gradeLevel": {
              "name": "gradeLevel",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "documentType": {
              "name": "documentType",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "curriculum": {
              "name": "curriculum",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "difficulty": {
              "name": "difficulty",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "topics": {
              "name": "topics",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "userInteractionCount": {
              "name": "userInteractionCount",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "tutorEffectiveness": {
              "name": "tutorEffectiveness",
              "isArray": false,
              "type": "Float",
              "isRequired": false,
              "attributes": []
            },
            "correctnessVerified": {
              "name": "correctnessVerified",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "trainingDataApproved": {
              "name": "trainingDataApproved",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "textractDuration": {
              "name": "textractDuration",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "analysisDuration": {
              "name": "analysisDuration",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "anonymizedForTraining": {
              "name": "anonymizedForTraining",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "parentalConsent": {
              "name": "parentalConsent",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "dataRetentionExpiry": {
              "name": "dataRetentionExpiry",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            }
          },
          "syncable": true,
          "pluralName": "DocumentUploads",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "id"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "documentUploadsByUserIdAndUploadedAt",
                "queryField": "listDocumentUploadsByUser",
                "fields": [
                  "userId",
                  "uploadedAt"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "documentUploadsByConversationIdAndUploadedAt",
                "queryField": "listDocumentUploadsByConversation",
                "fields": [
                  "conversationId",
                  "uploadedAt"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "documentUploadsByLanguageAndUploadedAt",
                "queryField": "listDocumentUploadsByLanguage",
                "fields": [
                  "language",
                  "uploadedAt"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "documentUploadsByEducationalSubjectAndUploadedAt",
                "queryField": "listDocumentUploadsBySubject",
                "fields": [
                  "educationalSubject",
                  "uploadedAt"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "documentUploadsByGradeLevelAndUploadedAt",
                "queryField": "listDocumentUploadsByGrade",
                "fields": [
                  "gradeLevel",
                  "uploadedAt"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "documentUploadsByDocumentTypeAndUploadedAt",
                "queryField": "listDocumentUploadsByType",
                "fields": [
                  "documentType",
                  "uploadedAt"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "provider": "userPools",
                    "ownerField": "owner",
                    "allow": "owner",
                    "identityClaim": "cognito:username",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  },
                  {
                    "allow": "private",
                    "operations": [
                      "read"
                    ]
                  },
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "UserVoiceSettings": {
          "name": "UserVoiceSettings",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "userId": {
              "name": "userId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "autoReadEnabled": {
              "name": "autoReadEnabled",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "preferredVoiceEn": {
              "name": "preferredVoiceEn",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "preferredVoiceZhHK": {
              "name": "preferredVoiceZhHK",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "preferredVoiceZhCN": {
              "name": "preferredVoiceZhCN",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "speechRate": {
              "name": "speechRate",
              "isArray": false,
              "type": "Float",
              "isRequired": false,
              "attributes": []
            },
            "volume": {
              "name": "volume",
              "isArray": false,
              "type": "Float",
              "isRequired": false,
              "attributes": []
            },
            "childFriendlyMode": {
              "name": "childFriendlyMode",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "largeButtons": {
              "name": "largeButtons",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "primaryLanguage": {
              "name": "primaryLanguage",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "secondaryLanguages": {
              "name": "secondaryLanguages",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "voiceInputCount": {
              "name": "voiceInputCount",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "voiceOutputCount": {
              "name": "voiceOutputCount",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "lastUsedAt": {
              "name": "lastUsedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            }
          },
          "syncable": true,
          "pluralName": "UserVoiceSettings",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "id"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "userVoiceSettingsByUserId",
                "queryField": "getUserVoiceSettingsByUser",
                "fields": [
                  "userId"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "provider": "userPools",
                    "ownerField": "owner",
                    "allow": "owner",
                    "identityClaim": "cognito:username",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  },
                  {
                    "allow": "private",
                    "operations": [
                      "read"
                    ]
                  },
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "MathVisualContent": {
          "name": "MathVisualContent",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "userId": {
              "name": "userId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "conversationId": {
              "name": "conversationId",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "messageId": {
              "name": "messageId",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "contentType": {
              "name": "contentType",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "mathTopic": {
              "name": "mathTopic",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "gradeLevel": {
              "name": "gradeLevel",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "difficulty": {
              "name": "difficulty",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "canvasData": {
              "name": "canvasData",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "latexFormula": {
              "name": "latexFormula",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "mathMLFormula": {
              "name": "mathMLFormula",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "svgDiagram": {
              "name": "svgDiagram",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "recognitionStatus": {
              "name": "recognitionStatus",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "recognitionConfidence": {
              "name": "recognitionConfidence",
              "isArray": false,
              "type": "Float",
              "isRequired": false,
              "attributes": []
            },
            "recognitionDuration": {
              "name": "recognitionDuration",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "userCorrections": {
              "name": "userCorrections",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "tutorFeedback": {
              "name": "tutorFeedback",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "practiceScore": {
              "name": "practiceScore",
              "isArray": false,
              "type": "Float",
              "isRequired": false,
              "attributes": []
            },
            "trainingDataApproved": {
              "name": "trainingDataApproved",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "expertVerified": {
              "name": "expertVerified",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            }
          },
          "syncable": true,
          "pluralName": "MathVisualContents",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "id"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "mathVisualContentsByUserIdAndCreatedAt",
                "queryField": "listMathVisualContentByUser",
                "fields": [
                  "userId",
                  "createdAt"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "mathVisualContentsByConversationIdAndCreatedAt",
                "queryField": "listMathVisualContentByConversation",
                "fields": [
                  "conversationId",
                  "createdAt"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "mathVisualContentsByMathTopicAndCreatedAt",
                "queryField": "listMathVisualContentByTopic",
                "fields": [
                  "mathTopic",
                  "createdAt"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "mathVisualContentsByGradeLevelAndCreatedAt",
                "queryField": "listMathVisualContentByGrade",
                "fields": [
                  "gradeLevel",
                  "createdAt"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "provider": "userPools",
                    "ownerField": "owner",
                    "allow": "owner",
                    "identityClaim": "cognito:username",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  },
                  {
                    "allow": "private",
                    "operations": [
                      "read"
                    ]
                  },
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "CharacterPractice": {
          "name": "CharacterPractice",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "userId": {
              "name": "userId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "conversationId": {
              "name": "conversationId",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "messageId": {
              "name": "messageId",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "targetCharacter": {
              "name": "targetCharacter",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "characterType": {
              "name": "characterType",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "hskLevel": {
              "name": "hskLevel",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "difficulty": {
              "name": "difficulty",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "strokeData": {
              "name": "strokeData",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "strokeOrder": {
              "name": "strokeOrder",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "strokeAccuracy": {
              "name": "strokeAccuracy",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "analysisStatus": {
              "name": "analysisStatus",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "overallAccuracy": {
              "name": "overallAccuracy",
              "isArray": false,
              "type": "Float",
              "isRequired": false,
              "attributes": []
            },
            "strokeOrderCorrect": {
              "name": "strokeOrderCorrect",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "improvementSuggestions": {
              "name": "improvementSuggestions",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "attemptNumber": {
              "name": "attemptNumber",
              "isArray": false,
              "type": "Int",
              "isRequired": true,
              "attributes": []
            },
            "masteryLevel": {
              "name": "masteryLevel",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "practiceTime": {
              "name": "practiceTime",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "characterMeaning": {
              "name": "characterMeaning",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "usageExamples": {
              "name": "usageExamples",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "culturalNotes": {
              "name": "culturalNotes",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "trainingDataApproved": {
              "name": "trainingDataApproved",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "expertVerified": {
              "name": "expertVerified",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            }
          },
          "syncable": true,
          "pluralName": "CharacterPractices",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "id"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "characterPracticesByUserIdAndCreatedAt",
                "queryField": "listCharacterPracticeByUser",
                "fields": [
                  "userId",
                  "createdAt"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "characterPracticesByConversationIdAndCreatedAt",
                "queryField": "listCharacterPracticeByConversation",
                "fields": [
                  "conversationId",
                  "createdAt"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "characterPracticesByTargetCharacterAndCreatedAt",
                "queryField": "listCharacterPracticeByCharacter",
                "fields": [
                  "targetCharacter",
                  "createdAt"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "characterPracticesByHskLevelAndCreatedAt",
                "queryField": "listCharacterPracticeByHSKLevel",
                "fields": [
                  "hskLevel",
                  "createdAt"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "provider": "userPools",
                    "ownerField": "owner",
                    "allow": "owner",
                    "identityClaim": "cognito:username",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  },
                  {
                    "allow": "private",
                    "operations": [
                      "read"
                    ]
                  },
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "GeneratedWorksheet": {
          "name": "GeneratedWorksheet",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "userId": {
              "name": "userId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "conversationId": {
              "name": "conversationId",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "messageId": {
              "name": "messageId",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "title": {
              "name": "title",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "subject": {
              "name": "subject",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "gradeLevel": {
              "name": "gradeLevel",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "difficulty": {
              "name": "difficulty",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "curriculum": {
              "name": "curriculum",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "questionCount": {
              "name": "questionCount",
              "isArray": false,
              "type": "Int",
              "isRequired": true,
              "attributes": []
            },
            "questionTypes": {
              "name": "questionTypes",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "topics": {
              "name": "topics",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "generatedQuestions": {
              "name": "generatedQuestions",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "answerKey": {
              "name": "answerKey",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "generationStatus": {
              "name": "generationStatus",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "generationPrompt": {
              "name": "generationPrompt",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "generationTokens": {
              "name": "generationTokens",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "generationDuration": {
              "name": "generationDuration",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "templateId": {
              "name": "templateId",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "customLayout": {
              "name": "customLayout",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "headerText": {
              "name": "headerText",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "footerText": {
              "name": "footerText",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "pdfUrl": {
              "name": "pdfUrl",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "pdfAnswerKeyUrl": {
              "name": "pdfAnswerKeyUrl",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "exportStatus": {
              "name": "exportStatus",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "downloadCount": {
              "name": "downloadCount",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "userRating": {
              "name": "userRating",
              "isArray": false,
              "type": "Float",
              "isRequired": false,
              "attributes": []
            },
            "teacherFeedback": {
              "name": "teacherFeedback",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "trainingDataApproved": {
              "name": "trainingDataApproved",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "qualityVerified": {
              "name": "qualityVerified",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            }
          },
          "syncable": true,
          "pluralName": "GeneratedWorksheets",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "id"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "generatedWorksheetsByUserIdAndCreatedAt",
                "queryField": "listGeneratedWorksheetsByUser",
                "fields": [
                  "userId",
                  "createdAt"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "generatedWorksheetsByConversationIdAndCreatedAt",
                "queryField": "listGeneratedWorksheetsByConversation",
                "fields": [
                  "conversationId",
                  "createdAt"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "generatedWorksheetsBySubjectAndCreatedAt",
                "queryField": "listGeneratedWorksheetsBySubject",
                "fields": [
                  "subject",
                  "createdAt"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "generatedWorksheetsByGradeLevelAndCreatedAt",
                "queryField": "listGeneratedWorksheetsByGrade",
                "fields": [
                  "gradeLevel",
                  "createdAt"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "provider": "userPools",
                    "ownerField": "owner",
                    "allow": "owner",
                    "identityClaim": "cognito:username",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  },
                  {
                    "allow": "private",
                    "operations": [
                      "read"
                    ]
                  },
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "WorksheetTemplate": {
          "name": "WorksheetTemplate",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "name": {
              "name": "name",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "description": {
              "name": "description",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "category": {
              "name": "category",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "layoutType": {
              "name": "layoutType",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "headerConfig": {
              "name": "headerConfig",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "questionConfig": {
              "name": "questionConfig",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "footerConfig": {
              "name": "footerConfig",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": true,
              "attributes": []
            },
            "fontFamily": {
              "name": "fontFamily",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "fontSize": {
              "name": "fontSize",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "lineSpacing": {
              "name": "lineSpacing",
              "isArray": false,
              "type": "Float",
              "isRequired": false,
              "attributes": []
            },
            "margins": {
              "name": "margins",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "colors": {
              "name": "colors",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "isPublic": {
              "name": "isPublic",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "createdBy": {
              "name": "createdBy",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "usageCount": {
              "name": "usageCount",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "averageRating": {
              "name": "averageRating",
              "isArray": false,
              "type": "Float",
              "isRequired": false,
              "attributes": []
            },
            "version": {
              "name": "version",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "isActive": {
              "name": "isActive",
              "isArray": false,
              "type": "Boolean",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            }
          },
          "syncable": true,
          "pluralName": "WorksheetTemplates",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "id"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "worksheetTemplatesByCategoryAndCreatedAt",
                "queryField": "listWorksheetTemplatesByCategory",
                "fields": [
                  "category",
                  "createdAt"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "worksheetTemplatesByCategoryAndAverageRating",
                "queryField": "listPublicWorksheetTemplates",
                "fields": [
                  "category",
                  "averageRating"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "worksheetTemplatesByCreatedByAndCreatedAt",
                "queryField": "listWorksheetTemplatesByCreator",
                "fields": [
                  "createdBy",
                  "createdAt"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "provider": "userPools",
                    "ownerField": "owner",
                    "allow": "owner",
                    "identityClaim": "cognito:username",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  },
                  {
                    "allow": "private",
                    "operations": [
                      "read"
                    ]
                  },
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "ConsentRecord": {
          "name": "ConsentRecord",
          "fields": {
            "id": {
              "name": "id",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "consentId": {
              "name": "consentId",
              "isArray": false,
              "type": "ID",
              "isRequired": true,
              "attributes": []
            },
            "userId": {
              "name": "userId",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "documentType": {
              "name": "documentType",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "documentVersion": {
              "name": "documentVersion",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "action": {
              "name": "action",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "timestamp": {
              "name": "timestamp",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "ipAddress": {
              "name": "ipAddress",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "userAgent": {
              "name": "userAgent",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "metadata": {
              "name": "metadata",
              "isArray": false,
              "type": "AWSJSON",
              "isRequired": false,
              "attributes": []
            },
            "ttl": {
              "name": "ttl",
              "isArray": false,
              "type": "Int",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": [],
              "isReadOnly": true
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": [],
              "isReadOnly": true
            }
          },
          "syncable": true,
          "pluralName": "ConsentRecords",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "id"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "consentRecordsByUserIdAndTimestamp",
                "queryField": "listConsentRecordsByUser",
                "fields": [
                  "userId",
                  "timestamp"
                ]
              }
            },
            {
              "type": "key",
              "properties": {
                "name": "consentRecordsByDocumentTypeAndTimestamp",
                "queryField": "listConsentRecordsByDocumentType",
                "fields": [
                  "documentType",
                  "timestamp"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "allow": "private",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  },
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": false,
            "primaryKeyFieldName": "id",
            "sortKeyFieldNames": []
          }
        },
        "TermsVersionConfig": {
          "name": "TermsVersionConfig",
          "fields": {
            "documentType": {
              "name": "documentType",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "currentVersion": {
              "name": "currentVersion",
              "isArray": false,
              "type": "String",
              "isRequired": true,
              "attributes": []
            },
            "effectiveDate": {
              "name": "effectiveDate",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": true,
              "attributes": []
            },
            "previousVersion": {
              "name": "previousVersion",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "changelogSummary": {
              "name": "changelogSummary",
              "isArray": false,
              "type": "String",
              "isRequired": false,
              "attributes": []
            },
            "createdAt": {
              "name": "createdAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": [],
              "isReadOnly": true
            },
            "updatedAt": {
              "name": "updatedAt",
              "isArray": false,
              "type": "AWSDateTime",
              "isRequired": false,
              "attributes": [],
              "isReadOnly": true
            }
          },
          "syncable": true,
          "pluralName": "TermsVersionConfigs",
          "attributes": [
            {
              "type": "model",
              "properties": {}
            },
            {
              "type": "key",
              "properties": {
                "fields": [
                  "documentType"
                ]
              }
            },
            {
              "type": "auth",
              "properties": {
                "rules": [
                  {
                    "allow": "public",
                    "provider": "apiKey",
                    "operations": [
                      "create",
                      "update",
                      "delete",
                      "read"
                    ]
                  }
                ]
              }
            }
          ],
          "primaryKeyInfo": {
            "isCustomPrimaryKey": true,
            "primaryKeyFieldName": "documentType",
            "sortKeyFieldNames": []
          }
        }
      },
      "enums": {
        "ParentFlagFlagReason": {
          "name": "ParentFlagFlagReason",
          "values": [
            "inappropriate_content",
            "safety_concern",
            "off_topic",
            "other"
          ]
        },
        "ParentFlagSeverity": {
          "name": "ParentFlagSeverity",
          "values": [
            "low",
            "medium",
            "high"
          ]
        },
        "ParentFlagReviewStatus": {
          "name": "ParentFlagReviewStatus",
          "values": [
            "pending",
            "reviewed",
            "dismissed"
          ]
        },
        "LearningProgressEngagementLevel": {
          "name": "LearningProgressEngagementLevel",
          "values": [
            "LOW",
            "MEDIUM",
            "HIGH",
            "VERY_HIGH"
          ]
        }
      },
      "nonModels": {}
    }
  },
  "storage": {
    "aws_region": "ap-southeast-1",
    "bucket_name": "amplify-eduqaitutor-rwkb--eduquploadsbucketa72fbb0-lebkydo80kxk",
    "buckets": [
      {
        "name": "eduqUploads",
        "bucket_name": "amplify-eduqaitutor-rwkb--eduquploadsbucketa72fbb0-lebkydo80kxk",
        "aws_region": "ap-southeast-1",
        "paths": {
          "uploads/${cognito-identity.amazonaws.com:sub}/*": {
            "entityidentity": [
              "get",
              "list",
              "write",
              "delete"
            ]
          },
          "processed/${cognito-identity.amazonaws.com:sub}/*": {
            "entityidentity": [
              "get",
              "list",
              "write"
            ]
          },
          "thumbnails/${cognito-identity.amazonaws.com:sub}/*": {
            "entityidentity": [
              "get",
              "list"
            ]
          }
        }
      }
    ]
  },
  "version": "1.4"
}