lemming-cli 0.4.4__tar.gz → 0.4.6__tar.gz

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 (192) hide show
  1. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/PKG-INFO +2 -2
  2. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/biome.json +1 -1
  3. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/package-lock.json +162 -138
  4. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/package.json +6 -6
  5. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/pyproject.toml +4 -4
  6. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/readability_cli.py +2 -2
  7. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/readability_cli_test.py +24 -0
  8. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/metrics.py +2 -2
  9. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/metrics_test.py +5 -5
  10. lemming_cli-0.4.6/uv.lock +692 -0
  11. lemming_cli-0.4.4/uv.lock +0 -610
  12. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/.dockerignore +0 -0
  13. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/.github/workflows/ci.yml +0 -0
  14. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/.github/workflows/publish.yml +0 -0
  15. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/.github/workflows/screenshots.yml +0 -0
  16. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/.gitignore +0 -0
  17. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/.prettierignore +0 -0
  18. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/.prettierrc +0 -0
  19. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/Dockerfile +0 -0
  20. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/LICENSE +0 -0
  21. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/README.md +0 -0
  22. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/SKILL.md +0 -0
  23. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/docker-compose.yml +0 -0
  24. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/docs/EVALS.md +0 -0
  25. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/docs/HOOKS.md +0 -0
  26. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/docs/screenshots/dashboard-desktop.png +0 -0
  27. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/docs/screenshots/dashboard-mobile.png +0 -0
  28. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/docs/screenshots/task-log-desktop.png +0 -0
  29. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/docs/screenshots/task-log-mobile.png +0 -0
  30. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/playwright.config.js +0 -0
  31. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/pyrefly.toml +0 -0
  32. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/__init__.py +0 -0
  33. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/__init__.py +0 -0
  34. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/auth.py +0 -0
  35. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/auth_test.py +0 -0
  36. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/config.py +0 -0
  37. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/config_test.py +0 -0
  38. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/conftest.py +0 -0
  39. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/context.py +0 -0
  40. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/context_test.py +0 -0
  41. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/directories.py +0 -0
  42. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/directories_test.py +0 -0
  43. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/files.py +0 -0
  44. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/files_test.py +0 -0
  45. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/hooks.py +0 -0
  46. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/hooks_test.py +0 -0
  47. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/logging.py +0 -0
  48. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/logging_test.py +0 -0
  49. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/loop.py +0 -0
  50. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/loop_test.py +0 -0
  51. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/main.py +0 -0
  52. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/main_test.py +0 -0
  53. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/tasks.py +0 -0
  54. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api/tasks_test.py +0 -0
  55. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/api_test.py +0 -0
  56. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/brief_test.py +0 -0
  57. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/__init__.py +0 -0
  58. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/brief.py +0 -0
  59. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/config.py +0 -0
  60. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/config_test.py +0 -0
  61. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/exec_cli.py +0 -0
  62. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/exec_cli_test.py +0 -0
  63. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/goal.py +0 -0
  64. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/goal_test.py +0 -0
  65. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/hooks.py +0 -0
  66. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/hooks_test.py +0 -0
  67. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/machine_output_test.py +0 -0
  68. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/main.py +0 -0
  69. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/main_test.py +0 -0
  70. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/operations.py +0 -0
  71. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/operations_test.py +0 -0
  72. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/progress.py +0 -0
  73. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/progress_test.py +0 -0
  74. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/skill.py +0 -0
  75. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/skill_test.py +0 -0
  76. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/stop_test.py +0 -0
  77. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/tasks.py +0 -0
  78. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli/tasks_test.py +0 -0
  79. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/cli_test.py +0 -0
  80. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/conftest.py +0 -0
  81. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/__init__.py +0 -0
  82. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/__main__.py +0 -0
  83. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/cli.py +0 -0
  84. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/cli_test.py +0 -0
  85. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/container.py +0 -0
  86. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/container_test.py +0 -0
  87. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/fixtures.py +0 -0
  88. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/fixtures_test.py +0 -0
  89. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/harness.py +0 -0
  90. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/harness_test.py +0 -0
  91. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/base/README.md +0 -0
  92. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/base/calc/__init__.py +0 -0
  93. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/base/calc/legacy.py +0 -0
  94. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/base/calc/ops.py +0 -0
  95. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/base/calc/ops_test.py +0 -0
  96. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/clean/calc/ops.py +0 -0
  97. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/clean/calc/ops_test.py +0 -0
  98. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/dead-code/calc/ops.py +0 -0
  99. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/dead-code/calc/ops_test.py +0 -0
  100. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/duplicated-behavior/calc/ops.py +0 -0
  101. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/duplicated-behavior/calc/ops_test.py +0 -0
  102. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/false-reuse/calc/limits.py +0 -0
  103. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/false-reuse/calc/limits_test.py +0 -0
  104. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/lint-debt/calc/ops.py +0 -0
  105. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/lint-debt/calc/ops_test.py +0 -0
  106. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/add-only/README.md +0 -0
  107. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/add-only/calc/__init__.py +0 -0
  108. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/add-only/calc/ops.py +0 -0
  109. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/add-only/calc/ops_test.py +0 -0
  110. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/buggy-subtract/README.md +0 -0
  111. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/buggy-subtract/calc/__init__.py +0 -0
  112. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/buggy-subtract/calc/ops.py +0 -0
  113. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/buggy-subtract/calc/ops_test.py +0 -0
  114. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/full-ops/README.md +0 -0
  115. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/full-ops/calc/__init__.py +0 -0
  116. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/full-ops/calc/ops.py +0 -0
  117. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/full-ops/calc/ops_test.py +0 -0
  118. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/unwired-cli/README.md +0 -0
  119. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/unwired-cli/calc/__init__.py +0 -0
  120. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/unwired-cli/calc/cli.py +0 -0
  121. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/unwired-cli/calc/cli_test.py +0 -0
  122. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/unwired-cli/calc/ops.py +0 -0
  123. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/unwired-cli/calc/ops_test.py +0 -0
  124. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/task/hidden/stats/summary_hidden_test.py +0 -0
  125. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/task/summary/README.md +0 -0
  126. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/task/summary/stats/__init__.py +0 -0
  127. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/task/summary/stats/summary.py +0 -0
  128. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/projects/task/summary/stats/summary_test.py +0 -0
  129. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/readability.py +0 -0
  130. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/readability_test.py +0 -0
  131. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/report.py +0 -0
  132. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/report_test.py +0 -0
  133. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/roadmap.py +0 -0
  134. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/roadmap_test.py +0 -0
  135. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/scenarios.py +0 -0
  136. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/scenarios_test.py +0 -0
  137. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/suites.py +0 -0
  138. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/task.py +0 -0
  139. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/task_test.py +0 -0
  140. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/trial.py +0 -0
  141. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/evals/trial_test.py +0 -0
  142. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/hooks.py +0 -0
  143. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/hooks_test.py +0 -0
  144. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/integration_test.py +0 -0
  145. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/main.py +0 -0
  146. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/main_test.py +0 -0
  147. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/models.py +0 -0
  148. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/models_test.py +0 -0
  149. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/orchestrator.py +0 -0
  150. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/orchestrator_test.py +0 -0
  151. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/paths.py +0 -0
  152. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/paths_test.py +0 -0
  153. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/persistence.py +0 -0
  154. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/persistence_test.py +0 -0
  155. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/prompts/hooks/50-readability.md +0 -0
  156. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/prompts/hooks/60-testing.md +0 -0
  157. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/prompts/hooks/70-ux.md +0 -0
  158. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/prompts/hooks/90-roadmap.md +0 -0
  159. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/prompts/taskrunner.md +0 -0
  160. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/prompts.py +0 -0
  161. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/prompts_test.py +0 -0
  162. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/providers.py +0 -0
  163. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/providers_test.py +0 -0
  164. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/runner.py +0 -0
  165. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/runner_test.py +0 -0
  166. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/scope.py +0 -0
  167. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/scope_test.py +0 -0
  168. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/shutdown.py +0 -0
  169. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/shutdown_integration_test.py +0 -0
  170. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/shutdown_test.py +0 -0
  171. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/tasks/__init__.py +0 -0
  172. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/tasks/lifecycle.py +0 -0
  173. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/tasks/lifecycle_test.py +0 -0
  174. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/tasks/limits.py +0 -0
  175. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/tasks/operations.py +0 -0
  176. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/tasks/operations_test.py +0 -0
  177. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/tasks/progress.py +0 -0
  178. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/tasks/progress_test.py +0 -0
  179. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/tasks/queries.py +0 -0
  180. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/tasks/queries_test.py +0 -0
  181. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/web/dashboard.spec.js +0 -0
  182. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/web/dashboard.test.js +0 -0
  183. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/web/favicon.js +0 -0
  184. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/web/favicon.spec.js +0 -0
  185. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/web/files.html +0 -0
  186. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/web/files.spec.js +0 -0
  187. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/web/index.html +0 -0
  188. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/web/index.js +0 -0
  189. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/web/logs.html +0 -0
  190. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/web/logs.test.js +0 -0
  191. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/web/mancha.js +0 -0
  192. {lemming_cli-0.4.4 → lemming_cli-0.4.6}/src/lemming/web/screenshots.spec.js +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: lemming-cli
