Files
OpenCode 68a9071cf1 feat: reconcile local master with origin (exa/hot-platform hunters, leaks ledger, latest results)
Local branch had diverged from origin/master (sibling commits on the same base). Rewrote local history linearly on top of origin/master, folding in all local content: exa/hot-platform discovery hunters, leaks ledger, nightly sweep orchestrator, updated .gitignore and skill docs, plus the latest hunt output and vault state. Remote-only files (vault keys, channel scripts) were restored rather than dropped, so the resulting tree is a full union of both sides.
2026-08-07 12:53:47 +08:00

1 line
49 KiB
JSON
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"repo": "0odonkihooto0/komplid2", "files": {".env.example": {"c4429ff0161f5fa2dc9e3b4e754bb3740a35ec17": {"t": 1785746753.4205246, "n": 3360, "h": "a8af6de39eaf0801", "c": "# Timeweb Cloud S3\nS3_ENDPOINT=https://s3.twcstorage.ru\nS3_REGION=ru-1\nS3_BUCKET=your_bucket_name\nS3_ACCESS_KEY=your_s3_access_key\nS3_SECRET_KEY=your_s3_secret_key\n\n# Timeweb Managed PostgreSQL\nDATABASE_URL=postgresql://user:password@localhost:5432/stroydocs\n\n# Timeweb Managed Redis\nREDIS_URL=redis://localhost:6379\n\n# Yandex Cloud (YandexGPT парсинг смет)\nYANDEX_GPT_API_KEY=your_yandex_gpt_api_key_here\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\nYANDEX_GPT_MODEL=yandexgpt/latest\nYANDEX_CLOUD_API_KEY=your_yandex_cloud_api_key_here\n\n# Yandex AI Studio (OpenAI-совместимый API) — структуризация OCR (P2), ассистент (P5).\n# YANDEX_FOLDER_ID должен соответствовать каталогу сервис-аккаунта API-ключа.\n# Модель по умолчанию — DeepSeek V4 Flash (reasoning: ответ в message.content, нужен запас max_tokens).\nYANDEX_AI_BASE_URL=https://ai.api.cloud.yandex.net/v1\nYANDEX_LLM_MODEL=deepseek-v4-flash\n# RAG / эмбеддинги (F2). Провайдер векторизации: yandex (RF-облако, ФЗ-152, по умолчанию) | local (on-prem, задел).\n# Yandex использует YANDEX_CLOUD_API_KEY + YANDEX_FOLDER_ID (выше). Размерность вектора — 256 (text-search).\nEMBEDDING_PROVIDER=yandex\n\n# NextAuth\nNEXTAUTH_SECRET=your_nextauth_secret_min_32_chars\nNEXTAUTH_URL=http://localhost:3000\n\n# Cron endpoints (Bearer token for automated schedulers)\nCRON_SECRET=your-cron-secret-change-in-production\n\n# Admin endpoints (Bearer token for CI/scripts; session ADMIN role also accepted)\nADMIN_SECRET=your-admin-secret-change-in-production\n\n# App\nAPP_URL=http://localhost:3000\n\n# Разрешённые CORS-origin для Python-микросервисов (doc-parser, ifc-service, smeta-xml-service),\n# через запятую. Обязателен — сервисы падают при старте без него (fail closed, см. docs/security.md §7).\nCORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001\n\n# Яндекс.Карты (виджет «Карта объектов» на дашборде)\nNEXT_PUBLIC_YANDEX_MAPS_API_KEY=<yandex_maps_api_key>\n\n# SMTP (email-уведомления: согласование, напоминания)\nSMTP_HOST=smtp.yandex.ru\nSMTP_PORT=465\nSMTP_USER=noreply@stroydocs.ru\nSMTP_PASS=<smtp_password>\nSMTP_FROM=\"StroyDocs <noreply@stroydocs.ru>\"\n\n# IfcOpenShell Python-микросервис (services/ifc-service/)\n# Локально: http://localhost:8001\n# В docker-compose: http://ifc-service:8001\nIFC_SERVICE_URL=http://localhost:8001\n\n# Общий секрет вызовов Next.js -> Python-сервисы (ifc-service / smeta-xml-service / doc-parser).\n# ОБЯЗАТЕЛЕН: и приложение, и все три сервиса падают при старте, если он не задан —\n# иначе их эндпоинты остались бы вообще без аутентификации (E4).\n# Сгенерировать: openssl rand -hex 32\nINTERNAL_SERVICE_TOKEN=replace-me-with-64-hex-characters-from-openssl-rand-hex-32\n\n# Микросервис валидации XML смет/ПИР и ИД по XSD (services/smeta-xml-service/)\n# Локально: http://localhost:8002 | docker-compose: http://smeta-xml-service:8002\nSMETA_XML_SERVICE_URL=http://localhost:8002\n# Ссылка на бинарник IfcConvert в вашем S3-бакете (замените <your_bucket> на id бакета)\nIFCCONVERT_URL=https://s3.twcstorage.ru/<your_bucket>/tools/ifcconvert-0.8.5-linux64.zip\n\n# Docling doc-parser microservice (services/doc-parser/) — parse PDF/DOCX/XLSX/scans -> Markdown + tables.\n# Local: http://localhost:8003 | docker-compose: http://doc-parser:8003\nDOCLING_SERVICE_URL=http://localhost:8003\n# Флаг отката OCR-пути (P2). false — отключить распознавание паспортов/сертификатов.\nDOCLING_OCR_ENABLED=true\n"}, "9215750332560e5776e6e5982c4df51d23eaa5a3": {"t": 1785767489.1147656, "n": 3360, "h": "a8af6de39eaf0801", "c": "# Timeweb Cloud S3\nS3_ENDPOINT=https://s3.twcstorage.ru\nS3_REGION=ru-1\nS3_BUCKET=your_bucket_name\nS3_ACCESS_KEY=your_s3_access_key\nS3_SECRET_KEY=your_s3_secret_key\n\n# Timeweb Managed PostgreSQL\nDATABASE_URL=postgresql://user:password@localhost:5432/stroydocs\n\n# Timeweb Managed Redis\nREDIS_URL=redis://localhost:6379\n\n# Yandex Cloud (YandexGPT парсинг смет)\nYANDEX_GPT_API_KEY=your_yandex_gpt_api_key_here\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\nYANDEX_GPT_MODEL=yandexgpt/latest\nYANDEX_CLOUD_API_KEY=your_yandex_cloud_api_key_here\n\n# Yandex AI Studio (OpenAI-совместимый API) — структуризация OCR (P2), ассистент (P5).\n# YANDEX_FOLDER_ID должен соответствовать каталогу сервис-аккаунта API-ключа.\n# Модель по умолчанию — DeepSeek V4 Flash (reasoning: ответ в message.content, нужен запас max_tokens).\nYANDEX_AI_BASE_URL=https://ai.api.cloud.yandex.net/v1\nYANDEX_LLM_MODEL=deepseek-v4-flash\n# RAG / эмбеддинги (F2). Провайдер векторизации: yandex (RF-облако, ФЗ-152, по умолчанию) | local (on-prem, задел).\n# Yandex использует YANDEX_CLOUD_API_KEY + YANDEX_FOLDER_ID (выше). Размерность вектора — 256 (text-search).\nEMBEDDING_PROVIDER=yandex\n\n# NextAuth\nNEXTAUTH_SECRET=your_nextauth_secret_min_32_chars\nNEXTAUTH_URL=http://localhost:3000\n\n# Cron endpoints (Bearer token for automated schedulers)\nCRON_SECRET=your-cron-secret-change-in-production\n\n# Admin endpoints (Bearer token for CI/scripts; session ADMIN role also accepted)\nADMIN_SECRET=your-admin-secret-change-in-production\n\n# App\nAPP_URL=http://localhost:3000\n\n# Разрешённые CORS-origin для Python-микросервисов (doc-parser, ifc-service, smeta-xml-service),\n# через запятую. Обязателен — сервисы падают при старте без него (fail closed, см. docs/security.md §7).\nCORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001\n\n# Яндекс.Карты (виджет «Карта объектов» на дашборде)\nNEXT_PUBLIC_YANDEX_MAPS_API_KEY=<yandex_maps_api_key>\n\n# SMTP (email-уведомления: согласование, напоминания)\nSMTP_HOST=smtp.yandex.ru\nSMTP_PORT=465\nSMTP_USER=noreply@stroydocs.ru\nSMTP_PASS=<smtp_password>\nSMTP_FROM=\"StroyDocs <noreply@stroydocs.ru>\"\n\n# IfcOpenShell Python-микросервис (services/ifc-service/)\n# Локально: http://localhost:8001\n# В docker-compose: http://ifc-service:8001\nIFC_SERVICE_URL=http://localhost:8001\n\n# Общий секрет вызовов Next.js -> Python-сервисы (ifc-service / smeta-xml-service / doc-parser).\n# ОБЯЗАТЕЛЕН: и приложение, и все три сервиса падают при старте, если он не задан —\n# иначе их эндпоинты остались бы вообще без аутентификации (E4).\n# Сгенерировать: openssl rand -hex 32\nINTERNAL_SERVICE_TOKEN=replace-me-with-64-hex-characters-from-openssl-rand-hex-32\n\n# Микросервис валидации XML смет/ПИР и ИД по XSD (services/smeta-xml-service/)\n# Локально: http://localhost:8002 | docker-compose: http://smeta-xml-service:8002\nSMETA_XML_SERVICE_URL=http://localhost:8002\n# Ссылка на бинарник IfcConvert в вашем S3-бакете (замените <your_bucket> на id бакета)\nIFCCONVERT_URL=https://s3.twcstorage.ru/<your_bucket>/tools/ifcconvert-0.8.5-linux64.zip\n\n# Docling doc-parser microservice (services/doc-parser/) — parse PDF/DOCX/XLSX/scans -> Markdown + tables.\n# Local: http://localhost:8003 | docker-compose: http://doc-parser:8003\nDOCLING_SERVICE_URL=http://localhost:8003\n# Флаг отката OCR-пути (P2). false — отключить распознавание паспортов/сертификатов.\nDOCLING_OCR_ENABLED=true\n"}, "6934b600e47051ba7ae8650d81a579cd016d2a90": {"t": 1785767490.3580601, "n": 2783, "h": "3341f15e104895ad", "c": "# Timeweb Cloud S3\nS3_ENDPOINT=https://s3.twcstorage.ru\nS3_REGION=ru-1\nS3_BUCKET=your_bucket_name\nS3_ACCESS_KEY=your_s3_access_key\nS3_SECRET_KEY=your_s3_secret_key\n\n# Timeweb Managed PostgreSQL\nDATABASE_URL=postgresql://user:password@localhost:5432/stroydocs\n\n# Timeweb Managed Redis\nREDIS_URL=redis://localhost:6379\n\n# Yandex Cloud (YandexGPT парсинг смет)\nYANDEX_GPT_API_KEY=your_yandex_gpt_api_key_here\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\nYANDEX_GPT_MODEL=yandexgpt/latest\nYANDEX_CLOUD_API_KEY=your_yandex_cloud_api_key_here\n\n# Yandex AI Studio (OpenAI-совместимый API) — структуризация OCR (P2), ассистент (P5).\n# YANDEX_FOLDER_ID должен соответствовать каталогу сервис-аккаунта API-ключа.\n# Модель по умолчанию — DeepSeek V4 Flash (reasoning: ответ в message.content, нужен запас max_tokens).\nYANDEX_AI_BASE_URL=https://ai.api.cloud.yandex.net/v1\nYANDEX_LLM_MODEL=deepseek-v4-flash\n# RAG / эмбеддинги (F2). Провайдер векторизации: yandex (RF-облако, ФЗ-152, по умолчанию) | local (on-prem, задел).\n# Yandex использует YANDEX_CLOUD_API_KEY + YANDEX_FOLDER_ID (выше). Размерность вектора — 256 (text-search).\nEMBEDDING_PROVIDER=yandex\n\n# NextAuth\nNEXTAUTH_SECRET=your_nextauth_secret_min_32_chars\nNEXTAUTH_URL=http://localhost:3000\n\n# Cron endpoints (Bearer token for automated schedulers)\nCRON_SECRET=your-cron-secret-change-in-production\n\n# Admin endpoints (Bearer token for CI/scripts; session ADMIN role also accepted)\nADMIN_SECRET=your-admin-secret-change-in-production\n\n# App\nAPP_URL=http://localhost:3000\n\n# Разрешённые CORS-origin для Python-микросервисов (doc-parser, ifc-service, smeta-xml-service),\n# через запятую. Обязателен — сервисы падают при старте без него (fail closed, см. docs/security.md §7).\nCORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001\n\n# Яндекс.Карты (виджет «Карта объектов» на дашборде)\nNEXT_PUBLIC_YANDEX_MAPS_API_KEY=<yandex_maps_api_key>\n\n# SMTP (email-уведомления: согласование, напоминания)\nSMTP_HOST=smtp.yandex.ru\nSMTP_PORT=465\nSMTP_USER=noreply@stroydocs.ru\nSMTP_PASS=<smtp_password>\nSMTP_FROM=\"StroyDocs <noreply@stroydocs.ru>\"\n\n# IfcOpenShell Python-микросервис (services/ifc-service/)\n# Локально: http://localhost:8001\n# В docker-compose: http://ifc-service:8001\nIFC_SERVICE_URL=http://localhost:8001\n# Ссылка на бинарник IfcConvert в вашем S3-бакете (замените <your_bucket> на id бакета)\nIFCCONVERT_URL=https://s3.twcstorage.ru/<your_bucket>/tools/ifcconvert-0.8.5-linux64.zip\n\n# Docling doc-parser microservice (services/doc-parser/) — parse PDF/DOCX/XLSX/scans -> Markdown + tables.\n# Local: http://localhost:8003 | docker-compose: http://doc-parser:8003\nDOCLING_SERVICE_URL=http://localhost:8003\n# Флаг отката OCR-пути (P2). false — отключить распознавание паспортов/сертификатов.\nDOCLING_OCR_ENABLED=true\n"}, "bd1b9d92a0ad39cd9e571df26234d3af1a25a1ab": {"t": 1785767491.724137, "n": 3680, "h": "da1fd0fb35ecb440", "c": "# Timeweb Cloud S3\r\nS3_ENDPOINT=https://s3.twcstorage.ru\r\nS3_REGION=ru-1\r\nS3_BUCKET=cd6fe651-d93e-4846-b3ed-c99732c0fee1\r\nS3_ACCESS_KEY=ZV0S3YI5V7UAZ8YKNJRB\r\nS3_SECRET_KEY=9WtDBbcwGpQYDHvjxy9Zj0sEXK5BfzWpCETnEbMQ\r\n\r\n# Timeweb Managed PostgreSQL\r\nDATABASE_URL=postgresql://gen_user:<8IzT}*Qq:dE7W@6e38494fbe5de8801068949d.twc1.net:5432/default_db?sslmode=require\r\n\r\n# Timeweb Managed Redis\r\nREDIS_URL=redis://localhost:6379\r\n\r\n# Yandex Cloud (YandexGPT парсинг смет)\r\nYANDEX_GPT_API_KEY=your_yandex_gpt_api_key_here\r\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\r\nYANDEX_GPT_MODEL=yandexgpt/latest\r\n\r\n# NextAuth\r\nNEXTAUTH_SECRET=your-secret-key-change-in-production\r\nNEXTAUTH_URL=http://localhost:3000\r\n\r\n# Cron endpoints (Bearer token for automated schedulers)\r\nCRON_SECRET=your-cron-secret-change-in-production\r\n\r\n# Admin endpoints (Bearer token for CI/scripts; session ADMIN role also accepted)\r\nADMIN_SECRET=your-admin-secret-change-in-production\r\n\r\n# App\r\nAPP_URL=http://localhost:3000\r\n\r\n# Разрешённые CORS-origin для Python-микросервисов (doc-parser, ifc-service, smeta-xml-service),\r\n# через запятую. Обязателен — сервисы падают при старте без него (fail closed, см. docs/security.md §7).\r\nCORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001\r\n\r\n# Яндекс.Карты (виджет «Карта объектов» РЅР° дашборде)\r\nNEXT_PUBLIC_YANDEX_MAPS_API_KEY=<yandex_maps_api_key>\r\n\r\n# SMTP (email-уведомления: согласование, напоминания)\r\nSMTP_HOST=smtp.yandex.ru\r\nSMTP_PORT=465\r\nSMTP_USER=noreply@stroydocs.ru\r\nSMTP_PASS=<smtp_password>\r\nSMTP_FROM=\"StroyDocs <noreply@stroydocs.ru>\"\r\n\r\n# IfcOpenShell Python-микросервис (services/ifc-service/)\r\n# Локально: http://localhost:8001\r\n# Р’ docker-compose: http://ifc-service:8001\r\nIFC_SERVICE_URL=http://localhost:8001\r\nIFCCONVERT_URL=https://s3.twcstorage.ru/cd6fe651-d93e-4846-b3ed-c99732c0fee1/tools/ifcconvert-0.8.5-linux64.zip\r\n\r\n# Docling doc-parser microservice (services/doc-parser/) — parse PDF/DOCX/XLSX/scans -> Markdown + tables.\r\n# Local: http://localhost:8003 | docker-compose: http://doc-parser:8003\r\nDOCLING_SERVICE_URL=http://localhost:8003\r\n# Флаг отката OCR-пути (P2). false — отключить распознавание паспортов/сертификатов.\r\nDOCLING_OCR_ENABLED=true\r\n\r\n\r\n\r\nDATABASE_URL=postgresql://gen_user:<8IzT}*Qq:dE7W@6e38494fbe5de8801068949d.twc1.net:5432/default_db?sslmode=require\r\n\r\nREDIS_URL=redis://redis:6379\r\n\r\nNEXTAUTH_SECRET=s3cr3t-k3y-str0yd0cs-pr0d-2024-xK9mN2pL\r\n\r\nNEXTAUTH_URL=http://localhost:3000\r\n\r\nAPP_URL=http://localhost:3000\r\n\r\n\r\n\r\nS3_ENDPOINT=https://s3.twcstorage.ru\r\n\r\nS3_REGION=ru-1\r\n\r\nS3_BUCKET=cd6fe651-d93e-4846-b3ed-c99732c0fee1\r\n\r\nS3_ACCESS_KEY=ZV0S3YI5V7UAZ8YKNJRB\r\n\r\nS3_SECRET_KEY=9WtDBbcwGpQYDHvjxy9Zj0sEXK5BfzWpCETnEbMQ\r\n\r\n\r\n\r\nYANDEX_CLOUD_API_KEY=your_yandex_cloud_api_key_here\r\n\r\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\r\n\r\nYANDEX_GPT_MODEL=Last\r\n\r\n# Yandex AI Studio (OpenAI-совместимый API) — структуризация OCR (P2), ассистент (P5).\r\n# YANDEX_FOLDER_ID должен соответствовать каталогу сервис-аккаунта API-ключа.\r\n# Модель по умолчанию — DeepSeek V4 Flash (reasoning: ответ в message.content, нужен запас max_tokens).\r\nYANDEX_AI_BASE_URL=https://ai.api.cloud.yandex.net/v1\r\nYANDEX_LLM_MODEL=deepseek-v4-flash\r\n# RAG / эмбеддинги (F2). Провайдер векторизации: yandex (RF-облако, ФЗ-152, по умолчанию) | local (on-prem, задел).\r\n# Yandex использует YANDEX_CLOUD_API_KEY + YANDEX_FOLDER_ID (выше). Размерность вектора — 256 (text-search).\r\nEMBEDDING_PROVIDER=yandex\r\n\r\n\r\n\r\nIFCCONVERT_URL=https://s3.twcstorage.ru/cd6fe651-d93e-4846-b3ed-c99732c0fee1/tools/ifcconvert-0.8.5-linux64.zip\r\n"}, "f530c88817ce604f6baf61f2bf2e8cde687db839": {"t": 1785767493.0230682, "n": 3408, "h": "ebb43b922b297660", "c": "# Timeweb Cloud S3\r\nS3_ENDPOINT=https://s3.twcstorage.ru\r\nS3_REGION=ru-1\r\nS3_BUCKET=cd6fe651-d93e-4846-b3ed-c99732c0fee1\r\nS3_ACCESS_KEY=ZV0S3YI5V7UAZ8YKNJRB\r\nS3_SECRET_KEY=9WtDBbcwGpQYDHvjxy9Zj0sEXK5BfzWpCETnEbMQ\r\n\r\n# Timeweb Managed PostgreSQL\r\nDATABASE_URL=postgresql://gen_user:<8IzT}*Qq:dE7W@6e38494fbe5de8801068949d.twc1.net:5432/default_db?sslmode=require\r\n\r\n# Timeweb Managed Redis\r\nREDIS_URL=redis://localhost:6379\r\n\r\n# Yandex Cloud (YandexGPT парсинг смет)\r\nYANDEX_GPT_API_KEY=your_yandex_gpt_api_key_here\r\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\r\nYANDEX_GPT_MODEL=yandexgpt/latest\r\n\r\n# NextAuth\r\nNEXTAUTH_SECRET=your-secret-key-change-in-production\r\nNEXTAUTH_URL=http://localhost:3000\r\n\r\n# Cron endpoints (Bearer token for automated schedulers)\r\nCRON_SECRET=your-cron-secret-change-in-production\r\n\r\n# Admin endpoints (Bearer token for CI/scripts; session ADMIN role also accepted)\r\nADMIN_SECRET=your-admin-secret-change-in-production\r\n\r\n# App\r\nAPP_URL=http://localhost:3000\r\n\r\n# Яндекс.Карты (виджет «Карта объектов» РЅР° дашборде)\r\nNEXT_PUBLIC_YANDEX_MAPS_API_KEY=<yandex_maps_api_key>\r\n\r\n# SMTP (email-уведомления: согласование, напоминания)\r\nSMTP_HOST=smtp.yandex.ru\r\nSMTP_PORT=465\r\nSMTP_USER=noreply@stroydocs.ru\r\nSMTP_PASS=<smtp_password>\r\nSMTP_FROM=\"StroyDocs <noreply@stroydocs.ru>\"\r\n\r\n# IfcOpenShell Python-микросервис (services/ifc-service/)\r\n# Локально: http://localhost:8001\r\n# Р’ docker-compose: http://ifc-service:8001\r\nIFC_SERVICE_URL=http://localhost:8001\r\nIFCCONVERT_URL=https://s3.twcstorage.ru/cd6fe651-d93e-4846-b3ed-c99732c0fee1/tools/ifcconvert-0.8.5-linux64.zip\r\n\r\n# Docling doc-parser microservice (services/doc-parser/) — parse PDF/DOCX/XLSX/scans -> Markdown + tables.\r\n# Local: http://localhost:8003 | docker-compose: http://doc-parser:8003\r\nDOCLING_SERVICE_URL=http://localhost:8003\r\n# Флаг отката OCR-пути (P2). false — отключить распознавание паспортов/сертификатов.\r\nDOCLING_OCR_ENABLED=true\r\n\r\n\r\n\r\nDATABASE_URL=postgresql://gen_user:<8IzT}*Qq:dE7W@6e38494fbe5de8801068949d.twc1.net:5432/default_db?sslmode=require\r\n\r\nREDIS_URL=redis://redis:6379\r\n\r\nNEXTAUTH_SECRET=s3cr3t-k3y-str0yd0cs-pr0d-2024-xK9mN2pL\r\n\r\nNEXTAUTH_URL=http://localhost:3000\r\n\r\nAPP_URL=http://localhost:3000\r\n\r\n\r\n\r\nS3_ENDPOINT=https://s3.twcstorage.ru\r\n\r\nS3_REGION=ru-1\r\n\r\nS3_BUCKET=cd6fe651-d93e-4846-b3ed-c99732c0fee1\r\n\r\nS3_ACCESS_KEY=ZV0S3YI5V7UAZ8YKNJRB\r\n\r\nS3_SECRET_KEY=9WtDBbcwGpQYDHvjxy9Zj0sEXK5BfzWpCETnEbMQ\r\n\r\n\r\n\r\nYANDEX_CLOUD_API_KEY=your_yandex_cloud_api_key_here\r\n\r\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\r\n\r\nYANDEX_GPT_MODEL=Last\r\n\r\n# Yandex AI Studio (OpenAI-совместимый API) — структуризация OCR (P2), ассистент (P5).\r\n# YANDEX_FOLDER_ID должен соответствовать каталогу сервис-аккаунта API-ключа.\r\n# Модель по умолчанию — DeepSeek V4 Flash (reasoning: ответ в message.content, нужен запас max_tokens).\r\nYANDEX_AI_BASE_URL=https://ai.api.cloud.yandex.net/v1\r\nYANDEX_LLM_MODEL=deepseek-v4-flash\r\n# RAG / эмбеддинги (F2). Провайдер векторизации: yandex (RF-облако, ФЗ-152, по умолчанию) | local (on-prem, задел).\r\n# Yandex использует YANDEX_CLOUD_API_KEY + YANDEX_FOLDER_ID (выше). Размерность вектора — 256 (text-search).\r\nEMBEDDING_PROVIDER=yandex\r\n\r\n\r\n\r\nIFCCONVERT_URL=https://s3.twcstorage.ru/cd6fe651-d93e-4846-b3ed-c99732c0fee1/tools/ifcconvert-0.8.5-linux64.zip\r\n"}, "7314c60b71f529d1f0ec7489943db172e8cd8afa": {"t": 1785767494.3507829, "n": 2933, "h": "bc2a7478b871f355", "c": "# Timeweb Cloud S3\r\nS3_ENDPOINT=https://s3.twcstorage.ru\r\nS3_REGION=ru-1\r\nS3_BUCKET=cd6fe651-d93e-4846-b3ed-c99732c0fee1\r\nS3_ACCESS_KEY=ZV0S3YI5V7UAZ8YKNJRB\r\nS3_SECRET_KEY=9WtDBbcwGpQYDHvjxy9Zj0sEXK5BfzWpCETnEbMQ\r\n\r\n# Timeweb Managed PostgreSQL\r\nDATABASE_URL=postgresql://gen_user:<8IzT}*Qq:dE7W@6e38494fbe5de8801068949d.twc1.net:5432/default_db?sslmode=require\r\n\r\n# Timeweb Managed Redis\r\nREDIS_URL=redis://localhost:6379\r\n\r\n# Yandex Cloud (YandexGPT парсинг смет)\r\nYANDEX_GPT_API_KEY=your_yandex_gpt_api_key_here\r\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\r\nYANDEX_GPT_MODEL=yandexgpt/latest\r\n\r\n# NextAuth\r\nNEXTAUTH_SECRET=your-secret-key-change-in-production\r\nNEXTAUTH_URL=http://localhost:3000\r\n\r\n# Cron endpoints (Bearer token for automated schedulers)\r\nCRON_SECRET=your-cron-secret-change-in-production\r\n\r\n# Admin endpoints (Bearer token for CI/scripts; session ADMIN role also accepted)\r\nADMIN_SECRET=your-admin-secret-change-in-production\r\n\r\n# App\r\nAPP_URL=http://localhost:3000\r\n\r\n# Яндекс.Карты (виджет «Карта объектов» РЅР° дашборде)\r\nNEXT_PUBLIC_YANDEX_MAPS_API_KEY=<yandex_maps_api_key>\r\n\r\n# SMTP (email-уведомления: согласование, напоминания)\r\nSMTP_HOST=smtp.yandex.ru\r\nSMTP_PORT=465\r\nSMTP_USER=noreply@stroydocs.ru\r\nSMTP_PASS=<smtp_password>\r\nSMTP_FROM=\"StroyDocs <noreply@stroydocs.ru>\"\r\n\r\n# IfcOpenShell Python-микросервис (services/ifc-service/)\r\n# Локально: http://localhost:8001\r\n# Р’ docker-compose: http://ifc-service:8001\r\nIFC_SERVICE_URL=http://localhost:8001\r\nIFCCONVERT_URL=https://s3.twcstorage.ru/cd6fe651-d93e-4846-b3ed-c99732c0fee1/tools/ifcconvert-0.8.5-linux64.zip\r\n\r\n# Docling doc-parser microservice (services/doc-parser/) — parse PDF/DOCX/XLSX/scans -> Markdown + tables.\r\n# Local: http://localhost:8003 | docker-compose: http://doc-parser:8003\r\nDOCLING_SERVICE_URL=http://localhost:8003\r\n\r\n\r\n\r\nDATABASE_URL=postgresql://gen_user:<8IzT}*Qq:dE7W@6e38494fbe5de8801068949d.twc1.net:5432/default_db?sslmode=require\r\n\r\nREDIS_URL=redis://redis:6379\r\n\r\nNEXTAUTH_SECRET=s3cr3t-k3y-str0yd0cs-pr0d-2024-xK9mN2pL\r\n\r\nNEXTAUTH_URL=http://localhost:3000\r\n\r\nAPP_URL=http://localhost:3000\r\n\r\n\r\n\r\nS3_ENDPOINT=https://s3.twcstorage.ru\r\n\r\nS3_REGION=ru-1\r\n\r\nS3_BUCKET=cd6fe651-d93e-4846-b3ed-c99732c0fee1\r\n\r\nS3_ACCESS_KEY=ZV0S3YI5V7UAZ8YKNJRB\r\n\r\nS3_SECRET_KEY=9WtDBbcwGpQYDHvjxy9Zj0sEXK5BfzWpCETnEbMQ\r\n\r\n\r\n\r\nYANDEX_CLOUD_API_KEY=your_yandex_cloud_api_key_here\r\n\r\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\r\n\r\nYANDEX_GPT_MODEL=Last\r\n\r\n# RAG / эмбеддинги (F2). Провайдер векторизации: yandex (RF-облако, ФЗ-152, по умолчанию) | local (on-prem, задел).\r\n# Yandex использует YANDEX_CLOUD_API_KEY + YANDEX_FOLDER_ID (выше). Размерность вектора — 256 (text-search).\r\nEMBEDDING_PROVIDER=yandex\r\n\r\n\r\n\r\nIFCCONVERT_URL=https://s3.twcstorage.ru/cd6fe651-d93e-4846-b3ed-c99732c0fee1/tools/ifcconvert-0.8.5-linux64.zip\r\n"}, "c189446be7986ccb9b4800952bcbae00e4d6bd18": {"t": 1785767495.5669417, "n": 3154, "h": "f95bdfe7ae840610", "c": "# Timeweb Cloud S3\r\nS3_ENDPOINT=https://s3.twcstorage.ru\r\nS3_REGION=ru-1\r\nS3_BUCKET=cd6fe651-d93e-4846-b3ed-c99732c0fee1\r\nS3_ACCESS_KEY=ZV0S3YI5V7UAZ8YKNJRB\r\nS3_SECRET_KEY=9WtDBbcwGpQYDHvjxy9Zj0sEXK5BfzWpCETnEbMQ\r\n\r\n# Timeweb Managed PostgreSQL\r\nDATABASE_URL=postgresql://gen_user:<8IzT}*Qq:dE7W@6e38494fbe5de8801068949d.twc1.net:5432/default_db?sslmode=require\r\n\r\n# Timeweb Managed Redis\r\nREDIS_URL=redis://localhost:6379\r\n\r\n# Yandex Cloud (YandexGPT парсинг смет)\r\nYANDEX_GPT_API_KEY=your_yandex_gpt_api_key_here\r\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\r\nYANDEX_GPT_MODEL=yandexgpt/latest\r\n\r\n# NextAuth\r\nNEXTAUTH_SECRET=your-secret-key-change-in-production\r\nNEXTAUTH_URL=http://localhost:3000\r\n\r\n# Cron endpoints (Bearer token for automated schedulers)\r\nCRON_SECRET=your-cron-secret-change-in-production\r\n\r\n# Admin endpoints (Bearer token for CI/scripts; session ADMIN role also accepted)\r\nADMIN_SECRET=your-admin-secret-change-in-production\r\n\r\n# App\r\nAPP_URL=http://localhost:3000\r\n\r\n# Яндекс.Карты (виджет «Карта объектов» РЅР° дашборде)\r\nNEXT_PUBLIC_YANDEX_MAPS_API_KEY=<yandex_maps_api_key>\r\n\r\n# SMTP (email-уведомления: согласование, напоминания)\r\nSMTP_HOST=smtp.yandex.ru\r\nSMTP_PORT=465\r\nSMTP_USER=noreply@stroydocs.ru\r\nSMTP_PASS=<smtp_password>\r\nSMTP_FROM=\"StroyDocs <noreply@stroydocs.ru>\"\r\n\r\n# IfcOpenShell Python-микросервис (services/ifc-service/)\r\n# Локально: http://localhost:8001\r\n# Р’ docker-compose: http://ifc-service:8001\r\nIFC_SERVICE_URL=http://localhost:8001\r\nIFCCONVERT_URL=https://s3.twcstorage.ru/cd6fe651-d93e-4846-b3ed-c99732c0fee1/tools/ifcconvert-0.8.5-linux64.zip\r\n\r\n# Docling doc-parser microservice (services/doc-parser/) — parse PDF/DOCX/XLSX/scans -> Markdown + tables.\r\n# Local: http://localhost:8003 | docker-compose: http://doc-parser:8003\r\nDOCLING_SERVICE_URL=http://localhost:8003\r\n# Флаг отката OCR-пути (P2). false — отключить распознавание паспортов/сертификатов.\r\nDOCLING_OCR_ENABLED=true\r\n\r\n\r\n\r\nDATABASE_URL=postgresql://gen_user:<8IzT}*Qq:dE7W@6e38494fbe5de8801068949d.twc1.net:5432/default_db?sslmode=require\r\n\r\nREDIS_URL=redis://redis:6379\r\n\r\nNEXTAUTH_SECRET=s3cr3t-k3y-str0yd0cs-pr0d-2024-xK9mN2pL\r\n\r\nNEXTAUTH_URL=http://localhost:3000\r\n\r\nAPP_URL=http://localhost:3000\r\n\r\n\r\n\r\nS3_ENDPOINT=https://s3.twcstorage.ru\r\n\r\nS3_REGION=ru-1\r\n\r\nS3_BUCKET=cd6fe651-d93e-4846-b3ed-c99732c0fee1\r\n\r\nS3_ACCESS_KEY=ZV0S3YI5V7UAZ8YKNJRB\r\n\r\nS3_SECRET_KEY=9WtDBbcwGpQYDHvjxy9Zj0sEXK5BfzWpCETnEbMQ\r\n\r\n\r\n\r\nYANDEX_CLOUD_API_KEY=your_yandex_cloud_api_key_here\r\n\r\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\r\n\r\nYANDEX_GPT_MODEL=Last\r\n\r\n# Yandex AI Studio (OpenAI-совместимый API) — структуризация OCR (P2), ассистент (P5).\r\n# YANDEX_FOLDER_ID должен соответствовать каталогу сервис-аккаунта API-ключа.\r\n# Модель по умолчанию — DeepSeek V4 Flash (reasoning: ответ в message.content, нужен запас max_tokens).\r\nYANDEX_AI_BASE_URL=https://ai.api.cloud.yandex.net/v1\r\nYANDEX_LLM_MODEL=deepseek-v4-flash\r\n\r\n\r\n\r\nIFCCONVERT_URL=https://s3.twcstorage.ru/cd6fe651-d93e-4846-b3ed-c99732c0fee1/tools/ifcconvert-0.8.5-linux64.zip\r\n"}, "ca68c10386d485e4c5103b3dea793b24f0fd48aa": {"t": 1785767496.9193096, "n": 3042, "h": "5d47008221ee2d00", "c": "# Timeweb Cloud S3\r\nS3_ENDPOINT=https://s3.twcstorage.ru\r\nS3_REGION=ru-1\r\nS3_BUCKET=cd6fe651-d93e-4846-b3ed-c99732c0fee1\r\nS3_ACCESS_KEY=ZV0S3YI5V7UAZ8YKNJRB\r\nS3_SECRET_KEY=9WtDBbcwGpQYDHvjxy9Zj0sEXK5BfzWpCETnEbMQ\r\n\r\n# Timeweb Managed PostgreSQL\r\nDATABASE_URL=postgresql://gen_user:<8IzT}*Qq:dE7W@6e38494fbe5de8801068949d.twc1.net:5432/default_db?sslmode=require\r\n\r\n# Timeweb Managed Redis\r\nREDIS_URL=redis://localhost:6379\r\n\r\n# Yandex Cloud (YandexGPT парсинг смет)\r\nYANDEX_GPT_API_KEY=your_yandex_gpt_api_key_here\r\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\r\nYANDEX_GPT_MODEL=yandexgpt/latest\r\n\r\n# NextAuth\r\nNEXTAUTH_SECRET=your-secret-key-change-in-production\r\nNEXTAUTH_URL=http://localhost:3000\r\n\r\n# Cron endpoints (Bearer token for automated schedulers)\r\nCRON_SECRET=your-cron-secret-change-in-production\r\n\r\n# Admin endpoints (Bearer token for CI/scripts; session ADMIN role also accepted)\r\nADMIN_SECRET=your-admin-secret-change-in-production\r\n\r\n# App\r\nAPP_URL=http://localhost:3000\r\n\r\n# Яндекс.Карты (виджет «Карта объектов» РЅР° дашборде)\r\nNEXT_PUBLIC_YANDEX_MAPS_API_KEY=<yandex_maps_api_key>\r\n\r\n# SMTP (email-уведомления: согласование, напоминания)\r\nSMTP_HOST=smtp.yandex.ru\r\nSMTP_PORT=465\r\nSMTP_USER=noreply@stroydocs.ru\r\nSMTP_PASS=<smtp_password>\r\nSMTP_FROM=\"StroyDocs <noreply@stroydocs.ru>\"\r\n\r\n# IfcOpenShell Python-микросервис (services/ifc-service/)\r\n# Локально: http://localhost:8001\r\n# Р’ docker-compose: http://ifc-service:8001\r\nIFC_SERVICE_URL=http://localhost:8001\r\nIFCCONVERT_URL=https://s3.twcstorage.ru/cd6fe651-d93e-4846-b3ed-c99732c0fee1/tools/ifcconvert-0.8.5-linux64.zip\r\n\r\n# Docling doc-parser microservice (services/doc-parser/) — parse PDF/DOCX/XLSX/scans -> Markdown + tables.\r\n# Local: http://localhost:8003 | docker-compose: http://doc-parser:8003\r\nDOCLING_SERVICE_URL=http://localhost:8003\r\n\r\n\r\n\r\nDATABASE_URL=postgresql://gen_user:<8IzT}*Qq:dE7W@6e38494fbe5de8801068949d.twc1.net:5432/default_db?sslmode=require\r\n\r\nREDIS_URL=redis://redis:6379\r\n\r\nNEXTAUTH_SECRET=s3cr3t-k3y-str0yd0cs-pr0d-2024-xK9mN2pL\r\n\r\nNEXTAUTH_URL=http://localhost:3000\r\n\r\nAPP_URL=http://localhost:3000\r\n\r\n\r\n\r\nS3_ENDPOINT=https://s3.twcstorage.ru\r\n\r\nS3_REGION=ru-1\r\n\r\nS3_BUCKET=cd6fe651-d93e-4846-b3ed-c99732c0fee1\r\n\r\nS3_ACCESS_KEY=ZV0S3YI5V7UAZ8YKNJRB\r\n\r\nS3_SECRET_KEY=9WtDBbcwGpQYDHvjxy9Zj0sEXK5BfzWpCETnEbMQ\r\n\r\n\r\n\r\nYANDEX_CLOUD_API_KEY=your_yandex_cloud_api_key_here\r\n\r\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\r\n\r\nYANDEX_GPT_MODEL=Last\r\n\r\n# Yandex AI Studio (OpenAI-совместимый API) — структуризация OCR (P2), ассистент (P5).\r\n# YANDEX_FOLDER_ID должен соответствовать каталогу сервис-аккаунта API-ключа.\r\n# Модель по умолчанию — DeepSeek V4 Flash (reasoning: ответ в message.content, нужен запас max_tokens).\r\nYANDEX_AI_BASE_URL=https://ai.api.cloud.yandex.net/v1\r\nYANDEX_LLM_MODEL=deepseek-v4-flash\r\n\r\n\r\n\r\nIFCCONVERT_URL=https://s3.twcstorage.ru/cd6fe651-d93e-4846-b3ed-c99732c0fee1/tools/ifcconvert-0.8.5-linux64.zip\r\n"}, "6c41fce4f1a5744d4644cbd4e704e9924b10c5b6": {"t": 1785767499.9948218, "n": 2703, "h": "c775f2f460310c58", "c": "# Timeweb Cloud S3\r\nS3_ENDPOINT=https://s3.twcstorage.ru\r\nS3_REGION=ru-1\r\nS3_BUCKET=cd6fe651-d93e-4846-b3ed-c99732c0fee1\r\nS3_ACCESS_KEY=ZV0S3YI5V7UAZ8YKNJRB\r\nS3_SECRET_KEY=9WtDBbcwGpQYDHvjxy9Zj0sEXK5BfzWpCETnEbMQ\r\n\r\n# Timeweb Managed PostgreSQL\r\nDATABASE_URL=postgresql://gen_user:<8IzT}*Qq:dE7W@6e38494fbe5de8801068949d.twc1.net:5432/default_db?sslmode=require\r\n\r\n# Timeweb Managed Redis\r\nREDIS_URL=redis://localhost:6379\r\n\r\n# Yandex Cloud (YandexGPT парсинг смет)\r\nYANDEX_GPT_API_KEY=your_yandex_gpt_api_key_here\r\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\r\nYANDEX_GPT_MODEL=yandexgpt/latest\r\n\r\n# NextAuth\r\nNEXTAUTH_SECRET=your-secret-key-change-in-production\r\nNEXTAUTH_URL=http://localhost:3000\r\n\r\n# Cron endpoints (Bearer token for automated schedulers)\r\nCRON_SECRET=your-cron-secret-change-in-production\r\n\r\n# Admin endpoints (Bearer token for CI/scripts; session ADMIN role also accepted)\r\nADMIN_SECRET=your-admin-secret-change-in-production\r\n\r\n# App\r\nAPP_URL=http://localhost:3000\r\n\r\n# Яндекс.Карты (виджет «Карта объектов» РЅР° дашборде)\r\nNEXT_PUBLIC_YANDEX_MAPS_API_KEY=<yandex_maps_api_key>\r\n\r\n# SMTP (email-уведомления: согласование, напоминания)\r\nSMTP_HOST=smtp.yandex.ru\r\nSMTP_PORT=465\r\nSMTP_USER=noreply@stroydocs.ru\r\nSMTP_PASS=<smtp_password>\r\nSMTP_FROM=\"StroyDocs <noreply@stroydocs.ru>\"\r\n\r\n# IfcOpenShell Python-микросервис (services/ifc-service/)\r\n# Локально: http://localhost:8001\r\n# Р’ docker-compose: http://ifc-service:8001\r\nIFC_SERVICE_URL=http://localhost:8001\r\nIFCCONVERT_URL=https://s3.twcstorage.ru/cd6fe651-d93e-4846-b3ed-c99732c0fee1/tools/ifcconvert-0.8.5-linux64.zip\r\n\r\n\r\n\r\nDATABASE_URL=postgresql://gen_user:<8IzT}*Qq:dE7W@6e38494fbe5de8801068949d.twc1.net:5432/default_db?sslmode=require\r\n\r\nREDIS_URL=redis://redis:6379\r\n\r\nNEXTAUTH_SECRET=s3cr3t-k3y-str0yd0cs-pr0d-2024-xK9mN2pL\r\n\r\nNEXTAUTH_URL=http://localhost:3000\r\n\r\nAPP_URL=http://localhost:3000\r\n\r\n\r\n\r\nS3_ENDPOINT=https://s3.twcstorage.ru\r\n\r\nS3_REGION=ru-1\r\n\r\nS3_BUCKET=cd6fe651-d93e-4846-b3ed-c99732c0fee1\r\n\r\nS3_ACCESS_KEY=ZV0S3YI5V7UAZ8YKNJRB\r\n\r\nS3_SECRET_KEY=9WtDBbcwGpQYDHvjxy9Zj0sEXK5BfzWpCETnEbMQ\r\n\r\n\r\n\r\nYANDEX_CLOUD_API_KEY=your_yandex_cloud_api_key_here\r\n\r\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\r\n\r\nYANDEX_GPT_MODEL=Last\r\n\r\n# RAG / эмбеддинги (F2). Провайдер векторизации: yandex (RF-облако, ФЗ-152, по умолчанию) | local (on-prem, задел).\r\n# Yandex использует YANDEX_CLOUD_API_KEY + YANDEX_FOLDER_ID (выше). Размерность вектора — 256 (text-search).\r\nEMBEDDING_PROVIDER=yandex\r\n\r\n\r\n\r\nIFCCONVERT_URL=https://s3.twcstorage.ru/cd6fe651-d93e-4846-b3ed-c99732c0fee1/tools/ifcconvert-0.8.5-linux64.zip\r\n"}, "e529e63fce5e6381eef0d23ebda4f01f0795feff": {"t": 1785767501.3383267, "n": 2677, "h": "10682eb07af49c22", "c": "# Timeweb Cloud S3\r\nS3_ENDPOINT=https://s3.twcstorage.ru\r\nS3_REGION=ru-1\r\nS3_BUCKET=cd6fe651-d93e-4846-b3ed-c99732c0fee1\r\nS3_ACCESS_KEY=ZV0S3YI5V7UAZ8YKNJRB\r\nS3_SECRET_KEY=9WtDBbcwGpQYDHvjxy9Zj0sEXK5BfzWpCETnEbMQ\r\n\r\n# Timeweb Managed PostgreSQL\r\nDATABASE_URL=postgresql://gen_user:<8IzT}*Qq:dE7W@6e38494fbe5de8801068949d.twc1.net:5432/default_db?sslmode=require\r\n\r\n# Timeweb Managed Redis\r\nREDIS_URL=redis://localhost:6379\r\n\r\n# Yandex Cloud (YandexGPT парсинг смет)\r\nYANDEX_GPT_API_KEY=your_yandex_gpt_api_key_here\r\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\r\nYANDEX_GPT_MODEL=yandexgpt/latest\r\n\r\n# NextAuth\r\nNEXTAUTH_SECRET=your-secret-key-change-in-production\r\nNEXTAUTH_URL=http://localhost:3000\r\n\r\n# Cron endpoints (Bearer token for automated schedulers)\r\nCRON_SECRET=your-cron-secret-change-in-production\r\n\r\n# Admin endpoints (Bearer token for CI/scripts; session ADMIN role also accepted)\r\nADMIN_SECRET=your-admin-secret-change-in-production\r\n\r\n# App\r\nAPP_URL=http://localhost:3000\r\n\r\n# Яндекс.Карты (виджет «Карта объектов» РЅР° дашборде)\r\nNEXT_PUBLIC_YANDEX_MAPS_API_KEY=<yandex_maps_api_key>\r\n\r\n# SMTP (email-уведомления: согласование, напоминания)\r\nSMTP_HOST=smtp.yandex.ru\r\nSMTP_PORT=465\r\nSMTP_USER=noreply@stroydocs.ru\r\nSMTP_PASS=<smtp_password>\r\nSMTP_FROM=\"StroyDocs <noreply@stroydocs.ru>\"\r\n\r\n# IfcOpenShell Python-микросервис (services/ifc-service/)\r\n# Локально: http://localhost:8001\r\n# Р’ docker-compose: http://ifc-service:8001\r\nIFC_SERVICE_URL=http://localhost:8001\r\nIFCCONVERT_URL=https://s3.twcstorage.ru/cd6fe651-d93e-4846-b3ed-c99732c0fee1/tools/ifcconvert-0.8.5-linux64.zip\r\n\r\n# Docling doc-parser microservice (services/doc-parser/) — parse PDF/DOCX/XLSX/scans -> Markdown + tables.\r\n# Local: http://localhost:8003 | docker-compose: http://doc-parser:8003\r\nDOCLING_SERVICE_URL=http://localhost:8003\r\n\r\n\r\n\r\nDATABASE_URL=postgresql://gen_user:<8IzT}*Qq:dE7W@6e38494fbe5de8801068949d.twc1.net:5432/default_db?sslmode=require\r\n\r\nREDIS_URL=redis://redis:6379\r\n\r\nNEXTAUTH_SECRET=s3cr3t-k3y-str0yd0cs-pr0d-2024-xK9mN2pL\r\n\r\nNEXTAUTH_URL=http://localhost:3000\r\n\r\nAPP_URL=http://localhost:3000\r\n\r\n\r\n\r\nS3_ENDPOINT=https://s3.twcstorage.ru\r\n\r\nS3_REGION=ru-1\r\n\r\nS3_BUCKET=cd6fe651-d93e-4846-b3ed-c99732c0fee1\r\n\r\nS3_ACCESS_KEY=ZV0S3YI5V7UAZ8YKNJRB\r\n\r\nS3_SECRET_KEY=9WtDBbcwGpQYDHvjxy9Zj0sEXK5BfzWpCETnEbMQ\r\n\r\n\r\n\r\nYANDEX_CLOUD_API_KEY=your_yandex_cloud_api_key_here\r\n\r\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\r\n\r\nYANDEX_GPT_MODEL=Last\r\n\r\n\r\n\r\nIFCCONVERT_URL=https://s3.twcstorage.ru/cd6fe651-d93e-4846-b3ed-c99732c0fee1/tools/ifcconvert-0.8.5-linux64.zip\r\n"}, "bad915441993c83325709454d3ec10494b314fbc": {"t": 1785767502.6098676, "n": 2447, "h": "99aefdb63b29d5ab", "c": "# Timeweb Cloud S3\r\nS3_ENDPOINT=https://s3.twcstorage.ru\r\nS3_REGION=ru-1\r\nS3_BUCKET=cd6fe651-d93e-4846-b3ed-c99732c0fee1\r\nS3_ACCESS_KEY=ZV0S3YI5V7UAZ8YKNJRB\r\nS3_SECRET_KEY=9WtDBbcwGpQYDHvjxy9Zj0sEXK5BfzWpCETnEbMQ\r\n\r\n# Timeweb Managed PostgreSQL\r\nDATABASE_URL=postgresql://gen_user:<8IzT}*Qq:dE7W@6e38494fbe5de8801068949d.twc1.net:5432/default_db?sslmode=require\r\n\r\n# Timeweb Managed Redis\r\nREDIS_URL=redis://localhost:6379\r\n\r\n# Yandex Cloud (YandexGPT парсинг смет)\r\nYANDEX_GPT_API_KEY=your_yandex_gpt_api_key_here\r\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\r\nYANDEX_GPT_MODEL=yandexgpt/latest\r\n\r\n# NextAuth\r\nNEXTAUTH_SECRET=your-secret-key-change-in-production\r\nNEXTAUTH_URL=http://localhost:3000\r\n\r\n# Cron endpoints (Bearer token for automated schedulers)\r\nCRON_SECRET=your-cron-secret-change-in-production\r\n\r\n# Admin endpoints (Bearer token for CI/scripts; session ADMIN role also accepted)\r\nADMIN_SECRET=your-admin-secret-change-in-production\r\n\r\n# App\r\nAPP_URL=http://localhost:3000\r\n\r\n# Яндекс.Карты (виджет «Карта объектов» РЅР° дашборде)\r\nNEXT_PUBLIC_YANDEX_MAPS_API_KEY=<yandex_maps_api_key>\r\n\r\n# SMTP (email-уведомления: согласование, напоминания)\r\nSMTP_HOST=smtp.yandex.ru\r\nSMTP_PORT=465\r\nSMTP_USER=noreply@stroydocs.ru\r\nSMTP_PASS=<smtp_password>\r\nSMTP_FROM=\"StroyDocs <noreply@stroydocs.ru>\"\r\n\r\n# IfcOpenShell Python-микросервис (services/ifc-service/)\r\n# Локально: http://localhost:8001\r\n# Р’ docker-compose: http://ifc-service:8001\r\nIFC_SERVICE_URL=http://localhost:8001\r\nIFCCONVERT_URL=https://s3.twcstorage.ru/cd6fe651-d93e-4846-b3ed-c99732c0fee1/tools/ifcconvert-0.8.5-linux64.zip\r\n\r\n\r\n\r\nDATABASE_URL=postgresql://gen_user:<8IzT}*Qq:dE7W@6e38494fbe5de8801068949d.twc1.net:5432/default_db?sslmode=require\r\n\r\nREDIS_URL=redis://redis:6379\r\n\r\nNEXTAUTH_SECRET=s3cr3t-k3y-str0yd0cs-pr0d-2024-xK9mN2pL\r\n\r\nNEXTAUTH_URL=http://localhost:3000\r\n\r\nAPP_URL=http://localhost:3000\r\n\r\n\r\n\r\nS3_ENDPOINT=https://s3.twcstorage.ru\r\n\r\nS3_REGION=ru-1\r\n\r\nS3_BUCKET=cd6fe651-d93e-4846-b3ed-c99732c0fee1\r\n\r\nS3_ACCESS_KEY=ZV0S3YI5V7UAZ8YKNJRB\r\n\r\nS3_SECRET_KEY=9WtDBbcwGpQYDHvjxy9Zj0sEXK5BfzWpCETnEbMQ\r\n\r\n\r\n\r\nYANDEX_CLOUD_API_KEY=your_yandex_cloud_api_key_here\r\n\r\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\r\n\r\nYANDEX_GPT_MODEL=Last\r\n\r\n\r\n\r\nIFCCONVERT_URL=https://s3.twcstorage.ru/cd6fe651-d93e-4846-b3ed-c99732c0fee1/tools/ifcconvert-0.8.5-linux64.zip\r\n"}, "0811ab767844dbfcc4b27962a5c1ff5f83c9ab46": {"t": 1786067902.9693742, "n": 3360, "h": "a8af6de39eaf0801", "c": "# Timeweb Cloud S3\nS3_ENDPOINT=https://s3.twcstorage.ru\nS3_REGION=ru-1\nS3_BUCKET=your_bucket_name\nS3_ACCESS_KEY=your_s3_access_key\nS3_SECRET_KEY=your_s3_secret_key\n\n# Timeweb Managed PostgreSQL\nDATABASE_URL=postgresql://user:password@localhost:5432/stroydocs\n\n# Timeweb Managed Redis\nREDIS_URL=redis://localhost:6379\n\n# Yandex Cloud (YandexGPT парсинг смет)\nYANDEX_GPT_API_KEY=your_yandex_gpt_api_key_here\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\nYANDEX_GPT_MODEL=yandexgpt/latest\nYANDEX_CLOUD_API_KEY=your_yandex_cloud_api_key_here\n\n# Yandex AI Studio (OpenAI-совместимый API) — структуризация OCR (P2), ассистент (P5).\n# YANDEX_FOLDER_ID должен соответствовать каталогу сервис-аккаунта API-ключа.\n# Модель по умолчанию — DeepSeek V4 Flash (reasoning: ответ в message.content, нужен запас max_tokens).\nYANDEX_AI_BASE_URL=https://ai.api.cloud.yandex.net/v1\nYANDEX_LLM_MODEL=deepseek-v4-flash\n# RAG / эмбеддинги (F2). Провайдер векторизации: yandex (RF-облако, ФЗ-152, по умолчанию) | local (on-prem, задел).\n# Yandex использует YANDEX_CLOUD_API_KEY + YANDEX_FOLDER_ID (выше). Размерность вектора — 256 (text-search).\nEMBEDDING_PROVIDER=yandex\n\n# NextAuth\nNEXTAUTH_SECRET=your_nextauth_secret_min_32_chars\nNEXTAUTH_URL=http://localhost:3000\n\n# Cron endpoints (Bearer token for automated schedulers)\nCRON_SECRET=your-cron-secret-change-in-production\n\n# Admin endpoints (Bearer token for CI/scripts; session ADMIN role also accepted)\nADMIN_SECRET=your-admin-secret-change-in-production\n\n# App\nAPP_URL=http://localhost:3000\n\n# Разрешённые CORS-origin для Python-микросервисов (doc-parser, ifc-service, smeta-xml-service),\n# через запятую. Обязателен — сервисы падают при старте без него (fail closed, см. docs/security.md §7).\nCORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001\n\n# Яндекс.Карты (виджет «Карта объектов» на дашборде)\nNEXT_PUBLIC_YANDEX_MAPS_API_KEY=<yandex_maps_api_key>\n\n# SMTP (email-уведомления: согласование, напоминания)\nSMTP_HOST=smtp.yandex.ru\nSMTP_PORT=465\nSMTP_USER=noreply@stroydocs.ru\nSMTP_PASS=<smtp_password>\nSMTP_FROM=\"StroyDocs <noreply@stroydocs.ru>\"\n\n# IfcOpenShell Python-микросервис (services/ifc-service/)\n# Локально: http://localhost:8001\n# В docker-compose: http://ifc-service:8001\nIFC_SERVICE_URL=http://localhost:8001\n\n# Общий секрет вызовов Next.js -> Python-сервисы (ifc-service / smeta-xml-service / doc-parser).\n# ОБЯЗАТЕЛЕН: и приложение, и все три сервиса падают при старте, если он не задан —\n# иначе их эндпоинты остались бы вообще без аутентификации (E4).\n# Сгенерировать: openssl rand -hex 32\nINTERNAL_SERVICE_TOKEN=replace-me-with-64-hex-characters-from-openssl-rand-hex-32\n\n# Микросервис валидации XML смет/ПИР и ИД по XSD (services/smeta-xml-service/)\n# Локально: http://localhost:8002 | docker-compose: http://smeta-xml-service:8002\nSMETA_XML_SERVICE_URL=http://localhost:8002\n# Ссылка на бинарник IfcConvert в вашем S3-бакете (замените <your_bucket> на id бакета)\nIFCCONVERT_URL=https://s3.twcstorage.ru/<your_bucket>/tools/ifcconvert-0.8.5-linux64.zip\n\n# Docling doc-parser microservice (services/doc-parser/) — parse PDF/DOCX/XLSX/scans -> Markdown + tables.\n# Local: http://localhost:8003 | docker-compose: http://doc-parser:8003\nDOCLING_SERVICE_URL=http://localhost:8003\n# Флаг отката OCR-пути (P2). false — отключить распознавание паспортов/сертификатов.\nDOCLING_OCR_ENABLED=true\n"}, "6bf64956688a8f843d2c2e0df868e2a6e0b4dbbb": {"t": 1786068498.9865046, "n": 3360, "h": "a8af6de39eaf0801", "c": "# Timeweb Cloud S3\nS3_ENDPOINT=https://s3.twcstorage.ru\nS3_REGION=ru-1\nS3_BUCKET=your_bucket_name\nS3_ACCESS_KEY=your_s3_access_key\nS3_SECRET_KEY=your_s3_secret_key\n\n# Timeweb Managed PostgreSQL\nDATABASE_URL=postgresql://user:password@localhost:5432/stroydocs\n\n# Timeweb Managed Redis\nREDIS_URL=redis://localhost:6379\n\n# Yandex Cloud (YandexGPT парсинг смет)\nYANDEX_GPT_API_KEY=your_yandex_gpt_api_key_here\nYANDEX_FOLDER_ID=your_yandex_folder_id_here\nYANDEX_GPT_MODEL=yandexgpt/latest\nYANDEX_CLOUD_API_KEY=your_yandex_cloud_api_key_here\n\n# Yandex AI Studio (OpenAI-совместимый API) — структуризация OCR (P2), ассистент (P5).\n# YANDEX_FOLDER_ID должен соответствовать каталогу сервис-аккаунта API-ключа.\n# Модель по умолчанию — DeepSeek V4 Flash (reasoning: ответ в message.content, нужен запас max_tokens).\nYANDEX_AI_BASE_URL=https://ai.api.cloud.yandex.net/v1\nYANDEX_LLM_MODEL=deepseek-v4-flash\n# RAG / эмбеддинги (F2). Провайдер векторизации: yandex (RF-облако, ФЗ-152, по умолчанию) | local (on-prem, задел).\n# Yandex использует YANDEX_CLOUD_API_KEY + YANDEX_FOLDER_ID (выше). Размерность вектора — 256 (text-search).\nEMBEDDING_PROVIDER=yandex\n\n# NextAuth\nNEXTAUTH_SECRET=your_nextauth_secret_min_32_chars\nNEXTAUTH_URL=http://localhost:3000\n\n# Cron endpoints (Bearer token for automated schedulers)\nCRON_SECRET=your-cron-secret-change-in-production\n\n# Admin endpoints (Bearer token for CI/scripts; session ADMIN role also accepted)\nADMIN_SECRET=your-admin-secret-change-in-production\n\n# App\nAPP_URL=http://localhost:3000\n\n# Разрешённые CORS-origin для Python-микросервисов (doc-parser, ifc-service, smeta-xml-service),\n# через запятую. Обязателен — сервисы падают при старте без него (fail closed, см. docs/security.md §7).\nCORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001\n\n# Яндекс.Карты (виджет «Карта объектов» на дашборде)\nNEXT_PUBLIC_YANDEX_MAPS_API_KEY=<yandex_maps_api_key>\n\n# SMTP (email-уведомления: согласование, напоминания)\nSMTP_HOST=smtp.yandex.ru\nSMTP_PORT=465\nSMTP_USER=noreply@stroydocs.ru\nSMTP_PASS=<smtp_password>\nSMTP_FROM=\"StroyDocs <noreply@stroydocs.ru>\"\n\n# IfcOpenShell Python-микросервис (services/ifc-service/)\n# Локально: http://localhost:8001\n# В docker-compose: http://ifc-service:8001\nIFC_SERVICE_URL=http://localhost:8001\n\n# Общий секрет вызовов Next.js -> Python-сервисы (ifc-service / smeta-xml-service / doc-parser).\n# ОБЯЗАТЕЛЕН: и приложение, и все три сервиса падают при старте, если он не задан —\n# иначе их эндпоинты остались бы вообще без аутентификации (E4).\n# Сгенерировать: openssl rand -hex 32\nINTERNAL_SERVICE_TOKEN=replace-me-with-64-hex-characters-from-openssl-rand-hex-32\n\n# Микросервис валидации XML смет/ПИР и ИД по XSD (services/smeta-xml-service/)\n# Локально: http://localhost:8002 | docker-compose: http://smeta-xml-service:8002\nSMETA_XML_SERVICE_URL=http://localhost:8002\n# Ссылка на бинарник IfcConvert в вашем S3-бакете (замените <your_bucket> на id бакета)\nIFCCONVERT_URL=https://s3.twcstorage.ru/<your_bucket>/tools/ifcconvert-0.8.5-linux64.zip\n\n# Docling doc-parser microservice (services/doc-parser/) — parse PDF/DOCX/XLSX/scans -> Markdown + tables.\n# Local: http://localhost:8003 | docker-compose: http://doc-parser:8003\nDOCLING_SERVICE_URL=http://localhost:8003\n# Флаг отката OCR-пути (P2). false — отключить распознавание паспортов/сертификатов.\nDOCLING_OCR_ENABLED=true\n"}}}}