Files

1 line
21 KiB
JSON

{"repo": "bixat/django-langgraph-agent", "files": {"example_project/settings.py": {"5a1d6271872c535ab55cce5b2f776cd81193d676": {"t": 1785746910.7161736, "n": 5872, "h": "3141c68a5d4d5573", "c": "\"\"\"\nexample_project/settings.py\n\nMinimal Django settings for testing django-langgraph-agent with Django Unfold admin theme.\n\"\"\"\n\nimport os\nfrom pathlib import Path\n\nBASE_DIR = Path(__file__).resolve().parent\n\nSECRET_KEY = \"django-insecure-example-key-do-not-use-in-production\"\nDEBUG = True\nALLOWED_HOSTS = [\"*\"]\n\nINSTALLED_APPS = [\n # Unfold admin theme must be placed before django.contrib.admin\n \"unfold\",\n \"unfold.contrib.filters\",\n \"unfold.contrib.forms\",\n \"unfold.contrib.inlines\",\n \n \"django.contrib.admin\",\n \"django.contrib.auth\",\n \"django.contrib.contenttypes\",\n \"django.contrib.sessions\",\n \"django.contrib.messages\",\n \"django.contrib.staticfiles\",\n \n \"django_ai_agent\",\n \"example_project.store\", # Our example store app\n]\n\nDATABASES = {\n \"default\": {\n \"ENGINE\": \"django.db.backends.sqlite3\",\n \"NAME\": BASE_DIR / \"db.sqlite3\",\n }\n}\n\n# ──────────────────────────────────────────────────────────────────────────────\n# django-langgraph-agent Configuration\n# ──────────────────────────────────────────────────────────────────────────────\nDJANGO_AI_AGENT = {\n \"OPENROUTER_API_KEY\": \"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\",\n \"DEFAULT_MODEL\": \"google/gemini-2.5-flash-preview\",\n \"FALLBACK_MODELS\": [\n \"google/gemini-2.5-flash\",\n \"deepseek/deepseek-chat\",\n ],\n \"SUMMARIZER_MODEL\": \"deepseek/deepseek-chat\",\n \"MAX_TOKENS\": 800,\n \"SUMMARY_THRESHOLD\": 6,\n \"SITE_URL\": \"http://localhost:8000\",\n \"SITE_TITLE\": \"Example Store Agent\",\n \"APPROVAL_REQUIRED_TOOLS\": [\"add_record\", \"update_record\"],\n \"PERSIST_MESSAGES\": True,\n \"MODEL_WHITELIST\": {\n \"User\": {\n \"app_label\": \"auth\",\n \"display_name\": \"User\",\n \"fields\": [\"id\", \"username\", \"email\", \"first_name\", \"last_name\", \"is_active\", \"is_staff\"],\n },\n \"Product\": {\n \"app_label\": \"store\",\n \"display_name\": \"Store Product\",\n \"fields\": [\"id\", \"name\", \"price\", \"category\", \"stock\", \"is_active\"],\n },\n \"Order\": {\n \"app_label\": \"store\",\n \"display_name\": \"Customer Order\",\n \"exclude_fields\": [\"payment_reference\", \"internal_notes\", \"cost_breakdown\"],\n },\n },\n \"BLOCKED_FIELD_SUBSTRINGS\": [\n \"password\", \"token\", \"secret\", \"is_superuser\", \"is_staff\",\n ],\n}\n\n# ──────────────────────────────────────────────────────────────────────────────\n# Django Unfold Configuration\n# ──────────────────────────────────────────────────────────────────────────────\nUNFOLD = {\n \"SITE_TITLE\": \"Django AI Agent Admin\",\n \"SITE_HEADER\": \"Django AI Agent Dashboard\",\n \"SITE_URL\": \"/admin/\",\n \"SHOW_HISTORY\": True,\n \"SIDEBAR\": {\n \"show_search\": True,\n \"show_all_applications\": True,\n \"navigation\": [\n {\n \"title\": \"🤖 AI Agents & Conversations\",\n \"separator\": True,\n \"items\": [\n {\n \"title\": \"Admin AI Chat Workspace\",\n \"icon\": \"forum\",\n \"link\": lambda request: \"/admin/ai-chat/\",\n },\n {\n \"title\": \"Agent Configurations\",\n \"icon\": \"smart_toy\",\n \"link\": lambda request: \"/admin/django_ai_agent/agentconfig/\",\n },\n {\n \"title\": \"Chat Threads\",\n \"icon\": \"chat\",\n \"link\": lambda request: \"/admin/django_ai_agent/chatthread/\",\n },\n {\n \"title\": \"Chat Messages Log\",\n \"icon\": \"chat_bubble\",\n \"link\": lambda request: \"/admin/django_ai_agent/chatmessage/\",\n },\n ],\n },\n {\n \"title\": \"🛍️ Store Management\",\n \"separator\": True,\n \"items\": [\n {\n \"title\": \"Products\",\n \"icon\": \"inventory_2\",\n \"link\": lambda request: \"/admin/store/product/\",\n },\n {\n \"title\": \"Orders\",\n \"icon\": \"shopping_cart\",\n \"link\": lambda request: \"/admin/store/order/\",\n },\n ],\n },\n ],\n },\n}\n\nMIDDLEWARE = [\n \"django.middleware.security.SecurityMiddleware\",\n \"django.contrib.sessions.middleware.SessionMiddleware\",\n \"django.middleware.common.CommonMiddleware\",\n \"django.middleware.csrf.CsrfViewMiddleware\",\n \"django.contrib.auth.middleware.AuthenticationMiddleware\",\n \"django.contrib.messages.middleware.MessageMiddleware\",\n \"django.middleware.clickjacking.XFrameOptionsMiddleware\",\n]\n\nDEFAULT_AUTO_FIELD = \"django.db.models.BigAutoField\"\nSTATIC_URL = \"static/\"\nUSE_TZ = True\nTIME_ZONE = \"UTC\"\nROOT_URLCONF = \"example_project.urls\"\n\nTEMPLATES = [\n {\n \"BACKEND\": \"django.template.backends.django.DjangoTemplates\",\n \"DIRS\": [],\n \"APP_DIRS\": True,\n \"OPTIONS\": {\n \"context_processors\": [\n \"django.template.context_processors.debug\",\n \"django.template.context_processors.request\",\n \"django.contrib.auth.context_processors.auth\",\n \"django.contrib.messages.context_processors.messages\",\n ],\n },\n }\n]\n\nLOGGING = {\n \"version\": 1,\n \"disable_existing_loggers\": False,\n \"handlers\": {\"console\": {\"class\": \"logging.StreamHandler\"}},\n \"root\": {\"handlers\": [\"console\"], \"level\": \"INFO\"},\n \"loggers\": {\n \"django_ai_agent\": {\"handlers\": [\"console\"], \"level\": \"DEBUG\", \"propagate\": False},\n },\n}\n"}, "8fccc5f7fcb092f569f8de1c272334a628ef09b4": {"t": 1785768833.9109576, "n": 5914, "h": "e6e05a5a85e687be", "c": "\"\"\"\nexample_project/settings.py\n\nMinimal Django settings for testing django-langgraph-agent with Django Unfold admin theme.\n\"\"\"\n\nimport os\nfrom pathlib import Path\n\nBASE_DIR = Path(__file__).resolve().parent\n\nSECRET_KEY = \"django-insecure-example-key-do-not-use-in-production\"\nDEBUG = True\nALLOWED_HOSTS = [\"*\"]\n\nINSTALLED_APPS = [\n # Unfold admin theme must be placed before django.contrib.admin\n \"unfold\",\n \"unfold.contrib.filters\",\n \"unfold.contrib.forms\",\n \"unfold.contrib.inlines\",\n \n \"django.contrib.admin\",\n \"django.contrib.auth\",\n \"django.contrib.contenttypes\",\n \"django.contrib.sessions\",\n \"django.contrib.messages\",\n \"django.contrib.staticfiles\",\n \n \"django_langgraph_agent\",\n \"example_project.store\", # Our example store app\n]\n\nDATABASES = {\n \"default\": {\n \"ENGINE\": \"django.db.backends.sqlite3\",\n \"NAME\": BASE_DIR / \"db.sqlite3\",\n }\n}\n\n# ──────────────────────────────────────────────────────────────────────────────\n# django-langgraph-agent Configuration\n# ──────────────────────────────────────────────────────────────────────────────\nDJANGO_LANGGRAPH_AGENT = {\n \"OPENROUTER_API_KEY\": \"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\",\n \"DEFAULT_MODEL\": \"google/gemini-2.5-flash-preview\",\n \"FALLBACK_MODELS\": [\n \"google/gemini-2.5-flash\",\n \"deepseek/deepseek-chat\",\n ],\n \"SUMMARIZER_MODEL\": \"deepseek/deepseek-chat\",\n \"MAX_TOKENS\": 800,\n \"SUMMARY_THRESHOLD\": 6,\n \"SITE_URL\": \"http://localhost:8000\",\n \"SITE_TITLE\": \"Example Store Agent\",\n \"APPROVAL_REQUIRED_TOOLS\": [\"add_record\", \"update_record\"],\n \"PERSIST_MESSAGES\": True,\n \"MODEL_WHITELIST\": {\n \"User\": {\n \"app_label\": \"auth\",\n \"display_name\": \"User\",\n \"fields\": [\"id\", \"username\", \"email\", \"first_name\", \"last_name\", \"is_active\", \"is_staff\"],\n },\n \"Product\": {\n \"app_label\": \"store\",\n \"display_name\": \"Store Product\",\n \"fields\": [\"id\", \"name\", \"price\", \"category\", \"stock\", \"is_active\"],\n },\n \"Order\": {\n \"app_label\": \"store\",\n \"display_name\": \"Customer Order\",\n \"exclude_fields\": [\"payment_reference\", \"internal_notes\", \"cost_breakdown\"],\n },\n },\n \"BLOCKED_FIELD_SUBSTRINGS\": [\n \"password\", \"token\", \"secret\", \"is_superuser\", \"is_staff\",\n ],\n}\n\n# ──────────────────────────────────────────────────────────────────────────────\n# Django Unfold Configuration\n# ──────────────────────────────────────────────────────────────────────────────\nUNFOLD = {\n \"SITE_TITLE\": \"Django AI Agent Admin\",\n \"SITE_HEADER\": \"Django AI Agent Dashboard\",\n \"SITE_URL\": \"/admin/\",\n \"SHOW_HISTORY\": True,\n \"SIDEBAR\": {\n \"show_search\": True,\n \"show_all_applications\": True,\n \"navigation\": [\n {\n \"title\": \"🤖 AI Agents & Conversations\",\n \"separator\": True,\n \"items\": [\n {\n \"title\": \"Admin AI Chat Workspace\",\n \"icon\": \"forum\",\n \"link\": lambda request: \"/admin/ai-chat/\",\n },\n {\n \"title\": \"Agent Configurations\",\n \"icon\": \"smart_toy\",\n \"link\": lambda request: \"/admin/django_langgraph_agent/agentconfig/\",\n },\n {\n \"title\": \"Chat Threads\",\n \"icon\": \"chat\",\n \"link\": lambda request: \"/admin/django_langgraph_agent/chatthread/\",\n },\n {\n \"title\": \"Chat Messages Log\",\n \"icon\": \"chat_bubble\",\n \"link\": lambda request: \"/admin/django_langgraph_agent/chatmessage/\",\n },\n ],\n },\n {\n \"title\": \"🛍️ Store Management\",\n \"separator\": True,\n \"items\": [\n {\n \"title\": \"Products\",\n \"icon\": \"inventory_2\",\n \"link\": lambda request: \"/admin/store/product/\",\n },\n {\n \"title\": \"Orders\",\n \"icon\": \"shopping_cart\",\n \"link\": lambda request: \"/admin/store/order/\",\n },\n ],\n },\n ],\n },\n}\n\nMIDDLEWARE = [\n \"django.middleware.security.SecurityMiddleware\",\n \"django.contrib.sessions.middleware.SessionMiddleware\",\n \"django.middleware.common.CommonMiddleware\",\n \"django.middleware.csrf.CsrfViewMiddleware\",\n \"django.contrib.auth.middleware.AuthenticationMiddleware\",\n \"django.contrib.messages.middleware.MessageMiddleware\",\n \"django.middleware.clickjacking.XFrameOptionsMiddleware\",\n]\n\nDEFAULT_AUTO_FIELD = \"django.db.models.BigAutoField\"\nSTATIC_URL = \"static/\"\nUSE_TZ = True\nTIME_ZONE = \"UTC\"\nROOT_URLCONF = \"example_project.urls\"\n\nTEMPLATES = [\n {\n \"BACKEND\": \"django.template.backends.django.DjangoTemplates\",\n \"DIRS\": [],\n \"APP_DIRS\": True,\n \"OPTIONS\": {\n \"context_processors\": [\n \"django.template.context_processors.debug\",\n \"django.template.context_processors.request\",\n \"django.contrib.auth.context_processors.auth\",\n \"django.contrib.messages.context_processors.messages\",\n ],\n },\n }\n]\n\nLOGGING = {\n \"version\": 1,\n \"disable_existing_loggers\": False,\n \"handlers\": {\"console\": {\"class\": \"logging.StreamHandler\"}},\n \"root\": {\"handlers\": [\"console\"], \"level\": \"INFO\"},\n \"loggers\": {\n \"django_langgraph_agent\": {\"handlers\": [\"console\"], \"level\": \"DEBUG\", \"propagate\": False},\n },\n}\n"}, "46a6a55971e551483f8ccf8d8c58f49b3c0e6467": {"t": 1785768835.062974, "n": 5872, "h": "3141c68a5d4d5573", "c": "\"\"\"\nexample_project/settings.py\n\nMinimal Django settings for testing django-langgraph-agent with Django Unfold admin theme.\n\"\"\"\n\nimport os\nfrom pathlib import Path\n\nBASE_DIR = Path(__file__).resolve().parent\n\nSECRET_KEY = \"django-insecure-example-key-do-not-use-in-production\"\nDEBUG = True\nALLOWED_HOSTS = [\"*\"]\n\nINSTALLED_APPS = [\n # Unfold admin theme must be placed before django.contrib.admin\n \"unfold\",\n \"unfold.contrib.filters\",\n \"unfold.contrib.forms\",\n \"unfold.contrib.inlines\",\n \n \"django.contrib.admin\",\n \"django.contrib.auth\",\n \"django.contrib.contenttypes\",\n \"django.contrib.sessions\",\n \"django.contrib.messages\",\n \"django.contrib.staticfiles\",\n \n \"django_ai_agent\",\n \"example_project.store\", # Our example store app\n]\n\nDATABASES = {\n \"default\": {\n \"ENGINE\": \"django.db.backends.sqlite3\",\n \"NAME\": BASE_DIR / \"db.sqlite3\",\n }\n}\n\n# ──────────────────────────────────────────────────────────────────────────────\n# django-langgraph-agent Configuration\n# ──────────────────────────────────────────────────────────────────────────────\nDJANGO_AI_AGENT = {\n \"OPENROUTER_API_KEY\": \"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\",\n \"DEFAULT_MODEL\": \"google/gemini-2.5-flash-preview\",\n \"FALLBACK_MODELS\": [\n \"google/gemini-2.5-flash\",\n \"deepseek/deepseek-chat\",\n ],\n \"SUMMARIZER_MODEL\": \"deepseek/deepseek-chat\",\n \"MAX_TOKENS\": 800,\n \"SUMMARY_THRESHOLD\": 6,\n \"SITE_URL\": \"http://localhost:8000\",\n \"SITE_TITLE\": \"Example Store Agent\",\n \"APPROVAL_REQUIRED_TOOLS\": [\"add_record\", \"update_record\"],\n \"PERSIST_MESSAGES\": True,\n \"MODEL_WHITELIST\": {\n \"User\": {\n \"app_label\": \"auth\",\n \"display_name\": \"User\",\n \"fields\": [\"id\", \"username\", \"email\", \"first_name\", \"last_name\", \"is_active\", \"is_staff\"],\n },\n \"Product\": {\n \"app_label\": \"store\",\n \"display_name\": \"Store Product\",\n \"fields\": [\"id\", \"name\", \"price\", \"category\", \"stock\", \"is_active\"],\n },\n \"Order\": {\n \"app_label\": \"store\",\n \"display_name\": \"Customer Order\",\n \"exclude_fields\": [\"payment_reference\", \"internal_notes\", \"cost_breakdown\"],\n },\n },\n \"BLOCKED_FIELD_SUBSTRINGS\": [\n \"password\", \"token\", \"secret\", \"is_superuser\", \"is_staff\",\n ],\n}\n\n# ──────────────────────────────────────────────────────────────────────────────\n# Django Unfold Configuration\n# ──────────────────────────────────────────────────────────────────────────────\nUNFOLD = {\n \"SITE_TITLE\": \"Django AI Agent Admin\",\n \"SITE_HEADER\": \"Django AI Agent Dashboard\",\n \"SITE_URL\": \"/admin/\",\n \"SHOW_HISTORY\": True,\n \"SIDEBAR\": {\n \"show_search\": True,\n \"show_all_applications\": True,\n \"navigation\": [\n {\n \"title\": \"🤖 AI Agents & Conversations\",\n \"separator\": True,\n \"items\": [\n {\n \"title\": \"Admin AI Chat Workspace\",\n \"icon\": \"forum\",\n \"link\": lambda request: \"/admin/ai-chat/\",\n },\n {\n \"title\": \"Agent Configurations\",\n \"icon\": \"smart_toy\",\n \"link\": lambda request: \"/admin/django_ai_agent/agentconfig/\",\n },\n {\n \"title\": \"Chat Threads\",\n \"icon\": \"chat\",\n \"link\": lambda request: \"/admin/django_ai_agent/chatthread/\",\n },\n {\n \"title\": \"Chat Messages Log\",\n \"icon\": \"chat_bubble\",\n \"link\": lambda request: \"/admin/django_ai_agent/chatmessage/\",\n },\n ],\n },\n {\n \"title\": \"🛍️ Store Management\",\n \"separator\": True,\n \"items\": [\n {\n \"title\": \"Products\",\n \"icon\": \"inventory_2\",\n \"link\": lambda request: \"/admin/store/product/\",\n },\n {\n \"title\": \"Orders\",\n \"icon\": \"shopping_cart\",\n \"link\": lambda request: \"/admin/store/order/\",\n },\n ],\n },\n ],\n },\n}\n\nMIDDLEWARE = [\n \"django.middleware.security.SecurityMiddleware\",\n \"django.contrib.sessions.middleware.SessionMiddleware\",\n \"django.middleware.common.CommonMiddleware\",\n \"django.middleware.csrf.CsrfViewMiddleware\",\n \"django.contrib.auth.middleware.AuthenticationMiddleware\",\n \"django.contrib.messages.middleware.MessageMiddleware\",\n \"django.middleware.clickjacking.XFrameOptionsMiddleware\",\n]\n\nDEFAULT_AUTO_FIELD = \"django.db.models.BigAutoField\"\nSTATIC_URL = \"static/\"\nUSE_TZ = True\nTIME_ZONE = \"UTC\"\nROOT_URLCONF = \"example_project.urls\"\n\nTEMPLATES = [\n {\n \"BACKEND\": \"django.template.backends.django.DjangoTemplates\",\n \"DIRS\": [],\n \"APP_DIRS\": True,\n \"OPTIONS\": {\n \"context_processors\": [\n \"django.template.context_processors.debug\",\n \"django.template.context_processors.request\",\n \"django.contrib.auth.context_processors.auth\",\n \"django.contrib.messages.context_processors.messages\",\n ],\n },\n }\n]\n\nLOGGING = {\n \"version\": 1,\n \"disable_existing_loggers\": False,\n \"handlers\": {\"console\": {\"class\": \"logging.StreamHandler\"}},\n \"root\": {\"handlers\": [\"console\"], \"level\": \"INFO\"},\n \"loggers\": {\n \"django_ai_agent\": {\"handlers\": [\"console\"], \"level\": \"DEBUG\", \"propagate\": False},\n },\n}\n"}}}}