3
- Version: 0.4.4
3
+ Version: 0.4.6
4
4
  Summary: An autonomous, iterative task runner for AI coding agents.
5
5
  Project-URL: Homepage, https://github.com/owahltinez/lemming
6
6
  Project-URL: Repository, https://github.com/owahltinez/lemming
@@ -15,7 +15,7 @@ Requires-Dist: fastapi>=0.124.4
15
15
  Requires-Dist: markdownify>=0.14.1
16
16
  Requires-Dist: pydantic>=2.12.5
17
17
  Requires-Dist: pyyaml>=6.0.3
18
- Requires-Dist: readability-cli>=0.8.5
18
+ Requires-Dist: readability-cli>=0.9.0
19
19
  Requires-Dist: requests>=2.32.3
20
20
  Requires-Dist: uvicorn>=0.33.0
21
21
  Description-Content-Type: text/markdown
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://biomejs.dev/schemas/2.5.8/schema.json",
2
+ "$schema": "https://biomejs.dev/schemas/2.5.9/schema.json",
3
3
  "files": {
4
4
  "ignoreUnknown": true,
5
5
  "includes": [
@@ -9,12 +9,12 @@
9
9
  "version": "0.1.0",
10
10
  "hasInstallScript": true,
11
11
  "devDependencies": {
12
- "@biomejs/biome": "^2.5.0",
13
- "@playwright/test": "^1.60.0",
14
- "jsdom": "latest",
15
- "mancha": "^0.22.7",
16
- "playwright": "^1.60.0",
17
- "prettier": "^3.9.0"
12
+ "@biomejs/biome": "^2.5.9",
13
+ "@playwright/test": "^1.62.1",
14
+ "jsdom": "^30.0.1",
15
+ "mancha": "^0.25.1",
16
+ "playwright": "^1.62.1",
17
+ "prettier": "^3.9.6"
18
18
  }
19
19
  },
20
20
  "node_modules/@acemir/cssom": {
@@ -25,20 +25,20 @@
25
25
  "license": "MIT"
26
26
  },
27
27
  "node_modules/@asamuzakjp/css-color": {
28
- "version": "5.0.1",
29
- "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.0.1.tgz",
30
- "integrity": "sha512-2SZFvqMyvboVV1d15lMf7XiI3m7SDqXUuKaTymJYLN6dSGadqp+fVojqJlVoMlbZnlTmu3S0TLwLTJpvBMO1Aw==",
28
+ "version": "6.0.7",
29
+ "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-6.0.7.tgz",
30
+ "integrity": "sha512-vC/bk1Lz7Tn/EfU9/apOTBk80/8dyGyWMowPoV1tJ52muDGsDqt2HPT2klrFUiY60MQmQv9q8yIht15JnBgDGw==",
31
31
  "dev": true,
32
32
  "license": "MIT",
33
33
  "dependencies": {
34
- "@csstools/css-calc": "^3.1.1",
35
- "@csstools/css-color-parser": "^4.0.2",
34
+ "@csstools/css-calc": "^3.3.0",
35
+ "@csstools/css-color-parser": "^4.1.10",
36
36
  "@csstools/css-parser-algorithms": "^4.0.0",
37
37
  "@csstools/css-tokenizer": "^4.0.0",
38
- "lru-cache": "^11.2.6"
38
+ "lru-cache": "^11.5.2"
39
39
  },
40
40
  "engines": {
41
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
41
+ "node": "^22.13.0 || >=24.0.0"
42
42
  }
43
43
  },
44
44
  "node_modules/@asamuzakjp/dom-selector": {
@@ -63,9 +63,9 @@
63
63
  "license": "MIT"
64
64
  },
65
65
  "node_modules/@biomejs/biome": {
66
- "version": "2.5.8",
67
- "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.8.tgz",
68
- "integrity": "sha512-aeAeeJB9fSDc7Gq+2GqpQxA0qBj6gj1k2R6L1cYqGePKP/baIq1WX8y6B+D+nRsO5ViQL22K/8IwbqERW0q1nw==",
66
+ "version": "2.5.9",
67
+ "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.9.tgz",
68
+ "integrity": "sha512-KkgCvdHB4IhtpHpF564plA9jo6fDOwWGQ/3jvreLzgOtRLEDoPqr7QO9qejNA8jKwDsSkAKr77hqBHnyUbIw4g==",
69
69
  "dev": true,
70
70
  "license": "MIT OR Apache-2.0",
71
71
  "bin": {
@@ -79,20 +79,20 @@
79
79
  "url": "https://opencollective.com/biome"
80
80
  },
81
81
  "optionalDependencies": {
82
- "@biomejs/cli-darwin-arm64": "2.5.8",
83
- "@biomejs/cli-darwin-x64": "2.5.8",
84
- "@biomejs/cli-linux-arm64": "2.5.8",
85
- "@biomejs/cli-linux-arm64-musl": "2.5.8",
86
- "@biomejs/cli-linux-x64": "2.5.8",
87
- "@biomejs/cli-linux-x64-musl": "2.5.8",
88
- "@biomejs/cli-win32-arm64": "2.5.8",
89
- "@biomejs/cli-win32-x64": "2.5.8"
82
+ "@biomejs/cli-darwin-arm64": "2.5.9",
83
+ "@biomejs/cli-darwin-x64": "2.5.9",
84
+ "@biomejs/cli-linux-arm64": "2.5.9",
85
+ "@biomejs/cli-linux-arm64-musl": "2.5.9",
86
+ "@biomejs/cli-linux-x64": "2.5.9",
87
+ "@biomejs/cli-linux-x64-musl": "2.5.9",
88
+ "@biomejs/cli-win32-arm64": "2.5.9",
89
+ "@biomejs/cli-win32-x64": "2.5.9"
90
90
  }
91
91
  },
92
92
  "node_modules/@biomejs/cli-darwin-arm64": {
93
- "version": "2.5.8",
94
- "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.8.tgz",
95
- "integrity": "sha512-mk1QON9PHllvvLN5gU3f4rMxeh4syK5p9OvKyWH6/W8ueh04uaC8TUXXByhGufWf/y5mQc03ZLM45zU+cmqMjA==",
93
+ "version": "2.5.9",
94
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.9.tgz",
95
+ "integrity": "sha512-am22pX2aBqznqq1eMyIj/bZ++riF3Lk6ct7cbv+gQK0csFhr+d8O0RkOi2FF2qSgFgANbqNkIZ0/PxlnW2pLFg==",
96
96
  "cpu": [
97
97
  "arm64"
98
98
  ],
@@ -107,9 +107,9 @@
107
107
  }
108
108
  },
