@reftrixmcp/mcp-server 0.1.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1424) hide show
  1. package/README.md +36 -6
  2. package/package.json +46 -41
  3. package/src/admin/bull-board.ts +177 -0
  4. package/src/index.ts +32 -1
  5. package/src/middleware/auth.ts +6 -0
  6. package/src/middleware/index.ts +13 -0
  7. package/src/middleware/rate-limiter.ts +525 -0
  8. package/src/router.ts +36 -3
  9. package/src/schemas/common-search-filters.ts +42 -0
  10. package/src/services/background/background-design-db.service.ts +4 -6
  11. package/src/services/background/background-design-embedding.service.ts +6 -8
  12. package/src/services/background-search.service.ts +44 -16
  13. package/src/services/browser-process-manager.ts +29 -24
  14. package/src/services/layout-embedding.service.ts +18 -28
  15. package/src/services/layout-search.service.ts +52 -31
  16. package/src/services/layout-to-code.service.ts +13 -21
  17. package/src/services/ml/mood-brandtone-embedding.service.ts +4 -10
  18. package/src/services/motion/analyzers/webgl-motion-analyzer.ts +1 -3
  19. package/src/services/motion/existing-animation-detector.service.ts +11 -17
  20. package/src/services/motion/frame-analysis-save.helper.ts +3 -8
  21. package/src/services/motion/frame-capture.service.ts +5 -5
  22. package/src/services/motion/frame-embedding.service.ts +30 -46
  23. package/src/services/motion/js-animation-detector.ts +5 -15
  24. package/src/services/motion/js-animation-search.service.ts +12 -20
  25. package/src/services/motion/motion-db.service.ts +21 -31
  26. package/src/services/motion/three-js-scene-extractor.ts +1 -3
  27. package/src/services/motion/webgl-animation-detector.service.ts +5 -9
  28. package/src/services/motion/webgl-animation-embedding.service.ts +3 -5
  29. package/src/services/motion-persistence.service.ts +13 -19
  30. package/src/services/motion-search.service.ts +72 -57
  31. package/src/services/narrative/analyzers/worldview.analyzer.ts +6 -10
  32. package/src/services/narrative/narrative-analysis.service.ts +10 -16
  33. package/src/services/narrative/narrative-search.service.ts +89 -40
  34. package/src/services/narrative/types/narrative.types.ts +24 -6
  35. package/src/services/page/frame-analyzer.service.ts +1 -3
  36. package/src/services/page/layout-analyzer.service.ts +224 -303
  37. package/src/services/page/playwright-crawler.service.ts +14 -20
  38. package/src/services/page/quality-evaluator.service.ts +1 -3
  39. package/src/services/page/runtime-animation-detector.service.ts +7 -17
  40. package/src/services/page/video-recorder.service.ts +2 -6
  41. package/src/services/page/webgl-detector.service.ts +3 -5
  42. package/src/services/page-ingest-adapter.ts +269 -251
  43. package/src/services/part/part-search.service.ts +43 -22
  44. package/src/services/part/schemas.ts +6 -0
  45. package/src/services/project-context-analyzer.ts +3 -5
  46. package/src/services/quality/axe-accessibility.service.ts +3 -5
  47. package/src/services/quality/benchmark.service.ts +4 -16
  48. package/src/services/quality/pattern-matcher.service.ts +11 -21
  49. package/src/services/quality/playwright-axe.service.ts +10 -18
  50. package/src/services/quality-search.service.ts +16 -17
  51. package/src/services/responsive/multi-viewport-capture.service.ts +11 -17
  52. package/src/services/responsive/responsive-analysis-embedding.service.ts +7 -11
  53. package/src/services/responsive/responsive-analysis.service.ts +7 -11
  54. package/src/services/responsive/responsive-quality-evaluator.service.ts +4 -6
  55. package/src/services/responsive-search.service.ts +40 -5
  56. package/src/services/search-cache.service.ts +166 -0
  57. package/src/services/service-client.ts +16 -24
  58. package/src/services/service-initializer.ts +49 -945
  59. package/src/services/service-registrar-analysis.ts +679 -0
  60. package/src/services/service-registrar-search.ts +464 -0
  61. package/src/services/vision/scroll-vision-persistence.service.ts +4 -6
  62. package/src/services/vision-embedding-search.service.ts +57 -45
  63. package/src/services/vision-embedding.service.ts +8 -12
  64. package/src/services/worker-supervisor.service.ts +2 -6
  65. package/src/tools/background/schemas.ts +2 -1
  66. package/src/tools/background/search.tool.ts +93 -53
  67. package/src/tools/brief/validate.handler.ts +11 -26
  68. package/src/tools/design/search-by-image.tool.ts +891 -0
  69. package/src/tools/index.ts +42 -1
  70. package/src/tools/layout/batch-ingest.tool.ts +14 -21
  71. package/src/tools/layout/ingest.tool.ts +38 -88
  72. package/src/tools/layout/inspect/inspect.tool.ts +32 -59
  73. package/src/tools/layout/inspect/visual-extractors.utils.ts +3 -9
  74. package/src/tools/layout/schemas.ts +11 -8
  75. package/src/tools/layout/search-executor.ts +699 -0
  76. package/src/tools/layout/search-helpers.ts +620 -0
  77. package/src/tools/layout/search.tool.ts +148 -1371
  78. package/src/tools/layout/to-code.tool.ts +21 -42
  79. package/src/tools/motion/analyze-frames.handler.ts +19 -37
  80. package/src/tools/motion/code-generators.ts +1363 -0
  81. package/src/tools/motion/css-mode-handler.ts +14 -23
  82. package/src/tools/motion/detect.tool.ts +38 -60
  83. package/src/tools/motion/detection-modes.ts +4 -8
  84. package/src/tools/motion/di-factories.ts +87 -110
  85. package/src/tools/motion/search-helpers.ts +376 -0
  86. package/src/tools/motion/search.schemas.ts +9 -6
  87. package/src/tools/motion/search.tool.ts +81 -1717
  88. package/src/tools/narrative/analyze.tool.ts +14 -30
  89. package/src/tools/narrative/schemas.ts +14 -11
  90. package/src/tools/narrative/search.tool.ts +91 -77
  91. package/src/tools/page/analyze.tool.ts +21 -33
  92. package/src/tools/page/get-job-status.tool.ts +8 -12
  93. package/src/tools/page/handlers/db-handler.ts +3 -6
  94. package/src/tools/page/handlers/embedding-handler.ts +48 -81
  95. package/src/tools/page/handlers/execution-status-tracker.ts +3 -5
  96. package/src/tools/page/handlers/js-animation-handler.ts +29 -53
  97. package/src/tools/page/handlers/layout-handler.ts +45 -73
  98. package/src/tools/page/handlers/motion-handler.ts +24 -35
  99. package/src/tools/page/handlers/narrative-handler.ts +12 -24
  100. package/src/tools/page/handlers/phased-executor.ts +13 -16
  101. package/src/tools/page/handlers/quality-handler.ts +3 -4
  102. package/src/tools/page/handlers/result-builder.ts +21 -18
  103. package/src/tools/page/handlers/sync-helpers.ts +597 -0
  104. package/src/tools/page/handlers/sync-phase-handlers.ts +1170 -0
  105. package/src/tools/page/handlers/sync-processing.ts +192 -1542
  106. package/src/tools/page/handlers/timeout-utils.ts +23 -30
  107. package/src/tools/page/handlers/video-handler.ts +9 -9
  108. package/src/tools/page/handlers/webgl-animation-handler.ts +10 -13
  109. package/src/tools/part/compare.tool.ts +2 -20
  110. package/src/tools/part/inspect.tool.ts +11 -41
  111. package/src/tools/part/search.tool.ts +50 -28
  112. package/src/tools/preference/get.tool.ts +6 -19
  113. package/src/tools/preference/hear.tool.ts +6 -19
  114. package/src/tools/preference/reset.tool.ts +6 -19
  115. package/src/tools/project-get.ts +12 -14
  116. package/src/tools/project-list.ts +10 -22
  117. package/src/tools/quality/batch-evaluate.tool.ts +17 -23
  118. package/src/tools/quality/evaluate.tool.ts +42 -131
  119. package/src/tools/quality/get-job-status.tool.ts +2 -1
  120. package/src/tools/responsive/schemas.ts +2 -2
  121. package/src/tools/responsive/search.tool.ts +73 -46
  122. package/src/tools/search-unified.tool.ts +582 -0
  123. package/src/tools/style-get-palette.ts +18 -33
  124. package/src/tools/system-health.ts +24 -33
  125. package/src/utils/di-factory.ts +64 -0
  126. package/src/utils/prisma-wrapper-factory.ts +18 -17
  127. package/src/utils/sanitize-error.ts +132 -0
  128. package/src/utils/url-validator.ts +1 -3
  129. package/src/workers/batch-quality-worker.ts +5 -7
  130. package/src/workers/page-analyze-worker.ts +38 -24
  131. package/src/workers/phases/phase-0-ingest.ts +1 -1
  132. package/src/workers/phases/phase-1-layout.ts +10 -7
  133. package/src/workers/phases/phase-2-motion.ts +22 -23
  134. package/src/workers/phases/phase-4-narrative.ts +8 -12
  135. package/src/workers/phases/phase-5-embedding.ts +669 -457
  136. package/LICENSE +0 -661
  137. package/dist/api/health.d.ts +0 -122
  138. package/dist/api/health.d.ts.map +0 -1
  139. package/dist/api/health.js +0 -267
  140. package/dist/api/health.js.map +0 -1
  141. package/dist/config/index.d.ts +0 -9
  142. package/dist/config/index.d.ts.map +0 -1
  143. package/dist/config/index.js +0 -27
  144. package/dist/config/index.js.map +0 -1
  145. package/dist/config/redis.d.ts +0 -99
  146. package/dist/config/redis.d.ts.map +0 -1
  147. package/dist/config/redis.js +0 -234
  148. package/dist/config/redis.js.map +0 -1
  149. package/dist/index.d.ts +0 -18
  150. package/dist/index.d.ts.map +0 -1
  151. package/dist/index.js +0 -247
  152. package/dist/index.js.map +0 -1
  153. package/dist/lib/index.d.ts +0 -6
  154. package/dist/lib/index.d.ts.map +0 -1
  155. package/dist/lib/index.js +0 -14
  156. package/dist/lib/index.js.map +0 -1
  157. package/dist/lib/project-context.d.ts +0 -51
  158. package/dist/lib/project-context.d.ts.map +0 -1
  159. package/dist/lib/project-context.js +0 -109
  160. package/dist/lib/project-context.js.map +0 -1
  161. package/dist/middleware/args-type-coercion.d.ts +0 -59
  162. package/dist/middleware/args-type-coercion.d.ts.map +0 -1
  163. package/dist/middleware/args-type-coercion.js +0 -187
  164. package/dist/middleware/args-type-coercion.js.map +0 -1
  165. package/dist/middleware/auth.d.ts +0 -122
  166. package/dist/middleware/auth.d.ts.map +0 -1
  167. package/dist/middleware/auth.js +0 -430
  168. package/dist/middleware/auth.js.map +0 -1
  169. package/dist/middleware/index.d.ts +0 -10
  170. package/dist/middleware/index.d.ts.map +0 -1
  171. package/dist/middleware/index.js +0 -38
  172. package/dist/middleware/index.js.map +0 -1
  173. package/dist/middleware/light-response-controller.d.ts +0 -206
  174. package/dist/middleware/light-response-controller.d.ts.map +0 -1
  175. package/dist/middleware/light-response-controller.js +0 -555
  176. package/dist/middleware/light-response-controller.js.map +0 -1
  177. package/dist/middleware/response-size-warning.d.ts +0 -97
  178. package/dist/middleware/response-size-warning.d.ts.map +0 -1
  179. package/dist/middleware/response-size-warning.js +0 -137
  180. package/dist/middleware/response-size-warning.js.map +0 -1
  181. package/dist/queues/batch-quality-queue.d.ts +0 -225
  182. package/dist/queues/batch-quality-queue.d.ts.map +0 -1
  183. package/dist/queues/batch-quality-queue.js +0 -375
  184. package/dist/queues/batch-quality-queue.js.map +0 -1
  185. package/dist/queues/index.d.ts +0 -10
  186. package/dist/queues/index.d.ts.map +0 -1
  187. package/dist/queues/index.js +0 -28
  188. package/dist/queues/index.js.map +0 -1
  189. package/dist/queues/page-analyze-queue.d.ts +0 -287
  190. package/dist/queues/page-analyze-queue.d.ts.map +0 -1
  191. package/dist/queues/page-analyze-queue.js +0 -219
  192. package/dist/queues/page-analyze-queue.js.map +0 -1
  193. package/dist/router.d.ts +0 -144
  194. package/dist/router.d.ts.map +0 -1
  195. package/dist/router.js +0 -261
  196. package/dist/router.js.map +0 -1
  197. package/dist/schemas/creative/index.d.ts +0 -8
  198. package/dist/schemas/creative/index.d.ts.map +0 -1
  199. package/dist/schemas/creative/index.js +0 -23
  200. package/dist/schemas/creative/index.js.map +0 -1
  201. package/dist/schemas/creative/palette.schema.d.ts +0 -741
  202. package/dist/schemas/creative/palette.schema.d.ts.map +0 -1
  203. package/dist/schemas/creative/palette.schema.js +0 -154
  204. package/dist/schemas/creative/palette.schema.js.map +0 -1
  205. package/dist/schemas/mood-brandtone-filters.d.ts +0 -740
  206. package/dist/schemas/mood-brandtone-filters.d.ts.map +0 -1
  207. package/dist/schemas/mood-brandtone-filters.js +0 -265
  208. package/dist/schemas/mood-brandtone-filters.js.map +0 -1
  209. package/dist/scripts/backfill-embeddings.d.ts +0 -3
  210. package/dist/scripts/backfill-embeddings.d.ts.map +0 -1
  211. package/dist/scripts/backfill-embeddings.js +0 -385
  212. package/dist/scripts/backfill-embeddings.js.map +0 -1
  213. package/dist/scripts/check-embedding-coverage.d.ts +0 -3
  214. package/dist/scripts/check-embedding-coverage.d.ts.map +0 -1
  215. package/dist/scripts/check-embedding-coverage.js +0 -103
  216. package/dist/scripts/check-embedding-coverage.js.map +0 -1
  217. package/dist/scripts/start-workers.d.ts +0 -3
  218. package/dist/scripts/start-workers.d.ts.map +0 -1
  219. package/dist/scripts/start-workers.js +0 -447
  220. package/dist/scripts/start-workers.js.map +0 -1
  221. package/dist/server.d.ts +0 -49
  222. package/dist/server.d.ts.map +0 -1
  223. package/dist/server.js +0 -237
  224. package/dist/server.js.map +0 -1
  225. package/dist/services/background/background-design-db.service.d.ts +0 -65
  226. package/dist/services/background/background-design-db.service.d.ts.map +0 -1
  227. package/dist/services/background/background-design-db.service.js +0 -138
  228. package/dist/services/background/background-design-db.service.js.map +0 -1
  229. package/dist/services/background/background-design-detector.service.d.ts +0 -125
  230. package/dist/services/background/background-design-detector.service.d.ts.map +0 -1
  231. package/dist/services/background/background-design-detector.service.js +0 -1106
  232. package/dist/services/background/background-design-detector.service.js.map +0 -1
  233. package/dist/services/background/background-design-embedding.service.d.ts +0 -188
  234. package/dist/services/background/background-design-embedding.service.d.ts.map +0 -1
  235. package/dist/services/background/background-design-embedding.service.js +0 -386
  236. package/dist/services/background/background-design-embedding.service.js.map +0 -1
  237. package/dist/services/background-search.service.d.ts +0 -43
  238. package/dist/services/background-search.service.d.ts.map +0 -1
  239. package/dist/services/background-search.service.js +0 -235
  240. package/dist/services/background-search.service.js.map +0 -1
  241. package/dist/services/backup-service.d.ts +0 -135
  242. package/dist/services/backup-service.d.ts.map +0 -1
  243. package/dist/services/backup-service.js +0 -357
  244. package/dist/services/backup-service.js.map +0 -1
  245. package/dist/services/brief/brief-parser-service.d.ts +0 -47
  246. package/dist/services/brief/brief-parser-service.d.ts.map +0 -1
  247. package/dist/services/brief/brief-parser-service.js +0 -380
  248. package/dist/services/brief/brief-parser-service.js.map +0 -1
  249. package/dist/services/brief/schemas/brief-parser-schemas.d.ts +0 -278
  250. package/dist/services/brief/schemas/brief-parser-schemas.d.ts.map +0 -1
  251. package/dist/services/brief/schemas/brief-parser-schemas.js +0 -116
  252. package/dist/services/brief/schemas/brief-parser-schemas.js.map +0 -1
  253. package/dist/services/browser-process-manager.d.ts +0 -116
  254. package/dist/services/browser-process-manager.d.ts.map +0 -1
  255. package/dist/services/browser-process-manager.js +0 -259
  256. package/dist/services/browser-process-manager.js.map +0 -1
  257. package/dist/services/cache.d.ts +0 -119
  258. package/dist/services/cache.d.ts.map +0 -1
  259. package/dist/services/cache.js +0 -233
  260. package/dist/services/cache.js.map +0 -1
  261. package/dist/services/checksum-service.d.ts +0 -122
  262. package/dist/services/checksum-service.d.ts.map +0 -1
  263. package/dist/services/checksum-service.js +0 -270
  264. package/dist/services/checksum-service.js.map +0 -1
  265. package/dist/services/css-analysis-cache.service.d.ts +0 -248
  266. package/dist/services/css-analysis-cache.service.d.ts.map +0 -1
  267. package/dist/services/css-analysis-cache.service.js +0 -398
  268. package/dist/services/css-analysis-cache.service.js.map +0 -1
  269. package/dist/services/database-dumper.service.d.ts +0 -181
  270. package/dist/services/database-dumper.service.d.ts.map +0 -1
  271. package/dist/services/database-dumper.service.js +0 -550
  272. package/dist/services/database-dumper.service.js.map +0 -1
  273. package/dist/services/embedding-backfill.service.d.ts +0 -53
  274. package/dist/services/embedding-backfill.service.d.ts.map +0 -1
  275. package/dist/services/embedding-backfill.service.js +0 -672
  276. package/dist/services/embedding-backfill.service.js.map +0 -1
  277. package/dist/services/embedding-validation.service.d.ts +0 -64
  278. package/dist/services/embedding-validation.service.d.ts.map +0 -1
  279. package/dist/services/embedding-validation.service.js +0 -141
  280. package/dist/services/embedding-validation.service.js.map +0 -1
  281. package/dist/services/encryption-service.d.ts +0 -171
  282. package/dist/services/encryption-service.d.ts.map +0 -1
  283. package/dist/services/encryption-service.js +0 -343
  284. package/dist/services/encryption-service.js.map +0 -1
  285. package/dist/services/external-css-fetcher.d.ts +0 -185
  286. package/dist/services/external-css-fetcher.d.ts.map +0 -1
  287. package/dist/services/external-css-fetcher.js +0 -667
  288. package/dist/services/external-css-fetcher.js.map +0 -1
  289. package/dist/services/gpu-resource-manager.d.ts +0 -180
  290. package/dist/services/gpu-resource-manager.d.ts.map +0 -1
  291. package/dist/services/gpu-resource-manager.js +0 -485
  292. package/dist/services/gpu-resource-manager.js.map +0 -1
  293. package/dist/services/index.d.ts +0 -15
  294. package/dist/services/index.d.ts.map +0 -1
  295. package/dist/services/index.js +0 -73
  296. package/dist/services/index.js.map +0 -1
  297. package/dist/services/layout/component-splitter.d.ts +0 -63
  298. package/dist/services/layout/component-splitter.d.ts.map +0 -1
  299. package/dist/services/layout/component-splitter.js +0 -508
  300. package/dist/services/layout/component-splitter.js.map +0 -1
  301. package/dist/services/layout/html-to-jsx-converter.d.ts +0 -40
  302. package/dist/services/layout/html-to-jsx-converter.d.ts.map +0 -1
  303. package/dist/services/layout/html-to-jsx-converter.js +0 -484
  304. package/dist/services/layout/html-to-jsx-converter.js.map +0 -1
  305. package/dist/services/layout/semantic-html-converter.d.ts +0 -67
  306. package/dist/services/layout/semantic-html-converter.d.ts.map +0 -1
  307. package/dist/services/layout/semantic-html-converter.js +0 -247
  308. package/dist/services/layout/semantic-html-converter.js.map +0 -1
  309. package/dist/services/layout/style-to-tailwind-mapper.d.ts +0 -82
  310. package/dist/services/layout/style-to-tailwind-mapper.d.ts.map +0 -1
  311. package/dist/services/layout/style-to-tailwind-mapper.js +0 -1334
  312. package/dist/services/layout/style-to-tailwind-mapper.js.map +0 -1
  313. package/dist/services/layout-embedding.service.d.ts +0 -415
  314. package/dist/services/layout-embedding.service.d.ts.map +0 -1
  315. package/dist/services/layout-embedding.service.js +0 -1147
  316. package/dist/services/layout-embedding.service.js.map +0 -1
  317. package/dist/services/layout-generate-code-service-export.d.ts +0 -38
  318. package/dist/services/layout-generate-code-service-export.d.ts.map +0 -1
  319. package/dist/services/layout-generate-code-service-export.js +0 -77
  320. package/dist/services/layout-generate-code-service-export.js.map +0 -1
  321. package/dist/services/layout-search-service-export.d.ts +0 -31
  322. package/dist/services/layout-search-service-export.d.ts.map +0 -1
  323. package/dist/services/layout-search-service-export.js +0 -43
  324. package/dist/services/layout-search-service-export.js.map +0 -1
  325. package/dist/services/layout-search.service.d.ts +0 -111
  326. package/dist/services/layout-search.service.d.ts.map +0 -1
  327. package/dist/services/layout-search.service.js +0 -716
  328. package/dist/services/layout-search.service.js.map +0 -1
  329. package/dist/services/layout-to-code.service.d.ts +0 -85
  330. package/dist/services/layout-to-code.service.d.ts.map +0 -1
  331. package/dist/services/layout-to-code.service.js +0 -1368
  332. package/dist/services/layout-to-code.service.js.map +0 -1
  333. package/dist/services/metrics-collector.d.ts +0 -189
  334. package/dist/services/metrics-collector.d.ts.map +0 -1
  335. package/dist/services/metrics-collector.js +0 -344
  336. package/dist/services/metrics-collector.js.map +0 -1
  337. package/dist/services/ml/mood-brandtone-embedding.service.d.ts +0 -253
  338. package/dist/services/ml/mood-brandtone-embedding.service.d.ts.map +0 -1
  339. package/dist/services/ml/mood-brandtone-embedding.service.js +0 -678
  340. package/dist/services/ml/mood-brandtone-embedding.service.js.map +0 -1
  341. package/dist/services/motion/analyzers/color-change.analyzer.d.ts +0 -274
  342. package/dist/services/motion/analyzers/color-change.analyzer.d.ts.map +0 -1
  343. package/dist/services/motion/analyzers/color-change.analyzer.js +0 -644
  344. package/dist/services/motion/analyzers/color-change.analyzer.js.map +0 -1
  345. package/dist/services/motion/analyzers/frame-diff.analyzer.d.ts +0 -109
  346. package/dist/services/motion/analyzers/frame-diff.analyzer.d.ts.map +0 -1
  347. package/dist/services/motion/analyzers/frame-diff.analyzer.js +0 -315
  348. package/dist/services/motion/analyzers/frame-diff.analyzer.js.map +0 -1
  349. package/dist/services/motion/analyzers/layout-shift.detector.d.ts +0 -132
  350. package/dist/services/motion/analyzers/layout-shift.detector.d.ts.map +0 -1
  351. package/dist/services/motion/analyzers/layout-shift.detector.js +0 -179
  352. package/dist/services/motion/analyzers/layout-shift.detector.js.map +0 -1
  353. package/dist/services/motion/analyzers/motion-vector.estimator.d.ts +0 -88
  354. package/dist/services/motion/analyzers/motion-vector.estimator.d.ts.map +0 -1
  355. package/dist/services/motion/analyzers/motion-vector.estimator.js +0 -494
  356. package/dist/services/motion/analyzers/motion-vector.estimator.js.map +0 -1
  357. package/dist/services/motion/analyzers/webgl-motion-analyzer.d.ts +0 -167
  358. package/dist/services/motion/analyzers/webgl-motion-analyzer.d.ts.map +0 -1
  359. package/dist/services/motion/analyzers/webgl-motion-analyzer.js +0 -500
  360. package/dist/services/motion/analyzers/webgl-motion-analyzer.js.map +0 -1
  361. package/dist/services/motion/animation-metrics-collector.service.d.ts +0 -215
  362. package/dist/services/motion/animation-metrics-collector.service.d.ts.map +0 -1
  363. package/dist/services/motion/animation-metrics-collector.service.js +0 -502
  364. package/dist/services/motion/animation-metrics-collector.service.js.map +0 -1
  365. package/dist/services/motion/cls-calculator.service.d.ts +0 -186
  366. package/dist/services/motion/cls-calculator.service.d.ts.map +0 -1
  367. package/dist/services/motion/cls-calculator.service.js +0 -329
  368. package/dist/services/motion/cls-calculator.service.js.map +0 -1
  369. package/dist/services/motion/existing-animation-detector.service.d.ts +0 -208
  370. package/dist/services/motion/existing-animation-detector.service.d.ts.map +0 -1
  371. package/dist/services/motion/existing-animation-detector.service.js +0 -591
  372. package/dist/services/motion/existing-animation-detector.service.js.map +0 -1
  373. package/dist/services/motion/fade-detector.service.d.ts +0 -114
  374. package/dist/services/motion/fade-detector.service.d.ts.map +0 -1
  375. package/dist/services/motion/fade-detector.service.js +0 -249
  376. package/dist/services/motion/fade-detector.service.js.map +0 -1
  377. package/dist/services/motion/frame-analysis-save.helper.d.ts +0 -41
  378. package/dist/services/motion/frame-analysis-save.helper.d.ts.map +0 -1
  379. package/dist/services/motion/frame-analysis-save.helper.js +0 -235
  380. package/dist/services/motion/frame-analysis-save.helper.js.map +0 -1
  381. package/dist/services/motion/frame-capture.service.d.ts +0 -170
  382. package/dist/services/motion/frame-capture.service.d.ts.map +0 -1
  383. package/dist/services/motion/frame-capture.service.js +0 -476
  384. package/dist/services/motion/frame-capture.service.js.map +0 -1
  385. package/dist/services/motion/frame-embedding.service.d.ts +0 -315
  386. package/dist/services/motion/frame-embedding.service.d.ts.map +0 -1
  387. package/dist/services/motion/frame-embedding.service.js +0 -1023
  388. package/dist/services/motion/frame-embedding.service.js.map +0 -1
  389. package/dist/services/motion/frame-image-analysis.service.d.ts +0 -126
  390. package/dist/services/motion/frame-image-analysis.service.d.ts.map +0 -1
  391. package/dist/services/motion/frame-image-analysis.service.js +0 -982
  392. package/dist/services/motion/frame-image-analysis.service.js.map +0 -1
  393. package/dist/services/motion/frame-image-analyzer.adapter.d.ts +0 -168
  394. package/dist/services/motion/frame-image-analyzer.adapter.d.ts.map +0 -1
  395. package/dist/services/motion/frame-image-analyzer.adapter.js +0 -520
  396. package/dist/services/motion/frame-image-analyzer.adapter.js.map +0 -1
  397. package/dist/services/motion/frame-worker-pool.service.d.ts +0 -133
  398. package/dist/services/motion/frame-worker-pool.service.d.ts.map +0 -1
  399. package/dist/services/motion/frame-worker-pool.service.js +0 -410
  400. package/dist/services/motion/frame-worker-pool.service.js.map +0 -1
  401. package/dist/services/motion/infrastructure/frame-loader.d.ts +0 -77
  402. package/dist/services/motion/infrastructure/frame-loader.d.ts.map +0 -1
  403. package/dist/services/motion/infrastructure/frame-loader.js +0 -430
  404. package/dist/services/motion/infrastructure/frame-loader.js.map +0 -1
  405. package/dist/services/motion/js-animation-detector.d.ts +0 -382
  406. package/dist/services/motion/js-animation-detector.d.ts.map +0 -1
  407. package/dist/services/motion/js-animation-detector.js +0 -911
  408. package/dist/services/motion/js-animation-detector.js.map +0 -1
  409. package/dist/services/motion/js-animation-embedding.service.d.ts +0 -114
  410. package/dist/services/motion/js-animation-embedding.service.d.ts.map +0 -1
  411. package/dist/services/motion/js-animation-embedding.service.js +0 -289
  412. package/dist/services/motion/js-animation-embedding.service.js.map +0 -1
  413. package/dist/services/motion/js-animation-search.service.d.ts +0 -138
  414. package/dist/services/motion/js-animation-search.service.d.ts.map +0 -1
  415. package/dist/services/motion/js-animation-search.service.js +0 -503
  416. package/dist/services/motion/js-animation-search.service.js.map +0 -1
  417. package/dist/services/motion/motion-db.service.d.ts +0 -231
  418. package/dist/services/motion/motion-db.service.d.ts.map +0 -1
  419. package/dist/services/motion/motion-db.service.js +0 -676
  420. package/dist/services/motion/motion-db.service.js.map +0 -1
  421. package/dist/services/motion/three-js-scene-extractor.d.ts +0 -274
  422. package/dist/services/motion/three-js-scene-extractor.d.ts.map +0 -1
  423. package/dist/services/motion/three-js-scene-extractor.js +0 -1126
  424. package/dist/services/motion/three-js-scene-extractor.js.map +0 -1
  425. package/dist/services/motion/types.d.ts +0 -592
  426. package/dist/services/motion/types.d.ts.map +0 -1
  427. package/dist/services/motion/types.js +0 -121
  428. package/dist/services/motion/types.js.map +0 -1
  429. package/dist/services/motion/visual-category-classifier.d.ts +0 -273
  430. package/dist/services/motion/visual-category-classifier.d.ts.map +0 -1
  431. package/dist/services/motion/visual-category-classifier.js +0 -1060
  432. package/dist/services/motion/visual-category-classifier.js.map +0 -1
  433. package/dist/services/motion/webgl-animation-categorizer.d.ts +0 -151
  434. package/dist/services/motion/webgl-animation-categorizer.d.ts.map +0 -1
  435. package/dist/services/motion/webgl-animation-categorizer.js +0 -568
  436. package/dist/services/motion/webgl-animation-categorizer.js.map +0 -1
  437. package/dist/services/motion/webgl-animation-detector.service.d.ts +0 -204
  438. package/dist/services/motion/webgl-animation-detector.service.d.ts.map +0 -1
  439. package/dist/services/motion/webgl-animation-detector.service.js +0 -518
  440. package/dist/services/motion/webgl-animation-detector.service.js.map +0 -1
  441. package/dist/services/motion/webgl-animation-embedding.service.d.ts +0 -238
  442. package/dist/services/motion/webgl-animation-embedding.service.d.ts.map +0 -1
  443. package/dist/services/motion/webgl-animation-embedding.service.js +0 -368
  444. package/dist/services/motion/webgl-animation-embedding.service.js.map +0 -1
  445. package/dist/services/motion-detect-service-export.d.ts +0 -130
  446. package/dist/services/motion-detect-service-export.d.ts.map +0 -1
  447. package/dist/services/motion-detect-service-export.js +0 -160
  448. package/dist/services/motion-detect-service-export.js.map +0 -1
  449. package/dist/services/motion-persistence.service.d.ts +0 -144
  450. package/dist/services/motion-persistence.service.d.ts.map +0 -1
  451. package/dist/services/motion-persistence.service.js +0 -398
  452. package/dist/services/motion-persistence.service.js.map +0 -1
  453. package/dist/services/motion-search-service.d.ts +0 -10
  454. package/dist/services/motion-search-service.d.ts.map +0 -1
  455. package/dist/services/motion-search-service.js +0 -22
  456. package/dist/services/motion-search-service.js.map +0 -1
  457. package/dist/services/motion-search.service.d.ts +0 -210
  458. package/dist/services/motion-search.service.d.ts.map +0 -1
  459. package/dist/services/motion-search.service.js +0 -900
  460. package/dist/services/motion-search.service.js.map +0 -1
  461. package/dist/services/narrative/analyzers/layout-structure.analyzer.d.ts +0 -75
  462. package/dist/services/narrative/analyzers/layout-structure.analyzer.d.ts.map +0 -1
  463. package/dist/services/narrative/analyzers/layout-structure.analyzer.js +0 -489
  464. package/dist/services/narrative/analyzers/layout-structure.analyzer.js.map +0 -1
  465. package/dist/services/narrative/analyzers/worldview.analyzer.d.ts +0 -92
  466. package/dist/services/narrative/analyzers/worldview.analyzer.d.ts.map +0 -1
  467. package/dist/services/narrative/analyzers/worldview.analyzer.js +0 -477
  468. package/dist/services/narrative/analyzers/worldview.analyzer.js.map +0 -1
  469. package/dist/services/narrative/generators/confidence-calculator.d.ts +0 -65
  470. package/dist/services/narrative/generators/confidence-calculator.d.ts.map +0 -1
  471. package/dist/services/narrative/generators/confidence-calculator.js +0 -316
  472. package/dist/services/narrative/generators/confidence-calculator.js.map +0 -1
  473. package/dist/services/narrative/generators/text-representation.generator.d.ts +0 -67
  474. package/dist/services/narrative/generators/text-representation.generator.d.ts.map +0 -1
  475. package/dist/services/narrative/generators/text-representation.generator.js +0 -312
  476. package/dist/services/narrative/generators/text-representation.generator.js.map +0 -1
  477. package/dist/services/narrative/index.d.ts +0 -16
  478. package/dist/services/narrative/index.d.ts.map +0 -1
  479. package/dist/services/narrative/index.js +0 -63
  480. package/dist/services/narrative/index.js.map +0 -1
  481. package/dist/services/narrative/narrative-analysis.service.d.ts +0 -120
  482. package/dist/services/narrative/narrative-analysis.service.d.ts.map +0 -1
  483. package/dist/services/narrative/narrative-analysis.service.js +0 -479
  484. package/dist/services/narrative/narrative-analysis.service.js.map +0 -1
  485. package/dist/services/narrative/narrative-search.service.d.ts +0 -126
  486. package/dist/services/narrative/narrative-search.service.d.ts.map +0 -1
  487. package/dist/services/narrative/narrative-search.service.js +0 -516
  488. package/dist/services/narrative/narrative-search.service.js.map +0 -1
  489. package/dist/services/narrative/types/narrative.types.d.ts +0 -372
  490. package/dist/services/narrative/types/narrative.types.d.ts.map +0 -1
  491. package/dist/services/narrative/types/narrative.types.js +0 -5
  492. package/dist/services/narrative/types/narrative.types.js.map +0 -1
  493. package/dist/services/orphaned-job-utils.d.ts +0 -62
  494. package/dist/services/orphaned-job-utils.d.ts.map +0 -1
  495. package/dist/services/orphaned-job-utils.js +0 -130
  496. package/dist/services/orphaned-job-utils.js.map +0 -1
  497. package/dist/services/page/css-animation-parser.service.d.ts +0 -173
  498. package/dist/services/page/css-animation-parser.service.d.ts.map +0 -1
  499. package/dist/services/page/css-animation-parser.service.js +0 -537
  500. package/dist/services/page/css-animation-parser.service.js.map +0 -1
  501. package/dist/services/page/fallback-analyzer.service.d.ts +0 -140
  502. package/dist/services/page/fallback-analyzer.service.d.ts.map +0 -1
  503. package/dist/services/page/fallback-analyzer.service.js +0 -289
  504. package/dist/services/page/fallback-analyzer.service.js.map +0 -1
  505. package/dist/services/page/frame-analyzer.service.d.ts +0 -208
  506. package/dist/services/page/frame-analyzer.service.d.ts.map +0 -1
  507. package/dist/services/page/frame-analyzer.service.js +0 -628
  508. package/dist/services/page/frame-analyzer.service.js.map +0 -1
  509. package/dist/services/page/layout-analyzer.service.d.ts +0 -323
  510. package/dist/services/page/layout-analyzer.service.d.ts.map +0 -1
  511. package/dist/services/page/layout-analyzer.service.js +0 -2001
  512. package/dist/services/page/layout-analyzer.service.js.map +0 -1
  513. package/dist/services/page/motion-category-classifier.service.d.ts +0 -72
  514. package/dist/services/page/motion-category-classifier.service.d.ts.map +0 -1
  515. package/dist/services/page/motion-category-classifier.service.js +0 -340
  516. package/dist/services/page/motion-category-classifier.service.js.map +0 -1
  517. package/dist/services/page/motion-detector.service.d.ts +0 -76
  518. package/dist/services/page/motion-detector.service.d.ts.map +0 -1
  519. package/dist/services/page/motion-detector.service.js +0 -255
  520. package/dist/services/page/motion-detector.service.js.map +0 -1
  521. package/dist/services/page/motion-performance-analyzer.service.d.ts +0 -114
  522. package/dist/services/page/motion-performance-analyzer.service.d.ts.map +0 -1
  523. package/dist/services/page/motion-performance-analyzer.service.js +0 -315
  524. package/dist/services/page/motion-performance-analyzer.service.js.map +0 -1
  525. package/dist/services/page/playwright-crawler.service.d.ts +0 -106
  526. package/dist/services/page/playwright-crawler.service.d.ts.map +0 -1
  527. package/dist/services/page/playwright-crawler.service.js +0 -373
  528. package/dist/services/page/playwright-crawler.service.js.map +0 -1
  529. package/dist/services/page/quality-evaluator.service.d.ts +0 -107
  530. package/dist/services/page/quality-evaluator.service.d.ts.map +0 -1
  531. package/dist/services/page/quality-evaluator.service.js +0 -1138
  532. package/dist/services/page/quality-evaluator.service.js.map +0 -1
  533. package/dist/services/page/runtime-animation-detector.service.d.ts +0 -154
  534. package/dist/services/page/runtime-animation-detector.service.d.ts.map +0 -1
  535. package/dist/services/page/runtime-animation-detector.service.js +0 -480
  536. package/dist/services/page/runtime-animation-detector.service.js.map +0 -1
  537. package/dist/services/page/section-postprocessor.service.d.ts +0 -55
  538. package/dist/services/page/section-postprocessor.service.d.ts.map +0 -1
  539. package/dist/services/page/section-postprocessor.service.js +0 -708
  540. package/dist/services/page/section-postprocessor.service.js.map +0 -1
  541. package/dist/services/page/video-recorder.service.d.ts +0 -110
  542. package/dist/services/page/video-recorder.service.d.ts.map +0 -1
  543. package/dist/services/page/video-recorder.service.js +0 -441
  544. package/dist/services/page/video-recorder.service.js.map +0 -1
  545. package/dist/services/page/webgl-detector.service.d.ts +0 -113
  546. package/dist/services/page/webgl-detector.service.d.ts.map +0 -1
  547. package/dist/services/page/webgl-detector.service.js +0 -280
  548. package/dist/services/page/webgl-detector.service.js.map +0 -1
  549. package/dist/services/page-analyze-service.d.ts +0 -30
  550. package/dist/services/page-analyze-service.d.ts.map +0 -1
  551. package/dist/services/page-analyze-service.js +0 -58
  552. package/dist/services/page-analyze-service.js.map +0 -1
  553. package/dist/services/page-ingest-adapter.d.ts +0 -479
  554. package/dist/services/page-ingest-adapter.d.ts.map +0 -1
  555. package/dist/services/page-ingest-adapter.js +0 -1726
  556. package/dist/services/page-ingest-adapter.js.map +0 -1
  557. package/dist/services/palette-service-export.d.ts +0 -26
  558. package/dist/services/palette-service-export.d.ts.map +0 -1
  559. package/dist/services/palette-service-export.js +0 -22
  560. package/dist/services/palette-service-export.js.map +0 -1
  561. package/dist/services/part/index.d.ts +0 -22
  562. package/dist/services/part/index.d.ts.map +0 -1
  563. package/dist/services/part/index.js +0 -72
  564. package/dist/services/part/index.js.map +0 -1
  565. package/dist/services/part/part-backfill.service.d.ts +0 -66
  566. package/dist/services/part/part-backfill.service.d.ts.map +0 -1
  567. package/dist/services/part/part-backfill.service.js +0 -195
  568. package/dist/services/part/part-backfill.service.js.map +0 -1
  569. package/dist/services/part/part-bbox-playwright.service.d.ts +0 -85
  570. package/dist/services/part/part-bbox-playwright.service.d.ts.map +0 -1
  571. package/dist/services/part/part-bbox-playwright.service.js +0 -362
  572. package/dist/services/part/part-bbox-playwright.service.js.map +0 -1
  573. package/dist/services/part/part-db.service.d.ts +0 -41
  574. package/dist/services/part/part-db.service.d.ts.map +0 -1
  575. package/dist/services/part/part-db.service.js +0 -82
  576. package/dist/services/part/part-db.service.js.map +0 -1
  577. package/dist/services/part/part-embedding-db.service.d.ts +0 -52
  578. package/dist/services/part/part-embedding-db.service.d.ts.map +0 -1
  579. package/dist/services/part/part-embedding-db.service.js +0 -122
  580. package/dist/services/part/part-embedding-db.service.js.map +0 -1
  581. package/dist/services/part/part-embedding.service.d.ts +0 -140
  582. package/dist/services/part/part-embedding.service.d.ts.map +0 -1
  583. package/dist/services/part/part-embedding.service.js +0 -276
  584. package/dist/services/part/part-embedding.service.js.map +0 -1
  585. package/dist/services/part/part-extraction.service.d.ts +0 -75
  586. package/dist/services/part/part-extraction.service.d.ts.map +0 -1
  587. package/dist/services/part/part-extraction.service.js +0 -519
  588. package/dist/services/part/part-extraction.service.js.map +0 -1
  589. package/dist/services/part/part-search.service.d.ts +0 -180
  590. package/dist/services/part/part-search.service.d.ts.map +0 -1
  591. package/dist/services/part/part-search.service.js +0 -565
  592. package/dist/services/part/part-search.service.js.map +0 -1
  593. package/dist/services/part/schemas.d.ts +0 -232
  594. package/dist/services/part/schemas.d.ts.map +0 -1
  595. package/dist/services/part/schemas.js +0 -167
  596. package/dist/services/part/schemas.js.map +0 -1
  597. package/dist/services/part/section-screenshot-fallback.service.d.ts +0 -101
  598. package/dist/services/part/section-screenshot-fallback.service.d.ts.map +0 -1
  599. package/dist/services/part/section-screenshot-fallback.service.js +0 -489
  600. package/dist/services/part/section-screenshot-fallback.service.js.map +0 -1
  601. package/dist/services/part/types.d.ts +0 -189
  602. package/dist/services/part/types.d.ts.map +0 -1
  603. package/dist/services/part/types.js +0 -139
  604. package/dist/services/part/types.js.map +0 -1
  605. package/dist/services/persistent-cache.d.ts +0 -209
  606. package/dist/services/persistent-cache.d.ts.map +0 -1
  607. package/dist/services/persistent-cache.js +0 -633
  608. package/dist/services/persistent-cache.js.map +0 -1
  609. package/dist/services/preference-profile.service.d.ts +0 -143
  610. package/dist/services/preference-profile.service.d.ts.map +0 -1
  611. package/dist/services/preference-profile.service.js +0 -604
  612. package/dist/services/preference-profile.service.js.map +0 -1
  613. package/dist/services/preference-rerank.helper.d.ts +0 -128
  614. package/dist/services/preference-rerank.helper.d.ts.map +0 -1
  615. package/dist/services/preference-rerank.helper.js +0 -397
  616. package/dist/services/preference-rerank.helper.js.map +0 -1
  617. package/dist/services/production-guard.d.ts +0 -213
  618. package/dist/services/production-guard.d.ts.map +0 -1
  619. package/dist/services/production-guard.js +0 -357
  620. package/dist/services/production-guard.js.map +0 -1
  621. package/dist/services/project-context-analyzer.d.ts +0 -194
  622. package/dist/services/project-context-analyzer.d.ts.map +0 -1
  623. package/dist/services/project-context-analyzer.js +0 -747
  624. package/dist/services/project-context-analyzer.js.map +0 -1
  625. package/dist/services/quality/axe-accessibility.service.d.ts +0 -87
  626. package/dist/services/quality/axe-accessibility.service.d.ts.map +0 -1
  627. package/dist/services/quality/axe-accessibility.service.js +0 -188
  628. package/dist/services/quality/axe-accessibility.service.js.map +0 -1
  629. package/dist/services/quality/axe-core-shared.d.ts +0 -108
  630. package/dist/services/quality/axe-core-shared.d.ts.map +0 -1
  631. package/dist/services/quality/axe-core-shared.js +0 -136
  632. package/dist/services/quality/axe-core-shared.js.map +0 -1
  633. package/dist/services/quality/benchmark.service.d.ts +0 -178
  634. package/dist/services/quality/benchmark.service.d.ts.map +0 -1
  635. package/dist/services/quality/benchmark.service.js +0 -394
  636. package/dist/services/quality/benchmark.service.js.map +0 -1
  637. package/dist/services/quality/content-gap-detector.service.d.ts +0 -133
  638. package/dist/services/quality/content-gap-detector.service.d.ts.map +0 -1
  639. package/dist/services/quality/content-gap-detector.service.js +0 -364
  640. package/dist/services/quality/content-gap-detector.service.js.map +0 -1
  641. package/dist/services/quality/index.d.ts +0 -12
  642. package/dist/services/quality/index.d.ts.map +0 -1
  643. package/dist/services/quality/index.js +0 -12
  644. package/dist/services/quality/index.js.map +0 -1
  645. package/dist/services/quality/pattern-matcher.service.d.ts +0 -195
  646. package/dist/services/quality/pattern-matcher.service.d.ts.map +0 -1
  647. package/dist/services/quality/pattern-matcher.service.js +0 -630
  648. package/dist/services/quality/pattern-matcher.service.js.map +0 -1
  649. package/dist/services/quality/playwright-axe.service.d.ts +0 -84
  650. package/dist/services/quality/playwright-axe.service.d.ts.map +0 -1
  651. package/dist/services/quality/playwright-axe.service.js +0 -267
  652. package/dist/services/quality/playwright-axe.service.js.map +0 -1
  653. package/dist/services/quality/quality-evaluate.service.interface.d.ts +0 -216
  654. package/dist/services/quality/quality-evaluate.service.interface.d.ts.map +0 -1
  655. package/dist/services/quality/quality-evaluate.service.interface.js +0 -5
  656. package/dist/services/quality/quality-evaluate.service.interface.js.map +0 -1
  657. package/dist/services/quality/visual-design-analyzer.service.d.ts +0 -72
  658. package/dist/services/quality/visual-design-analyzer.service.d.ts.map +0 -1
  659. package/dist/services/quality/visual-design-analyzer.service.js +0 -762
  660. package/dist/services/quality/visual-design-analyzer.service.js.map +0 -1
  661. package/dist/services/quality-evaluate-service-export.d.ts +0 -122
  662. package/dist/services/quality-evaluate-service-export.d.ts.map +0 -1
  663. package/dist/services/quality-evaluate-service-export.js +0 -138
  664. package/dist/services/quality-evaluate-service-export.js.map +0 -1
  665. package/dist/services/quality-search.service.d.ts +0 -20
  666. package/dist/services/quality-search.service.d.ts.map +0 -1
  667. package/dist/services/quality-search.service.js +0 -260
  668. package/dist/services/quality-search.service.js.map +0 -1
  669. package/dist/services/query-analyzer.d.ts +0 -107
  670. package/dist/services/query-analyzer.d.ts.map +0 -1
  671. package/dist/services/query-analyzer.js +0 -222
  672. package/dist/services/query-analyzer.js.map +0 -1
  673. package/dist/services/query-context-analyzer.d.ts +0 -85
  674. package/dist/services/query-context-analyzer.d.ts.map +0 -1
  675. package/dist/services/query-context-analyzer.js +0 -728
  676. package/dist/services/query-context-analyzer.js.map +0 -1
  677. package/dist/services/queue-cleanup.service.d.ts +0 -102
  678. package/dist/services/queue-cleanup.service.d.ts.map +0 -1
  679. package/dist/services/queue-cleanup.service.js +0 -259
  680. package/dist/services/queue-cleanup.service.js.map +0 -1
  681. package/dist/services/responsive/difference-detector.service.d.ts +0 -77
  682. package/dist/services/responsive/difference-detector.service.d.ts.map +0 -1
  683. package/dist/services/responsive/difference-detector.service.js +0 -525
  684. package/dist/services/responsive/difference-detector.service.js.map +0 -1
  685. package/dist/services/responsive/index.d.ts +0 -16
  686. package/dist/services/responsive/index.d.ts.map +0 -1
  687. package/dist/services/responsive/index.js +0 -60
  688. package/dist/services/responsive/index.js.map +0 -1
  689. package/dist/services/responsive/multi-viewport-capture.service.d.ts +0 -103
  690. package/dist/services/responsive/multi-viewport-capture.service.d.ts.map +0 -1
  691. package/dist/services/responsive/multi-viewport-capture.service.js +0 -841
  692. package/dist/services/responsive/multi-viewport-capture.service.js.map +0 -1
  693. package/dist/services/responsive/responsive-analysis-embedding.service.d.ts +0 -114
  694. package/dist/services/responsive/responsive-analysis-embedding.service.d.ts.map +0 -1
  695. package/dist/services/responsive/responsive-analysis-embedding.service.js +0 -232
  696. package/dist/services/responsive/responsive-analysis-embedding.service.js.map +0 -1
  697. package/dist/services/responsive/responsive-analysis.service.d.ts +0 -37
  698. package/dist/services/responsive/responsive-analysis.service.d.ts.map +0 -1
  699. package/dist/services/responsive/responsive-analysis.service.js +0 -262
  700. package/dist/services/responsive/responsive-analysis.service.js.map +0 -1
  701. package/dist/services/responsive/responsive-persistence.service.d.ts +0 -45
  702. package/dist/services/responsive/responsive-persistence.service.d.ts.map +0 -1
  703. package/dist/services/responsive/responsive-persistence.service.js +0 -102
  704. package/dist/services/responsive/responsive-persistence.service.js.map +0 -1
  705. package/dist/services/responsive/responsive-quality-evaluator.service.d.ts +0 -80
  706. package/dist/services/responsive/responsive-quality-evaluator.service.d.ts.map +0 -1
  707. package/dist/services/responsive/responsive-quality-evaluator.service.js +0 -448
  708. package/dist/services/responsive/responsive-quality-evaluator.service.js.map +0 -1
  709. package/dist/services/responsive/shared-browser-manager.d.ts +0 -65
  710. package/dist/services/responsive/shared-browser-manager.d.ts.map +0 -1
  711. package/dist/services/responsive/shared-browser-manager.js +0 -112
  712. package/dist/services/responsive/shared-browser-manager.js.map +0 -1
  713. package/dist/services/responsive/types.d.ts +0 -367
  714. package/dist/services/responsive/types.d.ts.map +0 -1
  715. package/dist/services/responsive/types.js +0 -5
  716. package/dist/services/responsive/types.js.map +0 -1
  717. package/dist/services/responsive/viewport-diff.service.d.ts +0 -49
  718. package/dist/services/responsive/viewport-diff.service.d.ts.map +0 -1
  719. package/dist/services/responsive/viewport-diff.service.js +0 -178
  720. package/dist/services/responsive/viewport-diff.service.js.map +0 -1
  721. package/dist/services/responsive-search.service.d.ts +0 -52
  722. package/dist/services/responsive-search.service.d.ts.map +0 -1
  723. package/dist/services/responsive-search.service.js +0 -136
  724. package/dist/services/responsive-search.service.js.map +0 -1
  725. package/dist/services/search/mood-brandtone-search.service.d.ts +0 -99
  726. package/dist/services/search/mood-brandtone-search.service.d.ts.map +0 -1
  727. package/dist/services/search/mood-brandtone-search.service.js +0 -310
  728. package/dist/services/search/mood-brandtone-search.service.js.map +0 -1
  729. package/dist/services/search-performance.service.d.ts +0 -118
  730. package/dist/services/search-performance.service.d.ts.map +0 -1
  731. package/dist/services/search-performance.service.js +0 -181
  732. package/dist/services/search-performance.service.js.map +0 -1
  733. package/dist/services/section-screenshot.service.d.ts +0 -163
  734. package/dist/services/section-screenshot.service.d.ts.map +0 -1
  735. package/dist/services/section-screenshot.service.js +0 -363
  736. package/dist/services/section-screenshot.service.js.map +0 -1
  737. package/dist/services/service-client.d.ts +0 -181
  738. package/dist/services/service-client.d.ts.map +0 -1
  739. package/dist/services/service-client.js +0 -450
  740. package/dist/services/service-client.js.map +0 -1
  741. package/dist/services/service-initializer.d.ts +0 -174
  742. package/dist/services/service-initializer.d.ts.map +0 -1
  743. package/dist/services/service-initializer.js +0 -942
  744. package/dist/services/service-initializer.js.map +0 -1
  745. package/dist/services/storage/index.d.ts +0 -7
  746. package/dist/services/storage/index.d.ts.map +0 -1
  747. package/dist/services/storage/index.js +0 -14
  748. package/dist/services/storage/index.js.map +0 -1
  749. package/dist/services/storage/local-storage.provider.d.ts +0 -140
  750. package/dist/services/storage/local-storage.provider.d.ts.map +0 -1
  751. package/dist/services/storage/local-storage.provider.js +0 -333
  752. package/dist/services/storage/local-storage.provider.js.map +0 -1
  753. package/dist/services/style/index.d.ts +0 -7
  754. package/dist/services/style/index.d.ts.map +0 -1
  755. package/dist/services/style/index.js +0 -25
  756. package/dist/services/style/index.js.map +0 -1
  757. package/dist/services/style/palette-service.d.ts +0 -212
  758. package/dist/services/style/palette-service.d.ts.map +0 -1
  759. package/dist/services/style/palette-service.js +0 -423
  760. package/dist/services/style/palette-service.js.map +0 -1
  761. package/dist/services/style/prisma-palette-repository.d.ts +0 -35
  762. package/dist/services/style/prisma-palette-repository.d.ts.map +0 -1
  763. package/dist/services/style/prisma-palette-repository.js +0 -165
  764. package/dist/services/style/prisma-palette-repository.js.map +0 -1
  765. package/dist/services/vision/brandtone.analyzer.d.ts +0 -104
  766. package/dist/services/vision/brandtone.analyzer.d.ts.map +0 -1
  767. package/dist/services/vision/brandtone.analyzer.js +0 -279
  768. package/dist/services/vision/brandtone.analyzer.js.map +0 -1
  769. package/dist/services/vision/hardware-detector.d.ts +0 -166
  770. package/dist/services/vision/hardware-detector.d.ts.map +0 -1
  771. package/dist/services/vision/hardware-detector.js +0 -330
  772. package/dist/services/vision/hardware-detector.js.map +0 -1
  773. package/dist/services/vision/image-optimizer.d.ts +0 -152
  774. package/dist/services/vision/image-optimizer.d.ts.map +0 -1
  775. package/dist/services/vision/image-optimizer.js +0 -266
  776. package/dist/services/vision/image-optimizer.js.map +0 -1
  777. package/dist/services/vision/index.d.ts +0 -26
  778. package/dist/services/vision/index.d.ts.map +0 -1
  779. package/dist/services/vision/index.js +0 -80
  780. package/dist/services/vision/index.js.map +0 -1
  781. package/dist/services/vision/llama-vision-adapter.d.ts +0 -178
  782. package/dist/services/vision/llama-vision-adapter.d.ts.map +0 -1
  783. package/dist/services/vision/llama-vision-adapter.js +0 -307
  784. package/dist/services/vision/llama-vision-adapter.js.map +0 -1
  785. package/dist/services/vision/mcp-progress-adapter.d.ts +0 -128
  786. package/dist/services/vision/mcp-progress-adapter.d.ts.map +0 -1
  787. package/dist/services/vision/mcp-progress-adapter.js +0 -150
  788. package/dist/services/vision/mcp-progress-adapter.js.map +0 -1
  789. package/dist/services/vision/mood.analyzer.d.ts +0 -74
  790. package/dist/services/vision/mood.analyzer.d.ts.map +0 -1
  791. package/dist/services/vision/mood.analyzer.js +0 -258
  792. package/dist/services/vision/mood.analyzer.js.map +0 -1
  793. package/dist/services/vision/ollama-readiness-probe.d.ts +0 -87
  794. package/dist/services/vision/ollama-readiness-probe.d.ts.map +0 -1
  795. package/dist/services/vision/ollama-readiness-probe.js +0 -211
  796. package/dist/services/vision/ollama-readiness-probe.js.map +0 -1
  797. package/dist/services/vision/ollama-vision-client.d.ts +0 -129
  798. package/dist/services/vision/ollama-vision-client.d.ts.map +0 -1
  799. package/dist/services/vision/ollama-vision-client.js +0 -478
  800. package/dist/services/vision/ollama-vision-client.js.map +0 -1
  801. package/dist/services/vision/progress-reporter.d.ts +0 -140
  802. package/dist/services/vision/progress-reporter.d.ts.map +0 -1
  803. package/dist/services/vision/progress-reporter.js +0 -306
  804. package/dist/services/vision/progress-reporter.js.map +0 -1
  805. package/dist/services/vision/scroll-vision-capture.service.d.ts +0 -117
  806. package/dist/services/vision/scroll-vision-capture.service.d.ts.map +0 -1
  807. package/dist/services/vision/scroll-vision-capture.service.js +0 -266
  808. package/dist/services/vision/scroll-vision-capture.service.js.map +0 -1
  809. package/dist/services/vision/scroll-vision-persistence.service.d.ts +0 -48
  810. package/dist/services/vision/scroll-vision-persistence.service.d.ts.map +0 -1
  811. package/dist/services/vision/scroll-vision-persistence.service.js +0 -161
  812. package/dist/services/vision/scroll-vision-persistence.service.js.map +0 -1
  813. package/dist/services/vision/scroll-vision.analyzer.d.ts +0 -90
  814. package/dist/services/vision/scroll-vision.analyzer.d.ts.map +0 -1
  815. package/dist/services/vision/scroll-vision.analyzer.js +0 -280
  816. package/dist/services/vision/scroll-vision.analyzer.js.map +0 -1
  817. package/dist/services/vision/theme.analyzer.d.ts +0 -108
  818. package/dist/services/vision/theme.analyzer.d.ts.map +0 -1
  819. package/dist/services/vision/theme.analyzer.js +0 -315
  820. package/dist/services/vision/theme.analyzer.js.map +0 -1
  821. package/dist/services/vision/timeout-calculator.d.ts +0 -85
  822. package/dist/services/vision/timeout-calculator.d.ts.map +0 -1
  823. package/dist/services/vision/timeout-calculator.js +0 -142
  824. package/dist/services/vision/timeout-calculator.js.map +0 -1
  825. package/dist/services/vision/vision-fallback.service.d.ts +0 -121
  826. package/dist/services/vision/vision-fallback.service.d.ts.map +0 -1
  827. package/dist/services/vision/vision-fallback.service.js +0 -253
  828. package/dist/services/vision/vision-fallback.service.js.map +0 -1
  829. package/dist/services/vision/vision.cache.d.ts +0 -124
  830. package/dist/services/vision/vision.cache.d.ts.map +0 -1
  831. package/dist/services/vision/vision.cache.js +0 -261
  832. package/dist/services/vision/vision.cache.js.map +0 -1
  833. package/dist/services/vision/vision.errors.d.ts +0 -104
  834. package/dist/services/vision/vision.errors.d.ts.map +0 -1
  835. package/dist/services/vision/vision.errors.js +0 -133
  836. package/dist/services/vision/vision.errors.js.map +0 -1
  837. package/dist/services/vision/vision.prompts.d.ts +0 -47
  838. package/dist/services/vision/vision.prompts.d.ts.map +0 -1
  839. package/dist/services/vision/vision.prompts.js +0 -272
  840. package/dist/services/vision/vision.prompts.js.map +0 -1
  841. package/dist/services/vision/vram-utils.d.ts +0 -22
  842. package/dist/services/vision/vram-utils.d.ts.map +0 -1
  843. package/dist/services/vision/vram-utils.js +0 -57
  844. package/dist/services/vision/vram-utils.js.map +0 -1
  845. package/dist/services/vision-adapter/index.d.ts +0 -18
  846. package/dist/services/vision-adapter/index.d.ts.map +0 -1
  847. package/dist/services/vision-adapter/index.js +0 -31
  848. package/dist/services/vision-adapter/index.js.map +0 -1
  849. package/dist/services/vision-adapter/interface.d.ts +0 -1434
  850. package/dist/services/vision-adapter/interface.d.ts.map +0 -1
  851. package/dist/services/vision-adapter/interface.js +0 -326
  852. package/dist/services/vision-adapter/interface.js.map +0 -1
  853. package/dist/services/vision-adapter/llama-vision.adapter.d.ts +0 -373
  854. package/dist/services/vision-adapter/llama-vision.adapter.d.ts.map +0 -1
  855. package/dist/services/vision-adapter/llama-vision.adapter.js +0 -1751
  856. package/dist/services/vision-adapter/llama-vision.adapter.js.map +0 -1
  857. package/dist/services/vision-adapter/llama-vision.prompts.d.ts +0 -63
  858. package/dist/services/vision-adapter/llama-vision.prompts.d.ts.map +0 -1
  859. package/dist/services/vision-adapter/llama-vision.prompts.js +0 -234
  860. package/dist/services/vision-adapter/llama-vision.prompts.js.map +0 -1
  861. package/dist/services/vision-adapter/llama-vision.types.d.ts +0 -68
  862. package/dist/services/vision-adapter/llama-vision.types.d.ts.map +0 -1
  863. package/dist/services/vision-adapter/llama-vision.types.js +0 -21
  864. package/dist/services/vision-adapter/llama-vision.types.js.map +0 -1
  865. package/dist/services/vision-adapter/local.adapter.d.ts +0 -185
  866. package/dist/services/vision-adapter/local.adapter.d.ts.map +0 -1
  867. package/dist/services/vision-adapter/local.adapter.js +0 -835
  868. package/dist/services/vision-adapter/local.adapter.js.map +0 -1
  869. package/dist/services/vision-adapter/mock.adapter.d.ts +0 -174
  870. package/dist/services/vision-adapter/mock.adapter.d.ts.map +0 -1
  871. package/dist/services/vision-adapter/mock.adapter.js +0 -812
  872. package/dist/services/vision-adapter/mock.adapter.js.map +0 -1
  873. package/dist/services/vision-embedding-search.service.d.ts +0 -205
  874. package/dist/services/vision-embedding-search.service.d.ts.map +0 -1
  875. package/dist/services/vision-embedding-search.service.js +0 -742
  876. package/dist/services/vision-embedding-search.service.js.map +0 -1
  877. package/dist/services/vision-embedding.service.d.ts +0 -150
  878. package/dist/services/vision-embedding.service.d.ts.map +0 -1
  879. package/dist/services/vision-embedding.service.js +0 -461
  880. package/dist/services/vision-embedding.service.js.map +0 -1
  881. package/dist/services/visual/css-variable-extractor.service.d.ts +0 -97
  882. package/dist/services/visual/css-variable-extractor.service.d.ts.map +0 -1
  883. package/dist/services/visual/css-variable-extractor.service.js +0 -460
  884. package/dist/services/visual/css-variable-extractor.service.js.map +0 -1
  885. package/dist/services/visual/typography-extractor.service.d.ts +0 -137
  886. package/dist/services/visual/typography-extractor.service.d.ts.map +0 -1
  887. package/dist/services/visual/typography-extractor.service.js +0 -539
  888. package/dist/services/visual/typography-extractor.service.js.map +0 -1
  889. package/dist/services/visual-extractor/color-extractor.service.d.ts +0 -55
  890. package/dist/services/visual-extractor/color-extractor.service.d.ts.map +0 -1
  891. package/dist/services/visual-extractor/color-extractor.service.js +0 -281
  892. package/dist/services/visual-extractor/color-extractor.service.js.map +0 -1
  893. package/dist/services/visual-extractor/density-calculator.service.d.ts +0 -85
  894. package/dist/services/visual-extractor/density-calculator.service.d.ts.map +0 -1
  895. package/dist/services/visual-extractor/density-calculator.service.js +0 -369
  896. package/dist/services/visual-extractor/density-calculator.service.js.map +0 -1
  897. package/dist/services/visual-extractor/gradient-detector.service.d.ts +0 -134
  898. package/dist/services/visual-extractor/gradient-detector.service.d.ts.map +0 -1
  899. package/dist/services/visual-extractor/gradient-detector.service.js +0 -1172
  900. package/dist/services/visual-extractor/gradient-detector.service.js.map +0 -1
  901. package/dist/services/visual-extractor/image-utils.d.ts +0 -135
  902. package/dist/services/visual-extractor/image-utils.d.ts.map +0 -1
  903. package/dist/services/visual-extractor/image-utils.js +0 -305
  904. package/dist/services/visual-extractor/image-utils.js.map +0 -1
  905. package/dist/services/visual-extractor/pixel-theme-detector.service.d.ts +0 -58
  906. package/dist/services/visual-extractor/pixel-theme-detector.service.d.ts.map +0 -1
  907. package/dist/services/visual-extractor/pixel-theme-detector.service.js +0 -358
  908. package/dist/services/visual-extractor/pixel-theme-detector.service.js.map +0 -1
  909. package/dist/services/visual-extractor/theme-detector.service.d.ts +0 -101
  910. package/dist/services/visual-extractor/theme-detector.service.d.ts.map +0 -1
  911. package/dist/services/visual-extractor/theme-detector.service.js +0 -463
  912. package/dist/services/visual-extractor/theme-detector.service.js.map +0 -1
  913. package/dist/services/visual-extractor/visual-decoration-detector.service.d.ts +0 -43
  914. package/dist/services/visual-extractor/visual-decoration-detector.service.d.ts.map +0 -1
  915. package/dist/services/visual-extractor/visual-decoration-detector.service.js +0 -628
  916. package/dist/services/visual-extractor/visual-decoration-detector.service.js.map +0 -1
  917. package/dist/services/visual-extractor/visual-feature-merger.service.d.ts +0 -230
  918. package/dist/services/visual-extractor/visual-feature-merger.service.d.ts.map +0 -1
  919. package/dist/services/visual-extractor/visual-feature-merger.service.js +0 -482
  920. package/dist/services/visual-extractor/visual-feature-merger.service.js.map +0 -1
  921. package/dist/services/web-page.service.d.ts +0 -80
  922. package/dist/services/web-page.service.d.ts.map +0 -1
  923. package/dist/services/web-page.service.js +0 -211
  924. package/dist/services/web-page.service.js.map +0 -1
  925. package/dist/services/worker-constants.d.ts +0 -40
  926. package/dist/services/worker-constants.d.ts.map +0 -1
  927. package/dist/services/worker-constants.js +0 -51
  928. package/dist/services/worker-constants.js.map +0 -1
  929. package/dist/services/worker-db-save.service.d.ts +0 -311
  930. package/dist/services/worker-db-save.service.d.ts.map +0 -1
  931. package/dist/services/worker-db-save.service.js +0 -771
  932. package/dist/services/worker-db-save.service.js.map +0 -1
  933. package/dist/services/worker-memory-monitor.service.d.ts +0 -24
  934. package/dist/services/worker-memory-monitor.service.d.ts.map +0 -1
  935. package/dist/services/worker-memory-monitor.service.js +0 -105
  936. package/dist/services/worker-memory-monitor.service.js.map +0 -1
  937. package/dist/services/worker-memory-profile.d.ts +0 -65
  938. package/dist/services/worker-memory-profile.d.ts.map +0 -1
  939. package/dist/services/worker-memory-profile.js +0 -225
  940. package/dist/services/worker-memory-profile.js.map +0 -1
  941. package/dist/services/worker-stall-recovery.service.d.ts +0 -166
  942. package/dist/services/worker-stall-recovery.service.d.ts.map +0 -1
  943. package/dist/services/worker-stall-recovery.service.js +0 -335
  944. package/dist/services/worker-stall-recovery.service.js.map +0 -1
  945. package/dist/services/worker-supervisor.service.d.ts +0 -145
  946. package/dist/services/worker-supervisor.service.d.ts.map +0 -1
  947. package/dist/services/worker-supervisor.service.js +0 -635
  948. package/dist/services/worker-supervisor.service.js.map +0 -1
  949. package/dist/tools/background/schemas.d.ts +0 -85
  950. package/dist/tools/background/schemas.d.ts.map +0 -1
  951. package/dist/tools/background/schemas.js +0 -79
  952. package/dist/tools/background/schemas.js.map +0 -1
  953. package/dist/tools/background/search.tool.d.ts +0 -179
  954. package/dist/tools/background/search.tool.d.ts.map +0 -1
  955. package/dist/tools/background/search.tool.js +0 -318
  956. package/dist/tools/background/search.tool.js.map +0 -1
  957. package/dist/tools/brief/index.d.ts +0 -10
  958. package/dist/tools/brief/index.d.ts.map +0 -1
  959. package/dist/tools/brief/index.js +0 -54
  960. package/dist/tools/brief/index.js.map +0 -1
  961. package/dist/tools/brief/schemas.d.ts +0 -750
  962. package/dist/tools/brief/schemas.d.ts.map +0 -1
  963. package/dist/tools/brief/schemas.js +0 -212
  964. package/dist/tools/brief/schemas.js.map +0 -1
  965. package/dist/tools/brief/validate.handler.d.ts +0 -149
  966. package/dist/tools/brief/validate.handler.d.ts.map +0 -1
  967. package/dist/tools/brief/validate.handler.js +0 -247
  968. package/dist/tools/brief/validate.handler.js.map +0 -1
  969. package/dist/tools/brief/validate.service.d.ts +0 -100
  970. package/dist/tools/brief/validate.service.d.ts.map +0 -1
  971. package/dist/tools/brief/validate.service.js +0 -296
  972. package/dist/tools/brief/validate.service.js.map +0 -1
  973. package/dist/tools/common/error-codes.d.ts +0 -35
  974. package/dist/tools/common/error-codes.d.ts.map +0 -1
  975. package/dist/tools/common/error-codes.js +0 -92
  976. package/dist/tools/common/error-codes.js.map +0 -1
  977. package/dist/tools/common/index.d.ts +0 -7
  978. package/dist/tools/common/index.d.ts.map +0 -1
  979. package/dist/tools/common/index.js +0 -20
  980. package/dist/tools/common/index.js.map +0 -1
  981. package/dist/tools/index.d.ts +0 -2756
  982. package/dist/tools/index.d.ts.map +0 -1
  983. package/dist/tools/index.js +0 -506
  984. package/dist/tools/index.js.map +0 -1
  985. package/dist/tools/layout/batch-ingest.tool.d.ts +0 -82
  986. package/dist/tools/layout/batch-ingest.tool.d.ts.map +0 -1
  987. package/dist/tools/layout/batch-ingest.tool.js +0 -410
  988. package/dist/tools/layout/batch-ingest.tool.js.map +0 -1
  989. package/dist/tools/layout/index.d.ts +0 -13
  990. package/dist/tools/layout/index.d.ts.map +0 -1
  991. package/dist/tools/layout/index.js +0 -62
  992. package/dist/tools/layout/index.js.map +0 -1
  993. package/dist/tools/layout/ingest.tool.d.ts +0 -338
  994. package/dist/tools/layout/ingest.tool.d.ts.map +0 -1
  995. package/dist/tools/layout/ingest.tool.js +0 -1308
  996. package/dist/tools/layout/ingest.tool.js.map +0 -1
  997. package/dist/tools/layout/inspect/index.d.ts +0 -11
  998. package/dist/tools/layout/inspect/index.d.ts.map +0 -1
  999. package/dist/tools/layout/inspect/index.js +0 -55
  1000. package/dist/tools/layout/inspect/index.js.map +0 -1
  1001. package/dist/tools/layout/inspect/inspect.schemas.d.ts +0 -4130
  1002. package/dist/tools/layout/inspect/inspect.schemas.d.ts.map +0 -1
  1003. package/dist/tools/layout/inspect/inspect.schemas.js +0 -400
  1004. package/dist/tools/layout/inspect/inspect.schemas.js.map +0 -1
  1005. package/dist/tools/layout/inspect/inspect.tool.d.ts +0 -164
  1006. package/dist/tools/layout/inspect/inspect.tool.d.ts.map +0 -1
  1007. package/dist/tools/layout/inspect/inspect.tool.js +0 -738
  1008. package/dist/tools/layout/inspect/inspect.tool.js.map +0 -1
  1009. package/dist/tools/layout/inspect/inspect.utils.d.ts +0 -200
  1010. package/dist/tools/layout/inspect/inspect.utils.d.ts.map +0 -1
  1011. package/dist/tools/layout/inspect/inspect.utils.js +0 -1104
  1012. package/dist/tools/layout/inspect/inspect.utils.js.map +0 -1
  1013. package/dist/tools/layout/inspect/visual-extractors.schemas.d.ts +0 -3372
  1014. package/dist/tools/layout/inspect/visual-extractors.schemas.d.ts.map +0 -1
  1015. package/dist/tools/layout/inspect/visual-extractors.schemas.js +0 -558
  1016. package/dist/tools/layout/inspect/visual-extractors.schemas.js.map +0 -1
  1017. package/dist/tools/layout/inspect/visual-extractors.utils.d.ts +0 -86
  1018. package/dist/tools/layout/inspect/visual-extractors.utils.d.ts.map +0 -1
  1019. package/dist/tools/layout/inspect/visual-extractors.utils.js +0 -231
  1020. package/dist/tools/layout/inspect/visual-extractors.utils.js.map +0 -1
  1021. package/dist/tools/layout/schemas.d.ts +0 -11074
  1022. package/dist/tools/layout/schemas.d.ts.map +0 -1
  1023. package/dist/tools/layout/schemas.js +0 -1497
  1024. package/dist/tools/layout/schemas.js.map +0 -1
  1025. package/dist/tools/layout/search.tool.d.ts +0 -470
  1026. package/dist/tools/layout/search.tool.d.ts.map +0 -1
  1027. package/dist/tools/layout/search.tool.js +0 -1582
  1028. package/dist/tools/layout/search.tool.js.map +0 -1
  1029. package/dist/tools/layout/to-code.tool.d.ts +0 -280
  1030. package/dist/tools/layout/to-code.tool.d.ts.map +0 -1
  1031. package/dist/tools/layout/to-code.tool.js +0 -317
  1032. package/dist/tools/layout/to-code.tool.js.map +0 -1
  1033. package/dist/tools/motion/analyze-frames.handler.d.ts +0 -157
  1034. package/dist/tools/motion/analyze-frames.handler.d.ts.map +0 -1
  1035. package/dist/tools/motion/analyze-frames.handler.js +0 -263
  1036. package/dist/tools/motion/analyze-frames.handler.js.map +0 -1
  1037. package/dist/tools/motion/analyze-frames.schema.d.ts +0 -4599
  1038. package/dist/tools/motion/analyze-frames.schema.d.ts.map +0 -1
  1039. package/dist/tools/motion/analyze-frames.schema.js +0 -420
  1040. package/dist/tools/motion/analyze-frames.schema.js.map +0 -1
  1041. package/dist/tools/motion/css-mode-handler.d.ts +0 -70
  1042. package/dist/tools/motion/css-mode-handler.d.ts.map +0 -1
  1043. package/dist/tools/motion/css-mode-handler.js +0 -754
  1044. package/dist/tools/motion/css-mode-handler.js.map +0 -1
  1045. package/dist/tools/motion/detect.schemas.d.ts +0 -14288
  1046. package/dist/tools/motion/detect.schemas.d.ts.map +0 -1
  1047. package/dist/tools/motion/detect.schemas.js +0 -1715
  1048. package/dist/tools/motion/detect.schemas.js.map +0 -1
  1049. package/dist/tools/motion/detect.tool.d.ts +0 -195
  1050. package/dist/tools/motion/detect.tool.d.ts.map +0 -1
  1051. package/dist/tools/motion/detect.tool.js +0 -1421
  1052. package/dist/tools/motion/detect.tool.js.map +0 -1
  1053. package/dist/tools/motion/detection-modes.d.ts +0 -72
  1054. package/dist/tools/motion/detection-modes.d.ts.map +0 -1
  1055. package/dist/tools/motion/detection-modes.js +0 -353
  1056. package/dist/tools/motion/detection-modes.js.map +0 -1
  1057. package/dist/tools/motion/di-factories.d.ts +0 -341
  1058. package/dist/tools/motion/di-factories.d.ts.map +0 -1
  1059. package/dist/tools/motion/di-factories.js +0 -376
  1060. package/dist/tools/motion/di-factories.js.map +0 -1
  1061. package/dist/tools/motion/index.d.ts +0 -12
  1062. package/dist/tools/motion/index.d.ts.map +0 -1
  1063. package/dist/tools/motion/index.js +0 -146
  1064. package/dist/tools/motion/index.js.map +0 -1
  1065. package/dist/tools/motion/pattern-converter.d.ts +0 -49
  1066. package/dist/tools/motion/pattern-converter.d.ts.map +0 -1
  1067. package/dist/tools/motion/pattern-converter.js +0 -493
  1068. package/dist/tools/motion/pattern-converter.js.map +0 -1
  1069. package/dist/tools/motion/schemas.d.ts +0 -10
  1070. package/dist/tools/motion/schemas.d.ts.map +0 -1
  1071. package/dist/tools/motion/schemas.js +0 -28
  1072. package/dist/tools/motion/schemas.js.map +0 -1
  1073. package/dist/tools/motion/search.schemas.d.ts +0 -7500
  1074. package/dist/tools/motion/search.schemas.d.ts.map +0 -1
  1075. package/dist/tools/motion/search.schemas.js +0 -596
  1076. package/dist/tools/motion/search.schemas.js.map +0 -1
  1077. package/dist/tools/motion/search.tool.d.ts +0 -416
  1078. package/dist/tools/motion/search.tool.d.ts.map +0 -1
  1079. package/dist/tools/motion/search.tool.js +0 -2088
  1080. package/dist/tools/motion/search.tool.js.map +0 -1
  1081. package/dist/tools/motion/shared.schemas.d.ts +0 -994
  1082. package/dist/tools/motion/shared.schemas.d.ts.map +0 -1
  1083. package/dist/tools/motion/shared.schemas.js +0 -354
  1084. package/dist/tools/motion/shared.schemas.js.map +0 -1
  1085. package/dist/tools/narrative/analyze.tool.d.ts +0 -96
  1086. package/dist/tools/narrative/analyze.tool.d.ts.map +0 -1
  1087. package/dist/tools/narrative/analyze.tool.js +0 -396
  1088. package/dist/tools/narrative/analyze.tool.js.map +0 -1
  1089. package/dist/tools/narrative/index.d.ts +0 -15
  1090. package/dist/tools/narrative/index.d.ts.map +0 -1
  1091. package/dist/tools/narrative/index.js +0 -83
  1092. package/dist/tools/narrative/index.js.map +0 -1
  1093. package/dist/tools/narrative/schemas.d.ts +0 -5553
  1094. package/dist/tools/narrative/schemas.d.ts.map +0 -1
  1095. package/dist/tools/narrative/schemas.js +0 -747
  1096. package/dist/tools/narrative/schemas.js.map +0 -1
  1097. package/dist/tools/narrative/search.tool.d.ts +0 -160
  1098. package/dist/tools/narrative/search.tool.d.ts.map +0 -1
  1099. package/dist/tools/narrative/search.tool.js +0 -434
  1100. package/dist/tools/narrative/search.tool.js.map +0 -1
  1101. package/dist/tools/page/analyze.tool.d.ts +0 -502
  1102. package/dist/tools/page/analyze.tool.d.ts.map +0 -1
  1103. package/dist/tools/page/analyze.tool.js +0 -875
  1104. package/dist/tools/page/analyze.tool.js.map +0 -1
  1105. package/dist/tools/page/get-job-status.tool.d.ts +0 -43
  1106. package/dist/tools/page/get-job-status.tool.d.ts.map +0 -1
  1107. package/dist/tools/page/get-job-status.tool.js +0 -178
  1108. package/dist/tools/page/get-job-status.tool.js.map +0 -1
  1109. package/dist/tools/page/handlers/db-handler.d.ts +0 -155
  1110. package/dist/tools/page/handlers/db-handler.d.ts.map +0 -1
  1111. package/dist/tools/page/handlers/db-handler.js +0 -368
  1112. package/dist/tools/page/handlers/db-handler.js.map +0 -1
  1113. package/dist/tools/page/handlers/embedding-handler.d.ts +0 -200
  1114. package/dist/tools/page/handlers/embedding-handler.d.ts.map +0 -1
  1115. package/dist/tools/page/handlers/embedding-handler.js +0 -541
  1116. package/dist/tools/page/handlers/embedding-handler.js.map +0 -1
  1117. package/dist/tools/page/handlers/execution-status-tracker.d.ts +0 -146
  1118. package/dist/tools/page/handlers/execution-status-tracker.d.ts.map +0 -1
  1119. package/dist/tools/page/handlers/execution-status-tracker.js +0 -348
  1120. package/dist/tools/page/handlers/execution-status-tracker.js.map +0 -1
  1121. package/dist/tools/page/handlers/js-animation-handler.d.ts +0 -197
  1122. package/dist/tools/page/handlers/js-animation-handler.d.ts.map +0 -1
  1123. package/dist/tools/page/handlers/js-animation-handler.js +0 -952
  1124. package/dist/tools/page/handlers/js-animation-handler.js.map +0 -1
  1125. package/dist/tools/page/handlers/layout-handler.d.ts +0 -31
  1126. package/dist/tools/page/handlers/layout-handler.d.ts.map +0 -1
  1127. package/dist/tools/page/handlers/layout-handler.js +0 -1181
  1128. package/dist/tools/page/handlers/layout-handler.js.map +0 -1
  1129. package/dist/tools/page/handlers/motion-handler.d.ts +0 -31
  1130. package/dist/tools/page/handlers/motion-handler.d.ts.map +0 -1
  1131. package/dist/tools/page/handlers/motion-handler.js +0 -940
  1132. package/dist/tools/page/handlers/motion-handler.js.map +0 -1
  1133. package/dist/tools/page/handlers/narrative-handler.d.ts +0 -23
  1134. package/dist/tools/page/handlers/narrative-handler.d.ts.map +0 -1
  1135. package/dist/tools/page/handlers/narrative-handler.js +0 -279
  1136. package/dist/tools/page/handlers/narrative-handler.js.map +0 -1
  1137. package/dist/tools/page/handlers/phased-db-handler.d.ts +0 -83
  1138. package/dist/tools/page/handlers/phased-db-handler.d.ts.map +0 -1
  1139. package/dist/tools/page/handlers/phased-db-handler.js +0 -120
  1140. package/dist/tools/page/handlers/phased-db-handler.js.map +0 -1
  1141. package/dist/tools/page/handlers/phased-executor.d.ts +0 -123
  1142. package/dist/tools/page/handlers/phased-executor.d.ts.map +0 -1
  1143. package/dist/tools/page/handlers/phased-executor.js +0 -205
  1144. package/dist/tools/page/handlers/phased-executor.js.map +0 -1
  1145. package/dist/tools/page/handlers/quality-handler.d.ts +0 -9
  1146. package/dist/tools/page/handlers/quality-handler.d.ts.map +0 -1
  1147. package/dist/tools/page/handlers/quality-handler.js +0 -100
  1148. package/dist/tools/page/handlers/quality-handler.js.map +0 -1
  1149. package/dist/tools/page/handlers/result-builder.d.ts +0 -105
  1150. package/dist/tools/page/handlers/result-builder.d.ts.map +0 -1
  1151. package/dist/tools/page/handlers/result-builder.js +0 -447
  1152. package/dist/tools/page/handlers/result-builder.js.map +0 -1
  1153. package/dist/tools/page/handlers/retry-strategy.d.ts +0 -106
  1154. package/dist/tools/page/handlers/retry-strategy.d.ts.map +0 -1
  1155. package/dist/tools/page/handlers/retry-strategy.js +0 -169
  1156. package/dist/tools/page/handlers/retry-strategy.js.map +0 -1
  1157. package/dist/tools/page/handlers/sync-processing.d.ts +0 -26
  1158. package/dist/tools/page/handlers/sync-processing.d.ts.map +0 -1
  1159. package/dist/tools/page/handlers/sync-processing.js +0 -1659
  1160. package/dist/tools/page/handlers/sync-processing.js.map +0 -1
  1161. package/dist/tools/page/handlers/timeout-utils.d.ts +0 -278
  1162. package/dist/tools/page/handlers/timeout-utils.d.ts.map +0 -1
  1163. package/dist/tools/page/handlers/timeout-utils.js +0 -600
  1164. package/dist/tools/page/handlers/timeout-utils.js.map +0 -1
  1165. package/dist/tools/page/handlers/types.d.ts +0 -1229
  1166. package/dist/tools/page/handlers/types.d.ts.map +0 -1
  1167. package/dist/tools/page/handlers/types.js +0 -21
  1168. package/dist/tools/page/handlers/types.js.map +0 -1
  1169. package/dist/tools/page/handlers/video-handler.d.ts +0 -11
  1170. package/dist/tools/page/handlers/video-handler.d.ts.map +0 -1
  1171. package/dist/tools/page/handlers/video-handler.js +0 -235
  1172. package/dist/tools/page/handlers/video-handler.js.map +0 -1
  1173. package/dist/tools/page/handlers/webgl-animation-handler.d.ts +0 -48
  1174. package/dist/tools/page/handlers/webgl-animation-handler.d.ts.map +0 -1
  1175. package/dist/tools/page/handlers/webgl-animation-handler.js +0 -237
  1176. package/dist/tools/page/handlers/webgl-animation-handler.js.map +0 -1
  1177. package/dist/tools/page/handlers/webgl-detector.d.ts +0 -184
  1178. package/dist/tools/page/handlers/webgl-detector.d.ts.map +0 -1
  1179. package/dist/tools/page/handlers/webgl-detector.js +0 -680
  1180. package/dist/tools/page/handlers/webgl-detector.js.map +0 -1
  1181. package/dist/tools/page/handlers/webgl-domains.d.ts +0 -133
  1182. package/dist/tools/page/handlers/webgl-domains.d.ts.map +0 -1
  1183. package/dist/tools/page/handlers/webgl-domains.js +0 -420
  1184. package/dist/tools/page/handlers/webgl-domains.js.map +0 -1
  1185. package/dist/tools/page/handlers/webgl-pre-detector.d.ts +0 -100
  1186. package/dist/tools/page/handlers/webgl-pre-detector.d.ts.map +0 -1
  1187. package/dist/tools/page/handlers/webgl-pre-detector.js +0 -248
  1188. package/dist/tools/page/handlers/webgl-pre-detector.js.map +0 -1
  1189. package/dist/tools/page/index.d.ts +0 -10
  1190. package/dist/tools/page/index.d.ts.map +0 -1
  1191. package/dist/tools/page/index.js +0 -84
  1192. package/dist/tools/page/index.js.map +0 -1
  1193. package/dist/tools/page/input.schemas.d.ts +0 -2223
  1194. package/dist/tools/page/input.schemas.d.ts.map +0 -1
  1195. package/dist/tools/page/input.schemas.js +0 -853
  1196. package/dist/tools/page/input.schemas.js.map +0 -1
  1197. package/dist/tools/page/output.schemas.d.ts +0 -26026
  1198. package/dist/tools/page/output.schemas.d.ts.map +0 -1
  1199. package/dist/tools/page/output.schemas.js +0 -1414
  1200. package/dist/tools/page/output.schemas.js.map +0 -1
  1201. package/dist/tools/page/schemas.d.ts +0 -10
  1202. package/dist/tools/page/schemas.d.ts.map +0 -1
  1203. package/dist/tools/page/schemas.js +0 -28
  1204. package/dist/tools/page/schemas.js.map +0 -1
  1205. package/dist/tools/page/shared.schemas.d.ts +0 -38
  1206. package/dist/tools/page/shared.schemas.d.ts.map +0 -1
  1207. package/dist/tools/page/shared.schemas.js +0 -69
  1208. package/dist/tools/page/shared.schemas.js.map +0 -1
  1209. package/dist/tools/part/compare.tool.d.ts +0 -106
  1210. package/dist/tools/part/compare.tool.d.ts.map +0 -1
  1211. package/dist/tools/part/compare.tool.js +0 -421
  1212. package/dist/tools/part/compare.tool.js.map +0 -1
  1213. package/dist/tools/part/inspect.tool.d.ts +0 -108
  1214. package/dist/tools/part/inspect.tool.d.ts.map +0 -1
  1215. package/dist/tools/part/inspect.tool.js +0 -279
  1216. package/dist/tools/part/inspect.tool.js.map +0 -1
  1217. package/dist/tools/part/search.tool.d.ts +0 -121
  1218. package/dist/tools/part/search.tool.d.ts.map +0 -1
  1219. package/dist/tools/part/search.tool.js +0 -381
  1220. package/dist/tools/part/search.tool.js.map +0 -1
  1221. package/dist/tools/preference/get.tool.d.ts +0 -74
  1222. package/dist/tools/preference/get.tool.d.ts.map +0 -1
  1223. package/dist/tools/preference/get.tool.js +0 -175
  1224. package/dist/tools/preference/get.tool.js.map +0 -1
  1225. package/dist/tools/preference/hear.tool.d.ts +0 -267
  1226. package/dist/tools/preference/hear.tool.d.ts.map +0 -1
  1227. package/dist/tools/preference/hear.tool.js +0 -268
  1228. package/dist/tools/preference/hear.tool.js.map +0 -1
  1229. package/dist/tools/preference/index.d.ts +0 -16
  1230. package/dist/tools/preference/index.d.ts.map +0 -1
  1231. package/dist/tools/preference/index.js +0 -43
  1232. package/dist/tools/preference/index.js.map +0 -1
  1233. package/dist/tools/preference/reset.tool.d.ts +0 -71
  1234. package/dist/tools/preference/reset.tool.d.ts.map +0 -1
  1235. package/dist/tools/preference/reset.tool.js +0 -205
  1236. package/dist/tools/preference/reset.tool.js.map +0 -1
  1237. package/dist/tools/preference/schemas.d.ts +0 -174
  1238. package/dist/tools/preference/schemas.d.ts.map +0 -1
  1239. package/dist/tools/preference/schemas.js +0 -142
  1240. package/dist/tools/preference/schemas.js.map +0 -1
  1241. package/dist/tools/project-get.d.ts +0 -42
  1242. package/dist/tools/project-get.d.ts.map +0 -1
  1243. package/dist/tools/project-get.js +0 -152
  1244. package/dist/tools/project-get.js.map +0 -1
  1245. package/dist/tools/project-list.d.ts +0 -66
  1246. package/dist/tools/project-list.d.ts.map +0 -1
  1247. package/dist/tools/project-list.js +0 -201
  1248. package/dist/tools/project-list.js.map +0 -1
  1249. package/dist/tools/quality/batch-evaluate.tool.d.ts +0 -101
  1250. package/dist/tools/quality/batch-evaluate.tool.d.ts.map +0 -1
  1251. package/dist/tools/quality/batch-evaluate.tool.js +0 -393
  1252. package/dist/tools/quality/batch-evaluate.tool.js.map +0 -1
  1253. package/dist/tools/quality/evaluate-engine.d.ts +0 -166
  1254. package/dist/tools/quality/evaluate-engine.d.ts.map +0 -1
  1255. package/dist/tools/quality/evaluate-engine.js +0 -1061
  1256. package/dist/tools/quality/evaluate-engine.js.map +0 -1
  1257. package/dist/tools/quality/evaluate.tool.d.ts +0 -286
  1258. package/dist/tools/quality/evaluate.tool.d.ts.map +0 -1
  1259. package/dist/tools/quality/evaluate.tool.js +0 -815
  1260. package/dist/tools/quality/evaluate.tool.js.map +0 -1
  1261. package/dist/tools/quality/get-job-status.tool.d.ts +0 -44
  1262. package/dist/tools/quality/get-job-status.tool.d.ts.map +0 -1
  1263. package/dist/tools/quality/get-job-status.tool.js +0 -291
  1264. package/dist/tools/quality/get-job-status.tool.js.map +0 -1
  1265. package/dist/tools/quality/improvement-utils.d.ts +0 -24
  1266. package/dist/tools/quality/improvement-utils.d.ts.map +0 -1
  1267. package/dist/tools/quality/improvement-utils.js +0 -307
  1268. package/dist/tools/quality/improvement-utils.js.map +0 -1
  1269. package/dist/tools/quality/index.d.ts +0 -11
  1270. package/dist/tools/quality/index.d.ts.map +0 -1
  1271. package/dist/tools/quality/index.js +0 -49
  1272. package/dist/tools/quality/index.js.map +0 -1
  1273. package/dist/tools/quality/schemas.d.ts +0 -14098
  1274. package/dist/tools/quality/schemas.d.ts.map +0 -1
  1275. package/dist/tools/quality/schemas.js +0 -950
  1276. package/dist/tools/quality/schemas.js.map +0 -1
  1277. package/dist/tools/responsive/schemas.d.ts +0 -156
  1278. package/dist/tools/responsive/schemas.d.ts.map +0 -1
  1279. package/dist/tools/responsive/schemas.js +0 -86
  1280. package/dist/tools/responsive/schemas.js.map +0 -1
  1281. package/dist/tools/responsive/search.tool.d.ts +0 -130
  1282. package/dist/tools/responsive/search.tool.d.ts.map +0 -1
  1283. package/dist/tools/responsive/search.tool.js +0 -324
  1284. package/dist/tools/responsive/search.tool.js.map +0 -1
  1285. package/dist/tools/schemas/index.d.ts +0 -10
  1286. package/dist/tools/schemas/index.d.ts.map +0 -1
  1287. package/dist/tools/schemas/index.js +0 -45
  1288. package/dist/tools/schemas/index.js.map +0 -1
  1289. package/dist/tools/schemas/layout-schemas.d.ts +0 -521
  1290. package/dist/tools/schemas/layout-schemas.d.ts.map +0 -1
  1291. package/dist/tools/schemas/layout-schemas.js +0 -281
  1292. package/dist/tools/schemas/layout-schemas.js.map +0 -1
  1293. package/dist/tools/schemas/project-schemas.d.ts +0 -417
  1294. package/dist/tools/schemas/project-schemas.d.ts.map +0 -1
  1295. package/dist/tools/schemas/project-schemas.js +0 -159
  1296. package/dist/tools/schemas/project-schemas.js.map +0 -1
  1297. package/dist/tools/schemas/shared.d.ts +0 -107
  1298. package/dist/tools/schemas/shared.d.ts.map +0 -1
  1299. package/dist/tools/schemas/shared.js +0 -150
  1300. package/dist/tools/schemas/shared.js.map +0 -1
  1301. package/dist/tools/schemas/style-schemas.d.ts +0 -114
  1302. package/dist/tools/schemas/style-schemas.d.ts.map +0 -1
  1303. package/dist/tools/schemas/style-schemas.js +0 -61
  1304. package/dist/tools/schemas/style-schemas.js.map +0 -1
  1305. package/dist/tools/style-get-palette.d.ts +0 -136
  1306. package/dist/tools/style-get-palette.d.ts.map +0 -1
  1307. package/dist/tools/style-get-palette.js +0 -259
  1308. package/dist/tools/style-get-palette.js.map +0 -1
  1309. package/dist/tools/system-health.d.ts +0 -255
  1310. package/dist/tools/system-health.d.ts.map +0 -1
  1311. package/dist/tools/system-health.js +0 -463
  1312. package/dist/tools/system-health.js.map +0 -1
  1313. package/dist/transport.d.ts +0 -29
  1314. package/dist/transport.d.ts.map +0 -1
  1315. package/dist/transport.js +0 -50
  1316. package/dist/transport.js.map +0 -1
  1317. package/dist/types/creative/index.d.ts +0 -8
  1318. package/dist/types/creative/index.d.ts.map +0 -1
  1319. package/dist/types/creative/index.js +0 -5
  1320. package/dist/types/creative/index.js.map +0 -1
  1321. package/dist/types/creative/palette.d.ts +0 -142
  1322. package/dist/types/creative/palette.d.ts.map +0 -1
  1323. package/dist/types/creative/palette.js +0 -5
  1324. package/dist/types/creative/palette.js.map +0 -1
  1325. package/dist/types/reftrix-window.d.ts +0 -124
  1326. package/dist/types/reftrix-window.d.ts.map +0 -1
  1327. package/dist/types/reftrix-window.js +0 -68
  1328. package/dist/types/reftrix-window.js.map +0 -1
  1329. package/dist/utils/actionable-warning.d.ts +0 -170
  1330. package/dist/utils/actionable-warning.d.ts.map +0 -1
  1331. package/dist/utils/actionable-warning.js +0 -818
  1332. package/dist/utils/actionable-warning.js.map +0 -1
  1333. package/dist/utils/blank-image-detector.d.ts +0 -22
  1334. package/dist/utils/blank-image-detector.d.ts.map +0 -1
  1335. package/dist/utils/blank-image-detector.js +0 -133
  1336. package/dist/utils/blank-image-detector.js.map +0 -1
  1337. package/dist/utils/color.d.ts +0 -203
  1338. package/dist/utils/color.d.ts.map +0 -1
  1339. package/dist/utils/color.js +0 -442
  1340. package/dist/utils/color.js.map +0 -1
  1341. package/dist/utils/deprecation-warning.d.ts +0 -43
  1342. package/dist/utils/deprecation-warning.d.ts.map +0 -1
  1343. package/dist/utils/deprecation-warning.js +0 -112
  1344. package/dist/utils/deprecation-warning.js.map +0 -1
  1345. package/dist/utils/error-messages.d.ts +0 -233
  1346. package/dist/utils/error-messages.d.ts.map +0 -1
  1347. package/dist/utils/error-messages.js +0 -721
  1348. package/dist/utils/error-messages.js.map +0 -1
  1349. package/dist/utils/errors.d.ts +0 -64
  1350. package/dist/utils/errors.d.ts.map +0 -1
  1351. package/dist/utils/errors.js +0 -82
  1352. package/dist/utils/errors.js.map +0 -1
  1353. package/dist/utils/gpu-browser-args.d.ts +0 -27
  1354. package/dist/utils/gpu-browser-args.d.ts.map +0 -1
  1355. package/dist/utils/gpu-browser-args.js +0 -42
  1356. package/dist/utils/gpu-browser-args.js.map +0 -1
  1357. package/dist/utils/html-sanitizer.d.ts +0 -116
  1358. package/dist/utils/html-sanitizer.d.ts.map +0 -1
  1359. package/dist/utils/html-sanitizer.js +0 -630
  1360. package/dist/utils/html-sanitizer.js.map +0 -1
  1361. package/dist/utils/logger.d.ts +0 -141
  1362. package/dist/utils/logger.d.ts.map +0 -1
  1363. package/dist/utils/logger.js +0 -249
  1364. package/dist/utils/logger.js.map +0 -1
  1365. package/dist/utils/mcp-response.d.ts +0 -317
  1366. package/dist/utils/mcp-response.d.ts.map +0 -1
  1367. package/dist/utils/mcp-response.js +0 -270
  1368. package/dist/utils/mcp-response.js.map +0 -1
  1369. package/dist/utils/path-security.d.ts +0 -73
  1370. package/dist/utils/path-security.d.ts.map +0 -1
  1371. package/dist/utils/path-security.js +0 -389
  1372. package/dist/utils/path-security.js.map +0 -1
  1373. package/dist/utils/prisma-wrapper-factory.d.ts +0 -152
  1374. package/dist/utils/prisma-wrapper-factory.d.ts.map +0 -1
  1375. package/dist/utils/prisma-wrapper-factory.js +0 -124
  1376. package/dist/utils/prisma-wrapper-factory.js.map +0 -1
  1377. package/dist/utils/safe-parse-int.d.ts +0 -41
  1378. package/dist/utils/safe-parse-int.d.ts.map +0 -1
  1379. package/dist/utils/safe-parse-int.js +0 -49
  1380. package/dist/utils/safe-parse-int.js.map +0 -1
  1381. package/dist/utils/url-normalizer.d.ts +0 -38
  1382. package/dist/utils/url-normalizer.d.ts.map +0 -1
  1383. package/dist/utils/url-normalizer.js +0 -103
  1384. package/dist/utils/url-normalizer.js.map +0 -1
  1385. package/dist/utils/url-validator.d.ts +0 -86
  1386. package/dist/utils/url-validator.d.ts.map +0 -1
  1387. package/dist/utils/url-validator.js +0 -533
  1388. package/dist/utils/url-validator.js.map +0 -1
  1389. package/dist/workers/batch-quality-worker.d.ts +0 -87
  1390. package/dist/workers/batch-quality-worker.d.ts.map +0 -1
  1391. package/dist/workers/batch-quality-worker.js +0 -300
  1392. package/dist/workers/batch-quality-worker.js.map +0 -1
  1393. package/dist/workers/page-analyze-worker.d.ts +0 -63
  1394. package/dist/workers/page-analyze-worker.d.ts.map +0 -1
  1395. package/dist/workers/page-analyze-worker.js +0 -872
  1396. package/dist/workers/page-analyze-worker.js.map +0 -1
  1397. package/dist/workers/phases/phase-0-ingest.d.ts +0 -42
  1398. package/dist/workers/phases/phase-0-ingest.d.ts.map +0 -1
  1399. package/dist/workers/phases/phase-0-ingest.js +0 -197
  1400. package/dist/workers/phases/phase-0-ingest.js.map +0 -1
  1401. package/dist/workers/phases/phase-1-layout.d.ts +0 -63
  1402. package/dist/workers/phases/phase-1-layout.d.ts.map +0 -1
  1403. package/dist/workers/phases/phase-1-layout.js +0 -362
  1404. package/dist/workers/phases/phase-1-layout.js.map +0 -1
  1405. package/dist/workers/phases/phase-2-motion.d.ts +0 -93
  1406. package/dist/workers/phases/phase-2-motion.d.ts.map +0 -1
  1407. package/dist/workers/phases/phase-2-motion.js +0 -408
  1408. package/dist/workers/phases/phase-2-motion.js.map +0 -1
  1409. package/dist/workers/phases/phase-3-quality.d.ts +0 -61
  1410. package/dist/workers/phases/phase-3-quality.d.ts.map +0 -1
  1411. package/dist/workers/phases/phase-3-quality.js +0 -191
  1412. package/dist/workers/phases/phase-3-quality.js.map +0 -1
  1413. package/dist/workers/phases/phase-4-narrative.d.ts +0 -37
  1414. package/dist/workers/phases/phase-4-narrative.d.ts.map +0 -1
  1415. package/dist/workers/phases/phase-4-narrative.js +0 -309
  1416. package/dist/workers/phases/phase-4-narrative.js.map +0 -1
  1417. package/dist/workers/phases/phase-5-embedding.d.ts +0 -56
  1418. package/dist/workers/phases/phase-5-embedding.d.ts.map +0 -1
  1419. package/dist/workers/phases/phase-5-embedding.js +0 -1350
  1420. package/dist/workers/phases/phase-5-embedding.js.map +0 -1
  1421. package/dist/workers/phases/types.d.ts +0 -411
  1422. package/dist/workers/phases/types.d.ts.map +0 -1
  1423. package/dist/workers/phases/types.js +0 -540
  1424. package/dist/workers/phases/types.js.map +0 -1
