@reftrixmcp/mcp-server 0.1.7 → 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
@@ -16,17 +16,19 @@
16
16
  */
17
17
 
18
18
  import { ZodError } from "zod";
19
+ import { createDIFactory } from "../../utils/di-factory";
19
20
  import { logger, isDevelopment } from "../../utils/logger";
20
- import { sanitizeHtml } from "../../utils/html-sanitizer";
21
+ import { sanitizeErrorMessage } from "../../utils/sanitize-error";
22
+ import {
23
+ generateCacheKey,
24
+ getCachedResult,
25
+ setCachedResult,
26
+ } from "../../services/search-cache.service";
21
27
  import {
22
28
  layoutSearchInputSchema,
23
29
  LAYOUT_MCP_ERROR_CODES,
24
30
  type LayoutSearchInput,
25
31
  type LayoutSearchOutput,
26
- type LayoutSearchFilters,
27
- type LayoutSearchResultItem,
28
- type ProjectContextOptions,
29
- type IntegrationHints,
30
32
  type InferredContextOutput,
31
33
  } from "./schemas";
32
34
  import {
@@ -39,1345 +41,93 @@ import type { IPrismaClient } from "../../services/preference-profile.service";
39
41
  import {
40
42
  ProjectContextAnalyzer,
41
43
  type ProjectPatterns,
42
- } from "../../services/project-context-analyzer";
43
- import type {
44
- VisionSearchQuery as VisionSearchQueryService,
45
- VisionSearchOptions as VisionSearchOptionsService,
46
- HybridSearchOptions,
47
- VisionSearchResult,
48
- VisionSearchServiceResult,
49
- } from "../../services/vision-embedding-search.service";
50
- import type { MoodBrandToneSearchService } from "../../services/search/mood-brandtone-search.service";
51
- import type { Mood, BrandTone } from "../../schemas/mood-brandtone-filters";
52
-
53
- // =====================================================
54
- // 型定義
55
- // =====================================================
56
-
57
- export type { LayoutSearchInput, LayoutSearchOutput };
58
-
59
- /**
60
- * 検索オプション
61
- * MCP-RESP-03: include_html (snake_case) を正式形式とし、
62
- * includeHtml (camelCase) はレガシー互換として維持
63
- */
64
- export interface SearchOptions {
65
- filters?: LayoutSearchFilters | undefined;
66
- limit: number;
67
- offset: number;
68
- /** HTMLを含めるか(snake_case正式形式) */
69
- include_html: boolean;
70
- /** @deprecated include_html を使用してください */
71
- includeHtml?: boolean;
72
- project_context?: ProjectContextOptions | undefined;
73
- }
74
-
75
- /**
76
- * 検索結果(サービスから返される形式)
77
- */
78
- /**
79
- * VisionAnalysis 結果(layout.inspect Vision分析の結果)
80
- */
81
- export interface VisionAnalysisResult {
82
- success: boolean;
83
- features: Array<{
84
- type: string;
85
- confidence: number;
86
- description?: string;
87
- data?: unknown;
88
- }>;
89
- textRepresentation?: string;
90
- processingTimeMs?: number;
91
- modelName?: string;
92
- rawResponse?: string;
93
- error?: string;
94
- }
95
-
96
- /**
97
- * VisualFeatures テーマ情報
98
- */
99
- export interface VisualFeaturesTheme {
100
- type: "light" | "dark" | "mixed";
101
- backgroundColor?: string;
102
- textColor?: string;
103
- contrastRatio?: number;
104
- luminance?: {
105
- background: number;
106
- text: number;
107
- };
108
- source?: string;
109
- confidence?: number;
110
- }
111
-
112
- /**
113
- * VisualFeatures カラー情報
114
- */
115
- export interface VisualFeaturesColors {
116
- dominant?: string;
117
- accent?: string[];
118
- palette?: string[];
119
- }
120
-
121
- /**
122
- * VisualFeatures 密度情報
123
- */
124
- export interface VisualFeaturesDensity {
125
- contentDensity?: number;
126
- whitespaceRatio?: number;
127
- visualBalance?: number;
128
- }
129
-
130
- /**
131
- * VisualFeatures 統合情報
132
- */
133
- export interface VisualFeatures {
134
- theme?: VisualFeaturesTheme;
135
- colors?: VisualFeaturesColors;
136
- density?: VisualFeaturesDensity;
137
- }
138
-
139
- export interface SearchResult {
140
- id: string;
141
- webPageId: string;
142
- sectionType: string;
143
- sectionName?: string;
144
- similarity: number;
145
- layoutInfo?: {
146
- type?: string;
147
- heading?: string;
148
- description?: string;
149
- grid?: unknown;
150
- visionAnalysis?: VisionAnalysisResult;
151
- visualFeatures?: VisualFeatures;
152
- };
153
- visualFeatures?: VisualFeatures;
154
- htmlSnippet?: string;
155
- webPage: {
156
- id: string;
157
- url: string;
158
- title?: string;
159
- sourceType: string;
160
- usageScope: string;
161
- screenshotDesktopUrl?: string | null;
162
- };
163
- // RRF統合検索時の情報(combined モード時のみ)
164
- rrfDetails?: {
165
- textRank: number; // テキスト検索でのランク(0=含まれない)
166
- visionRank: number; // Vision検索でのランク(0=含まれない)
167
- textScore?: number;
168
- visionScore?: number;
169
- rrfScore?: number;
170
- };
171
- }
172
-
173
- /**
174
- * 検索サービスの結果
175
- */
176
- export interface SearchServiceResult {
177
- results: SearchResult[];
178
- total: number;
179
- }
180
-
181
- /**
182
- * layout.search サービスインターフェース(DI用)
183
- */
184
- export interface ILayoutSearchService {
185
- /**
186
- * クエリテキストからEmbeddingを生成
187
- * EmbeddingServiceが利用できない場合はnullを返す
188
- */
189
- generateQueryEmbedding: (query: string) => Promise<number[] | null>;
190
-
191
- /**
192
- * セクションパターンを検索(ベクトル検索のみ)
193
- */
194
- searchSectionPatterns: (
195
- embedding: number[],
196
- options: SearchOptions
197
- ) => Promise<SearchServiceResult | null>;
198
-
199
- /**
200
- * ハイブリッド検索: ベクトル検索 + 全文検索をRRFで統合
201
- * 実装されていない場合はsearchSectionPatternsにフォールバック
202
- */
203
- searchSectionPatternsHybrid?: (
204
- queryText: string,
205
- embedding: number[],
206
- options: SearchOptions
207
- ) => Promise<SearchServiceResult | null>;
208
- }
209
-
210
- /**
211
- * Vision検索サービスインターフェース(DI用)
212
- * Phase 4-2: visionEmbeddingベースのセマンティック検索
213
- */
214
- export interface IVisionSearchService {
215
- /**
216
- * vision_embeddingでセマンティック検索
217
- */
218
- searchByVisionEmbedding: (
219
- query: VisionSearchQueryService,
220
- options: VisionSearchOptionsService
221
- ) => Promise<VisionSearchServiceResult | null>;
222
-
223
- /**
224
- * ハイブリッド検索(text_embedding + vision_embedding)
225
- * RRF (Reciprocal Rank Fusion) で結果を統合
226
- */
227
- hybridSearch: (
228
- textQuery: string,
229
- visionQuery: VisionSearchQueryService,
230
- options: HybridSearchOptions
231
- ) => Promise<VisionSearchServiceResult | null>;
232
- }
233
-
234
- // =====================================================
235
- // サービスファクトリー(DI)
236
- // =====================================================
237
-
238
- let serviceFactory: (() => ILayoutSearchService) | null = null;
239
-
240
- /**
241
- * VisionSearchサービスファクトリー(DI)
242
- * Phase 4-2: visionEmbeddingベースの検索
243
- */
244
- let visionSearchServiceFactory: (() => IVisionSearchService) | null = null;
245
-
246
- /**
247
- * ProjectContextAnalyzer シングルトンインスタンス
248
- */
249
- let projectContextAnalyzer: ProjectContextAnalyzer | null = null;
250
-
251
- /**
252
- * ProjectContextAnalyzer インスタンスを取得
253
- */
254
- function getProjectContextAnalyzer(): ProjectContextAnalyzer {
255
- if (!projectContextAnalyzer) {
256
- projectContextAnalyzer = new ProjectContextAnalyzer();
257
- }
258
- return projectContextAnalyzer;
259
- }
260
-
261
- /**
262
- * サービスファクトリーを設定
263
- */
264
- export function setLayoutSearchServiceFactory(factory: () => ILayoutSearchService): void {
265
- serviceFactory = factory;
266
- }
267
-
268
- /**
269
- * サービスファクトリーをリセット
270
- */
271
- export function resetLayoutSearchServiceFactory(): void {
272
- serviceFactory = null;
273
- }
274
-
275
- /**
276
- * VisionSearchサービスファクトリーを設定
277
- * Phase 4-2: visionEmbeddingベースの検索
278
- */
279
- export function setVisionSearchServiceFactory(factory: () => IVisionSearchService): void {
280
- visionSearchServiceFactory = factory;
281
- }
282
-
283
- /**
284
- * VisionSearchサービスファクトリーをリセット
285
- */
286
- export function resetVisionSearchServiceFactory(): void {
287
- visionSearchServiceFactory = null;
288
- }
289
-
290
- /**
291
- * ProjectContextAnalyzer をリセット(テスト用)
292
- */
293
- export function resetProjectContextAnalyzer(): void {
294
- if (projectContextAnalyzer) {
295
- projectContextAnalyzer.clearCache();
296
- }
297
- projectContextAnalyzer = null;
298
- }
299
-
300
- /**
301
- * MoodBrandToneSearchサービスファクトリー(DI)
302
- * GREEN Phase: mood/brandTone semantic search
303
- */
304
- let moodBrandToneSearchServiceFactory: (() => MoodBrandToneSearchService) | null = null;
305
-
306
- /**
307
- * MoodBrandToneSearchサービスファクトリーを設定
308
- */
309
- export function setMoodBrandToneSearchServiceFactory(
310
- factory: () => MoodBrandToneSearchService
311
- ): void {
312
- moodBrandToneSearchServiceFactory = factory;
313
- }
314
-
315
- /**
316
- * MoodBrandToneSearchサービスファクトリーをリセット
317
- */
318
- export function resetMoodBrandToneSearchServiceFactory(): void {
319
- moodBrandToneSearchServiceFactory = null;
320
- }
321
-
322
- /**
323
- * PrismaClientファクトリー(嗜好リランキング用DI)
324
- * PrismaClient factory (DI for preference reranking)
325
- */
326
- let prismaClientFactory: (() => IPrismaClient) | null = null;
327
-
328
- /**
329
- * PrismaClientファクトリーを設定(嗜好リランキング用)
330
- * Set PrismaClient factory (for preference reranking)
331
- */
332
- export function setLayoutSearchPrismaClientFactory(factory: () => IPrismaClient): void {
333
- prismaClientFactory = factory;
334
- }
335
-
336
- /**
337
- * PrismaClientファクトリーをリセット(テスト用)
338
- * Reset PrismaClient factory (for testing)
339
- */
340
- export function resetLayoutSearchPrismaClientFactory(): void {
341
- prismaClientFactory = null;
342
- }
343
-
344
- // =====================================================
345
- // クエリ前処理
346
- // =====================================================
347
-
348
- /**
349
- * 検索クエリを前処理する
350
- * - E5モデル用のquery:プレフィックスを追加
351
- * - 空白の正規化
352
- * - 全角スペースの半角変換
353
- *
354
- * @param query - 元のクエリ文字列
355
- * @returns 前処理されたクエリ文字列
356
- */
357
- export function preprocessQuery(query: string): string {
358
- // 1. 全角スペースを半角に変換
359
- let normalized = query.replace(/\u3000/g, " ");
360
-
361
- // 2. 改行・タブを空白に変換
362
- normalized = normalized.replace(/[\n\t\r]/g, " ");
363
-
364
- // 3. 連続する空白を1つに正規化
365
- normalized = normalized.replace(/\s+/g, " ");
366
-
367
- // 4. 前後の空白を除去
368
- normalized = normalized.trim();
369
-
370
- // 5. E5モデル用のquery:プレフィックスを追加
371
- return `query: ${normalized}`;
372
- }
373
-
374
- // =====================================================
375
- // エラーコード判定
376
- // =====================================================
377
-
378
- /**
379
- * エラーからエラーコードを判定
380
- */
381
- function determineErrorCode(error: Error | string): string {
382
- const message = typeof error === "string" ? error : error.message;
383
- const lowerMessage = message.toLowerCase();
384
-
385
- // Embeddingエラー
386
- if (
387
- lowerMessage.includes("embedding") ||
388
- lowerMessage.includes("model") ||
389
- lowerMessage.includes("tensor")
390
- ) {
391
- return "EMBEDDING_ERROR";
392
- }
393
-
394
- // データベースエラー
395
- if (
396
- lowerMessage.includes("database") ||
397
- lowerMessage.includes("prisma") ||
398
- lowerMessage.includes("connection")
399
- ) {
400
- return LAYOUT_MCP_ERROR_CODES.SEARCH_FAILED;
401
- }
402
-
403
- // タイムアウトエラー
404
- if (lowerMessage.includes("timeout")) {
405
- return LAYOUT_MCP_ERROR_CODES.TIMEOUT;
406
- }
407
-
408
- // その他は内部エラー
409
- return LAYOUT_MCP_ERROR_CODES.INTERNAL_ERROR;
410
- }
411
-
412
- // =====================================================
413
- // 結果マッピング
414
- // =====================================================
415
-
416
- /**
417
- * Adaptability情報(オプション)
418
- */
419
- interface AdaptabilityInfo {
420
- score: number;
421
- hints: IntegrationHints;
422
- }
423
-
424
- /**
425
- * HTMLプレビュー生成オプション
426
- */
427
- interface PreviewOptions {
428
- /** プレビューを含めるか(デフォルト: true) */
429
- includePreview: boolean;
430
- /** プレビューの最大文字数(デフォルト: 500) */
431
- maxLength: number;
432
- }
433
-
434
- /**
435
- * HTMLスニペットからサニタイズ済みプレビューを生成
436
- *
437
- * @param htmlSnippet - 元のHTMLスニペット
438
- * @param maxLength - 最大文字数
439
- * @returns サニタイズ・切り詰め済みHTMLプレビューと元の長さ
440
- */
441
- function generateHtmlPreview(
442
- htmlSnippet: string,
443
- maxLength: number
444
- ): { htmlPreview: string; previewLength: number } {
445
- // 1. HTMLをサニタイズ(XSS対策)
446
- const sanitized = sanitizeHtml(htmlSnippet);
447
-
448
- // 元の長さを記録
449
- const previewLength = sanitized.length;
450
-
451
- // 2. 最大長に切り詰め
452
- let htmlPreview = sanitized;
453
- if (sanitized.length > maxLength) {
454
- // タグの途中で切らないように、最後の完全なタグまで切り詰める
455
- htmlPreview = sanitized.substring(0, maxLength);
456
-
457
- // 開いているタグを検出して閉じる試み
458
- // 簡易的に最後の不完全なタグを除去
459
- const lastOpenTagIndex = htmlPreview.lastIndexOf("<");
460
- const lastCloseTagIndex = htmlPreview.lastIndexOf(">");
461
-
462
- if (lastOpenTagIndex > lastCloseTagIndex) {
463
- // 不完全なタグがある場合、その前まで切り詰め
464
- htmlPreview = htmlPreview.substring(0, lastOpenTagIndex);
465
- }
466
-
467
- // 省略記号を追加
468
- htmlPreview = htmlPreview.trimEnd() + "...";
469
- }
470
-
471
- return { htmlPreview, previewLength };
472
- }
473
-
474
- /**
475
- * バリデーション済み入力からinclude_htmlを取得
476
- * MCP-RESP-03: snake_case (include_html) を優先し、camelCase (includeHtml) はフォールバック
477
- */
478
- function getIncludeHtml(validated: LayoutSearchInput): boolean {
479
- // snake_case優先
480
- if (validated.include_html !== undefined) {
481
- return validated.include_html;
482
- }
483
- // camelCaseフォールバック(後方互換)
484
- return validated.includeHtml ?? false;
485
- }
486
-
487
- /**
488
- * 検索結果をMCPレスポンス形式にマップ
489
- * @param result - 検索結果
490
- * @param include_html - HTMLを含めるか(snake_case正式形式)
491
- */
492
- function mapSearchResult(
493
- result: SearchResult,
494
- include_html: boolean,
495
- adaptability?: AdaptabilityInfo,
496
- semanticInfo?: {
497
- moodInfo?: { primary: Mood; secondary?: Mood | undefined };
498
- brandToneInfo?: { primary: BrandTone; secondary?: BrandTone | undefined };
499
- },
500
- previewOptions?: PreviewOptions,
501
- contextBoost?: number
502
- ): LayoutSearchResultItem {
503
- const preview: LayoutSearchResultItem["preview"] = {};
504
-
505
- // プレビュー情報を抽出
506
- if (result.layoutInfo) {
507
- if (result.layoutInfo.heading) {
508
- preview.heading = result.layoutInfo.heading;
509
- }
510
- if (result.layoutInfo.description) {
511
- preview.description = result.layoutInfo.description;
512
- }
513
- }
514
-
515
- // サムネイル(スクリーンショットURL)
516
- if (result.webPage.screenshotDesktopUrl) {
517
- preview.thumbnail = result.webPage.screenshotDesktopUrl;
518
- }
519
-
520
- const item: LayoutSearchResultItem = {
521
- id: result.id,
522
- webPageId: result.webPageId,
523
- type: result.sectionType,
524
- similarity: result.similarity,
525
- preview,
526
- source: {
527
- url: result.webPage.url,
528
- type: result.webPage.sourceType as "award_gallery" | "user_provided",
529
- usageScope: result.webPage.usageScope as "inspiration_only" | "owned_asset",
530
- },
531
- };
532
-
533
- // HTMLを含める場合
534
- if (include_html && result.htmlSnippet) {
535
- item.html = sanitizeHtml(result.htmlSnippet);
536
- }
537
-
538
- // HTMLプレビューを含める場合(デフォルト有効)
539
- const shouldIncludePreview = previewOptions?.includePreview ?? true;
540
- const maxLength = previewOptions?.maxLength ?? 500;
541
-
542
- if (shouldIncludePreview && result.htmlSnippet) {
543
- const { htmlPreview, previewLength } = generateHtmlPreview(result.htmlSnippet, maxLength);
544
- item.htmlPreview = htmlPreview;
545
- item.previewLength = previewLength;
546
- }
547
-
548
- // Vision分析結果を含める(存在する場合)
549
- if (result.layoutInfo?.visionAnalysis) {
550
- item.visionAnalysis = result.layoutInfo.visionAnalysis;
551
- }
552
-
553
- // Adaptability情報を含める(project_context.enabled=true時)
554
- if (adaptability) {
555
- item.adaptability_score = adaptability.score;
556
- item.integration_hints = adaptability.hints;
557
- }
558
-
559
- // TASK-06-3 Step 2: セマンティックメタデータを含める(mood/brandTone検索結果がある場合)
560
- if (semanticInfo?.moodInfo) {
561
- item.moodInfo = semanticInfo.moodInfo;
562
- }
563
- if (semanticInfo?.brandToneInfo) {
564
- item.brandToneInfo = semanticInfo.brandToneInfo;
565
- }
566
-
567
- // REFTRIX-LAYOUT-02: Context boost
568
- if (contextBoost !== undefined && contextBoost > 0) {
569
- item.context_boost = contextBoost;
570
- }
571
-
572
- // RRF統合検索時の詳細情報(combined モード時のみ)
573
- if (result.rrfDetails) {
574
- item.rrfDetails = result.rrfDetails;
575
- }
576
-
577
- return item;
578
- }
579
-
580
- // =====================================================
581
- // Vision検索実行(Phase 4-2)
582
- // =====================================================
583
-
584
- /**
585
- * VisionSearchResult を SearchResult に変換
586
- */
587
- function mapVisionResultToSearchResult(visionResult: VisionSearchResult): SearchResult {
588
- const result: SearchResult = {
589
- id: visionResult.id,
590
- webPageId: visionResult.webPageId,
591
- sectionType: visionResult.sectionType,
592
- similarity: visionResult.similarity,
593
- webPage: {
594
- id: visionResult.webPage.id,
595
- url: visionResult.webPage.url,
596
- sourceType: visionResult.webPage.sourceType,
597
- usageScope: visionResult.webPage.usageScope,
598
- screenshotDesktopUrl: visionResult.webPage.screenshotDesktopUrl,
599
- },
600
- };
601
-
602
- // Optional fields - only set if defined
603
- if (visionResult.sectionName) {
604
- result.sectionName = visionResult.sectionName;
605
- }
606
- if (visionResult.webPage.title) {
607
- result.webPage.title = visionResult.webPage.title;
608
- }
609
- // layoutInfo: 存在する場合にオブジェクトを構築
610
- if (visionResult.layoutInfo !== undefined) {
611
- const layoutInfoSrc = visionResult.layoutInfo;
612
- const layoutInfo: NonNullable<SearchResult["layoutInfo"]> = {};
613
- if (typeof layoutInfoSrc["type"] === "string") {
614
- layoutInfo.type = layoutInfoSrc["type"];
615
- }
616
- if (typeof layoutInfoSrc["heading"] === "string") {
617
- layoutInfo.heading = layoutInfoSrc["heading"];
618
- }
619
- if (typeof layoutInfoSrc["description"] === "string") {
620
- layoutInfo.description = layoutInfoSrc["description"];
621
- }
622
- if (layoutInfoSrc["grid"] !== undefined) {
623
- layoutInfo.grid = layoutInfoSrc["grid"];
624
- }
625
- if (layoutInfoSrc["visionAnalysis"] !== undefined) {
626
- layoutInfo.visionAnalysis = layoutInfoSrc["visionAnalysis"] as VisionAnalysisResult;
627
- }
628
- if (layoutInfoSrc["visualFeatures"] !== undefined) {
629
- layoutInfo.visualFeatures = layoutInfoSrc["visualFeatures"] as VisualFeatures;
630
- }
631
- result.layoutInfo = layoutInfo;
632
- }
633
- // visualFeatures: 存在する場合にオブジェクトを構築
634
- // VisualFeaturesはtheme?, colors?, density?の複合型
635
- if (visionResult.visualFeatures !== undefined) {
636
- const vfSrc = visionResult.visualFeatures;
637
- const visualFeatures: VisualFeatures = {};
638
- // theme: VisualFeaturesTheme型(type, backgroundColor, textColor, contrastRatio, luminance, source, confidence)
639
- if (vfSrc["theme"] !== undefined && typeof vfSrc["theme"] === "object") {
640
- visualFeatures.theme = vfSrc["theme"] as VisualFeaturesTheme;
641
- }
642
- // colors: VisualFeaturesColors型(dominant?, accent?, palette?)
643
- if (vfSrc["colors"] !== undefined && typeof vfSrc["colors"] === "object") {
644
- visualFeatures.colors = vfSrc["colors"] as VisualFeaturesColors;
645
- }
646
- // density: VisualFeaturesDensity型(contentDensity?, whitespaceRatio?, visualBalance?)
647
- if (vfSrc["density"] !== undefined && typeof vfSrc["density"] === "object") {
648
- visualFeatures.density = vfSrc["density"] as VisualFeaturesDensity;
649
- }
650
- result.visualFeatures = visualFeatures;
651
- }
652
- if (visionResult.htmlSnippet) {
653
- result.htmlSnippet = visionResult.htmlSnippet;
654
- }
655
-
656
- // RRF詳細情報(combined モード時のみ)
657
- if (visionResult.textRank !== undefined || visionResult.visionRank !== undefined) {
658
- result.rrfDetails = {
659
- textRank: visionResult.textRank ?? 0,
660
- visionRank: visionResult.visionRank ?? 0,
661
- };
662
- if (visionResult.rrfDetails) {
663
- if (visionResult.rrfDetails.textScore !== undefined) {
664
- result.rrfDetails.textScore = visionResult.rrfDetails.textScore;
665
- }
666
- if (visionResult.rrfDetails.visionScore !== undefined) {
667
- result.rrfDetails.visionScore = visionResult.rrfDetails.visionScore;
668
- }
669
- if (visionResult.rrfDetails.combinedScore !== undefined) {
670
- result.rrfDetails.rrfScore = visionResult.rrfDetails.combinedScore;
671
- }
672
- }
673
- }
674
-
675
- return result;
676
- }
677
-
678
- /**
679
- * Vision検索を実行(Phase 4-2)
680
- * useVisionSearch=true の場合に呼び出される
681
- *
682
- * @param validated - バリデーション済み入力
683
- * @param startTime - 開始時刻
684
- */
685
- async function executeVisionSearch(
686
- validated: LayoutSearchInput,
687
- startTime: number
688
- ): Promise<LayoutSearchOutput> {
689
- // VisionSearchサービスチェック
690
- if (!visionSearchServiceFactory) {
691
- if (isDevelopment()) {
692
- logger.warn(
693
- "[MCP Tool] layout.search vision search service not available, falling back to text search"
694
- );
695
- }
696
-
697
- // フォールバック: 通常の検索を実行(サービスがない場合)
698
- return {
699
- success: false,
700
- error: {
701
- code: "VISION_SEARCH_UNAVAILABLE",
702
- message:
703
- "Vision search service is not available. Set use_vision_search=false to use text-only search.",
704
- },
705
- };
706
- }
707
-
708
- const visionService = visionSearchServiceFactory();
709
-
710
- // VisionSearchQueryの構築
711
- const visionQuery: VisionSearchQueryService = {
712
- textQuery: validated.vision_search_query?.textQuery ?? validated.query,
713
- };
714
-
715
- // visualFeaturesが定義されている場合のみ追加
716
- if (validated.vision_search_query?.visualFeatures) {
717
- const vf = validated.vision_search_query.visualFeatures;
718
- const visualFeatures: NonNullable<VisionSearchQueryService["visualFeatures"]> = {};
719
-
720
- if (vf.theme) visualFeatures.theme = vf.theme;
721
- if (vf.colors) visualFeatures.colors = vf.colors;
722
- if (vf.density) visualFeatures.density = vf.density;
723
- if (vf.gradient) visualFeatures.gradient = vf.gradient;
724
- if (vf.mood) visualFeatures.mood = vf.mood;
725
- if (vf.brandTone) visualFeatures.brandTone = vf.brandTone;
726
-
727
- visionQuery.visualFeatures = visualFeatures;
728
- }
729
-
730
- // sectionPatternIdが定義されている場合のみ追加
731
- if (validated.vision_search_query?.sectionPatternId) {
732
- visionQuery.sectionPatternId = validated.vision_search_query.sectionPatternId;
733
- }
734
-
735
- // VisionSearchOptionsの構築
736
- const visionOptions: HybridSearchOptions = {
737
- limit: validated.limit,
738
- offset: validated.offset,
739
- minSimilarity: validated.vision_search_options?.minSimilarity ?? 0.5,
740
- visionWeight: validated.vision_search_options?.visionWeight ?? 0.6,
741
- textWeight: validated.vision_search_options?.textWeight ?? 0.4,
742
- };
743
-
744
- // フィルターが定義されている場合のみ追加
745
- if (validated.filters?.sectionType) {
746
- visionOptions.sectionType = validated.filters.sectionType;
747
- }
748
- if (validated.filters?.sourceType) {
749
- visionOptions.sourceType = validated.filters.sourceType;
750
- }
751
- if (validated.filters?.usageScope) {
752
- visionOptions.usageScope = validated.filters.usageScope;
753
- }
754
-
755
- if (isDevelopment()) {
756
- logger.debug("[MCP Tool] layout.search executing vision search", {
757
- visionQuery,
758
- visionOptions,
759
- });
760
- }
761
-
762
- try {
763
- // ハイブリッド検索を実行(text_embedding + vision_embedding のRRF統合)
764
- const visionResult = await visionService.hybridSearch(
765
- validated.query,
766
- visionQuery,
767
- visionOptions
768
- );
769
-
770
- if (!visionResult) {
771
- return {
772
- success: true,
773
- data: {
774
- results: [],
775
- total: 0,
776
- query: validated.query,
777
- filters: validated.filters ?? {},
778
- searchTimeMs: Date.now() - startTime,
779
- },
780
- };
781
- }
782
-
783
- // Vision結果を標準形式にマップ
784
- const previewOptions: PreviewOptions = {
785
- includePreview: validated.include_preview,
786
- maxLength: validated.preview_max_length,
787
- };
788
-
789
- const includeHtmlValue = getIncludeHtml(validated);
790
- const mappedResults = visionResult.results.map((vr) => {
791
- const searchResult = mapVisionResultToSearchResult(vr);
792
- return mapSearchResult(
793
- searchResult,
794
- includeHtmlValue,
795
- undefined, // adaptability
796
- undefined, // semanticInfo
797
- previewOptions
798
- );
799
- });
800
-
801
- const searchTimeMs = Date.now() - startTime;
802
-
803
- if (isDevelopment()) {
804
- logger.info("[MCP Tool] layout.search vision search completed", {
805
- query: validated.query,
806
- use_vision_search: true,
807
- resultCount: mappedResults.length,
808
- total: visionResult.total,
809
- searchTimeMs,
810
- });
811
- }
812
-
813
- return {
814
- success: true,
815
- data: {
816
- results: mappedResults,
817
- total: visionResult.total,
818
- query: validated.query,
819
- filters: validated.filters ?? {},
820
- searchTimeMs,
821
- },
822
- };
823
- } catch (error) {
824
- const errorMessage = error instanceof Error ? error.message : String(error);
825
- const errorCode = determineErrorCode(error instanceof Error ? error : errorMessage);
44
+ } from "../../services/project-context-analyzer";
45
+ import type { MoodBrandToneSearchService } from "../../services/search/mood-brandtone-search.service";
46
+ import type { Mood, BrandTone } from "../../schemas/mood-brandtone-filters";
826
47
 
827
- if (isDevelopment()) {
828
- logger.error("[MCP Tool] layout.search vision search error", {
829
- code: errorCode,
830
- error: errorMessage,
831
- });
832
- }
48
+ // ヘルパー・型定義(search-helpers.ts から)
49
+ import {
50
+ type ILayoutSearchService,
51
+ type IVisionSearchService,
52
+ type SearchOptions,
53
+ type AdaptabilityInfo,
54
+ type PreviewOptions,
55
+ preprocessQuery,
56
+ determineErrorCode,
57
+ getIncludeHtml,
58
+ mapSearchResult,
59
+ } from "./search-helpers";
60
+
61
+ // 検索実行関数(search-executor.ts から)
62
+ import { executeVisionSearch, executeMultimodalSearch } from "./search-executor";
833
63
 
834
- return {
835
- success: false,
836
- error: {
837
- code: errorCode,
838
- message: errorMessage,
839
- },
840
- };
841
- }
842
- }
64
+ // =====================================================
65
+ // Re-exports(後方互換性維持)
66
+ // =====================================================
67
+
68
+ export type { LayoutSearchInput, LayoutSearchOutput };
69
+
70
+ // search-helpers.ts の型・関数を re-export
71
+ export type {
72
+ SearchOptions,
73
+ VisionAnalysisResult,
74
+ VisualFeaturesTheme,
75
+ VisualFeaturesColors,
76
+ VisualFeaturesDensity,
77
+ VisualFeatures,
78
+ SearchResult,
79
+ SearchServiceResult,
80
+ ILayoutSearchService,
81
+ IVisionSearchService,
82
+ } from "./search-helpers";
83
+ export { preprocessQuery, calculateRrfScore, determineSearchMode } from "./search-helpers";
843
84
 