109
109
  "node_modules/@biomejs/cli-darwin-x64": {
110
- "version": "2.5.8",
111
- "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.8.tgz",
112
- "integrity": "sha512-bsGwFMBNyHPyiLSsQcZJxdoRrg1V4JL+d7wEsvUBczlP9U9lwM+7mzQHxI4o1mhBsTmdOBbAb6fHU3Z3snN45w==",
110
+ "version": "2.5.9",
111
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.9.tgz",
112
+ "integrity": "sha512-l44KWDHLDvEnD0N/XcrVs7VXb3A18xL7QS3WB0eL93wbmk529ffIG55vleGCqaunpRUjLrdnjK05Qki1dsjylg==",
113
113
  "cpu": [
114
114
  "x64"
115
115
  ],
@@ -124,9 +124,9 @@
124
124
  }
125
125
  },
126
126
  "node_modules/@biomejs/cli-linux-arm64": {
127
- "version": "2.5.8",
128
- "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.8.tgz",
129
- "integrity": "sha512-XmFiA0WPYFC+uiUDC8WRFzAIH9bo7vwQLav38Uoq4ETC+T/+uBi0TsYGJECkugY3r8USl3jc+Ae2/irAF6F2lQ==",
127
+ "version": "2.5.9",
128
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.9.tgz",
129
+ "integrity": "sha512-ICaK+IYaVZvKbBxX2rwrPT0DdUDMnE9Vm3nQGe+mltQPmUg19pONzkPWGdY4FCsoreDETWDynvdt4ysCbF5gNQ==",
130
130
  "cpu": [
131
131
  "arm64"
132
132
  ],
@@ -144,9 +144,9 @@
144
144
  }