@@ -1,2001 +0,0 @@
1
- "use strict";
2
- // SPDX-FileCopyrightText: 2026 TKMD and Reftrix Contributors
3
- // SPDX-License-Identifier: AGPL-3.0-only
4
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
- if (k2 === undefined) k2 = k;
6
- var desc = Object.getOwnPropertyDescriptor(m, k);
7
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
- desc = { enumerable: true, get: function() { return m[k]; } };
9
- }
10
- Object.defineProperty(o, k2, desc);
11
- }) : (function(o, m, k, k2) {
12
- if (k2 === undefined) k2 = k;
13
- o[k2] = m[k];
14
- }));
15
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
- Object.defineProperty(o, "default", { enumerable: true, value: v });
17
- }) : function(o, v) {
18
- o["default"] = v;
19
- });
20
- var __importStar = (this && this.__importStar) || (function () {
21
- var ownKeys = function(o) {
22
- ownKeys = Object.getOwnPropertyNames || function (o) {
23
- var ar = [];
24
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
- return ar;
26
- };
27
- return ownKeys(o);
28
- };
29
- return function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
- })();
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.LayoutAnalyzerService = void 0;
39
- exports.applyComputedStylesToHtml = applyComputedStylesToHtml;
40
- exports.findMatchingComputedStyles = findMatchingComputedStyles;
41
- exports.getLayoutAnalyzerService = getLayoutAnalyzerService;
42
- exports.resetLayoutAnalyzerService = resetLayoutAnalyzerService;
43
- /**
44
- * Layout Analyzer Service
45
- *
46
- * Cheerioを使用したレイアウト解析サービス
47
- * @reftrixmcp/webdesign-core の SectionDetector を活用
48
- *
49
- * 機能:
50
- * - セクション検出(セマンティック要素、class/id名ベース)
51
- * - グリッド/フレックスレイアウト検出
52
- * - タイポグラフィ解析
53
- * - 色抽出
54
- *
55
- * @module services/page/layout-analyzer.service
56
- */
57
- const webdesign_core_1 = require("@reftrixmcp/webdesign-core");
58
- const cheerio = __importStar(require("cheerio"));
59
- const uuid_1 = require("uuid");
60
- const logger_1 = require("../../utils/logger");
61
- const external_css_fetcher_1 = require("../external-css-fetcher");
62
- // =====================================================
63
- // Computed Styles インライン適用関数
64
- // =====================================================
65
- /**
66
- * フィルタリング対象外のスタイルプロパティ値
67
- * これらの値は意味がないため除外する
68
- */
69
- const FILTER_OUT_VALUES = [
70
- "none",
71
- "normal",
72
- "auto",
73
- "initial",
74
- "inherit",
75
- "unset",
76
- "0px",
77
- "rgba(0, 0, 0, 0)",
78
- "transparent",
79
- "matrix(1, 0, 0, 1, 0, 0)",
80
- ];
81
- /**
82
- * camelCase を kebab-case に変換
83
- *
84
- * @param str - camelCase文字列
85
- * @returns kebab-case文字列
86
- */
87
- function camelToKebab(str) {
88
- return str.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);
89
- }
90
- /**
91
- * ElementComputedStyles を CSS文字列に変換
92
- *
93
- * 意味のない値(none, normal, auto等)はフィルタリングして除外する
94
- *
95
- * @param styles - ElementComputedStyles オブジェクト
96
- * @returns インラインスタイル用CSS文字列
97
- */
98
- function stylesToString(styles) {
99
- return Object.entries(styles)
100
- .filter(([_, value]) => {
101
- // 値が存在しない場合は除外
102
- if (!value || value.trim().length === 0) {
103
- return false;
104
- }
105
- // フィルタリング対象の値を除外
106
- if (FILTER_OUT_VALUES.includes(value)) {
107
- return false;
108
- }
109
- return true;
110
- })
111
- .map(([key, value]) => `${camelToKebab(key)}: ${value}`)
112
- .join("; ");
113
- }
114
- /**
115
- * セクションHTMLに computed styles をインラインスタイルとして適用
116
- *
117
- * セクションのルート要素と子要素に対して、取得した computed styles を
118
- * style 属性として適用し、外部CSSなしで見た目を再現可能にする
119
- *
120
- * @param htmlSnippet - 対象のHTMLスニペット
121
- * @param computedStyles - 対応する ComputedStyleInfo(ルート要素 + 子要素のスタイル)
122
- * @returns computed styles が適用されたHTML
123
- */
124
- function applyComputedStylesToHtml(htmlSnippet, computedStyles) {
125
- if (!htmlSnippet || !computedStyles) {
126
- return htmlSnippet;
127
- }
128
- try {
129
- const $ = cheerio.load(htmlSnippet, {
130
- xmlMode: false,
131
- });
132
- // 1. ルート要素にスタイルを適用
133
- const rootElement = $("body > *").first();
134
- if (rootElement.length > 0 && computedStyles.styles) {
135
- const rootStyleStr = stylesToString(computedStyles.styles);
136
- if (rootStyleStr.length > 0) {
137
- // 既存のstyle属性があれば結合、なければ設定
138
- const existingStyle = rootElement.attr("style") || "";
139
- const newStyle = existingStyle ? `${existingStyle}; ${rootStyleStr}` : rootStyleStr;
140
- rootElement.attr("style", newStyle);
141
- }
142
- }
143
- // 2. 子要素にスタイルを適用
144
- if (computedStyles.children && computedStyles.children.length > 0) {
145
- for (const child of computedStyles.children) {
146
- applyChildStyles($, child);
147
- }
148
- }
149
- // <html><head></head><body>...</body></html> の body 内のみを返す
150
- const result = $("body").html();
151
- return result || htmlSnippet;
152
- }
153
- catch (error) {
154
- if ((0, logger_1.isDevelopment)()) {
155
- logger_1.logger.warn("[LayoutAnalyzerService] Failed to apply computed styles to HTML", {
156
- error: error instanceof Error ? error.message : "Unknown error",
157
- });
158
- }
159
- // エラー時は元のHTMLをそのまま返す
160
- return htmlSnippet;
161
- }
162
- }
163
- /**
164
- * 子要素に computed styles を適用
165
- *
166
- * @param $ - CheerioAPI
167
- * @param child - 子要素のスタイル情報
168
- */
169
- function applyChildStyles($, child) {
170
- if (!child.styles) {
171
- return;
172
- }
173
- const styleStr = stylesToString(child.styles);
174
- if (styleStr.length === 0) {
175
- return;
176
- }
177
- // セレクタまたはパスを使って要素を特定
178
- let elements;
179
- // 1. セレクタがあればそれを使用
180
- if (child.selector && child.selector.length > 0) {
181
- try {
182
- elements = $(child.selector);
183
- }
184
- catch {
185
- // セレクタが無効な場合はパスにフォールバック
186
- elements = $();
187
- }
188
- }
189
- else if (child.path && child.path.length > 0) {
190
- // 2. パスを使用(例: "div > h1")
191
- try {
192
- elements = $(child.path);
193
- }
194
- catch {
195
- elements = $();
196
- }
197
- }
198
- else {
199
- // 3. タグ名とクラス名で特定
200
- const tagName = child.tagName.toLowerCase();
201
- if (child.className && child.className.length > 0) {
202
- // 最初のクラス名のみ使用(複数クラスの場合)
203
- const firstClass = child.className.split(/\s+/)[0];
204
- try {
205
- elements = $(`${tagName}.${firstClass}`);
206
- }
207
- catch {
208
- elements = $(tagName);
209
- }
210
- }
211
- else {
212
- elements = $(tagName);
213
- }
214
- }
215
- // 見つかった要素にスタイルを適用
216
- elements.each((_, elem) => {
217
- const existingStyle = $(elem).attr("style") || "";
218
- const newStyle = existingStyle ? `${existingStyle}; ${styleStr}` : styleStr;
219
- $(elem).attr("style", newStyle);
220
- });
221
- }
222
- /**
223
- * セクションインデックスに基づいて対応する computed styles を見つける
224
- *
225
- * @param sectionIndex - セクションのインデックス
226
- * @param computedStyles - 全 computed styles 配列
227
- * @returns 対応する ComputedStyleInfo または undefined
228
- */
229
- function findMatchingComputedStyles(sectionIndex, computedStyles) {
230
- if (!computedStyles || computedStyles.length === 0) {
231
- return undefined;
232
- }
233
- // インデックスで検索
234
- return computedStyles.find((cs) => cs.index === sectionIndex);
235
- }
236
- /**
237
- * CSSからグリッド/フレックスレイアウトを検出
238
- */
239
- function detectGridLayout(_$, html) {
240
- const info = {
241
- hasGrid: false,
242
- hasFlex: false,
243
- };
244
- // インラインスタイルとスタイルタグからグリッド検出
245
- const hasGridDisplay = html.includes("display: grid") ||
246
- html.includes("display:grid") ||
247
- html.match(/display\s*:\s*grid/i) !== null;
248
- const hasFlexDisplay = html.includes("display: flex") ||
249
- html.includes("display:flex") ||
250
- html.match(/display\s*:\s*flex/i) !== null;
251
- info.hasGrid = hasGridDisplay;
252
- info.hasFlex = hasFlexDisplay;
253
- // グリッドカラム数を推定
254
- if (hasGridDisplay) {
255
- // grid-template-columns パターンを検出
256
- const columnMatch = html.match(/grid-template-columns:\s*repeat\s*\(\s*(\d+)/i);
257
- if (columnMatch && columnMatch[1]) {
258
- info.columnCount = parseInt(columnMatch[1], 10);
259
- }
260
- else {
261
- // fr単位やピクセル値からカラム数を推定
262
- const frMatch = html.match(/grid-template-columns:\s*([^;]+)/i);
263
- if (frMatch && frMatch[1]) {
264
- const frCount = (frMatch[1].match(/\dfr|\d+px|auto/gi) || []).length;
265
- if (frCount > 0) {
266
- info.columnCount = frCount;
267
- }
268
- }
269
- }
270
- // gap/ガター幅を推定
271
- const gapMatch = html.match(/(?:grid-)?gap:\s*(\d+)px/i);
272
- if (gapMatch && gapMatch[1]) {
273
- info.gutterWidth = parseInt(gapMatch[1], 10);
274
- }
275
- }
276
- return info;
277
- }
278
- /**
279
- * タイポグラフィ情報を抽出
280
- */
281
- function extractTypography($, html) {
282
- const headings = [];
283
- const fontSizes = new Set();
284
- const fontFamilies = new Set();
285
- // 見出し要素を抽出
286
- for (let level = 1; level <= 6; level++) {
287
- const $headings = $(`h${level}`);
288
- if ($headings.length > 0) {
289
- headings.push({
290
- level,
291
- count: $headings.length,
292
- });
293
- }
294
- }
295
- // CSSからフォントサイズを抽出
296
- const fontSizeMatches = html.match(/font-size:\s*([^;}\s]+)/gi);
297
- if (fontSizeMatches) {
298
- for (const match of fontSizeMatches) {
299
- const size = match.replace(/font-size:\s*/i, "").trim();
300
- if (size) {
301
- fontSizes.add(size);
302
- }
303
- }
304
- }
305
- // CSSからフォントファミリーを抽出
306
- const fontFamilyMatches = html.match(/font-family:\s*([^;]+)/gi);
307
- if (fontFamilyMatches) {
308
- for (const match of fontFamilyMatches) {
309
- const family = match.replace(/font-family:\s*/i, "").trim();
310
- // 最初のフォント名を抽出
311
- const firstFont = family.split(",")[0]?.replace(/['"]/g, "").trim();
312
- if (firstFont) {
313
- fontFamilies.add(firstFont);
314
- }
315
- }
316
- }
317
- // exactOptionalPropertyTypes対応: undefined を代入せずプロパティを省略
318
- const result = {
319
- headings,
320
- };
321
- if (fontSizes.size > 0) {
322
- result.fontSizes = Array.from(fontSizes);
323
- }
324
- if (fontFamilies.size > 0) {
325
- result.fontFamilies = Array.from(fontFamilies);
326
- }
327
- return result;
328
- }
329
- /**
330
- * 色情報を抽出(CSS変数解決対応)
331
- *
332
- * CSS変数(var(--color-bg) 等)を実際の色値に解決してから抽出します。
333
- * これにより、ax1.vcのようなCSS変数を多用するサイトでも
334
- * 正確に色情報を取得できます。
335
- *
336
- * @param $ - CheerioAPI
337
- * @param html - HTML文字列
338
- * @param externalCss - 外部CSSコンテンツ(オプション)
339
- * @returns ColorInfo
340
- */
341
- function extractColors($, html, externalCss) {
342
- const backgroundColors = new Set();
343
- const textColors = new Set();
344
- let hasGradients = false;
345
- // CSS変数リゾルバを初期化
346
- const resolver = new webdesign_core_1.CssVariableResolver();
347
- // HTMLから変数定義を抽出
348
- resolver.extractVariablesFromHtml(html);
349
- // 外部CSSからも変数定義を抽出
350
- if (externalCss) {
351
- resolver.extractVariablesFromCss(externalCss);
352
- }
353
- if ((0, logger_1.isDevelopment)()) {
354
- logger_1.logger.info("[LayoutAnalyzerService] CSS variables extracted", {
355
- variableCount: resolver.size,
356
- });
357
- }
358
- // ヘルパー: 色値を解決して追加
359
- const resolveAndAddColor = (value, colorSet) => {
360
- const trimmedValue = value.trim();
361
- if (!trimmedValue)
362
- return;
363
- // CSS変数を解決
364
- const result = resolver.resolve(trimmedValue);
365
- const resolvedValue = result.success && result.resolvedValue ? result.resolvedValue : trimmedValue;
366
- // 有効な色値かチェック
367
- if ((0, webdesign_core_1.isValidColorValue)(resolvedValue)) {
368
- colorSet.add(resolvedValue);
369
- }
370
- };
371
- // ヘルパー: CSSテキストから色を抽出
372
- const extractColorsFromCssText = (cssText) => {
373
- // 背景色を抽出
374
- const bgColorPattern = /background(?:-color)?:\s*([^;}\n]+)/gi;
375
- let match;
376
- while ((match = bgColorPattern.exec(cssText)) !== null) {
377
- const value = match[1]?.trim();
378
- if (value) {
379
- // グラデーションチェック
380
- if (value.includes("gradient")) {
381
- hasGradients = true;
382
- }
383
- else if (!value.includes("url(")) {
384
- resolveAndAddColor(value, backgroundColors);
385
- }
386
- }
387
- }
388
- // テキスト色を抽出(background-colorではなくcolorのみ)
389
- const colorPattern = /(?:^|[;\s{])color:\s*([^;}\n]+)/gi;
390
- while ((match = colorPattern.exec(cssText)) !== null) {
391
- const value = match[1]?.trim();
392
- if (value) {
393
- resolveAndAddColor(value, textColors);
394
- }
395
- }
396
- };
397
- // 1. 全要素のstyle属性から色を抽出
398
- $("[style]").each((_, elem) => {
399
- const styleAttr = $(elem).attr("style");
400
- if (styleAttr) {
401
- extractColorsFromCssText(styleAttr);
402
- }
403
- });
404
- // 2. <style>タグ内のCSSからも色を抽出
405
- $("style").each((_, elem) => {
406
- const cssContent = $(elem).html();
407
- if (cssContent) {
408
- extractColorsFromCssText(cssContent);
409
- }
410
- });
411
- // 3. 外部CSSからも抽出
412
- if (externalCss) {
413
- extractColorsFromCssText(externalCss);
414
- }
415
- // パレット生成(頻出色上位)
416
- const allColors = [...backgroundColors, ...textColors];
417
- const palette = Array.from(new Set(allColors)).slice(0, 10);
418
- // exactOptionalPropertyTypes対応: undefined を代入せずプロパティを省略
419
- const result = {
420
- hasGradients,
421
- };
422
- if (backgroundColors.size > 0) {
423
- result.backgroundColors = Array.from(backgroundColors);
424
- }
425
- if (textColors.size > 0) {
426
- result.textColors = Array.from(textColors);
427
- }
428
- if (palette.length > 0) {
429
- result.palette = palette;
430
- }
431
- return result;
432
- }
433
- /**
434
- * HTMLからCSSスニペットを抽出
435
- *
436
- * 抽出対象:
437
- * - <style>タグ内のCSS(有効なセレクタ付きルールのみ)
438
- * - 外部CSSリンク(参照のみ、@import形式)
439
- *
440
- * 注意:
441
- * - インラインスタイル(style属性)は抽出しない
442
- * → セレクタなしの宣言は無効なCSSとなるため
443
- * → スタイルはhtmlSnippet内のstyle属性として既に適用されている
444
- *
445
- * @param $ - CheerioAPI
446
- * @returns CSSスニペット
447
- */
448
- function extractCssSnippet($) {
449
- const cssChunks = [];
450
- // 1. <style>タグからCSS抽出
451
- $("style").each((_, elem) => {
452
- const css = $(elem).html();
453
- if (css && css.trim().length > 0) {
454
- cssChunks.push(`/* <style> tag */\n${css.trim()}`);
455
- }
456
- });
457
- // 2. インラインスタイルは抽出しない
458
- // 理由: セレクタなしのCSS宣言は無効であり、ブラウザで無視される
459
- // 実際のスタイルはhtmlSnippet内の各要素のstyle属性に保持されている
460
- // 3. 外部CSS参照
461
- const externalCss = [];
462
- $('link[rel="stylesheet"]').each((_, elem) => {
463
- const href = $(elem).attr("href");
464
- if (href && href.trim().length > 0) {
465
- externalCss.push(href.trim());
466
- }
467
- });
468
- if (externalCss.length > 0) {
469
- cssChunks.push(`/* External CSS References (${externalCss.length} files) */\n${externalCss.map((href) => `@import url("${href}");`).join("\n")}`);
470
- }
471
- return cssChunks.length > 0 ? cssChunks.join("\n\n") : "";
472
- }
473
- /**
474
- * HTMLから外部CSSリンクのURLを抽出
475
- *
476
- * @param $ - CheerioAPI
477
- * @param baseUrl - ベースURL(相対URL解決用)
478
- * @returns 外部CSSのURL配列
479
- */
480
- function extractExternalCssUrls($, baseUrl) {
481
- const urls = [];
482
- $('link[rel="stylesheet"]').each((_, elem) => {
483
- const href = $(elem).attr("href");
484
- if (href && href.trim().length > 0) {
485
- const trimmedHref = href.trim();
486
- // 相対URLを絶対URLに解決
487
- try {
488
- const absoluteUrl = new URL(trimmedHref, baseUrl).href;
489
- urls.push(absoluteUrl);
490
- }
491
- catch {
492
- // URLが無効な場合はスキップ
493
- if ((0, logger_1.isDevelopment)()) {
494
- logger_1.logger.warn("[LayoutAnalyzerService] Invalid CSS URL", { href: trimmedHref, baseUrl });
495
- }
496
- }
497
- }
498
- });
499
- return urls;
500
- }
501
- /**
502
- * 外部CSSファイルを取得してCSSスニペットに結合
503
- *
504
- * @param $ - CheerioAPI
505
- * @param options - 外部CSS取得オプション
506
- * @returns CSSスニペットと取得結果
507
- */
508
- async function extractCssWithExternalContent($, options) {
509
- const startTime = Date.now();
510
- const cssChunks = [];
511
- const externalCssContentChunks = [];
512
- // 1. <style>タグからCSS抽出
513
- $("style").each((_, elem) => {
514
- const css = $(elem).html();
515
- if (css && css.trim().length > 0) {
516
- cssChunks.push(`/* <style> tag */\n${css.trim()}`);
517
- }
518
- });
519
- // 2. インラインスタイルは抽出しない
520
- // 理由: セレクタなしのCSS宣言は無効であり、ブラウザで無視される
521
- // 実際のスタイルはhtmlSnippet内の各要素のstyle属性に保持されている
522
- // 3. 外部CSS参照(@import)
523
- const baseUrl = options.baseUrl ?? "";
524
- const maxCssFiles = options.maxCssFiles ?? 20;
525
- // preExtractedUrlsが渡された場合はそれを使用
526
- // (DOMPurifyで<link>タグが除去される問題の回避策)
527
- let externalCssUrls;
528
- if (options.preExtractedUrls && options.preExtractedUrls.length > 0) {
529
- externalCssUrls = options.preExtractedUrls;
530
- if ((0, logger_1.isDevelopment)()) {
531
- logger_1.logger.debug("[LayoutAnalyzerService] Using pre-extracted CSS URLs", {
532
- count: externalCssUrls.length,
533
- });
534
- }
535
- }
536
- else {
537
- externalCssUrls = extractExternalCssUrls($, baseUrl);
538
- }
539
- // 最大取得数を制限
540
- if (externalCssUrls.length > maxCssFiles) {
541
- if ((0, logger_1.isDevelopment)()) {
542
- logger_1.logger.warn("[LayoutAnalyzerService] Limiting external CSS files", {
543
- total: externalCssUrls.length,
544
- limit: maxCssFiles,
545
- });
546
- }
547
- externalCssUrls = externalCssUrls.slice(0, maxCssFiles);
548
- }
549
- // 参照用の@importを追加(外部CSSはexternalCssContentに分離)
550
- if (externalCssUrls.length > 0) {
551
- cssChunks.push(`/* External CSS References (${externalCssUrls.length} files) */\n${externalCssUrls.map((href) => `@import url("${href}");`).join("\n")}`);
552
- }
553
- let fetchResult = {
554
- successCount: 0,
555
- failedCount: 0,
556
- totalSize: 0,
557
- processingTimeMs: 0,
558
- results: [],
559
- };
560
- if (externalCssUrls.length > 0) {
561
- const fetcher = new external_css_fetcher_1.ExternalCssFetcher({
562
- timeout: options.timeout ?? 5000,
563
- maxSize: options.maxSize ?? 5 * 1024 * 1024, // 5MB
564
- maxConcurrent: options.maxConcurrent ?? 5,
565
- });
566
- if ((0, logger_1.isDevelopment)()) {
567
- logger_1.logger.debug("[LayoutAnalyzerService] Fetching external CSS files", {
568
- count: externalCssUrls.length,
569
- urls: externalCssUrls,
570
- });
571
- }
572
- const fetchAllOptions = {
573
- timeout: options.timeout ?? 5000,
574
- maxSize: options.maxSize ?? 5 * 1024 * 1024,
575
- maxConcurrent: options.maxConcurrent ?? 5,
576
- continueOnError: true,
577
- };
578
- // v0.1.0: 全体の外部CSS取得に30秒のハードタイムアウトを設定
579
- // 多数のファイル(Tildaサイト等で43ファイル)のバッチ処理で
580
- // 合計時間が膨れてページ分析全体がタイムアウトするのを防止
581
- const EXTERNAL_CSS_OVERALL_TIMEOUT_MS = 30000; // 30秒
582
- try {
583
- const fetchAllResult = await Promise.race([
584
- fetcher.fetchAllCss(externalCssUrls, fetchAllOptions),
585
- new Promise((_, reject) => {
586
- setTimeout(() => {
587
- reject(new Error(`External CSS fetch overall timeout after ${EXTERNAL_CSS_OVERALL_TIMEOUT_MS}ms`));
588
- }, EXTERNAL_CSS_OVERALL_TIMEOUT_MS);
589
- }),
590
- ]);
591
- // 結果を外部CSSチャンクに追加
592
- for (const result of fetchAllResult.results) {
593
- if (result.success && result.content) {
594
- const contentSize = result.contentSize ?? new TextEncoder().encode(result.content).length;
595
- externalCssContentChunks.push(`/* External CSS: ${result.url} (${contentSize} bytes) */\n${result.content}`);
596
- }
597
- }
598
- // FetchAllCssDetailedResultの値を直接使用
599
- fetchResult = {
600
- successCount: fetchAllResult.successCount,
601
- failedCount: fetchAllResult.failedCount,
602
- totalSize: fetchAllResult.totalSize,
603
- processingTimeMs: Date.now() - startTime,
604
- results: fetchAllResult.results.map((r) => {
605
- const result = {
606
- url: r.url,
607
- content: r.success && r.content ? r.content : null,
608
- };
609
- if (r.error) {
610
- result.error = r.error;
611
- }
612
- return result;
613
- }),
614
- };
615
- if ((0, logger_1.isDevelopment)()) {
616
- logger_1.logger.debug("[LayoutAnalyzerService] External CSS fetch completed", {
617
- successCount: fetchResult.successCount,
618
- failedCount: fetchResult.failedCount,
619
- totalSize: fetchResult.totalSize,
620
- processingTimeMs: fetchResult.processingTimeMs,
621
- });
622
- }
623
- }
624
- catch (overallFetchError) {
625
- // 全体タイムアウト: Graceful Degradation(インラインCSSのみで分析を継続)
626
- if ((0, logger_1.isDevelopment)()) {
627
- logger_1.logger.warn("[LayoutAnalyzerService] External CSS fetch overall timeout (graceful degradation)", {
628
- error: overallFetchError instanceof Error
629
- ? overallFetchError.message
630
- : String(overallFetchError),
631
- urlCount: externalCssUrls.length,
632
- timeoutMs: EXTERNAL_CSS_OVERALL_TIMEOUT_MS,
633
- });
634
- }
635
- // fetchResult はデフォルト値のまま(successCount: 0)
636
- }
637
- }
638
- return {
639
- cssSnippet: cssChunks.length > 0 ? cssChunks.join("\n\n") : "",
640
- externalCssContent: externalCssContentChunks.length > 0 ? externalCssContentChunks.join("\n\n") : "",
641
- fetchResult,
642
- };
643
- }
644
- // =====================================================
645
- // CSSフレームワーク検出
646
- // =====================================================
647
- /**
648
- * Tailwind CSS検出パターン
649
- */
650
- const TAILWIND_CDN_PATTERNS = [
651
- "cdn.tailwindcss.com",
652
- "tailwindcss.min.css",
653
- "tailwindcss/base",
654
- "tailwindcss/components",
655
- "tailwindcss/utilities",
656
- ];
657
- /**
658
- * Tailwind CSSユーティリティクラスパターン
659
- */
660
- const TAILWIND_UTILITY_PATTERNS = [
661
- // Layout
662
- "flex",
663
- "grid",
664
- "block",
665
- "inline",
666
- "hidden",
667
- "absolute",
668
- "relative",
669
- "fixed",
670
- "sticky",
671
- "items-center",
672
- "items-start",
673
- "items-end",
674
- "items-stretch",
675
- "justify-center",
676
- "justify-between",
677
- "justify-start",
678
- "justify-end",
679
- "justify-around",
680
- "flex-col",
681
- "flex-row",
682
- "flex-wrap",
683
- "flex-1",
684
- // Spacing - regex patterns
685
- /^p-\d+$/,
686
- /^px-\d+$/,
687
- /^py-\d+$/,
688
- /^pt-\d+$/,
689
- /^pb-\d+$/,
690
- /^pl-\d+$/,
691
- /^pr-\d+$/,
692
- /^m-\d+$/,
693
- /^mx-\d+$/,
694
- /^my-\d+$/,
695
- /^mt-\d+$/,
696
- /^mb-\d+$/,
697
- /^ml-\d+$/,
698
- /^mr-\d+$/,
699
- /^-m\w?-\d+$/, // negative margins
700
- /^gap-\d+$/,
701
- /^gap-x-\d+$/,
702
- /^gap-y-\d+$/,
703
- /^space-[xy]-\d+$/,
704
- // Sizing
705
- /^w-\d+$/,
706
- /^w-full$/,
707
- /^w-screen$/,
708
- /^w-auto$/,
709
- /^w-\d+\/\d+$/,
710
- /^h-\d+$/,
711
- /^h-full$/,
712
- /^h-screen$/,
713
- /^h-auto$/,
714
- /^min-w-/,
715
- /^max-w-/,
716
- /^min-h-/,
717
- /^max-h-/,
718
- // Colors
719
- /^bg-\w+-\d+$/,
720
- /^bg-\w+$/,
721
- /^bg-gradient-/,
722
- /^text-\w+-\d+$/,
723
- /^text-white$/,
724
- /^text-black$/,
725
- /^border-\w+-\d+$/,
726
- /^border-\w+$/,
727
- // Typography
728
- /^text-(xs|sm|base|lg|xl|2xl|3xl|4xl|5xl|6xl|7xl|8xl|9xl)$/,
729
- /^font-(thin|extralight|light|normal|medium|semibold|bold|extrabold|black)$/,
730
- /^leading-\d+$/,
731
- /^tracking-\w+$/,
732
- // Borders & Rounded
733
- /^rounded(-\w+)?$/,
734
- /^rounded-(sm|md|lg|xl|2xl|3xl|full|none)$/,
735
- /^border(-\d+)?$/,
736
- /^border-(t|b|l|r)-\d+$/,
737
- // Shadows
738
- /^shadow(-\w+)?$/,
739
- // Transforms
740
- /^scale-\d+$/,
741
- /^rotate-\d+$/,
742
- /^translate-[xy]-\d+$/,
743
- // Containers
744
- "container",
745
- "mx-auto",
746
- // Grid
747
- /^grid-cols-\d+$/,
748
- /^col-span-\d+$/,
749
- /^grid-rows-\d+$/,
750
- /^row-span-\d+$/,
751
- // Hover/Focus states
752
- /^hover:/,
753
- /^focus:/,
754
- /^active:/,
755
- /^disabled:/,
756
- // Responsive prefixes
757
- /^(sm|md|lg|xl|2xl):/,
758
- ];
759
- /**
760
- * Bootstrap検出パターン
761
- */
762
- const BOOTSTRAP_CDN_PATTERNS = [
763
- "bootstrap.min.css",
764
- "bootstrap.css",
765
- "bootstrap.bundle",
766
- "cdn.jsdelivr.net/npm/bootstrap",
767
- "stackpath.bootstrapcdn.com",
768
- "maxcdn.bootstrapcdn.com/bootstrap",
769
- ];
770
- /**
771
- * Bootstrapクラスパターン
772
- */
773
- const BOOTSTRAP_CLASS_PATTERNS = [
774
- // Components
775
- "navbar",
776
- "navbar-expand",
777
- "navbar-dark",
778
- "navbar-light",
779
- "navbar-brand",
780
- "navbar-nav",
781
- "nav-link",
782
- "nav-item",
783
- "btn",
784
- /^btn-\w+$/,
785
- "btn-primary",
786
- "btn-secondary",
787
- "btn-success",
788
- "btn-danger",
789
- "btn-warning",
790
- "btn-info",
791
- "btn-light",
792
- "btn-dark",
793
- "card",
794
- "card-body",
795
- "card-header",
796
- "card-footer",
797
- "card-title",
798
- "card-text",
799
- "card-img",
800
- "card-img-top",
801
- "modal",
802
- "modal-dialog",
803
- "modal-content",
804
- "modal-header",
805
- "modal-body",
806
- "modal-footer",
807
- "alert",
808
- /^alert-\w+$/,
809
- "badge",
810
- /^badge-\w+$/,
811
- "form-control",
812
- "form-group",
813
- "form-label",
814
- "form-check",
815
- "form-select",
816
- "table",
817
- "table-striped",
818
- "table-bordered",
819
- "table-hover",
820
- "list-group",
821
- "list-group-item",
822
- "dropdown",
823
- "dropdown-menu",
824
- "dropdown-item",
825
- "dropdown-toggle",
826
- "accordion",
827
- "accordion-item",
828
- "accordion-header",
829
- "accordion-body",
830
- // Layout
831
- "container",
832
- "container-fluid",
833
- "container-sm",
834
- "container-md",
835
- "container-lg",
836
- "container-xl",
837
- "row",
838
- "col",
839
- /^col-\d+$/,
840
- /^col-md-\d+$/,
841
- /^col-lg-\d+$/,
842
- /^col-sm-\d+$/,
843
- /^col-xl-\d+$/,
844
- // Utilities
845
- "d-flex",
846
- "d-grid",
847
- "d-block",
848
- "d-inline",
849
- "d-none",
850
- "justify-content-center",
851
- "justify-content-between",
852
- "justify-content-start",
853
- "justify-content-end",
854
- "align-items-center",
855
- "align-items-start",
856
- "align-items-end",
857
- /^mt-\d+$/,
858
- /^mb-\d+$/,
859
- /^ms-\d+$/,
860
- /^me-\d+$/,
861
- /^mx-\d+$/,
862
- /^my-\d+$/,
863
- /^pt-\d+$/,
864
- /^pb-\d+$/,
865
- /^ps-\d+$/,
866
- /^pe-\d+$/,
867
- /^px-\d+$/,
868
- /^py-\d+$/,
869
- /^text-\w+$/,
870
- /^bg-\w+$/,
871
- ];
872
- /**
873
- * CSS Modules検出パターン
874
- * 複数の形式に対応:
875
- * 1. 従来形式: component_class__hash (e.g., Header_title__abc123)
876
- * 2. GitHub/Next.js形式: ComponentName-module__className--hash (e.g., MarketingNavigation-module__nav--jA9Zq)
877
- * 3. Vite形式: _class_hash (e.g., _title_1a2b3)
878
- * 4. Webpack 5形式: ComponentModule-class-hash (e.g., HeaderModule-title-abc12)
879
- */
880
- const CSS_MODULES_PATTERNS = [
881
- // 従来形式: component_class__hash
882
- /^[a-zA-Z][a-zA-Z0-9]*_[a-zA-Z][a-zA-Z0-9]*__[a-zA-Z0-9]{5,}$/,
883
- // GitHub/Next.js形式: ComponentName-module__className--hash
884
- /^[a-zA-Z][a-zA-Z0-9]*-module__[a-zA-Z][a-zA-Z0-9_-]*--[a-zA-Z0-9]{4,}$/,
885
- // 汎用形式: ComponentName__className--hash (moduleなし)
886
- /^[a-zA-Z][a-zA-Z0-9-]*__[a-zA-Z][a-zA-Z0-9_-]*--[a-zA-Z0-9]{4,}$/,
887
- // Vite形式: _class_hash
888
- /^_[a-zA-Z][a-zA-Z0-9]*_[a-zA-Z0-9]{5,}$/,
889
- ];
890
- /**
891
- * styled-components / Emotion検出パターン
892
- */
893
- const STYLED_COMPONENTS_PATTERNS = [
894
- /^sc-[a-zA-Z0-9]+$/, // styled-components: sc-xyz123
895
- /^css-[a-zA-Z0-9]+$/, // Emotion: css-xyz123
896
- /^emotion-[a-zA-Z0-9]+$/, // Emotion: emotion-xyz123
897
- /^e[a-z0-9]{6,}$/, // Emotion hash classes
898
- ];
899
- // =====================================================
900
- // No-Code Tools / Additional Framework Patterns
901
- // =====================================================
902
- /**
903
- * Webflow CDN検出パターン
904
- */
905
- const WEBFLOW_CDN_PATTERNS = [
906
- "assets.website-files.com",
907
- "uploads-ssl.webflow.com",
908
- "global-uploads.webflow.com",
909
- "d3e54v103j8qbb.cloudfront.net", // Webflow CDN
910
- ];
911
- /**
912
- * Webflowクラス検出パターン
913
- * Webflowは .w-* クラスパターンを使用
914
- * 3つ以上マッチで確定(高信頼度)
915
- */
916
- const WEBFLOW_CLASS_PATTERNS = [
917
- // Layout
918
- /^w-container$/,
919
- /^w-row$/,
920
- /^w-col$/,
921
- /^w-col-\d+$/,
922
- /^w-layout-grid$/,
923
- /^w-layout-\w+$/, // w-layout-* variants
924
- // Display/Inline
925
- /^w-inline-block$/,
926
- /^w-inline$/,
927
- /^w-block$/,
928
- // Navigation
929
- /^w-nav$/,
930
- /^w-nav-brand$/,
931
- /^w-nav-menu$/,
932
- /^w-nav-link$/,
933
- /^w-nav-button$/,
934
- /^w-nav-overlay$/,
935
- /^w-icon-nav-menu$/,
936
- // Form
937
- /^w-form$/,
938
- /^w-form-\w+$/, // w-form-done, w-form-fail, etc.
939
- /^w-input$/,
940
- /^w-button$/,
941
- /^w-select$/,
942
- /^w-checkbox$/,
943
- /^w-checkbox-input$/,
944
- /^w-radio$/,
945
- /^w-radio-input$/,
946
- /^w-file-upload$/,
947
- /^w-file-upload-\w+$/,
948
- // Slider
949
- /^w-slider$/,
950
- /^w-slide$/,
951
- /^w-slider-arrow-left$/,
952
- /^w-slider-arrow-right$/,
953
- /^w-slider-nav$/,
954
- /^w-slider-dot$/,
955
- /^w-slider-mask$/,
956
- // Tabs
957
- /^w-tabs$/,
958
- /^w-tab-menu$/,
959
- /^w-tab-link$/,
960
- /^w-tab-content$/,
961
- /^w-tab-pane$/,
962
- // Lightbox
963
- /^w-lightbox$/,
964
- /^w-lightbox-thumbnail$/,
965
- /^w-lightbox-\w+$/,
966
- // Dropdown
967
- /^w-dropdown$/,
968
- /^w-dropdown-toggle$/,
969
- /^w-dropdown-list$/,
970
- /^w-dropdown-link$/,
971
- /^w-dropdown-btn$/,
972
- // Rich text
973
- /^w-richtext$/,
974
- /^w-richtext-\w+$/,
975
- // Embed
976
- /^w-embed$/,
977
- /^w-embed-\w+$/,
978
- // Video
979
- /^w-background-video$/,
980
- /^w-video$/,
981
- /^w-video-\w+$/,
982
- // State classes (w--current, w--open, etc.)
983
- /^w--current$/,
984
- /^w--open$/,
985
- /^w--active$/,
986
- /^w--redirecting-to-tab$/,
987
- /^w--tab-active$/,
988
- // Modifier classes (w-mod-*)
989
- /^w-mod-\w+$/,
990
- /^w-mod-touch$/,
991
- /^w-mod-js$/,
992
- // Responsive hiding
993
- /^w-hidden-\w+$/,
994
- /^w-hidden$/,
995
- // Condition classes
996
- /^w-condition-invisible$/,
997
- // Dynamic list
998
- /^w-dyn-list$/,
999
- /^w-dyn-item$/,
1000
- /^w-dyn-items$/,
1001
- /^w-dyn-bind-empty$/,
1002
- // Commerce
1003
- /^w-commerce-\w+$/,
1004
- ];
1005
- /**
1006
- * jQuery UI CDN検出パターン
1007
- */
1008
- const JQUERY_UI_CDN_PATTERNS = [
1009
- "code.jquery.com/ui",
1010
- "jquery-ui.min.js",
1011
- "jquery-ui.js",
1012
- "jquery-ui.min.css",
1013
- "jquery-ui.css",
1014
- "themes/base/jquery-ui",
1015
- ];
1016
- /**
1017
- * jQuery UIクラス検出パターン
1018
- * jQuery UIは ui-* クラスパターンを使用
1019
- */
1020
- const JQUERY_UI_CLASS_PATTERNS = [
1021
- // Core
1022
- /^ui-widget$/,
1023
- /^ui-widget-header$/,
1024
- /^ui-widget-content$/,
1025
- /^ui-widget-overlay$/,
1026
- /^ui-helper-\w+$/,
1027
- /^ui-corner-\w+$/,
1028
- // States
1029
- /^ui-state-default$/,
1030
- /^ui-state-hover$/,
1031
- /^ui-state-focus$/,
1032
- /^ui-state-active$/,
1033
- /^ui-state-highlight$/,
1034
- /^ui-state-error$/,
1035
- /^ui-state-disabled$/,
1036
- // Buttons
1037
- /^ui-button$/,
1038
- /^ui-button-\w+$/,
1039
- // Dialog
1040
- /^ui-dialog$/,
1041
- /^ui-dialog-\w+$/,
1042
- // Accordion
1043
- /^ui-accordion$/,
1044
- /^ui-accordion-\w+$/,
1045
- // Tabs
1046
- /^ui-tabs$/,
1047
- /^ui-tabs-\w+$/,
1048
- // Menu
1049
- /^ui-menu$/,
1050
- /^ui-menu-\w+$/,
1051
- // Autocomplete
1052
- /^ui-autocomplete$/,
1053
- /^ui-autocomplete-\w+$/,
1054
- // Datepicker
1055
- /^ui-datepicker$/,
1056
- /^ui-datepicker-\w+$/,
1057
- // Progressbar
1058
- /^ui-progressbar$/,
1059
- /^ui-progressbar-\w+$/,
1060
- // Slider (jQuery UI Slider)
1061
- /^ui-slider$/,
1062
- /^ui-slider-\w+$/,
1063
- // Sortable/Draggable
1064
- /^ui-sortable$/,
1065
- /^ui-draggable$/,
1066
- /^ui-droppable$/,
1067
- /^ui-resizable$/,
1068
- /^ui-selectable$/,
1069
- ];
1070
- /**
1071
- * Squarespace CDN検出パターン
1072
- */
1073
- const SQUARESPACE_CDN_PATTERNS = [
1074
- "static1.squarespace.com",
1075
- "static.squarespace.com",
1076
- "squarespace-cdn.com",
1077
- "sqsp.io",
1078
- ];
1079
- /**
1080
- * Squarespaceクラス検出パターン
1081
- * Squarespaceは sqs-* クラスパターンを使用
1082
- */
1083
- const SQUARESPACE_CLASS_PATTERNS = [
1084
- // Layout
1085
- /^sqs-layout$/,
1086
- /^sqs-row$/,
1087
- /^sqs-col-\d+$/,
1088
- /^sqs-grid-\d+$/,
1089
- // Blocks
1090
- /^sqs-block$/,
1091
- /^sqs-block-\w+$/,
1092
- /^sqs-block-content$/,
1093
- // Gallery
1094
- /^sqs-gallery$/,
1095
- /^sqs-gallery-\w+$/,
1096
- // Slide
1097
- /^sqs-slide$/,
1098
- /^sqs-slide-\w+$/,
1099
- // Other
1100
- /^sqs-image$/,
1101
- /^sqs-title$/,
1102
- /^sqs-button$/,
1103
- /^sqs-video$/,
1104
- /^sqs-audio$/,
1105
- /^sqs-html-content$/,
1106
- ];
1107
- /**
1108
- * Framer検出パターン(クラス + data-framer-* 属性)
1109
- */
1110
- const FRAMER_CLASS_PATTERNS = [
1111
- // Class patterns
1112
- /^framer-[a-zA-Z0-9]+$/, // framer-1abc23
1113
- /^framer-text$/,
1114
- /^framer-container$/,
1115
- /^framer-button$/,
1116
- /^framer-link$/,
1117
- /^framer-image$/,
1118
- /^framer-video$/,
1119
- /^framer-nav$/,
1120
- /^framer-rich-text-container$/,
1121
- ];
1122
- /**
1123
- * Framer data-* 属性検出パターン
1124
- */
1125
- const FRAMER_DATA_ATTRIBUTES = [
1126
- "data-framer-name",
1127
- "data-framer-component-type",
1128
- "data-framer-appear-id",
1129
- "data-framer-generated",
1130
- ];
1131
- /**
1132
- * Elementor CDN検出パターン
1133
- */
1134
- const ELEMENTOR_CDN_PATTERNS = [
1135
- "/wp-content/plugins/elementor/",
1136
- "/wp-content/plugins/elementor-pro/",
1137
- "elementor/assets/",
1138
- ];
1139
- /**
1140
- * Elementorクラス検出パターン
1141
- * Elementorは elementor-* クラスパターンを使用
1142
- */
1143
- const ELEMENTOR_CLASS_PATTERNS = [
1144
- // Core
1145
- /^elementor$/,
1146
- /^elementor-\d+$/, // elementor-123
1147
- /^elementor-page$/,
1148
- /^elementor-kit-\d+$/,
1149
- // Sections
1150
- /^elementor-section$/,
1151
- /^elementor-section-\w+$/,
1152
- /^elementor-top-section$/,
1153
- /^elementor-inner-section$/,
1154
- // Columns
1155
- /^elementor-column$/,
1156
- /^elementor-col-\d+$/,
1157
- /^elementor-column-gap-\w+$/,
1158
- // Widgets
1159
- /^elementor-widget$/,
1160
- /^elementor-widget-\w+$/,
1161
- /^elementor-widget-container$/,
1162
- /^elementor-widget-wrap$/,
1163
- // Container
1164
- /^elementor-container$/,
1165
- // Elements
1166
- /^elementor-heading-title$/,
1167
- /^elementor-button$/,
1168
- /^elementor-button-\w+$/,
1169
- /^elementor-image$/,
1170
- /^elementor-size-\w+$/,
1171
- /^elementor-text-editor$/,
1172
- ];
1173
- /**
1174
- * Wixクラス検出パターン
1175
- * Wixは wixui-* や comp-* などのパターンを使用
1176
- */
1177
- const WIX_CLASS_PATTERNS = [
1178
- // wixui components
1179
- /^wixui-\w+$/,
1180
- /^wixui-vertical-menu$/,
1181
- /^wixui-vertical-menu__\w+$/,
1182
- /^wixui-button$/,
1183
- /^wixui-button__\w+$/,
1184
- /^wixui-rich-text$/,
1185
- /^wixui-rich-text__\w+$/,
1186
- // comp- patterns
1187
- /^comp-\w+$/,
1188
- // font classes (Wix specific)
1189
- /^font_\d+$/,
1190
- // _3xyz hash classes (common in Wix)
1191
- /^_[0-9a-zA-Z]{4,}$/,
1192
- ];
1193
- /**
1194
- * Wix構造検出パターン(ID)
1195
- */
1196
- const WIX_STRUCTURE_IDS = [
1197
- "SITE_CONTAINER",
1198
- "SITE_HEADER",
1199
- "SITE_PAGES",
1200
- "SITE_FOOTER",
1201
- "masterPage",
1202
- "PAGES_CONTAINER",
1203
- ];
1204
- /**
1205
- * クラス名がパターンにマッチするかチェック
1206
- */
1207
- function matchesPattern(className, pattern) {
1208
- if (typeof pattern === "string") {
1209
- return className === pattern;
1210
- }
1211
- return pattern.test(className);
1212
- }
1213
- /**
1214
- * HTMLからCSSフレームワークを検出
1215
- *
1216
- * 検出対象:
1217
- * - Tailwind CSS(CDNスクリプト/リンク、ユーティリティクラス)
1218
- * - Bootstrap(CDNリンク、コンポーネントクラス)
1219
- * - CSS Modules([component]_[class]__[hash] 形式)
1220
- * - styled-components/Emotion(sc-*, css-* 形式)
1221
- * - Webflow(.w-* クラスパターン)
1222
- * - jQuery UI(.ui-* クラスパターン)
1223
- * - Squarespace(.sqs-* クラスパターン)
1224
- * - Framer(.framer-* クラス、data-framer-* 属性)
1225
- * - Elementor(.elementor-* クラスパターン)
1226
- * - Wix(.wixui-* クラス、SITE_* 構造)
1227
- * - vanilla CSS(上記に該当しない場合)
1228
- *
1229
- * @param $ - CheerioAPI
1230
- * @param html - 元のHTML文字列(CDN検出用)
1231
- * @returns CSSフレームワーク検出結果
1232
- */
1233
- function detectCssFramework($, html) {
1234
- const scores = [
1235
- { framework: "tailwind", score: 0, evidence: [], cdnDetected: false },
1236
- { framework: "bootstrap", score: 0, evidence: [], cdnDetected: false },
1237
- { framework: "css_modules", score: 0, evidence: [], cdnDetected: false },
1238
- { framework: "styled_components", score: 0, evidence: [], cdnDetected: false },
1239
- { framework: "webflow", score: 0, evidence: [], cdnDetected: false },
1240
- { framework: "jquery_ui", score: 0, evidence: [], cdnDetected: false },
1241
- { framework: "squarespace", score: 0, evidence: [], cdnDetected: false },
1242
- { framework: "framer", score: 0, evidence: [], cdnDetected: false },
1243
- { framework: "elementor", score: 0, evidence: [], cdnDetected: false },
1244
- { framework: "wix", score: 0, evidence: [], cdnDetected: false },
1245
- ];
1246
- const getScore = (framework) => scores.find((s) => s.framework === framework);
1247
- // =====================================================
1248
- // 1. CDN/外部参照検出(高信頼度)
1249
- // =====================================================
1250
- // Tailwind CDN検出
1251
- for (const pattern of TAILWIND_CDN_PATTERNS) {
1252
- if (html.includes(pattern)) {
1253
- getScore("tailwind").score += 50;
1254
- getScore("tailwind").evidence.push(`CDN detected: ${pattern}`);
1255
- getScore("tailwind").cdnDetected = true;
1256
- }
1257
- }
1258
- // Bootstrap CDN検出
1259
- for (const pattern of BOOTSTRAP_CDN_PATTERNS) {
1260
- if (html.includes(pattern)) {
1261
- getScore("bootstrap").score += 50;
1262
- getScore("bootstrap").evidence.push(`CDN detected: ${pattern}`);
1263
- getScore("bootstrap").cdnDetected = true;
1264
- }
1265
- }
1266
- // Webflow CDN検出
1267
- for (const pattern of WEBFLOW_CDN_PATTERNS) {
1268
- if (html.includes(pattern)) {
1269
- getScore("webflow").score += 50;
1270
- getScore("webflow").evidence.push(`Webflow CDN detected: ${pattern}`);
1271
- getScore("webflow").cdnDetected = true;
1272
- }
1273
- }
1274
- // jQuery UI CDN検出
1275
- for (const pattern of JQUERY_UI_CDN_PATTERNS) {
1276
- if (html.includes(pattern)) {
1277
- getScore("jquery_ui").score += 50;
1278
- getScore("jquery_ui").evidence.push(`jQuery UI CDN detected: ${pattern}`);
1279
- getScore("jquery_ui").cdnDetected = true;
1280
- }
1281
- }
1282
- // Squarespace CDN検出
1283
- for (const pattern of SQUARESPACE_CDN_PATTERNS) {
1284
- if (html.includes(pattern)) {
1285
- getScore("squarespace").score += 50;
1286
- getScore("squarespace").evidence.push(`Squarespace CDN detected: ${pattern}`);
1287
- getScore("squarespace").cdnDetected = true;
1288
- }
1289
- }
1290
- // Elementor CDN検出
1291
- for (const pattern of ELEMENTOR_CDN_PATTERNS) {
1292
- if (html.includes(pattern)) {
1293
- getScore("elementor").score += 50;
1294
- getScore("elementor").evidence.push(`Elementor plugin detected: ${pattern}`);
1295
- getScore("elementor").cdnDetected = true;
1296
- }
1297
- }
1298
- // =====================================================
1299
- // 2. data-* 属性検出(Framer専用)
1300
- // =====================================================
1301
- let framerDataAttrCount = 0;
1302
- for (const attr of FRAMER_DATA_ATTRIBUTES) {
1303
- const elements = $(`[${attr}]`);
1304
- if (elements.length > 0) {
1305
- framerDataAttrCount += elements.length;
1306
- }
1307
- }
1308
- if (framerDataAttrCount > 0) {
1309
- const attrScore = Math.min(framerDataAttrCount * 10, 60);
1310
- getScore("framer").score += attrScore;
1311
- getScore("framer").evidence.push(`Found ${framerDataAttrCount} Framer data-* attributes`);
1312
- }
1313
- // =====================================================
1314
- // 3. Wix構造検出(ID ベース)
1315
- // =====================================================
1316
- let wixStructureCount = 0;
1317
- for (const id of WIX_STRUCTURE_IDS) {
1318
- if ($(`#${id}`).length > 0) {
1319
- wixStructureCount++;
1320
- }
1321
- }
1322
- if (wixStructureCount >= 2) {
1323
- const structureScore = Math.min(wixStructureCount * 15, 45);
1324
- getScore("wix").score += structureScore;
1325
- getScore("wix").evidence.push(`Found ${wixStructureCount} Wix structure IDs (SITE_*)`);
1326
- }
1327
- // =====================================================
1328
- // 4. クラス名パターン検出
1329
- // =====================================================
1330
- // 全クラス名を収集
1331
- const allClasses = new Set();
1332
- $("[class]").each((_, elem) => {
1333
- const classAttr = $(elem).attr("class");
1334
- if (classAttr) {
1335
- for (const className of classAttr.split(/\s+/)) {
1336
- const trimmed = className.trim();
1337
- if (trimmed.length > 0) {
1338
- allClasses.add(trimmed);
1339
- }
1340
- }
1341
- }
1342
- });
1343
- // クラス名カウンター
1344
- let tailwindClassCount = 0;
1345
- let bootstrapClassCount = 0;
1346
- let cssModulesClassCount = 0;
1347
- let styledComponentsClassCount = 0;
1348
- let webflowClassCount = 0;
1349
- let jqueryUiClassCount = 0;
1350
- let squarespaceClassCount = 0;
1351
- let framerClassCount = 0;
1352
- let elementorClassCount = 0;
1353
- let wixClassCount = 0;
1354
- const cssModulesExamples = [];
1355
- const styledComponentsExamples = [];
1356
- const webflowExamples = [];
1357
- const jqueryUiExamples = [];
1358
- const squarespaceExamples = [];
1359
- const framerExamples = [];
1360
- const elementorExamples = [];
1361
- const wixExamples = [];
1362
- for (const className of allClasses) {
1363
- // Tailwind検出
1364
- for (const pattern of TAILWIND_UTILITY_PATTERNS) {
1365
- if (matchesPattern(className, pattern)) {
1366
- tailwindClassCount++;
1367
- break;
1368
- }
1369
- }
1370
- // Bootstrap検出
1371
- for (const pattern of BOOTSTRAP_CLASS_PATTERNS) {
1372
- if (matchesPattern(className, pattern)) {
1373
- bootstrapClassCount++;
1374
- break;
1375
- }
1376
- }
1377
- // CSS Modules検出(複数パターンに対応)
1378
- for (const cssModulesPattern of CSS_MODULES_PATTERNS) {
1379
- if (cssModulesPattern.test(className)) {
1380
- cssModulesClassCount++;
1381
- if (cssModulesExamples.length < 3) {
1382
- cssModulesExamples.push(className);
1383
- }
1384
- break;
1385
- }
1386
- }
1387
- // styled-components / Emotion検出
1388
- for (const pattern of STYLED_COMPONENTS_PATTERNS) {
1389
- if (pattern.test(className)) {
1390
- styledComponentsClassCount++;
1391
- if (styledComponentsExamples.length < 3) {
1392
- styledComponentsExamples.push(className);
1393
- }
1394
- break;
1395
- }
1396
- }
1397
- // Webflow検出
1398
- for (const pattern of WEBFLOW_CLASS_PATTERNS) {
1399
- if (matchesPattern(className, pattern)) {
1400
- webflowClassCount++;
1401
- if (webflowExamples.length < 3) {
1402
- webflowExamples.push(className);
1403
- }
1404
- break;
1405
- }
1406
- }
1407
- // jQuery UI検出
1408
- for (const pattern of JQUERY_UI_CLASS_PATTERNS) {
1409
- if (matchesPattern(className, pattern)) {
1410
- jqueryUiClassCount++;
1411
- if (jqueryUiExamples.length < 3) {
1412
- jqueryUiExamples.push(className);
1413
- }
1414
- break;
1415
- }
1416
- }
1417
- // Squarespace検出
1418
- for (const pattern of SQUARESPACE_CLASS_PATTERNS) {
1419
- if (matchesPattern(className, pattern)) {
1420
- squarespaceClassCount++;
1421
- if (squarespaceExamples.length < 3) {
1422
- squarespaceExamples.push(className);
1423
- }
1424
- break;
1425
- }
1426
- }
1427
- // Framer検出
1428
- for (const pattern of FRAMER_CLASS_PATTERNS) {
1429
- if (matchesPattern(className, pattern)) {
1430
- framerClassCount++;
1431
- if (framerExamples.length < 3) {
1432
- framerExamples.push(className);
1433
- }
1434
- break;
1435
- }
1436
- }
1437
- // Elementor検出
1438
- for (const pattern of ELEMENTOR_CLASS_PATTERNS) {
1439
- if (matchesPattern(className, pattern)) {
1440
- elementorClassCount++;
1441
- if (elementorExamples.length < 3) {
1442
- elementorExamples.push(className);
1443
- }
1444
- break;
1445
- }
1446
- }
1447
- // Wix検出
1448
- for (const pattern of WIX_CLASS_PATTERNS) {
1449
- if (matchesPattern(className, pattern)) {
1450
- wixClassCount++;
1451
- if (wixExamples.length < 3) {
1452
- wixExamples.push(className);
1453
- }
1454
- break;
1455
- }
1456
- }
1457
- }
1458
- // =====================================================
1459
- // 5. スコア計算
1460
- // =====================================================
1461
- // Tailwind: ユーティリティクラス数に基づくスコア
1462
- if (tailwindClassCount > 0) {
1463
- // 10クラス以上で顕著、30クラス以上で確実
1464
- const classScore = Math.min(tailwindClassCount * 2, 50);
1465
- getScore("tailwind").score += classScore;
1466
- getScore("tailwind").evidence.push(`Found ${tailwindClassCount} Tailwind utility classes`);
1467
- }
1468
- // Bootstrap: コンポーネントクラス数に基づくスコア
1469
- if (bootstrapClassCount > 0) {
1470
- const classScore = Math.min(bootstrapClassCount * 3, 50);
1471
- getScore("bootstrap").score += classScore;
1472
- getScore("bootstrap").evidence.push(`Found ${bootstrapClassCount} Bootstrap component classes`);
1473
- }
1474
- // CSS Modules: ハッシュ付きクラス数に基づくスコア
1475
- if (cssModulesClassCount > 0) {
1476
- const classScore = Math.min(cssModulesClassCount * 5, 70);
1477
- getScore("css_modules").score += classScore;
1478
- getScore("css_modules").evidence.push(`Found ${cssModulesClassCount} CSS Modules pattern classes (e.g., ${cssModulesExamples.join(", ")})`);
1479
- }
1480
- // styled-components: パターンマッチ数に基づくスコア
1481
- if (styledComponentsClassCount > 0) {
1482
- const classScore = Math.min(styledComponentsClassCount * 5, 70);
1483
- getScore("styled_components").score += classScore;
1484
- getScore("styled_components").evidence.push(`Found ${styledComponentsClassCount} styled-components/Emotion classes (e.g., ${styledComponentsExamples.join(", ")})`);
1485
- }
1486
- // Webflow: w-* クラス数に基づくスコア
1487
- if (webflowClassCount > 0) {
1488
- const classScore = Math.min(webflowClassCount * 5, 70);
1489
- getScore("webflow").score += classScore;
1490
- getScore("webflow").evidence.push(`Found ${webflowClassCount} Webflow classes (e.g., ${webflowExamples.join(", ")})`);
1491
- }
1492
- // jQuery UI: ui-* クラス数に基づくスコア
1493
- if (jqueryUiClassCount > 0) {
1494
- const classScore = Math.min(jqueryUiClassCount * 5, 70);
1495
- getScore("jquery_ui").score += classScore;
1496
- getScore("jquery_ui").evidence.push(`Found ${jqueryUiClassCount} jQuery UI classes (e.g., ${jqueryUiExamples.join(", ")})`);
1497
- }
1498
- // Squarespace: sqs-* クラス数に基づくスコア
1499
- if (squarespaceClassCount > 0) {
1500
- const classScore = Math.min(squarespaceClassCount * 5, 70);
1501
- getScore("squarespace").score += classScore;
1502
- getScore("squarespace").evidence.push(`Found ${squarespaceClassCount} Squarespace classes (e.g., ${squarespaceExamples.join(", ")})`);
1503
- }
1504
- // Framer: framer-* クラス数に基づくスコア
1505
- if (framerClassCount > 0) {
1506
- const classScore = Math.min(framerClassCount * 5, 70);
1507
- getScore("framer").score += classScore;
1508
- getScore("framer").evidence.push(`Found ${framerClassCount} Framer classes (e.g., ${framerExamples.join(", ")})`);
1509
- }
1510
- // Elementor: elementor-* クラス数に基づくスコア
1511
- if (elementorClassCount > 0) {
1512
- const classScore = Math.min(elementorClassCount * 5, 70);
1513
- getScore("elementor").score += classScore;
1514
- getScore("elementor").evidence.push(`Found ${elementorClassCount} Elementor classes (e.g., ${elementorExamples.join(", ")})`);
1515
- }
1516
- // Wix: comp-* / style-* クラス数に基づくスコア
1517
- if (wixClassCount > 0) {
1518
- const classScore = Math.min(wixClassCount * 5, 70);
1519
- getScore("wix").score += classScore;
1520
- getScore("wix").evidence.push(`Found ${wixClassCount} Wix classes (e.g., ${wixExamples.join(", ")})`);
1521
- }
1522
- // =====================================================
1523
- // 4. CSS変数検出
1524
- // =====================================================
1525
- const cssVariablesResult = detectCssVariables(html);
1526
- // =====================================================
1527
- // 5. 結果決定
1528
- // =====================================================
1529
- // 最高スコアのフレームワークを選択
1530
- const sortedScores = [...scores].sort((a, b) => b.score - a.score);
1531
- const topScore = sortedScores[0];
1532
- // スコアが低すぎる場合はvanilla
1533
- if (!topScore || topScore.score < 10) {
1534
- const vanillaResult = {
1535
- framework: "vanilla",
1536
- confidence: 0.3,
1537
- evidence: ["No significant CSS framework patterns detected"],
1538
- };
1539
- // CSS変数が検出された場合のみcompositeを追加
1540
- if (cssVariablesResult.detected) {
1541
- vanillaResult.composite = {
1542
- primary: "vanilla",
1543
- secondary: [],
1544
- confidenceMap: { vanilla: 0.3 },
1545
- hasCssVariables: true,
1546
- cssVariablesConfidence: cssVariablesResult.confidence,
1547
- };
1548
- vanillaResult.evidence.push(`Detected ${cssVariablesResult.variableCount} CSS custom properties (e.g., ${cssVariablesResult.examples.slice(0, 3).join(", ")})`);
1549
- }
1550
- return vanillaResult;
1551
- }
1552
- // 信頼度計算(0-1)
1553
- // CDN検出 → 高信頼度、クラスパターンのみ → 中程度
1554
- let confidence;
1555
- if (topScore.cdnDetected) {
1556
- confidence = Math.min(0.9 + (topScore.score - 50) * 0.002, 0.99);
1557
- }
1558
- else {
1559
- // クラスパターンのみの場合、スコアに基づく信頼度
1560
- confidence = Math.min(0.5 + topScore.score * 0.01, 0.89);
1561
- }
1562
- // =====================================================
1563
- // 6. 複合検出結果の構築
1564
- // =====================================================
1565
- const result = {
1566
- framework: topScore.framework,
1567
- confidence: Math.round(confidence * 100) / 100,
1568
- evidence: topScore.evidence,
1569
- };
1570
- // セカンダリフレームワークを検出(プライマリの30%以上のスコアがあるもの)
1571
- const secondaryThreshold = topScore.score * 0.3;
1572
- const secondaryFrameworks = [];
1573
- const confidenceMap = {
1574
- [topScore.framework]: result.confidence,
1575
- };
1576
- for (let i = 1; i < sortedScores.length; i++) {
1577
- const scoreEntry = sortedScores[i];
1578
- if (scoreEntry === undefined) {
1579
- continue;
1580
- }
1581
- if (scoreEntry.score >= secondaryThreshold && scoreEntry.score >= 10) {
1582
- secondaryFrameworks.push(scoreEntry.framework);
1583
- // セカンダリの信頼度計算
1584
- let secondaryConfidence;
1585
- if (scoreEntry.cdnDetected) {
1586
- secondaryConfidence = Math.min(0.9 + (scoreEntry.score - 50) * 0.002, 0.99);
1587
- }
1588
- else {
1589
- secondaryConfidence = Math.min(0.5 + scoreEntry.score * 0.01, 0.89);
1590
- }
1591
- confidenceMap[scoreEntry.framework] = Math.round(secondaryConfidence * 100) / 100;
1592
- // evidenceにセカンダリ検出を追加
1593
- const evidenceText = scoreEntry.evidence[0] ?? "pattern matches";
1594
- result.evidence.push(`Also detected ${scoreEntry.framework}: ${evidenceText}`);
1595
- }
1596
- }
1597
- // 複合検出がある場合(セカンダリフレームワークまたはCSS変数がある場合)
1598
- if (secondaryFrameworks.length > 0 || cssVariablesResult.detected) {
1599
- result.composite = {
1600
- primary: topScore.framework,
1601
- secondary: secondaryFrameworks,
1602
- confidenceMap,
1603
- hasCssVariables: cssVariablesResult.detected,
1604
- };
1605
- if (cssVariablesResult.detected) {
1606
- result.composite.cssVariablesConfidence = cssVariablesResult.confidence;
1607
- result.evidence.push(`Detected ${cssVariablesResult.variableCount} CSS custom properties (e.g., ${cssVariablesResult.examples.slice(0, 3).join(", ")})`);
1608
- }
1609
- }
1610
- return result;
1611
- }
1612
- function detectCssVariables(html) {
1613
- // var(--*) パターンを検出(クラス属性、style属性、<style>タグ内)
1614
- const varPattern = /var\s*\(\s*(--[\w-]+)\s*(?:,\s*[^)]+)?\s*\)/g;
1615
- const definitionPattern = /(--[\w-]+)\s*:/g;
1616
- const usedVariables = new Set();
1617
- const definedVariables = new Set();
1618
- // var(--*) の使用を検出
1619
- let match;
1620
- while ((match = varPattern.exec(html)) !== null) {
1621
- const varName = match[1];
1622
- if (varName !== undefined) {
1623
- usedVariables.add(varName);
1624
- }
1625
- }
1626
- // --variable: の定義を検出
1627
- while ((match = definitionPattern.exec(html)) !== null) {
1628
- const varName = match[1];
1629
- if (varName !== undefined) {
1630
- definedVariables.add(varName);
1631
- }
1632
- }
1633
- const allVariables = new Set([...usedVariables, ...definedVariables]);
1634
- const variableCount = allVariables.size;
1635
- const examples = Array.from(allVariables).slice(0, 5);
1636
- if (variableCount === 0) {
1637
- return {
1638
- detected: false,
1639
- confidence: 0,
1640
- variableCount: 0,
1641
- examples: [],
1642
- };
1643
- }
1644
- // 信頼度計算
1645
- // 3個以上で中程度、10個以上で高信頼度
1646
- let confidence;
1647
- if (variableCount >= 10) {
1648
- confidence = Math.min(0.8 + variableCount * 0.01, 0.95);
1649
- }
1650
- else if (variableCount >= 3) {
1651
- confidence = 0.6 + variableCount * 0.03;
1652
- }
1653
- else {
1654
- confidence = 0.4 + variableCount * 0.1;
1655
- }
1656
- return {
1657
- detected: true,
1658
- confidence: Math.round(confidence * 100) / 100,
1659
- variableCount,
1660
- examples,
1661
- };
1662
- }
1663
- /**
1664
- * CoreDetectedSection を DetectedSection に変換
1665
- *
1666
- * @param coreSection - コアのセクション
1667
- * @param includeContent - コンテンツを含めるか
1668
- * @param includeStyles - スタイルを含めるか
1669
- * @param sectionIndex - セクションインデックス(computed styles マッチング用)
1670
- * @param computedStyles - Computed Styles配列(オプション)
1671
- * @returns 変換されたDetectedSection(computed styles適用済みの場合はhtmlSnippetにインラインスタイル含む)
1672
- */
1673
- function convertSection(coreSection, includeContent, includeStyles, sectionIndex, computedStyles) {
1674
- const section = {
1675
- id: (0, uuid_1.v7)(),
1676
- type: coreSection.type,
1677
- confidence: coreSection.confidence,
1678
- position: {
1679
- startY: coreSection.position.startY,
1680
- endY: coreSection.position.endY,
1681
- height: coreSection.position.height,
1682
- },
1683
- };
1684
- // 要素情報 - exactOptionalPropertyTypes対応
1685
- const element = {
1686
- tagName: coreSection.element.tagName,
1687
- };
1688
- if (coreSection.element.selector !== undefined) {
1689
- element.selector = coreSection.element.selector;
1690
- }
1691
- if (coreSection.element.classes !== undefined) {
1692
- element.classes = coreSection.element.classes;
1693
- }
1694
- if (coreSection.element.id !== undefined) {
1695
- element.id = coreSection.element.id;
1696
- }
1697
- section.element = element;
1698
- // コンテンツ情報(オプション)- exactOptionalPropertyTypes対応
1699
- if (includeContent && coreSection.content) {
1700
- const content = {};
1701
- if (coreSection.content.headings !== undefined) {
1702
- content.headings = coreSection.content.headings;
1703
- }
1704
- if (coreSection.content.paragraphs !== undefined) {
1705
- content.paragraphs = coreSection.content.paragraphs;
1706
- }
1707
- if (coreSection.content.links !== undefined) {
1708
- content.links = coreSection.content.links;
1709
- }
1710
- if (coreSection.content.images !== undefined) {
1711
- // images の alt プロパティも exactOptionalPropertyTypes 対応
1712
- content.images = coreSection.content.images.map((img) => {
1713
- const result = { src: img.src };
1714
- if (img.alt !== undefined) {
1715
- result.alt = img.alt;
1716
- }
1717
- return result;
1718
- });
1719
- }
1720
- if (coreSection.content.buttons !== undefined) {
1721
- content.buttons = coreSection.content.buttons.map((b) => {
1722
- const result = { text: b.text };
1723
- if (b.type !== undefined) {
1724
- result.type = b.type;
1725
- }
1726
- return result;
1727
- });
1728
- }
1729
- section.content = content;
1730
- }
1731
- // スタイル情報(オプション)- exactOptionalPropertyTypes対応
1732
- if (includeStyles && coreSection.style) {
1733
- const style = {};
1734
- if (coreSection.style.backgroundColor !== undefined) {
1735
- style.backgroundColor = coreSection.style.backgroundColor;
1736
- }
1737
- if (coreSection.style.textColor !== undefined) {
1738
- style.textColor = coreSection.style.textColor;
1739
- }
1740
- if (coreSection.style.hasGradient !== undefined) {
1741
- style.hasGradient = coreSection.style.hasGradient;
1742
- }
1743
- if (coreSection.style.hasImage !== undefined) {
1744
- style.hasImage = coreSection.style.hasImage;
1745
- }
1746
- section.style = style;
1747
- }
1748
- // HTMLスニペット(存在する場合のみ)- exactOptionalPropertyTypes対応
1749
- if (coreSection.htmlSnippet !== undefined) {
1750
- let htmlSnippet = coreSection.htmlSnippet;
1751
- // Computed Styles をインラインスタイルとして適用
1752
- if (computedStyles && computedStyles.length > 0 && sectionIndex !== undefined) {
1753
- const matchingStyles = findMatchingComputedStyles(sectionIndex, computedStyles);
1754
- if (matchingStyles) {
1755
- htmlSnippet = applyComputedStylesToHtml(htmlSnippet, matchingStyles);
1756
- if ((0, logger_1.isDevelopment)()) {
1757
- logger_1.logger.debug("[convertSection] Applied computed styles to section", {
1758
- sectionIndex,
1759
- sectionType: coreSection.type,
1760
- childCount: matchingStyles.children?.length ?? 0,
1761
- });
1762
- }
1763
- }
1764
- }
1765
- section.htmlSnippet = htmlSnippet;
1766
- }
1767
- return section;
1768
- }
1769
- // =====================================================
1770
- // LayoutAnalyzerService クラス
1771
- // =====================================================
1772
- /**
1773
- * レイアウト解析サービス
1774
- *
1775
- * Cheerioと@reftrixmcp/webdesign-coreを使用してHTMLを解析し、
1776
- * セクション、グリッド、タイポグラフィ、色情報を抽出する
1777
- */
1778
- class LayoutAnalyzerService {
1779
- sectionDetector;
1780
- constructor() {
1781
- this.sectionDetector = new webdesign_core_1.SectionDetector({
1782
- detectLandmarks: true,
1783
- detectSemanticTags: true,
1784
- detectVisualSections: true,
1785
- maxSectionsPerType: 30,
1786
- });
1787
- }
1788
- /**
1789
- * HTMLを解析してレイアウト情報を抽出
1790
- *
1791
- * @param html - 解析対象のHTML
1792
- * @param options - 解析オプション
1793
- * @returns レイアウト解析結果
1794
- */
1795
- async analyze(html, options = {}) {
1796
- const startTime = Date.now();
1797
- if ((0, logger_1.isDevelopment)()) {
1798
- logger_1.logger.debug("[LayoutAnalyzerService] analyze called", {
1799
- htmlLength: html.length,
1800
- options,
1801
- });
1802
- }
1803
- try {
1804
- // 空のHTMLをチェック
1805
- if (!html || html.trim().length === 0) {
1806
- return {
1807
- success: true,
1808
- sections: [],
1809
- sectionCount: 0,
1810
- sectionTypes: {},
1811
- cssFramework: {
1812
- framework: "vanilla",
1813
- confidence: 0.3,
1814
- evidence: ["Empty or minimal HTML content"],
1815
- },
1816
- processingTimeMs: Date.now() - startTime,
1817
- };
1818
- }
1819
- // Cheerioでパース
1820
- const $ = cheerio.load(html);
1821
- // セクション検出(@reftrixmcp/webdesign-core使用)
1822
- let coreSections;
1823
- try {
1824
- coreSections = await this.sectionDetector.detect(html);
1825
- }
1826
- catch (detectionError) {
1827
- // 検出エラーでも続行(空の配列で続ける)
1828
- if ((0, logger_1.isDevelopment)()) {
1829
- logger_1.logger.warn("[LayoutAnalyzerService] Section detection error", {
1830
- error: detectionError,
1831
- });
1832
- }
1833
- coreSections = [];
1834
- }
1835
- // セクションを変換
1836
- const includeContent = options.includeContent ?? false;
1837
- const includeStyles = options.includeStyles ?? false;
1838
- let sections = coreSections.map((cs, index) => convertSection(cs, includeContent, includeStyles, index, options.computedStyles));
1839
- // Computed styles 適用数のカウント
1840
- let computedStylesAppliedCount = 0;
1841
- if (options.computedStyles && options.computedStyles.length > 0) {
1842
- for (let i = 0; i < sections.length; i++) {
1843
- if (findMatchingComputedStyles(i, options.computedStyles)) {
1844
- computedStylesAppliedCount++;
1845
- }
1846
- }
1847
- }
1848
- // maxSections制限
1849
- if (options.maxSections !== undefined && sections.length > options.maxSections) {
1850
- sections = sections.slice(0, options.maxSections);
1851
- }
1852
- // セクションタイプ別カウント
1853
- const sectionTypes = {};
1854
- for (const section of sections) {
1855
- sectionTypes[section.type] = (sectionTypes[section.type] || 0) + 1;
1856
- }
1857
- // グリッド情報
1858
- const grid = detectGridLayout($, html);
1859
- // タイポグラフィ情報
1860
- const typography = extractTypography($, html);
1861
- // CSS抽出(外部CSS取得オプション対応)
1862
- let cssSnippet;
1863
- let externalCssFetch;
1864
- let externalCssContent;
1865
- if (options.externalCss?.fetchExternalCss && options.externalCss.baseUrl) {
1866
- // 外部CSSファイルの内容を取得
1867
- const cssResult = await extractCssWithExternalContent($, options.externalCss);
1868
- cssSnippet = cssResult.cssSnippet;
1869
- externalCssContent =
1870
- cssResult.externalCssContent && cssResult.externalCssContent.trim().length > 0
1871
- ? cssResult.externalCssContent
1872
- : undefined;
1873
- externalCssFetch = cssResult.fetchResult;
1874
- }
1875
- else {
1876
- // 従来通り参照のみ
1877
- cssSnippet = extractCssSnippet($);
1878
- }
1879
- // 色情報(外部CSSを含めてCSS変数を解決)
1880
- const combinedExternalCss = externalCssContent
1881
- ? [cssSnippet, externalCssContent].filter(Boolean).join("\n\n")
1882
- : undefined;
1883
- const colors = extractColors($, html, combinedExternalCss);
1884
- // CSSフレームワーク検出(外部CSSを含めた場合は再度検出)
1885
- // 外部CSSを取得した場合は、その内容も含めてフレームワーク検出を行う
1886
- let cssFramework;
1887
- if (externalCssFetch &&
1888
- externalCssFetch.successCount > 0 &&
1889
- (cssSnippet || externalCssContent)) {
1890
- // 外部CSSの内容を含めたHTMLを構築して検出
1891
- const combinedCss = [cssSnippet, externalCssContent].filter(Boolean).join("\n\n");
1892
- const htmlWithCss = html + `<style>${combinedCss}</style>`;
1893
- cssFramework = detectCssFramework($, htmlWithCss);
1894
- }
1895
- else {
1896
- cssFramework = detectCssFramework($, html);
1897
- }
1898
- const processingTimeMs = Date.now() - startTime;
1899
- if ((0, logger_1.isDevelopment)()) {
1900
- logger_1.logger.debug("[LayoutAnalyzerService] analyze completed", {
1901
- sectionCount: sections.length,
1902
- sectionTypes,
1903
- cssFramework: cssFramework.framework,
1904
- cssFrameworkConfidence: cssFramework.confidence,
1905
- externalCssFetch: externalCssFetch
1906
- ? {
1907
- successCount: externalCssFetch.successCount,
1908
- failedCount: externalCssFetch.failedCount,
1909
- totalSize: externalCssFetch.totalSize,
1910
- }
1911
- : undefined,
1912
- computedStylesAppliedCount,
1913
- processingTimeMs,
1914
- });
1915
- }
1916
- // exactOptionalPropertyTypes対応: undefined を代入せずプロパティを省略
1917
- const result = {
1918
- success: true,
1919
- sections,
1920
- sectionCount: sections.length,
1921
- sectionTypes,
1922
- grid,
1923
- typography,
1924
- colors,
1925
- cssSnippet,
1926
- cssFramework,
1927
- processingTimeMs,
1928
- };
1929
- if (externalCssContent) {
1930
- result.externalCssContent = externalCssContent;
1931
- }
1932
- if (externalCssFetch) {
1933
- result.externalCssFetch = externalCssFetch;
1934
- const urls = externalCssFetch.results.map((r) => {
1935
- const size = r.content ? new TextEncoder().encode(r.content).length : undefined;
1936
- const entry = {
1937
- url: r.url,
1938
- success: !!r.content,
1939
- };
1940
- if (size !== undefined) {
1941
- entry.size = size;
1942
- }
1943
- return entry;
1944
- });
1945
- result.externalCssMeta = {
1946
- fetchedCount: externalCssFetch.successCount,
1947
- failedCount: externalCssFetch.failedCount,
1948
- totalSize: externalCssFetch.totalSize,
1949
- urls,
1950
- fetchedAt: new Date().toISOString(),
1951
- };
1952
- }
1953
- // Computed styles が適用された場合のみカウントを追加
1954
- if (computedStylesAppliedCount > 0) {
1955
- result.computedStylesAppliedCount = computedStylesAppliedCount;
1956
- }
1957
- return result;
1958
- }
1959
- catch (error) {
1960
- const processingTimeMs = Date.now() - startTime;
1961
- if ((0, logger_1.isDevelopment)()) {
1962
- logger_1.logger.error("[LayoutAnalyzerService] analyze error", { error });
1963
- }
1964
- return {
1965
- success: true, // エラーでもグレースフルに成功として返す
1966
- sections: [],
1967
- sectionCount: 0,
1968
- sectionTypes: {},
1969
- processingTimeMs,
1970
- error: {
1971
- code: "LAYOUT_ANALYSIS_ERROR",
1972
- message: error instanceof Error ? error.message : "Unknown error",
1973
- },
1974
- };
1975
- }
1976
- }
1977
- }
1978
- exports.LayoutAnalyzerService = LayoutAnalyzerService;
1979
- // =====================================================
1980
- // デフォルトエクスポート
1981
- // =====================================================
1982
- /**
1983
- * シングルトンインスタンス
1984
- */
1985
- let sharedInstance = null;
1986
- /**
1987
- * 共有インスタンスを取得
1988
- */
1989
- function getLayoutAnalyzerService() {
1990
- if (!sharedInstance) {
1991
- sharedInstance = new LayoutAnalyzerService();
1992
- }
1993
- return sharedInstance;
1994
- }
1995
- /**
1996
- * 共有インスタンスをリセット(テスト用)
1997
- */
1998
- function resetLayoutAnalyzerService() {
1999
- sharedInstance = null;
2000
- }
2001
- //# sourceMappingURL=layout-analyzer.service.js.map