{
"event": "PreToolUse",
"tool_name": "Write",
"tool_input": {
"file_path": "\/var\/www\/migration\/content-pipeline\/src\/enums.py",
"content": "\"\"\"\nStatus Enums for Pipeline.\n\nReplaces magic strings with type-safe enums.\nSOLID: Single source of truth for all status values.\n\"\"\"\n\nfrom enum import Enum\n\n\nclass DocumentStatus(str, Enum):\n \"\"\"Document processing status.\"\"\"\n\n PENDING = \"pending\"\n PROCESSING = \"processing\"\n EMBEDDED = \"embedded\"\n DONE = \"done\"\n DUPLICATE = \"duplicate\"\n ERROR = \"error\"\n\n def __str__(self) -> str:\n return self.value\n\n\nclass QueueStatus(str, Enum):\n \"\"\"Pipeline queue item status.\"\"\"\n\n PENDING = \"pending\"\n PROCESSING = \"processing\"\n COMPLETED = \"completed\"\n FAILED = \"failed\"\n CANCELLED = \"cancelled\"\n\n def __str__(self) -> str:\n return self.value\n\n\nclass SemanticStatus(str, Enum):\n \"\"\"Semantic analysis status.\"\"\"\n\n PENDING = \"pending\"\n QUEUED = \"queued\"\n PROCESSING = \"processing\"\n DONE = \"done\"\n ERROR = \"error\"\n\n def __str__(self) -> str:\n return self.value\n\n\nclass ContentOrderStatus(str, Enum):\n \"\"\"Content order\/generation status.\"\"\"\n\n DRAFT = \"draft\"\n PENDING = \"pending\"\n GENERATING = \"generating\"\n CRITIQUE = \"critique\"\n REVISION = \"revision\"\n VALIDATE = \"validate\"\n COMPLETED = \"completed\"\n FAILED = \"failed\"\n\n def __str__(self) -> str:\n return self.value\n\n\nclass PipelineRunStatus(str, Enum):\n \"\"\"Pipeline run status.\"\"\"\n\n PENDING = \"pending\"\n RUNNING = \"running\"\n COMPLETED = \"completed\"\n FAILED = \"failed\"\n CANCELLED = \"cancelled\"\n\n def __str__(self) -> str:\n return self.value\n\n\nclass Sentiment(str, Enum):\n \"\"\"Sentiment analysis result.\"\"\"\n\n POSITIVE = \"positive\"\n NEGATIVE = \"negative\"\n NEUTRAL = \"neutral\"\n MIXED = \"mixed\"\n\n def __str__(self) -> str:\n return self.value\n\n\nclass LLMProvider(str, Enum):\n \"\"\"LLM provider types.\"\"\"\n\n OLLAMA = \"ollama\"\n ANTHROPIC = \"anthropic\"\n OPENAI = \"openai\"\n\n def __str__(self) -> str:\n return self.value\n"
}
}
{
"tool_response": {
"type": "create",
"filePath": "\/var\/www\/migration\/content-pipeline\/src\/enums.py",
"content": "\"\"\"\nStatus Enums for Pipeline.\n\nReplaces magic strings with type-safe enums.\nSOLID: Single source of truth for all status values.\n\"\"\"\n\nfrom enum import Enum\n\n\nclass DocumentStatus(str, Enum):\n \"\"\"Document processing status.\"\"\"\n\n PENDING = \"pending\"\n PROCESSING = \"processing\"\n EMBEDDED = \"embedded\"\n DONE = \"done\"\n DUPLICATE = \"duplicate\"\n ERROR = \"error\"\n\n def __str__(self) -> str:\n return self.value\n\n\nclass QueueStatus(str, Enum):\n \"\"\"Pipeline queue item status.\"\"\"\n\n PENDING = \"pending\"\n PROCESSING = \"processing\"\n COMPLETED = \"completed\"\n FAILED = \"failed\"\n CANCELLED = \"cancelled\"\n\n def __str__(self) -> str:\n return self.value\n\n\nclass SemanticStatus(str, Enum):\n \"\"\"Semantic analysis status.\"\"\"\n\n PENDING = \"pending\"\n QUEUED = \"queued\"\n PROCESSING = \"processing\"\n DONE = \"done\"\n ERROR = \"error\"\n\n def __str__(self) -> str:\n return self.value\n\n\nclass ContentOrderStatus(str, Enum):\n \"\"\"Content order\/generation status.\"\"\"\n\n DRAFT = \"draft\"\n PENDING = \"pending\"\n GENERATING = \"generating\"\n CRITIQUE = \"critique\"\n REVISION = \"revision\"\n VALIDATE = \"validate\"\n COMPLETED = \"completed\"\n FAILED = \"failed\"\n\n def __str__(self) -> str:\n return self.value\n\n\nclass PipelineRunStatus(str, Enum):\n \"\"\"Pipeline run status.\"\"\"\n\n PENDING = \"pending\"\n RUNNING = \"running\"\n COMPLETED = \"completed\"\n FAILED = \"failed\"\n CANCELLED = \"cancelled\"\n\n def __str__(self) -> str:\n return self.value\n\n\nclass Sentiment(str, Enum):\n \"\"\"Sentiment analysis result.\"\"\"\n\n POSITIVE = \"positive\"\n NEGATIVE = \"negative\"\n NEUTRAL = \"neutral\"\n MIXED = \"mixed\"\n\n def __str__(self) -> str:\n return self.value\n\n\nclass LLMProvider(str, Enum):\n \"\"\"LLM provider types.\"\"\"\n\n OLLAMA = \"ollama\"\n ANTHROPIC = \"anthropic\"\n OPENAI = \"openai\"\n\n def __str__(self) -> str:\n return self.value\n",
"structuredPatch": [],
"originalFile": null
}
}