145
145
  },
146
146
  "node_modules/@biomejs/cli-linux-arm64-musl": {
147
- "version": "2.5.8",
148
- "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.8.tgz",
149
- "integrity": "sha512-VcJNbstduTHx83NGAdhp78/JOcP45BZHXL7yNsfI1uGzdUgegAz2s+mSoT7wK6PBNzLoqG0zDOXaz/RQYVtSiw==",
147
+ "version": "2.5.9",
148
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.9.tgz",
149
+ "integrity": "sha512-7ImVPwBLCtkmpR5esd8RHhTqW94f0JLJQum6AneYcy94jRm18TaPPm7slaigGzFhfgt3QiD1Vj52LKmBAnKizA==",
150
150
  "cpu": [
151
151
  "arm64"
152
152
  ],
@@ -164,9 +164,9 @@
164
164
  }
165
165
  },
166
166
  "node_modules/@biomejs/cli-linux-x64": {
167
- "version": "2.5.8",
168
- "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.8.tgz",
169
- "integrity": "sha512-S5wcm9OBDvLHodD4PUaN488hCpco9QD/9ZxuYJiw4euWtr/oQvLR72z2ixItH8Wd5BCm6FZaeb+YNvOoM1xHtQ==",
167
+ "version": "2.5.9",
168
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.9.tgz",
169
+ "integrity": "sha512-z22Q/zFYSvbIJfW1CbfZPu4X8PddS6Qd2ORbc6h+aT6EcwAxUF3m6fA4HjNvA3TU4X0dTJRwNPB165ES3PJXzg==",
170
170
  "cpu": [
171
171
  "x64"
172
172
  ],
@@ -184,9 +184,9 @@
184
184
  }
185
185
  },
186
186
  "node_modules/@biomejs/cli-linux-x64-musl": {
187
- "version": "2.5.8",
188
- "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.8.tgz",
189
- "integrity": "sha512-kKmiyokeISRGq2FLwvr+TzsgBusfxaZ0FZNLcOYOpCK/78tRrEjeEBLvq3xLZMpqbANgJdRPI7vZX8ZL37u9/w==",
187
+ "version": "2.5.9",
188
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.9.tgz",
189
+ "integrity": "sha512-RXGaD0o1/pTTguYw1aeDJh9ad6Lfrui0fI7mBderTyGr7WuUJkBIttgLkR3XJyoxOkkgfBDspaUT8wXArTqLZw==",
190
190
  "cpu": [
191
191
  "x64"
192
192
  ],
@@ -204,9 +204,9 @@
204
204
  }
205
205
  },
206
206
  "node_modules/@biomejs/cli-win32-arm64": {
207
- "version": "2.5.8",
208
- "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.8.tgz",
209
- "integrity": "sha512-nILH0mzm3Hi3iEdd7o7GpB8kBR/mSQwfQG/tyBqyNrY2GFtcgwfV9nV8xLmbtUpMNY/Oi0Ml1XgfR4flOdq+AA==",
207
+ "version": "2.5.9",
208
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.9.tgz",
209
+ "integrity": "sha512-nHK+/HHC+D0ogAHUxomgoSTdjImb6fmNNVTKmf0tyu4eDL1DqPKIHc+i+UL8+b0RnAu8224qo8F2tCVnaT0A3w==",
210
210
  "cpu": [
211
211
  "arm64"
212
212
  ],
@@ -221,9 +221,9 @@
221
221
  }
