Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -168,3 +168,7 @@
# YOUTUBE_TEST_THUMBNAIL_PATH=
# Video ID owned by the authenticated user (required by moderate_comment, which only works on your own channel)
# YOUTUBE_TEST_OWNED_VIDEO_ID=

# -- Grammarly --
# GRAMMARLY_CLIENT_ID=
# GRAMMARLY_CLIENT_SECRET=
174 changes: 89 additions & 85 deletions grammarly/config.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Grammarly",
"display_name": "Grammarly",
"version": "1.0.0",
"version": "2.0.0",
"description": "Grammarly integration for writing quality assessment, AI detection, plagiarism checking, and analytics. Includes Writing Score API, Analytics API, AI Detection API, and Plagiarism Detection API.",
"entry_point": "grammarly.py",
"auth": {
Expand Down Expand Up @@ -40,25 +40,20 @@
"description": "The text content of the file to analyze"
}
},
"required": ["filename", "file_content"]
"required": [
"filename",
"file_content"
]
},
"output_schema": {
"type": "object",
"properties": {
"score_request_id": {
"type": "string",
"description": "Unique identifier to retrieve the analysis results"
},
"result": {
"type": "boolean",
"description": "Whether the operation was successful"
},
"error": {
"type": "string",
"description": "Error message if the action failed"
}
},
"required": ["result"]
"required": []
}
},
"get_writing_score_results": {
Expand All @@ -72,46 +67,59 @@
"description": "The score request ID from create_writing_score_request"
}
},
"required": ["score_request_id"]
"required": [
"score_request_id"
]
},
"output_schema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the scoring request: PENDING, COMPLETED, or FAILED",
"enum": ["PENDING", "COMPLETED", "FAILED"]
"enum": [
"PENDING",
"COMPLETED",
"FAILED"
]
},
"general_score": {
"type": ["number", "null"],
"type": [
"number",
"null"
],
"description": "Overall writing quality score (null if status is PENDING or FAILED)"
},
"engagement": {
"type": ["number", "null"],
"type": [
"number",
"null"
],
"description": "Engagement score (null if status is PENDING or FAILED)"
},
"correctness": {
"type": ["number", "null"],
"type": [
"number",
"null"
],
"description": "Correctness score (null if status is PENDING or FAILED)"
},
"delivery": {
"type": ["number", "null"],
"type": [
"number",
"null"
],
"description": "Delivery score (null if status is PENDING or FAILED)"
},
"clarity": {
"type": ["number", "null"],
"type": [
"number",
"null"
],
"description": "Clarity score (null if status is PENDING or FAILED)"
},
"result": {
"type": "boolean",
"description": "Whether the operation was successful"
},
"error": {
"type": "string",
"description": "Error message if the action failed"
}
},
"required": ["result"]
"required": []
}
},
"get_user_analytics": {
Expand Down Expand Up @@ -139,7 +147,10 @@
"maximum": 400
}
},
"required": ["date_from", "date_to"]
"required": [
"date_from",
"date_to"
]
},
"output_schema": {
"type": "object",
Expand All @@ -151,7 +162,10 @@
"type": "object",
"properties": {
"id": {
"type": ["string", "number"],
"type": [
"string",
"number"
],
"description": "Unique user identifier"
},
"name": {
Expand Down Expand Up @@ -198,17 +212,9 @@
"description": "Number of items in current page"
}
}
},
"result": {
"type": "boolean",
"description": "Whether the operation was successful"
},
"error": {
"type": "string",
"description": "Error message if the action failed"
}
},
"required": ["result"]
"required": []
}
},
"analyze_ai_detection": {
Expand All @@ -226,25 +232,20 @@
"description": "The text content of the file to analyze"
}
},
"required": ["filename", "file_content"]
"required": [
"filename",
"file_content"
]
},
"output_schema": {
"type": "object",
"properties": {
"score_request_id": {
"type": "string",
"description": "Unique identifier to retrieve the analysis results"
},
"result": {
"type": "boolean",
"description": "Whether the operation was successful"
},
"error": {
"type": "string",
"description": "Error message if the action failed"
}
},
"required": ["result"]
"required": []
}
},
"get_ai_detection_results": {
Expand All @@ -258,38 +259,42 @@
"description": "The score request ID from create_ai_detection_request"
}
},
"required": ["score_request_id"]
"required": [
"score_request_id"
]
},
"output_schema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the detection request: PENDING, COMPLETED, or FAILED",
"enum": ["PENDING", "COMPLETED", "FAILED"]
"enum": [
"PENDING",
"COMPLETED",
"FAILED"
]
},
"average_confidence": {
"type": ["number", "null"],
"type": [
"number",
"null"
],
"description": "Confidence level of the AI detection (0-1 scale, null if status is PENDING or FAILED)"
},
"ai_generated_percentage": {
"type": ["number", "null"],
"type": [
"number",
"null"
],
"description": "Percentage of text that appears to be AI-generated (0-100, null if status is PENDING or FAILED)"
},
"updated_at": {
"type": "string",
"description": "Timestamp when the result was last updated"
},
"result": {
"type": "boolean",
"description": "Whether the operation was successful"
},
"error": {
"type": "string",
"description": "Error message if the action failed"
}
},
"required": ["result"]
"required": []
}
},
"analyze_plagiarism_detection": {
Expand All @@ -307,25 +312,20 @@
"description": "The text content of the file to analyze"
}
},
"required": ["filename", "file_content"]
"required": [
"filename",
"file_content"
]
},
"output_schema": {
"type": "object",
"properties": {
"score_request_id": {
"type": "string",
"description": "Unique identifier to retrieve the analysis results"
},
"result": {
"type": "boolean",
"description": "Whether the operation was successful"
},
"error": {
"type": "string",
"description": "Error message if the action failed"
}
},
"required": ["result"]
"required": []
}
},
"get_plagiarism_detection_results": {
Expand All @@ -339,39 +339,43 @@
"description": "The score request ID from create_plagiarism_detection_request"
}
},
"required": ["score_request_id"]
"required": [
"score_request_id"
]
},
"output_schema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the detection request: PENDING, COMPLETED, or FAILED",
"enum": ["PENDING", "COMPLETED", "FAILED"]
"enum": [
"PENDING",
"COMPLETED",
"FAILED"
]
},
"originality_score": {
"type": ["number", "null"],
"type": [
"number",
"null"
],
"description": "Originality score (higher means more original, null if status is PENDING or FAILED)"
},
"plagiarism_percentage": {
"type": ["number", "null"],
"type": [
"number",
"null"
],
"description": "Percentage of text that appears to be plagiarized (0-100, null if status is PENDING or FAILED)"
},
"updated_at": {
"type": "string",
"description": "Timestamp when the result was last updated"
},
"result": {
"type": "boolean",
"description": "Whether the operation was successful"
},
"error": {
"type": "string",
"description": "Error message if the action failed"
}
},
"required": ["result"]
"required": []
}
}
}
}
}
Loading
Loading