844
85
  // =====================================================
845
- // Multimodal Search / RRF Functions
86
+ // サービスファクトリー(DI)
846
87
  // =====================================================
847
88
 
89
+ const serviceFactoryDI = createDIFactory<ILayoutSearchService>("LayoutSearchService");
90
+ const visionSearchServiceDI = createDIFactory<IVisionSearchService>("VisionSearchService");
91
+
848
92
  /**
849
- * RRF (Reciprocal Rank Fusion) スコアを計算
850
- *
851
- * 公式: score = 1 / (k + rank)
852
- *
853
- * @param textRank - テキスト検索でのランク(1から開始、0は未検索)
854
- * @param visionRank - Vision検索でのランク(1から開始、0は未検索)
855
- * @param textWeight - テキスト検索の重み(デフォルト0.6)
856
- * @param visionWeight - Vision検索の重み(デフォルト0.4)
857
- * @param k - RRFのkパラメータ(デフォルト60)
93
+ * ProjectContextAnalyzer シングルトンインスタンス
858
94
  */
859
- export function calculateRrfScore(
860
- textRank: number,
861
- visionRank: number,
862
- textWeight: number = 0.6,
863
- visionWeight: number = 0.4,
864
- k: number = 60
865
- ): number {
866
- const textScore = textRank > 0 ? 1 / (k + textRank) : 0;
867
- const visionScore = visionRank > 0 ? 1 / (k + visionRank) : 0;
868
- return textWeight * textScore + visionWeight * visionScore;
869
- }
95
+ let projectContextAnalyzer: ProjectContextAnalyzer | null = null;
870
96
 