222
222
  },
223
223
  "node_modules/@biomejs/cli-win32-x64": {
224
- "version": "2.5.8",
225
- "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.8.tgz",
226
- "integrity": "sha512-I2czzXTY61f3nFJxXoMDq80t7MivxDEnCjE+8sDKoFfcKMaoQdkqhIFQ3KyY0XLzeSpUBYeNAXgD+iOV/BU0VA==",
224
+ "version": "2.5.9",
225
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.9.tgz",
226
+ "integrity": "sha512-Yiq0H56LjXSSw/hd9YkXgSLQfzyDJzbzU2TezozxyNw+uKWAqOtqGVvBfzKRRDiaFF5avGAhHdWKx7LtDOShUw==",
227
227
  "cpu": [
228
228
  "x64"
229
229
  ],
@@ -251,9 +251,9 @@
251
251
  }
252
252
  },
253
253
  "node_modules/@csstools/color-helpers": {
254
- "version": "6.0.2",
255
- "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.2.tgz",
256
- "integrity": "sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==",
254
+ "version": "6.1.1",
255
+ "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.1.1.tgz",
256
+ "integrity": "sha512-gLNsunvwf3mCi5u5o46/Z/JcJMnhbHSaZ69rkgPzNM3J4s8hWwpPUQB6/tt0EDFyCiWzxANlx+2LJwpYj4zS1w==",
257
257
  "dev": true,
258
258
  "funding": [
259
259
  {
@@ -271,9 +271,9 @@
271
271
  }
272
272
  },
273
273
  "node_modules/@csstools/css-calc": {
274
- "version": "3.1.1",
275
- "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.1.1.tgz",
276
- "integrity": "sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==",
274
+ "version": "3.3.0",
275
+ "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.3.0.tgz",
276
+ "integrity": "sha512-c5ihYsPkdG6JCkU2zTMm4+k6r7RXuGxtWYhu5DHMIiF1FHzrfmHL5so11AoFpUv/tu61xfcmT4AmKoFfMPoqdQ==",
277
277
  "dev": true,
278
278
  "funding": [
279
279
  {
@@ -295,9 +295,9 @@
295
295
  }
296
296
  },
297
297
  "node_modules/@csstools/css-color-parser": {
298
- "version": "4.0.2",
299
- "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.0.2.tgz",
300
- "integrity": "sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw==",
298
+ "version": "4.2.0",
299
+ "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.2.0.tgz",
300
+ "integrity": "sha512-5+5LEmFuY1AjXdYhmgjTJogtQnP1evJ1zrBZGUNZ0thkpwnnmKxcHdAMn/OtFjAb25zA+jKDVYVRl+5G7rjv1A==",
301
301
  "dev": true,
302
302
  "funding": [
303
303
  {
@@ -311,8 +311,8 @@
311
311
  ],
312
312
  "license": "MIT",
313
313
  "dependencies": {
314
- "@csstools/color-helpers": "^6.0.2",
315
- "@csstools/css-calc": "^3.1.1"
314
+ "@csstools/color-helpers": "^6.1.1",
315
+ "@csstools/css-calc": "^3.3.0"
316
316
  },
317
317
  "engines": {
318
318
  "node": ">=20.19.0"
@@ -346,9 +346,9 @@
346
346
  }
347
347
  },
348
348
  "node_modules/@csstools/css-syntax-patches-for-csstree": {
349
- "version": "1.1.0",
350
- "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.0.tgz",
351
- "integrity": "sha512-H4tuz2nhWgNKLt1inYpoVCfbJbMwX/lQKp3g69rrrIMIYlFD9+zTykOKhNR8uGrAmbS/kT9n6hTFkmDkxLgeTA==",
349
+ "version": "1.1.8",
350
+ "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.8.tgz",
351
+ "integrity": "sha512-CpMLjAvwQg3BL5S0IeqsZNMH7EQrEWi0kLKOC13ZBF0ZwERiLWlibNPJr8G1kdU3Ms/r2KiNrF81pUh2HwAHdg==",
352
352
  "dev": true,
353
353
  "funding": [
354
354
  {
@@ -360,7 +360,15 @@
360
360
  "url": "https://opencollective.com/csstools"
361
361
  }
362
362
  ],
363
- "license": "MIT-0"
363
+ "license": "MIT-0",
364
+ "peerDependencies": {
365
+ "css-tree": "^3.2.1"
366
+ },
367
+ "peerDependenciesMeta": {
368
+ "css-tree": {
369
+ "optional": true
370
+ }
371
+ }
364
372
  },
365
373
  "node_modules/@csstools/css-tokenizer": {
366
374
  "version": "4.0.0",
@@ -383,9 +391,9 @@
383
391
  }
384
392
  },
385
393
  "node_modules/@exodus/bytes": {
386
- "version": "1.15.0",
387
- "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.0.tgz",
388
- "integrity": "sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==",
394
+ "version": "1.15.1",
395
+ "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.1.tgz",
396
+ "integrity": "sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q==",
389
397
  "dev": true,
390
398
  "license": "MIT",
391
399
  "engines": {
@@ -430,19 +438,19 @@
430
438
  }
431
439
  },
432
440
  "node_modules/@playwright/test": {
433
- "version": "1.60.0",
434
- "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.60.0.tgz",
435
- "integrity": "sha512-O71yZIbAh/PxDMNGns37GHBIfrVkEVyn+AXyIa5dOTfb4/xNvRWV+Vv/NMbNCtODB/pO7vLlF2OTmMVLhmr7Ag==",
441
+ "version": "1.62.1",
442
+ "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.62.1.tgz",
443
+ "integrity": "sha512-DTcUc8qii+cpHvtOwggMtBRMjKZHXYWdw8syRYu2vtzuq4Wxphqq4NfCs5Zt44L6mA8rfDfj+PHnxFc/FeK6mQ==",
436
444
  "dev": true,
437
445
  "license": "Apache-2.0",
438
446
  "dependencies": {
439
- "playwright": "1.60.0"
447
+ "playwright": "1.62.1"
440
448
  },
441
449
  "bin": {
442
450
  "playwright": "cli.js"
443
451
  },
444
452
  "engines": {
445
- "node": ">=18"
453
+ "node": ">=20"
446
454
  }
447
455
  },
448
456
  "node_modules/agent-base": {
@@ -499,9 +507,9 @@
499
507
  }
500
508
  },
501
509
  "node_modules/brace-expansion": {
502
- "version": "2.0.2",
503
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
504
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
510
+ "version": "2.1.4",
511
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz",
512
+ "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==",
505
513
  "dev": true,
506
514
  "license": "MIT",
507
515
  "dependencies": {
@@ -651,22 +659,6 @@
651
659
  "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
652
660
  }
653
661
  },
654
- "node_modules/cssstyle": {
655
- "version": "6.2.0",
656
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-6.2.0.tgz",
657
- "integrity": "sha512-Fm5NvhYathRnXNVndkUsCCuR63DCLVVwGOOwQw782coXFi5HhkXdu289l59HlXZBawsyNccXfWRYvLzcDCdDig==",
658
- "dev": true,
659
- "license": "MIT",
660
- "dependencies": {
661
- "@asamuzakjp/css-color": "^5.0.1",
662
- "@csstools/css-syntax-patches-for-csstree": "^1.0.28",
663
- "css-tree": "^3.1.0",
664
- "lru-cache": "^11.2.6"
665
- },
666
- "engines": {
667
- "node": ">=20"
668
- }
669
- },
670
662
  "node_modules/data-urls": {
671
663
  "version": "7.0.0",
672
664
  "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz",
@@ -968,39 +960,39 @@
968
960
  }
969
961
  },
