@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
@@ -1,1751 +0,0 @@
1
- "use strict";
2
- // SPDX-FileCopyrightText: 2026 TKMD and Reftrix Contributors
3
- // SPDX-License-Identifier: AGPL-3.0-only
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.LlamaVisionAdapter = void 0;
6
- const interface_1 = require("./interface");
7
- const interface_2 = require("./interface");
8
- const logger_1 = require("../../utils/logger");
9
- const llama_vision_types_1 = require("./llama-vision.types");
10
- // プロンプト定数(分割ファイルからインポート)
11
- const llama_vision_prompts_1 = require("./llama-vision.prompts");
12
- // =============================================================================
13
- // LlamaVisionAdapter 実装
14
- // =============================================================================
15
- /**
16
- * LlamaVisionAdapter - Ollama Llama Vision モデルを使用したビジョン解析アダプタ
17
- *
18
- * @example
19
- * ```typescript
20
- * const adapter = new LlamaVisionAdapter({
21
- * baseUrl: 'http://localhost:11434',
22
- * modelName: 'llama3.2-vision',
23
- * });
24
- *
25
- * if (await adapter.isAvailable()) {
26
- * const result = await adapter.analyze({
27
- * imageBuffer: screenshotBuffer,
28
- * mimeType: 'image/png',
29
- * features: ['layout_structure', 'color_palette'],
30
- * });
31
- *
32
- * const textRep = adapter.generateTextRepresentation(result);
33
- * }
34
- * ```
35
- */
36
- class LlamaVisionAdapter {
37
- /** アダプタ名 */
38
- name = "LlamaVisionAdapter";
39
- /** 使用するモデル名 */
40
- modelName;
41
- /** 設定 */
42
- config;
43
- /**
44
- * コンストラクタ
45
- * @param config - アダプタ設定
46
- */
47
- constructor(config) {
48
- // 環境変数を優先
49
- const envBaseUrl = process.env.OLLAMA_BASE_URL;
50
- this.config = {
51
- ...llama_vision_types_1.DEFAULT_CONFIG,
52
- ...config,
53
- baseUrl: envBaseUrl || config?.baseUrl || llama_vision_types_1.DEFAULT_CONFIG.baseUrl,
54
- };
55
- this.modelName = this.config.modelName;
56
- if (process.env.NODE_ENV === "development") {
57
- logger_1.logger.info("[LlamaVisionAdapter] Initialized with config:", {
58
- baseUrl: this.config.baseUrl,
59
- modelName: this.config.modelName,
60
- requestTimeout: this.config.requestTimeout,
61
- maxRetries: this.config.maxRetries,
62
- });
63
- }
64
- }
65
- // ===========================================================================
66
- // IVisionAnalyzer 実装
67
- // ===========================================================================
68
- /**
69
- * アダプタが利用可能かチェック
70
- * Ollamaサーバーへの接続と、指定モデルの存在を確認します。
71
- * 1回の/api/tags呼び出しで両方を確認します。
72
- */
73
- async isAvailable() {
74
- try {
75
- return await this.checkModelAvailability();
76
- }
77
- catch (error) {
78
- if (process.env.NODE_ENV === "development") {
79
- console.error("[LlamaVisionAdapter] isAvailable error:", error);
80
- }
81
- return false;
82
- }
83
- }
84
- /**
85
- * 画像を解析して特徴を抽出
86
- */
87
- async analyze(options) {
88
- const startTime = Date.now();
89
- try {
90
- // 入力検証
91
- const validationError = this.validateInput(options);
92
- if (validationError) {
93
- return this.createErrorResult(validationError, startTime);
94
- }
95
- // 画像をbase64に変換
96
- const base64Image = await this.prepareImage(options.imageBuffer);
97
- // プロンプト生成
98
- const features = options.features || this.config.defaultFeatures;
99
- const prompt = this.buildPrompt(features, options.prompt);
100
- // リトライ付きでリクエスト実行
101
- const response = await this.executeWithRetry(() => this.sendGenerateRequest(base64Image, prompt, options.timeout));
102
- // レスポンスパース
103
- const parseResult = this.parseResponse(response);
104
- const processingTimeMs = Date.now() - startTime;
105
- if (process.env.NODE_ENV === "development") {
106
- logger_1.logger.info("[LlamaVisionAdapter] Analysis completed:", {
107
- success: parseResult.success,
108
- featureCount: parseResult.features.length,
109
- processingTimeMs,
110
- });
111
- }
112
- return {
113
- ...parseResult,
114
- processingTimeMs,
115
- modelName: this.modelName,
116
- rawResponse: response,
117
- };
118
- }
119
- catch (error) {
120
- const errorMessage = error instanceof Error ? error.message : "Unknown error";
121
- if (process.env.NODE_ENV === "development") {
122
- console.error("[LlamaVisionAdapter] Analysis error:", error);
123
- }
124
- return this.createErrorResult(errorMessage, startTime);
125
- }
126
- }
127
- /**
128
- * テキスト表現を生成(Embedding用)
129
- */
130
- generateTextRepresentation(result) {
131
- if (!result.success && result.error) {
132
- return `Error: ${result.error}`;
133
- }
134
- if (result.features.length === 0) {
135
- return "No features detected in the image.";
136
- }
137
- const parts = [];
138
- for (const feature of result.features) {
139
- const text = this.featureToText(feature);
140
- if (text) {
141
- parts.push(text);
142
- }
143
- }
144
- return parts.join("\n");
145
- }
146
- // ===========================================================================
147
- // セクション単位分析メソッド
148
- // ===========================================================================
149
- /**
150
- * セクション単位での画像解析
151
- *
152
- * 単一セクションのスクリーンショットに特化した分析を行います。
153
- * セクションタイプのヒントを活用してより正確な分析結果を得られます。
154
- *
155
- * @param options - 解析オプション(sectionTypeHint, sectionId を追加)
156
- * @returns 解析結果
157
- *
158
- * @example
159
- * ```typescript
160
- * const result = await adapter.analyzeSection({
161
- * imageBuffer: sectionScreenshotBuffer,
162
- * mimeType: 'image/png',
163
- * sectionTypeHint: 'hero',
164
- * sectionId: 'section-001',
165
- * });
166
- * ```
167
- */
168
- async analyzeSection(options) {
169
- const startTime = Date.now();
170
- const { sectionTypeHint, sectionId, ...baseOptions } = options;
171
- if (process.env.NODE_ENV === "development") {
172
- logger_1.logger.info("[LlamaVision] analyzeSection:", {
173
- sectionTypeHint: sectionTypeHint || "unknown",
174
- sectionId: sectionId || "none",
175
- imageSize: options.imageBuffer.length,
176
- });
177
- }
178
- try {
179
- // 入力検証
180
- const validationError = this.validateInput(baseOptions);
181
- if (validationError) {
182
- return this.createErrorResult(validationError, startTime);
183
- }
184
- // 画像をbase64に変換
185
- const base64Image = await this.prepareImage(options.imageBuffer);
186
- // セクション用プロンプト生成
187
- const prompt = this.buildSectionPrompt(sectionTypeHint, options.prompt);
188
- // リトライ付きでリクエスト実行
189
- const response = await this.executeWithRetry(() => this.sendGenerateRequest(base64Image, prompt, options.timeout));
190
- // レスポンスパース(セクション用パーサー使用)
191
- const parseResult = this.parseSectionResponse(response, sectionTypeHint);
192
- const processingTimeMs = Date.now() - startTime;
193
- if (process.env.NODE_ENV === "development") {
194
- logger_1.logger.info("[LlamaVision] analyzeSection completed:", {
195
- sectionId: sectionId || "none",
196
- success: parseResult.success,
197
- featureCount: parseResult.features.length,
198
- processingTimeMs,
199
- });
200
- }
201
- return {
202
- ...parseResult,
203
- processingTimeMs,
204
- modelName: this.modelName,
205
- rawResponse: response,
206
- };
207
- }
208
- catch (error) {
209
- const errorMessage = error instanceof Error ? error.message : "Unknown error";
210
- if (process.env.NODE_ENV === "development") {
211
- console.error("[LlamaVision] analyzeSection error:", {
212
- sectionId: sectionId || "none",
213
- error: errorMessage,
214
- });
215
- }
216
- return this.createErrorResult(errorMessage, startTime);
217
- }
218
- }
219
- /**
220
- * セクション固有のテキスト表現を生成(Embedding用)
221
- *
222
- * セクションタイプを含めた、より詳細なテキスト表現を生成します。
223
- *
224
- * @param result - 解析結果
225
- * @param sectionType - セクションタイプ(hero, feature, cta等)
226
- * @returns テキスト表現
227
- *
228
- * @example
229
- * ```typescript
230
- * const textRep = adapter.generateSectionTextRepresentation(result, 'hero');
231
- * // "Section: hero\nLayout: single-column layout...\nColors: #000000, #ffffff..."
232
- * ```
233
- */
234
- generateSectionTextRepresentation(result, sectionType) {
235
- if (!result.success && result.error) {
236
- return `Section Error: ${result.error}`;
237
- }
238
- if (result.features.length === 0) {
239
- const typeInfo = sectionType ? ` (${sectionType})` : "";
240
- return `No features detected in section${typeInfo}.`;
241
- }
242
- const parts = [];
243
- // セクションタイプを先頭に追加
244
- if (sectionType) {
245
- parts.push(`Section: ${sectionType}`);
246
- }
247
- // 各特徴をテキスト化
248
- for (const feature of result.features) {
249
- const text = this.featureToText(feature);
250
- if (text) {
251
- parts.push(text);
252
- }
253
- }
254
- return parts.join("\n");
255
- }
256
- // ===========================================================================
257
- // Reftrix専用分析メソッド
258
- // ===========================================================================
259
- /**
260
- * セクション境界を視覚的に検出
261
- *
262
- * スクリーンショットからセクション境界を検出し、
263
- * HTML解析では検出できないビジュアルセパレーターも認識します。
264
- *
265
- * @param options - 解析オプション(imageBuffer, mimeType必須)
266
- * @returns セクション境界データを含む解析結果
267
- *
268
- * @example
269
- * ```typescript
270
- * const result = await adapter.detectSectionBoundaries({
271
- * imageBuffer: screenshotBuffer,
272
- * mimeType: 'image/png',
273
- * });
274
- * if (result.success) {
275
- * const sections = result.data.sections;
276
- * }
277
- * ```
278
- */
279
- async detectSectionBoundaries(options) {
280
- const startTime = Date.now();
281
- if (process.env.NODE_ENV === "development") {
282
- logger_1.logger.info("[LlamaVision] detectSectionBoundaries: Starting analysis");
283
- }
284
- try {
285
- const validationError = this.validateInput(options);
286
- if (validationError) {
287
- return { success: false, error: validationError, processingTimeMs: Date.now() - startTime };
288
- }
289
- const base64Image = await this.prepareImage(options.imageBuffer);
290
- const response = await this.executeWithRetry(() => this.sendGenerateRequest(base64Image, llama_vision_prompts_1.SECTION_BOUNDARY_DETECTION_PROMPT, options.timeout));
291
- const parsed = this.parseSectionBoundariesResponse(response);
292
- const processingTimeMs = Date.now() - startTime;
293
- // features配列からdataを抽出
294
- const sectionBoundariesFeature = parsed.features.find((f) => f.type === "section_boundaries");
295
- const data = sectionBoundariesFeature?.data;
296
- if (process.env.NODE_ENV === "development") {
297
- logger_1.logger.info("[LlamaVision] detectSectionBoundaries: Complete", {
298
- success: parsed.success,
299
- sectionCount: data?.sections?.length || 0,
300
- processingTimeMs,
301
- });
302
- }
303
- return {
304
- success: parsed.success,
305
- ...(data !== undefined && { data }),
306
- ...(parsed.error !== undefined && { error: parsed.error }),
307
- processingTimeMs,
308
- };
309
- }
310
- catch (error) {
311
- const errorMessage = error instanceof Error ? error.message : "Unknown error";
312
- return { success: false, error: errorMessage, processingTimeMs: Date.now() - startTime };
313
- }
314
- }
315
- /**
316
- * モーション候補を視覚的に検出
317
- *
318
- * スクリーンショットからアニメーション対象要素を推定します。
319
- * CSS/JS静的解析の補完として使用します。
320
- *
321
- * @param options - 解析オプション
322
- * @returns モーション候補データを含む解析結果
323
- */
324
- async detectMotionCandidates(options) {
325
- const startTime = Date.now();
326
- if (process.env.NODE_ENV === "development") {
327
- logger_1.logger.info("[LlamaVision] detectMotionCandidates: Starting analysis");
328
- }
329
- try {
330
- const validationError = this.validateInput(options);
331
- if (validationError) {
332
- return { success: false, error: validationError, processingTimeMs: Date.now() - startTime };
333
- }
334
- const base64Image = await this.prepareImage(options.imageBuffer);
335
- const response = await this.executeWithRetry(() => this.sendGenerateRequest(base64Image, llama_vision_prompts_1.MOTION_DETECTION_PROMPT, options.timeout));
336
- const parsed = this.parseMotionCandidatesResponse(response);
337
- const processingTimeMs = Date.now() - startTime;
338
- // features配列からdataを抽出
339
- const motionCandidatesFeature = parsed.features.find((f) => f.type === "motion_candidates");
340
- const data = motionCandidatesFeature?.data;
341
- if (process.env.NODE_ENV === "development") {
342
- logger_1.logger.info("[LlamaVision] detectMotionCandidates: Complete", {
343
- success: parsed.success,
344
- animationCount: data?.likelyAnimations?.length || 0,
345
- processingTimeMs,
346
- });
347
- }
348
- return {
349
- success: parsed.success,
350
- ...(data !== undefined && { data }),
351
- ...(parsed.error !== undefined && { error: parsed.error }),
352
- processingTimeMs,
353
- };
354
- }
355
- catch (error) {
356
- const errorMessage = error instanceof Error ? error.message : "Unknown error";
357
- return { success: false, error: errorMessage, processingTimeMs: Date.now() - startTime };
358
- }
359
- }
360
- /**
361
- * AIクリシェを検出
362
- *
363
- * スクリーンショットからAI生成デザインの典型的パターンを検出します。
364
- * quality.evaluateのOriginality評価に活用します。
365
- *
366
- * @param options - 解析オプション
367
- * @returns AIクリシェデータを含む解析結果
368
- */
369
- async detectAiCliches(options) {
370
- const startTime = Date.now();
371
- if (process.env.NODE_ENV === "development") {
372
- logger_1.logger.info("[LlamaVision] detectAiCliches: Starting analysis");
373
- }
374
- try {
375
- const validationError = this.validateInput(options);
376
- if (validationError) {
377
- return { success: false, error: validationError, processingTimeMs: Date.now() - startTime };
378
- }
379
- const base64Image = await this.prepareImage(options.imageBuffer);
380
- const response = await this.executeWithRetry(() => this.sendGenerateRequest(base64Image, llama_vision_prompts_1.AI_CLICHE_DETECTION_PROMPT, options.timeout));
381
- const parsed = this.parseAiClichesResponse(response);
382
- const processingTimeMs = Date.now() - startTime;
383
- // features配列からdataを抽出
384
- const aiClichesFeature = parsed.features.find((f) => f.type === "ai_cliches");
385
- const data = aiClichesFeature?.data;
386
- if (process.env.NODE_ENV === "development") {
387
- logger_1.logger.info("[LlamaVision] detectAiCliches: Complete", {
388
- success: parsed.success,
389
- clicheCount: data?.clichesDetected?.length || 0,
390
- originalityScore: data?.originalityScore,
391
- processingTimeMs,
392
- });
393
- }
394
- return {
395
- success: parsed.success,
396
- ...(data !== undefined && { data }),
397
- ...(parsed.error !== undefined && { error: parsed.error }),
398
- processingTimeMs,
399
- };
400
- }
401
- catch (error) {
402
- const errorMessage = error instanceof Error ? error.message : "Unknown error";
403
- return { success: false, error: errorMessage, processingTimeMs: Date.now() - startTime };
404
- }
405
- }
406
- /**
407
- * ブランドトーンを分析
408
- *
409
- * デザインの視覚的トーンとブランドパーソナリティを分析します。
410
- * 品質評価のContextuality軸に活用します。
411
- *
412
- * @param options - 解析オプション
413
- * @returns ブランドトーンデータを含む解析結果
414
- */
415
- async detectBrandTone(options) {
416
- const startTime = Date.now();
417
- if (process.env.NODE_ENV === "development") {
418
- logger_1.logger.info("[LlamaVision] detectBrandTone: Starting analysis");
419
- }
420
- try {
421
- const validationError = this.validateInput(options);
422
- if (validationError) {
423
- return { success: false, error: validationError, processingTimeMs: Date.now() - startTime };
424
- }
425
- const base64Image = await this.prepareImage(options.imageBuffer);
426
- const response = await this.executeWithRetry(() => this.sendGenerateRequest(base64Image, llama_vision_prompts_1.BRAND_TONE_ANALYSIS_PROMPT, options.timeout));
427
- const parsed = this.parseBrandToneResponse(response);
428
- const processingTimeMs = Date.now() - startTime;
429
- // features配列からdataを抽出
430
- const brandToneFeature = parsed.features.find((f) => f.type === "brand_tone");
431
- const data = brandToneFeature?.data;
432
- if (process.env.NODE_ENV === "development") {
433
- logger_1.logger.info("[LlamaVision] detectBrandTone: Complete", {
434
- success: parsed.success,
435
- targetAudience: data?.targetAudience,
436
- processingTimeMs,
437
- });
438
- }
439
- return {
440
- success: parsed.success,
441
- ...(data !== undefined && { data }),
442
- ...(parsed.error !== undefined && { error: parsed.error }),
443
- processingTimeMs,
444
- };
445
- }
446
- catch (error) {
447
- const errorMessage = error instanceof Error ? error.message : "Unknown error";
448
- return { success: false, error: errorMessage, processingTimeMs: Date.now() - startTime };
449
- }
450
- }
451
- // ===========================================================================
452
- // Phase 2: Enhanced Mood & Brand Tone Analysis
453
- // ===========================================================================
454
- /**
455
- * Enhanced analysis with Phase 1 color context integration
456
- *
457
- * Combines Vision AI analysis with deterministic Phase 1 extraction results
458
- * for improved mood and brand tone detection accuracy.
459
- *
460
- * @param options - Enhanced analysis options with optional color context
461
- * @returns Enhanced analysis result with mood and brand tone
462
- *
463
- * @example
464
- * ```typescript
465
- * const result = await adapter.analyzeWithColorContext({
466
- * imageBuffer: screenshotBuffer,
467
- * mimeType: 'image/png',
468
- * includeColorContext: true,
469
- * colorContext: {
470
- * dominantColors: ['#3B82F6', '#FFFFFF', '#1F2937'],
471
- * theme: 'light',
472
- * themeConfidence: 0.92,
473
- * backgroundColor: '#FFFFFF',
474
- * contentDensity: 0.35,
475
- * whitespaceRatio: 0.65,
476
- * },
477
- * });
478
- * ```
479
- */
480
- async analyzeWithColorContext(options) {
481
- const startTime = Date.now();
482
- if (process.env.NODE_ENV === "development") {
483
- logger_1.logger.info("[LlamaVision] analyzeWithColorContext: Starting enhanced analysis", {
484
- includeColorContext: options.includeColorContext ?? false,
485
- hasColorContext: !!options.colorContext,
486
- });
487
- }
488
- try {
489
- // Input validation
490
- const validationError = this.validateInput(options);
491
- if (validationError) {
492
- return this.createEnhancedErrorResult(validationError, startTime);
493
- }
494
- // Prepare image
495
- const base64Image = await this.prepareImage(options.imageBuffer);
496
- // Build enhanced prompt with optional color context
497
- const prompt = this.buildEnhancedMoodBrandTonePrompt(options);
498
- // Execute request with retry
499
- const response = await this.executeWithRetry(() => this.sendGenerateRequest(base64Image, prompt, options.timeout));
500
- // Parse enhanced response
501
- const result = this.parseEnhancedMoodBrandToneResponse(response, options.includeColorContext ?? false, options.colorContext);
502
- const processingTimeMs = Date.now() - startTime;
503
- if (process.env.NODE_ENV === "development") {
504
- logger_1.logger.info("[LlamaVision] analyzeWithColorContext: Complete", {
505
- success: result.success,
506
- primaryMood: result.mood?.primaryMood,
507
- primaryTone: result.brandTone?.primaryTone,
508
- colorContextUsed: result.mood?.colorContextUsed ?? false,
509
- processingTimeMs,
510
- });
511
- }
512
- return {
513
- ...result,
514
- processingTimeMs,
515
- modelName: this.modelName,
516
- };
517
- }
518
- catch (error) {
519
- const errorMessage = error instanceof Error ? error.message : "Unknown error";
520
- if (process.env.NODE_ENV === "development") {
521
- console.error("[LlamaVision] analyzeWithColorContext: Error", error);
522
- }
523
- return this.createEnhancedErrorResult(errorMessage, startTime);
524
- }
525
- }
526
- /**
527
- * Build enhanced mood/brand tone prompt with optional color context
528
- */
529
- buildEnhancedMoodBrandTonePrompt(options) {
530
- let colorContextSection = "";
531
- if (options.includeColorContext && options.colorContext) {
532
- const ctx = options.colorContext;
533
- colorContextSection = llama_vision_prompts_1.COLOR_CONTEXT_SECTION_TEMPLATE.replace("{dominant_colors}", ctx.dominantColors?.join(", ") || "unknown")
534
- .replace("{theme}", ctx.theme || "unknown")
535
- .replace("{theme_confidence}", ctx.themeConfidence?.toFixed(2) || "unknown")
536
- .replace("{background_color}", ctx.backgroundColor || "unknown")
537
- .replace("{density}", ctx.contentDensity?.toFixed(2) || "unknown")
538
- .replace("{whitespace_ratio}", ctx.whitespaceRatio?.toFixed(2) || "unknown");
539
- }
540
- return llama_vision_prompts_1.ENHANCED_MOOD_BRAND_TONE_PROMPT.replace("{color_context_section}", colorContextSection);
541
- }
542
- /**
543
- * Parse enhanced mood/brand tone response
544
- * v0.1.0: Added validation, fallback values, and warnings
545
- */
546
- parseEnhancedMoodBrandToneResponse(response, colorContextUsed, colorContext) {
547
- const warnings = [];
548
- let fallbackUsed = false;
549
- try {
550
- // Extract JSON from response
551
- const jsonMatch = response.match(/\{[\s\S]*\}/);
552
- if (!jsonMatch) {
553
- // v0.1.0: Use fallback values instead of failing
554
- warnings.push({
555
- code: "PARSE_WARNING",
556
- message: "No valid JSON found in response, using fallback values",
557
- });
558
- fallbackUsed = true;
559
- return {
560
- success: true,
561
- mood: { ...interface_2.DEFAULT_MOOD_FALLBACK, colorContextUsed },
562
- brandTone: { ...interface_2.DEFAULT_BRAND_TONE_FALLBACK, colorContextUsed },
563
- warnings,
564
- fallbackUsed,
565
- };
566
- }
567
- const parsed = JSON.parse(jsonMatch[0]);
568
- // Validate and extract mood data
569
- // Support both brandTone (camelCase from tests) and brand_tone (snake_case from prompt)
570
- let mood = this.extractMoodResult(parsed.mood, colorContextUsed);
571
- let brandTone = this.extractEnhancedBrandToneResult(parsed.brandTone ?? parsed.brand_tone, colorContextUsed);
572
- // v0.1.0: Apply fallback values if extraction failed
573
- if (!mood) {
574
- mood = { ...interface_2.DEFAULT_MOOD_FALLBACK, colorContextUsed };
575
- fallbackUsed = true;
576
- warnings.push({
577
- code: "MOOD_FALLBACK_USED",
578
- message: "Failed to extract mood from response, using fallback value",
579
- field: "mood",
580
- });
581
- }
582
- if (!brandTone) {
583
- brandTone = { ...interface_2.DEFAULT_BRAND_TONE_FALLBACK, colorContextUsed };
584
- fallbackUsed = true;
585
- warnings.push({
586
- code: "BRAND_TONE_FALLBACK_USED",
587
- message: "Failed to extract brand tone from response, using fallback value",
588
- field: "brandTone",
589
- });
590
- }
591
- // v0.1.0: Check for low confidence and add warnings
592
- if (mood.confidence < interface_2.LOW_CONFIDENCE_THRESHOLD) {
593
- warnings.push({
594
- code: "LOW_CONFIDENCE_MOOD",
595
- message: `Mood confidence (${mood.confidence.toFixed(2)}) is below threshold (${interface_2.LOW_CONFIDENCE_THRESHOLD})`,
596
- field: "mood.confidence",
597
- value: mood.confidence,
598
- threshold: interface_2.LOW_CONFIDENCE_THRESHOLD,
599
- });
600
- }
601
- if (brandTone.confidence < interface_2.LOW_CONFIDENCE_THRESHOLD) {
602
- warnings.push({
603
- code: "LOW_CONFIDENCE_BRAND_TONE",
604
- message: `Brand tone confidence (${brandTone.confidence.toFixed(2)}) is below threshold (${interface_2.LOW_CONFIDENCE_THRESHOLD})`,
605
- field: "brandTone.confidence",
606
- value: brandTone.confidence,
607
- threshold: interface_2.LOW_CONFIDENCE_THRESHOLD,
608
- });
609
- }
610
- // v0.1.0: Check for missing indicators
611
- if (mood.indicators.length === 0 ||
612
- (mood.indicators.length === 1 && mood.indicators[0] === "fallback_value")) {
613
- warnings.push({
614
- code: "MISSING_INDICATORS",
615
- message: "Mood analysis lacks supporting indicators",
616
- field: "mood.indicators",
617
- });
618
- }
619
- if (brandTone.indicators.length === 0 ||
620
- (brandTone.indicators.length === 1 && brandTone.indicators[0] === "fallback_value")) {
621
- warnings.push({
622
- code: "MISSING_INDICATORS",
623
- message: "Brand tone analysis lacks supporting indicators",
624
- field: "brandTone.indicators",
625
- });
626
- }
627
- // Build color context summary if used
628
- const colorContextSummary = colorContextUsed && colorContext
629
- ? {
630
- dominantColors: colorContext.dominantColors || [],
631
- theme: colorContext.theme || "mixed",
632
- density: colorContext.contentDensity || 0.5,
633
- }
634
- : undefined;
635
- // Build result object conditionally to satisfy exactOptionalPropertyTypes
636
- const result = {
637
- success: true,
638
- mood,
639
- brandTone,
640
- };
641
- if (colorContextSummary) {
642
- result.colorContext = colorContextSummary;
643
- }
644
- // v0.1.0: Add warnings and fallback flag if present
645
- if (warnings.length > 0) {
646
- result.warnings = warnings;
647
- }
648
- if (fallbackUsed) {
649
- result.fallbackUsed = fallbackUsed;
650
- }
651
- return result;
652
- }
653
- catch (error) {
654
- if (process.env.NODE_ENV === "development") {
655
- console.error("[LlamaVision] Failed to parse enhanced response:", error);
656
- console.error("[LlamaVision] Raw response:", response);
657
- }
658
- // v0.1.0: Return fallback values with error warning instead of failing
659
- warnings.push({
660
- code: "PARSE_WARNING",
661
- message: error instanceof Error ? error.message : "Failed to parse response",
662
- });
663
- return {
664
- success: true,
665
- mood: { ...interface_2.DEFAULT_MOOD_FALLBACK, colorContextUsed },
666
- brandTone: { ...interface_2.DEFAULT_BRAND_TONE_FALLBACK, colorContextUsed },
667
- warnings,
668
- fallbackUsed: true,
669
- };
670
- }
671
- }
672
- /**
673
- * Extract mood result from parsed JSON
674
- * Supports both formats: { primary, secondary } and { primaryMood, secondaryMood }
675
- */
676
- extractMoodResult(moodData, colorContextUsed) {
677
- if (!moodData || typeof moodData !== "object") {
678
- return undefined;
679
- }
680
- const data = moodData;
681
- const validMoods = [
682
- "professional",
683
- "playful",
684
- "minimal",
685
- "bold",
686
- "elegant",
687
- "modern",
688
- "classic",
689
- "energetic",
690
- "calm",
691
- "luxurious",
692
- ];
693
- // Support both formats: { primary } and { primaryMood }
694
- const primaryMood = this.validateMoodType(data.primaryMood ?? data.primary, validMoods);
695
- if (!primaryMood) {
696
- return undefined;
697
- }
698
- const secondaryMood = this.validateMoodType(data.secondaryMood ?? data.secondary, validMoods);
699
- const confidence = typeof data.confidence === "number" ? Math.min(1, Math.max(0, data.confidence)) : 0.7;
700
- const indicators = Array.isArray(data.indicators)
701
- ? data.indicators.filter((i) => typeof i === "string")
702
- : [];
703
- return {
704
- primaryMood,
705
- ...(secondaryMood && { secondaryMood }),
706
- confidence,
707
- indicators,
708
- colorContextUsed,
709
- };
710
- }
711
- /**
712
- * Extract enhanced brand tone result from parsed JSON
713
- * Supports both formats: { primary, secondary } and { primaryTone, secondaryTone }
714
- */
715
- extractEnhancedBrandToneResult(brandToneData, colorContextUsed) {
716
- if (!brandToneData || typeof brandToneData !== "object") {
717
- return undefined;
718
- }
719
- const data = brandToneData;
720
- const validTones = [
721
- "corporate",
722
- "friendly",
723
- "luxury",
724
- "tech-forward",
725
- "creative",
726
- "trustworthy",
727
- "innovative",
728
- "traditional",
729
- ];
730
- // Support both formats: { primary } and { primaryTone }
731
- const primaryTone = this.validateBrandToneType(data.primaryTone ?? data.primary, validTones);
732
- if (!primaryTone) {
733
- return undefined;
734
- }
735
- const secondaryTone = this.validateBrandToneType(data.secondaryTone ?? data.secondary, validTones);
736
- const confidence = typeof data.confidence === "number" ? Math.min(1, Math.max(0, data.confidence)) : 0.7;
737
- // Extract dimension values with defaults
738
- // Support both snake_case (from prompt) and camelCase (from tests)
739
- const professionalism = this.validateEnum(data.professionalism, ["minimal", "moderate", "bold"], "moderate");
740
- const warmth = this.validateEnum(data.warmth, ["cold", "neutral", "warm"], "neutral");
741
- const modernity = this.validateEnum(data.modernity, ["classic", "contemporary", "futuristic"], "contemporary");
742
- const energy = this.validateEnum(data.energy, ["calm", "balanced", "dynamic"], "balanced");
743
- const targetAudience = this.validateEnum(data.targetAudience ?? data.target_audience, ["enterprise", "startup", "creative", "consumer"], "consumer");
744
- const indicators = Array.isArray(data.indicators)
745
- ? data.indicators.filter((i) => typeof i === "string")
746
- : [];
747
- return {
748
- primaryTone,
749
- ...(secondaryTone && { secondaryTone }),
750
- confidence,
751
- professionalism,
752
- warmth,
753
- modernity,
754
- energy,
755
- targetAudience,
756
- indicators,
757
- colorContextUsed,
758
- };
759
- }
760
- /**
761
- * Validate mood type
762
- */
763
- validateMoodType(value, validMoods) {
764
- if (typeof value === "string" && validMoods.includes(value)) {
765
- return value;
766
- }
767
- return undefined;
768
- }
769
- /**
770
- * Validate brand tone type
771
- */
772
- validateBrandToneType(value, validTones) {
773
- if (typeof value === "string" && validTones.includes(value)) {
774
- return value;
775
- }
776
- return undefined;
777
- }
778
- /**
779
- * Validate enum value with default
780
- */
781
- validateEnum(value, validValues, defaultValue) {
782
- if (typeof value === "string" && validValues.includes(value)) {
783
- return value;
784
- }
785
- return defaultValue;
786
- }
787
- /**
788
- * Create enhanced error result
789
- */
790
- createEnhancedErrorResult(error, startTime) {
791
- return {
792
- success: false,
793
- error,
794
- processingTimeMs: Date.now() - startTime,
795
- modelName: this.modelName,
796
- };
797
- }
798
- // ===========================================================================
799
- // 内部メソッド - サーバー確認
800
- // ===========================================================================
801
- /**
802
- * Ollamaサーバーへの接続を確認
803
- */
804
- async checkOllamaServer() {
805
- try {
806
- const controller = new AbortController();
807
- const timeoutId = setTimeout(() => controller.abort(), this.config.connectionTimeout);
808
- const response = await fetch(`${this.config.baseUrl}/api/tags`, {
809
- method: "GET",
810
- signal: controller.signal,
811
- });
812
- clearTimeout(timeoutId);
813
- return response.ok;
814
- }
815
- catch (error) {
816
- if (process.env.NODE_ENV === "development") {
817
- console.error("[LlamaVisionAdapter] Server check failed:", error);
818
- }
819
- return false;
820
- }
821
- }
822
- /**
823
- * 指定モデルの利用可能性を確認
824
- */
825
- async checkModelAvailability() {
826
- try {
827
- const controller = new AbortController();
828
- const timeoutId = setTimeout(() => controller.abort(), this.config.connectionTimeout);
829
- const response = await fetch(`${this.config.baseUrl}/api/tags`, {
830
- method: "GET",
831
- signal: controller.signal,
832
- });
833
- clearTimeout(timeoutId);
834
- if (!response.ok) {
835
- return false;
836
- }
837
- const data = (await response.json());
838
- if (!data.models || data.models.length === 0) {
839
- return false;
840
- }
841
- // モデル名の完全一致または前方一致で確認
842
- return data.models.some((model) => model.name === this.modelName || model.name.startsWith(`${this.modelName}:`));
843
- }
844
- catch (error) {
845
- if (process.env.NODE_ENV === "development") {
846
- console.error("[LlamaVisionAdapter] Model check failed:", error);
847
- }
848
- return false;
849
- }
850
- }
851
- // ===========================================================================
852
- // 内部メソッド - 画像処理
853
- // ===========================================================================
854
- /**
855
- * 画像をbase64に変換
856
- */
857
- async prepareImage(image) {
858
- return image.toString("base64");
859
- }
860
- // ===========================================================================
861
- // 内部メソッド - プロンプト生成
862
- // ===========================================================================
863
- /**
864
- * 解析プロンプトを生成
865
- */
866
- buildPrompt(features, customPrompt) {
867
- const featureList = features.map((f) => `- ${f}`).join("\n");
868
- let basePrompt = this.config.analysisPrompt || llama_vision_prompts_1.DEFAULT_ANALYSIS_PROMPT;
869
- basePrompt = basePrompt.replace("{features_to_analyze}", featureList);
870
- // システムプロンプトを追加
871
- let fullPrompt = this.config.systemPrompt
872
- ? `${this.config.systemPrompt}\n\n${basePrompt}`
873
- : basePrompt;
874
- // カスタムプロンプトがあれば追加
875
- if (customPrompt) {
876
- fullPrompt = `${fullPrompt}\n\nAdditional instructions: ${customPrompt}`;
877
- }
878
- return fullPrompt;
879
- }
880
- /**
881
- * セクション用解析プロンプトを生成
882
- */
883
- buildSectionPrompt(sectionTypeHint, customPrompt) {
884
- // セクションタイプをプロンプトに埋め込む
885
- let basePrompt = llama_vision_prompts_1.SECTION_ANALYSIS_PROMPT.replace("{section_type}", sectionTypeHint || "unknown");
886
- // システムプロンプトを追加
887
- let fullPrompt = this.config.systemPrompt
888
- ? `${this.config.systemPrompt}\n\n${basePrompt}`
889
- : basePrompt;
890
- // カスタムプロンプトがあれば追加
891
- if (customPrompt) {
892
- fullPrompt = `${fullPrompt}\n\nAdditional instructions: ${customPrompt}`;
893
- }
894
- return fullPrompt;
895
- }
896
- // ===========================================================================
897
- // 内部メソッド - API通信
898
- // ===========================================================================
899
- /**
900
- * Ollama /api/generate にリクエストを送信
901
- */
902
- async sendGenerateRequest(base64Image, prompt, timeout) {
903
- const requestTimeout = timeout || this.config.requestTimeout;
904
- const controller = new AbortController();
905
- const timeoutId = setTimeout(() => controller.abort(), requestTimeout);
906
- try {
907
- const requestBody = {
908
- model: this.modelName,
909
- prompt,
910
- images: [base64Image],
911
- stream: false,
912
- options: {
913
- temperature: 0.1,
914
- num_predict: 4096,
915
- },
916
- };
917
- const response = await fetch(`${this.config.baseUrl}/api/generate`, {
918
- method: "POST",
919
- headers: {
920
- "Content-Type": "application/json",
921
- },
922
- body: JSON.stringify(requestBody),
923
- signal: controller.signal,
924
- });
925
- clearTimeout(timeoutId);
926
- if (!response.ok) {
927
- const statusCode = response.status;
928
- const statusText = response.statusText;
929
- // 4xxエラーはリトライ不可としてマーク
930
- if (statusCode >= 400 && statusCode < 500) {
931
- const error = new Error(`HTTP ${statusCode}: ${statusText}`);
932
- error.noRetry = true;
933
- throw error;
934
- }
935
- throw new Error(`HTTP ${statusCode}: ${statusText}`);
936
- }
937
- const data = (await response.json());
938
- if (!data.response) {
939
- throw new Error("Empty response from Ollama");
940
- }
941
- return data.response;
942
- }
943
- catch (error) {
944
- clearTimeout(timeoutId);
945
- if (error instanceof Error && error.name === "AbortError") {
946
- throw new Error("Request timeout");
947
- }
948
- throw error;
949
- }
950
- }
951
- /**
952
- * リトライ付きでリクエストを実行
953
- */
954
- async executeWithRetry(operation) {
955
- let lastError = null;
956
- for (let attempt = 0; attempt <= this.config.maxRetries; attempt++) {
957
- try {
958
- return await operation();
959
- }
960
- catch (error) {
961
- lastError = error instanceof Error ? error : new Error(String(error));
962
- // 4xxエラーはリトライしない
963
- if (lastError.noRetry) {
964
- throw lastError;
965
- }
966
- if (attempt < this.config.maxRetries) {
967
- if (process.env.NODE_ENV === "development") {
968
- logger_1.logger.info(`[LlamaVisionAdapter] Retry attempt ${attempt + 1}/${this.config.maxRetries}`);
969
- }
970
- await this.delay(this.config.retryDelay);
971
- }
972
- }
973
- }
974
- throw lastError || new Error("Max retries exceeded");
975
- }
976
- /**
977
- * 指定時間待機
978
- */
979
- delay(ms) {
980
- return new Promise((resolve) => setTimeout(resolve, ms));
981
- }
982
- // ===========================================================================
983
- // 内部メソッド - レスポンスパース
984
- // ===========================================================================
985
- /**
986
- * Ollamaレスポンスをパース
987
- *
988
- * 2つのフォーマットをサポート:
989
- * 1. 詳細形式: {"features": [...], "summary": "..."}
990
- * 2. シンプル形式: {"layout": "...", "colors": [...], "mood": "...", "sections": [...]}
991
- */
992
- parseResponse(response) {
993
- try {
994
- // JSONブロックを抽出(マークダウンコードブロック対応)
995
- const jsonString = this.extractJson(response);
996
- if (!jsonString) {
997
- return {
998
- success: false,
999
- features: [],
1000
- error: "No valid JSON found in response",
1001
- };
1002
- }
1003
- const parsed = JSON.parse(jsonString);
1004
- // フォーマット1: 詳細形式 {"features": [...]}
1005
- if (parsed.features && Array.isArray(parsed.features)) {
1006
- const validFeatures = parsed.features
1007
- .map((f) => this.validateFeature(f))
1008
- .filter((f) => f !== null);
1009
- return {
1010
- success: true,
1011
- features: validFeatures,
1012
- };
1013
- }
1014
- // フォーマット2: シンプル形式 {"layout": "...", "colors": [...], ...}
1015
- if (parsed.layout || parsed.colors || parsed.sections) {
1016
- const features = [];
1017
- // layout -> layout_structure
1018
- if (typeof parsed.layout === "string") {
1019
- features.push({
1020
- type: "layout_structure",
1021
- confidence: 0.8,
1022
- data: {
1023
- type: "layout_structure",
1024
- gridType: parsed.layout,
1025
- mainAreas: parsed.sections || [],
1026
- description: `${parsed.layout} layout`,
1027
- },
1028
- });
1029
- }
1030
- // colors -> color_palette
1031
- if (Array.isArray(parsed.colors)) {
1032
- features.push({
1033
- type: "color_palette",
1034
- confidence: 0.8,
1035
- data: {
1036
- type: "color_palette",
1037
- dominantColors: parsed.colors.filter((c) => typeof c === "string"),
1038
- mood: typeof parsed.mood === "string" ? parsed.mood : "neutral",
1039
- contrast: "medium",
1040
- },
1041
- });
1042
- }
1043
- // sections -> section_boundaries
1044
- if (Array.isArray(parsed.sections) && parsed.sections.length > 0) {
1045
- features.push({
1046
- type: "section_boundaries",
1047
- confidence: 0.7,
1048
- data: {
1049
- type: "section_boundaries",
1050
- sections: parsed.sections.map((name, index) => ({
1051
- type: name,
1052
- startY: index * 300,
1053
- endY: (index + 1) * 300,
1054
- confidence: 0.7,
1055
- })),
1056
- },
1057
- });
1058
- }
1059
- if (features.length > 0) {
1060
- return {
1061
- success: true,
1062
- features,
1063
- };
1064
- }
1065
- }
1066
- return {
1067
- success: false,
1068
- features: [],
1069
- error: "Invalid response structure: no recognizable format",
1070
- };
1071
- }
1072
- catch (error) {
1073
- const errorMessage = error instanceof Error ? error.message : "Parse error";
1074
- return {
1075
- success: false,
1076
- features: [],
1077
- error: `Failed to parse response: ${errorMessage}`,
1078
- };
1079
- }
1080
- }
1081
- /**
1082
- * セクション分析用レスポンスをパース
1083
- *
1084
- * セクション分析プロンプトからのレスポンスをパースします。
1085
- * 期待するフォーマット:
1086
- * {"layout":"description", "colors":["#hex1","#hex2"], "whitespace":"level", "hierarchy":"description", "elements":["item1","item2"]}
1087
- */
1088
- parseSectionResponse(response, sectionTypeHint) {
1089
- try {
1090
- // JSONブロックを抽出(マークダウンコードブロック対応)
1091
- const jsonString = this.extractJson(response);
1092
- if (!jsonString) {
1093
- return {
1094
- success: false,
1095
- features: [],
1096
- error: "No valid JSON found in section response",
1097
- };
1098
- }
1099
- const parsed = JSON.parse(jsonString);
1100
- const features = [];
1101
- // layout -> layout_structure
1102
- if (typeof parsed.layout === "string") {
1103
- // gridTypeへのマッピング
1104
- const gridTypeMapping = {
1105
- "single-column": "single-column",
1106
- "single column": "single-column",
1107
- "one column": "single-column",
1108
- "two-column": "two-column",
1109
- "two column": "two-column",
1110
- "2 column": "two-column",
1111
- "three-column": "three-column",
1112
- "three column": "three-column",
1113
- "3 column": "three-column",
1114
- grid: "grid",
1115
- masonry: "masonry",
1116
- asymmetric: "asymmetric",
1117
- };
1118
- const layoutLower = parsed.layout.toLowerCase();
1119
- let gridType = "single-column";
1120
- for (const [key, value] of Object.entries(gridTypeMapping)) {
1121
- if (layoutLower.includes(key)) {
1122
- gridType = value;
1123
- break;
1124
- }
1125
- }
1126
- features.push({
1127
- type: "layout_structure",
1128
- confidence: 0.8,
1129
- data: {
1130
- type: "layout_structure",
1131
- gridType,
1132
- mainAreas: Array.isArray(parsed.elements) ? parsed.elements : [],
1133
- description: parsed.layout,
1134
- },
1135
- });
1136
- }
1137
- // colors -> color_palette
1138
- if (Array.isArray(parsed.colors) && parsed.colors.length > 0) {
1139
- features.push({
1140
- type: "color_palette",
1141
- confidence: 0.8,
1142
- data: {
1143
- type: "color_palette",
1144
- dominantColors: parsed.colors.filter((c) => typeof c === "string"),
1145
- mood: typeof parsed.mood === "string" ? parsed.mood : "neutral",
1146
- contrast: "medium",
1147
- },
1148
- });
1149
- }
1150
- // whitespace -> whitespace
1151
- if (typeof parsed.whitespace === "string") {
1152
- const amountMapping = {
1153
- minimal: "minimal",
1154
- moderate: "moderate",
1155
- generous: "generous",
1156
- extreme: "extreme",
1157
- };
1158
- const whitespaceValue = parsed.whitespace.toLowerCase();
1159
- const amount = amountMapping[whitespaceValue] || "moderate";
1160
- features.push({
1161
- type: "whitespace",
1162
- confidence: 0.7,
1163
- data: {
1164
- type: "whitespace",
1165
- amount,
1166
- distribution: "even",
1167
- },
1168
- });
1169
- }
1170
- // hierarchy -> visual_hierarchy
1171
- if (typeof parsed.hierarchy === "string") {
1172
- features.push({
1173
- type: "visual_hierarchy",
1174
- confidence: 0.7,
1175
- data: {
1176
- type: "visual_hierarchy",
1177
- focalPoints: Array.isArray(parsed.elements) ? parsed.elements.slice(0, 3) : [],
1178
- flowDirection: "top-to-bottom",
1179
- emphasisTechniques: [parsed.hierarchy],
1180
- },
1181
- });
1182
- }
1183
- if (features.length > 0) {
1184
- if (process.env.NODE_ENV === "development") {
1185
- logger_1.logger.info("[LlamaVision] parseSectionResponse:", {
1186
- sectionTypeHint: sectionTypeHint || "unknown",
1187
- featureCount: features.length,
1188
- featureTypes: features.map((f) => f.type),
1189
- });
1190
- }
1191
- return {
1192
- success: true,
1193
- features,
1194
- };
1195
- }
1196
- // フォールバック: 既存のparseResponseを使用
1197
- return this.parseResponse(response);
1198
- }
1199
- catch (error) {
1200
- const errorMessage = error instanceof Error ? error.message : "Parse error";
1201
- if (process.env.NODE_ENV === "development") {
1202
- console.error("[LlamaVision] parseSectionResponse error:", errorMessage);
1203
- }
1204
- return {
1205
- success: false,
1206
- features: [],
1207
- error: `Failed to parse section response: ${errorMessage}`,
1208
- };
1209
- }
1210
- }
1211
- // ===========================================================================
1212
- // Reftrix専用パースメソッド
1213
- // ===========================================================================
1214
- /**
1215
- * セクション境界検出レスポンスをパース
1216
- *
1217
- * 期待するフォーマット:
1218
- * {"sections":[{"type":"hero","cues":["dark background","large heading"],"position":"top"}]}
1219
- */
1220
- parseSectionBoundariesResponse(response) {
1221
- try {
1222
- const jsonString = this.extractJson(response);
1223
- if (!jsonString) {
1224
- return {
1225
- success: false,
1226
- features: [],
1227
- error: "No valid JSON found in section boundaries response",
1228
- };
1229
- }
1230
- const parsed = JSON.parse(jsonString);
1231
- const features = [];
1232
- if (Array.isArray(parsed.sections) && parsed.sections.length > 0) {
1233
- // セクション境界データを構築
1234
- const sectionBoundaries = {
1235
- type: "section_boundaries",
1236
- sections: parsed.sections.map((s, index) => ({
1237
- type: typeof s.type === "string" ? s.type : "unknown",
1238
- cues: Array.isArray(s.cues) ? s.cues : [],
1239
- position: typeof s.position === "string" ? s.position : "middle",
1240
- startY: index * 300, // 推定値
1241
- endY: (index + 1) * 300,
1242
- confidence: 0.7,
1243
- })),
1244
- };
1245
- features.push({
1246
- type: "section_boundaries",
1247
- confidence: 0.75,
1248
- data: sectionBoundaries,
1249
- });
1250
- if (process.env.NODE_ENV === "development") {
1251
- logger_1.logger.info("[LlamaVision] parseSectionBoundariesResponse:", {
1252
- sectionCount: parsed.sections.length,
1253
- types: parsed.sections.map((s) => s.type),
1254
- });
1255
- }
1256
- }
1257
- return {
1258
- success: features.length > 0,
1259
- features,
1260
- ...(features.length === 0 && { error: "No sections found in response" }),
1261
- };
1262
- }
1263
- catch (error) {
1264
- const errorMessage = error instanceof Error ? error.message : "Parse error";
1265
- return {
1266
- success: false,
1267
- features: [],
1268
- error: `Failed to parse section boundaries response: ${errorMessage}`,
1269
- };
1270
- }
1271
- }
1272
- /**
1273
- * モーション候補検出レスポンスをパース
1274
- *
1275
- * 期待するフォーマット:
1276
- * {"likely_animations":[{"element":"hero heading","type":"fade-in","confidence":0.8}],
1277
- * "interactive_elements":["button","menu"],"scroll_triggers":["section"]}
1278
- */
1279
- parseMotionCandidatesResponse(response) {
1280
- try {
1281
- const jsonString = this.extractJson(response);
1282
- if (!jsonString) {
1283
- return {
1284
- success: false,
1285
- features: [],
1286
- error: "No valid JSON found in motion candidates response",
1287
- };
1288
- }
1289
- const parsed = JSON.parse(jsonString);
1290
- const features = [];
1291
- // motion_candidates feature を構築
1292
- // アニメーションタイプのマッピング
1293
- const validAnimationTypes = ["fade-in", "slide", "scale", "rotate", "hover-scale", "hover-lift", "parallax", "other"];
1294
- const mapAnimationType = (t) => {
1295
- const normalized = t.toLowerCase().replace(/[_\s]/g, "-");
1296
- return validAnimationTypes.includes(normalized)
1297
- ? normalized
1298
- : "other";
1299
- };
1300
- const motionData = {
1301
- type: "motion_candidates",
1302
- likelyAnimations: Array.isArray(parsed.likely_animations)
1303
- ? parsed.likely_animations.map((a) => ({
1304
- element: typeof a.element === "string" ? a.element : "unknown",
1305
- animationType: typeof a.type === "string" ? mapAnimationType(a.type) : "other",
1306
- confidence: typeof a.confidence === "number" ? a.confidence : 0.5,
1307
- }))
1308
- : [],
1309
- interactiveElements: Array.isArray(parsed.interactive_elements)
1310
- ? parsed.interactive_elements.filter((e) => typeof e === "string")
1311
- : [],
1312
- scrollTriggers: Array.isArray(parsed.scroll_triggers)
1313
- ? parsed.scroll_triggers.filter((t) => typeof t === "string")
1314
- : [],
1315
- };
1316
- features.push({
1317
- type: "motion_candidates",
1318
- confidence: 0.7,
1319
- data: motionData,
1320
- });
1321
- if (process.env.NODE_ENV === "development") {
1322
- logger_1.logger.info("[LlamaVision] parseMotionCandidatesResponse:", {
1323
- animationCount: motionData.likelyAnimations.length,
1324
- interactiveCount: motionData.interactiveElements.length,
1325
- scrollTriggerCount: motionData.scrollTriggers.length,
1326
- });
1327
- }
1328
- return {
1329
- success: true,
1330
- features,
1331
- };
1332
- }
1333
- catch (error) {
1334
- const errorMessage = error instanceof Error ? error.message : "Parse error";
1335
- return {
1336
- success: false,
1337
- features: [],
1338
- error: `Failed to parse motion candidates response: ${errorMessage}`,
1339
- };
1340
- }
1341
- }
1342
- /**
1343
- * AIクリシェ検出レスポンスをパース
1344
- *
1345
- * 期待するフォーマット:
1346
- * {"cliches_detected":[{"type":"gradient_orbs","location":"hero","severity":"high"}],
1347
- * "originality_score":65,"assessment":"moderate-ai-influence","suggestions":["..."]}
1348
- */
1349
- parseAiClichesResponse(response) {
1350
- try {
1351
- const jsonString = this.extractJson(response);
1352
- if (!jsonString) {
1353
- return {
1354
- success: false,
1355
- features: [],
1356
- error: "No valid JSON found in AI cliches response",
1357
- };
1358
- }
1359
- const parsed = JSON.parse(jsonString);
1360
- const features = [];
1361
- // ai_cliches feature を構築
1362
- // 有効なclicheTypeへのマッピング
1363
- const validClicheTypes = [
1364
- "gradient_orbs",
1365
- "generic_isometric",
1366
- "meaningless_patterns",
1367
- "oversaturated_gradients",
1368
- "ai_generated_people",
1369
- "floating_ui",
1370
- "generic_hero",
1371
- "symmetrical_layout",
1372
- "other",
1373
- ];
1374
- const mapClicheType = (t) => {
1375
- const normalized = t.toLowerCase().replace(/[_\s]/g, "_");
1376
- return validClicheTypes.includes(normalized)
1377
- ? normalized
1378
- : "other";
1379
- };
1380
- const clichesData = {
1381
- type: "ai_cliches",
1382
- clichesDetected: Array.isArray(parsed.cliches_detected)
1383
- ? parsed.cliches_detected.map((c) => ({
1384
- clicheType: typeof c.type === "string" ? mapClicheType(c.type) : "other",
1385
- location: typeof c.location === "string" ? c.location : "unknown",
1386
- severity: typeof c.severity === "string" && ["low", "medium", "high"].includes(c.severity)
1387
- ? c.severity
1388
- : "medium",
1389
- }))
1390
- : [],
1391
- originalityScore: typeof parsed.originality_score === "number" ? parsed.originality_score : 50,
1392
- assessment: typeof parsed.assessment === "string" &&
1393
- [
1394
- "highly-original",
1395
- "mostly-original",
1396
- "moderate-ai-influence",
1397
- "heavy-ai-influence",
1398
- ].includes(parsed.assessment)
1399
- ? parsed.assessment
1400
- : "moderate-ai-influence",
1401
- suggestions: Array.isArray(parsed.suggestions)
1402
- ? parsed.suggestions.filter((s) => typeof s === "string")
1403
- : [],
1404
- };
1405
- features.push({
1406
- type: "ai_cliches",
1407
- confidence: 0.75,
1408
- data: clichesData,
1409
- });
1410
- if (process.env.NODE_ENV === "development") {
1411
- logger_1.logger.info("[LlamaVision] parseAiClichesResponse:", {
1412
- clicheCount: clichesData.clichesDetected.length,
1413
- originalityScore: clichesData.originalityScore,
1414
- assessment: clichesData.assessment,
1415
- });
1416
- }
1417
- return {
1418
- success: true,
1419
- features,
1420
- };
1421
- }
1422
- catch (error) {
1423
- const errorMessage = error instanceof Error ? error.message : "Parse error";
1424
- return {
1425
- success: false,
1426
- features: [],
1427
- error: `Failed to parse AI cliches response: ${errorMessage}`,
1428
- };
1429
- }
1430
- }
1431
- /**
1432
- * ブランドトーン分析レスポンスをパース
1433
- *
1434
- * 期待するフォーマット:
1435
- * {"professionalism":"moderate","warmth":"warm","modernity":"contemporary",
1436
- * "energy":"balanced","target_audience":"startup","indicators":["..."]}
1437
- */
1438
- parseBrandToneResponse(response) {
1439
- try {
1440
- const jsonString = this.extractJson(response);
1441
- if (!jsonString) {
1442
- return {
1443
- success: false,
1444
- features: [],
1445
- error: "No valid JSON found in brand tone response",
1446
- };
1447
- }
1448
- const parsed = JSON.parse(jsonString);
1449
- const features = [];
1450
- // brand_tone feature を構築
1451
- const brandToneData = {
1452
- type: "brand_tone",
1453
- professionalism: typeof parsed.professionalism === "string" &&
1454
- ["minimal", "moderate", "bold"].includes(parsed.professionalism)
1455
- ? parsed.professionalism
1456
- : "moderate",
1457
- warmth: typeof parsed.warmth === "string" && ["cold", "neutral", "warm"].includes(parsed.warmth)
1458
- ? parsed.warmth
1459
- : "neutral",
1460
- modernity: typeof parsed.modernity === "string" &&
1461
- ["classic", "contemporary", "futuristic"].includes(parsed.modernity)
1462
- ? parsed.modernity
1463
- : "contemporary",
1464
- energy: typeof parsed.energy === "string" &&
1465
- ["calm", "balanced", "dynamic"].includes(parsed.energy)
1466
- ? parsed.energy
1467
- : "balanced",
1468
- targetAudience: typeof parsed.target_audience === "string" &&
1469
- ["enterprise", "startup", "creative", "consumer"].includes(parsed.target_audience)
1470
- ? parsed.target_audience
1471
- : "consumer",
1472
- indicators: Array.isArray(parsed.indicators)
1473
- ? parsed.indicators.filter((i) => typeof i === "string")
1474
- : [],
1475
- };
1476
- features.push({
1477
- type: "brand_tone",
1478
- confidence: 0.7,
1479
- data: brandToneData,
1480
- });
1481
- if (process.env.NODE_ENV === "development") {
1482
- logger_1.logger.info("[LlamaVision] parseBrandToneResponse:", {
1483
- professionalism: brandToneData.professionalism,
1484
- warmth: brandToneData.warmth,
1485
- modernity: brandToneData.modernity,
1486
- targetAudience: brandToneData.targetAudience,
1487
- });
1488
- }
1489
- return {
1490
- success: true,
1491
- features,
1492
- };
1493
- }
1494
- catch (error) {
1495
- const errorMessage = error instanceof Error ? error.message : "Parse error";
1496
- return {
1497
- success: false,
1498
- features: [],
1499
- error: `Failed to parse brand tone response: ${errorMessage}`,
1500
- };
1501
- }
1502
- }
1503
- /**
1504
- * レスポンスからJSONを抽出
1505
- */
1506
- extractJson(response) {
1507
- // マークダウンコードブロックからJSONを抽出
1508
- const codeBlockMatch = response.match(/```(?:json)?\s*([\s\S]*?)```/);
1509
- if (codeBlockMatch && codeBlockMatch[1]) {
1510
- return this.sanitizeJsonString(codeBlockMatch[1].trim());
1511
- }
1512
- // 直接JSONとしてパースを試みる
1513
- const trimmed = response.trim();
1514
- if (trimmed.startsWith("{") && trimmed.endsWith("}")) {
1515
- return this.sanitizeJsonString(trimmed);
1516
- }
1517
- // JSONオブジェクトを探す
1518
- const jsonMatch = response.match(/\{[\s\S]*\}/);
1519
- if (jsonMatch) {
1520
- return this.sanitizeJsonString(jsonMatch[0]);
1521
- }
1522
- return null;
1523
- }
1524
- /**
1525
- * LLM生成JSONの一般的な問題を修正
1526
- *
1527
- * - プロパティ名の先頭/末尾のスペースを除去
1528
- * - 末尾のカンマを除去
1529
- * - 一般的なtypoを修正(section_boudaries -> section_boundaries)
1530
- */
1531
- sanitizeJsonString(json) {
1532
- let sanitized = json;
1533
- // プロパティ名の先頭スペースを除去(" distribution" -> "distribution")
1534
- sanitized = sanitized.replace(/"(\s+)(\w+)"(\s*:)/g, '"$2"$3');
1535
- // 末尾のカンマを除去(JSONではエラー)
1536
- sanitized = sanitized.replace(/,(\s*[}\]])/g, "$1");
1537
- // 一般的なtypoを修正
1538
- const typoFixes = [
1539
- [/"section_boudaries"/g, '"section_boundaries"'],
1540
- [/"visual_hierachy"/g, '"visual_hierarchy"'],
1541
- [/"typograhy"/g, '"typography"'],
1542
- [/"color_pallete"/g, '"color_palette"'],
1543
- ];
1544
- for (const [pattern, replacement] of typoFixes) {
1545
- sanitized = sanitized.replace(pattern, replacement);
1546
- }
1547
- return sanitized;
1548
- }
1549
- /**
1550
- * 特徴データを検証
1551
- *
1552
- * Ollamaからのレスポンスは2つの形式をサポート:
1553
- * 1. ネスト形式: { type, confidence, data: {...} }
1554
- * 2. フラット形式: { type, ...data } (confidenceはオプション)
1555
- */
1556
- validateFeature(feature) {
1557
- if (!feature || typeof feature !== "object") {
1558
- return null;
1559
- }
1560
- const f = feature;
1561
- // typeは必須
1562
- if (typeof f.type !== "string") {
1563
- return null;
1564
- }
1565
- // typeの検証
1566
- const validTypes = [
1567
- "layout_structure",
1568
- "color_palette",
1569
- "typography",
1570
- "visual_hierarchy",
1571
- "whitespace",
1572
- "density",
1573
- "rhythm",
1574
- "section_boundaries",
1575
- // Reftrix専用タイプ
1576
- "motion_candidates",
1577
- "brand_tone",
1578
- "ai_cliches",
1579
- ];
1580
- if (!validTypes.includes(f.type)) {
1581
- // typo対応: visual_hierachy -> visual_hierarchy
1582
- if (f.type === "visual_hierachy") {
1583
- f.type = "visual_hierarchy";
1584
- }
1585
- else {
1586
- return null;
1587
- }
1588
- }
1589
- // confidence取得(オプション、デフォルト0.8)
1590
- let confidence = 0.8;
1591
- if (typeof f.confidence === "number" && f.confidence >= 0 && f.confidence <= 1) {
1592
- confidence = f.confidence;
1593
- }
1594
- // データ構造を決定(ネスト形式 vs フラット形式)
1595
- let data;
1596
- if (f.data && typeof f.data === "object") {
1597
- // ネスト形式: { type, confidence, data: {...} }
1598
- data = f.data;
1599
- }
1600
- else {
1601
- // フラット形式: { type, ...data }
1602
- // type と confidence 以外のすべてのプロパティをdataとして扱う
1603
- const { type: _type, confidence: _conf, ...rest } = f;
1604
- data = rest;
1605
- }
1606
- // データにtypeを追加
1607
- data.type = f.type;
1608
- // 特徴タイプ別の検証
1609
- if (!this.validateFeatureData(f.type, data)) {
1610
- if (process.env.NODE_ENV === "development") {
1611
- logger_1.logger.debug("[LlamaVisionAdapter] Feature validation failed:", {
1612
- type: f.type,
1613
- dataKeys: Object.keys(data),
1614
- });
1615
- }
1616
- return null;
1617
- }
1618
- return {
1619
- type: f.type,
1620
- confidence,
1621
- data: data,
1622
- };
1623
- }
1624
- /**
1625
- * 特徴データの詳細検証
1626
- */
1627
- validateFeatureData(type, data) {
1628
- switch (type) {
1629
- case "layout_structure":
1630
- return (typeof data.gridType === "string" &&
1631
- Array.isArray(data.mainAreas) &&
1632
- typeof data.description === "string");
1633
- case "color_palette":
1634
- return (Array.isArray(data.dominantColors) &&
1635
- typeof data.mood === "string" &&
1636
- typeof data.contrast === "string");
1637
- case "typography":
1638
- return (typeof data.headingStyle === "string" &&
1639
- typeof data.bodyStyle === "string" &&
1640
- Array.isArray(data.hierarchy));
1641
- case "visual_hierarchy":
1642
- return (Array.isArray(data.focalPoints) &&
1643
- typeof data.flowDirection === "string" &&
1644
- Array.isArray(data.emphasisTechniques));
1645
- case "whitespace":
1646
- return typeof data.amount === "string" && typeof data.distribution === "string";
1647
- case "density":
1648
- return typeof data.level === "string" && typeof data.description === "string";
1649
- case "rhythm":
1650
- return typeof data.pattern === "string" && typeof data.description === "string";
1651
- case "section_boundaries":
1652
- return Array.isArray(data.sections);
1653
- // Reftrix専用タイプ
1654
- case "motion_candidates":
1655
- return (Array.isArray(data.likelyAnimations) &&
1656
- Array.isArray(data.interactiveElements) &&
1657
- Array.isArray(data.scrollTriggers));
1658
- case "brand_tone":
1659
- return (typeof data.professionalism === "string" &&
1660
- typeof data.warmth === "string" &&
1661
- typeof data.modernity === "string" &&
1662
- typeof data.energy === "string" &&
1663
- typeof data.targetAudience === "string");
1664
- case "ai_cliches":
1665
- return (Array.isArray(data.clichesDetected) &&
1666
- typeof data.originalityScore === "number" &&
1667
- typeof data.assessment === "string");
1668
- default:
1669
- return false;
1670
- }
1671
- }
1672
- // ===========================================================================
1673
- // 内部メソッド - ヘルパー
1674
- // ===========================================================================
1675
- /**
1676
- * 入力を検証
1677
- */
1678
- validateInput(options) {
1679
- if (!options.imageBuffer || options.imageBuffer.length === 0) {
1680
- return "Image buffer is empty";
1681
- }
1682
- if (options.imageBuffer.length > this.config.maxImageSize) {
1683
- return `Image size exceeds maximum allowed (${this.config.maxImageSize} bytes)`;
1684
- }
1685
- return null;
1686
- }
1687
- /**
1688
- * エラー結果を生成
1689
- */
1690
- createErrorResult(error, startTime) {
1691
- return {
1692
- success: false,
1693
- features: [],
1694
- error,
1695
- processingTimeMs: Date.now() - startTime,
1696
- modelName: this.modelName,
1697
- };
1698
- }
1699
- /**
1700
- * 特徴をテキストに変換
1701
- */
1702
- featureToText(feature) {
1703
- const { data } = feature;
1704
- if ((0, interface_1.isLayoutStructureData)(data)) {
1705
- return `Layout: ${data.gridType} layout with areas: ${data.mainAreas.join(", ")}. ${data.description}`;
1706
- }
1707
- if ((0, interface_1.isColorPaletteData)(data)) {
1708
- return `Colors: ${data.dominantColors.join(", ")}. Mood: ${data.mood}. Contrast: ${data.contrast}.`;
1709
- }
1710
- if ((0, interface_1.isTypographyData)(data)) {
1711
- return `Typography: Headings use ${data.headingStyle}, body uses ${data.bodyStyle}. Hierarchy: ${data.hierarchy.join(" > ")}.`;
1712
- }
1713
- if ((0, interface_1.isVisualHierarchyData)(data)) {
1714
- return `Visual hierarchy: ${data.flowDirection} flow with focal points: ${data.focalPoints.join(", ")}. Techniques: ${data.emphasisTechniques.join(", ")}.`;
1715
- }
1716
- if ((0, interface_1.isWhitespaceData)(data)) {
1717
- return `Whitespace: ${data.amount} amount with ${data.distribution} distribution.`;
1718
- }
1719
- if ((0, interface_1.isDensityData)(data)) {
1720
- return `Density: ${data.level}. ${data.description}`;
1721
- }
1722
- if ((0, interface_1.isRhythmData)(data)) {
1723
- return `Rhythm: ${data.pattern} pattern. ${data.description}`;
1724
- }
1725
- if ((0, interface_1.isSectionBoundariesData)(data)) {
1726
- const sectionList = data.sections
1727
- .map((s) => `${s.type} (${s.startY}-${s.endY}px)`)
1728
- .join(", ");
1729
- return `Sections: ${sectionList || "none detected"}.`;
1730
- }
1731
- // Reftrix専用タイプ
1732
- if ((0, interface_1.isMotionCandidatesData)(data)) {
1733
- const animations = data.likelyAnimations
1734
- .map((a) => `${a.element}: ${a.animationType}`)
1735
- .join(", ");
1736
- return `Motion candidates: ${animations || "none"}. Interactive: ${data.interactiveElements.join(", ") || "none"}. Scroll triggers: ${data.scrollTriggers.join(", ") || "none"}.`;
1737
- }
1738
- if ((0, interface_1.isBrandToneData)(data)) {
1739
- return `Brand tone: ${data.professionalism} professionalism, ${data.warmth} warmth, ${data.modernity} modernity, ${data.energy} energy. Target: ${data.targetAudience}. Indicators: ${data.indicators.join(", ")}.`;
1740
- }
1741
- if ((0, interface_1.isAiClichesData)(data)) {
1742
- const clicheList = data.clichesDetected
1743
- .map((c) => `${c.clicheType} (${c.severity})`)
1744
- .join(", ");
1745
- return `AI cliches: ${clicheList || "none"}. Originality: ${data.originalityScore}/100. Assessment: ${data.assessment}. Suggestions: ${data.suggestions.join("; ")}.`;
1746
- }
1747
- return "";
1748
- }
1749
- }
1750
- exports.LlamaVisionAdapter = LlamaVisionAdapter;
1751
- //# sourceMappingURL=llama-vision.adapter.js.map