871
97
  /**
872
- * 検索モードを決定し、必要に応じてフォールバック(Graceful Degradation)
873
- *
874
- * @param requestedMode - 要求された検索モード
875
- * @param hasVisionService - VisionSearchServiceが利用可能か
876
- * @param hasVisionEmbeddings - vision_embeddingが存在するか(DBチェック)
877
- * @returns 実際の検索モードと警告メッセージ
98
+ * ProjectContextAnalyzer インスタンスを取得
878
99
  */
879
- export function determineSearchMode(
880
- requestedMode: "text_only" | "vision_only" | "combined",
881
- hasVisionService: boolean,
882
- hasVisionEmbeddings: boolean = true
883
- ): { actualMode: "text_only" | "vision_only" | "combined"; warnings: string[] } {
884
- const warnings: string[] = [];
885
-
886
- // text_only は常にそのまま
887
- if (requestedMode === "text_only") {
888
- return { actualMode: "text_only", warnings };
889
- }
890
-
891
- // VisionSearchServiceが利用不可
892
- if (!hasVisionService) {
893
- if (requestedMode === "vision_only") {
894
- warnings.push("VisionSearchService unavailable, falling back to text_only");
895
- } else if (requestedMode === "combined") {
896
- warnings.push("VisionSearchService unavailable, falling back to text_only");
897
- }
898
- return { actualMode: "text_only", warnings };
899
- }
900
-
901
- // vision_embeddingが存在しない
902
- if (!hasVisionEmbeddings) {
903
- if (requestedMode === "vision_only") {
904
- warnings.push("vision_embedding not available, falling back to text_only");
905
- } else if (requestedMode === "combined") {
906
- warnings.push("No vision embeddings available, falling back to text_only");
907
- }
908
- return { actualMode: "text_only", warnings };
100
+ function getProjectContextAnalyzer(): ProjectContextAnalyzer {
101
+ if (!projectContextAnalyzer) {
102
+ projectContextAnalyzer = new ProjectContextAnalyzer();
909
103
  }
910
-
911
- // 要求されたモードをそのまま使用
912
- return { actualMode: requestedMode, warnings };
104
+ return projectContextAnalyzer;
913
105
  }
914
106
 
107
+ export const setLayoutSearchServiceFactory = serviceFactoryDI.set;
108
+ export const resetLayoutSearchServiceFactory = serviceFactoryDI.reset;
109
+ export const setVisionSearchServiceFactory = visionSearchServiceDI.set;
110
+ export const resetVisionSearchServiceFactory = visionSearchServiceDI.reset;
111
+
915
112
  /**
916
- * search_modeに基づくマルチモーダル検索実行
113
+ * ProjectContextAnalyzer をリセット(テスト用)
917
114
  */
918
- async function executeMultimodalSearch(
919
- validated: LayoutSearchInput,
920
- service: ILayoutSearchService,
921
- startTime: number
922
- ): Promise<LayoutSearchOutput> {
923
- const searchMode = validated.search_mode ?? "text_only";
924
- const multimodalOptions = validated.multimodal_options;
925
- const textWeight = multimodalOptions?.textWeight ?? 0.6;
926
- const visionWeight = multimodalOptions?.visionWeight ?? 0.4;
927
- const rrfK = multimodalOptions?.rrfK ?? 60;
928
-
929
- // VisionSearchServiceの可用性チェック
930
- const hasVisionService = !!visionSearchServiceFactory;
931
-
932
- // 検索モードを決定(Graceful Degradation)
933
- const { actualMode, warnings } = determineSearchMode(searchMode, hasVisionService);
934
-
935
- if (isDevelopment()) {
936
- logger.debug("[MCP Tool] layout.search multimodal mode", {
937
- requestedMode: searchMode,
938
- actualMode,
939
- warnings,
940
- });
941
- }
942
-
943
- // text_only モード
944
- if (actualMode === "text_only") {
945
- const processedQuery = preprocessQuery(validated.query);
946
- const queryEmbedding = await service.generateQueryEmbedding(processedQuery);
947
-
948
- if (queryEmbedding === null) {
949
- return {
950
- success: true,
951
- data: {
952
- results: [],
953
- total: 0,
954
- query: validated.query,
955
- filters: validated.filters ?? {},
956
- searchTimeMs: Date.now() - startTime,
957
- searchMode: searchMode,
958
- actualSearchMode: actualMode,
959
- warnings: warnings.length > 0 ? warnings : undefined,
960
- },
961
- };
962
- }
963
-
964
- const searchOptions: SearchOptions = {
965
- filters: validated.filters,
966
- limit: validated.limit,
967
- offset: validated.offset,
968
- include_html: getIncludeHtml(validated),
969
- project_context: validated.project_context,
970
- };
971
-
972
- // ハイブリッド検索(vector + fulltext RRF)が利用可能な場合はそちらを使用
973
- const searchResult = service.searchSectionPatternsHybrid
974
- ? await service.searchSectionPatternsHybrid(validated.query, queryEmbedding, searchOptions)
975
- : await service.searchSectionPatterns(queryEmbedding, searchOptions);
976
-
977
- if (!searchResult) {
978
- return {
979
- success: true,
980
- data: {
981
- results: [],
982
- total: 0,
983
- query: validated.query,
984
- filters: validated.filters ?? {},
985
- searchTimeMs: Date.now() - startTime,
986
- searchMode: searchMode,
987
- actualSearchMode: actualMode,
988
- warnings: warnings.length > 0 ? warnings : undefined,
989
- },
990
- };
991
- }
992
-
993
- // 結果マッピング
994
- const previewOptions: PreviewOptions = {
995
- includePreview: validated.include_preview,
996
- maxLength: validated.preview_max_length,
997
- };
998
- const includeHtmlValue = getIncludeHtml(validated);
999
- const mappedResults = searchResult.results.map((sr) =>
1000
- mapSearchResult(
1001
- sr,
1002
- includeHtmlValue,
1003
- undefined, // adaptability
1004
- undefined, // semanticInfo
1005
- previewOptions
1006
- )
1007
- );
1008
-
1009
- return {
1010
- success: true,
1011
- data: {
1012
- results: mappedResults,
1013
- total: searchResult.total,
1014
- query: validated.query,
1015
- filters: validated.filters ?? {},
1016
- searchTimeMs: Date.now() - startTime,
1017
- searchMode: searchMode,
1018
- actualSearchMode: actualMode,
1019
- warnings: warnings.length > 0 ? warnings : undefined,
1020
- },
1021
- };
1022
- }
1023
-
1024
- // vision_only または combined モードではVisionSearchServiceを使用
1025
- if (!visionSearchServiceFactory) {
1026
- // これはdetermineSearchModeで処理されるはずだが、安全のため
1027
- return {
1028
- success: false,
1029
- error: {
1030
- code: "VISION_SEARCH_UNAVAILABLE",
1031
- message: "Vision search service is not available.",
1032
- },
1033
- };
1034
- }
1035
-
1036
- const visionService = visionSearchServiceFactory();
1037
-
1038
- // vision_only モード
1039
- if (actualMode === "vision_only") {
1040
- try {
1041
- const visionQuery: VisionSearchQueryService = {
1042
- textQuery: validated.vision_search_query?.textQuery ?? validated.query,
1043
- };
1044
-
1045
- const visionOptions: HybridSearchOptions = {
1046
- limit: validated.limit,
1047
- offset: validated.offset,
1048
- minSimilarity: 0.5,
1049
- visionWeight: 1.0, // vision_onlyなので100%
1050
- textWeight: 0.0,
1051
- };
1052
-
1053
- if (validated.filters?.sectionType) {
1054
- visionOptions.sectionType = validated.filters.sectionType;
1055
- }
1056
-
1057
- // searchByVisionEmbeddingを呼び出し(vision_onlyモード)
1058
- const visionResult = await visionService.searchByVisionEmbedding(visionQuery, visionOptions);
1059
-
1060
- if (!visionResult) {
1061
- return {
1062
- success: true,
1063
- data: {
1064
- results: [],
1065
- total: 0,
1066
- query: validated.query,
1067
- filters: validated.filters ?? {},
1068
- searchTimeMs: Date.now() - startTime,
1069
- searchMode: searchMode,
1070
- actualSearchMode: actualMode,
1071
- warnings: warnings.length > 0 ? warnings : undefined,
1072
- },
1073
- };
1074
- }
1075
-
1076
- // Graceful Degradation - fallbackToTextOnly処理
1077
- if (visionResult.fallbackToTextOnly) {
1078
- warnings.push("vision_embedding not available, falling back to text_only");
1079
- // text_onlyで再検索(警告を保持したまま)
1080
- const processedQuery = preprocessQuery(validated.query);
1081
- const queryEmbedding = await service.generateQueryEmbedding(processedQuery);
1082
-
1083
- if (queryEmbedding === null) {
1084
- return {
1085
- success: true,
1086
- data: {
1087
- results: [],
1088
- total: 0,
1089
- query: validated.query,
1090
- filters: validated.filters ?? {},
1091
- searchTimeMs: Date.now() - startTime,
1092
- searchMode: searchMode,
1093
- actualSearchMode: "text_only", // フォールバック後
1094
- warnings: warnings,
1095
- },
1096
- };
1097
- }
1098
-
1099
- const searchOptions: SearchOptions = {
1100
- filters: validated.filters,
1101
- limit: validated.limit,
1102
- offset: validated.offset,
1103
- include_html: getIncludeHtml(validated),
1104
- project_context: validated.project_context,
1105
- };
1106
-
1107
- const searchResult = await service.searchSectionPatterns(queryEmbedding, searchOptions);
1108
-
1109
- const previewOptionsForFallback: PreviewOptions = {
1110
- includePreview: validated.include_preview,
1111
- maxLength: validated.preview_max_length,
1112
- };
1113
- const includeHtmlValueForFallback = getIncludeHtml(validated);
1114
- const mappedResultsForFallback = (searchResult?.results ?? []).map((sr) =>
1115
- mapSearchResult(
1116
- sr,
1117
- includeHtmlValueForFallback,
1118
- undefined,
1119
- undefined,
1120
- previewOptionsForFallback
1121
- )
1122
- );
1123
-
1124
- return {
1125
- success: true,
1126
- data: {
1127
- results: mappedResultsForFallback,
1128
- total: searchResult?.total ?? 0,
1129
- query: validated.query,
1130
- filters: validated.filters ?? {},
1131
- searchTimeMs: Date.now() - startTime,
1132
- searchMode: searchMode,
1133
- actualSearchMode: "text_only", // フォールバック後
1134
- warnings: warnings,
1135
- },
1136
- };
1137
- }
1138
-
1139
- const previewOptions: PreviewOptions = {
1140
- includePreview: validated.include_preview,
1141
- maxLength: validated.preview_max_length,
1142
- };
1143
- const includeHtmlValue = getIncludeHtml(validated);
1144
- const mappedResults = visionResult.results.map((vr) => {
1145
- const searchResult = mapVisionResultToSearchResult(vr);
1146
- return mapSearchResult(
1147
- searchResult,
1148
- includeHtmlValue,
1149
- undefined,
1150
- undefined,
1151
- previewOptions
1152
- );
1153
- });
1154
-
1155
- return {
1156
- success: true,
1157
- data: {
1158
- results: mappedResults,
1159
- total: visionResult.total,
1160
- query: validated.query,
1161
- filters: validated.filters ?? {},
1162
- searchTimeMs: Date.now() - startTime,
1163
- searchMode: searchMode,
1164
- actualSearchMode: actualMode,
1165
- warnings: warnings.length > 0 ? warnings : undefined,
1166
- },
1167
- };
1168
- } catch (error) {
1169
- // エラー時はtext_onlyにフォールバック(警告を保持)
1170
- warnings.push(
1171
- `Vision search error: ${error instanceof Error ? error.message : String(error)}, falling back to text_only`
1172
- );
1173
-
1174
- const processedQuery = preprocessQuery(validated.query);
1175
- const queryEmbedding = await service.generateQueryEmbedding(processedQuery);
1176
-
1177
- if (queryEmbedding === null) {
1178
- return {
1179
- success: true,
1180
- data: {
1181
- results: [],
1182
- total: 0,
1183
- query: validated.query,
1184
- filters: validated.filters ?? {},
1185
- searchTimeMs: Date.now() - startTime,
1186
- searchMode: searchMode,
1187
- actualSearchMode: "text_only",
1188
- warnings: warnings,
1189
- },
1190
- };
1191
- }
1192
-
1193
- const searchOptions: SearchOptions = {
1194
- filters: validated.filters,
1195
- limit: validated.limit,
1196
- offset: validated.offset,
1197
- include_html: getIncludeHtml(validated),
1198
- project_context: validated.project_context,
1199
- };
1200
-
1201
- const searchResult = await service.searchSectionPatterns(queryEmbedding, searchOptions);
1202
-
1203
- const previewOptionsForError: PreviewOptions = {
1204
- includePreview: validated.include_preview,
1205
- maxLength: validated.preview_max_length,
1206
- };
1207
- const includeHtmlValueForError = getIncludeHtml(validated);
1208
- const mappedResultsForError = (searchResult?.results ?? []).map((sr) =>
1209
- mapSearchResult(sr, includeHtmlValueForError, undefined, undefined, previewOptionsForError)
1210
- );
1211
-
1212
- return {
1213
- success: true,
1214
- data: {
1215
- results: mappedResultsForError,
1216
- total: searchResult?.total ?? 0,
1217
- query: validated.query,
1218
- filters: validated.filters ?? {},
1219
- searchTimeMs: Date.now() - startTime,
1220
- searchMode: searchMode,
1221
- actualSearchMode: "text_only",
1222
- warnings: warnings,
1223
- },
1224
- };
1225
- }
115
+ export function resetProjectContextAnalyzer(): void {
116
+ if (projectContextAnalyzer) {
117
+ projectContextAnalyzer.clearCache();
1226
118
  }
119
+ projectContextAnalyzer = null;
120
+ }
1227
121
 
1228
- // combined モード(RRF統合検索)
1229
- if (actualMode === "combined") {
1230
- const rrfStartTime = Date.now();
1231
-
1232
- try {
1233
- const visionQuery: VisionSearchQueryService = {
1234
- textQuery: validated.vision_search_query?.textQuery ?? validated.query,
1235
- };
1236
-
1237
- const hybridOptions: HybridSearchOptions = {
1238
- limit: validated.limit,
1239
- offset: validated.offset,
1240
- minSimilarity: 0.5,
1241
- visionWeight: visionWeight,
1242
- textWeight: textWeight,
1243
- rrfK: rrfK, // RRFのkパラメータ
1244
- };
1245
-
1246
- if (validated.filters?.sectionType) {
1247
- hybridOptions.sectionType = validated.filters.sectionType;
1248
- }
1249
-
1250
- // hybridSearchを呼び出し
1251
- const hybridResult = await visionService.hybridSearch(
1252
- validated.query,
1253
- visionQuery,
1254
- hybridOptions
1255
- );
1256
-
1257
- const rrfCalculationTime = Date.now() - rrfStartTime;
1258
-
1259
- if (!hybridResult) {
1260
- return {
1261
- success: true,
1262
- data: {
1263
- results: [],
1264
- total: 0,
1265
- query: validated.query,
1266
- filters: validated.filters ?? {},
1267
- searchTimeMs: Date.now() - startTime,
1268
- searchMode: searchMode,
1269
- actualSearchMode: actualMode,
1270
- warnings: warnings.length > 0 ? warnings : undefined,
1271
- rrfDetails: {
1272
- k: rrfK,
1273
- textWeight,
1274
- visionWeight,
1275
- textResultCount: 0,
1276
- visionResultCount: 0,
1277
- fusedResultCount: 0,
1278
- calculationTimeMs: rrfCalculationTime,
1279
- },
1280
- },
1281
- };
1282
- }
1283
-
1284
- // Graceful Degradation - fallbackToTextOnly処理
1285
- if (hybridResult.fallbackToTextOnly) {
1286
- // フォールバック発生時は actualSearchMode を text_only に変更
1287
- const fallbackReason = hybridResult.fallbackReason ?? "No vision embeddings available";
1288
- warnings.push(fallbackReason);
1289
-
1290
- const previewOptions: PreviewOptions = {
1291
- includePreview: validated.include_preview,
1292
- maxLength: validated.preview_max_length,
1293
- };
1294
- const includeHtmlValue = getIncludeHtml(validated);
1295
- const mappedResults = hybridResult.results.map((vr) => {
1296
- const searchResult = mapVisionResultToSearchResult(vr);
1297
- return mapSearchResult(
1298
- searchResult,
1299
- includeHtmlValue,
1300
- undefined,
1301
- undefined,
1302
- previewOptions
1303
- );
1304
- });
1305
-
1306
- return {
1307
- success: true,
1308
- data: {
1309
- results: mappedResults,
1310
- total: hybridResult.total,
1311
- query: validated.query,
1312
- filters: validated.filters ?? {},
1313
- searchTimeMs: Date.now() - startTime,
1314
- searchMode: searchMode,
1315
- actualSearchMode: "text_only", // フォールバック後のモード
1316
- warnings: warnings.length > 0 ? warnings : undefined,
1317
- fallbackReason: fallbackReason,
1318
- },
1319
- };
1320
- }
1321
-
1322
- const previewOptions: PreviewOptions = {
1323
- includePreview: validated.include_preview,
1324
- maxLength: validated.preview_max_length,
1325
- };
1326
- const includeHtmlValue = getIncludeHtml(validated);
1327
- const mappedResults = hybridResult.results.map((vr) => {
1328
- const searchResult = mapVisionResultToSearchResult(vr);
1329
- return mapSearchResult(
1330
- searchResult,
1331
- includeHtmlValue,
1332
- undefined,
1333
- undefined,
1334
- previewOptions
1335
- );
1336
- });
1337
-
1338
- return {
1339
- success: true,
1340
- data: {
1341
- results: mappedResults,
1342
- total: hybridResult.total,
1343
- query: validated.query,
1344
- filters: validated.filters ?? {},
1345
- searchTimeMs: Date.now() - startTime,
1346
- searchMode: searchMode,
1347
- actualSearchMode: actualMode,
1348
- warnings: warnings.length > 0 ? warnings : undefined,
1349
- rrfDetails: {
1350
- k: rrfK,
1351
- textWeight,
1352
- visionWeight,
1353
- textResultCount: hybridResult.results.length,
1354
- visionResultCount: hybridResult.results.length,
1355
- fusedResultCount: hybridResult.results.length,
1356
- calculationTimeMs: rrfCalculationTime,
1357
- },
1358
- },
1359
- };
1360
- } catch (error) {
1361
- warnings.push(
1362
- `Combined search error: ${error instanceof Error ? error.message : String(error)}, falling back to text_only`
1363
- );
1364
- return executeMultimodalSearch(
1365
- { ...validated, search_mode: "text_only" },
1366
- service,
1367
- startTime
1368
- );
1369
- }
1370
- }
122
+ const moodBrandToneSearchServiceDI = createDIFactory<MoodBrandToneSearchService>(
123
+ "MoodBrandToneSearchService"
124
+ );
125
+ export const setMoodBrandToneSearchServiceFactory = moodBrandToneSearchServiceDI.set;
126
+ export const resetMoodBrandToneSearchServiceFactory = moodBrandToneSearchServiceDI.reset;
1371
127
 
1372
- // フォールバック(通常到達しない)
1373
- return {
1374
- success: false,
1375
- error: {
1376
- code: "INTERNAL_ERROR",
1377
- message: `Unexpected search mode: ${actualMode}`,
1378
- },
1379
- };
1380
- }
128
+ const prismaClientDI = createDIFactory<IPrismaClient>("LayoutSearchPrismaClient");
129
+ export const setLayoutSearchPrismaClientFactory = prismaClientDI.set;
130
+ export const resetLayoutSearchPrismaClientFactory = prismaClientDI.reset;
1381
131
 
1382
132
  // =====================================================
1383
133
  // メインハンドラー
@@ -1420,11 +170,7 @@ export async function layoutSearchHandler(input: unknown): Promise<LayoutSearchO
1420
170
  if (error instanceof ZodError) {
1421
171
  const errorMessage = error.errors.map((e) => `${e.path.join(".")}: ${e.message}`).join(", ");
1422
172
 
1423
- if (isDevelopment()) {
1424
- logger.error("[MCP Tool] layout.search validation error", {
1425
- errors: error.errors,
1426
- });
1427
- }
173
+ logger.warn("[MCP Tool] layout.search validation error", { error: (error as Error).message });
1428
174
 
1429
175
  return {
1430
176
  success: false,
@@ -1438,7 +184,7 @@ export async function layoutSearchHandler(input: unknown): Promise<LayoutSearchO
1438
184
  }
1439
185
 
1440
186
  // サービスファクトリーチェック
1441
- if (!serviceFactory) {
187
+ if (!serviceFactoryDI.get()) {
1442
188
  if (isDevelopment()) {
1443
189
  logger.error("[MCP Tool] layout.search service factory not set");
1444
190
  }
@@ -1452,19 +198,33 @@ export async function layoutSearchHandler(input: unknown): Promise<LayoutSearchO
1452
198
  };
1453
199
  }
1454
200
 
1455
- const service = serviceFactory();
201
+ const service = serviceFactoryDI.get()!();
202
+
203
+ // Search result cache check / 検索キャッシュチェック
204
+ const cacheKey = generateCacheKey(
205
+ "layout.search",
206
+ validated as unknown as Record<string, unknown>
207
+ );
208
+ const cached = getCachedResult<LayoutSearchOutput>(cacheKey);
209
+ if (cached) {
210
+ return cached;
211
+ }
212
+
213
+ // VisionServiceファクトリの解決(executor関数に渡すため)
214
+ const visionFactory = visionSearchServiceDI.get();
215
+ const resolvedVisionFactory = visionFactory ? visionFactory : undefined;
1456
216
 
1457
217
  try {
1458
218
  // search_mode ベースのルーティング(text_only以外の場合)
1459
219
  // search_mode が明示的に指定され、text_only以外の場合はマルチモーダル検索を実行
1460
220
  if (validated.search_mode && validated.search_mode !== "text_only") {
1461
- return executeMultimodalSearch(validated, service, startTime);
221
+ return executeMultimodalSearch(validated, service, startTime, resolvedVisionFactory);
1462
222
  }
1463
223
 
1464
224
  // Phase 4-2: Vision検索が有効な場合(レガシー互換性)
1465
225
  // use_vision_search=true かつ search_mode未指定の場合
1466
226
  if (validated.use_vision_search && !validated.search_mode) {
1467
- return executeVisionSearch(validated, startTime);
227
+ return executeVisionSearch(validated, startTime, resolvedVisionFactory);
1468
228
  }
1469
229
 
1470
230
  // 通常の検索(text_embedding)
@@ -1541,8 +301,8 @@ export async function layoutSearchHandler(input: unknown): Promise<LayoutSearchO
1541
301
 
1542
302
  // moodBrandToneSearchService インスタンスを取得
1543
303
  let moodBrandToneService: MoodBrandToneSearchService | null = null;
1544
- if (moodBrandToneSearchServiceFactory) {
1545
- moodBrandToneService = moodBrandToneSearchServiceFactory();
304
+ if (moodBrandToneSearchServiceDI.get()) {
305
+ moodBrandToneService = moodBrandToneSearchServiceDI.get()!();
1546
306
  }
1547
307
 
1548
308
  // mood フィルターが提供されている場合、セマンティック検索を実行
@@ -1567,11 +327,9 @@ export async function layoutSearchHandler(input: unknown): Promise<LayoutSearchO
1567
327
  semanticMetadata.set(patternId, existing);
1568
328
  }
1569
329
  } catch (error) {
1570
- if (isDevelopment()) {
1571
- logger.warn("[MCP Tool] layout.search mood search failed", {
1572
- error: error instanceof Error ? error.message : String(error),
1573
- });
1574
- }
330
+ logger.warn("[MCP Tool] layout.search mood search failed", {
331
+ error: (error as Error).message,
332
+ });
1575
333
  // Graceful degradation: mood 検索失敗時は続行
1576
334
  }
1577
335
  }
@@ -1600,11 +358,9 @@ export async function layoutSearchHandler(input: unknown): Promise<LayoutSearchO
1600
358
  semanticMetadata.set(patternId, existing);
1601
359
  }
1602
360
  } catch (error) {
1603
- if (isDevelopment()) {
1604
- logger.warn("[MCP Tool] layout.search brandTone search failed", {
1605
- error: error instanceof Error ? error.message : String(error),
1606
- });
1607
- }
361
+ logger.warn("[MCP Tool] layout.search brandTone search failed", {
362
+ error: (error as Error).message,
363
+ });
1608
364
  // Graceful degradation: brandTone 検索失敗時は続行
1609
365
  }
1610
366
  }