970
962
  "node_modules/jsdom": {
971
- "version": "28.1.0",
972
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-28.1.0.tgz",
973
- "integrity": "sha512-0+MoQNYyr2rBHqO1xilltfDjV9G7ymYGlAUazgcDLQaUf8JDHbuGwsxN6U9qWaElZ4w1B2r7yEGIL3GdeW3Rug==",
963
+ "version": "30.0.1",
964
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-30.0.1.tgz",
965
+ "integrity": "sha512-52v7mUVUfNQVYYqE1lcdaymWL0njO7lTLUog6ZvW2U5KsbiLk/GnZlVJ+qx0xfNJZ6Gn+KSpPNE52vurbxZwrA==",
974
966
  "dev": true,
975
967
  "license": "MIT",
976
968
  "dependencies": {
977
- "@acemir/cssom": "^0.9.31",
978
- "@asamuzakjp/dom-selector": "^6.8.1",
969
+ "@asamuzakjp/css-color": "^6.0.5",
970
+ "@asamuzakjp/dom-selector": "^8.3.0",
979
971
  "@bramus/specificity": "^2.4.2",
980
- "@exodus/bytes": "^1.11.0",
981
- "cssstyle": "^6.0.1",
972
+ "@csstools/css-syntax-patches-for-csstree": "^1.1.7",
973
+ "@exodus/bytes": "^1.15.1",
974
+ "css-tree": "^3.2.1",
982
975
  "data-urls": "^7.0.0",
983
976
  "decimal.js": "^10.6.0",
984
977
  "html-encoding-sniffer": "^6.0.0",
985
- "http-proxy-agent": "^7.0.2",
986
- "https-proxy-agent": "^7.0.6",
987
978
  "is-potential-custom-element-name": "^1.0.1",
988
- "parse5": "^8.0.0",
979
+ "lru-cache": "^11.5.2",
980
+ "parse5": "^8.0.1",
989
981
  "saxes": "^6.0.0",
990
982
  "symbol-tree": "^3.2.4",
991
- "tough-cookie": "^6.0.0",
992
- "undici": "^7.21.0",
983
+ "tough-cookie": "^6.0.2",
984
+ "undici": "^8.9.0",
993
985
  "w3c-xmlserializer": "^5.0.0",
994
986
  "webidl-conversions": "^8.0.1",
995
987
  "whatwg-mimetype": "^5.0.0",
996
- "whatwg-url": "^16.0.0",
988
+ "whatwg-url": "^17.1.0",
997
989
  "xml-name-validator": "^5.0.0"
998
990
  },
999
991
  "engines": {
1000
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
992
+ "node": "^22.22.2 || ^24.15.0 || >=26.0.0"
1001
993
  },
1002
994
  "peerDependencies": {
1003
- "canvas": "^3.0.0"
995
+ "canvas": "^3.2.3"
1004
996
  },
1005
997
  "peerDependenciesMeta": {
1006
998
  "canvas": {
@@ -1008,10 +1000,41 @@
1008
1000
  }
1009
1001
  }
1010
1002
  },
