@reftrixmcp/mcp-server 0.1.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1424) hide show
  1. package/README.md +36 -6
  2. package/package.json +46 -41
  3. package/src/admin/bull-board.ts +177 -0
  4. package/src/index.ts +32 -1
  5. package/src/middleware/auth.ts +6 -0
  6. package/src/middleware/index.ts +13 -0
  7. package/src/middleware/rate-limiter.ts +525 -0
  8. package/src/router.ts +36 -3
  9. package/src/schemas/common-search-filters.ts +42 -0
  10. package/src/services/background/background-design-db.service.ts +4 -6
  11. package/src/services/background/background-design-embedding.service.ts +6 -8
  12. package/src/services/background-search.service.ts +44 -16
  13. package/src/services/browser-process-manager.ts +29 -24
  14. package/src/services/layout-embedding.service.ts +18 -28
  15. package/src/services/layout-search.service.ts +52 -31
  16. package/src/services/layout-to-code.service.ts +13 -21
  17. package/src/services/ml/mood-brandtone-embedding.service.ts +4 -10
  18. package/src/services/motion/analyzers/webgl-motion-analyzer.ts +1 -3
  19. package/src/services/motion/existing-animation-detector.service.ts +11 -17
  20. package/src/services/motion/frame-analysis-save.helper.ts +3 -8
  21. package/src/services/motion/frame-capture.service.ts +5 -5
  22. package/src/services/motion/frame-embedding.service.ts +30 -46
  23. package/src/services/motion/js-animation-detector.ts +5 -15
  24. package/src/services/motion/js-animation-search.service.ts +12 -20
  25. package/src/services/motion/motion-db.service.ts +21 -31
  26. package/src/services/motion/three-js-scene-extractor.ts +1 -3
  27. package/src/services/motion/webgl-animation-detector.service.ts +5 -9
  28. package/src/services/motion/webgl-animation-embedding.service.ts +3 -5
  29. package/src/services/motion-persistence.service.ts +13 -19
  30. package/src/services/motion-search.service.ts +72 -57
  31. package/src/services/narrative/analyzers/worldview.analyzer.ts +6 -10
  32. package/src/services/narrative/narrative-analysis.service.ts +10 -16
  33. package/src/services/narrative/narrative-search.service.ts +89 -40
  34. package/src/services/narrative/types/narrative.types.ts +24 -6
  35. package/src/services/page/frame-analyzer.service.ts +1 -3
  36. package/src/services/page/layout-analyzer.service.ts +224 -303
  37. package/src/services/page/playwright-crawler.service.ts +14 -20
  38. package/src/services/page/quality-evaluator.service.ts +1 -3
  39. package/src/services/page/runtime-animation-detector.service.ts +7 -17
  40. package/src/services/page/video-recorder.service.ts +2 -6
  41. package/src/services/page/webgl-detector.service.ts +3 -5
  42. package/src/services/page-ingest-adapter.ts +269 -251
  43. package/src/services/part/part-search.service.ts +43 -22
  44. package/src/services/part/schemas.ts +6 -0
  45. package/src/services/project-context-analyzer.ts +3 -5
  46. package/src/services/quality/axe-accessibility.service.ts +3 -5
  47. package/src/services/quality/benchmark.service.ts +4 -16
  48. package/src/services/quality/pattern-matcher.service.ts +11 -21
  49. package/src/services/quality/playwright-axe.service.ts +10 -18
  50. package/src/services/quality-search.service.ts +16 -17
  51. package/src/services/responsive/multi-viewport-capture.service.ts +11 -17
  52. package/src/services/responsive/responsive-analysis-embedding.service.ts +7 -11
  53. package/src/services/responsive/responsive-analysis.service.ts +7 -11
  54. package/src/services/responsive/responsive-quality-evaluator.service.ts +4 -6
  55. package/src/services/responsive-search.service.ts +40 -5
  56. package/src/services/search-cache.service.ts +166 -0
  57. package/src/services/service-client.ts +16 -24
  58. package/src/services/service-initializer.ts +49 -945
  59. package/src/services/service-registrar-analysis.ts +679 -0
  60. package/src/services/service-registrar-search.ts +464 -0
  61. package/src/services/vision/scroll-vision-persistence.service.ts +4 -6
  62. package/src/services/vision-embedding-search.service.ts +57 -45
  63. package/src/services/vision-embedding.service.ts +8 -12
  64. package/src/services/worker-supervisor.service.ts +2 -6
  65. package/src/tools/background/schemas.ts +2 -1
  66. package/src/tools/background/search.tool.ts +93 -53
  67. package/src/tools/brief/validate.handler.ts +11 -26
  68. package/src/tools/design/search-by-image.tool.ts +891 -0
  69. package/src/tools/index.ts +42 -1
  70. package/src/tools/layout/batch-ingest.tool.ts +14 -21
  71. package/src/tools/layout/ingest.tool.ts +38 -88
  72. package/src/tools/layout/inspect/inspect.tool.ts +32 -59
  73. package/src/tools/layout/inspect/visual-extractors.utils.ts +3 -9
  74. package/src/tools/layout/schemas.ts +11 -8
  75. package/src/tools/layout/search-executor.ts +699 -0
  76. package/src/tools/layout/search-helpers.ts +620 -0
  77. package/src/tools/layout/search.tool.ts +148 -1371
  78. package/src/tools/layout/to-code.tool.ts +21 -42
  79. package/src/tools/motion/analyze-frames.handler.ts +19 -37
  80. package/src/tools/motion/code-generators.ts +1363 -0
  81. package/src/tools/motion/css-mode-handler.ts +14 -23
  82. package/src/tools/motion/detect.tool.ts +38 -60
  83. package/src/tools/motion/detection-modes.ts +4 -8
  84. package/src/tools/motion/di-factories.ts +87 -110
  85. package/src/tools/motion/search-helpers.ts +376 -0
  86. package/src/tools/motion/search.schemas.ts +9 -6
  87. package/src/tools/motion/search.tool.ts +81 -1717
  88. package/src/tools/narrative/analyze.tool.ts +14 -30
  89. package/src/tools/narrative/schemas.ts +14 -11
  90. package/src/tools/narrative/search.tool.ts +91 -77
  91. package/src/tools/page/analyze.tool.ts +21 -33
  92. package/src/tools/page/get-job-status.tool.ts +8 -12
  93. package/src/tools/page/handlers/db-handler.ts +3 -6
  94. package/src/tools/page/handlers/embedding-handler.ts +48 -81
  95. package/src/tools/page/handlers/execution-status-tracker.ts +3 -5
  96. package/src/tools/page/handlers/js-animation-handler.ts +29 -53
  97. package/src/tools/page/handlers/layout-handler.ts +45 -73
  98. package/src/tools/page/handlers/motion-handler.ts +24 -35
  99. package/src/tools/page/handlers/narrative-handler.ts +12 -24
  100. package/src/tools/page/handlers/phased-executor.ts +13 -16
  101. package/src/tools/page/handlers/quality-handler.ts +3 -4
  102. package/src/tools/page/handlers/result-builder.ts +21 -18
  103. package/src/tools/page/handlers/sync-helpers.ts +597 -0
  104. package/src/tools/page/handlers/sync-phase-handlers.ts +1170 -0
  105. package/src/tools/page/handlers/sync-processing.ts +192 -1542
  106. package/src/tools/page/handlers/timeout-utils.ts +23 -30
  107. package/src/tools/page/handlers/video-handler.ts +9 -9
  108. package/src/tools/page/handlers/webgl-animation-handler.ts +10 -13
  109. package/src/tools/part/compare.tool.ts +2 -20
  110. package/src/tools/part/inspect.tool.ts +11 -41
  111. package/src/tools/part/search.tool.ts +50 -28
  112. package/src/tools/preference/get.tool.ts +6 -19
  113. package/src/tools/preference/hear.tool.ts +6 -19
  114. package/src/tools/preference/reset.tool.ts +6 -19
  115. package/src/tools/project-get.ts +12 -14
  116. package/src/tools/project-list.ts +10 -22
  117. package/src/tools/quality/batch-evaluate.tool.ts +17 -23
  118. package/src/tools/quality/evaluate.tool.ts +42 -131
  119. package/src/tools/quality/get-job-status.tool.ts +2 -1
  120. package/src/tools/responsive/schemas.ts +2 -2
  121. package/src/tools/responsive/search.tool.ts +73 -46
  122. package/src/tools/search-unified.tool.ts +582 -0
  123. package/src/tools/style-get-palette.ts +18 -33
  124. package/src/tools/system-health.ts +24 -33
  125. package/src/utils/di-factory.ts +64 -0
  126. package/src/utils/prisma-wrapper-factory.ts +18 -17
  127. package/src/utils/sanitize-error.ts +132 -0
  128. package/src/utils/url-validator.ts +1 -3
  129. package/src/workers/batch-quality-worker.ts +5 -7
  130. package/src/workers/page-analyze-worker.ts +38 -24
  131. package/src/workers/phases/phase-0-ingest.ts +1 -1
  132. package/src/workers/phases/phase-1-layout.ts +10 -7
  133. package/src/workers/phases/phase-2-motion.ts +22 -23
  134. package/src/workers/phases/phase-4-narrative.ts +8 -12
  135. package/src/workers/phases/phase-5-embedding.ts +669 -457
  136. package/LICENSE +0 -661
  137. package/dist/api/health.d.ts +0 -122
  138. package/dist/api/health.d.ts.map +0 -1
  139. package/dist/api/health.js +0 -267
  140. package/dist/api/health.js.map +0 -1
  141. package/dist/config/index.d.ts +0 -9
  142. package/dist/config/index.d.ts.map +0 -1
  143. package/dist/config/index.js +0 -27
  144. package/dist/config/index.js.map +0 -1
  145. package/dist/config/redis.d.ts +0 -99
  146. package/dist/config/redis.d.ts.map +0 -1
  147. package/dist/config/redis.js +0 -234
  148. package/dist/config/redis.js.map +0 -1
  149. package/dist/index.d.ts +0 -18
  150. package/dist/index.d.ts.map +0 -1
  151. package/dist/index.js +0 -247
  152. package/dist/index.js.map +0 -1
  153. package/dist/lib/index.d.ts +0 -6
  154. package/dist/lib/index.d.ts.map +0 -1
  155. package/dist/lib/index.js +0 -14
  156. package/dist/lib/index.js.map +0 -1
  157. package/dist/lib/project-context.d.ts +0 -51
  158. package/dist/lib/project-context.d.ts.map +0 -1
  159. package/dist/lib/project-context.js +0 -109
  160. package/dist/lib/project-context.js.map +0 -1
  161. package/dist/middleware/args-type-coercion.d.ts +0 -59
  162. package/dist/middleware/args-type-coercion.d.ts.map +0 -1
  163. package/dist/middleware/args-type-coercion.js +0 -187
  164. package/dist/middleware/args-type-coercion.js.map +0 -1
  165. package/dist/middleware/auth.d.ts +0 -122
  166. package/dist/middleware/auth.d.ts.map +0 -1
  167. package/dist/middleware/auth.js +0 -430
  168. package/dist/middleware/auth.js.map +0 -1
  169. package/dist/middleware/index.d.ts +0 -10
  170. package/dist/middleware/index.d.ts.map +0 -1
  171. package/dist/middleware/index.js +0 -38
  172. package/dist/middleware/index.js.map +0 -1
  173. package/dist/middleware/light-response-controller.d.ts +0 -206
  174. package/dist/middleware/light-response-controller.d.ts.map +0 -1
  175. package/dist/middleware/light-response-controller.js +0 -555
  176. package/dist/middleware/light-response-controller.js.map +0 -1
  177. package/dist/middleware/response-size-warning.d.ts +0 -97
  178. package/dist/middleware/response-size-warning.d.ts.map +0 -1
  179. package/dist/middleware/response-size-warning.js +0 -137
  180. package/dist/middleware/response-size-warning.js.map +0 -1
  181. package/dist/queues/batch-quality-queue.d.ts +0 -225
  182. package/dist/queues/batch-quality-queue.d.ts.map +0 -1
  183. package/dist/queues/batch-quality-queue.js +0 -375
  184. package/dist/queues/batch-quality-queue.js.map +0 -1
  185. package/dist/queues/index.d.ts +0 -10
  186. package/dist/queues/index.d.ts.map +0 -1
  187. package/dist/queues/index.js +0 -28
  188. package/dist/queues/index.js.map +0 -1
  189. package/dist/queues/page-analyze-queue.d.ts +0 -287
  190. package/dist/queues/page-analyze-queue.d.ts.map +0 -1
  191. package/dist/queues/page-analyze-queue.js +0 -219
  192. package/dist/queues/page-analyze-queue.js.map +0 -1
  193. package/dist/router.d.ts +0 -144
  194. package/dist/router.d.ts.map +0 -1
  195. package/dist/router.js +0 -261
  196. package/dist/router.js.map +0 -1
  197. package/dist/schemas/creative/index.d.ts +0 -8
  198. package/dist/schemas/creative/index.d.ts.map +0 -1
  199. package/dist/schemas/creative/index.js +0 -23
  200. package/dist/schemas/creative/index.js.map +0 -1
  201. package/dist/schemas/creative/palette.schema.d.ts +0 -741
  202. package/dist/schemas/creative/palette.schema.d.ts.map +0 -1
  203. package/dist/schemas/creative/palette.schema.js +0 -154
  204. package/dist/schemas/creative/palette.schema.js.map +0 -1
  205. package/dist/schemas/mood-brandtone-filters.d.ts +0 -740
  206. package/dist/schemas/mood-brandtone-filters.d.ts.map +0 -1
  207. package/dist/schemas/mood-brandtone-filters.js +0 -265
  208. package/dist/schemas/mood-brandtone-filters.js.map +0 -1
  209. package/dist/scripts/backfill-embeddings.d.ts +0 -3
  210. package/dist/scripts/backfill-embeddings.d.ts.map +0 -1
  211. package/dist/scripts/backfill-embeddings.js +0 -385
  212. package/dist/scripts/backfill-embeddings.js.map +0 -1
  213. package/dist/scripts/check-embedding-coverage.d.ts +0 -3
  214. package/dist/scripts/check-embedding-coverage.d.ts.map +0 -1
  215. package/dist/scripts/check-embedding-coverage.js +0 -103
  216. package/dist/scripts/check-embedding-coverage.js.map +0 -1
  217. package/dist/scripts/start-workers.d.ts +0 -3
  218. package/dist/scripts/start-workers.d.ts.map +0 -1
  219. package/dist/scripts/start-workers.js +0 -447
  220. package/dist/scripts/start-workers.js.map +0 -1
  221. package/dist/server.d.ts +0 -49
  222. package/dist/server.d.ts.map +0 -1
  223. package/dist/server.js +0 -237
  224. package/dist/server.js.map +0 -1
  225. package/dist/services/background/background-design-db.service.d.ts +0 -65
  226. package/dist/services/background/background-design-db.service.d.ts.map +0 -1
  227. package/dist/services/background/background-design-db.service.js +0 -138
  228. package/dist/services/background/background-design-db.service.js.map +0 -1
  229. package/dist/services/background/background-design-detector.service.d.ts +0 -125
  230. package/dist/services/background/background-design-detector.service.d.ts.map +0 -1
  231. package/dist/services/background/background-design-detector.service.js +0 -1106
  232. package/dist/services/background/background-design-detector.service.js.map +0 -1
  233. package/dist/services/background/background-design-embedding.service.d.ts +0 -188
  234. package/dist/services/background/background-design-embedding.service.d.ts.map +0 -1
  235. package/dist/services/background/background-design-embedding.service.js +0 -386
  236. package/dist/services/background/background-design-embedding.service.js.map +0 -1
  237. package/dist/services/background-search.service.d.ts +0 -43
  238. package/dist/services/background-search.service.d.ts.map +0 -1
  239. package/dist/services/background-search.service.js +0 -235
  240. package/dist/services/background-search.service.js.map +0 -1
  241. package/dist/services/backup-service.d.ts +0 -135
  242. package/dist/services/backup-service.d.ts.map +0 -1
  243. package/dist/services/backup-service.js +0 -357
  244. package/dist/services/backup-service.js.map +0 -1
  245. package/dist/services/brief/brief-parser-service.d.ts +0 -47
  246. package/dist/services/brief/brief-parser-service.d.ts.map +0 -1
  247. package/dist/services/brief/brief-parser-service.js +0 -380
  248. package/dist/services/brief/brief-parser-service.js.map +0 -1
  249. package/dist/services/brief/schemas/brief-parser-schemas.d.ts +0 -278
  250. package/dist/services/brief/schemas/brief-parser-schemas.d.ts.map +0 -1
  251. package/dist/services/brief/schemas/brief-parser-schemas.js +0 -116
  252. package/dist/services/brief/schemas/brief-parser-schemas.js.map +0 -1
  253. package/dist/services/browser-process-manager.d.ts +0 -116
  254. package/dist/services/browser-process-manager.d.ts.map +0 -1
  255. package/dist/services/browser-process-manager.js +0 -259
  256. package/dist/services/browser-process-manager.js.map +0 -1
  257. package/dist/services/cache.d.ts +0 -119
  258. package/dist/services/cache.d.ts.map +0 -1
  259. package/dist/services/cache.js +0 -233
  260. package/dist/services/cache.js.map +0 -1
  261. package/dist/services/checksum-service.d.ts +0 -122
  262. package/dist/services/checksum-service.d.ts.map +0 -1
  263. package/dist/services/checksum-service.js +0 -270
  264. package/dist/services/checksum-service.js.map +0 -1
  265. package/dist/services/css-analysis-cache.service.d.ts +0 -248
  266. package/dist/services/css-analysis-cache.service.d.ts.map +0 -1
  267. package/dist/services/css-analysis-cache.service.js +0 -398
  268. package/dist/services/css-analysis-cache.service.js.map +0 -1
  269. package/dist/services/database-dumper.service.d.ts +0 -181
  270. package/dist/services/database-dumper.service.d.ts.map +0 -1
  271. package/dist/services/database-dumper.service.js +0 -550
  272. package/dist/services/database-dumper.service.js.map +0 -1
  273. package/dist/services/embedding-backfill.service.d.ts +0 -53
  274. package/dist/services/embedding-backfill.service.d.ts.map +0 -1
  275. package/dist/services/embedding-backfill.service.js +0 -672
  276. package/dist/services/embedding-backfill.service.js.map +0 -1
  277. package/dist/services/embedding-validation.service.d.ts +0 -64
  278. package/dist/services/embedding-validation.service.d.ts.map +0 -1
  279. package/dist/services/embedding-validation.service.js +0 -141
  280. package/dist/services/embedding-validation.service.js.map +0 -1
  281. package/dist/services/encryption-service.d.ts +0 -171
  282. package/dist/services/encryption-service.d.ts.map +0 -1
  283. package/dist/services/encryption-service.js +0 -343
  284. package/dist/services/encryption-service.js.map +0 -1
  285. package/dist/services/external-css-fetcher.d.ts +0 -185
  286. package/dist/services/external-css-fetcher.d.ts.map +0 -1
  287. package/dist/services/external-css-fetcher.js +0 -667
  288. package/dist/services/external-css-fetcher.js.map +0 -1
  289. package/dist/services/gpu-resource-manager.d.ts +0 -180
  290. package/dist/services/gpu-resource-manager.d.ts.map +0 -1
  291. package/dist/services/gpu-resource-manager.js +0 -485
  292. package/dist/services/gpu-resource-manager.js.map +0 -1
  293. package/dist/services/index.d.ts +0 -15
  294. package/dist/services/index.d.ts.map +0 -1
  295. package/dist/services/index.js +0 -73
  296. package/dist/services/index.js.map +0 -1
  297. package/dist/services/layout/component-splitter.d.ts +0 -63
  298. package/dist/services/layout/component-splitter.d.ts.map +0 -1
  299. package/dist/services/layout/component-splitter.js +0 -508
  300. package/dist/services/layout/component-splitter.js.map +0 -1
  301. package/dist/services/layout/html-to-jsx-converter.d.ts +0 -40
  302. package/dist/services/layout/html-to-jsx-converter.d.ts.map +0 -1
  303. package/dist/services/layout/html-to-jsx-converter.js +0 -484
  304. package/dist/services/layout/html-to-jsx-converter.js.map +0 -1
  305. package/dist/services/layout/semantic-html-converter.d.ts +0 -67
  306. package/dist/services/layout/semantic-html-converter.d.ts.map +0 -1
  307. package/dist/services/layout/semantic-html-converter.js +0 -247
  308. package/dist/services/layout/semantic-html-converter.js.map +0 -1
  309. package/dist/services/layout/style-to-tailwind-mapper.d.ts +0 -82
  310. package/dist/services/layout/style-to-tailwind-mapper.d.ts.map +0 -1
  311. package/dist/services/layout/style-to-tailwind-mapper.js +0 -1334
  312. package/dist/services/layout/style-to-tailwind-mapper.js.map +0 -1
  313. package/dist/services/layout-embedding.service.d.ts +0 -415
  314. package/dist/services/layout-embedding.service.d.ts.map +0 -1
  315. package/dist/services/layout-embedding.service.js +0 -1147
  316. package/dist/services/layout-embedding.service.js.map +0 -1
  317. package/dist/services/layout-generate-code-service-export.d.ts +0 -38
  318. package/dist/services/layout-generate-code-service-export.d.ts.map +0 -1
  319. package/dist/services/layout-generate-code-service-export.js +0 -77
  320. package/dist/services/layout-generate-code-service-export.js.map +0 -1
  321. package/dist/services/layout-search-service-export.d.ts +0 -31
  322. package/dist/services/layout-search-service-export.d.ts.map +0 -1
  323. package/dist/services/layout-search-service-export.js +0 -43
  324. package/dist/services/layout-search-service-export.js.map +0 -1
  325. package/dist/services/layout-search.service.d.ts +0 -111
  326. package/dist/services/layout-search.service.d.ts.map +0 -1
  327. package/dist/services/layout-search.service.js +0 -716
  328. package/dist/services/layout-search.service.js.map +0 -1
  329. package/dist/services/layout-to-code.service.d.ts +0 -85
  330. package/dist/services/layout-to-code.service.d.ts.map +0 -1
  331. package/dist/services/layout-to-code.service.js +0 -1368
  332. package/dist/services/layout-to-code.service.js.map +0 -1
  333. package/dist/services/metrics-collector.d.ts +0 -189
  334. package/dist/services/metrics-collector.d.ts.map +0 -1
  335. package/dist/services/metrics-collector.js +0 -344
  336. package/dist/services/metrics-collector.js.map +0 -1
  337. package/dist/services/ml/mood-brandtone-embedding.service.d.ts +0 -253
  338. package/dist/services/ml/mood-brandtone-embedding.service.d.ts.map +0 -1
  339. package/dist/services/ml/mood-brandtone-embedding.service.js +0 -678
  340. package/dist/services/ml/mood-brandtone-embedding.service.js.map +0 -1
  341. package/dist/services/motion/analyzers/color-change.analyzer.d.ts +0 -274
  342. package/dist/services/motion/analyzers/color-change.analyzer.d.ts.map +0 -1
  343. package/dist/services/motion/analyzers/color-change.analyzer.js +0 -644
  344. package/dist/services/motion/analyzers/color-change.analyzer.js.map +0 -1
  345. package/dist/services/motion/analyzers/frame-diff.analyzer.d.ts +0 -109
  346. package/dist/services/motion/analyzers/frame-diff.analyzer.d.ts.map +0 -1
  347. package/dist/services/motion/analyzers/frame-diff.analyzer.js +0 -315
  348. package/dist/services/motion/analyzers/frame-diff.analyzer.js.map +0 -1
  349. package/dist/services/motion/analyzers/layout-shift.detector.d.ts +0 -132
  350. package/dist/services/motion/analyzers/layout-shift.detector.d.ts.map +0 -1
  351. package/dist/services/motion/analyzers/layout-shift.detector.js +0 -179
  352. package/dist/services/motion/analyzers/layout-shift.detector.js.map +0 -1
  353. package/dist/services/motion/analyzers/motion-vector.estimator.d.ts +0 -88
  354. package/dist/services/motion/analyzers/motion-vector.estimator.d.ts.map +0 -1
  355. package/dist/services/motion/analyzers/motion-vector.estimator.js +0 -494
  356. package/dist/services/motion/analyzers/motion-vector.estimator.js.map +0 -1
  357. package/dist/services/motion/analyzers/webgl-motion-analyzer.d.ts +0 -167
  358. package/dist/services/motion/analyzers/webgl-motion-analyzer.d.ts.map +0 -1
  359. package/dist/services/motion/analyzers/webgl-motion-analyzer.js +0 -500
  360. package/dist/services/motion/analyzers/webgl-motion-analyzer.js.map +0 -1
  361. package/dist/services/motion/animation-metrics-collector.service.d.ts +0 -215
  362. package/dist/services/motion/animation-metrics-collector.service.d.ts.map +0 -1
  363. package/dist/services/motion/animation-metrics-collector.service.js +0 -502
  364. package/dist/services/motion/animation-metrics-collector.service.js.map +0 -1
  365. package/dist/services/motion/cls-calculator.service.d.ts +0 -186
  366. package/dist/services/motion/cls-calculator.service.d.ts.map +0 -1
  367. package/dist/services/motion/cls-calculator.service.js +0 -329
  368. package/dist/services/motion/cls-calculator.service.js.map +0 -1
  369. package/dist/services/motion/existing-animation-detector.service.d.ts +0 -208
  370. package/dist/services/motion/existing-animation-detector.service.d.ts.map +0 -1
  371. package/dist/services/motion/existing-animation-detector.service.js +0 -591
  372. package/dist/services/motion/existing-animation-detector.service.js.map +0 -1
  373. package/dist/services/motion/fade-detector.service.d.ts +0 -114
  374. package/dist/services/motion/fade-detector.service.d.ts.map +0 -1
  375. package/dist/services/motion/fade-detector.service.js +0 -249
  376. package/dist/services/motion/fade-detector.service.js.map +0 -1
  377. package/dist/services/motion/frame-analysis-save.helper.d.ts +0 -41
  378. package/dist/services/motion/frame-analysis-save.helper.d.ts.map +0 -1
  379. package/dist/services/motion/frame-analysis-save.helper.js +0 -235
  380. package/dist/services/motion/frame-analysis-save.helper.js.map +0 -1
  381. package/dist/services/motion/frame-capture.service.d.ts +0 -170
  382. package/dist/services/motion/frame-capture.service.d.ts.map +0 -1
  383. package/dist/services/motion/frame-capture.service.js +0 -476
  384. package/dist/services/motion/frame-capture.service.js.map +0 -1
  385. package/dist/services/motion/frame-embedding.service.d.ts +0 -315
  386. package/dist/services/motion/frame-embedding.service.d.ts.map +0 -1
  387. package/dist/services/motion/frame-embedding.service.js +0 -1023
  388. package/dist/services/motion/frame-embedding.service.js.map +0 -1
  389. package/dist/services/motion/frame-image-analysis.service.d.ts +0 -126
  390. package/dist/services/motion/frame-image-analysis.service.d.ts.map +0 -1
  391. package/dist/services/motion/frame-image-analysis.service.js +0 -982
  392. package/dist/services/motion/frame-image-analysis.service.js.map +0 -1
  393. package/dist/services/motion/frame-image-analyzer.adapter.d.ts +0 -168
  394. package/dist/services/motion/frame-image-analyzer.adapter.d.ts.map +0 -1
  395. package/dist/services/motion/frame-image-analyzer.adapter.js +0 -520
  396. package/dist/services/motion/frame-image-analyzer.adapter.js.map +0 -1
  397. package/dist/services/motion/frame-worker-pool.service.d.ts +0 -133
  398. package/dist/services/motion/frame-worker-pool.service.d.ts.map +0 -1
  399. package/dist/services/motion/frame-worker-pool.service.js +0 -410
  400. package/dist/services/motion/frame-worker-pool.service.js.map +0 -1
  401. package/dist/services/motion/infrastructure/frame-loader.d.ts +0 -77
  402. package/dist/services/motion/infrastructure/frame-loader.d.ts.map +0 -1
  403. package/dist/services/motion/infrastructure/frame-loader.js +0 -430
  404. package/dist/services/motion/infrastructure/frame-loader.js.map +0 -1
  405. package/dist/services/motion/js-animation-detector.d.ts +0 -382
  406. package/dist/services/motion/js-animation-detector.d.ts.map +0 -1
  407. package/dist/services/motion/js-animation-detector.js +0 -911
  408. package/dist/services/motion/js-animation-detector.js.map +0 -1
  409. package/dist/services/motion/js-animation-embedding.service.d.ts +0 -114
  410. package/dist/services/motion/js-animation-embedding.service.d.ts.map +0 -1
  411. package/dist/services/motion/js-animation-embedding.service.js +0 -289
  412. package/dist/services/motion/js-animation-embedding.service.js.map +0 -1
  413. package/dist/services/motion/js-animation-search.service.d.ts +0 -138
  414. package/dist/services/motion/js-animation-search.service.d.ts.map +0 -1
  415. package/dist/services/motion/js-animation-search.service.js +0 -503
  416. package/dist/services/motion/js-animation-search.service.js.map +0 -1
  417. package/dist/services/motion/motion-db.service.d.ts +0 -231
  418. package/dist/services/motion/motion-db.service.d.ts.map +0 -1
  419. package/dist/services/motion/motion-db.service.js +0 -676
  420. package/dist/services/motion/motion-db.service.js.map +0 -1
  421. package/dist/services/motion/three-js-scene-extractor.d.ts +0 -274
  422. package/dist/services/motion/three-js-scene-extractor.d.ts.map +0 -1
  423. package/dist/services/motion/three-js-scene-extractor.js +0 -1126
  424. package/dist/services/motion/three-js-scene-extractor.js.map +0 -1
  425. package/dist/services/motion/types.d.ts +0 -592
  426. package/dist/services/motion/types.d.ts.map +0 -1
  427. package/dist/services/motion/types.js +0 -121
  428. package/dist/services/motion/types.js.map +0 -1
  429. package/dist/services/motion/visual-category-classifier.d.ts +0 -273
  430. package/dist/services/motion/visual-category-classifier.d.ts.map +0 -1
  431. package/dist/services/motion/visual-category-classifier.js +0 -1060
  432. package/dist/services/motion/visual-category-classifier.js.map +0 -1
  433. package/dist/services/motion/webgl-animation-categorizer.d.ts +0 -151
  434. package/dist/services/motion/webgl-animation-categorizer.d.ts.map +0 -1
  435. package/dist/services/motion/webgl-animation-categorizer.js +0 -568
  436. package/dist/services/motion/webgl-animation-categorizer.js.map +0 -1
  437. package/dist/services/motion/webgl-animation-detector.service.d.ts +0 -204
  438. package/dist/services/motion/webgl-animation-detector.service.d.ts.map +0 -1
  439. package/dist/services/motion/webgl-animation-detector.service.js +0 -518
  440. package/dist/services/motion/webgl-animation-detector.service.js.map +0 -1
  441. package/dist/services/motion/webgl-animation-embedding.service.d.ts +0 -238
  442. package/dist/services/motion/webgl-animation-embedding.service.d.ts.map +0 -1
  443. package/dist/services/motion/webgl-animation-embedding.service.js +0 -368
  444. package/dist/services/motion/webgl-animation-embedding.service.js.map +0 -1
  445. package/dist/services/motion-detect-service-export.d.ts +0 -130
  446. package/dist/services/motion-detect-service-export.d.ts.map +0 -1
  447. package/dist/services/motion-detect-service-export.js +0 -160
  448. package/dist/services/motion-detect-service-export.js.map +0 -1
  449. package/dist/services/motion-persistence.service.d.ts +0 -144
  450. package/dist/services/motion-persistence.service.d.ts.map +0 -1
  451. package/dist/services/motion-persistence.service.js +0 -398
  452. package/dist/services/motion-persistence.service.js.map +0 -1
  453. package/dist/services/motion-search-service.d.ts +0 -10
  454. package/dist/services/motion-search-service.d.ts.map +0 -1
  455. package/dist/services/motion-search-service.js +0 -22
  456. package/dist/services/motion-search-service.js.map +0 -1
  457. package/dist/services/motion-search.service.d.ts +0 -210
  458. package/dist/services/motion-search.service.d.ts.map +0 -1
  459. package/dist/services/motion-search.service.js +0 -900
  460. package/dist/services/motion-search.service.js.map +0 -1
  461. package/dist/services/narrative/analyzers/layout-structure.analyzer.d.ts +0 -75
  462. package/dist/services/narrative/analyzers/layout-structure.analyzer.d.ts.map +0 -1
  463. package/dist/services/narrative/analyzers/layout-structure.analyzer.js +0 -489
  464. package/dist/services/narrative/analyzers/layout-structure.analyzer.js.map +0 -1
  465. package/dist/services/narrative/analyzers/worldview.analyzer.d.ts +0 -92
  466. package/dist/services/narrative/analyzers/worldview.analyzer.d.ts.map +0 -1
  467. package/dist/services/narrative/analyzers/worldview.analyzer.js +0 -477
  468. package/dist/services/narrative/analyzers/worldview.analyzer.js.map +0 -1
  469. package/dist/services/narrative/generators/confidence-calculator.d.ts +0 -65
  470. package/dist/services/narrative/generators/confidence-calculator.d.ts.map +0 -1
  471. package/dist/services/narrative/generators/confidence-calculator.js +0 -316
  472. package/dist/services/narrative/generators/confidence-calculator.js.map +0 -1
  473. package/dist/services/narrative/generators/text-representation.generator.d.ts +0 -67
  474. package/dist/services/narrative/generators/text-representation.generator.d.ts.map +0 -1
  475. package/dist/services/narrative/generators/text-representation.generator.js +0 -312
  476. package/dist/services/narrative/generators/text-representation.generator.js.map +0 -1
  477. package/dist/services/narrative/index.d.ts +0 -16
  478. package/dist/services/narrative/index.d.ts.map +0 -1
  479. package/dist/services/narrative/index.js +0 -63
  480. package/dist/services/narrative/index.js.map +0 -1
  481. package/dist/services/narrative/narrative-analysis.service.d.ts +0 -120
  482. package/dist/services/narrative/narrative-analysis.service.d.ts.map +0 -1
  483. package/dist/services/narrative/narrative-analysis.service.js +0 -479
  484. package/dist/services/narrative/narrative-analysis.service.js.map +0 -1
  485. package/dist/services/narrative/narrative-search.service.d.ts +0 -126
  486. package/dist/services/narrative/narrative-search.service.d.ts.map +0 -1
  487. package/dist/services/narrative/narrative-search.service.js +0 -516
  488. package/dist/services/narrative/narrative-search.service.js.map +0 -1
  489. package/dist/services/narrative/types/narrative.types.d.ts +0 -372
  490. package/dist/services/narrative/types/narrative.types.d.ts.map +0 -1
  491. package/dist/services/narrative/types/narrative.types.js +0 -5
  492. package/dist/services/narrative/types/narrative.types.js.map +0 -1
  493. package/dist/services/orphaned-job-utils.d.ts +0 -62
  494. package/dist/services/orphaned-job-utils.d.ts.map +0 -1
  495. package/dist/services/orphaned-job-utils.js +0 -130
  496. package/dist/services/orphaned-job-utils.js.map +0 -1
  497. package/dist/services/page/css-animation-parser.service.d.ts +0 -173
  498. package/dist/services/page/css-animation-parser.service.d.ts.map +0 -1
  499. package/dist/services/page/css-animation-parser.service.js +0 -537
  500. package/dist/services/page/css-animation-parser.service.js.map +0 -1
  501. package/dist/services/page/fallback-analyzer.service.d.ts +0 -140
  502. package/dist/services/page/fallback-analyzer.service.d.ts.map +0 -1
  503. package/dist/services/page/fallback-analyzer.service.js +0 -289
  504. package/dist/services/page/fallback-analyzer.service.js.map +0 -1
  505. package/dist/services/page/frame-analyzer.service.d.ts +0 -208
  506. package/dist/services/page/frame-analyzer.service.d.ts.map +0 -1
  507. package/dist/services/page/frame-analyzer.service.js +0 -628
  508. package/dist/services/page/frame-analyzer.service.js.map +0 -1
  509. package/dist/services/page/layout-analyzer.service.d.ts +0 -323
  510. package/dist/services/page/layout-analyzer.service.d.ts.map +0 -1
  511. package/dist/services/page/layout-analyzer.service.js +0 -2001
  512. package/dist/services/page/layout-analyzer.service.js.map +0 -1
  513. package/dist/services/page/motion-category-classifier.service.d.ts +0 -72
  514. package/dist/services/page/motion-category-classifier.service.d.ts.map +0 -1
  515. package/dist/services/page/motion-category-classifier.service.js +0 -340
  516. package/dist/services/page/motion-category-classifier.service.js.map +0 -1
  517. package/dist/services/page/motion-detector.service.d.ts +0 -76
  518. package/dist/services/page/motion-detector.service.d.ts.map +0 -1
  519. package/dist/services/page/motion-detector.service.js +0 -255
  520. package/dist/services/page/motion-detector.service.js.map +0 -1
  521. package/dist/services/page/motion-performance-analyzer.service.d.ts +0 -114
  522. package/dist/services/page/motion-performance-analyzer.service.d.ts.map +0 -1
  523. package/dist/services/page/motion-performance-analyzer.service.js +0 -315
  524. package/dist/services/page/motion-performance-analyzer.service.js.map +0 -1
  525. package/dist/services/page/playwright-crawler.service.d.ts +0 -106
  526. package/dist/services/page/playwright-crawler.service.d.ts.map +0 -1
  527. package/dist/services/page/playwright-crawler.service.js +0 -373
  528. package/dist/services/page/playwright-crawler.service.js.map +0 -1
  529. package/dist/services/page/quality-evaluator.service.d.ts +0 -107
  530. package/dist/services/page/quality-evaluator.service.d.ts.map +0 -1
  531. package/dist/services/page/quality-evaluator.service.js +0 -1138
  532. package/dist/services/page/quality-evaluator.service.js.map +0 -1
  533. package/dist/services/page/runtime-animation-detector.service.d.ts +0 -154
  534. package/dist/services/page/runtime-animation-detector.service.d.ts.map +0 -1
  535. package/dist/services/page/runtime-animation-detector.service.js +0 -480
  536. package/dist/services/page/runtime-animation-detector.service.js.map +0 -1
  537. package/dist/services/page/section-postprocessor.service.d.ts +0 -55
  538. package/dist/services/page/section-postprocessor.service.d.ts.map +0 -1
  539. package/dist/services/page/section-postprocessor.service.js +0 -708
  540. package/dist/services/page/section-postprocessor.service.js.map +0 -1
  541. package/dist/services/page/video-recorder.service.d.ts +0 -110
  542. package/dist/services/page/video-recorder.service.d.ts.map +0 -1
  543. package/dist/services/page/video-recorder.service.js +0 -441
  544. package/dist/services/page/video-recorder.service.js.map +0 -1
  545. package/dist/services/page/webgl-detector.service.d.ts +0 -113
  546. package/dist/services/page/webgl-detector.service.d.ts.map +0 -1
  547. package/dist/services/page/webgl-detector.service.js +0 -280
  548. package/dist/services/page/webgl-detector.service.js.map +0 -1
  549. package/dist/services/page-analyze-service.d.ts +0 -30
  550. package/dist/services/page-analyze-service.d.ts.map +0 -1
  551. package/dist/services/page-analyze-service.js +0 -58
  552. package/dist/services/page-analyze-service.js.map +0 -1
  553. package/dist/services/page-ingest-adapter.d.ts +0 -479
  554. package/dist/services/page-ingest-adapter.d.ts.map +0 -1
  555. package/dist/services/page-ingest-adapter.js +0 -1726
  556. package/dist/services/page-ingest-adapter.js.map +0 -1
  557. package/dist/services/palette-service-export.d.ts +0 -26
  558. package/dist/services/palette-service-export.d.ts.map +0 -1
  559. package/dist/services/palette-service-export.js +0 -22
  560. package/dist/services/palette-service-export.js.map +0 -1
  561. package/dist/services/part/index.d.ts +0 -22
  562. package/dist/services/part/index.d.ts.map +0 -1
  563. package/dist/services/part/index.js +0 -72
  564. package/dist/services/part/index.js.map +0 -1
  565. package/dist/services/part/part-backfill.service.d.ts +0 -66
  566. package/dist/services/part/part-backfill.service.d.ts.map +0 -1
  567. package/dist/services/part/part-backfill.service.js +0 -195
  568. package/dist/services/part/part-backfill.service.js.map +0 -1
  569. package/dist/services/part/part-bbox-playwright.service.d.ts +0 -85
  570. package/dist/services/part/part-bbox-playwright.service.d.ts.map +0 -1
  571. package/dist/services/part/part-bbox-playwright.service.js +0 -362
  572. package/dist/services/part/part-bbox-playwright.service.js.map +0 -1
  573. package/dist/services/part/part-db.service.d.ts +0 -41
  574. package/dist/services/part/part-db.service.d.ts.map +0 -1
  575. package/dist/services/part/part-db.service.js +0 -82
  576. package/dist/services/part/part-db.service.js.map +0 -1
  577. package/dist/services/part/part-embedding-db.service.d.ts +0 -52
  578. package/dist/services/part/part-embedding-db.service.d.ts.map +0 -1
  579. package/dist/services/part/part-embedding-db.service.js +0 -122
  580. package/dist/services/part/part-embedding-db.service.js.map +0 -1
  581. package/dist/services/part/part-embedding.service.d.ts +0 -140
  582. package/dist/services/part/part-embedding.service.d.ts.map +0 -1
  583. package/dist/services/part/part-embedding.service.js +0 -276
  584. package/dist/services/part/part-embedding.service.js.map +0 -1
  585. package/dist/services/part/part-extraction.service.d.ts +0 -75
  586. package/dist/services/part/part-extraction.service.d.ts.map +0 -1
  587. package/dist/services/part/part-extraction.service.js +0 -519
  588. package/dist/services/part/part-extraction.service.js.map +0 -1
  589. package/dist/services/part/part-search.service.d.ts +0 -180
  590. package/dist/services/part/part-search.service.d.ts.map +0 -1
  591. package/dist/services/part/part-search.service.js +0 -565
  592. package/dist/services/part/part-search.service.js.map +0 -1
  593. package/dist/services/part/schemas.d.ts +0 -232
  594. package/dist/services/part/schemas.d.ts.map +0 -1
  595. package/dist/services/part/schemas.js +0 -167
  596. package/dist/services/part/schemas.js.map +0 -1
  597. package/dist/services/part/section-screenshot-fallback.service.d.ts +0 -101
  598. package/dist/services/part/section-screenshot-fallback.service.d.ts.map +0 -1
  599. package/dist/services/part/section-screenshot-fallback.service.js +0 -489
  600. package/dist/services/part/section-screenshot-fallback.service.js.map +0 -1
  601. package/dist/services/part/types.d.ts +0 -189
  602. package/dist/services/part/types.d.ts.map +0 -1
  603. package/dist/services/part/types.js +0 -139
  604. package/dist/services/part/types.js.map +0 -1
  605. package/dist/services/persistent-cache.d.ts +0 -209
  606. package/dist/services/persistent-cache.d.ts.map +0 -1
  607. package/dist/services/persistent-cache.js +0 -633
  608. package/dist/services/persistent-cache.js.map +0 -1
  609. package/dist/services/preference-profile.service.d.ts +0 -143
  610. package/dist/services/preference-profile.service.d.ts.map +0 -1
  611. package/dist/services/preference-profile.service.js +0 -604
  612. package/dist/services/preference-profile.service.js.map +0 -1
  613. package/dist/services/preference-rerank.helper.d.ts +0 -128
  614. package/dist/services/preference-rerank.helper.d.ts.map +0 -1
  615. package/dist/services/preference-rerank.helper.js +0 -397
  616. package/dist/services/preference-rerank.helper.js.map +0 -1
  617. package/dist/services/production-guard.d.ts +0 -213
  618. package/dist/services/production-guard.d.ts.map +0 -1
  619. package/dist/services/production-guard.js +0 -357
  620. package/dist/services/production-guard.js.map +0 -1
  621. package/dist/services/project-context-analyzer.d.ts +0 -194
  622. package/dist/services/project-context-analyzer.d.ts.map +0 -1
  623. package/dist/services/project-context-analyzer.js +0 -747
  624. package/dist/services/project-context-analyzer.js.map +0 -1
  625. package/dist/services/quality/axe-accessibility.service.d.ts +0 -87
  626. package/dist/services/quality/axe-accessibility.service.d.ts.map +0 -1
  627. package/dist/services/quality/axe-accessibility.service.js +0 -188
  628. package/dist/services/quality/axe-accessibility.service.js.map +0 -1
  629. package/dist/services/quality/axe-core-shared.d.ts +0 -108
  630. package/dist/services/quality/axe-core-shared.d.ts.map +0 -1
  631. package/dist/services/quality/axe-core-shared.js +0 -136
  632. package/dist/services/quality/axe-core-shared.js.map +0 -1
  633. package/dist/services/quality/benchmark.service.d.ts +0 -178
  634. package/dist/services/quality/benchmark.service.d.ts.map +0 -1
  635. package/dist/services/quality/benchmark.service.js +0 -394
  636. package/dist/services/quality/benchmark.service.js.map +0 -1
  637. package/dist/services/quality/content-gap-detector.service.d.ts +0 -133
  638. package/dist/services/quality/content-gap-detector.service.d.ts.map +0 -1
  639. package/dist/services/quality/content-gap-detector.service.js +0 -364
  640. package/dist/services/quality/content-gap-detector.service.js.map +0 -1
  641. package/dist/services/quality/index.d.ts +0 -12
  642. package/dist/services/quality/index.d.ts.map +0 -1
  643. package/dist/services/quality/index.js +0 -12
  644. package/dist/services/quality/index.js.map +0 -1
  645. package/dist/services/quality/pattern-matcher.service.d.ts +0 -195
  646. package/dist/services/quality/pattern-matcher.service.d.ts.map +0 -1
  647. package/dist/services/quality/pattern-matcher.service.js +0 -630
  648. package/dist/services/quality/pattern-matcher.service.js.map +0 -1
  649. package/dist/services/quality/playwright-axe.service.d.ts +0 -84
  650. package/dist/services/quality/playwright-axe.service.d.ts.map +0 -1
  651. package/dist/services/quality/playwright-axe.service.js +0 -267
  652. package/dist/services/quality/playwright-axe.service.js.map +0 -1
  653. package/dist/services/quality/quality-evaluate.service.interface.d.ts +0 -216
  654. package/dist/services/quality/quality-evaluate.service.interface.d.ts.map +0 -1
  655. package/dist/services/quality/quality-evaluate.service.interface.js +0 -5
  656. package/dist/services/quality/quality-evaluate.service.interface.js.map +0 -1
  657. package/dist/services/quality/visual-design-analyzer.service.d.ts +0 -72
  658. package/dist/services/quality/visual-design-analyzer.service.d.ts.map +0 -1
  659. package/dist/services/quality/visual-design-analyzer.service.js +0 -762
  660. package/dist/services/quality/visual-design-analyzer.service.js.map +0 -1
  661. package/dist/services/quality-evaluate-service-export.d.ts +0 -122
  662. package/dist/services/quality-evaluate-service-export.d.ts.map +0 -1
  663. package/dist/services/quality-evaluate-service-export.js +0 -138
  664. package/dist/services/quality-evaluate-service-export.js.map +0 -1
  665. package/dist/services/quality-search.service.d.ts +0 -20
  666. package/dist/services/quality-search.service.d.ts.map +0 -1
  667. package/dist/services/quality-search.service.js +0 -260
  668. package/dist/services/quality-search.service.js.map +0 -1
  669. package/dist/services/query-analyzer.d.ts +0 -107
  670. package/dist/services/query-analyzer.d.ts.map +0 -1
  671. package/dist/services/query-analyzer.js +0 -222
  672. package/dist/services/query-analyzer.js.map +0 -1
  673. package/dist/services/query-context-analyzer.d.ts +0 -85
  674. package/dist/services/query-context-analyzer.d.ts.map +0 -1
  675. package/dist/services/query-context-analyzer.js +0 -728
  676. package/dist/services/query-context-analyzer.js.map +0 -1
  677. package/dist/services/queue-cleanup.service.d.ts +0 -102
  678. package/dist/services/queue-cleanup.service.d.ts.map +0 -1
  679. package/dist/services/queue-cleanup.service.js +0 -259
  680. package/dist/services/queue-cleanup.service.js.map +0 -1
  681. package/dist/services/responsive/difference-detector.service.d.ts +0 -77
  682. package/dist/services/responsive/difference-detector.service.d.ts.map +0 -1
  683. package/dist/services/responsive/difference-detector.service.js +0 -525
  684. package/dist/services/responsive/difference-detector.service.js.map +0 -1
  685. package/dist/services/responsive/index.d.ts +0 -16
  686. package/dist/services/responsive/index.d.ts.map +0 -1
  687. package/dist/services/responsive/index.js +0 -60
  688. package/dist/services/responsive/index.js.map +0 -1
  689. package/dist/services/responsive/multi-viewport-capture.service.d.ts +0 -103
  690. package/dist/services/responsive/multi-viewport-capture.service.d.ts.map +0 -1
  691. package/dist/services/responsive/multi-viewport-capture.service.js +0 -841
  692. package/dist/services/responsive/multi-viewport-capture.service.js.map +0 -1
  693. package/dist/services/responsive/responsive-analysis-embedding.service.d.ts +0 -114
  694. package/dist/services/responsive/responsive-analysis-embedding.service.d.ts.map +0 -1
  695. package/dist/services/responsive/responsive-analysis-embedding.service.js +0 -232
  696. package/dist/services/responsive/responsive-analysis-embedding.service.js.map +0 -1
  697. package/dist/services/responsive/responsive-analysis.service.d.ts +0 -37
  698. package/dist/services/responsive/responsive-analysis.service.d.ts.map +0 -1
  699. package/dist/services/responsive/responsive-analysis.service.js +0 -262
  700. package/dist/services/responsive/responsive-analysis.service.js.map +0 -1
  701. package/dist/services/responsive/responsive-persistence.service.d.ts +0 -45
  702. package/dist/services/responsive/responsive-persistence.service.d.ts.map +0 -1
  703. package/dist/services/responsive/responsive-persistence.service.js +0 -102
  704. package/dist/services/responsive/responsive-persistence.service.js.map +0 -1
  705. package/dist/services/responsive/responsive-quality-evaluator.service.d.ts +0 -80
  706. package/dist/services/responsive/responsive-quality-evaluator.service.d.ts.map +0 -1
  707. package/dist/services/responsive/responsive-quality-evaluator.service.js +0 -448
  708. package/dist/services/responsive/responsive-quality-evaluator.service.js.map +0 -1
  709. package/dist/services/responsive/shared-browser-manager.d.ts +0 -65
  710. package/dist/services/responsive/shared-browser-manager.d.ts.map +0 -1
  711. package/dist/services/responsive/shared-browser-manager.js +0 -112
  712. package/dist/services/responsive/shared-browser-manager.js.map +0 -1
  713. package/dist/services/responsive/types.d.ts +0 -367
  714. package/dist/services/responsive/types.d.ts.map +0 -1
  715. package/dist/services/responsive/types.js +0 -5
  716. package/dist/services/responsive/types.js.map +0 -1
  717. package/dist/services/responsive/viewport-diff.service.d.ts +0 -49
  718. package/dist/services/responsive/viewport-diff.service.d.ts.map +0 -1
  719. package/dist/services/responsive/viewport-diff.service.js +0 -178
  720. package/dist/services/responsive/viewport-diff.service.js.map +0 -1
  721. package/dist/services/responsive-search.service.d.ts +0 -52
  722. package/dist/services/responsive-search.service.d.ts.map +0 -1
  723. package/dist/services/responsive-search.service.js +0 -136
  724. package/dist/services/responsive-search.service.js.map +0 -1
  725. package/dist/services/search/mood-brandtone-search.service.d.ts +0 -99
  726. package/dist/services/search/mood-brandtone-search.service.d.ts.map +0 -1
  727. package/dist/services/search/mood-brandtone-search.service.js +0 -310
  728. package/dist/services/search/mood-brandtone-search.service.js.map +0 -1
  729. package/dist/services/search-performance.service.d.ts +0 -118
  730. package/dist/services/search-performance.service.d.ts.map +0 -1
  731. package/dist/services/search-performance.service.js +0 -181
  732. package/dist/services/search-performance.service.js.map +0 -1
  733. package/dist/services/section-screenshot.service.d.ts +0 -163
  734. package/dist/services/section-screenshot.service.d.ts.map +0 -1
  735. package/dist/services/section-screenshot.service.js +0 -363
  736. package/dist/services/section-screenshot.service.js.map +0 -1
  737. package/dist/services/service-client.d.ts +0 -181
  738. package/dist/services/service-client.d.ts.map +0 -1
  739. package/dist/services/service-client.js +0 -450
  740. package/dist/services/service-client.js.map +0 -1
  741. package/dist/services/service-initializer.d.ts +0 -174
  742. package/dist/services/service-initializer.d.ts.map +0 -1
  743. package/dist/services/service-initializer.js +0 -942
  744. package/dist/services/service-initializer.js.map +0 -1
  745. package/dist/services/storage/index.d.ts +0 -7
  746. package/dist/services/storage/index.d.ts.map +0 -1
  747. package/dist/services/storage/index.js +0 -14
  748. package/dist/services/storage/index.js.map +0 -1
  749. package/dist/services/storage/local-storage.provider.d.ts +0 -140
  750. package/dist/services/storage/local-storage.provider.d.ts.map +0 -1
  751. package/dist/services/storage/local-storage.provider.js +0 -333
  752. package/dist/services/storage/local-storage.provider.js.map +0 -1
  753. package/dist/services/style/index.d.ts +0 -7
  754. package/dist/services/style/index.d.ts.map +0 -1
  755. package/dist/services/style/index.js +0 -25
  756. package/dist/services/style/index.js.map +0 -1
  757. package/dist/services/style/palette-service.d.ts +0 -212
  758. package/dist/services/style/palette-service.d.ts.map +0 -1
  759. package/dist/services/style/palette-service.js +0 -423
  760. package/dist/services/style/palette-service.js.map +0 -1
  761. package/dist/services/style/prisma-palette-repository.d.ts +0 -35
  762. package/dist/services/style/prisma-palette-repository.d.ts.map +0 -1
  763. package/dist/services/style/prisma-palette-repository.js +0 -165
  764. package/dist/services/style/prisma-palette-repository.js.map +0 -1
  765. package/dist/services/vision/brandtone.analyzer.d.ts +0 -104
  766. package/dist/services/vision/brandtone.analyzer.d.ts.map +0 -1
  767. package/dist/services/vision/brandtone.analyzer.js +0 -279
  768. package/dist/services/vision/brandtone.analyzer.js.map +0 -1
  769. package/dist/services/vision/hardware-detector.d.ts +0 -166
  770. package/dist/services/vision/hardware-detector.d.ts.map +0 -1
  771. package/dist/services/vision/hardware-detector.js +0 -330
  772. package/dist/services/vision/hardware-detector.js.map +0 -1
  773. package/dist/services/vision/image-optimizer.d.ts +0 -152
  774. package/dist/services/vision/image-optimizer.d.ts.map +0 -1
  775. package/dist/services/vision/image-optimizer.js +0 -266
  776. package/dist/services/vision/image-optimizer.js.map +0 -1
  777. package/dist/services/vision/index.d.ts +0 -26
  778. package/dist/services/vision/index.d.ts.map +0 -1
  779. package/dist/services/vision/index.js +0 -80
  780. package/dist/services/vision/index.js.map +0 -1
  781. package/dist/services/vision/llama-vision-adapter.d.ts +0 -178
  782. package/dist/services/vision/llama-vision-adapter.d.ts.map +0 -1
  783. package/dist/services/vision/llama-vision-adapter.js +0 -307
  784. package/dist/services/vision/llama-vision-adapter.js.map +0 -1
  785. package/dist/services/vision/mcp-progress-adapter.d.ts +0 -128
  786. package/dist/services/vision/mcp-progress-adapter.d.ts.map +0 -1
  787. package/dist/services/vision/mcp-progress-adapter.js +0 -150
  788. package/dist/services/vision/mcp-progress-adapter.js.map +0 -1
  789. package/dist/services/vision/mood.analyzer.d.ts +0 -74
  790. package/dist/services/vision/mood.analyzer.d.ts.map +0 -1
  791. package/dist/services/vision/mood.analyzer.js +0 -258
  792. package/dist/services/vision/mood.analyzer.js.map +0 -1
  793. package/dist/services/vision/ollama-readiness-probe.d.ts +0 -87
  794. package/dist/services/vision/ollama-readiness-probe.d.ts.map +0 -1
  795. package/dist/services/vision/ollama-readiness-probe.js +0 -211
  796. package/dist/services/vision/ollama-readiness-probe.js.map +0 -1
  797. package/dist/services/vision/ollama-vision-client.d.ts +0 -129
  798. package/dist/services/vision/ollama-vision-client.d.ts.map +0 -1
  799. package/dist/services/vision/ollama-vision-client.js +0 -478
  800. package/dist/services/vision/ollama-vision-client.js.map +0 -1
  801. package/dist/services/vision/progress-reporter.d.ts +0 -140
  802. package/dist/services/vision/progress-reporter.d.ts.map +0 -1
  803. package/dist/services/vision/progress-reporter.js +0 -306
  804. package/dist/services/vision/progress-reporter.js.map +0 -1
  805. package/dist/services/vision/scroll-vision-capture.service.d.ts +0 -117
  806. package/dist/services/vision/scroll-vision-capture.service.d.ts.map +0 -1
  807. package/dist/services/vision/scroll-vision-capture.service.js +0 -266
  808. package/dist/services/vision/scroll-vision-capture.service.js.map +0 -1
  809. package/dist/services/vision/scroll-vision-persistence.service.d.ts +0 -48
  810. package/dist/services/vision/scroll-vision-persistence.service.d.ts.map +0 -1
  811. package/dist/services/vision/scroll-vision-persistence.service.js +0 -161
  812. package/dist/services/vision/scroll-vision-persistence.service.js.map +0 -1
  813. package/dist/services/vision/scroll-vision.analyzer.d.ts +0 -90
  814. package/dist/services/vision/scroll-vision.analyzer.d.ts.map +0 -1
  815. package/dist/services/vision/scroll-vision.analyzer.js +0 -280
  816. package/dist/services/vision/scroll-vision.analyzer.js.map +0 -1
  817. package/dist/services/vision/theme.analyzer.d.ts +0 -108
  818. package/dist/services/vision/theme.analyzer.d.ts.map +0 -1
  819. package/dist/services/vision/theme.analyzer.js +0 -315
  820. package/dist/services/vision/theme.analyzer.js.map +0 -1
  821. package/dist/services/vision/timeout-calculator.d.ts +0 -85
  822. package/dist/services/vision/timeout-calculator.d.ts.map +0 -1
  823. package/dist/services/vision/timeout-calculator.js +0 -142
  824. package/dist/services/vision/timeout-calculator.js.map +0 -1
  825. package/dist/services/vision/vision-fallback.service.d.ts +0 -121
  826. package/dist/services/vision/vision-fallback.service.d.ts.map +0 -1
  827. package/dist/services/vision/vision-fallback.service.js +0 -253
  828. package/dist/services/vision/vision-fallback.service.js.map +0 -1
  829. package/dist/services/vision/vision.cache.d.ts +0 -124
  830. package/dist/services/vision/vision.cache.d.ts.map +0 -1
  831. package/dist/services/vision/vision.cache.js +0 -261
  832. package/dist/services/vision/vision.cache.js.map +0 -1
  833. package/dist/services/vision/vision.errors.d.ts +0 -104
  834. package/dist/services/vision/vision.errors.d.ts.map +0 -1
  835. package/dist/services/vision/vision.errors.js +0 -133
  836. package/dist/services/vision/vision.errors.js.map +0 -1
  837. package/dist/services/vision/vision.prompts.d.ts +0 -47
  838. package/dist/services/vision/vision.prompts.d.ts.map +0 -1
  839. package/dist/services/vision/vision.prompts.js +0 -272
  840. package/dist/services/vision/vision.prompts.js.map +0 -1
  841. package/dist/services/vision/vram-utils.d.ts +0 -22
  842. package/dist/services/vision/vram-utils.d.ts.map +0 -1
  843. package/dist/services/vision/vram-utils.js +0 -57
  844. package/dist/services/vision/vram-utils.js.map +0 -1
  845. package/dist/services/vision-adapter/index.d.ts +0 -18
  846. package/dist/services/vision-adapter/index.d.ts.map +0 -1
  847. package/dist/services/vision-adapter/index.js +0 -31
  848. package/dist/services/vision-adapter/index.js.map +0 -1
  849. package/dist/services/vision-adapter/interface.d.ts +0 -1434
  850. package/dist/services/vision-adapter/interface.d.ts.map +0 -1
  851. package/dist/services/vision-adapter/interface.js +0 -326
  852. package/dist/services/vision-adapter/interface.js.map +0 -1
  853. package/dist/services/vision-adapter/llama-vision.adapter.d.ts +0 -373
  854. package/dist/services/vision-adapter/llama-vision.adapter.d.ts.map +0 -1
  855. package/dist/services/vision-adapter/llama-vision.adapter.js +0 -1751
  856. package/dist/services/vision-adapter/llama-vision.adapter.js.map +0 -1
  857. package/dist/services/vision-adapter/llama-vision.prompts.d.ts +0 -63
  858. package/dist/services/vision-adapter/llama-vision.prompts.d.ts.map +0 -1
  859. package/dist/services/vision-adapter/llama-vision.prompts.js +0 -234
  860. package/dist/services/vision-adapter/llama-vision.prompts.js.map +0 -1
  861. package/dist/services/vision-adapter/llama-vision.types.d.ts +0 -68
  862. package/dist/services/vision-adapter/llama-vision.types.d.ts.map +0 -1
  863. package/dist/services/vision-adapter/llama-vision.types.js +0 -21
  864. package/dist/services/vision-adapter/llama-vision.types.js.map +0 -1
  865. package/dist/services/vision-adapter/local.adapter.d.ts +0 -185
  866. package/dist/services/vision-adapter/local.adapter.d.ts.map +0 -1
  867. package/dist/services/vision-adapter/local.adapter.js +0 -835
  868. package/dist/services/vision-adapter/local.adapter.js.map +0 -1
  869. package/dist/services/vision-adapter/mock.adapter.d.ts +0 -174
  870. package/dist/services/vision-adapter/mock.adapter.d.ts.map +0 -1
  871. package/dist/services/vision-adapter/mock.adapter.js +0 -812
  872. package/dist/services/vision-adapter/mock.adapter.js.map +0 -1
  873. package/dist/services/vision-embedding-search.service.d.ts +0 -205
  874. package/dist/services/vision-embedding-search.service.d.ts.map +0 -1
  875. package/dist/services/vision-embedding-search.service.js +0 -742
  876. package/dist/services/vision-embedding-search.service.js.map +0 -1
  877. package/dist/services/vision-embedding.service.d.ts +0 -150
  878. package/dist/services/vision-embedding.service.d.ts.map +0 -1
  879. package/dist/services/vision-embedding.service.js +0 -461
  880. package/dist/services/vision-embedding.service.js.map +0 -1
  881. package/dist/services/visual/css-variable-extractor.service.d.ts +0 -97
  882. package/dist/services/visual/css-variable-extractor.service.d.ts.map +0 -1
  883. package/dist/services/visual/css-variable-extractor.service.js +0 -460
  884. package/dist/services/visual/css-variable-extractor.service.js.map +0 -1
  885. package/dist/services/visual/typography-extractor.service.d.ts +0 -137
  886. package/dist/services/visual/typography-extractor.service.d.ts.map +0 -1
  887. package/dist/services/visual/typography-extractor.service.js +0 -539
  888. package/dist/services/visual/typography-extractor.service.js.map +0 -1
  889. package/dist/services/visual-extractor/color-extractor.service.d.ts +0 -55
  890. package/dist/services/visual-extractor/color-extractor.service.d.ts.map +0 -1
  891. package/dist/services/visual-extractor/color-extractor.service.js +0 -281
  892. package/dist/services/visual-extractor/color-extractor.service.js.map +0 -1
  893. package/dist/services/visual-extractor/density-calculator.service.d.ts +0 -85
  894. package/dist/services/visual-extractor/density-calculator.service.d.ts.map +0 -1
  895. package/dist/services/visual-extractor/density-calculator.service.js +0 -369
  896. package/dist/services/visual-extractor/density-calculator.service.js.map +0 -1
  897. package/dist/services/visual-extractor/gradient-detector.service.d.ts +0 -134
  898. package/dist/services/visual-extractor/gradient-detector.service.d.ts.map +0 -1
  899. package/dist/services/visual-extractor/gradient-detector.service.js +0 -1172
  900. package/dist/services/visual-extractor/gradient-detector.service.js.map +0 -1
  901. package/dist/services/visual-extractor/image-utils.d.ts +0 -135
  902. package/dist/services/visual-extractor/image-utils.d.ts.map +0 -1
  903. package/dist/services/visual-extractor/image-utils.js +0 -305
  904. package/dist/services/visual-extractor/image-utils.js.map +0 -1
  905. package/dist/services/visual-extractor/pixel-theme-detector.service.d.ts +0 -58
  906. package/dist/services/visual-extractor/pixel-theme-detector.service.d.ts.map +0 -1
  907. package/dist/services/visual-extractor/pixel-theme-detector.service.js +0 -358
  908. package/dist/services/visual-extractor/pixel-theme-detector.service.js.map +0 -1
  909. package/dist/services/visual-extractor/theme-detector.service.d.ts +0 -101
  910. package/dist/services/visual-extractor/theme-detector.service.d.ts.map +0 -1
  911. package/dist/services/visual-extractor/theme-detector.service.js +0 -463
  912. package/dist/services/visual-extractor/theme-detector.service.js.map +0 -1
  913. package/dist/services/visual-extractor/visual-decoration-detector.service.d.ts +0 -43
  914. package/dist/services/visual-extractor/visual-decoration-detector.service.d.ts.map +0 -1
  915. package/dist/services/visual-extractor/visual-decoration-detector.service.js +0 -628
  916. package/dist/services/visual-extractor/visual-decoration-detector.service.js.map +0 -1
  917. package/dist/services/visual-extractor/visual-feature-merger.service.d.ts +0 -230
  918. package/dist/services/visual-extractor/visual-feature-merger.service.d.ts.map +0 -1
  919. package/dist/services/visual-extractor/visual-feature-merger.service.js +0 -482
  920. package/dist/services/visual-extractor/visual-feature-merger.service.js.map +0 -1
  921. package/dist/services/web-page.service.d.ts +0 -80
  922. package/dist/services/web-page.service.d.ts.map +0 -1
  923. package/dist/services/web-page.service.js +0 -211
  924. package/dist/services/web-page.service.js.map +0 -1
  925. package/dist/services/worker-constants.d.ts +0 -40
  926. package/dist/services/worker-constants.d.ts.map +0 -1
  927. package/dist/services/worker-constants.js +0 -51
  928. package/dist/services/worker-constants.js.map +0 -1
  929. package/dist/services/worker-db-save.service.d.ts +0 -311
  930. package/dist/services/worker-db-save.service.d.ts.map +0 -1
  931. package/dist/services/worker-db-save.service.js +0 -771
  932. package/dist/services/worker-db-save.service.js.map +0 -1
  933. package/dist/services/worker-memory-monitor.service.d.ts +0 -24
  934. package/dist/services/worker-memory-monitor.service.d.ts.map +0 -1
  935. package/dist/services/worker-memory-monitor.service.js +0 -105
  936. package/dist/services/worker-memory-monitor.service.js.map +0 -1
  937. package/dist/services/worker-memory-profile.d.ts +0 -65
  938. package/dist/services/worker-memory-profile.d.ts.map +0 -1
  939. package/dist/services/worker-memory-profile.js +0 -225
  940. package/dist/services/worker-memory-profile.js.map +0 -1
  941. package/dist/services/worker-stall-recovery.service.d.ts +0 -166
  942. package/dist/services/worker-stall-recovery.service.d.ts.map +0 -1
  943. package/dist/services/worker-stall-recovery.service.js +0 -335
  944. package/dist/services/worker-stall-recovery.service.js.map +0 -1
  945. package/dist/services/worker-supervisor.service.d.ts +0 -145
  946. package/dist/services/worker-supervisor.service.d.ts.map +0 -1
  947. package/dist/services/worker-supervisor.service.js +0 -635
  948. package/dist/services/worker-supervisor.service.js.map +0 -1
  949. package/dist/tools/background/schemas.d.ts +0 -85
  950. package/dist/tools/background/schemas.d.ts.map +0 -1
  951. package/dist/tools/background/schemas.js +0 -79
  952. package/dist/tools/background/schemas.js.map +0 -1
  953. package/dist/tools/background/search.tool.d.ts +0 -179
  954. package/dist/tools/background/search.tool.d.ts.map +0 -1
  955. package/dist/tools/background/search.tool.js +0 -318
  956. package/dist/tools/background/search.tool.js.map +0 -1
  957. package/dist/tools/brief/index.d.ts +0 -10
  958. package/dist/tools/brief/index.d.ts.map +0 -1
  959. package/dist/tools/brief/index.js +0 -54
  960. package/dist/tools/brief/index.js.map +0 -1
  961. package/dist/tools/brief/schemas.d.ts +0 -750
  962. package/dist/tools/brief/schemas.d.ts.map +0 -1
  963. package/dist/tools/brief/schemas.js +0 -212
  964. package/dist/tools/brief/schemas.js.map +0 -1
  965. package/dist/tools/brief/validate.handler.d.ts +0 -149
  966. package/dist/tools/brief/validate.handler.d.ts.map +0 -1
  967. package/dist/tools/brief/validate.handler.js +0 -247
  968. package/dist/tools/brief/validate.handler.js.map +0 -1
  969. package/dist/tools/brief/validate.service.d.ts +0 -100
  970. package/dist/tools/brief/validate.service.d.ts.map +0 -1
  971. package/dist/tools/brief/validate.service.js +0 -296
  972. package/dist/tools/brief/validate.service.js.map +0 -1
  973. package/dist/tools/common/error-codes.d.ts +0 -35
  974. package/dist/tools/common/error-codes.d.ts.map +0 -1
  975. package/dist/tools/common/error-codes.js +0 -92
  976. package/dist/tools/common/error-codes.js.map +0 -1
  977. package/dist/tools/common/index.d.ts +0 -7
  978. package/dist/tools/common/index.d.ts.map +0 -1
  979. package/dist/tools/common/index.js +0 -20
  980. package/dist/tools/common/index.js.map +0 -1
  981. package/dist/tools/index.d.ts +0 -2756
  982. package/dist/tools/index.d.ts.map +0 -1
  983. package/dist/tools/index.js +0 -506
  984. package/dist/tools/index.js.map +0 -1
  985. package/dist/tools/layout/batch-ingest.tool.d.ts +0 -82
  986. package/dist/tools/layout/batch-ingest.tool.d.ts.map +0 -1
  987. package/dist/tools/layout/batch-ingest.tool.js +0 -410
  988. package/dist/tools/layout/batch-ingest.tool.js.map +0 -1
  989. package/dist/tools/layout/index.d.ts +0 -13
  990. package/dist/tools/layout/index.d.ts.map +0 -1
  991. package/dist/tools/layout/index.js +0 -62
  992. package/dist/tools/layout/index.js.map +0 -1
  993. package/dist/tools/layout/ingest.tool.d.ts +0 -338
  994. package/dist/tools/layout/ingest.tool.d.ts.map +0 -1
  995. package/dist/tools/layout/ingest.tool.js +0 -1308
  996. package/dist/tools/layout/ingest.tool.js.map +0 -1
  997. package/dist/tools/layout/inspect/index.d.ts +0 -11
  998. package/dist/tools/layout/inspect/index.d.ts.map +0 -1
  999. package/dist/tools/layout/inspect/index.js +0 -55
  1000. package/dist/tools/layout/inspect/index.js.map +0 -1
  1001. package/dist/tools/layout/inspect/inspect.schemas.d.ts +0 -4130
  1002. package/dist/tools/layout/inspect/inspect.schemas.d.ts.map +0 -1
  1003. package/dist/tools/layout/inspect/inspect.schemas.js +0 -400
  1004. package/dist/tools/layout/inspect/inspect.schemas.js.map +0 -1
  1005. package/dist/tools/layout/inspect/inspect.tool.d.ts +0 -164
  1006. package/dist/tools/layout/inspect/inspect.tool.d.ts.map +0 -1
  1007. package/dist/tools/layout/inspect/inspect.tool.js +0 -738
  1008. package/dist/tools/layout/inspect/inspect.tool.js.map +0 -1
  1009. package/dist/tools/layout/inspect/inspect.utils.d.ts +0 -200
  1010. package/dist/tools/layout/inspect/inspect.utils.d.ts.map +0 -1
  1011. package/dist/tools/layout/inspect/inspect.utils.js +0 -1104
  1012. package/dist/tools/layout/inspect/inspect.utils.js.map +0 -1
  1013. package/dist/tools/layout/inspect/visual-extractors.schemas.d.ts +0 -3372
  1014. package/dist/tools/layout/inspect/visual-extractors.schemas.d.ts.map +0 -1
  1015. package/dist/tools/layout/inspect/visual-extractors.schemas.js +0 -558
  1016. package/dist/tools/layout/inspect/visual-extractors.schemas.js.map +0 -1
  1017. package/dist/tools/layout/inspect/visual-extractors.utils.d.ts +0 -86
  1018. package/dist/tools/layout/inspect/visual-extractors.utils.d.ts.map +0 -1
  1019. package/dist/tools/layout/inspect/visual-extractors.utils.js +0 -231
  1020. package/dist/tools/layout/inspect/visual-extractors.utils.js.map +0 -1
  1021. package/dist/tools/layout/schemas.d.ts +0 -11074
  1022. package/dist/tools/layout/schemas.d.ts.map +0 -1
  1023. package/dist/tools/layout/schemas.js +0 -1497
  1024. package/dist/tools/layout/schemas.js.map +0 -1
  1025. package/dist/tools/layout/search.tool.d.ts +0 -470
  1026. package/dist/tools/layout/search.tool.d.ts.map +0 -1
  1027. package/dist/tools/layout/search.tool.js +0 -1582
  1028. package/dist/tools/layout/search.tool.js.map +0 -1
  1029. package/dist/tools/layout/to-code.tool.d.ts +0 -280
  1030. package/dist/tools/layout/to-code.tool.d.ts.map +0 -1
  1031. package/dist/tools/layout/to-code.tool.js +0 -317
  1032. package/dist/tools/layout/to-code.tool.js.map +0 -1
  1033. package/dist/tools/motion/analyze-frames.handler.d.ts +0 -157
  1034. package/dist/tools/motion/analyze-frames.handler.d.ts.map +0 -1
  1035. package/dist/tools/motion/analyze-frames.handler.js +0 -263
  1036. package/dist/tools/motion/analyze-frames.handler.js.map +0 -1
  1037. package/dist/tools/motion/analyze-frames.schema.d.ts +0 -4599
  1038. package/dist/tools/motion/analyze-frames.schema.d.ts.map +0 -1
  1039. package/dist/tools/motion/analyze-frames.schema.js +0 -420
  1040. package/dist/tools/motion/analyze-frames.schema.js.map +0 -1
  1041. package/dist/tools/motion/css-mode-handler.d.ts +0 -70
  1042. package/dist/tools/motion/css-mode-handler.d.ts.map +0 -1
  1043. package/dist/tools/motion/css-mode-handler.js +0 -754
  1044. package/dist/tools/motion/css-mode-handler.js.map +0 -1
  1045. package/dist/tools/motion/detect.schemas.d.ts +0 -14288
  1046. package/dist/tools/motion/detect.schemas.d.ts.map +0 -1
  1047. package/dist/tools/motion/detect.schemas.js +0 -1715
  1048. package/dist/tools/motion/detect.schemas.js.map +0 -1
  1049. package/dist/tools/motion/detect.tool.d.ts +0 -195
  1050. package/dist/tools/motion/detect.tool.d.ts.map +0 -1
  1051. package/dist/tools/motion/detect.tool.js +0 -1421
  1052. package/dist/tools/motion/detect.tool.js.map +0 -1
  1053. package/dist/tools/motion/detection-modes.d.ts +0 -72
  1054. package/dist/tools/motion/detection-modes.d.ts.map +0 -1
  1055. package/dist/tools/motion/detection-modes.js +0 -353
  1056. package/dist/tools/motion/detection-modes.js.map +0 -1
  1057. package/dist/tools/motion/di-factories.d.ts +0 -341
  1058. package/dist/tools/motion/di-factories.d.ts.map +0 -1
  1059. package/dist/tools/motion/di-factories.js +0 -376
  1060. package/dist/tools/motion/di-factories.js.map +0 -1
  1061. package/dist/tools/motion/index.d.ts +0 -12
  1062. package/dist/tools/motion/index.d.ts.map +0 -1
  1063. package/dist/tools/motion/index.js +0 -146
  1064. package/dist/tools/motion/index.js.map +0 -1
  1065. package/dist/tools/motion/pattern-converter.d.ts +0 -49
  1066. package/dist/tools/motion/pattern-converter.d.ts.map +0 -1
  1067. package/dist/tools/motion/pattern-converter.js +0 -493
  1068. package/dist/tools/motion/pattern-converter.js.map +0 -1
  1069. package/dist/tools/motion/schemas.d.ts +0 -10
  1070. package/dist/tools/motion/schemas.d.ts.map +0 -1
  1071. package/dist/tools/motion/schemas.js +0 -28
  1072. package/dist/tools/motion/schemas.js.map +0 -1
  1073. package/dist/tools/motion/search.schemas.d.ts +0 -7500
  1074. package/dist/tools/motion/search.schemas.d.ts.map +0 -1
  1075. package/dist/tools/motion/search.schemas.js +0 -596
  1076. package/dist/tools/motion/search.schemas.js.map +0 -1
  1077. package/dist/tools/motion/search.tool.d.ts +0 -416
  1078. package/dist/tools/motion/search.tool.d.ts.map +0 -1
  1079. package/dist/tools/motion/search.tool.js +0 -2088
  1080. package/dist/tools/motion/search.tool.js.map +0 -1
  1081. package/dist/tools/motion/shared.schemas.d.ts +0 -994
  1082. package/dist/tools/motion/shared.schemas.d.ts.map +0 -1
  1083. package/dist/tools/motion/shared.schemas.js +0 -354
  1084. package/dist/tools/motion/shared.schemas.js.map +0 -1
  1085. package/dist/tools/narrative/analyze.tool.d.ts +0 -96
  1086. package/dist/tools/narrative/analyze.tool.d.ts.map +0 -1
  1087. package/dist/tools/narrative/analyze.tool.js +0 -396
  1088. package/dist/tools/narrative/analyze.tool.js.map +0 -1
  1089. package/dist/tools/narrative/index.d.ts +0 -15
  1090. package/dist/tools/narrative/index.d.ts.map +0 -1
  1091. package/dist/tools/narrative/index.js +0 -83
  1092. package/dist/tools/narrative/index.js.map +0 -1
  1093. package/dist/tools/narrative/schemas.d.ts +0 -5553
  1094. package/dist/tools/narrative/schemas.d.ts.map +0 -1
  1095. package/dist/tools/narrative/schemas.js +0 -747
  1096. package/dist/tools/narrative/schemas.js.map +0 -1
  1097. package/dist/tools/narrative/search.tool.d.ts +0 -160
  1098. package/dist/tools/narrative/search.tool.d.ts.map +0 -1
  1099. package/dist/tools/narrative/search.tool.js +0 -434
  1100. package/dist/tools/narrative/search.tool.js.map +0 -1
  1101. package/dist/tools/page/analyze.tool.d.ts +0 -502
  1102. package/dist/tools/page/analyze.tool.d.ts.map +0 -1
  1103. package/dist/tools/page/analyze.tool.js +0 -875
  1104. package/dist/tools/page/analyze.tool.js.map +0 -1
  1105. package/dist/tools/page/get-job-status.tool.d.ts +0 -43
  1106. package/dist/tools/page/get-job-status.tool.d.ts.map +0 -1
  1107. package/dist/tools/page/get-job-status.tool.js +0 -178
  1108. package/dist/tools/page/get-job-status.tool.js.map +0 -1
  1109. package/dist/tools/page/handlers/db-handler.d.ts +0 -155
  1110. package/dist/tools/page/handlers/db-handler.d.ts.map +0 -1
  1111. package/dist/tools/page/handlers/db-handler.js +0 -368
  1112. package/dist/tools/page/handlers/db-handler.js.map +0 -1
  1113. package/dist/tools/page/handlers/embedding-handler.d.ts +0 -200
  1114. package/dist/tools/page/handlers/embedding-handler.d.ts.map +0 -1
  1115. package/dist/tools/page/handlers/embedding-handler.js +0 -541
  1116. package/dist/tools/page/handlers/embedding-handler.js.map +0 -1
  1117. package/dist/tools/page/handlers/execution-status-tracker.d.ts +0 -146
  1118. package/dist/tools/page/handlers/execution-status-tracker.d.ts.map +0 -1
  1119. package/dist/tools/page/handlers/execution-status-tracker.js +0 -348
  1120. package/dist/tools/page/handlers/execution-status-tracker.js.map +0 -1
  1121. package/dist/tools/page/handlers/js-animation-handler.d.ts +0 -197
  1122. package/dist/tools/page/handlers/js-animation-handler.d.ts.map +0 -1
  1123. package/dist/tools/page/handlers/js-animation-handler.js +0 -952
  1124. package/dist/tools/page/handlers/js-animation-handler.js.map +0 -1
  1125. package/dist/tools/page/handlers/layout-handler.d.ts +0 -31
  1126. package/dist/tools/page/handlers/layout-handler.d.ts.map +0 -1
  1127. package/dist/tools/page/handlers/layout-handler.js +0 -1181
  1128. package/dist/tools/page/handlers/layout-handler.js.map +0 -1
  1129. package/dist/tools/page/handlers/motion-handler.d.ts +0 -31
  1130. package/dist/tools/page/handlers/motion-handler.d.ts.map +0 -1
  1131. package/dist/tools/page/handlers/motion-handler.js +0 -940
  1132. package/dist/tools/page/handlers/motion-handler.js.map +0 -1
  1133. package/dist/tools/page/handlers/narrative-handler.d.ts +0 -23
  1134. package/dist/tools/page/handlers/narrative-handler.d.ts.map +0 -1
  1135. package/dist/tools/page/handlers/narrative-handler.js +0 -279
  1136. package/dist/tools/page/handlers/narrative-handler.js.map +0 -1
  1137. package/dist/tools/page/handlers/phased-db-handler.d.ts +0 -83
  1138. package/dist/tools/page/handlers/phased-db-handler.d.ts.map +0 -1
  1139. package/dist/tools/page/handlers/phased-db-handler.js +0 -120
  1140. package/dist/tools/page/handlers/phased-db-handler.js.map +0 -1
  1141. package/dist/tools/page/handlers/phased-executor.d.ts +0 -123
  1142. package/dist/tools/page/handlers/phased-executor.d.ts.map +0 -1
  1143. package/dist/tools/page/handlers/phased-executor.js +0 -205
  1144. package/dist/tools/page/handlers/phased-executor.js.map +0 -1
  1145. package/dist/tools/page/handlers/quality-handler.d.ts +0 -9
  1146. package/dist/tools/page/handlers/quality-handler.d.ts.map +0 -1
  1147. package/dist/tools/page/handlers/quality-handler.js +0 -100
  1148. package/dist/tools/page/handlers/quality-handler.js.map +0 -1
  1149. package/dist/tools/page/handlers/result-builder.d.ts +0 -105
  1150. package/dist/tools/page/handlers/result-builder.d.ts.map +0 -1
  1151. package/dist/tools/page/handlers/result-builder.js +0 -447
  1152. package/dist/tools/page/handlers/result-builder.js.map +0 -1
  1153. package/dist/tools/page/handlers/retry-strategy.d.ts +0 -106
  1154. package/dist/tools/page/handlers/retry-strategy.d.ts.map +0 -1
  1155. package/dist/tools/page/handlers/retry-strategy.js +0 -169
  1156. package/dist/tools/page/handlers/retry-strategy.js.map +0 -1
  1157. package/dist/tools/page/handlers/sync-processing.d.ts +0 -26
  1158. package/dist/tools/page/handlers/sync-processing.d.ts.map +0 -1
  1159. package/dist/tools/page/handlers/sync-processing.js +0 -1659
  1160. package/dist/tools/page/handlers/sync-processing.js.map +0 -1
  1161. package/dist/tools/page/handlers/timeout-utils.d.ts +0 -278
  1162. package/dist/tools/page/handlers/timeout-utils.d.ts.map +0 -1
  1163. package/dist/tools/page/handlers/timeout-utils.js +0 -600
  1164. package/dist/tools/page/handlers/timeout-utils.js.map +0 -1
  1165. package/dist/tools/page/handlers/types.d.ts +0 -1229
  1166. package/dist/tools/page/handlers/types.d.ts.map +0 -1
  1167. package/dist/tools/page/handlers/types.js +0 -21
  1168. package/dist/tools/page/handlers/types.js.map +0 -1
  1169. package/dist/tools/page/handlers/video-handler.d.ts +0 -11
  1170. package/dist/tools/page/handlers/video-handler.d.ts.map +0 -1
  1171. package/dist/tools/page/handlers/video-handler.js +0 -235
  1172. package/dist/tools/page/handlers/video-handler.js.map +0 -1
  1173. package/dist/tools/page/handlers/webgl-animation-handler.d.ts +0 -48
  1174. package/dist/tools/page/handlers/webgl-animation-handler.d.ts.map +0 -1
  1175. package/dist/tools/page/handlers/webgl-animation-handler.js +0 -237
  1176. package/dist/tools/page/handlers/webgl-animation-handler.js.map +0 -1
  1177. package/dist/tools/page/handlers/webgl-detector.d.ts +0 -184
  1178. package/dist/tools/page/handlers/webgl-detector.d.ts.map +0 -1
  1179. package/dist/tools/page/handlers/webgl-detector.js +0 -680
  1180. package/dist/tools/page/handlers/webgl-detector.js.map +0 -1
  1181. package/dist/tools/page/handlers/webgl-domains.d.ts +0 -133
  1182. package/dist/tools/page/handlers/webgl-domains.d.ts.map +0 -1
  1183. package/dist/tools/page/handlers/webgl-domains.js +0 -420
  1184. package/dist/tools/page/handlers/webgl-domains.js.map +0 -1
  1185. package/dist/tools/page/handlers/webgl-pre-detector.d.ts +0 -100
  1186. package/dist/tools/page/handlers/webgl-pre-detector.d.ts.map +0 -1
  1187. package/dist/tools/page/handlers/webgl-pre-detector.js +0 -248
  1188. package/dist/tools/page/handlers/webgl-pre-detector.js.map +0 -1
  1189. package/dist/tools/page/index.d.ts +0 -10
  1190. package/dist/tools/page/index.d.ts.map +0 -1
  1191. package/dist/tools/page/index.js +0 -84
  1192. package/dist/tools/page/index.js.map +0 -1
  1193. package/dist/tools/page/input.schemas.d.ts +0 -2223
  1194. package/dist/tools/page/input.schemas.d.ts.map +0 -1
  1195. package/dist/tools/page/input.schemas.js +0 -853
  1196. package/dist/tools/page/input.schemas.js.map +0 -1
  1197. package/dist/tools/page/output.schemas.d.ts +0 -26026
  1198. package/dist/tools/page/output.schemas.d.ts.map +0 -1
  1199. package/dist/tools/page/output.schemas.js +0 -1414
  1200. package/dist/tools/page/output.schemas.js.map +0 -1
  1201. package/dist/tools/page/schemas.d.ts +0 -10
  1202. package/dist/tools/page/schemas.d.ts.map +0 -1
  1203. package/dist/tools/page/schemas.js +0 -28
  1204. package/dist/tools/page/schemas.js.map +0 -1
  1205. package/dist/tools/page/shared.schemas.d.ts +0 -38
  1206. package/dist/tools/page/shared.schemas.d.ts.map +0 -1
  1207. package/dist/tools/page/shared.schemas.js +0 -69
  1208. package/dist/tools/page/shared.schemas.js.map +0 -1
  1209. package/dist/tools/part/compare.tool.d.ts +0 -106
  1210. package/dist/tools/part/compare.tool.d.ts.map +0 -1
  1211. package/dist/tools/part/compare.tool.js +0 -421
  1212. package/dist/tools/part/compare.tool.js.map +0 -1
  1213. package/dist/tools/part/inspect.tool.d.ts +0 -108
  1214. package/dist/tools/part/inspect.tool.d.ts.map +0 -1
  1215. package/dist/tools/part/inspect.tool.js +0 -279
  1216. package/dist/tools/part/inspect.tool.js.map +0 -1
  1217. package/dist/tools/part/search.tool.d.ts +0 -121
  1218. package/dist/tools/part/search.tool.d.ts.map +0 -1
  1219. package/dist/tools/part/search.tool.js +0 -381
  1220. package/dist/tools/part/search.tool.js.map +0 -1
  1221. package/dist/tools/preference/get.tool.d.ts +0 -74
  1222. package/dist/tools/preference/get.tool.d.ts.map +0 -1
  1223. package/dist/tools/preference/get.tool.js +0 -175
  1224. package/dist/tools/preference/get.tool.js.map +0 -1
  1225. package/dist/tools/preference/hear.tool.d.ts +0 -267
  1226. package/dist/tools/preference/hear.tool.d.ts.map +0 -1
  1227. package/dist/tools/preference/hear.tool.js +0 -268
  1228. package/dist/tools/preference/hear.tool.js.map +0 -1
  1229. package/dist/tools/preference/index.d.ts +0 -16
  1230. package/dist/tools/preference/index.d.ts.map +0 -1
  1231. package/dist/tools/preference/index.js +0 -43
  1232. package/dist/tools/preference/index.js.map +0 -1
  1233. package/dist/tools/preference/reset.tool.d.ts +0 -71
  1234. package/dist/tools/preference/reset.tool.d.ts.map +0 -1
  1235. package/dist/tools/preference/reset.tool.js +0 -205
  1236. package/dist/tools/preference/reset.tool.js.map +0 -1
  1237. package/dist/tools/preference/schemas.d.ts +0 -174
  1238. package/dist/tools/preference/schemas.d.ts.map +0 -1
  1239. package/dist/tools/preference/schemas.js +0 -142
  1240. package/dist/tools/preference/schemas.js.map +0 -1
  1241. package/dist/tools/project-get.d.ts +0 -42
  1242. package/dist/tools/project-get.d.ts.map +0 -1
  1243. package/dist/tools/project-get.js +0 -152
  1244. package/dist/tools/project-get.js.map +0 -1
  1245. package/dist/tools/project-list.d.ts +0 -66
  1246. package/dist/tools/project-list.d.ts.map +0 -1
  1247. package/dist/tools/project-list.js +0 -201
  1248. package/dist/tools/project-list.js.map +0 -1
  1249. package/dist/tools/quality/batch-evaluate.tool.d.ts +0 -101
  1250. package/dist/tools/quality/batch-evaluate.tool.d.ts.map +0 -1
  1251. package/dist/tools/quality/batch-evaluate.tool.js +0 -393
  1252. package/dist/tools/quality/batch-evaluate.tool.js.map +0 -1
  1253. package/dist/tools/quality/evaluate-engine.d.ts +0 -166
  1254. package/dist/tools/quality/evaluate-engine.d.ts.map +0 -1
  1255. package/dist/tools/quality/evaluate-engine.js +0 -1061
  1256. package/dist/tools/quality/evaluate-engine.js.map +0 -1
  1257. package/dist/tools/quality/evaluate.tool.d.ts +0 -286
  1258. package/dist/tools/quality/evaluate.tool.d.ts.map +0 -1
  1259. package/dist/tools/quality/evaluate.tool.js +0 -815
  1260. package/dist/tools/quality/evaluate.tool.js.map +0 -1
  1261. package/dist/tools/quality/get-job-status.tool.d.ts +0 -44
  1262. package/dist/tools/quality/get-job-status.tool.d.ts.map +0 -1
  1263. package/dist/tools/quality/get-job-status.tool.js +0 -291
  1264. package/dist/tools/quality/get-job-status.tool.js.map +0 -1
  1265. package/dist/tools/quality/improvement-utils.d.ts +0 -24
  1266. package/dist/tools/quality/improvement-utils.d.ts.map +0 -1
  1267. package/dist/tools/quality/improvement-utils.js +0 -307
  1268. package/dist/tools/quality/improvement-utils.js.map +0 -1
  1269. package/dist/tools/quality/index.d.ts +0 -11
  1270. package/dist/tools/quality/index.d.ts.map +0 -1
  1271. package/dist/tools/quality/index.js +0 -49
  1272. package/dist/tools/quality/index.js.map +0 -1
  1273. package/dist/tools/quality/schemas.d.ts +0 -14098
  1274. package/dist/tools/quality/schemas.d.ts.map +0 -1
  1275. package/dist/tools/quality/schemas.js +0 -950
  1276. package/dist/tools/quality/schemas.js.map +0 -1
  1277. package/dist/tools/responsive/schemas.d.ts +0 -156
  1278. package/dist/tools/responsive/schemas.d.ts.map +0 -1
  1279. package/dist/tools/responsive/schemas.js +0 -86
  1280. package/dist/tools/responsive/schemas.js.map +0 -1
  1281. package/dist/tools/responsive/search.tool.d.ts +0 -130
  1282. package/dist/tools/responsive/search.tool.d.ts.map +0 -1
  1283. package/dist/tools/responsive/search.tool.js +0 -324
  1284. package/dist/tools/responsive/search.tool.js.map +0 -1
  1285. package/dist/tools/schemas/index.d.ts +0 -10
  1286. package/dist/tools/schemas/index.d.ts.map +0 -1
  1287. package/dist/tools/schemas/index.js +0 -45
  1288. package/dist/tools/schemas/index.js.map +0 -1
  1289. package/dist/tools/schemas/layout-schemas.d.ts +0 -521
  1290. package/dist/tools/schemas/layout-schemas.d.ts.map +0 -1
  1291. package/dist/tools/schemas/layout-schemas.js +0 -281
  1292. package/dist/tools/schemas/layout-schemas.js.map +0 -1
  1293. package/dist/tools/schemas/project-schemas.d.ts +0 -417
  1294. package/dist/tools/schemas/project-schemas.d.ts.map +0 -1
  1295. package/dist/tools/schemas/project-schemas.js +0 -159
  1296. package/dist/tools/schemas/project-schemas.js.map +0 -1
  1297. package/dist/tools/schemas/shared.d.ts +0 -107
  1298. package/dist/tools/schemas/shared.d.ts.map +0 -1
  1299. package/dist/tools/schemas/shared.js +0 -150
  1300. package/dist/tools/schemas/shared.js.map +0 -1
  1301. package/dist/tools/schemas/style-schemas.d.ts +0 -114
  1302. package/dist/tools/schemas/style-schemas.d.ts.map +0 -1
  1303. package/dist/tools/schemas/style-schemas.js +0 -61
  1304. package/dist/tools/schemas/style-schemas.js.map +0 -1
  1305. package/dist/tools/style-get-palette.d.ts +0 -136
  1306. package/dist/tools/style-get-palette.d.ts.map +0 -1
  1307. package/dist/tools/style-get-palette.js +0 -259
  1308. package/dist/tools/style-get-palette.js.map +0 -1
  1309. package/dist/tools/system-health.d.ts +0 -255
  1310. package/dist/tools/system-health.d.ts.map +0 -1
  1311. package/dist/tools/system-health.js +0 -463
  1312. package/dist/tools/system-health.js.map +0 -1
  1313. package/dist/transport.d.ts +0 -29
  1314. package/dist/transport.d.ts.map +0 -1
  1315. package/dist/transport.js +0 -50
  1316. package/dist/transport.js.map +0 -1
  1317. package/dist/types/creative/index.d.ts +0 -8
  1318. package/dist/types/creative/index.d.ts.map +0 -1
  1319. package/dist/types/creative/index.js +0 -5
  1320. package/dist/types/creative/index.js.map +0 -1
  1321. package/dist/types/creative/palette.d.ts +0 -142
  1322. package/dist/types/creative/palette.d.ts.map +0 -1
  1323. package/dist/types/creative/palette.js +0 -5
  1324. package/dist/types/creative/palette.js.map +0 -1
  1325. package/dist/types/reftrix-window.d.ts +0 -124
  1326. package/dist/types/reftrix-window.d.ts.map +0 -1
  1327. package/dist/types/reftrix-window.js +0 -68
  1328. package/dist/types/reftrix-window.js.map +0 -1
  1329. package/dist/utils/actionable-warning.d.ts +0 -170
  1330. package/dist/utils/actionable-warning.d.ts.map +0 -1
  1331. package/dist/utils/actionable-warning.js +0 -818
  1332. package/dist/utils/actionable-warning.js.map +0 -1
  1333. package/dist/utils/blank-image-detector.d.ts +0 -22
  1334. package/dist/utils/blank-image-detector.d.ts.map +0 -1
  1335. package/dist/utils/blank-image-detector.js +0 -133
  1336. package/dist/utils/blank-image-detector.js.map +0 -1
  1337. package/dist/utils/color.d.ts +0 -203
  1338. package/dist/utils/color.d.ts.map +0 -1
  1339. package/dist/utils/color.js +0 -442
  1340. package/dist/utils/color.js.map +0 -1
  1341. package/dist/utils/deprecation-warning.d.ts +0 -43
  1342. package/dist/utils/deprecation-warning.d.ts.map +0 -1
  1343. package/dist/utils/deprecation-warning.js +0 -112
  1344. package/dist/utils/deprecation-warning.js.map +0 -1
  1345. package/dist/utils/error-messages.d.ts +0 -233
  1346. package/dist/utils/error-messages.d.ts.map +0 -1
  1347. package/dist/utils/error-messages.js +0 -721
  1348. package/dist/utils/error-messages.js.map +0 -1
  1349. package/dist/utils/errors.d.ts +0 -64
  1350. package/dist/utils/errors.d.ts.map +0 -1
  1351. package/dist/utils/errors.js +0 -82
  1352. package/dist/utils/errors.js.map +0 -1
  1353. package/dist/utils/gpu-browser-args.d.ts +0 -27
  1354. package/dist/utils/gpu-browser-args.d.ts.map +0 -1
  1355. package/dist/utils/gpu-browser-args.js +0 -42
  1356. package/dist/utils/gpu-browser-args.js.map +0 -1
  1357. package/dist/utils/html-sanitizer.d.ts +0 -116
  1358. package/dist/utils/html-sanitizer.d.ts.map +0 -1
  1359. package/dist/utils/html-sanitizer.js +0 -630
  1360. package/dist/utils/html-sanitizer.js.map +0 -1
  1361. package/dist/utils/logger.d.ts +0 -141
  1362. package/dist/utils/logger.d.ts.map +0 -1
  1363. package/dist/utils/logger.js +0 -249
  1364. package/dist/utils/logger.js.map +0 -1
  1365. package/dist/utils/mcp-response.d.ts +0 -317
  1366. package/dist/utils/mcp-response.d.ts.map +0 -1
  1367. package/dist/utils/mcp-response.js +0 -270
  1368. package/dist/utils/mcp-response.js.map +0 -1
  1369. package/dist/utils/path-security.d.ts +0 -73
  1370. package/dist/utils/path-security.d.ts.map +0 -1
  1371. package/dist/utils/path-security.js +0 -389
  1372. package/dist/utils/path-security.js.map +0 -1
  1373. package/dist/utils/prisma-wrapper-factory.d.ts +0 -152
  1374. package/dist/utils/prisma-wrapper-factory.d.ts.map +0 -1
  1375. package/dist/utils/prisma-wrapper-factory.js +0 -124
  1376. package/dist/utils/prisma-wrapper-factory.js.map +0 -1
  1377. package/dist/utils/safe-parse-int.d.ts +0 -41
  1378. package/dist/utils/safe-parse-int.d.ts.map +0 -1
  1379. package/dist/utils/safe-parse-int.js +0 -49
  1380. package/dist/utils/safe-parse-int.js.map +0 -1
  1381. package/dist/utils/url-normalizer.d.ts +0 -38
  1382. package/dist/utils/url-normalizer.d.ts.map +0 -1
  1383. package/dist/utils/url-normalizer.js +0 -103
  1384. package/dist/utils/url-normalizer.js.map +0 -1
  1385. package/dist/utils/url-validator.d.ts +0 -86
  1386. package/dist/utils/url-validator.d.ts.map +0 -1
  1387. package/dist/utils/url-validator.js +0 -533
  1388. package/dist/utils/url-validator.js.map +0 -1
  1389. package/dist/workers/batch-quality-worker.d.ts +0 -87
  1390. package/dist/workers/batch-quality-worker.d.ts.map +0 -1
  1391. package/dist/workers/batch-quality-worker.js +0 -300
  1392. package/dist/workers/batch-quality-worker.js.map +0 -1
  1393. package/dist/workers/page-analyze-worker.d.ts +0 -63
  1394. package/dist/workers/page-analyze-worker.d.ts.map +0 -1
  1395. package/dist/workers/page-analyze-worker.js +0 -872
  1396. package/dist/workers/page-analyze-worker.js.map +0 -1
  1397. package/dist/workers/phases/phase-0-ingest.d.ts +0 -42
  1398. package/dist/workers/phases/phase-0-ingest.d.ts.map +0 -1
  1399. package/dist/workers/phases/phase-0-ingest.js +0 -197
  1400. package/dist/workers/phases/phase-0-ingest.js.map +0 -1
  1401. package/dist/workers/phases/phase-1-layout.d.ts +0 -63
  1402. package/dist/workers/phases/phase-1-layout.d.ts.map +0 -1
  1403. package/dist/workers/phases/phase-1-layout.js +0 -362
  1404. package/dist/workers/phases/phase-1-layout.js.map +0 -1
  1405. package/dist/workers/phases/phase-2-motion.d.ts +0 -93
  1406. package/dist/workers/phases/phase-2-motion.d.ts.map +0 -1
  1407. package/dist/workers/phases/phase-2-motion.js +0 -408
  1408. package/dist/workers/phases/phase-2-motion.js.map +0 -1
  1409. package/dist/workers/phases/phase-3-quality.d.ts +0 -61
  1410. package/dist/workers/phases/phase-3-quality.d.ts.map +0 -1
  1411. package/dist/workers/phases/phase-3-quality.js +0 -191
  1412. package/dist/workers/phases/phase-3-quality.js.map +0 -1
  1413. package/dist/workers/phases/phase-4-narrative.d.ts +0 -37
  1414. package/dist/workers/phases/phase-4-narrative.d.ts.map +0 -1
  1415. package/dist/workers/phases/phase-4-narrative.js +0 -309
  1416. package/dist/workers/phases/phase-4-narrative.js.map +0 -1
  1417. package/dist/workers/phases/phase-5-embedding.d.ts +0 -56
  1418. package/dist/workers/phases/phase-5-embedding.d.ts.map +0 -1
  1419. package/dist/workers/phases/phase-5-embedding.js +0 -1350
  1420. package/dist/workers/phases/phase-5-embedding.js.map +0 -1
  1421. package/dist/workers/phases/types.d.ts +0 -411
  1422. package/dist/workers/phases/types.d.ts.map +0 -1
  1423. package/dist/workers/phases/types.js +0 -540
  1424. package/dist/workers/phases/types.js.map +0 -1