@@ -1628,11 +384,9 @@ export async function layoutSearchHandler(input: unknown): Promise<LayoutSearchO
1628
384
  });
1629
385
  }
1630
386
  } catch (error) {
1631
- if (isDevelopment()) {
1632
- logger.warn("[MCP Tool] layout.search project context analysis failed", {
1633
- error: error instanceof Error ? error.message : String(error),
1634
- });
1635
- }
387
+ logger.warn("[MCP Tool] layout.search project context analysis failed", {
388
+ error: (error as Error).message,
389
+ });
1636
390
  // ProjectContext解析失敗時は続行(Graceful degradation)
1637
391
  }
1638
392
  }
@@ -1667,11 +421,9 @@ export async function layoutSearchHandler(input: unknown): Promise<LayoutSearchO
1667
421
  contextBoostApplied = true;
1668
422
  }
1669
423
  } catch (error) {
1670
- if (isDevelopment()) {
1671
- logger.warn("[MCP Tool] layout.search context inference failed", {
1672
- error: error instanceof Error ? error.message : String(error),
1673
- });
1674
- }
424
+ logger.warn("[MCP Tool] layout.search context inference failed", {
425
+ error: (error as Error).message,
426
+ });
1675
427
  // コンテキスト推論失敗時は続行(Graceful degradation)
1676
428
  }