1003
+ "node_modules/jsdom/node_modules/@asamuzakjp/dom-selector": {
1004
+ "version": "8.3.2",
1005
+ "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-8.3.2.tgz",
1006
+ "integrity": "sha512-93Z1N+BQNXysodoicpOIyNh2drHfz/CTf9nnT0FEx72GJcIiwgydD7tGAr78j41LsYn3hlRn+LdGPuBLn1Bl8Q==",
1007
+ "dev": true,
1008
+ "license": "MIT",
1009
+ "dependencies": {
1010
+ "bidi-js": "^1.0.3",
1011
+ "css-tree": "^3.2.1",
1012
+ "is-potential-custom-element-name": "^1.0.1",
1013
+ "lru-cache": "^11.5.2"
1014
+ },
1015
+ "engines": {
1016
+ "node": "^22.13.0 || >=24.0.0"
1017
+ }
1018
+ },
1019
+ "node_modules/jsdom/node_modules/whatwg-url": {
1020
+ "version": "17.1.0",
1021
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-17.1.0.tgz",
1022
+ "integrity": "sha512-3GeworPmc2ZfEEHP7lEbUfBX/L75wdEsi0rLNhXcXxnoN5jyq0SL5gCy06SGW2cyTIZdTvWIDQNQoza++vKeaw==",
1023
+ "dev": true,
1024
+ "license": "MIT",
1025
+ "dependencies": {
1026
+ "@exodus/bytes": "^1.15.1",
1027
+ "tr46": "^6.0.0",
1028
+ "webidl-conversions": "^8.0.1"
1029
+ },
1030
+ "engines": {
1031
+ "node": "^22.14.0 || >=24.0.0"
1032
+ }
1033
+ },
1011
1034
  "node_modules/lru-cache": {
1012
- "version": "11.2.6",
1013
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz",
1014
- "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==",
1035
+ "version": "11.5.2",
1036
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz",
1037
+ "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==",
1015
1038
  "dev": true,
1016
1039
  "license": "BlueOak-1.0.0",
1017
1040
  "engines": {
@@ -1019,13 +1042,14 @@
1019
1042
  }
1020
1043
  },
