completion-kit 0.5.42 → 0.5.44

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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/completion_kit/application.js +17 -0
  3. data/app/assets/stylesheets/completion_kit/application.css +530 -39
  4. data/app/controllers/completion_kit/api/v1/calibrations_controller.rb +1 -1
  5. data/app/controllers/completion_kit/api/v1/runs_controller.rb +4 -0
  6. data/app/controllers/completion_kit/calibrations_controller.rb +1 -1
  7. data/app/controllers/completion_kit/metrics_controller.rb +88 -31
  8. data/app/controllers/completion_kit/runs_controller.rb +6 -0
  9. data/app/jobs/completion_kit/judge_review_job.rb +14 -0
  10. data/app/models/completion_kit/calibration.rb +6 -2
  11. data/app/models/completion_kit/metric.rb +0 -17
  12. data/app/models/completion_kit/{judge_version.rb → metric_version.rb} +35 -2
  13. data/app/models/completion_kit/review.rb +9 -0
  14. data/app/models/completion_kit/run.rb +28 -0
  15. data/app/services/completion_kit/mcp_tools/calibrations.rb +1 -1
  16. data/app/services/completion_kit/mcp_tools/judges.rb +15 -13
  17. data/app/services/completion_kit/metric_calibration_stats.rb +17 -5
  18. data/app/services/completion_kit/{judge_variant_generator.rb → metric_variant_generator.rb} +14 -12
  19. data/app/views/completion_kit/api_reference/_body.html.erb +1 -1
  20. data/app/views/completion_kit/calibrations/_buttons.html.erb +43 -6
  21. data/app/views/completion_kit/calibrations/_trust_panel.html.erb +32 -28
  22. data/app/views/completion_kit/metrics/_form.html.erb +90 -4
  23. data/app/views/completion_kit/metrics/_rubric_diff.html.erb +25 -0
  24. data/app/views/completion_kit/metrics/_rubric_hint.html.erb +4 -0
  25. data/app/views/completion_kit/metrics/_starter_card.html.erb +13 -9
  26. data/app/views/completion_kit/metrics/edit.html.erb +5 -1
  27. data/app/views/completion_kit/metrics/index.html.erb +5 -3
  28. data/app/views/completion_kit/metrics/show.html.erb +131 -127
  29. data/app/views/completion_kit/metrics/starter_preview.html.erb +6 -6
  30. data/app/views/completion_kit/responses/show.html.erb +9 -1
  31. data/app/views/completion_kit/runs/_status_panel.html.erb +2 -2
  32. data/app/views/completion_kit/runs/show.html.erb +23 -0
  33. data/config/routes.rb +2 -1
  34. data/db/migrate/20260525000001_add_version_number_and_published_at_to_judge_versions.rb +24 -0
  35. data/db/migrate/20260528000001_rename_judge_version_to_metric_version.rb +22 -0
  36. data/db/migrate/20260528000002_add_metric_version_to_reviews.rb +21 -0
  37. data/lib/completion_kit/version.rb +1 -1
  38. metadata +8 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cb4e02cd47c184c237c34642f1ece8c44bef6a2e79cfeeb3da913a536940216e
4
- data.tar.gz: 516720138ec5dd2eeecc2d28cd9e7830c8c2ab2b4a183733afe44a939ca4d9af
3
+ metadata.gz: d81df0996441d12c0fb540b9f29bb514813adcdbea3ceefb515d318f28947731
4
+ data.tar.gz: 606764f41e74cec3284f1155d7ef86e77a61af708af2320d5b02640827741f7a
5
5
  SHA512:
6
- metadata.gz: 0f3403ecf234b58f659f49406e0264384a5ccbda7206e3673c3b4d96704658b1efe5c2e74943fd6110477a8acffeca3600af655980e76a139319e6dc4376779f
7
- data.tar.gz: da16ea0344f7a00f8366faabe4cd9d53ef487fc67a06f415b7772ff3631fcb3edca6f30be9a59dd3e4cc9e40795cdd4977028c5fd880ab9d2d49d3563babe5aa
6
+ metadata.gz: 9e468cd12eb143f4b5eb64333339199420db4c9d0c78ec548965972eee5e326d574a80c6c3092d63f4d99d88901ce3470ac688468d2813f5370e589568fba669
7
+ data.tar.gz: 7377f00a31d539297f9e79059083aa7bfef782d18d1ecfcb9f7da1ff648ce1eaf6f8a94bc55d56fcca22a47e09c7fcb1bc89981563aa351e4293c47f8d886570
@@ -164,3 +164,20 @@ document.addEventListener("click", function(e) {
164
164
  if (!menu.contains(e.target)) menu.removeAttribute("open");
165
165
  });
166
166
  });
167
+
168
+ document.addEventListener("click", function(e) {
169
+ var btn = e.target.closest("[data-ck-apply]");
170
+ if (!btn) return;
171
+ e.preventDefault();
172
+ var targetName = btn.getAttribute("data-target");
173
+ var value = btn.getAttribute("data-value");
174
+ if (!targetName) return;
175
+ var field = document.querySelector('[name="' + targetName.replace(/"/g, '\\"') + '"]');
176
+ if (!field) return;
177
+ field.value = value;
178
+ field.dispatchEvent(new Event("input", { bubbles: true }));
179
+ field.dispatchEvent(new Event("change", { bubbles: true }));
180
+ btn.classList.add("is-applied");
181
+ btn.textContent = "Applied ✓";
182
+ field.focus({ preventScroll: true });
183
+ });