1677
429
  }
@@ -1692,12 +444,9 @@ export async function layoutSearchHandler(input: unknown): Promise<LayoutSearchO
1692
444
  hints: adaptabilityResult.integration_hints,
1693
445
  };
1694
446
  } catch (error) {
1695
- if (isDevelopment()) {
1696
- logger.warn("[MCP Tool] layout.search adaptability calculation failed", {
1697
- resultId: r.id,
1698
- error: error instanceof Error ? error.message : String(error),
1699
- });
1700
- }
447
+ logger.warn("[MCP Tool] layout.search adaptability calculation failed", {
448
+ error: (error as Error).message,
449
+ });
1701
450
  // 個別の計算失敗は無視して続行
1702
451
  }
1703
452
  }
@@ -1785,7 +534,7 @@ export async function layoutSearchHandler(input: unknown): Promise<LayoutSearchO
1785
534
  mappedResults = await applyPreferenceReranking(
1786
535
  mappedResults,
1787
536
  validated.profile_id,
1788
- prismaClientFactory,
537
+ prismaClientDI.get(),
1789
538
  "layout",
1790
539
  "layout.search"
1791
540
  );
@@ -1801,7 +550,7 @@ export async function layoutSearchHandler(input: unknown): Promise<LayoutSearchO
1801
550
  };
