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.
1 line
49 KiB
JSON
1 line
49 KiB
JSON
{"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"}}}} |