naeel
|
832a25e08f
|
v1.0.84: повторная загрузка удаляет старый документ с тем же filename
|
2026-06-21 09:26:03 +04:00 |
|
naeel
|
a214a0d1e6
|
v1.0.83: XPath //:t и //:tr → .//:t и .//:tr — поиск от параграфа, не от корня
|
2026-06-21 09:24:11 +04:00 |
|
naeel
|
192b4ea0e9
|
v1.0.82: fallback на ZIP/XML при любом пустом результате POI (не только при ошибках)
|
2026-06-21 09:13:06 +04:00 |
|
naeel
|
ec02521a00
|
v1.0.81: bump version
|
2026-06-21 09:05:51 +04:00 |
|
naeel
|
edd2eca0c2
|
v1.0.81: точное совпадение класса XWPFParagraph/XWPFTable — фикс SDTParagraph дублирований
|
2026-06-21 08:59:18 +04:00 |
|
naeel
|
18d1a07aad
|
v1.0.80: bump версии в index.cfm
|
2026-06-21 08:34:55 +04:00 |
|
naeel
|
2a5762d5e7
|
v1.0.80: structNew вместо {...} в парсерах — баг Lucee с переиспользованием struct
|
2026-06-21 08:30:52 +04:00 |
|
naeel
|
0be35bd3db
|
v1.0.79: .doc → XWPF первым (после конвертации), HWPF только fallback
|
2026-06-21 08:07:59 +04:00 |
|
naeel
|
9eaa6d1f08
|
v1.0.78: один столбец Текст вместо View/Инфо, левая=textify, правая=распарсено
|
2026-06-21 07:55:47 +04:00 |
|
naeel
|
c25864ea61
|
v1.0.77: авто-парсинг после загрузки с таймером
|
2026-06-21 07:32:42 +04:00 |
|
naeel
|
e049d28515
|
v1.0.76: фикс uppercase ключей Lucee, заголовки столбцов, красная корзина, Инфо+, столбец Текст с 2-панельной модалкой
|
2026-06-21 07:21:45 +04:00 |
|
naeel
|
fa843bc367
|
fix: раздельные промпты для initial (ADD) и ДС (diff) (v1.0.75)
|
2026-06-20 11:04:33 +04:00 |
|
naeel
|
1ecff7c441
|
v2: SSE через ВМ (process-v2), убрано с Lucee (v1.0.75)
|
2026-06-20 10:52:37 +04:00 |
|
naeel
|
4e20b7760e
|
Phase 3: apply_events.cfm + process.cfm v2 + кнопка v2 (v1.0.74)
|
2026-06-20 10:31:46 +04:00 |
|
naeel
|
7f84c86633
|
nginx: /llm-ops proxy (Phase 2 fix)
|
2026-06-20 10:17:52 +04:00 |
|
naeel
|
2b01109a0c
|
fix: view.cfm empty elements_json check + modal instead of new tab (v1.0.72)
|
2026-06-20 10:02:09 +04:00 |
|
naeel
|
8cd40e3248
|
fix: cftry without cfcatch in parseDOC_POI (v1.0.71)
|
2026-06-20 10:00:59 +04:00 |
|
naeel
|
2ffc24fac1
|
Phase 1: spec_events + spec_current tables (v1.0.70)
|
2026-06-20 09:55:48 +04:00 |
|
naeel
|
bcd937e46f
|
v2 architecture: Sonnet plan + request docs
|
2026-06-20 09:55:10 +04:00 |
|
naeel
|
cb445aeba1
|
view.cfm: предпросмотр первых 15 строк документа (v1.0.69)
|
2026-06-20 09:08:36 +04:00 |
|
naeel
|
7720a1cccc
|
fix: var rowsArr (v1.0.68)
|
2026-06-20 09:03:22 +04:00 |
|
naeel
|
8aa6a3a932
|
parser: POI (XWPFDocument/HWPFDocument) для DOCX/DOC + fallback ZIP/XML (v1.0.67)
|
2026-06-20 08:45:46 +04:00 |
|
naeel
|
9a08218cba
|
fix: q.getColumnNames() → listToArray(q.columnList) (v1.0.66)
|
2026-06-19 11:19:44 +04:00 |
|
naeel
|
e78bec8749
|
fix: String(c).toLowerCase() (v1.0.65)
|
2026-06-19 11:13:09 +04:00 |
|
naeel
|
84bded08b8
|
fix: r[ci] → r[c] (ROWS это объекты, не массивы) (v1.0.64)
|
2026-06-19 11:08:48 +04:00 |
|
naeel
|
9f67c77b95
|
fix: normalize COLUMNS to lowercase через toLowerCase() (v1.0.63)
|
2026-06-19 10:59:09 +04:00 |
|
naeel
|
27a43725cd
|
fix: COLUMNS uppercase → DOCUMENT_ID/ID/TYPE (v1.0.62)
|
2026-06-19 10:58:20 +04:00 |
|
naeel
|
b5be3f96c7
|
debug: console.log в refreshSupps (v1.0.61)
|
2026-06-19 10:51:47 +04:00 |
|
naeel
|
d406639954
|
fix: Lucee serializeJSON даёт UPPERCASE ключи, revert lowercase (v1.0.60)
|
2026-06-19 10:46:57 +04:00 |
|
naeel
|
59b1ad935d
|
fix: все CFML-ключи → lowercase в JS (v1.0.59)
|
2026-06-19 10:42:58 +04:00 |
|
naeel
|
eabe457258
|
fix refreshSupps: lowercase keys (api.cfm возвращает ok/rows/columns) (v1.0.58)
|
2026-06-19 10:36:55 +04:00 |
|
naeel
|
f99fae5a28
|
radio для выбора базового договора + api set_initial (v1.0.57)
|
2026-06-19 10:27:10 +04:00 |
|
naeel
|
bde4ccefea
|
revert: убрал SSE, вернул fetch + добавил skip/DELETE в extractor (v1.0.56)
|
2026-06-19 10:04:22 +04:00 |
|
naeel
|
30fa9d657a
|
CORS для SSE (v1.0.55)
|
2026-06-19 09:55:54 +04:00 |
|
naeel
|
a2507f24bf
|
SSE через ВМ (proxy_buffering off) + nginx config (v1.0.54)
|
2026-06-19 09:50:45 +04:00 |
|
naeel
|
c6108ead6d
|
SSE streaming: прогресс по каждому файлу во время LLM (v1.0.53)
|
2026-06-19 09:40:31 +04:00 |
|
naeel
|
f4a6ceb38b
|
topbar sticky + версия (v1.0.52)
|
2026-06-19 09:23:00 +04:00 |
|
naeel
|
398ef88fd8
|
fix: await prompt save before process.cfm (v1.0.51)
|
2026-06-19 09:22:43 +04:00 |
|
naeel
|
feae86b233
|
process.cfm: фильтр elements_json вместо parsed_text (parser не сохраняет parsed_text) (v1.0.50)
|
2026-06-19 08:52:06 +04:00 |
|
naeel
|
d6ca31251b
|
process.cfm: один запрос вместо N+1, skip already extracted, DELETE before INSERT, prompt fix (v1.0.49)
|
2026-06-19 08:48:29 +04:00 |
|
naeel
|
93a4aa9eb8
|
v1.0.47: deploy/sync.sh — синхронизация VM
|
2026-06-19 08:15:00 +04:00 |
|
naeel
|
3cb312ab64
|
v1.0.47: deploy/ — конвертер .doc + nginx прокси
|
2026-06-19 08:14:00 +04:00 |
|
naeel
|
92113c0374
|
v1.0.47: differ — начальный vs все допники (как Flask)
|
2026-06-19 08:07:21 +04:00 |
|
naeel
|
f03ba9160a
|
v1.0.46: промпт на сервере — extractor читает из БД, UI сохраняет
|
2026-06-19 07:49:51 +04:00 |
|
naeel
|
9d554dde47
|
v1.0.45: таймер прогресса LLM
|
2026-06-19 07:43:19 +04:00 |
|
naeel
|
72ee3d18e5
|
v1.0.44: DEFAULT_PROMPT — промпт по умолчанию
|
2026-06-19 07:40:51 +04:00 |
|
naeel
|
6fc85811b7
|
v1.0.43: превью текста + первые строки таблиц в модалке
|
2026-06-19 07:36:27 +04:00 |
|
naeel
|
836b0eca6b
|
v1.0.42: конвертация .doc через ВМ + парсер .doc
|
2026-06-19 07:26:36 +04:00 |
|
naeel
|
70e1ce8b98
|
v1.0.41: детали в модалке + ошибки парсера в статусе
|
2026-06-19 07:18:41 +04:00 |
|
naeel
|
75ebfb02fe
|
v1.0.40: UI — копия Flask llm.html (автозагрузка, парсинг, LLM, чат)
|
2026-06-19 07:14:47 +04:00 |
|
naeel
|
e2334d6ca7
|
v1.0.37: загрузка через прокси contracts.kube5s.ru/lucee/
|
2026-06-19 07:04:52 +04:00 |
|
naeel
|
a23ea0f049
|
v1.0.36: чанки 8KB — обход H2 бага
|
2026-06-18 21:41:29 +04:00 |
|
naeel
|
b2b148c1b7
|
v1.0.35: iframe + form-encoded base64
|
2026-06-18 21:26:18 +04:00 |
|
naeel
|
0a3ccdb973
|
v1.0.34: iframe-загрузка — обход HTTP/2 multiplexing
|
2026-06-18 21:22:03 +04:00 |
|
naeel
|
ddc3404556
|
v1.0.33: cfthread — мгновенный ответ + один запрос на все файлы
|
2026-06-18 21:12:30 +04:00 |
|
naeel
|
e20a50dc55
|
v1.0.32: убрать Connection: close + cache-buster URL
|
2026-06-18 21:04:19 +04:00 |
|
naeel
|
6891e4a805
|
v1.0.31: чтение всех файлов ДО отправки — разделение фаз
|
2026-06-18 21:02:15 +04:00 |
|
naeel
|
d3516f1454
|
v1.0.30: Connection: close — принудительно новая коннекция на каждый запрос
|
2026-06-18 20:57:11 +04:00 |
|
naeel
|
d42b2966af
|
v1.0.29: возврат последовательной загрузки (один запрос > nginx лимит)
|
2026-06-18 20:49:35 +04:00 |
|
naeel
|
17517e0e60
|
v1.0.28: один запрос на все файлы + ошибки блокируют ЛЛМ
|
2026-06-18 20:43:21 +04:00 |
|
naeel
|
fb8b53eed1
|
v1.0.27: задержка 300ms между загрузками
|
2026-06-18 19:54:50 +04:00 |
|
naeel
|
3489058ec2
|
v1.0.26: ошибка загрузки — в колонке Статус
|
2026-06-18 19:53:37 +04:00 |
|
naeel
|
bca1bba6d0
|
v1.0.25: загрузка JSON/base64 — без бинарного multipart
|
2026-06-18 19:49:57 +04:00 |
|
naeel
|
51b9566046
|
v1.0.24: детали ошибки в таблице Статус
|
2026-06-18 19:42:37 +04:00 |
|
naeel
|
10c4817198
|
v1.0.23: детальные ошибки загрузки + actions после upload
|
2026-06-18 19:38:34 +04:00 |
|
naeel
|
de090dba58
|
v1.0.22: чистая загрузка — без retry, timeout 120s
|
2026-06-18 19:31:22 +04:00 |
|
naeel
|
a6a1c70f41
|
v1.0.21: промпт на сервере (prompt.cfm + БД)
|
2026-06-18 19:26:57 +04:00 |
|
naeel
|
642705ebe6
|
v1.0.20: Полный цикл + промпт-редактор
|
2026-06-18 19:23:34 +04:00 |
|
naeel
|
73a3d28a88
|
v1.0.19: CORS chat.cfm
|
2026-06-18 19:00:55 +04:00 |
|
naeel
|
e3b3f55f10
|
v1.0.19: Nubes UI + CORS + favicon/logo + таблица как на ВМ
|
2026-06-18 19:00:35 +04:00 |
|
naeel
|
27068d92b8
|
v1.0.18: chat.cfm + UI (index.cfm — полный интерфейс)
|
2026-06-18 18:52:11 +04:00 |
|
naeel
|
fbe16c4826
|
v1.0.17: requesttimeout 120→180
|
2026-06-18 18:44:26 +04:00 |
|
naeel
|
4c9a01d68e
|
v1.0.16: requesttimeout 20→120 для LLM
|
2026-06-18 18:44:02 +04:00 |
|
naeel
|
595435adb2
|
v1.0.15: fix var в индексах циклов parser.cfm
|
2026-06-18 18:35:08 +04:00 |
|
naeel
|
9201e36304
|
v1.0.14: fix var scope — только в функциях
|
2026-06-18 18:28:46 +04:00 |
|
naeel
|
3cc519702f
|
v1.0.13: upload.cfm — contract_id для добавления допников
|
2026-06-18 18:22:52 +04:00 |
|
naeel
|
6de3ca3891
|
v1.0.12: parser.cfm — рефакторинг + ZIP (подпапки, PDF/DOCX)
|
2026-06-18 18:19:06 +04:00 |
|
naeel
|
c8605b3cb6
|
v1.0.11: differ.cfm — сравнение spec_rows между допниками
|
2026-06-18 18:13:33 +04:00 |
|
naeel
|
c04b2a2fe3
|
v1.0.10: fix cfhttp.statusCode сравнение (200 OK vs 200)
|
2026-06-18 18:05:14 +04:00 |
|
naeel
|
859b369b9f
|
v1.0.9: extractor.cfm — lowercase JSON keys + fix JSON parsing
|
2026-06-18 17:58:09 +04:00 |
|
naeel
|
1116218822
|
v1.0.8: extractor.cfm — LLM-извлечение spec_rows через cfhttp
|
2026-06-18 17:41:42 +04:00 |
|
naeel
|
45b2f31e8a
|
v1.0.7: parser.cfm — DOCX через ZIP/XML (без POI)
|
2026-06-18 16:50:39 +04:00 |
|
naeel
|
3e191f83ed
|
v1.0.6: parser.cfm — PDFBox Loader + BufferedInputStream
|
2026-06-18 16:37:25 +04:00 |
|
naeel
|
186c889513
|
v1.0.5: parser.cfm — PDF через PDFBox, TXT
|
2026-06-18 16:15:00 +04:00 |
|
naeel
|
cf59d82d5b
|
v1.0.4: base64 вместо blob для original_bytes
|
2026-06-18 14:57:47 +04:00 |
|
naeel
|
3c78bc2db3
|
v1.0.3: cftransaction для BYTEA Large Objects
|
2026-06-18 14:48:35 +04:00 |
|
naeel
|
7583eecf52
|
v1.0.2: fix BYTEA — ?stringtype=unspecified в JDBC URL
|
2026-06-18 14:39:10 +04:00 |
|
naeel
|
d2d99874b7
|
v1.0.1: upload.cfm + index
|
2026-06-18 14:19:49 +04:00 |
|
naeel
|
2e216a9a3f
|
upload.cfm: приём файлов
|
2026-06-18 14:16:39 +04:00 |
|
naeel
|
3975954f5d
|
jars.cfm: проверить PDFBox/POI
|
2026-06-18 14:14:59 +04:00 |
|
naeel
|
2e376d3be1
|
v1.0.0: index.cfm
|
2026-06-18 14:09:20 +04:00 |
|
naeel
|
463132089d
|
Application.cfc: 23 строки, только хардкод DS
|
2026-06-18 14:07:13 +04:00 |
|
naeel
|
cb19fcf949
|
Application.cfc: минимальный + getDS pg
|
2026-06-18 14:05:58 +04:00 |
|
naeel
|
c4d6611f23
|
Application.cfc: шаблон + getDS pg
|
2026-06-18 14:03:41 +04:00 |
|
naeel
|
6170995130
|
fix: api.cfm без cfprocessingdirective, cfparam action
|
2026-06-18 14:02:00 +04:00 |
|
naeel
|
1ae7e7db56
|
fix: Application.cfc на cfset, без скрипта
|
2026-06-18 14:00:24 +04:00 |
|
naeel
|
6738b6c0a2
|
Application.cfc: всё хардкод, только DB_USER/DB_PASS из env
|
2026-06-18 13:58:13 +04:00 |
|
naeel
|
efaa916345
|
fix: datasource hardcoded + bundleName/bundleVersion
|
2026-06-18 13:56:56 +04:00 |
|
naeel
|
d1e602881b
|
test: cfquery с inline datasource
|
2026-06-18 12:45:28 +04:00 |
|
naeel
|
91e1cdf76b
|
fix: application update datasource в api.cfm
|
2026-06-18 12:44:29 +04:00 |
|