@@ -1084,464 +1084,28 @@ export async function processEmbeddingPhase(
1084
1084
  }
1085
1085
 
1086
1086
  // 5d. チャンク処理でcrop→DINOv2→DB保存
1087
- const SECTION_FALLBACK_TIMEOUT_MS = 300_000; // 300s cumulative timeout
1088
- let sectionFallbackCapturedCount = 0;
1089
-
1090
- // 5d-diag. 診断カウンター
1091
- let diagInRangeCount = 0;
1092
- let diagFallbackCount = 0;
1093
- let diagDynamicCount = 0;
1094
- let diagDedupSkipCount = 0;
1095
- let diagSkippedCount = 0;
1096
-
1097
- // 5d-pre. フォールバック対象セクションの事前バッチ収集
1098
- const fallbackEnabled =
1099
- (process.env["ENABLE_SECTION_SCREENSHOT_FALLBACK"] ?? "true") === "true";
1100
- const fallbackSections: Array<{ id: string; startY: number; height: number }> = [];
1101
- for (const section of sectionsFiltered) {
1102
- const sectionPos = sectionPositionMap.get(section.section_pattern_id);
1103
- if (!sectionPos || sectionPos.height < 10) continue;
1104
- const sectionTop = Math.max(0, Math.round(sectionPos.startY));
1105
- if (sectionTop >= imgHeight) {
1106
- fallbackSections.push({
1107
- id: section.section_pattern_id,
1108
- startY: sectionPos.startY,
1109
- height: sectionPos.height,
1110
- });
1111
- }
1112
- }
1113
-
1114
- // 5d-batch. フォールバック対象を1回のバッチ呼び出しで一括キャプチャ
1115
- const fallbackScreenshots = new Map<string, Buffer>();
1116
- if (fallbackSections.length > 0 && fallbackEnabled) {
1117
- if (isDevelopment()) {
1118
- logger.info(
1119
- "[PageAnalyzeWorker] Batch capturing fallback section screenshots",
1120
- {
1121
- fallbackSectionCount: fallbackSections.length,
1122
- }
1123
- );
1124
- }
1125
-
1126
- try {
1127
- const fallbackResult = await captureSectionScreenshots({
1128
- url,
1129
- sections: fallbackSections,
1130
- viewportWidth: job.data.options?.layoutOptions?.viewport?.width ?? 1920,
1131
- viewportHeight: job.data.options?.layoutOptions?.viewport?.height ?? 1080,
1132
- maxSections: 50,
1133
- timeoutMs: SECTION_FALLBACK_TIMEOUT_MS,
1134
- sharedBrowser: params.sharedBrowser,
1135
- checkMemoryPressure,
1136
- });
1137
-
1138
- for (const fbResult of fallbackResult.results) {
1139
- if (fbResult.screenshotBuffer && !fbResult.skipped) {
1140
- fallbackScreenshots.set(fbResult.sectionId, fbResult.screenshotBuffer);
1141
- }
1142
- }
1143
- sectionFallbackCapturedCount = fallbackResult.capturedCount;
1144
- } catch (batchFallbackError) {
1145
- logger.warn(
1146
- "[PageAnalyzeWorker] Batch section screenshot fallback failed (non-fatal)",
1147
- {
1148
- error:
1149
- batchFallbackError instanceof Error
1150
- ? batchFallbackError.message
1151
- : String(batchFallbackError),
1152
- }
1153
- );
1154
- }
1155
- }
1156
-
1157
- // 5d-dedup. Type-aware 重複ベクトル検出用のスライディングウィンドウ
1158
- const parsedThreshold = parseFloat(
1159
- process.env["DUPLICATE_VECTOR_THRESHOLD"] ?? "0.995"
1160
- );
1161
- const DUPLICATE_THRESHOLD = Number.isFinite(parsedThreshold)
1162
- ? parsedThreshold
1163
- : 0.995;
1164
- const MAX_RECENT_EMBEDDINGS = 10;
1165
- const recentSectionVisualEmbeddings: Array<{
1166
- embedding: number[];
1167
- sectionType: string;
1168
- }> = [];
1169
-
1170
- // 5d-dynamic. 動的Fallbackキュー: 白画像検出セクションを蓄積
1171
- const MAX_DYNAMIC_FALLBACK_SECTIONS = 20;
1172
- const dynamicFallbackSections: Array<{
1173
- sectionEmbeddingId: string;
1174
- sectionPatternId: string;
1175
- startY: number;
1176
- height: number;
1177
- }> = [];
1178
-
1179
- let sectionVisualChunkSize = EMBEDDING_CHUNK_SIZE;
1180
-
1181
- for (
1182
- let offset = 0;
1183
- offset < sectionsFiltered.length;
1184
- offset += sectionVisualChunkSize
1185
- ) {
1186
- // Memory pressure check
1187
- const memCheck = checkMemoryPressure();
1188
- if (memCheck.shouldAbort) {
1189
- logger.warn(
1190
- "[PageAnalyzeWorker] Critical memory, stopping section visual embedding",
1191
- { rssMb: memCheck.rssMb }
1192
- );
1193
- break;
1194
- }
1195
- if (memCheck.shouldDegrade) {
1196
- sectionVisualChunkSize = Math.max(3, Math.floor(sectionVisualChunkSize / 2));
1197
- logger.warn(
1198
- "[PageAnalyzeWorker] Memory pressure, reducing section visual chunk size",
1199
- {
1200
- rssMb: memCheck.rssMb,
1201
- newChunkSize: sectionVisualChunkSize,
1202
- }
1203
- );
1204
- }
1205
-
1206
- const chunk = sectionsFiltered.slice(offset, offset + sectionVisualChunkSize);
1207
-
1208
- // Lock extension per chunk
1209
- await extendJobLock(
1210
- job,
1211
- effectiveToken,
1212
- effectiveLockDuration,
1213
- "embedding-sections-visual"
1214
- );
1215
-
1216
- for (const section of chunk) {
1217
- try {
1218
- const sectionPos = sectionPositionMap.get(section.section_pattern_id);
1219
- if (!sectionPos || sectionPos.height < 10) {
1220
- diagSkippedCount++;
1221
- if (isDevelopment()) {
1222
- logger.info("[PageAnalyzeWorker] Section visual path", {
1223
- sectionId: section.section_pattern_id.slice(0, 8) + "...",
1224
- path: "skipped",
1225
- skipReason: !sectionPos ? "no_position" : "height_too_small",
1226
- });
1227
- }
1228
- continue;
1229
- }
1230
-
1231
- const sectionTop = Math.max(0, Math.round(sectionPos.startY));
1232
- const isOutOfRange = sectionTop >= imgHeight;
1233
-
1234
- // TDA HIGH-1: acquireSectionCropBuffer でcropパスを一元管理
1235
- const cropResult = await acquireSectionCropBuffer({
1236
- sectionPatternId: section.section_pattern_id,
1237
- sectionPos,
1238
- screenshotBuffer: screenshotBuffer!,
1239
- imgWidth,
1240
- imgHeight,
1241
- fallbackScreenshots,
1242
- fallbackEnabled,
1243
- dinov2InputSize: DINOV2_INPUT_SIZE,
1244
- });
1245
-
1246
- if (cropResult.isBlank) {
1247
- // 白画像検出: 動的Fallbackキューに蓄積
1248
- if (dynamicFallbackSections.length < MAX_DYNAMIC_FALLBACK_SECTIONS) {
1249
- dynamicFallbackSections.push({
1250
- sectionEmbeddingId: section.id,
1251
- sectionPatternId: section.section_pattern_id,
1252
- startY: sectionPos.startY,
1253
- height: sectionPos.height,
1254
- });
1255
- }
1256
- if (isDevelopment()) {
1257
- logger.info("[PageAnalyzeWorker] Section visual path", {
1258
- sectionId: section.section_pattern_id.slice(0, 8) + "...",
1259
- startY: sectionPos.startY,
1260
- height: sectionPos.height,
1261
- imgHeight,
1262
- path: "dynamic",
1263
- });
1264
- }
1265
- continue;
1266
- }
1267
-
1268
- if (!cropResult.rawCropBuffer) {
1269
- diagSkippedCount++;
1270
- if (isDevelopment()) {
1271
- logger.info("[PageAnalyzeWorker] Section visual path", {
1272
- sectionId: section.section_pattern_id.slice(0, 8) + "...",
1273
- startY: sectionPos.startY,
1274
- height: sectionPos.height,
1275
- imgHeight,
1276
- path: "skipped",
1277
- skipReason: "no_crop_buffer",
1278
- });
1279
- }
1280
- continue;
1281
- }
1282
-
1283
- // Generate visual embedding via DINOv2
1284
- const visualEmbedding = await generateVisualEmbedding(
1285
- dinov2Service,
1286
- cropResult.rawCropBuffer
1287
- );
1288
-
1289
- // Type-aware 重複ベクトル検出
1290
- const currentSectionType = sectionPos.sectionType;
1291
- const isDuplicateVector = isDuplicateVisionEmbedding({
1292
- sectionType: currentSectionType,
1293
- height: sectionPos.height,
1294
- embedding: visualEmbedding,
1295
- recentEmbeddings: recentSectionVisualEmbeddings,
1296
- threshold: DUPLICATE_THRESHOLD,
1297
- });
1298
-
1299
- if (isDuplicateVector) {
1300
- diagDedupSkipCount++;
1301
- logger.warn(
1302
- "[PageAnalyzeWorker] Duplicate vision embedding detected, skipping DB save",
1303
- {
1304
- sectionId: section.section_pattern_id.slice(0, 8) + "...",
1305
- sectionType: currentSectionType,
1306
- }
1307
- );
1308
- if (isDevelopment()) {
1309
- logger.info("[PageAnalyzeWorker] Section visual path", {
1310
- sectionId: section.section_pattern_id.slice(0, 8) + "...",
1311
- startY: sectionPos.startY,
1312
- height: sectionPos.height,
1313
- imgHeight,
1314
- path: "dedup",
1315
- sectionType: currentSectionType,
1316
- });
1317
- }
1318
- continue;
1319
- }
1320
-
1321
- // スライディングウィンドウに追加
1322
- recentSectionVisualEmbeddings.push({
1323
- embedding: visualEmbedding,
1324
- sectionType: currentSectionType,
1325
- });
1326
- if (recentSectionVisualEmbeddings.length > MAX_RECENT_EMBEDDINGS) {
1327
- recentSectionVisualEmbeddings.shift();
1328
- }
1329
-
1330
- // Update vision_embedding in DB via raw SQL
1331
- const visualVectorString = `[${visualEmbedding.join(",")}]`;
1332
- await prisma.$executeRawUnsafe(
1333
- `UPDATE section_embeddings
1334
- SET vision_embedding = $1::vector(768)
1335
- WHERE id = $2::uuid`,
1336
- visualVectorString,
1337
- section.id
1338
- );
1339
-
1340
- if (isOutOfRange) {
1341
- diagFallbackCount++;
1342
- } else {
1343
- diagInRangeCount++;
1344
- }
1345
-
1346
- if (isDevelopment()) {
1347
- logger.info("[PageAnalyzeWorker] Section visual path", {
1348
- sectionId: section.section_pattern_id.slice(0, 8) + "...",
1349
- startY: sectionPos.startY,
1350
- height: sectionPos.height,
1351
- imgHeight,
1352
- path: isOutOfRange ? "fallback" : "in_range",
1353
- });
1354
- }
1355
-
1356
- result.sectionVisualEmbeddingsGenerated++;
1357
- } catch (sectionVisualError) {
1358
- diagSkippedCount++;
1359
- logger.warn(
1360
- "[PageAnalyzeWorker] DINOv2 visual embedding failed for section (non-fatal)",
1361
- {
1362
- sectionEmbeddingId: section.id.slice(0, 8) + "...",
1363
- error:
1364
- sectionVisualError instanceof Error
1365
- ? sectionVisualError.message
1366
- : String(sectionVisualError),
1367
- }
1368
- );
1369
- }
1370
- }
1371
-
1372
- if (isDevelopment()) {
1373
- logger.info("[PageAnalyzeWorker] Section visual embedding chunk completed", {
1374
- chunkOffset: offset,
1375
- chunkSize: chunk.length,
1376
- totalVisualSoFar: result.sectionVisualEmbeddingsGenerated,
1377
- });
1378
- }
1379
-
1380
- // Inter-chunk memory recovery (except last chunk)
1381
- if (offset + sectionVisualChunkSize < sectionsNeedingVisual.length) {
1382
- tryGarbageCollect();
1383
- await new Promise<void>((resolve) => setImmediate(resolve));
1384
- }
1385
- }
1386
-
1387
- // 5d-dynamic-batch. 動的Fallback: 白画像検出セクションをバッチ再キャプチャ
1388
- if (dynamicFallbackSections.length > 0 && fallbackEnabled) {
1389
- const remainingCapacity = Math.max(0, 50 - sectionFallbackCapturedCount);
1390
- const dynamicBatch = dynamicFallbackSections.slice(0, remainingCapacity);
1391
-
1392
- if (dynamicBatch.length > 0) {
1393
- // 動的FallbackではscreenshotBase64不要 → メモリ解放して圧力軽減
1394
- screenshotBuffer = null;
1395
- if (typeof global.gc === "function") {
1396
- global.gc();
1397
- }
1398
-
1399
- const memCheckDynamic = checkMemoryPressure();
1400
- if (!memCheckDynamic.shouldAbort) {
1401
- if (isDevelopment()) {
1402
- logger.info(
1403
- "[PageAnalyzeWorker] Starting dynamic fallback for blank-detected sections",
1404
- {
1405
- dynamicFallbackCount: dynamicBatch.length,
1406
- remainingCapacity,
1407
- }
1408
- );
1409
- }
1410
-
1411
- try {
1412
- const dynamicFallbackResult = await captureSectionScreenshots({
1413
- url,
1414
- sections: dynamicBatch.map((s) => ({
1415
- id: s.sectionPatternId,
1416
- startY: s.startY,
1417
- height: s.height,
1418
- })),
1419
- viewportWidth: job.data.options?.layoutOptions?.viewport?.width ?? 1920,
1420
- viewportHeight: job.data.options?.layoutOptions?.viewport?.height ?? 1080,
1421
- maxSections: remainingCapacity,
1422
- timeoutMs: SECTION_FALLBACK_TIMEOUT_MS,
1423
- sharedBrowser: params.sharedBrowser,
1424
- checkMemoryPressure,
1425
- });
1426
-
1427
- sectionFallbackCapturedCount += dynamicFallbackResult.capturedCount;
1428
-
1429
- for (const fbResult of dynamicFallbackResult.results) {
1430
- if (fbResult.skipped || !fbResult.screenshotBuffer) continue;
1431
-
1432
- const matchingSection = dynamicBatch.find(
1433
- (s) => s.sectionPatternId === fbResult.sectionId
1434
- );
1435
- if (!matchingSection) continue;
1436
-
1437
- try {
1438
- const rawCropBuffer = await sharp(fbResult.screenshotBuffer)
1439
- .resize(DINOV2_INPUT_SIZE, DINOV2_INPUT_SIZE, {
1440
- fit: "cover",
1441
- kernel: "cubic",
1442
- })
1443
- .removeAlpha()
1444
- .toColorspace("srgb")
1445
- .raw()
1446
- .toBuffer();
1447
-
1448
- // LCC MUST-FIX-3: 動的Fallbackスクリーンショットバッファの参照解除
1449
- fbResult.screenshotBuffer = null;
1450
-
1451
- const visualEmbedding = await generateVisualEmbedding(
1452
- dinov2Service,
1453
- rawCropBuffer
1454
- );
1455
-
1456
- const dynamicSectionPos = sectionPositionMap.get(
1457
- matchingSection.sectionPatternId
1458
- );
1459
- const dynamicSectionType = dynamicSectionPos?.sectionType ?? "unknown";
1460
- const isDuplicateVector = isDuplicateVisionEmbedding({
1461
- sectionType: dynamicSectionType,
1462
- height: dynamicSectionPos?.height ?? 0,
1463
- embedding: visualEmbedding,
1464
- recentEmbeddings: recentSectionVisualEmbeddings,
1465
- threshold: DUPLICATE_THRESHOLD,
1466
- });
1467
-
1468
- if (isDuplicateVector) {
1469
- logger.warn(
1470
- "[PageAnalyzeWorker] Duplicate vision embedding (dynamic fallback), skipping",
1471
- {
1472
- sectionId: fbResult.sectionId.slice(0, 8) + "...",
1473
- sectionType: dynamicSectionType,
1474
- }
1475
- );
1476
- continue;
1477
- }
1478
-
1479
- recentSectionVisualEmbeddings.push({
1480
- embedding: visualEmbedding,
1481
- sectionType: dynamicSectionType,
1482
- });
1483
- if (recentSectionVisualEmbeddings.length > MAX_RECENT_EMBEDDINGS) {
1484
- recentSectionVisualEmbeddings.shift();
1485
- }
1486
-
1487
- const visualVectorString = `[${visualEmbedding.join(",")}]`;
1488
- await prisma.$executeRawUnsafe(
1489
- `UPDATE section_embeddings
1490
- SET vision_embedding = $1::vector(768)
1491
- WHERE id = $2::uuid`,
1492
- visualVectorString,
1493
- matchingSection.sectionEmbeddingId
1494
- );
1495
-
1496
- diagDynamicCount++;
1497
- result.sectionVisualEmbeddingsGenerated++;
1498
- } catch (dynamicEmbeddingError) {
1499
- logger.warn(
1500
- "[PageAnalyzeWorker] DINOv2 visual embedding failed for dynamic fallback section (non-fatal)",
1501
- {
1502
- sectionId: fbResult.sectionId.slice(0, 8) + "...",
1503
- error:
1504
- dynamicEmbeddingError instanceof Error
1505
- ? dynamicEmbeddingError.message
1506
- : String(dynamicEmbeddingError),
1507
- }
1508
- );
1509
- }
1510
- }
1511
- } catch (dynamicFallbackError) {
1512
- logger.warn(
1513
- "[PageAnalyzeWorker] Dynamic section screenshot fallback failed (non-fatal)",
1514
- {
1515
- error:
1516
- dynamicFallbackError instanceof Error
1517
- ? dynamicFallbackError.message
1518
- : String(dynamicFallbackError),
1519
- }
1520
- );
1521
- }
1522
- } else {
1523
- logger.warn(
1524
- "[PageAnalyzeWorker] Skipping dynamic fallback due to memory pressure",
1525
- {
1526
- rssMb: memCheckDynamic.rssMb,
1527
- dynamicFallbackCount: dynamicBatch.length,
1528
- }
1529
- );
1530
- }
1531
- }
1532
- }
1533
-
1534
- // 5d-diag-summary. セクション visual embedding 処理パスサマリーログ
1535
- logger.info("[PageAnalyzeWorker] Section visual embedding path summary", {
1536
- totalSections: sectionsNeedingVisual.length,
1537
- inRangeCount: diagInRangeCount,
1538
- fallbackCount: diagFallbackCount,
1539
- dynamicCount: diagDynamicCount,
1540
- dedupSkipCount: diagDedupSkipCount,
1541
- skippedCount: diagSkippedCount,
1542
- totalGenerated: result.sectionVisualEmbeddingsGenerated,
1543
- fallbackCaptured: sectionFallbackCapturedCount,
1087
+ const sectionVisualResult = await processSectionVisualEmbeddingLoop({
1088
+ sectionsFiltered,
1089
+ sectionsNeedingVisual,
1090
+ sectionPositionMap,
1091
+ screenshotBufferRef: { value: screenshotBuffer },
1092
+ imgWidth,
1093
+ imgHeight,
1094
+ fallbackEnabled:
1095
+ (process.env["ENABLE_SECTION_SCREENSHOT_FALLBACK"] ?? "true") === "true",
1096
+ url,
1097
+ job,
1098
+ params,
1099
+ effectiveToken,
1100
+ effectiveLockDuration,
1101
+ dinov2Service,
1102
+ prisma,
1544
1103
  });
1104
+
1105
+ // screenshotBuffer may have been nulled by dynamic fallback
1106
+ screenshotBuffer = sectionVisualResult.screenshotBuffer;
1107
+ result.sectionVisualEmbeddingsGenerated +=
1108
+ sectionVisualResult.sectionVisualEmbeddingsGenerated;
1545
1109
  }
1546
1110
  } catch (sectionVisualError) {
1547
1111
  result.embeddingFailedChunks++;
@@ -1814,3 +1378,651 @@ export async function processEmbeddingPhase(
1814
1378
 
1815
1379
  return result;
1816
1380
  }
1381
+
1382
+ // ============================================================================
1383
+ // Section Visual Embedding Sub-functions
1384
+ // ============================================================================
1385
+
1386
+ /**
1387
+ * セクションビジュアルエンベディングループのパラメータ
1388
+ */
1389
+ interface SectionVisualEmbeddingLoopParams {
1390
+ sectionsFiltered: Array<{ id: string; section_pattern_id: string }>;
1391
+ sectionsNeedingVisual: Array<{ id: string; section_pattern_id: string }>;
1392
+ sectionPositionMap: Map<string, { startY: number; height: number; sectionType: string }>;
1393
+ screenshotBufferRef: { value: Buffer | null };
1394
+ imgWidth: number;
1395
+ imgHeight: number;
1396
+ fallbackEnabled: boolean;
1397
+ url: string;
1398
+ job: EmbeddingPhaseParams["job"];
1399
+ params: EmbeddingPhaseParams;
1400
+ effectiveToken: string;
1401
+ effectiveLockDuration: number;
1402
+ dinov2Service: InstanceType<typeof DINOv2Service>;
1403
+ prisma: EmbeddingPhasePrismaClient;
1404
+ }
1405
+
1406
+ /**
1407
+ * セクションビジュアルエンベディングループの戻り値
1408
+ */
1409
+ interface SectionVisualEmbeddingLoopResult {
1410
+ sectionVisualEmbeddingsGenerated: number;
1411
+ screenshotBuffer: Buffer | null;
1412
+ }
1413
+
1414
+ /**
1415
+ * フォールバック対象セクションの事前収集とバッチキャプチャ
1416
+ *
1417
+ * screenshotBase64の高さ範囲外セクションを収集し、Playwrightで一括キャプチャする。
1418
+ * Collects sections outside screenshotBase64 height range and batch-captures via Playwright.
1419
+ */
1420
+ async function collectFallbackScreenshots(
1421
+ sectionsFiltered: Array<{ section_pattern_id: string }>,
1422
+ sectionPositionMap: Map<string, { startY: number; height: number; sectionType: string }>,
1423
+ imgHeight: number,
1424
+ fallbackEnabled: boolean,
1425
+ url: string,
1426
+ job: EmbeddingPhaseParams["job"],
1427
+ params: EmbeddingPhaseParams,
1428
+ fallbackTimeoutMs: number
1429
+ ): Promise<{ screenshots: Map<string, Buffer>; capturedCount: number }> {
1430
+ const fallbackSections: Array<{ id: string; startY: number; height: number }> = [];
1431
+ for (const section of sectionsFiltered) {
1432
+ const sectionPos = sectionPositionMap.get(section.section_pattern_id);
1433
+ if (!sectionPos || sectionPos.height < 10) continue;
1434
+ const sectionTop = Math.max(0, Math.round(sectionPos.startY));
1435
+ if (sectionTop >= imgHeight) {
1436
+ fallbackSections.push({
1437
+ id: section.section_pattern_id,
1438
+ startY: sectionPos.startY,
1439
+ height: sectionPos.height,
1440
+ });
1441
+ }
1442
+ }
1443
+
1444
+ const screenshots = new Map<string, Buffer>();
1445
+ let capturedCount = 0;
1446
+
1447
+ if (fallbackSections.length > 0 && fallbackEnabled) {
1448
+ if (isDevelopment()) {
1449
+ logger.info("[PageAnalyzeWorker] Batch capturing fallback section screenshots", {
1450
+ fallbackSectionCount: fallbackSections.length,
1451
+ });
1452
+ }
1453
+
1454
+ try {
1455
+ const fallbackResult = await captureSectionScreenshots({
1456
+ url,
1457
+ sections: fallbackSections,
1458
+ viewportWidth: job.data.options?.layoutOptions?.viewport?.width ?? 1920,
1459
+ viewportHeight: job.data.options?.layoutOptions?.viewport?.height ?? 1080,
1460
+ maxSections: 50,
1461
+ timeoutMs: fallbackTimeoutMs,
1462
+ sharedBrowser: params.sharedBrowser,
1463
+ checkMemoryPressure,
1464
+ });
1465
+
1466
+ for (const fbResult of fallbackResult.results) {
1467
+ if (fbResult.screenshotBuffer && !fbResult.skipped) {
1468
+ screenshots.set(fbResult.sectionId, fbResult.screenshotBuffer);
1469
+ }
1470
+ }
1471
+ capturedCount = fallbackResult.capturedCount;
1472
+ } catch (batchFallbackError) {
1473
+ logger.warn("[PageAnalyzeWorker] Batch section screenshot fallback failed (non-fatal)", {
1474
+ error:
1475
+ batchFallbackError instanceof Error
1476
+ ? batchFallbackError.message
1477
+ : String(batchFallbackError),
1478
+ });
1479
+ }
1480
+ }
1481
+
1482
+ return { screenshots, capturedCount };
1483
+ }
1484
+
1485
+ /**
1486
+ * セクションビジュアルエンベディングのメインループ処理
1487
+ *
1488
+ * フォールバックバッチ収集、チャンクごとのcrop→DINOv2→DB保存、
1489
+ * 動的Fallbackバッチ処理、診断サマリーログ出力を行う。
1490
+ */
1491
+ async function processSectionVisualEmbeddingLoop(
1492
+ loopParams: SectionVisualEmbeddingLoopParams
1493
+ ): Promise<SectionVisualEmbeddingLoopResult> {
1494
+ const {
1495
+ sectionsFiltered,
1496
+ sectionsNeedingVisual,
1497
+ sectionPositionMap,
1498
+ screenshotBufferRef,
1499
+ imgWidth,
1500
+ imgHeight,
1501
+ fallbackEnabled,
1502
+ url,
1503
+ job,
1504
+ params,
1505
+ effectiveToken,
1506
+ effectiveLockDuration,
1507
+ dinov2Service,
1508
+ prisma,
1509
+ } = loopParams;
1510
+
1511
+ const SECTION_FALLBACK_TIMEOUT_MS = 300_000; // 300s cumulative timeout
1512
+ let generatedCount = 0;
1513
+
1514
+ // 診断カウンター
1515
+ let diagInRangeCount = 0;
1516
+ let diagFallbackCount = 0;
1517
+ let diagDynamicCount = 0;
1518
+ let diagDedupSkipCount = 0;
1519
+ let diagSkippedCount = 0;
1520
+
1521
+ // フォールバック対象セクションの事前バッチ収集とキャプチャ
1522
+ const { screenshots: fallbackScreenshots, capturedCount: initialFallbackCaptured } =
1523
+ await collectFallbackScreenshots(
1524
+ sectionsFiltered,
1525
+ sectionPositionMap,
1526
+ imgHeight,
1527
+ fallbackEnabled,
1528
+ url,
1529
+ job,
1530
+ params,
1531
+ SECTION_FALLBACK_TIMEOUT_MS
1532
+ );
1533
+ let sectionFallbackCapturedCount = initialFallbackCaptured;
1534
+
1535
+ // Type-aware 重複ベクトル検出用のスライディングウィンドウ
1536
+ const parsedThreshold = parseFloat(process.env["DUPLICATE_VECTOR_THRESHOLD"] ?? "0.995");
1537
+ const DUPLICATE_THRESHOLD = Number.isFinite(parsedThreshold) ? parsedThreshold : 0.995;
1538
+ const MAX_RECENT_EMBEDDINGS = 10;
1539
+ const recentSectionVisualEmbeddings: Array<{
1540
+ embedding: number[];
1541
+ sectionType: string;
1542
+ }> = [];
1543
+
1544
+ // 動的Fallbackキュー: 白画像検出セクションを蓄積
1545
+ const MAX_DYNAMIC_FALLBACK_SECTIONS = 20;
1546
+ const dynamicFallbackSections: Array<{
1547
+ sectionEmbeddingId: string;
1548
+ sectionPatternId: string;
1549
+ startY: number;
1550
+ height: number;
1551
+ }> = [];
1552
+
1553
+ let sectionVisualChunkSize = EMBEDDING_CHUNK_SIZE;
1554
+
1555
+ for (let offset = 0; offset < sectionsFiltered.length; offset += sectionVisualChunkSize) {
1556
+ // Memory pressure check
1557
+ const memCheck = checkMemoryPressure();
1558
+ if (memCheck.shouldAbort) {
1559
+ logger.warn("[PageAnalyzeWorker] Critical memory, stopping section visual embedding", {
1560
+ rssMb: memCheck.rssMb,
1561
+ });
1562
+ break;
1563
+ }
1564
+ if (memCheck.shouldDegrade) {
1565
+ sectionVisualChunkSize = Math.max(3, Math.floor(sectionVisualChunkSize / 2));
1566
+ logger.warn("[PageAnalyzeWorker] Memory pressure, reducing section visual chunk size", {
1567
+ rssMb: memCheck.rssMb,
1568
+ newChunkSize: sectionVisualChunkSize,
1569
+ });
1570
+ }
1571
+
1572
+ const chunk = sectionsFiltered.slice(offset, offset + sectionVisualChunkSize);
1573
+
1574
+ // Lock extension per chunk
1575
+ await extendJobLock(job, effectiveToken, effectiveLockDuration, "embedding-sections-visual");
1576
+
1577
+ for (const section of chunk) {
1578
+ const singleResult = await processSingleSectionVisualEmbedding({
1579
+ section,
1580
+ sectionPositionMap,
1581
+ screenshotBuffer: screenshotBufferRef.value!,
1582
+ imgWidth,
1583
+ imgHeight,
1584
+ fallbackScreenshots,
1585
+ fallbackEnabled,
1586
+ dinov2Service,
1587
+ prisma,
1588
+ recentSectionVisualEmbeddings,
1589
+ dynamicFallbackSections,
1590
+ maxDynamicFallbackSections: MAX_DYNAMIC_FALLBACK_SECTIONS,
1591
+ duplicateThreshold: DUPLICATE_THRESHOLD,
1592
+ maxRecentEmbeddings: MAX_RECENT_EMBEDDINGS,
1593
+ });
1594
+
1595
+ generatedCount += singleResult.generated;
1596
+ diagInRangeCount += singleResult.diagInRange;
1597
+ diagFallbackCount += singleResult.diagFallback;
1598
+ diagDedupSkipCount += singleResult.diagDedupSkip;
1599
+ diagSkippedCount += singleResult.diagSkipped;
1600
+ }
1601
+
1602
+ if (isDevelopment()) {
1603
+ logger.info("[PageAnalyzeWorker] Section visual embedding chunk completed", {
1604
+ chunkOffset: offset,
1605
+ chunkSize: chunk.length,
1606
+ totalVisualSoFar: generatedCount,
1607
+ });
1608
+ }
1609
+
1610
+ // Inter-chunk memory recovery (except last chunk)
1611
+ if (offset + sectionVisualChunkSize < sectionsNeedingVisual.length) {
1612
+ tryGarbageCollect();
1613
+ await new Promise<void>((resolve) => setImmediate(resolve));
1614
+ }
1615
+ }
1616
+
1617
+ // 動的Fallback: 白画像検出セクションをバッチ再キャプチャ
1618
+ if (dynamicFallbackSections.length > 0 && fallbackEnabled) {
1619
+ const dynamicResult = await processDynamicFallbackBatch({
1620
+ dynamicFallbackSections,
1621
+ sectionFallbackCapturedCount,
1622
+ sectionPositionMap,
1623
+ url,
1624
+ job,
1625
+ params,
1626
+ dinov2Service,
1627
+ prisma,
1628
+ recentSectionVisualEmbeddings,
1629
+ duplicateThreshold: DUPLICATE_THRESHOLD,
1630
+ maxRecentEmbeddings: MAX_RECENT_EMBEDDINGS,
1631
+ fallbackTimeoutMs: SECTION_FALLBACK_TIMEOUT_MS,
1632
+ });
1633
+
1634
+ // screenshotBuffer解放は動的Fallback内で実施
1635
+ screenshotBufferRef.value = null;
1636
+ if (typeof global.gc === "function") {
1637
+ global.gc();
1638
+ }
1639
+
1640
+ sectionFallbackCapturedCount += dynamicResult.capturedCount;
1641
+ diagDynamicCount += dynamicResult.dynamicCount;
1642
+ generatedCount += dynamicResult.generated;
1643
+ }
1644
+
1645
+ // 診断サマリーログ
1646
+ logger.info("[PageAnalyzeWorker] Section visual embedding path summary", {
1647
+ totalSections: sectionsNeedingVisual.length,
1648
+ inRangeCount: diagInRangeCount,
1649
+ fallbackCount: diagFallbackCount,
1650
+ dynamicCount: diagDynamicCount,
1651
+ dedupSkipCount: diagDedupSkipCount,
1652
+ skippedCount: diagSkippedCount,
1653
+ totalGenerated: generatedCount,
1654
+ fallbackCaptured: sectionFallbackCapturedCount,
1655
+ });
1656
+
1657
+ return {
1658
+ sectionVisualEmbeddingsGenerated: generatedCount,
1659
+ screenshotBuffer: screenshotBufferRef.value,
1660
+ };
1661
+ }
1662
+
1663
+ /**
1664
+ * 単一セクションのビジュアルエンベディング処理パラメータ
1665
+ */
1666
+ interface SingleSectionVisualParams {
1667
+ section: { id: string; section_pattern_id: string };
1668
+ sectionPositionMap: Map<string, { startY: number; height: number; sectionType: string }>;
1669
+ screenshotBuffer: Buffer;
1670
+ imgWidth: number;
1671
+ imgHeight: number;
1672
+ fallbackScreenshots: Map<string, Buffer>;
1673
+ fallbackEnabled: boolean;
1674
+ dinov2Service: InstanceType<typeof DINOv2Service>;
1675
+ prisma: EmbeddingPhasePrismaClient;
1676
+ recentSectionVisualEmbeddings: Array<{ embedding: number[]; sectionType: string }>;
1677
+ dynamicFallbackSections: Array<{
1678
+ sectionEmbeddingId: string;
1679
+ sectionPatternId: string;
1680
+ startY: number;
1681
+ height: number;
1682
+ }>;
1683
+ maxDynamicFallbackSections: number;
1684
+ duplicateThreshold: number;
1685
+ maxRecentEmbeddings: number;
1686
+ }
1687
+
1688
+ /**
1689
+ * 単一セクションのビジュアルエンベディング処理結果
1690
+ */
1691
+ interface SingleSectionVisualResult {
1692
+ generated: number;
1693
+ diagInRange: number;
1694
+ diagFallback: number;
1695
+ diagDedupSkip: number;
1696
+ diagSkipped: number;
1697
+ }
1698
+
1699
+ /**
1700
+ * 単一セクションに対するcrop→DINOv2→dedup判定→DB保存処理
1701
+ */
1702
+ async function processSingleSectionVisualEmbedding(
1703
+ p: SingleSectionVisualParams
1704
+ ): Promise<SingleSectionVisualResult> {
1705
+ const result: SingleSectionVisualResult = {
1706
+ generated: 0,
1707
+ diagInRange: 0,
1708
+ diagFallback: 0,
1709
+ diagDedupSkip: 0,
1710
+ diagSkipped: 0,
1711
+ };
1712
+
1713
+ try {
1714
+ const sectionPos = p.sectionPositionMap.get(p.section.section_pattern_id);
1715
+ if (!sectionPos || sectionPos.height < 10) {
1716
+ result.diagSkipped++;
1717
+ if (isDevelopment()) {
1718
+ logger.info("[PageAnalyzeWorker] Section visual path", {
1719
+ sectionId: p.section.section_pattern_id.slice(0, 8) + "...",
1720
+ path: "skipped",
1721
+ skipReason: !sectionPos ? "no_position" : "height_too_small",
1722
+ });
1723
+ }
1724
+ return result;
1725
+ }
1726
+
1727
+ const sectionTop = Math.max(0, Math.round(sectionPos.startY));
1728
+ const isOutOfRange = sectionTop >= p.imgHeight;
1729
+
1730
+ // TDA HIGH-1: acquireSectionCropBuffer でcropパスを一元管理
1731
+ const cropResult = await acquireSectionCropBuffer({
1732
+ sectionPatternId: p.section.section_pattern_id,
1733
+ sectionPos,
1734
+ screenshotBuffer: p.screenshotBuffer,
1735
+ imgWidth: p.imgWidth,
1736
+ imgHeight: p.imgHeight,
1737
+ fallbackScreenshots: p.fallbackScreenshots,
1738
+ fallbackEnabled: p.fallbackEnabled,
1739
+ dinov2InputSize: DINOV2_INPUT_SIZE,
1740
+ });
1741
+
1742
+ if (cropResult.isBlank) {
1743
+ // 白画像検出: 動的Fallbackキューに蓄積
1744
+ if (p.dynamicFallbackSections.length < p.maxDynamicFallbackSections) {
1745
+ p.dynamicFallbackSections.push({
1746
+ sectionEmbeddingId: p.section.id,
1747
+ sectionPatternId: p.section.section_pattern_id,
1748
+ startY: sectionPos.startY,
1749
+ height: sectionPos.height,
1750
+ });
1751
+ }
1752
+ if (isDevelopment()) {
1753
+ logger.info("[PageAnalyzeWorker] Section visual path", {
1754
+ sectionId: p.section.section_pattern_id.slice(0, 8) + "...",
1755
+ startY: sectionPos.startY,
1756
+ height: sectionPos.height,
1757
+ imgHeight: p.imgHeight,
1758
+ path: "dynamic",
1759
+ });
1760
+ }
1761
+ return result;
1762
+ }
1763
+
1764
+ if (!cropResult.rawCropBuffer) {
1765
+ result.diagSkipped++;
1766
+ if (isDevelopment()) {
1767
+ logger.info("[PageAnalyzeWorker] Section visual path", {
1768
+ sectionId: p.section.section_pattern_id.slice(0, 8) + "...",
1769
+ startY: sectionPos.startY,
1770
+ height: sectionPos.height,
1771
+ imgHeight: p.imgHeight,
1772
+ path: "skipped",
1773
+ skipReason: "no_crop_buffer",
1774
+ });
1775
+ }
1776
+ return result;
1777
+ }
1778
+
1779
+ // Generate visual embedding via DINOv2
1780
+ const visualEmbedding = await generateVisualEmbedding(
1781
+ p.dinov2Service,
1782
+ cropResult.rawCropBuffer
1783
+ );
1784
+
1785
+ // Type-aware 重複ベクトル検出
1786
+ const currentSectionType = sectionPos.sectionType;
1787
+ const isDuplicateVector = isDuplicateVisionEmbedding({
1788
+ sectionType: currentSectionType,
1789
+ height: sectionPos.height,
1790
+ embedding: visualEmbedding,
1791
+ recentEmbeddings: p.recentSectionVisualEmbeddings,
1792
+ threshold: p.duplicateThreshold,
1793
+ });
1794
+
1795
+ if (isDuplicateVector) {
1796
+ result.diagDedupSkip++;
1797
+ logger.warn("[PageAnalyzeWorker] Duplicate vision embedding detected, skipping DB save", {
1798
+ sectionId: p.section.section_pattern_id.slice(0, 8) + "...",
1799
+ sectionType: currentSectionType,
1800
+ });
1801
+ if (isDevelopment()) {
1802
+ logger.info("[PageAnalyzeWorker] Section visual path", {
1803
+ sectionId: p.section.section_pattern_id.slice(0, 8) + "...",
1804
+ startY: sectionPos.startY,
1805
+ height: sectionPos.height,
1806
+ imgHeight: p.imgHeight,
1807
+ path: "dedup",
1808
+ sectionType: currentSectionType,
1809
+ });
1810
+ }
1811
+ return result;
1812
+ }
1813
+
1814
+ // スライディングウィンドウに追加
1815
+ p.recentSectionVisualEmbeddings.push({
1816
+ embedding: visualEmbedding,
1817
+ sectionType: currentSectionType,
1818
+ });
1819
+ if (p.recentSectionVisualEmbeddings.length > p.maxRecentEmbeddings) {
1820
+ p.recentSectionVisualEmbeddings.shift();
1821
+ }
1822
+
1823
+ // Update vision_embedding in DB via raw SQL
1824
+ const visualVectorString = `[${visualEmbedding.join(",")}]`;
1825
+ await p.prisma.$executeRawUnsafe(
1826
+ `UPDATE section_embeddings
1827
+ SET vision_embedding = $1::vector(768)
1828
+ WHERE id = $2::uuid`,
1829
+ visualVectorString,
1830
+ p.section.id
1831
+ );
1832
+
1833
+ if (isOutOfRange) {
1834
+ result.diagFallback++;
1835
+ } else {
1836
+ result.diagInRange++;
1837
+ }
1838
+
1839
+ if (isDevelopment()) {
1840
+ logger.info("[PageAnalyzeWorker] Section visual path", {
1841
+ sectionId: p.section.section_pattern_id.slice(0, 8) + "...",
1842
+ startY: sectionPos.startY,
1843
+ height: sectionPos.height,
1844
+ imgHeight: p.imgHeight,
1845
+ path: isOutOfRange ? "fallback" : "in_range",
1846
+ });
1847
+ }
1848
+
1849
+ result.generated++;
1850
+ } catch (sectionVisualError) {
1851
+ result.diagSkipped++;
1852
+ logger.warn("[PageAnalyzeWorker] DINOv2 visual embedding failed for section (non-fatal)", {
1853
+ sectionEmbeddingId: p.section.id.slice(0, 8) + "...",
1854
+ error:
1855
+ sectionVisualError instanceof Error
1856
+ ? sectionVisualError.message
1857
+ : String(sectionVisualError),
1858
+ });
1859
+ }
1860
+
1861
+ return result;
1862
+ }
1863
+
1864
+ /**
1865
+ * 動的Fallbackバッチ処理パラメータ
1866
+ */
1867
+ interface DynamicFallbackBatchParams {
1868
+ dynamicFallbackSections: Array<{
1869
+ sectionEmbeddingId: string;
1870
+ sectionPatternId: string;
1871
+ startY: number;
1872
+ height: number;
1873
+ }>;
1874
+ sectionFallbackCapturedCount: number;
1875
+ sectionPositionMap: Map<string, { startY: number; height: number; sectionType: string }>;
1876
+ url: string;
1877
+ job: EmbeddingPhaseParams["job"];
1878
+ params: EmbeddingPhaseParams;
1879
+ dinov2Service: InstanceType<typeof DINOv2Service>;
1880
+ prisma: EmbeddingPhasePrismaClient;
1881
+ recentSectionVisualEmbeddings: Array<{ embedding: number[]; sectionType: string }>;
1882
+ duplicateThreshold: number;
1883
+ maxRecentEmbeddings: number;
1884
+ fallbackTimeoutMs: number;
1885
+ }
1886
+
1887
+ /**
1888
+ * 動的Fallbackバッチ処理結果
1889
+ */
1890
+ interface DynamicFallbackBatchResult {
1891
+ generated: number;
1892
+ dynamicCount: number;
1893
+ capturedCount: number;
1894
+ }
1895
+
1896
+ /**
1897
+ * 白画像検出セクションのバッチ再キャプチャ→DINOv2→DB保存処理
1898
+ */
1899
+ async function processDynamicFallbackBatch(
1900
+ p: DynamicFallbackBatchParams
1901
+ ): Promise<DynamicFallbackBatchResult> {
1902
+ const result: DynamicFallbackBatchResult = { generated: 0, dynamicCount: 0, capturedCount: 0 };
1903
+
1904
+ const remainingCapacity = Math.max(0, 50 - p.sectionFallbackCapturedCount);
1905
+ const dynamicBatch = p.dynamicFallbackSections.slice(0, remainingCapacity);
1906
+
1907
+ if (dynamicBatch.length === 0) return result;
1908
+
1909
+ const memCheckDynamic = checkMemoryPressure();
1910
+ if (memCheckDynamic.shouldAbort) {
1911
+ logger.warn("[PageAnalyzeWorker] Skipping dynamic fallback due to memory pressure", {
1912
+ rssMb: memCheckDynamic.rssMb,
1913
+ dynamicFallbackCount: dynamicBatch.length,
1914
+ });
1915
+ return result;
1916
+ }
1917
+
1918
+ if (isDevelopment()) {
1919
+ logger.info("[PageAnalyzeWorker] Starting dynamic fallback for blank-detected sections", {
1920
+ dynamicFallbackCount: dynamicBatch.length,
1921
+ remainingCapacity,
1922
+ });
1923
+ }
1924
+
1925
+ try {
1926
+ const dynamicFallbackResult = await captureSectionScreenshots({
1927
+ url: p.url,
1928
+ sections: dynamicBatch.map((s) => ({
1929
+ id: s.sectionPatternId,
1930
+ startY: s.startY,
1931
+ height: s.height,
1932
+ })),
1933
+ viewportWidth: p.job.data.options?.layoutOptions?.viewport?.width ?? 1920,
1934
+ viewportHeight: p.job.data.options?.layoutOptions?.viewport?.height ?? 1080,
1935
+ maxSections: remainingCapacity,
1936
+ timeoutMs: p.fallbackTimeoutMs,
1937
+ sharedBrowser: p.params.sharedBrowser,
1938
+ checkMemoryPressure,
1939
+ });
1940
+
1941
+ result.capturedCount = dynamicFallbackResult.capturedCount;
1942
+
1943
+ for (const fbResult of dynamicFallbackResult.results) {
1944
+ if (fbResult.skipped || !fbResult.screenshotBuffer) continue;
1945
+
1946
+ const matchingSection = dynamicBatch.find((s) => s.sectionPatternId === fbResult.sectionId);
1947
+ if (!matchingSection) continue;
1948
+
1949
+ try {
1950
+ const rawCropBuffer = await sharp(fbResult.screenshotBuffer)
1951
+ .resize(DINOV2_INPUT_SIZE, DINOV2_INPUT_SIZE, {
1952
+ fit: "cover",
1953
+ kernel: "cubic",
1954
+ })
1955
+ .removeAlpha()
1956
+ .toColorspace("srgb")
1957
+ .raw()
1958
+ .toBuffer();
1959
+
1960
+ // LCC MUST-FIX-3: 動的Fallbackスクリーンショットバッファの参照解除
1961
+ fbResult.screenshotBuffer = null;
1962
+
1963
+ const visualEmbedding = await generateVisualEmbedding(p.dinov2Service, rawCropBuffer);
1964
+
1965
+ const dynamicSectionPos = p.sectionPositionMap.get(matchingSection.sectionPatternId);
1966
+ const dynamicSectionType = dynamicSectionPos?.sectionType ?? "unknown";
1967
+ const isDuplicateVector = isDuplicateVisionEmbedding({
1968
+ sectionType: dynamicSectionType,
1969
+ height: dynamicSectionPos?.height ?? 0,
1970
+ embedding: visualEmbedding,
1971
+ recentEmbeddings: p.recentSectionVisualEmbeddings,
1972
+ threshold: p.duplicateThreshold,
1973
+ });
1974
+
1975
+ if (isDuplicateVector) {
1976
+ logger.warn(
1977
+ "[PageAnalyzeWorker] Duplicate vision embedding (dynamic fallback), skipping",
1978
+ {
1979
+ sectionId: fbResult.sectionId.slice(0, 8) + "...",
1980
+ sectionType: dynamicSectionType,
1981
+ }
1982
+ );
1983
+ continue;
1984
+ }
1985
+
1986
+ p.recentSectionVisualEmbeddings.push({
1987
+ embedding: visualEmbedding,
1988
+ sectionType: dynamicSectionType,
1989
+ });
1990
+ if (p.recentSectionVisualEmbeddings.length > p.maxRecentEmbeddings) {
1991
+ p.recentSectionVisualEmbeddings.shift();
1992
+ }
1993
+
1994
+ const visualVectorString = `[${visualEmbedding.join(",")}]`;
1995
+ await p.prisma.$executeRawUnsafe(
1996
+ `UPDATE section_embeddings
1997
+ SET vision_embedding = $1::vector(768)
1998
+ WHERE id = $2::uuid`,
1999
+ visualVectorString,
2000
+ matchingSection.sectionEmbeddingId
2001
+ );
2002
+
2003
+ result.dynamicCount++;
2004
+ result.generated++;
2005
+ } catch (dynamicEmbeddingError) {
2006
+ logger.warn(
2007
+ "[PageAnalyzeWorker] DINOv2 visual embedding failed for dynamic fallback section (non-fatal)",
2008
+ {
2009
+ sectionId: fbResult.sectionId.slice(0, 8) + "...",
2010
+ error:
2011
+ dynamicEmbeddingError instanceof Error
2012
+ ? dynamicEmbeddingError.message
2013
+ : String(dynamicEmbeddingError),
2014
+ }
2015
+ );
2016
+ }
2017
+ }
2018
+ } catch (dynamicFallbackError) {
2019
+ logger.warn("[PageAnalyzeWorker] Dynamic section screenshot fallback failed (non-fatal)", {
2020
+ error:
2021
+ dynamicFallbackError instanceof Error
2022
+ ? dynamicFallbackError.message
2023
+ : String(dynamicFallbackError),
2024
+ });
2025
+ }
2026
+
2027
+ return result;
2028
+ }