1802
551
  }
1803
552
 
1804
- return {
553
+ const result: LayoutSearchOutput = {
1805
554
  success: true,
1806
555
  data: {
1807
556
  results: mappedResults,
@@ -1814,22 +563,23 @@ export async function layoutSearchHandler(input: unknown): Promise<LayoutSearchO
1814
563
  context_boost_applied: contextBoostApplied,
1815
564
  },
1816
565
  };
566
+ // Cache successful results / 成功結果をキャッシュ
567
+ setCachedResult(cacheKey, result);
568
+ return result;
1817
569
  } catch (error) {
1818
570
  const errorMessage = error instanceof Error ? error.message : String(error);
1819
571
  const errorCode = determineErrorCode(error instanceof Error ? error : errorMessage);
1820
572
 
1821
- if (isDevelopment()) {
1822
- logger.error("[MCP Tool] layout.search error", {
1823
- code: errorCode,
1824
- error: errorMessage,
1825
- });
1826
- }
573
+ logger.error("[MCP Tool] layout.search error", {
574
+ code: errorCode,
575
+ error: errorMessage,
576
+ });
1827
577
 
1828
578
  return {
1829
579
  success: false,
1830
580
  error: {
1831
581
  code: errorCode,
1832
- message: errorMessage,
582
+ message: sanitizeErrorMessage(error),
1833
583
  },
1834
584
  };
1835
585
  }
@@ -1897,6 +647,33 @@ export const layoutSearchToolDefinition = {
1897
647
  description:
1898
648
  "利用範囲でフィルター(inspiration_only: インスピレーションのみ、owned_asset: 所有アセット)",
1899
649
  },
650
+ webPageId: {
651
+ type: "string",
652
+ format: "uuid",
653
+ description: "WebページIDでフィルター / Filter by web page ID",
654
+ },
655
+ webPageUrl: {
656
+ type: "string",
657
+ format: "uri",
658
+ description: "WebページURLでフィルター / Filter by web page URL",
659
+ },
660
+ industry: {
661
+ type: "string",
662
+ description: "業種フィルター(例: tech, finance, healthcare) / Industry filter",
663
+ maxLength: 100,
664
+ },
665
+ audience: {
666
+ type: "string",
667
+ description:
668
+ "ターゲットオーディエンス(例: b2b, b2c, enterprise) / Target audience filter",
669
+ maxLength: 100,
670
+ },
671
+ tags: {
672
+ type: "array",
673
+ items: { type: "string", maxLength: 50 },
674
+ maxItems: 10,
675
+ description: "タグフィルター / Tag filter",
676
+ },
1900
677
  },
1901
678
  },
1902
679
  limit: {