1021
1044
  "node_modules/mancha": {
1022
- "version": "0.22.7",
1023
- "resolved": "https://registry.npmjs.org/mancha/-/mancha-0.22.7.tgz",
1024
- "integrity": "sha512-ZClxBTYOKSD9f4KqW8lCMYVEUPhxzIRgihw5g20QrD4kzZ9JcQ383LXXkPMVTaCAjLlqYaF3brUMYACwWgQZgA==",
1045
+ "version": "0.25.1",
1046
+ "resolved": "https://registry.npmjs.org/mancha/-/mancha-0.25.1.tgz",
1047
+ "integrity": "sha512-S53J9sCoyKM9vMH9da4j6VHyQKyUP2K/8E/n0xZF+38svzhj3u+Slfuop24JoMMZzINpS3L+cHgbUk3EFsNTkQ==",
1025
1048
  "dev": true,
1026
1049
  "license": "MIT",
1027
1050
  "dependencies": {
1028
1051
  "dom-serializer": "^2.0.0",
1052
+ "domhandler": "^5.0.3",
1029
1053
  "glob": "^10.3.10",
1030
1054
  "htmlparser2": "^9.1.0",
1031
1055
  "jsdom": "^27.0.1",
@@ -1193,26 +1217,26 @@
1193
1217
  "license": "BlueOak-1.0.0"
1194
1218
  },
1195
1219
  "node_modules/parse5": {
1196
- "version": "8.0.0",
1197
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz",
1198
- "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==",
1220
+ "version": "8.0.1",
1221
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz",
1222
+ "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==",
1199
1223
  "dev": true,
1200
1224
  "license": "MIT",
1201
1225
  "dependencies": {
1202
- "entities": "^6.0.0"
1226
+ "entities": "^8.0.0"
1203
1227
  },
1204
1228
  "funding": {
1205
1229
  "url": "https://github.com/inikulin/parse5?sponsor=1"
1206
1230
  }
1207
1231
  },
1208
1232
  "node_modules/parse5/node_modules/entities": {
1209
- "version": "6.0.1",
1210
- "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
1211
- "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
1233
+ "version": "8.0.0",
1234
+ "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz",
1235
+ "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==",
1212
1236
  "dev": true,
1213
1237
  "license": "BSD-2-Clause",
1214
1238
  "engines": {
1215
- "node": ">=0.12"
1239
+ "node": ">=20.19.0"
1216
1240
  },
1217
1241
  "funding": {
1218
1242
  "url": "https://github.com/fb55/entities?sponsor=1"
@@ -1253,35 +1277,35 @@
1253
1277
  "license": "ISC"
1254
1278
  },
1255
1279
  "node_modules/playwright": {
1256
- "version": "1.60.0",
1257
- "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.60.0.tgz",
1258
- "integrity": "sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA==",
1280
+ "version": "1.62.1",
1281
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.62.1.tgz",
1282
+ "integrity": "sha512-0M+L3LAD8/nm554LOla9Ayx0j0tmFZ0FBcoQ7F1VuVHpM/XpiC8RcDzBQB8W5+hA8L22THxELzeF+2WcUzvcLg==",
1259
1283
  "dev": true,
1260
1284
  "license": "Apache-2.0",
1261
1285
  "dependencies": {
1262
- "playwright-core": "1.60.0"
1286
+ "playwright-core": "1.62.1"
1263
1287
  },
1264
1288
  "bin": {
1265
1289
  "playwright": "cli.js"
1266
1290
  },
1267
1291
  "engines": {
1268
- "node": ">=18"
1292
+ "node": ">=20"
1269
1293
  },
1270
1294
  "optionalDependencies": {
1271
1295
  "fsevents": "2.3.2"
1272
1296
  }
1273
1297
  },
1274
1298
  "node_modules/playwright-core": {
1275
- "version": "1.60.0",
1276
- "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.60.0.tgz",
1277
- "integrity": "sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==",
1299
+ "version": "1.62.1",
1300
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.62.1.tgz",
1301
+ "integrity": "sha512-wPYSwEBJY9GHraISXqyqtx0na0LpO3XEX7jNDhntbex7tzUS7kLnZsOlFruFJB4Hi/rhDMjXGqHewDZ68nYZVw==",
1278
1302
  "dev": true,
1279
1303
  "license": "Apache-2.0",
1280
1304
  "bin": {
1281
1305
  "playwright-core": "cli.js"
1282
1306
  },
1283
1307
  "engines": {
1284
- "node": ">=18"
1308
+ "node": ">=20"
1285
1309
  }
1286
1310
  },
1287
1311
  "node_modules/prettier": {
@@ -1528,9 +1552,9 @@
1528
1552
  "license": "MIT"
1529
1553
  },
1530
1554
  "node_modules/tough-cookie": {
1531
- "version": "6.0.0",
1532
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz",
1533
- "integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==",
1555
+ "version": "6.0.2",
1556
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.2.tgz",
1557
+ "integrity": "sha512-exgYmnmL/sJpR3upZfXG5PoatXQii55xAiXGXzY+sROLZ/Y+SLcp9PgJNI9Vz37HpQ74WvDcLT8eqm+kV3FzrA==",
1534
1558
  "dev": true,
1535
1559
  "license": "BSD-3-Clause",
1536
1560
  "dependencies": {
@@ -1568,13 +1592,13 @@
1568
1592
  }
1569
1593
  },
1570
1594
  "node_modules/undici": {
1571
- "version": "7.22.0",
1572
- "resolved": "https://registry.npmjs.org/undici/-/undici-7.22.0.tgz",
1573
- "integrity": "sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==",
1595
+ "version": "8.10.0",
1596
+ "resolved": "https://registry.npmjs.org/undici/-/undici-8.10.0.tgz",
1597
+ "integrity": "sha512-HvltHd7avK13QIw/oLe4qoOLyoVSoafqJ2jYOrtMRBkbYT31eiBQ8O0ehRKZiEZCMEyLFQNIADpgCWC5fALvYQ==",
1574
1598
  "dev": true,
1575
1599
  "license": "MIT",
1576
1600
  "engines": {
1577
- "node": ">=20.18.1"
1601
+ "node": ">=22.19.0"
1578
1602
  }
1579
1603
  },
1580
1604
  "node_modules/w3c-xmlserializer": {
@@ -1740,9 +1764,9 @@
1740
1764
  }
1741
1765
  },
1742
1766
  "node_modules/ws": {
1743
- "version": "8.19.0",
1744
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz",
1745
- "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==",
1767
+ "version": "8.21.3",
1768
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.3.tgz",
1769
+ "integrity": "sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==",
1746
1770
  "dev": true,
1747
1771
  "license": "MIT",
1748
1772
  "engines": {
@@ -13,11 +13,11 @@
13
13
  "vendor": "cp node_modules/mancha/dist/mancha.js src/lemming/web/mancha.js"
14
14
  },
15
15
  "devDependencies": {
16
- "@biomejs/biome": "^2.5.0",
17
- "@playwright/test": "^1.60.0",
18
- "jsdom": "latest",
19
- "mancha": "^0.22.7",
20
- "playwright": "^1.60.0",
21
- "prettier": "^3.9.0"
16
+ "@biomejs/biome": "^2.5.9",
17
+ "@playwright/test": "^1.62.1",
18
+ "jsdom": "^30.0.1",
19
+ "mancha": "^0.25.1",
20
+ "playwright": "^1.62.1",
21
+ "prettier": "^3.9.6"
22
22
  }
23
23
  }