@rulemetric/cli 0.14.2 → 0.15.1

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 (107) hide show
  1. package/dist/{chunk-5PMTNNA6.js → chunk-2U6PAYCD.js} +1 -1
  2. package/dist/{chunk-6AAAHV2B.js → chunk-3H44B6PB.js} +1 -1
  3. package/dist/chunk-4GOXEEXZ.js +1 -0
  4. package/dist/{chunk-H4QPAEEA.js → chunk-5GFEEYHM.js} +1 -1
  5. package/dist/{chunk-RYCVPQYK.js → chunk-5IL3EEIE.js} +1 -1
  6. package/dist/{chunk-VCUW2NAP.js → chunk-5Z6XXOJL.js} +1 -1
  7. package/dist/{chunk-Q36QSFSB.js → chunk-6QMIDH6X.js} +1 -1
  8. package/dist/{chunk-H2FMAJUJ.js → chunk-7LE2W3WP.js} +1 -1
  9. package/dist/{chunk-6TGFU6RU.js → chunk-7LFCZI64.js} +1 -1
  10. package/dist/{chunk-7H4HJ2RV.js → chunk-BU3ZGLQG.js} +1 -1
  11. package/dist/{chunk-QENSCK77.js → chunk-CIKQXFQ2.js} +1 -1
  12. package/dist/{chunk-ISFPPDDB.js → chunk-D5XLTSRV.js} +1 -1
  13. package/dist/{chunk-RR7V5CK5.js → chunk-EE4TZAZI.js} +1 -1
  14. package/dist/{chunk-T47SFA5X.js → chunk-FADINV4H.js} +1 -1
  15. package/dist/{chunk-DVU5PHPM.js → chunk-FG343JM3.js} +1 -1
  16. package/dist/chunk-GJHFIQVO.js +28 -0
  17. package/dist/{chunk-LB24UKHZ.js → chunk-GYKYJJNF.js} +1 -1
  18. package/dist/{chunk-DXNUCWUX.js → chunk-HXOQUYG3.js} +1 -1
  19. package/dist/{chunk-HM63AB2C.js → chunk-IFIWDL7G.js} +1 -1
  20. package/dist/chunk-ISEUEYSC.js +1 -0
  21. package/dist/chunk-JIW2PCHU.js +1 -0
  22. package/dist/chunk-JNLDISBA.js +4 -0
  23. package/dist/{chunk-FS3TAQAE.js → chunk-JOXTWLLK.js} +1 -1
  24. package/dist/chunk-JU5ZNXPK.js +1 -0
  25. package/dist/chunk-KFNFLMUR.js +3 -0
  26. package/dist/{chunk-7MTYUTUN.js → chunk-KR36ZDGN.js} +1 -1
  27. package/dist/{chunk-O4K4M5G6.js → chunk-LJE5J3EW.js} +1 -1
  28. package/dist/{chunk-PXYK4MBX.js → chunk-LLXC5SRC.js} +1 -1
  29. package/dist/{chunk-WIKCYUZC.js → chunk-OAETRNTE.js} +1 -1
  30. package/dist/{chunk-KOYHJFB3.js → chunk-PDXHRF4E.js} +1 -1
  31. package/dist/{chunk-F5PJN2EY.js → chunk-Q7IDLOSP.js} +1 -1
  32. package/dist/{chunk-ZK3ACE4T.js → chunk-T7HZZ4DJ.js} +1 -1
  33. package/dist/{chunk-5VNEHPGC.js → chunk-TQM7MF5C.js} +1 -1
  34. package/dist/{chunk-EBWV4SUS.js → chunk-U3PIBPHT.js} +1 -1
  35. package/dist/chunk-UNVURR4E.js +1 -0
  36. package/dist/{chunk-VXNICAVG.js → chunk-VUNJGZPP.js} +1 -1
  37. package/dist/{chunk-J6RQ5AH2.js → chunk-W6MMJRFZ.js} +1 -1
  38. package/dist/{chunk-XZW5ZHFC.js → chunk-WQFR2LOY.js} +1 -1
  39. package/dist/chunk-WVNTUKED.js +1 -0
  40. package/dist/{chunk-XIOYV5A7.js → chunk-X3BBFDRD.js} +1 -1
  41. package/dist/{chunk-7BCZDVIU.js → chunk-XCH4HPEZ.js} +1 -1
  42. package/dist/{chunk-RSVNQ2XI.js → chunk-YXMAGC53.js} +1 -1
  43. package/dist/chunk-ZMVTSYD4.js +1 -0
  44. package/dist/commands/diagnostics.js +1 -1
  45. package/dist/commands/evals/agent.js +1 -1
  46. package/dist/commands/evals/auto-run.js +1 -1
  47. package/dist/commands/evals/benchmark.js +1 -1
  48. package/dist/commands/evals/compare.js +1 -1
  49. package/dist/commands/evals/optimize-description.js +1 -1
  50. package/dist/commands/evals/optimize.js +1 -1
  51. package/dist/commands/evals/refine-cases.js +1 -1
  52. package/dist/commands/evals/run.js +1 -1
  53. package/dist/commands/evals/validate-judge.js +1 -1
  54. package/dist/commands/sessions/list.js +1 -1
  55. package/dist/dashboard/Dashboard.js +1 -1
  56. package/dist/dashboard/data.js +1 -1
  57. package/dist/{dist-GSHUC7UU.js → dist-OVXV2FFO.js} +1 -1
  58. package/dist/lib/agent-loop.js +1 -1
  59. package/dist/lib/codex-exec.js +1 -1
  60. package/dist/lib/eval-analyzer.js +1 -1
  61. package/dist/lib/eval-benchmark.js +1 -1
  62. package/dist/lib/eval-candidate-run.js +1 -1
  63. package/dist/lib/eval-case-generator.js +1 -1
  64. package/dist/lib/eval-conversation-handler.js +1 -1
  65. package/dist/lib/eval-executor.js +1 -1
  66. package/dist/lib/eval-grader.js +1 -1
  67. package/dist/lib/eval-meta-judge.js +1 -1
  68. package/dist/lib/eval-resume.js +1 -1
  69. package/dist/lib/eval-run-batch.js +1 -1
  70. package/dist/lib/eval-trigger-tester.js +1 -1
  71. package/dist/lib/evolution-cost.js +1 -1
  72. package/dist/lib/evolution-enrolment.js +1 -1
  73. package/dist/lib/instruction-proposer.js +1 -1
  74. package/dist/lib/instruction-restoration.js +1 -0
  75. package/dist/lib/jobs/handlers/cron-eval-autorun.js +1 -1
  76. package/dist/lib/jobs/handlers/cron-instruction-evolution.js +1 -1
  77. package/dist/lib/jobs/handlers/cron-refine-cases.js +1 -1
  78. package/dist/lib/jobs/handlers/cron-refresh-pricing.js +1 -1
  79. package/dist/lib/jobs/handlers/cron-suggest-instructions.js +1 -1
  80. package/dist/lib/jobs/handlers/distill-memories.js +1 -1
  81. package/dist/lib/jobs/handlers/process-changelog.js +1 -1
  82. package/dist/lib/jobs/handlers/process-conversation.js +1 -1
  83. package/dist/lib/jobs/handlers/process-eval.js +1 -1
  84. package/dist/lib/jobs/handlers/process-insights.js +1 -1
  85. package/dist/lib/jobs/handlers/process-judge-review.js +1 -1
  86. package/dist/lib/jobs/handlers/process-launch.js +1 -1
  87. package/dist/lib/jobs/handlers/process-memory-ab.js +1 -1
  88. package/dist/lib/jobs/handlers/process-run-cleanup.js +1 -1
  89. package/dist/lib/jobs/handlers/process-session-goal.js +1 -1
  90. package/dist/lib/judge-review-runner.js +1 -1
  91. package/dist/lib/llm-client.js +1 -1
  92. package/dist/lib/manual-tasks.js +1 -1
  93. package/dist/lib/measurement-llm.js +1 -1
  94. package/dist/lib/optimize-compare.js +1 -1
  95. package/dist/lib/projects/workspace/worktree.js +1 -1
  96. package/dist/lib/refine-cases.js +1 -1
  97. package/dist/lib/study-fixture.js +1 -0
  98. package/oclif.manifest.json +1 -1
  99. package/package.json +4 -4
  100. package/dist/chunk-3NWJ7CZ2.js +0 -1
  101. package/dist/chunk-FBSZ6KCM.js +0 -1
  102. package/dist/chunk-H33XYL7O.js +0 -1
  103. package/dist/chunk-Q776YUBD.js +0 -1
  104. package/dist/chunk-SG4UDDHB.js +0 -4
  105. package/dist/chunk-T75KAEJO.js +0 -25
  106. package/dist/chunk-VBXL7XO7.js +0 -1
  107. package/dist/chunk-ZTQUGAZG.js +0 -1
@@ -1 +1 @@
1
- import{a,b}from"../../../chunk-VCUW2NAP.js";import"../../../chunk-7BCZDVIU.js";import"../../../chunk-PPAHIVG5.js";import"../../../chunk-CT7FWSIU.js";import"../../../chunk-5MXZJWQS.js";import"../../../chunk-N7ODX6PO.js";import"../../../chunk-SG4UDDHB.js";import"../../../chunk-GPBN4ROE.js";import"../../../chunk-6XTLP2G7.js";import"../../../chunk-PJ3WHQ67.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{b as distillMemories,a as selectNewMemories};
1
+ import{a,b}from"../../../chunk-5Z6XXOJL.js";import"../../../chunk-XCH4HPEZ.js";import"../../../chunk-PPAHIVG5.js";import"../../../chunk-CT7FWSIU.js";import"../../../chunk-5MXZJWQS.js";import"../../../chunk-N7ODX6PO.js";import"../../../chunk-JNLDISBA.js";import"../../../chunk-GPBN4ROE.js";import"../../../chunk-6XTLP2G7.js";import"../../../chunk-PJ3WHQ67.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{b as distillMemories,a as selectNewMemories};
@@ -1 +1 @@
1
- import{a}from"../../../chunk-EBWV4SUS.js";import"../../../chunk-Q776YUBD.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-ZLLER3HP.js";export{a as processChangelog};
1
+ import{a}from"../../../chunk-U3PIBPHT.js";import"../../../chunk-JIW2PCHU.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-ZLLER3HP.js";export{a as processChangelog};
@@ -1 +1 @@
1
- import{a}from"../../../chunk-PXYK4MBX.js";import"../../../chunk-FS3TAQAE.js";import"../../../chunk-DXNUCWUX.js";import"../../../chunk-KOYHJFB3.js";import"../../../chunk-ZK3ACE4T.js";import"../../../chunk-7BCZDVIU.js";import"../../../chunk-PPAHIVG5.js";import"../../../chunk-CT7FWSIU.js";import"../../../chunk-5MXZJWQS.js";import"../../../chunk-N7ODX6PO.js";import"../../../chunk-DVU5PHPM.js";import"../../../chunk-CDY7TQFZ.js";import"../../../chunk-FBSZ6KCM.js";import"../../../chunk-JP6ULOEX.js";import"../../../chunk-SG4UDDHB.js";import"../../../chunk-GPBN4ROE.js";import"../../../chunk-6XTLP2G7.js";import"../../../chunk-PJ3WHQ67.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{a as processConversation};
1
+ import{a}from"../../../chunk-LLXC5SRC.js";import"../../../chunk-JOXTWLLK.js";import"../../../chunk-HXOQUYG3.js";import"../../../chunk-PDXHRF4E.js";import"../../../chunk-T7HZZ4DJ.js";import"../../../chunk-XCH4HPEZ.js";import"../../../chunk-PPAHIVG5.js";import"../../../chunk-CT7FWSIU.js";import"../../../chunk-5MXZJWQS.js";import"../../../chunk-N7ODX6PO.js";import"../../../chunk-FG343JM3.js";import"../../../chunk-CDY7TQFZ.js";import"../../../chunk-4GOXEEXZ.js";import"../../../chunk-JP6ULOEX.js";import"../../../chunk-JNLDISBA.js";import"../../../chunk-GPBN4ROE.js";import"../../../chunk-6XTLP2G7.js";import"../../../chunk-PJ3WHQ67.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{a as processConversation};
@@ -1 +1 @@
1
- import{a}from"../../../chunk-ZTQUGAZG.js";import"../../../chunk-5RBLIVBF.js";import"../../../chunk-7MTYUTUN.js";import"../../../chunk-DXNUCWUX.js";import"../../../chunk-ZK3ACE4T.js";import"../../../chunk-7BCZDVIU.js";import"../../../chunk-PPAHIVG5.js";import"../../../chunk-CT7FWSIU.js";import"../../../chunk-5MXZJWQS.js";import"../../../chunk-N7ODX6PO.js";import"../../../chunk-T47SFA5X.js";import"../../../chunk-SWSOEYC7.js";import"../../../chunk-U2NT5OSQ.js";import"../../../chunk-KGURGIZ2.js";import"../../../chunk-GYNZ3OZF.js";import"../../../chunk-UPFH72PF.js";import"../../../chunk-DVU5PHPM.js";import"../../../chunk-CDY7TQFZ.js";import"../../../chunk-FBSZ6KCM.js";import"../../../chunk-JP6ULOEX.js";import"../../../chunk-SG4UDDHB.js";import"../../../chunk-GPBN4ROE.js";import"../../../chunk-6XTLP2G7.js";import"../../../chunk-PJ3WHQ67.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{a as processEval};
1
+ import{a}from"../../../chunk-UNVURR4E.js";import"../../../chunk-JU5ZNXPK.js";import"../../../chunk-5RBLIVBF.js";import"../../../chunk-KR36ZDGN.js";import"../../../chunk-HXOQUYG3.js";import"../../../chunk-T7HZZ4DJ.js";import"../../../chunk-XCH4HPEZ.js";import"../../../chunk-PPAHIVG5.js";import"../../../chunk-CT7FWSIU.js";import"../../../chunk-5MXZJWQS.js";import"../../../chunk-N7ODX6PO.js";import"../../../chunk-FADINV4H.js";import"../../../chunk-SWSOEYC7.js";import"../../../chunk-U2NT5OSQ.js";import"../../../chunk-KGURGIZ2.js";import"../../../chunk-GYNZ3OZF.js";import"../../../chunk-UPFH72PF.js";import"../../../chunk-FG343JM3.js";import"../../../chunk-CDY7TQFZ.js";import"../../../chunk-4GOXEEXZ.js";import"../../../chunk-JP6ULOEX.js";import"../../../chunk-JNLDISBA.js";import"../../../chunk-GPBN4ROE.js";import"../../../chunk-6XTLP2G7.js";import"../../../chunk-PJ3WHQ67.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{a as processEval};
@@ -1 +1 @@
1
- import{a,b}from"../../../chunk-XZW5ZHFC.js";import"../../../chunk-5RBLIVBF.js";import"../../../chunk-GLBWNB2N.js";import"../../../chunk-CQD2R3BA.js";import"../../../chunk-3UKZJAFS.js";import"../../../chunk-77FH6UZP.js";import"../../../chunk-KE5K3F7J.js";import"../../../chunk-LJRE3LZ2.js";import"../../../chunk-7BCZDVIU.js";import"../../../chunk-PPAHIVG5.js";import"../../../chunk-CT7FWSIU.js";import"../../../chunk-5MXZJWQS.js";import"../../../chunk-N7ODX6PO.js";import"../../../chunk-SG4UDDHB.js";import"../../../chunk-GPBN4ROE.js";import"../../../chunk-6XTLP2G7.js";import"../../../chunk-PJ3WHQ67.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{b as fetchGeneratorMemory,a as processInsights};
1
+ import{a,b}from"../../../chunk-WQFR2LOY.js";import"../../../chunk-5RBLIVBF.js";import"../../../chunk-GLBWNB2N.js";import"../../../chunk-CQD2R3BA.js";import"../../../chunk-3UKZJAFS.js";import"../../../chunk-77FH6UZP.js";import"../../../chunk-KE5K3F7J.js";import"../../../chunk-LJRE3LZ2.js";import"../../../chunk-XCH4HPEZ.js";import"../../../chunk-PPAHIVG5.js";import"../../../chunk-CT7FWSIU.js";import"../../../chunk-5MXZJWQS.js";import"../../../chunk-N7ODX6PO.js";import"../../../chunk-JNLDISBA.js";import"../../../chunk-GPBN4ROE.js";import"../../../chunk-6XTLP2G7.js";import"../../../chunk-PJ3WHQ67.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{b as fetchGeneratorMemory,a as processInsights};
@@ -1 +1 @@
1
- import{a}from"../../../chunk-F5PJN2EY.js";import"../../../chunk-6AAAHV2B.js";import"../../../chunk-6UEFCMR2.js";import"../../../chunk-DVU5PHPM.js";import"../../../chunk-CDY7TQFZ.js";import"../../../chunk-FBSZ6KCM.js";import"../../../chunk-JP6ULOEX.js";import"../../../chunk-SG4UDDHB.js";import"../../../chunk-GPBN4ROE.js";import"../../../chunk-6XTLP2G7.js";import"../../../chunk-PJ3WHQ67.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{a as processJudgeReview};
1
+ import{a}from"../../../chunk-Q7IDLOSP.js";import"../../../chunk-3H44B6PB.js";import"../../../chunk-6UEFCMR2.js";import"../../../chunk-FG343JM3.js";import"../../../chunk-CDY7TQFZ.js";import"../../../chunk-4GOXEEXZ.js";import"../../../chunk-JP6ULOEX.js";import"../../../chunk-JNLDISBA.js";import"../../../chunk-GPBN4ROE.js";import"../../../chunk-6XTLP2G7.js";import"../../../chunk-PJ3WHQ67.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{a as processJudgeReview};
@@ -1 +1 @@
1
- import{a,b}from"../../../chunk-XIOYV5A7.js";import"../../../chunk-ISFPPDDB.js";import"../../../chunk-5RBLIVBF.js";import"../../../chunk-T75KAEJO.js";import"../../../chunk-N7ODX6PO.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{b as processLaunch,a as resolveWorktreeForLaunch};
1
+ import{a,b}from"../../../chunk-X3BBFDRD.js";import"../../../chunk-D5XLTSRV.js";import"../../../chunk-5RBLIVBF.js";import"../../../chunk-GJHFIQVO.js";import"../../../chunk-N7ODX6PO.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{b as processLaunch,a as resolveWorktreeForLaunch};
@@ -1 +1 @@
1
- import{a}from"../../../chunk-5VNEHPGC.js";import"../../../chunk-T47SFA5X.js";import"../../../chunk-SWSOEYC7.js";import"../../../chunk-U2NT5OSQ.js";import"../../../chunk-KGURGIZ2.js";import"../../../chunk-GYNZ3OZF.js";import"../../../chunk-UPFH72PF.js";import"../../../chunk-DVU5PHPM.js";import"../../../chunk-CDY7TQFZ.js";import"../../../chunk-VBXL7XO7.js";import"../../../chunk-FBSZ6KCM.js";import"../../../chunk-JP6ULOEX.js";import"../../../chunk-SG4UDDHB.js";import"../../../chunk-GPBN4ROE.js";import"../../../chunk-6XTLP2G7.js";import"../../../chunk-PJ3WHQ67.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{a as processMemoryAb};
1
+ import{a}from"../../../chunk-TQM7MF5C.js";import"../../../chunk-FADINV4H.js";import"../../../chunk-SWSOEYC7.js";import"../../../chunk-U2NT5OSQ.js";import"../../../chunk-KGURGIZ2.js";import"../../../chunk-GYNZ3OZF.js";import"../../../chunk-UPFH72PF.js";import"../../../chunk-FG343JM3.js";import"../../../chunk-CDY7TQFZ.js";import"../../../chunk-KFNFLMUR.js";import"../../../chunk-4GOXEEXZ.js";import"../../../chunk-JP6ULOEX.js";import"../../../chunk-JNLDISBA.js";import"../../../chunk-GPBN4ROE.js";import"../../../chunk-6XTLP2G7.js";import"../../../chunk-PJ3WHQ67.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{a as processMemoryAb};
@@ -1 +1 @@
1
- import{a}from"../../../chunk-5PMTNNA6.js";import"../../../chunk-ISFPPDDB.js";import"../../../chunk-5RBLIVBF.js";import"../../../chunk-T75KAEJO.js";import"../../../chunk-N7ODX6PO.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{a as processRunCleanup};
1
+ import{a}from"../../../chunk-2U6PAYCD.js";import"../../../chunk-D5XLTSRV.js";import"../../../chunk-5RBLIVBF.js";import"../../../chunk-GJHFIQVO.js";import"../../../chunk-N7ODX6PO.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{a as processRunCleanup};
@@ -1 +1 @@
1
- import{a}from"../../../chunk-HM63AB2C.js";import"../../../chunk-CVPAKEEZ.js";import"../../../chunk-7BCZDVIU.js";import"../../../chunk-PPAHIVG5.js";import"../../../chunk-CT7FWSIU.js";import"../../../chunk-5MXZJWQS.js";import"../../../chunk-N7ODX6PO.js";import"../../../chunk-SG4UDDHB.js";import"../../../chunk-GPBN4ROE.js";import"../../../chunk-6XTLP2G7.js";import"../../../chunk-PJ3WHQ67.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{a as processSessionGoal};
1
+ import{a}from"../../../chunk-IFIWDL7G.js";import"../../../chunk-CVPAKEEZ.js";import"../../../chunk-XCH4HPEZ.js";import"../../../chunk-PPAHIVG5.js";import"../../../chunk-CT7FWSIU.js";import"../../../chunk-5MXZJWQS.js";import"../../../chunk-N7ODX6PO.js";import"../../../chunk-JNLDISBA.js";import"../../../chunk-GPBN4ROE.js";import"../../../chunk-6XTLP2G7.js";import"../../../chunk-PJ3WHQ67.js";import"../../../chunk-GIXHG5FK.js";import"../../../chunk-X6CF5KTW.js";import"../../../chunk-XQYAVSUQ.js";import"../../../chunk-PZNWH4VQ.js";import"../../../chunk-ZLLER3HP.js";export{a as processSessionGoal};
@@ -1 +1 @@
1
- import{a,b,c,d}from"../chunk-6AAAHV2B.js";import"../chunk-6UEFCMR2.js";import"../chunk-DVU5PHPM.js";import"../chunk-CDY7TQFZ.js";import"../chunk-FBSZ6KCM.js";import"../chunk-JP6ULOEX.js";import"../chunk-SG4UDDHB.js";import"../chunk-GPBN4ROE.js";import"../chunk-6XTLP2G7.js";import"../chunk-PJ3WHQ67.js";import"../chunk-GIXHG5FK.js";import"../chunk-X6CF5KTW.js";import"../chunk-XQYAVSUQ.js";import"../chunk-PZNWH4VQ.js";import"../chunk-ZLLER3HP.js";export{c as JudgeReviewSkip,b as llmExpectationIndexes,a as reviewMatchesReviewer,d as runJudgeReviewPass};
1
+ import{a,b,c,d}from"../chunk-3H44B6PB.js";import"../chunk-6UEFCMR2.js";import"../chunk-FG343JM3.js";import"../chunk-CDY7TQFZ.js";import"../chunk-4GOXEEXZ.js";import"../chunk-JP6ULOEX.js";import"../chunk-JNLDISBA.js";import"../chunk-GPBN4ROE.js";import"../chunk-6XTLP2G7.js";import"../chunk-PJ3WHQ67.js";import"../chunk-GIXHG5FK.js";import"../chunk-X6CF5KTW.js";import"../chunk-XQYAVSUQ.js";import"../chunk-PZNWH4VQ.js";import"../chunk-ZLLER3HP.js";export{c as JudgeReviewSkip,b as llmExpectationIndexes,a as reviewMatchesReviewer,d as runJudgeReviewPass};
@@ -1 +1 @@
1
- import{a as f,b as g,c as h,d as i,e as j,f as k,g as l,h as m}from"../chunk-7BCZDVIU.js";import{b}from"../chunk-PPAHIVG5.js";import{a as c,b as d,c as e}from"../chunk-CT7FWSIU.js";import"../chunk-5MXZJWQS.js";import"../chunk-N7ODX6PO.js";import"../chunk-SG4UDDHB.js";import"../chunk-GPBN4ROE.js";import{a}from"../chunk-6XTLP2G7.js";import"../chunk-PJ3WHQ67.js";import"../chunk-ZLLER3HP.js";export{j as detectLlmBackend,i as detectedCodexModel,b as getToolCli,d as parseCopilotReply,e as parsePiReply,f as planToolExecution,k as resetLlmBackendCache,a as resolveToolBin,l as runLlmPrompt,m as runLlmPromptText,g as runToolPrompt,h as unrunnableBackendReason,c as versionProbeSucceeded};
1
+ import{a as f,b as g,c as h,d as i,e as j,f as k,g as l,h as m}from"../chunk-XCH4HPEZ.js";import{b}from"../chunk-PPAHIVG5.js";import{a as c,b as d,c as e}from"../chunk-CT7FWSIU.js";import"../chunk-5MXZJWQS.js";import"../chunk-N7ODX6PO.js";import"../chunk-JNLDISBA.js";import"../chunk-GPBN4ROE.js";import{a}from"../chunk-6XTLP2G7.js";import"../chunk-PJ3WHQ67.js";import"../chunk-ZLLER3HP.js";export{j as detectLlmBackend,i as detectedCodexModel,b as getToolCli,d as parseCopilotReply,e as parsePiReply,f as planToolExecution,k as resetLlmBackendCache,a as resolveToolBin,l as runLlmPrompt,m as runLlmPromptText,g as runToolPrompt,h as unrunnableBackendReason,c as versionProbeSucceeded};
@@ -1 +1 @@
1
- import{a as m}from"../chunk-EBWV4SUS.js";import"../chunk-Q776YUBD.js";import{a as k}from"../chunk-PZS55PW2.js";import{e as p}from"../chunk-QENSCK77.js";import"../chunk-HOQPVOMF.js";import{c as h}from"../chunk-FZMO7XSN.js";import"../chunk-MOJY6S5J.js";import{a as d}from"../chunk-CZBO3A6B.js";import"../chunk-CVPAKEEZ.js";import"../chunk-PIVEJTNF.js";import"../chunk-GIRPEMTW.js";import"../chunk-SIGZEQ3K.js";import"../chunk-MODXEGCU.js";import{a as f}from"../chunk-4VN5PG2S.js";import"../chunk-7BCZDVIU.js";import"../chunk-PPAHIVG5.js";import"../chunk-CT7FWSIU.js";import"../chunk-5MXZJWQS.js";import"../chunk-N7ODX6PO.js";import"../chunk-SG4UDDHB.js";import"../chunk-GPBN4ROE.js";import"../chunk-6XTLP2G7.js";import"../chunk-PJ3WHQ67.js";import"../chunk-GIXHG5FK.js";import{A as c,B as g,z as u}from"../chunk-X6CF5KTW.js";import{f as l}from"../chunk-XQYAVSUQ.js";import"../chunk-PZNWH4VQ.js";import{a}from"../chunk-ZLLER3HP.js";var b={cron_check_changelog:a(async(r,n)=>{let t=await m({logger:{info:a(e=>n.logger.info(e),"info"),warn:a(e=>n.logger.warn(e),"warn")}});n.logger.info(`[cron_check_changelog] result: created=${t.createdCount} skipped=${t.skippedCount}`)},"cron_check_changelog"),cron_suggest_instructions:a((r,n)=>p(r,n),"cron_suggest_instructions"),cron_reconcile_attribution:a((r,n)=>d(r,n).then(()=>{}),"cron_reconcile_attribution"),cron_refresh_skills:a((r,n)=>k(r,n),"cron_refresh_skills"),harbor_ab:a(async(r,n)=>{let t=r.measurement,e=t?l.parse(t):null;for(let s of u("proven")){let i=c(s,e);if(i){n.logger.warn(i);continue}let o=await h(g(s,"manual",e),n);n.logger.info(`[harbor_ab] ${s.task}: ${o.decision} \u2014 ${o.reason}`)}},"harbor_ab")},w=f.map(r=>{let n=b[r.name];if(!n)throw new Error(`manual-tasks: no handler registered for "${r.name}"`);return{...r,handler:n}});async function v(r,n={}){let t=w.find(o=>o.name===r);if(!t)return{name:r,durationMs:0,ok:!1,error:`Unknown task: ${r}`,logs:[]};let e=[],s={logger:{info:a(o=>e.push({level:"info",message:o}),"info"),warn:a(o=>e.push({level:"warn",message:o}),"warn"),error:a(o=>e.push({level:"error",message:o}),"error")},job:{attempts:0}},i=Date.now();try{return await t.handler(n,s),{name:r,durationMs:Date.now()-i,ok:!0,logs:e}}catch(o){return{name:r,durationMs:Date.now()-i,ok:!1,error:o instanceof Error?o.message:String(o),logs:e}}}a(v,"runManualTask");export{w as MANUAL_TASKS,v as runManualTask};
1
+ import{a as m}from"../chunk-U3PIBPHT.js";import"../chunk-JIW2PCHU.js";import{c as h}from"../chunk-FZMO7XSN.js";import{a as d}from"../chunk-CZBO3A6B.js";import{a as k}from"../chunk-PZS55PW2.js";import{e as p}from"../chunk-CIKQXFQ2.js";import"../chunk-HOQPVOMF.js";import"../chunk-MOJY6S5J.js";import"../chunk-CVPAKEEZ.js";import"../chunk-PIVEJTNF.js";import"../chunk-GIRPEMTW.js";import"../chunk-SIGZEQ3K.js";import"../chunk-MODXEGCU.js";import{a as f}from"../chunk-4VN5PG2S.js";import"../chunk-XCH4HPEZ.js";import"../chunk-PPAHIVG5.js";import"../chunk-CT7FWSIU.js";import"../chunk-5MXZJWQS.js";import"../chunk-N7ODX6PO.js";import"../chunk-JNLDISBA.js";import"../chunk-GPBN4ROE.js";import"../chunk-6XTLP2G7.js";import"../chunk-PJ3WHQ67.js";import"../chunk-GIXHG5FK.js";import{A as c,B as g,z as u}from"../chunk-X6CF5KTW.js";import{f as l}from"../chunk-XQYAVSUQ.js";import"../chunk-PZNWH4VQ.js";import{a}from"../chunk-ZLLER3HP.js";var b={cron_check_changelog:a(async(r,n)=>{let t=await m({logger:{info:a(e=>n.logger.info(e),"info"),warn:a(e=>n.logger.warn(e),"warn")}});n.logger.info(`[cron_check_changelog] result: created=${t.createdCount} skipped=${t.skippedCount}`)},"cron_check_changelog"),cron_suggest_instructions:a((r,n)=>p(r,n),"cron_suggest_instructions"),cron_reconcile_attribution:a((r,n)=>d(r,n).then(()=>{}),"cron_reconcile_attribution"),cron_refresh_skills:a((r,n)=>k(r,n),"cron_refresh_skills"),harbor_ab:a(async(r,n)=>{let t=r.measurement,e=t?l.parse(t):null;for(let s of u("proven")){let i=c(s,e);if(i){n.logger.warn(i);continue}let o=await h(g(s,"manual",e),n);n.logger.info(`[harbor_ab] ${s.task}: ${o.decision} \u2014 ${o.reason}`)}},"harbor_ab")},w=f.map(r=>{let n=b[r.name];if(!n)throw new Error(`manual-tasks: no handler registered for "${r.name}"`);return{...r,handler:n}});async function v(r,n={}){let t=w.find(o=>o.name===r);if(!t)return{name:r,durationMs:0,ok:!1,error:`Unknown task: ${r}`,logs:[]};let e=[],s={logger:{info:a(o=>e.push({level:"info",message:o}),"info"),warn:a(o=>e.push({level:"warn",message:o}),"warn"),error:a(o=>e.push({level:"error",message:o}),"error")},job:{attempts:0}},i=Date.now();try{return await t.handler(n,s),{name:r,durationMs:Date.now()-i,ok:!0,logs:e}}catch(o){return{name:r,durationMs:Date.now()-i,ok:!1,error:o instanceof Error?o.message:String(o),logs:e}}}a(v,"runManualTask");export{w as MANUAL_TASKS,v as runManualTask};
@@ -1 +1 @@
1
- import{a,b}from"../chunk-ZK3ACE4T.js";import"../chunk-5MXZJWQS.js";import"../chunk-FBSZ6KCM.js";import"../chunk-JP6ULOEX.js";import"../chunk-SG4UDDHB.js";import"../chunk-GPBN4ROE.js";import"../chunk-6XTLP2G7.js";import"../chunk-PJ3WHQ67.js";import"../chunk-XQYAVSUQ.js";import"../chunk-ZLLER3HP.js";export{b as runMeasurementJson,a as runMeasurementText};
1
+ import{a,b}from"../chunk-T7HZZ4DJ.js";import"../chunk-5MXZJWQS.js";import"../chunk-4GOXEEXZ.js";import"../chunk-JP6ULOEX.js";import"../chunk-JNLDISBA.js";import"../chunk-GPBN4ROE.js";import"../chunk-6XTLP2G7.js";import"../chunk-PJ3WHQ67.js";import"../chunk-XQYAVSUQ.js";import"../chunk-ZLLER3HP.js";export{b as runMeasurementJson,a as runMeasurementText};
@@ -1 +1 @@
1
- import{a,b,c}from"../chunk-7H4HJ2RV.js";import"../chunk-VBXL7XO7.js";import"../chunk-ZLLER3HP.js";export{b as buildVersionVerdict,c as formatVersionVerdict,a as pairVersionResults};
1
+ import{a,b,c}from"../chunk-BU3ZGLQG.js";import"../chunk-KFNFLMUR.js";import"../chunk-ZLLER3HP.js";export{b as buildVersionVerdict,c as formatVersionVerdict,a as pairVersionResults};
@@ -1 +1 @@
1
- import{a as b,b as c,c as d}from"../../../chunk-ISFPPDDB.js";import{w as a}from"../../../chunk-T75KAEJO.js";import"../../../chunk-N7ODX6PO.js";import"../../../chunk-ZLLER3HP.js";export{c as ensureWorktree,d as removeWorktree,b as runGit,a as sanitizeBranch};
1
+ import{a as b,b as c,c as d}from"../../../chunk-D5XLTSRV.js";import{w as a}from"../../../chunk-GJHFIQVO.js";import"../../../chunk-N7ODX6PO.js";import"../../../chunk-ZLLER3HP.js";export{c as ensureWorktree,d as removeWorktree,b as runGit,a as sanitizeBranch};
@@ -1 +1 @@
1
- import{a,b,c}from"../chunk-RR7V5CK5.js";import"../chunk-WIKCYUZC.js";import"../chunk-3NWJ7CZ2.js";import"../chunk-M7QSC64D.js";import"../chunk-6TGFU6RU.js";import"../chunk-LB24UKHZ.js";import"../chunk-G7V4ZZZ3.js";import"../chunk-O4K4M5G6.js";import"../chunk-AHLVY52I.js";import"../chunk-RSVNQ2XI.js";import"../chunk-ZK3ACE4T.js";import"../chunk-7BCZDVIU.js";import"../chunk-PPAHIVG5.js";import"../chunk-CT7FWSIU.js";import"../chunk-5MXZJWQS.js";import"../chunk-N7ODX6PO.js";import"../chunk-T47SFA5X.js";import"../chunk-SWSOEYC7.js";import"../chunk-U2NT5OSQ.js";import"../chunk-KGURGIZ2.js";import"../chunk-GYNZ3OZF.js";import"../chunk-UPFH72PF.js";import"../chunk-DVU5PHPM.js";import"../chunk-CDY7TQFZ.js";import"../chunk-VBXL7XO7.js";import"../chunk-FBSZ6KCM.js";import"../chunk-JP6ULOEX.js";import"../chunk-SG4UDDHB.js";import"../chunk-GPBN4ROE.js";import"../chunk-6XTLP2G7.js";import"../chunk-PJ3WHQ67.js";import"../chunk-GIXHG5FK.js";import"../chunk-X6CF5KTW.js";import"../chunk-XQYAVSUQ.js";import"../chunk-PZNWH4VQ.js";import"../chunk-ZLLER3HP.js";export{a as MAX_RETIREMENTS_PER_REFINEMENT,c as executeCaseRefinement,b as planCaseRefinement};
1
+ import{a,b,c}from"../chunk-EE4TZAZI.js";import"../chunk-OAETRNTE.js";import"../chunk-ZMVTSYD4.js";import"../chunk-M7QSC64D.js";import"../chunk-7LFCZI64.js";import"../chunk-ISEUEYSC.js";import"../chunk-GYKYJJNF.js";import"../chunk-G7V4ZZZ3.js";import"../chunk-LJE5J3EW.js";import"../chunk-AHLVY52I.js";import"../chunk-YXMAGC53.js";import"../chunk-T7HZZ4DJ.js";import"../chunk-XCH4HPEZ.js";import"../chunk-PPAHIVG5.js";import"../chunk-CT7FWSIU.js";import"../chunk-5MXZJWQS.js";import"../chunk-N7ODX6PO.js";import"../chunk-FADINV4H.js";import"../chunk-SWSOEYC7.js";import"../chunk-U2NT5OSQ.js";import"../chunk-KGURGIZ2.js";import"../chunk-GYNZ3OZF.js";import"../chunk-UPFH72PF.js";import"../chunk-FG343JM3.js";import"../chunk-CDY7TQFZ.js";import"../chunk-KFNFLMUR.js";import"../chunk-4GOXEEXZ.js";import"../chunk-JP6ULOEX.js";import"../chunk-JNLDISBA.js";import"../chunk-GPBN4ROE.js";import"../chunk-6XTLP2G7.js";import"../chunk-PJ3WHQ67.js";import"../chunk-GIXHG5FK.js";import"../chunk-X6CF5KTW.js";import"../chunk-XQYAVSUQ.js";import"../chunk-PZNWH4VQ.js";import"../chunk-ZLLER3HP.js";export{a as MAX_RETIREMENTS_PER_REFINEMENT,c as executeCaseRefinement,b as planCaseRefinement};
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e}from"../chunk-JU5ZNXPK.js";import"../chunk-ZLLER3HP.js";export{c as checkFixture,a as fixtureHash,b as installFixture,d as studyExclusion,e as verifyFixtureDelivery};
@@ -4800,5 +4800,5 @@
4800
4800
  ]
4801
4801
  }
4802
4802
  },
4803
- "version": "0.14.2"
4803
+ "version": "0.15.1"
4804
4804
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rulemetric/cli",
3
- "version": "0.14.2",
3
+ "version": "0.15.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -80,9 +80,9 @@
80
80
  "postgres": "^3.4.0",
81
81
  "react": "^19.0.0",
82
82
  "zod": "^3.24.0",
83
- "@rulemetric/hooks": "0.14.2",
84
- "@rulemetric/proxy": "0.14.2",
85
- "@rulemetric/skills-registry": "0.14.2"
83
+ "@rulemetric/proxy": "0.15.1",
84
+ "@rulemetric/skills-registry": "0.15.1",
85
+ "@rulemetric/hooks": "0.15.1"
86
86
  },
87
87
  "//deps": "Worker (`evals agent`) runtime deps: the @opentelemetry/* set, @sentry/node, and postgres are STATIC top-level imports loaded at worker startup (via bundled @rulemetric/{telemetry,db}) — they MUST be runtime deps or a clean `npm i -g` crashes with ModuleLoadError. `better-sqlite3` is optionalDependencies (below): it's a native module, lazy `require()`'d inside a try/catch (packages/session providers cursor/opencode) so a missing binary degrades gracefully — making it a hard dep would break `npm i -g` on platforms without prebuilt binaries. `resend` stays a devDep: lazy `await import('resend')` guarded by RESEND_API_KEY, which end-user workers never set (provider falls back to noop). Classification verified via import-graph scan of dist/commands/evals/agent.js + per-importer static/lazy check.",
88
88
  "optionalDependencies": {
@@ -1 +0,0 @@
1
- import{a as Me}from"./chunk-M7QSC64D.js";import{i as Ie}from"./chunk-6TGFU6RU.js";import{b as pe,i as me,j as ge,k as fe,l as he,m as be,n as $e}from"./chunk-LB24UKHZ.js";import{c as Ae}from"./chunk-G7V4ZZZ3.js";import{a as Re,b as xe,c as Se,d as De,e as ae,f as Oe}from"./chunk-O4K4M5G6.js";import{a as re}from"./chunk-AHLVY52I.js";import{d as ye,f as ke,g as Ce,i as Ee}from"./chunk-RSVNQ2XI.js";import{a as we}from"./chunk-ZK3ACE4T.js";import{c as ve}from"./chunk-T47SFA5X.js";import{b as Pe}from"./chunk-SWSOEYC7.js";import{d as ue,e as ne,f as de}from"./chunk-VBXL7XO7.js";import{e as y,f as te}from"./chunk-GIXHG5FK.js";import{a as g}from"./chunk-ZLLER3HP.js";import{createHash as Je}from"node:crypto";import{existsSync as _e,readFileSync as Te,writeFileSync as Ge}from"node:fs";var H=g(r=>Je("sha256").update(r).digest("hex"),"sha256"),He=1.3,se=4,Xe=20;function ze(r,i){if(!r.configured||i<=0)return se;let e=Math.ceil(r.minPairs*He/i);return Math.min(Xe,Math.max(se,e))}g(ze,"passCapFor");function Be(r,i=10,e=se){if(r<=0)return{passes:0,expectedPairs:0,feasible:!1,reason:"no live cases"};let o=Math.ceil(i*He),l=Math.min(e,Math.ceil(o/r)),n=l*r;return n<i?{passes:l,expectedPairs:n,feasible:!1,reason:`${r} live case(s) x ${e} passes = ${r*e} pairs at best, below the ${i} a controlled verdict requires \u2014 add cases rather than replaying these`}:{passes:l,expectedPairs:n,feasible:!0}}g(Be,"planPasses");var Qe=60,Ve=5,Ne=g(r=>Array.isArray(r)?r.filter(i=>typeof i=="string"):[],"stringList"),J=g(r=>typeof r=="number"&&Number.isFinite(r)?r:null,"finite");function Ye(r,i,e=Ve){let o=[...r].filter(a=>a.fromContentHash===i).sort((a,c)=>Date.parse(c.createdAt)-Date.parse(a.createdAt)),l=[],n=new Set;for(let a of o){let c=a.toContentHash??a.id;if(n.has(c))continue;n.add(c);let d=a.verdict??null,k=J(d?.delta),M=J(d?.ci?.lower),x=J(d?.ci?.upper),S=J(d?.nWith),L=d?.sufficient===!0&&k!=null&&M!=null&&x!=null&&S!=null?{delta:k,ciLower:M,ciUpper:x,nPairs:S}:null;if(l.push({decision:typeof a.decision=="string"?a.decision:"unknown",applied:a.applied===!0,at:typeof a.createdAt=="string"?a.createdAt:"",rationale:typeof a.proposalRationale=="string"?a.proposalRationale:"",touched:Ne(a.touchedSections),refusals:Ne(a.refusals),measured:L}),l.length>=e)break}return l}g(Ye,"summarisePriorDecisions");function Ze(r,i){let e=i.accumulate??(r.autoEvolveAccumulate===!0||r.autoEvolveAccumulate==="true"),o=i.accumulateTargetPairs??r.autoEvolveAccumulateTarget,l=typeof o=="string"?Number.parseInt(o,10):o,n=typeof l=="number"&&Number.isInteger(l)&&l>0?l:Qe;return{enabled:e,targetPairs:n}}g(Ze,"readAccumulateConfig");function et(r){let i=r.accumulateEnabled&&r.pairCount<r.targetPairs;return{apply:r.consented&&!i,peeking:i}}g(et,"resolveApply");async function bt(r,i){let e=g(t=>i?.logger?.info?.(t)??console.log(t),"log"),{evalTargetId:o}=r,l=r.measurement?ve(r):{},n=`[cron_instruction_evolution] ${o}`,a=await y(`/api/eval-targets/${o}`),c=a.metadata??{},d=r.measurement?JSON.stringify([l.engine,l.model,l.graderEngine,l.graderModel,a.type,Pe(r.measurement.engine)]):void 0,k=null,M=!1;if(a.name.startsWith("/")&&_e(a.name))try{if(k=Te(a.name,"utf8"),k!==a.content){let t=await te(`/api/eval-targets/${o}/sync-content`,{content:k});M=t.synced,e(`${n}: target content drifted from disk by ${Math.abs(k.length-a.content.length)} chars \u2014 synced to disk truth (v${t.version}). Prior verdicts against the old text dissolve via content-hash keying.`),a={...a,content:k,version:t.version}}}catch(t){e(`${n}: disk sync failed (${t instanceof Error?t.message:String(t)}) \u2014 measuring the stored snapshot`)}let x=!1;try{x=(await y("/api/settings/evolution-account")).paused}catch(t){e(`${n}: could not read the account switch (${t instanceof Error?t.message:String(t)}) \u2014 pausing to be safe`),x=!0}if(x)return e(`${n}: PAUSED for the whole account (profiles.evolution_paused) \u2014 no model budget spent.`),{skipped:"paused-account"};if(ge(c))return e(`${n}: PAUSED (metadata.autoEvolvePaused) \u2014 no model budget spent. Opt-in is intact.`),{skipped:"paused"};let S=Me(a);if(S)return e(`${n}: ${S.reason}`),S;let L=r.apply??(c.autoEvolveApply===!0||c.autoEvolveApply==="true"),F=tt(c);if(F==null){if(L)return e(`${n}: refusing \u2014 metadata.immutableSections is unset. Set it (use [] to explicitly protect nothing) before letting the loop edit this target unattended.`),{skipped:"immutable-sections-unset"};e(`${n}: metadata.immutableSections unset \u2014 measure-only cycle proceeds with [] (nothing protected). Writing still requires setting it explicitly.`),F=[]}let w=(await y(`/api/eval-targets/${o}/evals`)).filter(t=>!t.retiredAt);if(w.length===0)return{skipped:"no-live-cases"};let j=me(c);j.note&&e(`${n}: ${j.note}`);let C=Be(w.length,j.minPairs,ze(j,w.length));if(!C.feasible)return e(`${n}: cannot reach a sufficient verdict \u2014 ${C.reason}`),{skipped:"cannot-reach-min-n",reason:C.reason};let Le=fe({liveCases:w.length,passes:C.passes});e(`${n}: budget for this run \u2014 ${$e(Le)}`);let G=await y(`/api/eval-targets/${o}/judge-calibration`);if(!G.powerCheck.adequate){let t=(G.powerCheck.reasons??[]).join("; ");return e(`${n}: not adequately powered, skipping before spending budget \u2014 ${t}`),{skipped:"not-adequate",reason:t}}let ie=de,Fe=Date.now()-ie*24*60*60*1e3,X=await y(`/api/eval-targets/${o}/promotions?limit=200`),oe=X.promotions.filter(t=>t.applied&&Date.parse(t.createdAt)>=Fe).length;if(oe>=ne)return e(`${n}: change budget looks exhausted (${oe}/${ne} applied in ${ie}d), skipping before spending budget`),{skipped:"budget-exhausted"};try{let t=await y("/api/usage/current-limits"),u=Ae({limits:t,now:new Date});if(!u.ok)return e(`${n}: deferring before spending budget \u2014 ${u.reason}`),{skipped:"quota-exhausted",reason:u.reason}}catch(t){e(`${n}: quota unknown (${t instanceof Error?t.message:String(t)}) \u2014 proceeding`)}let U=ue();if(!U.green)return e(`${n}: A/A canary is RED \u2014 halting. ${U.failures.join(" | ")}`),{skipped:"canary-red",reason:U.failures.join(" | ")};let z=a.content,D=H(z),f=Ze(c,r),v=f.enabled?re(X.promotions,D,f.targetPairs,d):null,b,q,$=[],_=0,B=pe,p=v?null:xe(c,D,d);if(p){b=p.content,q="",B=0;try{$=await De({evalTargetId:o,candidateContentHash:p.hash,executionKey:d,observedKey:p.observedKey})}catch(t){return e(`${n}: could not rebuild banked pairs (${t instanceof Error?t.message:String(t)})`),{skipped:"resume-read-failed",reason:p.hash}}e(`${n}: resuming interrupted cycle \u2014 ${$.length}/${p.plannedPairs} pair(s) rebuilt from eval_runs, no proposal call spent`)}else if(v){let t=await y(`/api/promotions/${v.promotionId}`);if(H(t.toContent)!==v.candidateContentHash)return e(`${n}: stored candidate does not match its recorded hash \u2014 refusing to continue`),{skipped:"accumulation-hash-mismatch",reason:v.promotionId};b=t.toContent,q=t.proposalRationale??"",$=v.pairs,_=v.runs,B=0,e(`${n}: continuing accumulation ${v.promotionId} \u2014 ${$.length}/${f.targetPairs} pair(s) carried from ${_} prior run(s)`)}else{let t=G.caseDiscrimination?.cases??[],u=[];if(a.name.startsWith("/")){let s=a.name.slice(0,a.name.lastIndexOf("/"));try{let m=await y(`/api/insights/evidence?projectPath=${encodeURIComponent(s)}`);m.analyzedAt&&(u=[...m.friction.map(ee=>`Real-session friction (insights, ${m.analyzedAt.slice(0,10)}): ${ee}`),...m.whatWorks.map(ee=>`Working well in real sessions \u2014 do not break: ${ee}`)],u.length>0&&e(`${n}: proposer sees ${m.friction.length} friction + ${m.whatWorks.length} what-works item(s) from insights`))}catch(m){e(`${n}: insights evidence unavailable (${m instanceof Error?m.message:String(m)}) \u2014 proposing without it`)}}let N=[];try{N=Ye(X.promotions,D)}catch(s){e(`${n}: could not summarise prior decisions (${s instanceof Error?s.message:String(s)}) \u2014 proposing without them`)}N.length>0&&e(`${n}: proposer sees ${N.length} prior decision(s) against this exact body (${N.map(s=>`${s.decision}${s.measured?"/measured":""}`).join(", ")})`);let W=await Ie({currentContent:a.content,targetType:a.type,targetName:a.name,immutableSections:F,evidence:{nonDiscriminating:t.filter(s=>!s.discriminating).map(s=>`${s.name??s.assertion??"unnamed"} \u2014 ${s.note}`),weakest:t.filter(s=>s.discriminating&&s.withPassRate<s.withoutPassRate).map(s=>({name:s.name??s.assertion??"unnamed",withPassRate:s.withPassRate,withoutPassRate:s.withoutPassRate})),priorDecisions:N,notes:u}},void 0,r.measurement?(s,m)=>we(r.measurement,s,m):void 0);if(!W.ok)return e(`${n}: no usable proposal \u2014 ${W.reason}`),{skipped:"no-proposal",reason:W.reason};b=W.proposal.candidateContent,q=W.proposal.rationale}let O=p?Se({plannedPairs:p.plannedPairs||C.expectedPairs,carriedPairs:$.length,liveCases:w.length}):C.passes;e(`${n}: measuring ${w.length} case(s) x ${O} pass(es) = up to ${w.length*O} pairs, candidate vs prior version`+(p?` (resumed; ${$.length} pair(s) already banked)`:""));let E=[],K=[],je=Date.now(),le=0,Q=0;for(let t=1;t<=O;t++){let u=await Ee({cases:w,candidateContent:b,priorVersionContent:z,concurrency:r.concurrency??2,runNumber:t,opts:{targetId:o,targetVersion:a.version??1,iteration:1,timeout:r.timeout??24e4,model:r.model,graderModel:r.graderModel,graderEngine:r.graderEngine,...l,executionKey:d,skipGrading:!1,targetType:a.type,targetName:a.name,candidateContentHash:H(b)},onLog:e});if(E.push(...u.pairs),K.push(...u.results),le+=u.completed,Q+=u.failed,e(`${n}: pass ${t}/${O} \u2014 ${u.pairs.length} pair(s), running total ${E.length}`),u.abortedForQuota){e(`${n}: stopping after pass ${t}/${O} \u2014 ${u.abortedForQuota}. Remaining passes would spend against an exhausted account.`);break}}let I=ye(K),Ue=p?.observedKey??v?.observedKey;if(r.measurement&&E.length>0&&(!I||$.length>0&&Ue!==I))return{skipped:"incomparable-execution",reason:"Actual actor/judge models or delivery changed; recorded runs are retained, but incompatible evidence cannot be pooled or promoted."};let A=[...$,...E],T=ke(K),V=E.length>0,h=he({runs:K,plannedPairs:C.expectedPairs,usablePairs:E.length,verdictPairs:V?A.length:E.length,proposalCalls:B,passes:O,liveCases:w.length,wallMs:Date.now()-je});if(e(`${n}: ${le} completed, ${Q} failed, ${E.length} usable pair(s) \u2014 spent ~${h.modelCalls} model calls (${h.proposalCalls} proposal + ${h.executorCalls} executor + >=${h.graderCalls} grader) in ${(h.wallMs/6e4).toFixed(1)} min`+(V?`; the ${h.verdictPairs} pair(s) behind this verdict resolve +/-${be(h.mde)} at 80% power`:"")),!V)return{skipped:T.infrastructureFailed?"infrastructure-failure":"no-pairs",reason:T.infrastructureFailed?`${T.infrastructureFailed} run(s) never executed (${T.summary.describe()}) \u2014 the environment failed, not the target`:`${Q} run(s) failed or were ungradeable`,cost:h};let Y=Ce({pairs:A.length,minPairs:10,accounting:T});if(Y.kind==="infrastructure-incomplete")return e(`${n}: not posting a verdict \u2014 ${Y.reason}`),await ae({evalTargetId:o,meta:c,blob:Oe({executionKey:d,...I?{observedKey:I}:{},content:b,hash:H(b),priorHash:D,plannedPairs:p?.plannedPairs||C.expectedPairs,now:new Date}),log:e,tag:n}),{skipped:"infrastructure-incomplete",reason:Y.reason,cost:h};f.enabled&&e(`${n}: accumulated ${A.length}/${f.targetPairs} pair(s) over ${_+1} run(s) on one candidate`);let ce=L,{apply:qe,peeking:Ke}=et({consented:ce,accumulateEnabled:f.enabled,pairCount:A.length,targetPairs:f.targetPairs});ce&&Ke&&e(`${n}: interim readout at ${A.length}/${f.targetPairs} pairs \u2014 recording the decision but not acting until the target is reached`);let P=await te(`/api/eval-targets/${o}/promotions`,{candidateContent:b,proposalSource:"llm",proposalRationale:q,pairs:A,canaryGreen:U.green,measuredAgainstContentHash:D,immutableSections:F,apply:qe,measurementCost:h,...f.enabled?{accumulation:{executionKey:d,...I?{observedKey:I}:{},candidateContentHash:H(b),priorContentHash:D,targetPairs:f.targetPairs,carriedPairs:$.length,runs:_+1}}:{}});e(`${n}: ${P.decision}${P.applied?" (APPLIED)":""} \u2014 ${P.rationale}`+(P.refusals.length>0?` | refusals: ${P.refusals.join("; ")}`:"")),(p||c[Re])&&await ae({evalTargetId:o,meta:c,blob:null,log:e,tag:n});let Z=!1,R;if(P.applied&&a.name.startsWith("/"))try{_e(a.name)?Te(a.name,"utf8")!==z?R="file changed since measurement started \u2014 refusing to clobber; next cycle re-syncs":(Ge(a.name,b,"utf8"),Z=!0):R="file no longer exists on disk",e(Z?`${n}: measured improvement written to ${a.name} (undo: git checkout -- ${a.name})`:`${n}: NOT written to disk \u2014 ${R}`)}catch(t){R=t instanceof Error?t.message:String(t),e(`${n}: disk write-back failed \u2014 ${R}. The eval target is updated; the file is not.`)}return{decision:P.decision,applied:P.applied,nPairs:A.length,promotionId:P.id,cost:h,diskSynced:M,...P.applied?{fileWritten:Z,...R?{fileWriteSkipped:R}:{}}:{},...f.enabled?{carriedPairs:$.length,accumulationRuns:_+1}:{}}}g(bt,"cronInstructionEvolution");function tt(r){let i=r.immutableSections;return i==null||!Array.isArray(i)?null:i.filter(e=>typeof e=="string")}g(tt,"readImmutableSections");export{He as a,se as b,Xe as c,ze as d,Be as e,Qe as f,Ve as g,Ye as h,Ze as i,et as j,bt as k,tt as l};
@@ -1 +0,0 @@
1
- import{d as D}from"./chunk-JP6ULOEX.js";import{d as b}from"./chunk-SG4UDDHB.js";import{c as k,d as w}from"./chunk-GPBN4ROE.js";import{a}from"./chunk-ZLLER3HP.js";import{spawn as L}from"node:child_process";var g=["claude","codex","pi"];function A(e,t=process.env){if(e){if(g.includes(e))return e;throw new Error(`Eval engine "${String(e)}" is not known (expected one of: ${g.join(", ")})`)}let o=t.RULEMETRIC_EVAL_ENGINE?.trim().toLowerCase();if(!o)return"claude";if(g.includes(o))return o;throw new Error(`RULEMETRIC_EVAL_ENGINE="${t.RULEMETRIC_EVAL_ENGINE}" is not a known engine (expected one of: ${g.join(", ")})`)}a(A,"resolveEvalEngine");function N(e,t=process.env){return e?.trim()||t.RULEMETRIC_CODEX_MODEL?.trim()||w().codexConfiguredModel||k}a(N,"resolveCodexEvalModel");function S(e){try{let t=JSON.parse(e),o=t.result??t.content??e,u=t.usage?.total_tokens??(t.usage?.input_tokens??0)+(t.usage?.output_tokens??0),r;if(t.modelUsage&&typeof t.modelUsage=="object"){let n=-1;for(let[l,p]of Object.entries(t.modelUsage)){let s=typeof p?.outputTokens=="number"?p.outputTokens:0;s>n&&(n=s,r=l)}}return{output:o,totalTokens:u,model:r}}catch{return{output:e,totalTokens:0}}}a(S,"parseClaudeJsonOutput");function h(e){let{prompt:t,targetContent:o,systemPrompt:u,model:r}=e,n=["-p",t,"--output-format","json","--settings",JSON.stringify({disableAllHooks:!0})],l=o??u;return l&&n.push(e.appendTarget?"--append-system-prompt":"--system-prompt",l),r&&n.push("--model",r),n}a(h,"buildClaudeArgs");function U(e,t,o,u){let r=t.trim()||o.trim()||u.trim()||"(no output on stderr or stdout)";return`Exit code ${e}: ${r.slice(0,1e3)}`}a(U,"describeExitFailure");async function I(e){let{prompt:t,targetContent:o,systemPrompt:u,workDir:r,timeout:n,model:l}=e,p=o??u,s=await b({prompt:t,systemPrompt:p,model:N(l),timeout:n,workDir:r});return{output:s.output,exitCode:s.exitCode,durationMs:s.durationMs,totalTokens:s.usage?.totalTokens??0,model:s.model,engine:"codex",delivery:p?"prompt_prefix":"none",error:s.error}}a(I,"executeCodexArm");async function $(e){let t=e.targetContent??e.systemPrompt,o=await D({prompt:e.prompt,...e.appendTarget?{appendSystemPrompt:t}:{systemPrompt:t},ignoreContextFiles:e.ignoreContextFiles,model:e.model,timeout:e.timeout,workDir:e.workDir});return{output:o.output,exitCode:o.exitCode,durationMs:o.durationMs,totalTokens:o.usage?.totalTokens??0,model:o.model,provider:o.provider,costUsd:o.costUsd,engine:"pi",delivery:t?"system_prompt":"none",error:o.error}}a($,"executePiArm");async function B(e){let{prompt:t,targetContent:o,systemPrompt:u,workDir:r=process.cwd(),timeout:n=12e4,model:l}=e,p=A(e.engine);if(p==="codex")return I({...e,workDir:r,timeout:n});if(p==="pi")return $({...e,workDir:r,timeout:n});let s=h({prompt:t,targetContent:o,systemPrompt:u,model:l,appendTarget:e.appendTarget}),E=o??u?"system_prompt":"none",x=Date.now();return new Promise(f=>{let d={...process.env};delete d.CLAUDECODE,delete d.HTTPS_PROXY;let _=["/opt/homebrew/bin","/usr/local/bin"],v=(d.PATH??"").split(":").filter(Boolean),y=_.filter(i=>!v.includes(i));y.length&&(d.PATH=[...v,...y].join(":"));let m=L("claude",s,{cwd:r,env:d,stdio:["ignore","pipe","pipe"]}),c="",C="";m.stdout.on("data",i=>{c+=i.toString()}),m.stderr.on("data",i=>{C+=i.toString()});let T=setTimeout(()=>{m.kill("SIGTERM"),f({output:c,exitCode:null,durationMs:Date.now()-x,totalTokens:0,engine:"claude",delivery:E,error:`Timed out after ${n}ms`})},n);m.on("close",i=>{clearTimeout(T);let M=Date.now()-x,{output:P,totalTokens:O,model:R}=S(c);f({output:P,exitCode:i,durationMs:M,totalTokens:O,model:R,engine:"claude",delivery:E,error:i!==0?U(i,C,P,c):void 0})}),m.on("error",i=>{clearTimeout(T),f({output:"",exitCode:null,durationMs:Date.now()-x,totalTokens:0,engine:"claude",delivery:E,error:`Failed to spawn claude: ${i.message}`})})})}a(B,"executeEval");export{A as a,N as b,S as c,h as d,U as e,B as f};
@@ -1 +0,0 @@
1
- import{b as R,c as L,f as s,g as I,i as h}from"./chunk-XXPWPKTD.js";import{c as ne}from"./chunk-5TM7AOH2.js";import{b as re}from"./chunk-IEQDLURA.js";import{d as te,e as oe,f as se}from"./chunk-KINIFUZQ.js";import{a as O}from"./chunk-ZYGBABMZ.js";import{a as U}from"./chunk-HM63AB2C.js";import{a as F}from"./chunk-PXYK4MBX.js";import{a as W}from"./chunk-ZTQUGAZG.js";import{a as $}from"./chunk-XZW5ZHFC.js";import{a as q}from"./chunk-F5PJN2EY.js";import{b as J}from"./chunk-XIOYV5A7.js";import{a as K}from"./chunk-5VNEHPGC.js";import{a as Y}from"./chunk-5PMTNNA6.js";import{b as V}from"./chunk-5RBLIVBF.js";import{a as j}from"./chunk-H4QPAEEA.js";import{a as Q}from"./chunk-J6RQ5AH2.js";import{a as D}from"./chunk-PZS55PW2.js";import{a as ee}from"./chunk-QPAOX7P2.js";import{e as P}from"./chunk-QENSCK77.js";import{b as G}from"./chunk-VCUW2NAP.js";import{c as N}from"./chunk-FZMO7XSN.js";import{a as z}from"./chunk-CYCH2EQC.js";import{a as X}from"./chunk-VXNICAVG.js";import{a as Z}from"./chunk-L562Y4RN.js";import{a as x}from"./chunk-CZBO3A6B.js";import{b as C}from"./chunk-PIVEJTNF.js";import{k as B}from"./chunk-3NWJ7CZ2.js";import{d as S}from"./chunk-GPBN4ROE.js";import{b as M,e as T,f as E}from"./chunk-GIXHG5FK.js";import{a as l}from"./chunk-ZLLER3HP.js";var H=null,w=null,ce={process_eval:W,process_insights:$,process_launch:J,process_send_message:O,process_conversation:F,process_session_goal:U,distill_memories:G,memory_ab:K,process_run_cleanup:Y,cron_refine_cases:j,cron_retire_unused_skills:ee,cron_reconcile_attribution:x,cron_suggest_instructions:P,cron_refresh_skills:D,cron_refresh_pricing:Q,cron_eval_autorun:X,cron_auto_accept_suggestions:z,cron_instruction_training:Z,cron_instruction_evolution:B,process_judge_review:q,harbor_ab:N},ae=Object.keys(ce),me=new Set([]);function pe(e=process.env){return e.DATABASE_URL?ae:ae.filter(t=>!me.has(t))}l(pe,"availableCapabilities");var ge=3e4,_e=3e4,fe=3e4,ie=500,le=1e4,ve=`thin-agent-${process.pid}`,A=null;function ke(e,t,r,p){let d;try{let i=S();d={claude:i.claudeBin!=null,codex:i.codexBin!=null,pi:i.piBin!=null,codexModel:i.codexConfiguredModel}}catch{}let m;try{m=C()}catch{}let g=l(i=>E("/api/workers/heartbeat",{workerType:"cli-worker",clientName:ve,clientVersion:p,workerVersion:"0.1.0",currentJobId:null,inFlightCount:0,lastError:null,status:i,metadata:{capabilities:e,mode:"thin-agent",measurementProtocol:1,memorySnapshots:1,boundedAutorun:1,llmEngines:d,harborReady:m,machine:H?.summary()}}).then(c=>{let u=c?.advisory;u&&u.message!==A?(A=u.message,s(r,{event:"worker_advisory",code:u.code,message:u.message})):u||(A=null)}).catch(c=>{s(r,{event:"presence_heartbeat_error",error:c instanceof Error?c.message:String(c)})}),"send");g("alive");let f=setInterval(()=>g("alive"),fe),a=null,n=l(()=>a||(clearInterval(f),a=Promise.race([g("shutting_down"),new Promise(i=>setTimeout(i,2e3).unref())]),a),"sayGoodbye");return t.addEventListener("abort",()=>{n()},{once:!0}),{shutdown:n}}l(ke,"startPresenceHeartbeat");async function be(e,t,r=S()){let p=[...r.claudeBin?["claude"]:[],...r.codexBin?["codex"]:[],...r.piBin?["pi"]:[]],d=`capabilities=${encodeURIComponent(e.join(","))}&waitMs=${t}&measurementProtocol=1&memorySnapshots=1&boundedAutorun=1&measurementEngines=${encodeURIComponent(p.join(","))}`,m=await T(`/api/work/next?${d}`);return m==null||typeof m=="string"?null:m}l(be,"pollForWork");function he(e,t){return{logger:{info:l(r=>t(r),"info"),warn:l(r=>t(r),"warn"),error:l(r=>t(r),"error")},job:{attempts:e}}}l(he,"makeHelpers");async function we(e,t,r,p){let d=ce[e.kind],m=Date.now();if(s(r,{event:"claim",jobId:e.id,kind:e.kind,attempts:e.attempts}),!d){let n=`unknown kind: ${e.kind}`;s(r,{event:"fail",jobId:e.id,kind:e.kind,terminal:!0,error:n}),await E(`/api/work/${e.id}/fail`,{leaseToken:e.leaseToken,error:n,terminal:!0}).catch(()=>{});return}let g=l(()=>{s(r,{event:"heartbeat",jobId:e.id}),h(`/api/work/${e.id}/heartbeat`,{leaseToken:e.leaseToken},{budgetMs:Math.min(L,Math.max(0,t-1e3)),signal:p,log:r,event:"heartbeat",jobId:e.id}).then(n=>{n.ok||s(r,{event:"heartbeat_error",jobId:e.id,attempts:n.attempts,error:n.error instanceof Error?n.error.message:String(n.error)})})},"beat"),f=setInterval(g,t);w={jobId:e.id,beat:g};let a;try{let n=he(e.attempts,r);a={kind:"complete",result:await d(e.payload,n)??{}}}catch(n){let i=H?.pausesSince(m)??[],c=se(i),u=n instanceof Error?n.message:String(n),v=V(n),o=!v&&oe(i);a={kind:"fail",message:c?`${c}; ${u}`:u,pausedDuringJob:!!c,terminal:v,hostSuspended:o}}try{if(a.kind==="complete"){s(r,{event:"complete",jobId:e.id,kind:e.kind,durationMs:Date.now()-m});let n=await h(`/api/work/${e.id}/complete`,{leaseToken:e.leaseToken,result:a.result},{budgetMs:R,signal:p,log:r,event:"complete_post",jobId:e.id});n.ok||s(r,{event:"complete_post_error",jobId:e.id,kind:e.kind,attempts:n.attempts,error:n.error instanceof Error?n.error.message:String(n.error)})}else{s(r,{event:"fail",jobId:e.id,kind:e.kind,durationMs:Date.now()-m,terminal:a.terminal,error:a.message,...a.pausedDuringJob?{pausedDuringJob:!0}:{},...a.hostSuspended?{hostSuspended:!0}:{}});let n=await h(`/api/work/${e.id}/fail`,{leaseToken:e.leaseToken,error:a.message,terminal:a.terminal,hostSuspended:a.hostSuspended},{budgetMs:R,signal:p,log:r,event:"fail_post",jobId:e.id});n.ok||s(r,{event:"fail_post_error",jobId:e.id,attempts:n.attempts,error:n.error instanceof Error?n.error.message:String(n.error)})}}finally{clearInterval(f),w=null}}l(we,"runOne");var de=new Set(["process_eval","process_conversation","process_insights","process_session_goal","distill_memories","memory_ab","cron_suggest_instructions","cron_eval_autorun","cron_instruction_evolution","process_judge_review","harbor_ab"]);async function Ze(e){let t=e.log??(()=>{}),r=e.pollWaitMs??ge,p=e.heartbeatIntervalMs??_e,d=e.capabilities??pe();s(t,{event:"agent_start",capabilities:d,pollWaitMs:r,heartbeatIntervalMs:p});try{let o=re();o.removed.length>0&&s(t,{event:"eval_worktrees_swept",removed:o.removed.length})}catch(o){s(t,{event:"eval_worktree_sweep_failed",error:o instanceof Error?o.message:String(o)})}H=te({signal:e.signal,onPause:l(o=>{s(t,{event:"machine_pause",...o,jobId:w?.jobId??null}),w?.beat()},"onPause")});let m=ke(d,e.signal,t,e.version);ne({signal:e.signal,log:t}).catch(o=>{s(t,{event:"tt_heartbeat_fatal",error:o instanceof Error?o.message:String(o)})});let g=5*6e4,f=0,a=l(()=>{if(!e.readInstalledVersion||!e.version)return!1;let o=Date.now();if(o-f<g)return!1;f=o;let b=e.readInstalledVersion();return!!(b&&b!==e.version)},"versionDrifted"),n=new AbortController,i=n.signal;e.signal.aborted?n.abort():e.signal.addEventListener("abort",()=>n.abort(),{once:!0});let c=l(async(o,b)=>{let _=ie;for(;!i.aborted;){if(a()){s(t,{event:"agent_version_drift",bootVersion:e.version,installedVersion:e.readInstalledVersion?.()??null}),n.abort(),e.onVersionDrift?.();break}let y=null;try{y=await be([...b],r)}catch(k){let ue=k instanceof M?k.statusCode:void 0;if(s(t,{event:"poll_error",lane:o,status:ue,error:k instanceof Error?k.message:String(k)}),!await I(_,i))break;_=Math.min(_*2,le);continue}if(!y){if(s(t,{event:"poll_204",lane:o}),!await I(_,i))break;_=Math.min(_*2,le);continue}_=ie,await we(y,p,t,i)}},"runLane"),u=d.filter(o=>de.has(o)),v=d.filter(o=>!de.has(o));u.length>0&&v.length>0?(s(t,{event:"agent_lanes",heavy:u.length,fast:v.length}),await Promise.all([c("heavy",u),c("fast",v)])):await c("single",d),await m.shutdown(),s(t,{event:"agent_stop"})}l(Ze,"runAgentLoop");export{ce as a,ae as b,pe as c,be as d,Ze as e};
@@ -1 +0,0 @@
1
- import{a as m,c as gs}from"./chunk-ZLLER3HP.js";import{boolean as en,date as vs,index as Vt,integer as Is,jsonb as ys,pgTable as Ft,text as D,timestamp as B,uniqueIndex as ws,uuid as ce}from"drizzle-orm/pg-core";var tn=Ft("announcements",{id:ce("id").primaryKey().defaultRandom(),version:D("version").notNull().unique(),releaseDate:vs("release_date").notNull(),subject:D("subject").notNull(),htmlBody:D("html_body").notNull(),textBody:D("text_body").notNull(),sections:ys("sections").notNull().default({}),status:D("status").notNull().default("draft"),recipientCount:Is("recipient_count"),sentAt:B("sent_at",{withTimezone:!0}),sentBy:ce("sent_by"),error:D("error"),createdAt:B("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:B("updated_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Vt("idx_announcements_status").on(e.status),Vt("idx_announcements_created").on(e.createdAt)]),on=Ft("announcement_deliveries",{id:ce("id").primaryKey().defaultRandom(),announcementId:ce("announcement_id").notNull(),userId:ce("user_id").notNull(),email:D("email").notNull(),status:D("status").notNull().default("pending"),providerId:D("provider_id"),error:D("error"),sentAt:B("sent_at",{withTimezone:!0}),createdAt:B("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[ws("uniq_announcement_deliveries_announcement_user").on(e.announcementId,e.userId),Vt("idx_announcement_deliveries_user").on(e.userId,e.createdAt)]),nn=Ft("notification_preferences",{userId:ce("user_id").primaryKey(),productAnnouncements:en("product_announcements").notNull().default(!0),weeklyDigest:en("weekly_digest").notNull().default(!0),unsubscribeToken:D("unsubscribe_token").notNull().unique(),unsubscribedAt:B("unsubscribed_at",{withTimezone:!0}),createdAt:B("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:B("updated_at",{withTimezone:!0}).notNull().defaultNow()});import{boolean as at,integer as Pe,jsonb as Ts,pgTable as As,real as an,text as Ke,timestamp as $t,uuid as dn}from"drizzle-orm/pg-core";import{pgTable as it,text as _e,timestamp as be,jsonb as rn,uuid as te,primaryKey as sn}from"drizzle-orm/pg-core";var l=it("organizations",{id:te("id").primaryKey().defaultRandom(),name:_e("name").unique().notNull(),slug:_e("slug").unique().notNull(),metadata:rn("metadata"),createdAt:be("created_at",{withTimezone:!0}).defaultNow(),updatedAt:be("updated_at",{withTimezone:!0}).defaultNow()}),v=it("teams",{id:te("id").primaryKey().defaultRandom(),orgId:te("org_id").references(()=>l.id,{onDelete:"cascade"}),name:_e("name").notNull(),slug:_e("slug").notNull(),metadata:rn("metadata"),createdAt:be("created_at",{withTimezone:!0}).defaultNow()}),pe=it("user_organizations",{userId:te("user_id").notNull(),orgId:te("org_id").references(()=>l.id,{onDelete:"cascade"}).notNull(),role:_e("role").notNull().default("member"),createdAt:be("created_at",{withTimezone:!0}).defaultNow()},e=>[sn({columns:[e.userId,e.orgId]})]),me=it("user_teams",{userId:te("user_id").notNull(),teamId:te("team_id").references(()=>v.id,{onDelete:"cascade"}).notNull(),role:_e("role").notNull().default("member"),createdAt:be("created_at",{withTimezone:!0}).defaultNow()},e=>[sn({columns:[e.userId,e.teamId]})]);var o=As("profiles",{id:dn("id").primaryKey(),email:Ke("email"),measurementPreferences:Ts("measurement_preferences"),displayName:Ke("display_name"),activeOrgId:dn("active_org_id").references(()=>l.id,{onDelete:"set null"}),isSuperadmin:at("is_superadmin").notNull().default(!1),claudeCodePlan:Ke("claude_code_plan"),planSource:Ke("plan_source").notNull().default("detected"),setupCompletedAt:$t("setup_completed_at",{withTimezone:!0}),liveSendSkipped:at("live_send_skipped").notNull().default(!1),autoAcceptSuggestions:at("auto_accept_suggestions").notNull().default(!0),evolutionPaused:at("evolution_paused").notNull().default(!1),suggestionConfidenceThreshold:an("suggestion_confidence_threshold").notNull().default(.7),autoAcceptMinScore:an("auto_accept_min_score"),autoAcceptMaxPerRun:Pe("auto_accept_max_per_run"),autoAcceptMaxPerWindow:Pe("auto_accept_max_per_window"),autoAcceptWindowDays:Pe("auto_accept_window_days"),trialMaxConcurrent:Pe("trial_max_concurrent"),trialMaxPerRun:Pe("trial_max_per_run"),harborAbCadence:Ke("harbor_ab_cadence").notNull().default("off"),createdAt:$t("created_at",{withTimezone:!0}).defaultNow(),updatedAt:$t("updated_at",{withTimezone:!0}).defaultNow()});import{pgTable as Ds,text as Jt,timestamp as dt,uuid as ut,index as un}from"drizzle-orm/pg-core";var b=Ds("org_invitations",{id:ut("id").primaryKey().defaultRandom(),orgId:ut("org_id").notNull().references(()=>l.id,{onDelete:"cascade"}),email:Jt("email").notNull(),role:Jt("role").notNull().default("member"),teamId:ut("team_id").references(()=>v.id,{onDelete:"set null"}),invitedBy:ut("invited_by").notNull().references(()=>o.id,{onDelete:"cascade"}),token:Jt("token").notNull().unique(),expiresAt:dt("expires_at",{withTimezone:!0}).notNull(),acceptedAt:dt("accepted_at",{withTimezone:!0}),revokedAt:dt("revoked_at",{withTimezone:!0}),createdAt:dt("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[un("idx_org_invitations_token").on(e.token),un("idx_org_invitations_org").on(e.orgId)]);import{pgTable as Qt,text as N,timestamp as G,jsonb as lt,uuid as z,integer as ct,boolean as js,uniqueIndex as _t,index as Ce}from"drizzle-orm/pg-core";var n=Qt("instructions",{id:z("id").primaryKey().defaultRandom(),name:N("name").notNull(),description:N("description").notNull(),type:N("type").notNull().default("instruction"),scope:N("scope").notNull(),scopeRef:z("scope_ref"),version:N("version").notNull(),content:N("content").notNull(),frontmatter:lt("frontmatter").notNull(),slots:lt("slots"),tags:N("tags").array(),compatibility:N("compatibility").array(),createdBy:z("created_by"),createdAt:G("created_at",{withTimezone:!0}).defaultNow(),updatedAt:G("updated_at",{withTimezone:!0}).defaultNow(),archived:js("archived").default(!1),archivedAt:G("archived_at",{withTimezone:!0}),archivedBy:z("archived_by"),forkedFromId:z("forked_from_id").references(()=>n.id,{onDelete:"set null"}),upstreamVersion:N("upstream_version"),badge:N("badge"),contentHash:N("content_hash"),contextIdentity:N("context_identity"),scanScore:ct("scan_score"),scanFindings:lt("scan_findings"),popularityScore:ct("popularity_score"),sourceUpdatedAt:G("source_updated_at",{withTimezone:!0})},e=>[_t("instructions_name_scope_ref_idx").on(e.name,e.scope,e.scopeRef),Ce("idx_instructions_scope").on(e.scope,e.scopeRef),Ce("idx_instructions_created_by").on(e.createdBy),Ce("idx_instructions_context_identity").on(e.createdBy,e.contextIdentity),Ce("idx_instructions_public_recency").on(e.scope,e.sourceUpdatedAt.desc())]),ln=Qt("instruction_version_identities",{id:z("id").primaryKey().defaultRandom(),instructionId:z("instruction_id").notNull().references(()=>n.id,{onDelete:"cascade"}),contentHash:N("content_hash").notNull(),versionOrdinal:ct("version_ordinal").notNull(),content:N("content"),firstSeenAt:G("first_seen_at",{withTimezone:!0}).notNull().defaultNow(),lastSeenAt:G("last_seen_at",{withTimezone:!0}).notNull().defaultNow(),createdAt:G("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[_t("instruction_version_identities_hash_unique").on(e.instructionId,e.contentHash),_t("instruction_version_identities_ordinal_unique").on(e.instructionId,e.versionOrdinal),Ce("idx_ivi_instruction").on(e.instructionId)]),fe=Qt("instruction_versions",{id:z("id").primaryKey().defaultRandom(),instructionId:z("instruction_id").references(()=>n.id,{onDelete:"cascade"}),versionNumber:ct("version_number").notNull(),content:N("content").notNull(),frontmatter:lt("frontmatter").notNull(),changeSummary:N("change_summary"),createdBy:z("created_by"),createdAt:G("created_at",{withTimezone:!0}).defaultNow()},e=>[_t("instruction_versions_instruction_version_idx").on(e.instructionId,e.versionNumber)]);import{pgTable as zs,text as Rs,timestamp as ks,jsonb as Es,uuid as Yt,index as cn}from"drizzle-orm/pg-core";var Ne=zs("instruction_events",{id:Yt("id").primaryKey().defaultRandom(),instructionId:Yt("instruction_id").notNull().references(()=>n.id,{onDelete:"cascade"}),eventType:Rs("event_type").notNull(),actorId:Yt("actor_id").notNull(),metadata:Es("metadata"),createdAt:ks("created_at",{withTimezone:!0}).defaultNow()},e=>[cn("idx_instruction_events_instruction").on(e.instructionId),cn("idx_instruction_events_type").on(e.eventType)]);import{boolean as Ss,jsonb as bs,pgTable as Xt,primaryKey as _n,text as oe,timestamp as Oe,uniqueIndex as Wt,uuid as ne}from"drizzle-orm/pg-core";import{sql as Ps}from"drizzle-orm";var r=Xt("projects",{id:ne("id").primaryKey().defaultRandom(),orgId:ne("org_id").references(()=>l.id,{onDelete:"cascade"}),name:oe("name").notNull(),description:oe("description"),githubRepo:oe("github_repo"),gitRemoteUrl:oe("git_remote_url"),gitRootCommit:oe("git_root_commit"),gitRemoteAliases:oe("git_remote_aliases").array().notNull().default([]),metadata:bs("metadata"),createdBy:ne("created_by"),createdAt:Oe("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Oe("updated_at",{withTimezone:!0}).defaultNow()},e=>[Wt("projects_org_name_idx").on(e.orgId,e.name),Wt("projects_git_remote_url_unique").on(e.gitRemoteUrl).where(Ps`${e.gitRemoteUrl} IS NOT NULL`)]),V=Xt("project_instructions",{projectId:ne("project_id").references(()=>r.id,{onDelete:"cascade"}).notNull(),instructionId:ne("instruction_id").references(()=>n.id,{onDelete:"cascade"}).notNull(),addedAt:Oe("added_at",{withTimezone:!0}).defaultNow(),addedBy:ne("added_by")},e=>[_n({columns:[e.projectId,e.instructionId]})]),pn=Xt("project_checkouts",{projectId:ne("project_id").references(()=>r.id,{onDelete:"cascade"}).notNull(),path:oe("path").notNull(),isWorktree:Ss("is_worktree").notNull().default(!1),firstSeen:Oe("first_seen",{withTimezone:!0}).notNull().defaultNow(),lastSeen:Oe("last_seen",{withTimezone:!0}).notNull().defaultNow()},e=>[_n({columns:[e.projectId,e.path]}),Wt("project_checkouts_path_unique").on(e.path)]);import{pgTable as to,text as I,timestamp as qe,jsonb as re,uuid as P,integer as mt,uniqueIndex as fn,index as R}from"drizzle-orm/pg-core";import{pgTable as Ks,text as xe,timestamp as Zt,jsonb as mn,uuid as pt,integer as Cs,boolean as Os,index as eo}from"drizzle-orm/pg-core";var h=Ks("agent_runs",{id:pt("id").primaryKey().defaultRandom(),userId:pt("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),orgId:pt("org_id").references(()=>l.id,{onDelete:"set null"}),projectId:pt("project_id").references(()=>r.id,{onDelete:"set null"}),projectPath:xe("project_path"),gitRemote:xe("git_remote"),baseBranch:xe("base_branch"),title:xe("title"),prompt:xe("prompt"),toolSpec:mn("tool_spec").notNull().default([]),autoWorktree:Os("auto_worktree").notNull().default(!0),status:xe("status").notNull().default("pending"),sessionCount:Cs("session_count").notNull().default(0),metadata:mn("metadata").notNull().default({}),createdAt:Zt("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:Zt("updated_at",{withTimezone:!0}).notNull().defaultNow(),completedAt:Zt("completed_at",{withTimezone:!0})},e=>[eo("idx_agent_runs_user").on(e.userId),eo("idx_agent_runs_org_created").on(e.orgId,e.createdAt),eo("idx_agent_runs_project").on(e.projectId)]);var i=to("sessions",{id:P("id").primaryKey().defaultRandom(),userId:P("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),externalSessionId:I("external_session_id"),projectId:P("project_id").references(()=>r.id,{onDelete:"set null"}),orgId:P("org_id").references(()=>l.id,{onDelete:"set null"}),tool:I("tool").notNull(),projectPath:I("project_path"),gitBranch:I("git_branch"),startedAt:qe("started_at",{withTimezone:!0}).notNull(),endedAt:qe("ended_at",{withTimezone:!0}),eventCount:mt("event_count").default(0),tokenUsage:re("token_usage"),analysis:re("analysis"),analyzedAt:qe("analyzed_at",{withTimezone:!0}),analyzedEventCount:mt("analyzed_event_count"),analyzedTurnCount:mt("analyzed_turn_count"),metadata:re("metadata").default({}),origin:I("origin").notNull().default("unknown"),runId:P("run_id").references(()=>h.id,{onDelete:"set null"}),model:I("model"),harnessVersion:I("harness_version"),createdAt:qe("created_at",{withTimezone:!0}).defaultNow()},e=>[R("idx_sessions_user").on(e.userId),R("idx_sessions_tool").on(e.tool),R("idx_sessions_started_at").on(e.startedAt),R("idx_sessions_project").on(e.projectId),R("idx_sessions_org_started_at").on(e.orgId,e.startedAt),R("idx_sessions_run").on(e.runId),fn("idx_sessions_user_external").on(e.userId,e.externalSessionId)]),he=to("session_events",{id:P("id").primaryKey().defaultRandom(),sessionId:P("session_id").notNull().references(()=>i.id,{onDelete:"cascade"}),sequence:mt("sequence").notNull(),eventType:I("event_type").notNull(),content:I("content"),toolName:I("tool_name"),toolInput:re("tool_input"),toolOutput:re("tool_output"),tokenUsage:re("token_usage"),model:I("model"),timestamp:qe("timestamp",{withTimezone:!0}).notNull(),metadata:re("metadata").default({})},e=>[fn("session_events_session_sequence_idx").on(e.sessionId,e.sequence),R("idx_session_events_session_id").on(e.sessionId),R("idx_session_events_event_type").on(e.eventType),R("idx_session_events_model").on(e.model)]),F=to("session_instructions",{sessionId:P("session_id").notNull().references(()=>i.id,{onDelete:"cascade"}),instructionId:P("instruction_id").notNull().references(()=>n.id,{onDelete:"cascade"}),linkMethod:I("link_method").notNull(),contentHash:I("content_hash")},e=>[R("idx_session_instructions_instruction_id").on(e.instructionId)]);import{pgTable as Nn,text as ft,timestamp as xn,uuid as k,integer as hn,index as ge,unique as qs}from"drizzle-orm/pg-core";var K=Nn("treatment_assignments",{id:k("id").primaryKey().defaultRandom(),userId:k("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),treatmentType:ft("treatment_type").notNull(),treatmentId:k("treatment_id").notNull(),treatmentVersion:hn("treatment_version").notNull().default(1),projectId:k("project_id").references(()=>r.id,{onDelete:"set null"}),assignedBy:k("assigned_by").references(()=>o.id,{onDelete:"set null"}),method:ft("method").notNull(),assignedAt:xn("assigned_at",{withTimezone:!0}).notNull().defaultNow()},e=>[ge("idx_treatment_assignments_user").on(e.userId),ge("idx_treatment_assignments_treatment").on(e.treatmentType,e.treatmentId),ge("idx_treatment_assignments_project").on(e.projectId)]),C=Nn("treatment_exposures",{id:k("id").primaryKey().defaultRandom(),sessionId:k("session_id").notNull().references(()=>i.id,{onDelete:"cascade"}),userId:k("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),treatmentType:ft("treatment_type").notNull(),treatmentId:k("treatment_id").notNull(),treatmentVersion:hn("treatment_version").notNull().default(1),assignmentId:k("assignment_id").references(()=>K.id,{onDelete:"set null"}),method:ft("method").notNull(),exposedAt:xn("exposed_at",{withTimezone:!0}).notNull().defaultNow()},e=>[qs("treatment_exposures_unique").on(e.sessionId,e.treatmentType,e.treatmentId,e.treatmentVersion),ge("idx_treatment_exposures_treatment").on(e.treatmentType,e.treatmentId),ge("idx_treatment_exposures_user").on(e.userId),ge("idx_treatment_exposures_session").on(e.sessionId)]);import{pgTable as Ms,text as oo,timestamp as Hs,uuid as Nt,integer as Ls,index as gn,uniqueIndex as Us}from"drizzle-orm/pg-core";var vn=Ms("pending_treatment_exposures",{id:Nt("id").primaryKey().defaultRandom(),userId:Nt("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),externalSessionId:oo("external_session_id").notNull(),treatmentType:oo("treatment_type").notNull(),treatmentId:Nt("treatment_id").notNull(),treatmentVersion:Ls("treatment_version").notNull().default(1),method:oo("method").notNull().default("injected"),projectId:Nt("project_id").references(()=>r.id,{onDelete:"set null"}),createdAt:Hs("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Us("pending_treatment_exposures_unique").on(e.externalSessionId,e.treatmentType,e.treatmentId,e.treatmentVersion),gn("idx_pending_treatment_exposures_ext").on(e.externalSessionId),gn("idx_pending_treatment_exposures_user").on(e.userId)]);import{pgTable as In,text as $,timestamp as yn,uuid as ve,numeric as Bs,index as no,unique as Gs}from"drizzle-orm/pg-core";var Me=In("instruction_experiments",{id:ve("id").primaryKey().defaultRandom(),userId:ve("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),instructionId:ve("instruction_id").notNull().references(()=>n.id,{onDelete:"cascade"}),projectPath:$("project_path").notNull(),status:$("status").notNull().default("running"),treatedShare:Bs("treated_share").notNull().default("0.5"),salt:$("salt").notNull(),contentHash:$("content_hash"),source:$("source").notNull().default("manual"),stoppedReason:$("stopped_reason"),createdAt:yn("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[no("idx_instruction_experiments_lookup").on(e.userId,e.projectPath)]),wn=In("instruction_experiment_arms",{id:ve("id").primaryKey().defaultRandom(),experimentId:ve("experiment_id").notNull().references(()=>Me.id,{onDelete:"cascade"}),userId:ve("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),externalSessionId:$("external_session_id").notNull(),arm:$("arm").notNull(),assignedAt:yn("assigned_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Gs("instruction_experiment_arms_unique").on(e.experimentId,e.externalSessionId),no("idx_instruction_experiment_arms_experiment").on(e.experimentId,e.arm),no("idx_instruction_experiment_arms_session").on(e.externalSessionId)]);import{pgTable as Vs,text as ro,timestamp as Fs,uuid as xt,numeric as so,integer as Tn,jsonb as $s,index as Js,unique as Qs}from"drizzle-orm/pg-core";var An=Vs("instruction_verdicts",{id:xt("id").primaryKey().defaultRandom(),userId:xt("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),instructionId:xt("instruction_id").notNull().references(()=>n.id,{onDelete:"cascade"}),contentHash:ro("content_hash").notNull(),projectPath:ro("project_path").notNull(),segment:$s("segment").notNull().default({}),decision:ro("decision").notNull(),delta:so("delta").notNull(),ciLower:so("ci_lower").notNull(),ciUpper:so("ci_upper").notNull(),nTreated:Tn("n_treated").notNull(),nControl:Tn("n_control").notNull(),experimentId:xt("experiment_id").references(()=>Me.id,{onDelete:"set null"}),decidedAt:Fs("decided_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Qs("instruction_verdicts_unique").on(e.instructionId,e.contentHash,e.projectPath),Js("idx_instruction_verdicts_render").on(e.userId,e.projectPath)]);import{pgTable as Ys,text as ht,timestamp as io,uuid as ao,integer as Ws,unique as Xs,index as Zs}from"drizzle-orm/pg-core";var Dn=Ys("insight_recommendation_log",{id:ao("id").primaryKey().defaultRandom(),userId:ao("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),projectPath:ht("project_path").notNull().default(""),category:ht("category").notNull(),contentHash:ht("content_hash").notNull(),label:ht("label").notNull().default(""),firstSeenAt:io("first_seen_at",{withTimezone:!0}).notNull().defaultNow(),lastSeenAt:io("last_seen_at",{withTimezone:!0}).notNull().defaultNow(),timesGenerated:Ws("times_generated").notNull().default(1),lastJobId:ao("last_job_id"),dismissedAt:io("dismissed_at",{withTimezone:!0})},e=>[Xs("insight_recommendation_log_unique").on(e.userId,e.projectPath,e.contentHash),Zs("idx_insight_recommendation_log_read").on(e.userId,e.projectPath)]);import{pgTable as ei,text as Ie,timestamp as uo,uuid as He,integer as jn,index as gt}from"drizzle-orm/pg-core";var w=ei("memories",{id:He("id").primaryKey().defaultRandom(),userId:He("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),orgId:He("org_id"),projectId:He("project_id").references(()=>r.id,{onDelete:"set null"}),version:jn("version").notNull().default(1),parentId:He("parent_id").references(()=>w.id,{onDelete:"set null"}),kind:Ie("kind").notNull(),title:Ie("title").notNull(),body:Ie("body").notNull(),source:Ie("source").notNull(),status:Ie("status").notNull().default("active"),trustClass:Ie("trust_class"),trustVersion:jn("trust_version"),trustComputedAt:uo("trust_computed_at",{withTimezone:!0}),createdAt:uo("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:uo("updated_at",{withTimezone:!0}).notNull().defaultNow()},e=>[gt("idx_memories_user").on(e.userId),gt("idx_memories_project").on(e.projectId),gt("idx_memories_parent").on(e.parentId),gt("idx_memories_user_status").on(e.userId,e.status)]);import{pgTable as ti,text as se,timestamp as lo,uuid as co,integer as zn,jsonb as oi,index as Rn}from"drizzle-orm/pg-core";var kn=ti("memory_experiments",{id:co("id").primaryKey().defaultRandom(),memoryId:co("memory_id").notNull().references(()=>w.id,{onDelete:"cascade"}),userId:co("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),memoryVersion:zn("memory_version").notNull().default(1),memoryBody:se("memory_body"),taskPrompt:se("task_prompt").notNull(),expectations:se("expectations").array().notNull().default([]),trials:zn("trials").notNull().default(10),model:se("model"),engine:se("engine").$type().notNull().default("claude"),status:se("status").notNull().default("pending"),result:oi("result").$type(),error:se("error"),createdAt:lo("created_at",{withTimezone:!0}).notNull().defaultNow(),startedAt:lo("started_at",{withTimezone:!0}),completedAt:lo("completed_at",{withTimezone:!0})},e=>[Rn("idx_memory_experiments_memory").on(e.memoryId),Rn("idx_memory_experiments_user").on(e.userId)]);import{pgTable as ni,text as ye,timestamp as _o,uuid as po,jsonb as ri,uniqueIndex as si,index as En}from"drizzle-orm/pg-core";var vt=ni("session_terminal_targets",{id:po("id").primaryKey().defaultRandom(),userId:po("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),sessionId:po("session_id").references(()=>i.id,{onDelete:"set null"}),externalSessionId:ye("external_session_id"),kind:ye("kind").notNull(),target:ye("target").notNull(),status:ye("status").notNull().default("active"),attachCommand:ye("attach_command").notNull(),projectPath:ye("project_path"),metadata:ri("metadata").notNull().default({}),lastSeenAt:_o("last_seen_at",{withTimezone:!0}).defaultNow(),createdAt:_o("created_at",{withTimezone:!0}).defaultNow(),updatedAt:_o("updated_at",{withTimezone:!0}).defaultNow()},e=>[si("idx_session_terminal_targets_user_target").on(e.userId,e.target),En("idx_session_terminal_targets_session").on(e.sessionId),En("idx_session_terminal_targets_user_status").on(e.userId,e.status)]);import{boolean as ii,index as It,jsonb as Sn,pgTable as ai,text as ie,timestamp as Le,uuid as yt,integer as mo}from"drizzle-orm/pg-core";var bn=ai("session_send_jobs",{id:yt("id").primaryKey().defaultRandom(),userId:yt("user_id").notNull(),sessionId:yt("session_id").notNull().references(()=>i.id,{onDelete:"cascade"}),terminalTargetId:yt("terminal_target_id").references(()=>vt.id,{onDelete:"set null"}),target:ie("target").notNull(),message:ie("message").notNull(),submit:ii("submit").notNull().default(!0),delivery:ie("delivery").notNull().default("live"),status:ie("status").notNull().default("pending"),result:Sn("result"),error:ie("error"),attempts:mo("attempts").notNull().default(0),taskKind:ie("task_kind"),payload:Sn("payload"),claimedBy:ie("claimed_by"),claimedAt:Le("claimed_at",{withTimezone:!0}),leaseExpiresAt:Le("lease_expires_at",{withTimezone:!0}),leaseRecoveries:mo("lease_recoveries").notNull().default(0),hostSuspendRecoveries:mo("host_suspend_recoveries").notNull().default(0),createdAt:Le("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Le("updated_at",{withTimezone:!0}).defaultNow(),completedAt:Le("completed_at",{withTimezone:!0})},e=>[It("idx_session_send_jobs_user").on(e.userId),It("idx_session_send_jobs_session").on(e.sessionId),It("idx_session_send_jobs_status").on(e.status),It("idx_session_send_jobs_pending").on(e.userId,e.status)]);import{pgTable as Kn,text as ae,timestamp as wt,jsonb as Cn,uuid as J,integer as di,boolean as ui,uniqueIndex as li,index as Pn,primaryKey as ci}from"drizzle-orm/pg-core";var j=Kn("packs",{id:J("id").primaryKey().defaultRandom(),name:ae("name").notNull(),description:ae("description").notNull(),scope:ae("scope").notNull(),scopeRef:J("scope_ref"),version:ae("version").notNull().default("1.0.0"),tags:ae("tags").array(),badge:ae("badge"),metadata:Cn("metadata"),createdBy:J("created_by"),createdAt:wt("created_at",{withTimezone:!0}).defaultNow(),updatedAt:wt("updated_at",{withTimezone:!0}).defaultNow(),archived:ui("archived").default(!1),archivedAt:wt("archived_at",{withTimezone:!0}),archivedBy:J("archived_by"),forkedFromId:J("forked_from_id").references(()=>j.id,{onDelete:"set null"}),upstreamVersion:ae("upstream_version")},e=>[li("packs_name_scope_ref_idx").on(e.name,e.scope,e.scopeRef),Pn("idx_packs_scope").on(e.scope,e.scopeRef),Pn("idx_packs_created_by").on(e.createdBy)]),Q=Kn("pack_instructions",{packId:J("pack_id").references(()=>j.id,{onDelete:"cascade"}).notNull(),instructionId:J("instruction_id").references(()=>n.id,{onDelete:"cascade"}).notNull(),position:di("position").notNull().default(0),slotOverrides:Cn("slot_overrides"),addedAt:wt("added_at",{withTimezone:!0}).defaultNow(),addedBy:J("added_by")},e=>[ci({columns:[e.packId,e.instructionId]})]);import{pgTable as _i,text as fo,timestamp as pi,jsonb as mi,uuid as No,index as we}from"drizzle-orm/pg-core";var Te=_i("instruction_usage_events",{id:No("id").primaryKey().defaultRandom(),instructionId:No("instruction_id").references(()=>n.id,{onDelete:"set null"}),userId:No("user_id").notNull(),surface:fo("surface").notNull(),action:fo("action").notNull(),metadata:mi("metadata"),traceId:fo("trace_id"),createdAt:pi("created_at",{withTimezone:!0}).defaultNow()},e=>[we("idx_usage_events_instruction").on(e.instructionId),we("idx_usage_events_user").on(e.userId),we("idx_usage_events_surface").on(e.surface),we("idx_usage_events_action").on(e.action),we("idx_usage_events_created_at").on(e.createdAt),we("idx_usage_events_user_created").on(e.userId,e.createdAt)]);import{pgTable as fi,text as Tt,timestamp as At,jsonb as Ni,uuid as On,index as xo}from"drizzle-orm/pg-core";var qn=fi("worker_connections",{id:On("id").primaryKey().defaultRandom(),userId:On("user_id").notNull(),workerType:Tt("worker_type").notNull().default("mcp"),clientName:Tt("client_name").notNull(),clientVersion:Tt("client_version"),workerVersion:Tt("worker_version"),lastHeartbeat:At("last_heartbeat",{withTimezone:!0}).notNull().defaultNow(),presenceGapStartedAt:At("presence_gap_started_at",{withTimezone:!0}),presenceGapEndedAt:At("presence_gap_ended_at",{withTimezone:!0}),connectedAt:At("connected_at",{withTimezone:!0}).notNull().defaultNow(),metadata:Ni("metadata")},e=>[xo("idx_worker_connections_user").on(e.userId),xo("idx_worker_connections_heartbeat").on(e.userId,e.lastHeartbeat),xo("idx_worker_connections_type").on(e.userId,e.workerType)]);import{pgTable as xi,text as Dt,timestamp as hi,jsonb as gi,uuid as Mn,index as Hn}from"drizzle-orm/pg-core";var Ln=xi("cli_setup_events",{id:Mn("id").primaryKey().defaultRandom(),userId:Mn("user_id").notNull(),deviceId:Dt("device_id").notNull(),event:Dt("event").notNull(),cliVersion:Dt("cli_version"),os:Dt("os"),props:gi("props").notNull().default({}),createdAt:hi("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Hn("idx_cli_setup_events_user").on(e.userId,e.createdAt),Hn("idx_cli_setup_events_device").on(e.deviceId,e.createdAt)]);import{pgTable as vi,text as de,integer as Ii,boolean as yi,timestamp as wi,jsonb as Ti,uuid as Ai,index as Un}from"drizzle-orm/pg-core";var Bn=vi("cli_error_events",{id:Ai("id").primaryKey().defaultRandom(),deviceId:de("device_id"),event:de("event").notNull(),command:de("command"),statusCode:Ii("status_code"),message:de("message"),cliVersion:de("cli_version"),os:de("os"),nodeVersion:de("node_version"),proxied:yi("proxied"),props:Ti("props").notNull().default({}),createdAt:wi("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Un("idx_cli_error_events_created").on(e.createdAt),Un("idx_cli_error_events_device").on(e.deviceId,e.createdAt)]);import{sql as ho}from"drizzle-orm";import{pgTable as ue,text as _,timestamp as g,jsonb as T,uuid as c,integer as O,boolean as Ue,index as f,unique as Gn}from"drizzle-orm/pg-core";var s=ue("eval_targets",{id:c("id").primaryKey().defaultRandom(),userId:c("user_id").notNull(),name:_("name").notNull(),type:_("type").notNull(),content:_("content").notNull(),description:_("description").notNull().default(""),metadata:T("metadata").notNull().default({}),version:O("version").notNull().default(1),parentId:c("parent_id").references(()=>s.id,{onDelete:"set null"}),instructionId:c("instruction_id").references(()=>n.id,{onDelete:"set null"}),projectPath:_("project_path"),createdAt:g("created_at",{withTimezone:!0}).defaultNow(),updatedAt:g("updated_at",{withTimezone:!0}).defaultNow()},e=>[f("eval_targets_name_user_idx").on(e.name,e.userId),f("idx_eval_targets_user").on(e.userId),f("idx_eval_targets_type").on(e.type),f("idx_eval_targets_parent").on(e.parentId),f("idx_eval_targets_instruction").on(e.instructionId).where(ho`${e.instructionId} IS NOT NULL`),f("idx_eval_targets_project").on(e.projectPath).where(ho`${e.projectPath} IS NOT NULL`)]),q=ue("evals",{id:c("id").primaryKey().defaultRandom(),evalTargetId:c("eval_target_id").notNull().references(()=>s.id,{onDelete:"cascade"}),name:_("name").notNull(),prompt:_("prompt").notNull(),expectedOutput:_("expected_output").notNull().default(""),files:T("files").notNull().default([]),expectations:T("expectations").notNull().default([]),retiredAt:g("retired_at",{withTimezone:!0}),retiredReason:_("retired_reason"),createdAt:g("created_at",{withTimezone:!0}).defaultNow(),updatedAt:g("updated_at",{withTimezone:!0}).defaultNow(),contentUpdatedAt:g("content_updated_at",{withTimezone:!0}).notNull().defaultNow()},e=>[f("idx_evals_target").on(e.evalTargetId),f("idx_evals_target_active").on(e.evalTargetId).where(ho`${e.retiredAt} IS NULL`)]),E=ue("eval_runs",{id:c("id").primaryKey().defaultRandom(),jobId:c("job_id"),evalId:c("eval_id").notNull().references(()=>q.id,{onDelete:"cascade"}),evalTargetId:c("eval_target_id").notNull().references(()=>s.id,{onDelete:"cascade"}),evalTargetVersion:O("eval_target_version").notNull(),configuration:_("configuration").notNull(),runNumber:O("run_number").notNull().default(1),iteration:O("iteration").notNull().default(1),status:_("status").notNull().default("completed"),outputs:T("outputs").notNull().default({}),timing:T("timing").notNull().default({}),grading:T("grading").notNull().default({}),comparison:T("comparison"),createdAt:g("created_at",{withTimezone:!0}).defaultNow()},e=>[f("idx_eval_runs_eval").on(e.evalId),f("idx_eval_runs_target").on(e.evalTargetId),f("idx_eval_runs_iteration").on(e.evalTargetId,e.iteration)]),Vn=ue("eval_comparisons",{id:c("id").primaryKey().defaultRandom(),userId:c("user_id").notNull(),targetAId:c("target_a_id").notNull().references(()=>s.id,{onDelete:"cascade"}),targetBId:c("target_b_id").notNull().references(()=>s.id,{onDelete:"cascade"}),targetAVersion:O("target_a_version").notNull(),targetBVersion:O("target_b_version").notNull(),isSwapped:Ue("is_swapped").notNull().default(!1),winnerTargetId:c("winner_target_id").references(()=>s.id,{onDelete:"set null"}),perEval:T("per_eval").notNull().default([]),overall:T("overall").notNull().default({}),rawOutput:_("raw_output"),model:_("model"),status:_("status").notNull().default("completed"),createdAt:g("created_at",{withTimezone:!0}).defaultNow()},e=>[f("idx_eval_comparisons_target_a").on(e.targetAId),f("idx_eval_comparisons_target_b").on(e.targetBId),f("idx_eval_comparisons_user").on(e.userId)]),Fn=ue("eval_grade_annotations",{id:c("id").primaryKey().defaultRandom(),userId:c("user_id").notNull(),evalRunId:c("eval_run_id").notNull().references(()=>E.id,{onDelete:"cascade"}),evalTargetId:c("eval_target_id").notNull().references(()=>s.id,{onDelete:"cascade"}),expectationIndex:O("expectation_index").notNull(),expectationText:_("expectation_text").notNull(),judgePassed:Ue("judge_passed").notNull(),judgeMethod:_("judge_method").notNull(),judgeModel:_("judge_model"),verdict:_("verdict").notNull(),flag:_("flag"),note:_("note"),createdAt:g("created_at",{withTimezone:!0}).defaultNow(),updatedAt:g("updated_at",{withTimezone:!0}).defaultNow()},e=>[f("idx_eval_grade_annotations_target").on(e.evalTargetId),f("idx_eval_grade_annotations_run").on(e.evalRunId),Gn("eval_grade_annotations_eval_run_id_expectation_index_key").on(e.evalRunId,e.expectationIndex)]),$n=ue("judge_reviewer_verdicts",{id:c("id").primaryKey().defaultRandom(),userId:c("user_id").notNull(),evalTargetId:c("eval_target_id").notNull().references(()=>s.id,{onDelete:"cascade"}),evalRunId:c("eval_run_id").notNull().references(()=>E.id,{onDelete:"cascade"}),expectationIndex:O("expectation_index").notNull(),expectationText:_("expectation_text").notNull(),judgePassed:Ue("judge_passed").notNull(),humanPassed:Ue("human_passed").notNull(),reviewerEngine:_("reviewer_engine").notNull(),reviewerModel:_("reviewer_model").notNull(),reviewerPassed:Ue("reviewer_passed").notNull(),resolvedAt:g("resolved_at",{withTimezone:!0}),resolution:_("resolution"),createdAt:g("created_at",{withTimezone:!0}).defaultNow(),updatedAt:g("updated_at",{withTimezone:!0}).defaultNow()},e=>[f("idx_jrv_target").on(e.evalTargetId),Gn("judge_reviewer_verdicts_eval_run_id_expectation_index_review_key").on(e.evalRunId,e.expectationIndex,e.reviewerModel)]),Ae=ue("benchmarks",{id:c("id").primaryKey().defaultRandom(),evalTargetId:c("eval_target_id").notNull().references(()=>s.id,{onDelete:"cascade"}),iteration:O("iteration").notNull().default(1),runSummary:T("run_summary").notNull().default({}),notes:T("notes").notNull().default([]),feedback:T("feedback"),createdAt:g("created_at",{withTimezone:!0}).defaultNow()},e=>[f("idx_benchmarks_target").on(e.evalTargetId)]);import{sql as go}from"drizzle-orm";import{pgTable as Di,text as M,timestamp as ji,jsonb as jt,uuid as zt,boolean as zi,index as Be,uniqueIndex as Ri}from"drizzle-orm/pg-core";var Jn=Di("instruction_promotions",{id:zt("id").primaryKey().defaultRandom(),userId:zt("user_id").notNull(),evalTargetId:zt("eval_target_id").notNull().references(()=>s.id,{onDelete:"cascade"}),instructionId:zt("instruction_id").references(()=>n.id,{onDelete:"set null"}),fromContentHash:M("from_content_hash").notNull(),toContentHash:M("to_content_hash").notNull(),fromContent:M("from_content").notNull(),toContent:M("to_content").notNull(),proposalSource:M("proposal_source").notNull(),proposalRationale:M("proposal_rationale").notNull().default(""),decision:M("decision").notNull(),applied:zi("applied").notNull().default(!1),refusals:jt("refusals").notNull().default([]),rationale:M("rationale").notNull().default(""),effectClass:M("effect_class").notNull(),verdict:jt("verdict").notNull().default({}),gates:jt("gates").notNull().default({}),touchedSections:jt("touched_sections").notNull().default([]),createdAt:ji("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Be("idx_instruction_promotions_budget").on(e.evalTargetId,e.createdAt.desc()).where(go`${e.applied}`),Be("idx_instruction_promotions_target").on(e.evalTargetId,e.createdAt.desc()),Be("idx_instruction_promotions_user").on(e.userId,e.createdAt.desc()),Be("idx_instruction_promotions_to_hash").on(e.toContentHash),Ri("uq_instruction_promotions_applied").on(e.evalTargetId,e.fromContentHash,e.toContentHash).where(go`${e.applied}`),Be("idx_instruction_promotions_applied_hash").on(e.toContentHash,e.createdAt.desc()).where(go`${e.applied}`)]);import{index as Ge,integer as ki,jsonb as Ei,pgTable as Si,text as y,timestamp as De,uniqueIndex as bi,uuid as Ve}from"drizzle-orm/pg-core";var Qn=Si("recommendation_applications",{id:Ve("id").primaryKey().defaultRandom(),userId:Ve("user_id").notNull(),instructionId:Ve("instruction_id").notNull().references(()=>n.id,{onDelete:"cascade"}),projectId:Ve("project_id").references(()=>r.id,{onDelete:"set null"}),projectPath:y("project_path").notNull(),harness:y("harness").notNull(),targetPath:y("target_path").notNull(),status:y("status").notNull().default("proposed"),applyMode:y("apply_mode").notNull(),beforeHash:y("before_hash"),appliedHash:y("applied_hash"),appliedAt:De("applied_at",{withTimezone:!0}),measurementStartedAt:De("measurement_started_at",{withTimezone:!0}),measurementEndedAt:De("measurement_ended_at",{withTimezone:!0}),verdict:y("verdict"),verdictDetail:y("verdict_detail"),revertedAt:De("reverted_at",{withTimezone:!0}),boundaryClass:y("boundary_class"),targets:y("targets").array().notNull().default([]),inverse:Ei("inverse"),requires:y("requires").array().notNull().default([]),provides:y("provides").array().notNull().default([]),applyBatchId:Ve("apply_batch_id"),applySeq:ki("apply_seq"),createdAt:De("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:De("updated_at",{withTimezone:!0}).notNull().defaultNow()},e=>[bi("uq_recommendation_applications_target").on(e.userId,e.instructionId,e.projectPath,e.harness,e.targetPath),Ge("idx_recommendation_applications_user_status").on(e.userId,e.status,e.updatedAt.desc()),Ge("idx_recommendation_applications_user_harness").on(e.userId,e.harness,e.updatedAt.desc()),Ge("idx_recommendation_applications_project").on(e.projectId,e.updatedAt.desc()),Ge("idx_recommendation_applications_batch").on(e.userId,e.applyBatchId,e.applySeq.desc()),Ge("idx_recommendation_applications_requires").using("gin",e.requires)]);import{pgTable as Pi,text as S,timestamp as Yn,jsonb as Fe,uuid as vo,integer as je,real as Ki,index as Y,uniqueIndex as Wn}from"drizzle-orm/pg-core";import{sql as Io}from"drizzle-orm";var W=Pi("context_snapshots",{id:vo("id").primaryKey().defaultRandom(),sessionId:vo("session_id").references(()=>i.id,{onDelete:"cascade"}),userId:vo("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),sequence:je("sequence").notNull().default(0),provider:S("provider").notNull(),model:S("model").notNull(),systemPrompt:S("system_prompt").notNull(),injectedInstructions:Fe("injected_instructions").notNull().default([]),messagesSummary:Fe("messages_summary").notNull(),tools:Fe("tools").notNull().default([]),systemHash:S("system_hash").notNull(),requestHash:S("request_hash").notNull().default(""),toolsHash:S("tools_hash"),injectedHash:S("injected_hash"),messagesDelta:Fe("messages_delta").default([]),messagesDeltaRef:S("messages_delta_ref"),messagesBaseLength:je("messages_base_length"),payloadPrunedAt:Yn("payload_pruned_at",{withTimezone:!0}),deltaOffloadState:S("delta_offload_state").notNull().default("inline"),deltaGzipBytes:je("delta_gzip_bytes"),deltaOffloadError:S("delta_offload_error"),deltaOffloadAttempts:je("delta_offload_attempts").notNull().default(0),maxTokens:je("max_tokens"),temperature:Ki("temperature"),estimatedTokens:je("estimated_tokens"),capturedAt:Yn("captured_at",{withTimezone:!0}).notNull().defaultNow(),metadata:Fe("metadata").default({})},e=>[Y("idx_context_snapshots_session").on(e.sessionId),Y("idx_context_snapshots_user").on(e.userId),Y("idx_context_snapshots_hash").on(e.systemHash),Y("idx_context_snapshots_request_hash").on(e.requestHash),Wn("idx_snapshots_session_request").on(e.sessionId,e.requestHash),Wn("idx_snapshots_session_sequence").on(e.sessionId,e.sequence),Y("idx_context_snapshots_user_session_captured").on(e.userId,e.sessionId,e.capturedAt.desc()),Y("idx_snapshots_unpruned_captured").on(e.capturedAt,e.id).where(Io`${e.payloadPrunedAt} is null`),Y("idx_snapshots_pending_offload").on(e.deltaOffloadState,e.capturedAt,e.id).where(Io`${e.deltaOffloadState} = 'pending'`),Y("idx_snapshots_delta_ref").on(e.messagesDeltaRef).where(Io`${e.messagesDeltaRef} is not null`)]);import{pgTable as Ci,text as Xn,timestamp as Zn,jsonb as Oi,integer as qi,index as Mi}from"drizzle-orm/pg-core";var er=Ci("content_blobs",{hash:Xn("hash").primaryKey(),contentType:Xn("content_type").notNull(),content:Oi("content").notNull(),sizeBytes:qi("size_bytes").notNull().default(0),createdAt:Zn("created_at",{withTimezone:!0}).defaultNow(),lastReferencedAt:Zn("last_referenced_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Mi("idx_content_blobs_type").on(e.contentType)]);import{integer as tr,jsonb as Hi,pgTable as Li,timestamp as Ui,uuid as Bi}from"drizzle-orm/pg-core";var or=Li("session_capture_heads",{sessionId:Bi("session_id").primaryKey().references(()=>i.id,{onDelete:"cascade"}),sequence:tr("sequence").notNull(),rawMessageHashes:Hi("raw_message_hashes").notNull().$type(),version:tr("version").notNull(),updatedAt:Ui("updated_at",{withTimezone:!0}).notNull().defaultNow()});import{index as Gi,integer as nr,pgTable as Vi,text as yo,timestamp as rr,uniqueIndex as Fi,uuid as $i}from"drizzle-orm/pg-core";import{sql as Ji}from"drizzle-orm";var sr=Vi("snapshot_delta_objects",{ref:yo("ref").primaryKey(),snapshotId:$i("snapshot_id"),compressedBytes:nr("compressed_bytes").notNull(),state:yo("state").notNull(),createdAt:rr("created_at",{withTimezone:!0}).notNull().defaultNow(),lastAttemptAt:rr("last_attempt_at",{withTimezone:!0}),attempts:nr("attempts").notNull().default(0),lastError:yo("last_error")},e=>[Gi("idx_snapshot_delta_objects_state_created").on(e.state,e.createdAt),Fi("snapshot_delta_objects_snapshot_id_unique").on(e.snapshotId).where(Ji`${e.snapshotId} is not null`)]);import{pgTable as Qi,text as Rt,timestamp as $e,jsonb as kt,uuid as wo,index as Et,integer as To}from"drizzle-orm/pg-core";var ze=Qi("eval_jobs",{id:wo("id").primaryKey().defaultRandom(),userId:wo("user_id").notNull(),evalTargetId:wo("eval_target_id").notNull().references(()=>s.id,{onDelete:"cascade"}),status:Rt("status").notNull().default("pending"),config:kt("config").notNull().default({}),progress:kt("progress").notNull().default({}),result:kt("result"),error:Rt("error"),attempts:To("attempts").notNull().default(0),taskKind:Rt("task_kind"),payload:kt("payload"),claimedBy:Rt("claimed_by"),claimedAt:$e("claimed_at",{withTimezone:!0}),leaseExpiresAt:$e("lease_expires_at",{withTimezone:!0}),leaseRecoveries:To("lease_recoveries").notNull().default(0),hostSuspendRecoveries:To("host_suspend_recoveries").notNull().default(0),createdAt:$e("created_at",{withTimezone:!0}).defaultNow(),updatedAt:$e("updated_at",{withTimezone:!0}).defaultNow(),completedAt:$e("completed_at",{withTimezone:!0})},e=>[Et("idx_eval_jobs_user").on(e.userId),Et("idx_eval_jobs_target").on(e.evalTargetId),Et("idx_eval_jobs_status").on(e.status),Et("idx_eval_jobs_pending").on(e.userId,e.status)]);import{pgTable as Yi,text as Je,timestamp as Qe,jsonb as ir,uuid as ar,integer as Ao,index as dr}from"drizzle-orm/pg-core";var ur=Yi("agent_jobs",{id:ar("id").primaryKey().defaultRandom(),userId:ar("user_id").notNull(),taskKind:Je("task_kind").notNull(),status:Je("status").notNull().default("pending"),payload:ir("payload").notNull(),dedupeKey:Je("dedupe_key"),result:ir("result"),error:Je("error"),attempts:Ao("attempts").notNull().default(0),claimedBy:Je("claimed_by"),claimedAt:Qe("claimed_at",{withTimezone:!0}),leaseExpiresAt:Qe("lease_expires_at",{withTimezone:!0}),leaseRecoveries:Ao("lease_recoveries").notNull().default(0),hostSuspendRecoveries:Ao("host_suspend_recoveries").notNull().default(0),createdAt:Qe("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:Qe("updated_at",{withTimezone:!0}).notNull().defaultNow(),completedAt:Qe("completed_at",{withTimezone:!0})},e=>[dr("idx_agent_jobs_claim").on(e.userId,e.status,e.taskKind,e.createdAt),dr("idx_agent_jobs_dedupe").on(e.userId,e.taskKind,e.dedupeKey)]);import{pgTable as Wi,text as Ye,timestamp as We,jsonb as St,uuid as Do,index as bt,integer as jo}from"drizzle-orm/pg-core";var lr=Wi("insights_jobs",{id:Do("id").primaryKey().defaultRandom(),userId:Do("user_id").notNull(),status:Ye("status").notNull().default("pending"),projectPath:Ye("project_path"),projectId:Do("project_id").references(()=>r.id,{onDelete:"set null"}),config:St("config").notNull().default({}),progress:St("progress").notNull().default({}),result:St("result"),error:Ye("error"),attempts:jo("attempts").notNull().default(0),taskKind:Ye("task_kind"),payload:St("payload"),claimedBy:Ye("claimed_by"),claimedAt:We("claimed_at",{withTimezone:!0}),leaseExpiresAt:We("lease_expires_at",{withTimezone:!0}),leaseRecoveries:jo("lease_recoveries").notNull().default(0),hostSuspendRecoveries:jo("host_suspend_recoveries").notNull().default(0),createdAt:We("created_at",{withTimezone:!0}).defaultNow(),updatedAt:We("updated_at",{withTimezone:!0}).defaultNow(),completedAt:We("completed_at",{withTimezone:!0})},e=>[bt("idx_insights_jobs_user").on(e.userId),bt("idx_insights_jobs_status").on(e.status),bt("idx_insights_jobs_pending").on(e.userId,e.status),bt("idx_insights_jobs_project").on(e.projectId)]);import{pgTable as Xi,text as zo,timestamp as Pt,uuid as cr,index as Zi,uniqueIndex as ea}from"drizzle-orm/pg-core";var Re=Xi("api_keys",{id:cr("id").primaryKey().defaultRandom(),userId:cr("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),name:zo("name").notNull(),keyHash:zo("key_hash").notNull(),keyPrefix:zo("key_prefix").notNull(),lastUsedAt:Pt("last_used_at",{withTimezone:!0}),expiresAt:Pt("expires_at",{withTimezone:!0}),revokedAt:Pt("revoked_at",{withTimezone:!0}),createdAt:Pt("created_at",{withTimezone:!0}).defaultNow()},e=>[Zi("idx_api_keys_user").on(e.userId),ea("idx_api_keys_hash").on(e.keyHash)]);import{pgTable as ta,text as Ro,timestamp as _r,uuid as oa,index as na}from"drizzle-orm/pg-core";var pr=ta("extension_auth_codes",{code:Ro("code").primaryKey(),userId:oa("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),editor:Ro("editor"),email:Ro("email"),expiresAt:_r("expires_at",{withTimezone:!0}).notNull(),createdAt:_r("created_at",{withTimezone:!0}).defaultNow()},e=>[na("idx_ext_auth_codes_expiry").on(e.expiresAt)]);import{pgTable as ra,text as sa,timestamp as mr,jsonb as ia,uuid as ko,index as fr}from"drizzle-orm/pg-core";var ke=ra("eval_conversations",{id:ko("id").primaryKey().defaultRandom(),evalTargetId:ko("eval_target_id").notNull().references(()=>s.id,{onDelete:"cascade"}),userId:ko("user_id").notNull(),messages:ia("messages").notNull().default([]),status:sa("status").notNull().default("active"),createdAt:mr("created_at",{withTimezone:!0}).defaultNow(),updatedAt:mr("updated_at",{withTimezone:!0}).defaultNow()},e=>[fr("idx_eval_conversations_target").on(e.evalTargetId),fr("idx_eval_conversations_user").on(e.userId)]);import{pgTable as aa,text as H,timestamp as Nr,jsonb as da,uuid as Eo}from"drizzle-orm/pg-core";var xr=aa("skill_submissions",{id:Eo("id").primaryKey().defaultRandom(),skillId:H("skill_id").notNull(),name:H("name").notNull(),description:H("description").notNull(),category:H("category").notNull(),tools:H("tools").array().notNull(),tags:H("tags").array().default([]),content:H("content").notNull(),status:H("status").notNull().default("pending"),submittedBy:Eo("submitted_by").notNull(),reviewedBy:Eo("reviewed_by"),reviewNote:H("review_note"),metadata:da("metadata"),createdAt:Nr("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Nr("updated_at",{withTimezone:!0}).defaultNow()});import{pgTable as ua,text as Xe,timestamp as hr,jsonb as la,uuid as ca,uniqueIndex as _a,index as gr}from"drizzle-orm/pg-core";var vr=ua("harness_releases",{id:ca("id").primaryKey().defaultRandom(),harness:Xe("harness").notNull(),version:Xe("version").notNull(),publishedAt:hr("published_at",{withTimezone:!0}).notNull(),title:Xe("title"),body:Xe("body"),categories:la("categories").default({}),url:Xe("url"),createdAt:hr("created_at",{withTimezone:!0}).defaultNow()},e=>[_a("idx_harness_releases_unique").on(e.harness,e.version),gr("idx_harness_releases_harness").on(e.harness),gr("idx_harness_releases_published").on(e.publishedAt)]);import{pgTable as pa,text as Ee,timestamp as Ir,jsonb as ma,uuid as yr,index as wr,uniqueIndex as fa}from"drizzle-orm/pg-core";var So=pa("notifications",{id:yr("id").primaryKey().defaultRandom(),userId:yr("user_id").notNull(),type:Ee("type").notNull(),title:Ee("title").notNull(),body:Ee("body"),url:Ee("url"),sourceTable:Ee("source_table"),sourceId:Ee("source_id"),metadata:ma("metadata").notNull().default({}),readAt:Ir("read_at",{withTimezone:!0}),createdAt:Ir("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[wr("idx_notifications_user_created").on(e.userId,e.createdAt),wr("idx_notifications_user_unread").on(e.userId),fa("idx_notifications_source_dedup").on(e.userId,e.sourceTable,e.sourceId)]);import{pgTable as Na,text as Ze,timestamp as et,jsonb as bo,uuid as Po,index as Kt,integer as Ko}from"drizzle-orm/pg-core";var Se=Na("launch_jobs",{id:Po("id").primaryKey().defaultRandom(),userId:Po("user_id").notNull(),tool:Ze("tool").notNull(),status:Ze("status").notNull().default("pending"),config:bo("config").notNull().default({}),result:bo("result"),error:Ze("error"),attempts:Ko("attempts").notNull().default(0),taskKind:Ze("task_kind"),payload:bo("payload"),claimedBy:Ze("claimed_by"),claimedAt:et("claimed_at",{withTimezone:!0}),leaseExpiresAt:et("lease_expires_at",{withTimezone:!0}),leaseRecoveries:Ko("lease_recoveries").notNull().default(0),hostSuspendRecoveries:Ko("host_suspend_recoveries").notNull().default(0),createdAt:et("created_at",{withTimezone:!0}).defaultNow(),updatedAt:et("updated_at",{withTimezone:!0}).defaultNow(),completedAt:et("completed_at",{withTimezone:!0}),runId:Po("run_id").references(()=>h.id,{onDelete:"set null"})},e=>[Kt("idx_launch_jobs_user").on(e.userId),Kt("idx_launch_jobs_status").on(e.status),Kt("idx_launch_jobs_pending").on(e.userId,e.status),Kt("idx_launch_jobs_run").on(e.runId)]);import{pgTable as Tr,uuid as L,text as X,real as xa,timestamp as tt,boolean as ha,uniqueIndex as ga,index as ot}from"drizzle-orm/pg-core";var Ar=["add","remove","trim"],Co=Tr("instruction_suggestions",{id:L("id").primaryKey().defaultRandom(),userId:L("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),instructionId:L("instruction_id").notNull().references(()=>n.id,{onDelete:"cascade"}),projectPath:X("project_path").notNull(),projectId:L("project_id").references(()=>r.id,{onDelete:"set null"}),score:xa("score").notNull(),reason:X("reason").notNull(),kind:X("kind").$type().notNull().default("add"),generatedAt:tt("generated_at",{withTimezone:!0}).notNull().defaultNow(),isStale:ha("is_stale").notNull().default(!1),dismissedAt:tt("dismissed_at",{withTimezone:!0}),acceptedAt:tt("accepted_at",{withTimezone:!0}),declinedAt:tt("declined_at",{withTimezone:!0}),declinedReason:X("declined_reason"),promotedToInstructionId:L("promoted_to_instruction_id").references(()=>n.id,{onDelete:"set null"})},e=>[ga("idx_instruction_suggestions_user_project_instruction_kind").on(e.userId,e.projectPath,e.instructionId,e.kind),ot("idx_instruction_suggestions_user_project").on(e.userId,e.projectPath),ot("idx_instruction_suggestions_user_proj_id").on(e.userId,e.projectId),ot("idx_instruction_suggestions_generated_at").on(e.generatedAt)]),Dr=Tr("instruction_suggestion_events",{id:L("id").primaryKey().defaultRandom(),suggestionId:L("suggestion_id").notNull().references(()=>Co.id,{onDelete:"cascade"}),userId:L("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),eventType:X("event_type").notNull(),tool:X("tool"),sessionId:L("session_id"),projectPath:X("project_path").notNull(),actor:X("actor"),createdAt:tt("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[ot("idx_instruction_suggestion_events_suggestion_id").on(e.suggestionId),ot("idx_instruction_suggestion_events_user_id").on(e.userId)]);import{pgTable as va,text as Oo,integer as Ia,numeric as nt,timestamp as qo,index as ya,primaryKey as wa}from"drizzle-orm/pg-core";var jr=va("model_pricing",{provider:Oo("provider").notNull(),modelId:Oo("model_id").notNull(),inputPerM:nt("input_per_m").notNull(),outputPerM:nt("output_per_m").notNull(),cacheReadPerM:nt("cache_read_per_m").notNull(),cacheWrite5mPerM:nt("cache_write_5m_per_m").notNull(),cacheWrite1hPerM:nt("cache_write_1h_per_m").notNull(),contextWindow:Ia("context_window"),effectiveFrom:qo("effective_from",{withTimezone:!0}).notNull(),effectiveUntil:qo("effective_until",{withTimezone:!0}),source:Oo("source").notNull(),verifiedAt:qo("verified_at",{withTimezone:!0})},e=>[wa({columns:[e.provider,e.modelId,e.effectiveFrom]}),ya("idx_model_pricing_active").on(e.provider,e.modelId,e.effectiveFrom.desc())]);import{pgTable as Ta,text as le,numeric as zr,timestamp as Rr,uuid as kr,jsonb as Aa,index as Er}from"drizzle-orm/pg-core";var Sr=Ta("limit_observations",{id:kr("id").primaryKey().defaultRandom(),observedAt:Rr("observed_at",{withTimezone:!0}).notNull().defaultNow(),provider:le("provider").notNull(),plan:le("plan").notNull(),limitType:le("limit_type").notNull(),value:zr("value").notNull(),unit:le("unit").notNull(),comparator:le("comparator").notNull().default("="),resetsAt:Rr("resets_at",{withTimezone:!0}),sourceType:le("source_type").notNull(),sourceUrl:le("source_url"),sourceEvidence:Aa("source_evidence"),confidence:zr("confidence").notNull(),userId:kr("user_id")},e=>[Er("idx_limit_obs_lookup").on(e.provider,e.plan,e.limitType,e.observedAt.desc()),Er("idx_limit_obs_user").on(e.userId,e.observedAt.desc())]);import{pgTable as Da,text as Ct,timestamp as ja,uuid as za,jsonb as Ra,boolean as ka,uniqueIndex as Ea}from"drizzle-orm/pg-core";var br=Da("provider_docs_snapshots",{id:za("id").primaryKey().defaultRandom(),fetchedAt:ja("fetched_at",{withTimezone:!0}).notNull().defaultNow(),provider:Ct("provider").notNull(),docUrl:Ct("doc_url").notNull(),contentHash:Ct("content_hash").notNull(),content:Ct("content").notNull(),parseSuccess:ka("parse_success").notNull(),parseErrors:Ra("parse_errors")},e=>[Ea("idx_docs_dedup").on(e.provider,e.docUrl,e.contentHash)]);import{pgTable as Sa,text as Ot,numeric as Pr,timestamp as Kr,uuid as ba,primaryKey as Pa,index as Ka}from"drizzle-orm/pg-core";var Cr=Sa("plan_limits_active",{provider:Ot("provider").notNull(),plan:Ot("plan").notNull(),limitType:Ot("limit_type").notNull(),value:Pr("value").notNull(),unit:Ot("unit").notNull(),effectiveFrom:Kr("effective_from",{withTimezone:!0}).notNull(),effectiveUntil:Kr("effective_until",{withTimezone:!0}),confidence:Pr("confidence").notNull(),sourceObservationIds:ba("source_observation_ids").array().notNull()},e=>[Pa({columns:[e.provider,e.plan,e.limitType,e.effectiveFrom]}),Ka("idx_plan_limits_lookup").on(e.provider,e.plan,e.limitType,e.effectiveFrom.desc())]);import{pgTable as Ca,text as Mo,timestamp as Oa,uuid as Or,jsonb as qa,index as Ma}from"drizzle-orm/pg-core";var qr=Ca("alert_dispatches",{id:Or("id").primaryKey().defaultRandom(),userId:Or("user_id").notNull(),alertKey:Mo("alert_key").notNull(),severity:Mo("severity").notNull(),lastDispatchedAt:Oa("last_dispatched_at",{withTimezone:!0}).notNull().defaultNow(),lastState:qa("last_state").notNull(),channel:Mo("channel").notNull()},e=>[Ma("idx_alert_user_key").on(e.userId,e.alertKey,e.lastDispatchedAt.desc())]);import{date as Mr,integer as Ho,pgTable as Hr,primaryKey as Ha,text as La,timestamp as Lo,uuid as Ua}from"drizzle-orm/pg-core";var Lr=Hr("weekly_digest_deliveries",{userId:Ua("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),weekStart:Mr("week_start").notNull(),sentAt:Lo("sent_at",{withTimezone:!0}).notNull().defaultNow(),providerMessageId:La("provider_message_id")},e=>[Ha({columns:[e.userId,e.weekStart]})]),Ur=Hr("weekly_digest_runs",{weekStart:Mr("week_start").primaryKey(),startedAt:Lo("started_at",{withTimezone:!0}).notNull().defaultNow(),finishedAt:Lo("finished_at",{withTimezone:!0}),sent:Ho("sent"),skipped:Ho("skipped"),failed:Ho("failed")});import{pgTable as Ba,text as Uo,timestamp as Br,uuid as Bo,integer as Ga,index as Va,unique as Fa}from"drizzle-orm/pg-core";var Gr=Ba("scaffolding_fingerprints",{id:Bo("id").primaryKey().defaultRandom(),userId:Bo("user_id").notNull(),harness:Uo("harness").notNull(),model:Uo("model").notNull(),toolsHash:Uo("tools_hash").notNull(),firstSeenAt:Br("first_seen_at",{withTimezone:!0}).notNull().defaultNow(),lastSeenAt:Br("last_seen_at",{withTimezone:!0}).notNull().defaultNow(),snapshotCount:Ga("snapshot_count").notNull().default(1),firstSessionId:Bo("first_session_id")},e=>[Fa("scaffolding_fingerprints_user_id_harness_model_tools_hash_key").on(e.userId,e.harness,e.model,e.toolsHash),Va("idx_scaffolding_fp_segment").on(e.userId,e.harness,e.model)]);import{pgTable as $a,text as Go,timestamp as Ja,jsonb as Qa,uuid as Vr,integer as Ya,unique as Wa}from"drizzle-orm/pg-core";var Fr=$a("scaffolding_segments",{id:Vr("id").primaryKey().defaultRandom(),userId:Vr("user_id").notNull(),harness:Go("harness").notNull(),model:Go("model").notNull(),coreNames:Qa("core_names").notNull(),coreHash:Go("core_hash").notNull(),activeFingerprints:Ya("active_fingerprints").notNull(),computedAt:Ja("computed_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Wa("scaffolding_segments_user_id_harness_model_key").on(e.userId,e.harness,e.model)]);import{pgTable as Xa,text as Z,timestamp as $r,uuid as Vo,uniqueIndex as Za,index as ed}from"drizzle-orm/pg-core";var Jr=["blog","docs","changelog"],Fo=Xa("vendor_guidance_snapshots",{id:Vo("id").primaryKey().defaultRandom(),fetchedAt:$r("fetched_at",{withTimezone:!0}).notNull().defaultNow(),sourceId:Z("source_id").notNull(),harness:Z("harness").notNull(),vendor:Z("vendor").notNull(),kind:Z("kind").$type().notNull(),url:Z("url").notNull(),title:Z("title").notNull(),contentHash:Z("content_hash").notNull(),text:Z("text").notNull(),previousSnapshotId:Vo("previous_snapshot_id").references(()=>Fo.id,{onDelete:"set null"}),pitchedAt:$r("pitched_at",{withTimezone:!0}),pitchInstructionId:Vo("pitch_instruction_id").references(()=>n.id,{onDelete:"set null"})},e=>[Za("idx_vendor_guidance_dedup").on(e.sourceId,e.contentHash),ed("idx_vendor_guidance_source_fetched").on(e.sourceId,e.fetchedAt)]);import{drizzle as Zr}from"drizzle-orm/postgres-js";import es from"postgres";var qt={};gs(qt,{GUIDANCE_KINDS:()=>Jr,SUGGESTION_KINDS:()=>Ar,agentJobs:()=>ur,agentRuns:()=>h,agentRunsRelations:()=>fd,alertDispatches:()=>qr,announcementDeliveries:()=>on,announcements:()=>tn,apiKeys:()=>Re,apiKeysRelations:()=>od,benchmarks:()=>Ae,benchmarksRelations:()=>jd,cliErrorEvents:()=>Bn,cliSetupEvents:()=>Ln,contentBlobs:()=>er,contextSnapshots:()=>W,contextSnapshotsRelations:()=>kd,evalComparisons:()=>Vn,evalConversations:()=>ke,evalConversationsRelations:()=>Rd,evalGradeAnnotations:()=>Fn,evalJobs:()=>ze,evalJobsRelations:()=>zd,evalRuns:()=>E,evalRunsRelations:()=>Dd,evalTargets:()=>s,evalTargetsRelations:()=>Td,evals:()=>q,evalsRelations:()=>Ad,extensionAuthCodes:()=>pr,harnessReleases:()=>vr,insightRecommendationLog:()=>Dn,insightsJobs:()=>lr,instructionEvents:()=>Ne,instructionEventsRelations:()=>ud,instructionExperimentArms:()=>wn,instructionExperiments:()=>Me,instructionPromotions:()=>Jn,instructionSuggestionEvents:()=>Dr,instructionSuggestions:()=>Co,instructionUsageEvents:()=>Te,instructionUsageEventsRelations:()=>wd,instructionVerdicts:()=>An,instructionVersionIdentities:()=>ln,instructionVersions:()=>fe,instructionVersionsRelations:()=>cd,instructions:()=>n,instructionsRelations:()=>dd,judgeReviewerVerdicts:()=>$n,launchJobs:()=>Se,launchJobsRelations:()=>Nd,limitObservations:()=>Sr,memories:()=>w,memoriesRelations:()=>ld,memoryExperiments:()=>kn,modelPricing:()=>jr,notificationPreferences:()=>nn,notifications:()=>So,orgInvitations:()=>b,orgInvitationsRelations:()=>sd,organizations:()=>l,organizationsRelations:()=>nd,packInstructions:()=>Q,packInstructionsRelations:()=>yd,packs:()=>j,packsRelations:()=>Id,pendingTreatmentExposures:()=>vn,planLimitsActive:()=>Cr,profiles:()=>o,profilesRelations:()=>td,projectCheckouts:()=>pn,projectInstructions:()=>V,projectInstructionsRelations:()=>pd,projects:()=>r,projectsRelations:()=>_d,providerDocsSnapshots:()=>br,recommendationApplications:()=>Qn,scaffoldingFingerprints:()=>Gr,scaffoldingSegments:()=>Fr,sessionCaptureHeads:()=>or,sessionEvents:()=>he,sessionEventsRelations:()=>xd,sessionInstructions:()=>F,sessionInstructionsRelations:()=>hd,sessionSendJobs:()=>bn,sessionTerminalTargets:()=>vt,sessions:()=>i,sessionsRelations:()=>md,skillSubmissions:()=>xr,snapshotDeltaObjects:()=>sr,teams:()=>v,teamsRelations:()=>rd,treatmentAssignments:()=>K,treatmentAssignmentsRelations:()=>gd,treatmentExposures:()=>C,treatmentExposuresRelations:()=>vd,userOrganizations:()=>pe,userOrganizationsRelations:()=>id,userTeams:()=>me,userTeamsRelations:()=>ad,vendorGuidanceSnapshots:()=>Fo,weeklyDigestDeliveries:()=>Lr,weeklyDigestRuns:()=>Ur,workerConnections:()=>qn});import{relations as a}from"drizzle-orm";var td=a(o,({many:e})=>({sessions:e(i),contextSnapshots:e(W),apiKeys:e(Re)})),od=a(Re,({one:e})=>({profile:e(o,{fields:[Re.userId],references:[o.id]})})),nd=a(l,({many:e})=>({teams:e(v),userOrganizations:e(pe),projects:e(r),invitations:e(b)})),rd=a(v,({one:e,many:t})=>({organization:e(l,{fields:[v.orgId],references:[l.id]}),userTeams:t(me),invitations:t(b)})),sd=a(b,({one:e})=>({organization:e(l,{fields:[b.orgId],references:[l.id]}),team:e(v,{fields:[b.teamId],references:[v.id]}),inviter:e(o,{fields:[b.invitedBy],references:[o.id]})})),id=a(pe,({one:e})=>({organization:e(l,{fields:[pe.orgId],references:[l.id]})})),ad=a(me,({one:e})=>({team:e(v,{fields:[me.teamId],references:[v.id]})})),dd=a(n,({one:e,many:t})=>({versions:t(fe),projectInstructions:t(V),events:t(Ne),usageEvents:t(Te),sessionInstructions:t(F),packInstructions:t(Q),forkedFrom:e(n,{fields:[n.forkedFromId],references:[n.id]})})),ud=a(Ne,({one:e})=>({instruction:e(n,{fields:[Ne.instructionId],references:[n.id]})})),ld=a(w,({one:e,many:t})=>({project:e(r,{fields:[w.projectId],references:[r.id]}),parent:e(w,{fields:[w.parentId],references:[w.id]}),versions:t(w)})),cd=a(fe,({one:e})=>({instruction:e(n,{fields:[fe.instructionId],references:[n.id]})})),_d=a(r,({one:e,many:t})=>({organization:e(l,{fields:[r.orgId],references:[l.id]}),projectInstructions:t(V),sessions:t(i)})),pd=a(V,({one:e})=>({project:e(r,{fields:[V.projectId],references:[r.id]}),instruction:e(n,{fields:[V.instructionId],references:[n.id]})})),md=a(i,({one:e,many:t})=>({profile:e(o,{fields:[i.userId],references:[o.id]}),project:e(r,{fields:[i.projectId],references:[r.id]}),run:e(h,{fields:[i.runId],references:[h.id]}),events:t(he),sessionInstructions:t(F),treatmentExposures:t(C),contextSnapshots:t(W)})),fd=a(h,({one:e,many:t})=>({profile:e(o,{fields:[h.userId],references:[o.id]}),organization:e(l,{fields:[h.orgId],references:[l.id]}),project:e(r,{fields:[h.projectId],references:[r.id]}),sessions:t(i),launchJobs:t(Se)})),Nd=a(Se,({one:e})=>({run:e(h,{fields:[Se.runId],references:[h.id]})})),xd=a(he,({one:e})=>({session:e(i,{fields:[he.sessionId],references:[i.id]})})),hd=a(F,({one:e})=>({session:e(i,{fields:[F.sessionId],references:[i.id]}),instruction:e(n,{fields:[F.instructionId],references:[n.id]})})),gd=a(K,({one:e,many:t})=>({owner:e(o,{fields:[K.userId],references:[o.id]}),project:e(r,{fields:[K.projectId],references:[r.id]}),exposures:t(C)})),vd=a(C,({one:e})=>({session:e(i,{fields:[C.sessionId],references:[i.id]}),owner:e(o,{fields:[C.userId],references:[o.id]}),assignment:e(K,{fields:[C.assignmentId],references:[K.id]})})),Id=a(j,({one:e,many:t})=>({packInstructions:t(Q),forkedFrom:e(j,{fields:[j.forkedFromId],references:[j.id]})})),yd=a(Q,({one:e})=>({pack:e(j,{fields:[Q.packId],references:[j.id]}),instruction:e(n,{fields:[Q.instructionId],references:[n.id]})})),wd=a(Te,({one:e})=>({instruction:e(n,{fields:[Te.instructionId],references:[n.id]})})),Td=a(s,({one:e,many:t})=>({parent:e(s,{fields:[s.parentId],references:[s.id]}),evals:t(q),evalRuns:t(E),benchmarks:t(Ae),evalJobs:t(ze),evalConversations:t(ke)})),Ad=a(q,({one:e,many:t})=>({evalTarget:e(s,{fields:[q.evalTargetId],references:[s.id]}),runs:t(E)})),Dd=a(E,({one:e})=>({eval:e(q,{fields:[E.evalId],references:[q.id]}),evalTarget:e(s,{fields:[E.evalTargetId],references:[s.id]})})),jd=a(Ae,({one:e})=>({evalTarget:e(s,{fields:[Ae.evalTargetId],references:[s.id]})})),zd=a(ze,({one:e})=>({evalTarget:e(s,{fields:[ze.evalTargetId],references:[s.id]})})),Rd=a(ke,({one:e})=>({evalTarget:e(s,{fields:[ke.evalTargetId],references:[s.id]})})),kd=a(W,({one:e})=>({session:e(i,{fields:[W.sessionId],references:[i.id]}),profile:e(o,{fields:[W.userId],references:[o.id]})}));var rt=0,Qr=0,st=0,Yr=0;var Ed=0;function $o(){rt++,rt>Qr&&(Qr=rt)}m($o,"trackDbOpStart");function Jo(){rt>0&&rt--}m(Jo,"trackDbOpEnd");function Qo(){st++,st>Yr&&(Yr=st)}m(Qo,"trackHeavyDbOpStart");function Yo(){st>0&&st--}m(Yo,"trackHeavyDbOpEnd");function Wr(){Ed++}m(Wr,"recordQueryDeadline");var Ht,Ut,Wo=!1,Mt;var Xr,Bt,Lt;function ts(e){let t=process.env[e];if(!t)throw new Error(`Missing required env var: ${e}`);return t}m(ts,"getEnv");function os(){if(Wo)throw new Error("getDb() called after closeDb(): the connection pool is closed for shutdown. Stop issuing queries (timers/requests) before draining the pool.");if(!Ht){let e=process.env.PG_APPLICATION_NAME||"rulemetric",t=Number(process.env.PG_POOL_MAX)||3,d=Number(process.env.PG_CONNECT_TIMEOUT_S)||10,u=Number(process.env.PG_STATEMENT_TIMEOUT_MS)||0,p=Number(process.env.PG_IDLE_TIMEOUT)||5,x=Number(process.env.PG_KEEP_ALIVE_S)||60;Ut=es(ts("DATABASE_URL"),{prepare:!1,max:t,connect_timeout:d,idle_timeout:p,keep_alive:x,max_lifetime:300,connection:{application_name:e,...u>0?{statement_timeout:u}:{}}}),Ht=Zr(Ut,{schema:qt})}return Ht}m(os,"getDb");function ns(){if(Wo)throw new Error("getHeavyDb() called after closeDb(): the connection pool is closed for shutdown. Stop issuing queries (timers/requests) before draining the pool.");if(!Lt){let e=(process.env.PG_APPLICATION_NAME||"rulemetric")+":heavy",t=Number(process.env.PG_HEAVY_POOL_MAX)||2;Bt=es(ts("DATABASE_URL"),{prepare:!1,max:t,connect_timeout:Number(process.env.PG_CONNECT_TIMEOUT_S)||10,idle_timeout:Number(process.env.PG_IDLE_TIMEOUT)||5,keep_alive:Number(process.env.PG_KEEP_ALIVE_S)||60,max_lifetime:300,connection:{application_name:e}}),Lt=Zr(Bt,{schema:qt})}return Lt}m(ns,"getHeavyDb");async function Sd(){if(Mt)return Mt;Wo=!0;let e=Ut,t=Xr,d=Bt;return Ut=void 0,Ht=void 0,Xr=void 0,Bt=void 0,Lt=void 0,Mt=Promise.allSettled([e?e.end({timeout:5}):Promise.resolve(),t?t.end({timeout:5}):Promise.resolve(),d?d.end({timeout:5}):Promise.resolve()]).then(()=>{}),Mt}m(Sd,"closeDb");var bd=new Set(["CONNECT_TIMEOUT","ETIMEDOUT","ENOTFOUND","ECONNREFUSED","EAI_AGAIN"]);function rs(e){let t=e,d=t?.code??t?.cause?.code??t?.errno;return d!==void 0&&bd.has(d)}m(rs,"isRetryableConnectError");var Pd=new Set(["CONNECTION_CLOSED","ECONNRESET","EPIPE"]);function ss(e){let t=e,d=t?.code??t?.cause?.code??t?.errno;return d!==void 0&&Pd.has(d)}m(ss,"isRetryableResetError");async function is(e,t={}){let d=t.attempts??3,u=t.baseMs??100,p;for(let x=0;x<d;x++)try{return await e()}catch(A){p=A;let U=rs(A)||t.retryResets===!0&&ss(A);if(x===d-1||!U)throw A;await new Promise(ee=>setTimeout(ee,u*2**x))}throw p}m(is,"withDbRetry");var Gt=class extends Error{static{m(this,"QueryDeadlineError")}code="QUERY_DEADLINE";constructor(t){super(`Query exceeded the client-side deadline of ${t}ms \u2014 the DB pool is likely saturated (acquire-wait) or holding a dead socket; failing fast to avoid pinning the caller. See client.ts.`),this.name="QueryDeadlineError"}};function as(){let e=Number(process.env.PG_QUERY_DEADLINE_MS);return Number.isFinite(e)&&e>=0?e:2e4}m(as,"queryDeadlineMs");function ds(){let e=Number(process.env.PG_HEAVY_QUERY_DEADLINE_MS);return Number.isFinite(e)&&e>=0?e:6e4}m(ds,"heavyQueryDeadlineMs");function Kd(e,t,d=!0){let u,p=new Promise((x,A)=>{u=setTimeout(()=>{d&&Wr(),A(new Gt(t))},t);let U=u;typeof U.unref=="function"&&U.unref()});return Promise.race([e,p]).finally(()=>clearTimeout(u))}m(Kd,"raceWithDeadline");var us=new Set(["select","selectDistinct","selectDistinctOn","insert","update","delete","execute","with","$count","refreshMaterializedView"]),ls=new Set(["select","selectDistinct","selectDistinctOn","$count"]);function Xo(e,t=!1,d=0,u=!1){return e===null||typeof e!="object"&&typeof e!="function"?e:new Proxy(e,{get(p,x,A){if(x==="then"){let ee=Reflect.get(p,x,A);return typeof ee!="function"?ee:(ps,ms)=>{let fs=u?Qo:$o,Ns=u?Yo:Jo;fs();let Zo=is(()=>new Promise((xs,hs)=>ee.call(p,xs,hs)),{retryResets:t});return(d>0?Kd(Zo,d,!u):Zo).finally(Ns).then(ps,ms)}}let U=Reflect.get(p,x,A);return typeof U=="function"?(...ee)=>Xo(U.apply(p,ee),t,d,u):U}})}m(Xo,"wrapBuilder");function cs(e,t=!1){let d=t?Qo:$o,u=t?Yo:Jo;d();try{return Promise.resolve(e()).finally(u)}catch(p){throw u(),p}}m(cs,"gaugeTransaction");var _s=new Proxy({},{get(e,t){let d=os(),u=d[t];if(typeof t=="string"&&us.has(t)&&typeof u=="function"){let p=ls.has(t),x=as();return(...A)=>Xo(u.apply(d,A),p,x)}return t==="transaction"&&typeof u=="function"?(...p)=>cs(()=>u.apply(d,p)):u}}),Cd=new Proxy({},{get(e,t){let d=ns(),u=d[t];if(typeof t=="string"&&us.has(t)&&typeof u=="function"){let p=ls.has(t);return(...x)=>Xo(u.apply(d,x),p,ds(),!0)}return t==="transaction"&&typeof u=="function"?(...p)=>cs(()=>u.apply(d,p),!0):u}});export{tn as a,os as b,Sd as c};
@@ -1,4 +0,0 @@
1
- import{a as y}from"./chunk-6XTLP2G7.js";import{a as s}from"./chunk-ZLLER3HP.js";import{spawn as v}from"node:child_process";import{mkdtempSync as O,readFileSync as D,rmSync as I}from"node:fs";import{tmpdir as M}from"node:os";import{join as E}from"node:path";var R=s(t=>`codex:${t.replace(/^codex:/,"")}`,"codexModelId");function $(t,o){return["exec","--json","--sandbox","read-only","--skip-git-repo-check","--ephemeral","--model",t.replace(/^codex:/,""),"--output-last-message",o,"-"]}s($,"buildCodexArgs");function A(t){let o;for(let m of t.split(`
2
- `)){let u=m.trim();if(!u.startsWith("{"))continue;let n;try{n=JSON.parse(u)}catch{continue}if(typeof n!="object"||n===null)continue;let c=n.usage;if(typeof c!="object"||c===null)continue;let i=s(x=>{let a=c[x];return typeof a=="number"&&Number.isFinite(a)?a:0},"num"),d=i("input_tokens"),l=i("output_tokens");o={inputTokens:d,cachedInputTokens:i("cached_input_tokens"),outputTokens:l,reasoningOutputTokens:i("reasoning_output_tokens"),totalTokens:d+l}}return o}s(A,"parseCodexUsage");async function L(t){let{prompt:o,systemPrompt:m,model:u,timeout:n=12e4,workDir:c=process.cwd()}=t,i=m?`${m}
3
-
4
- ${o}`:o,d=y("codex");if(!d)return{output:"",exitCode:null,durationMs:0,error:"Codex CLI not found on PATH, well-known install dirs, or the node bin dir \u2014 is it installed?"};let l=O(E(M(),"rulemetric-codex-")),x=E(l,"last-message.txt"),a=Date.now();return new Promise(S=>{let f={...process.env};delete f.HTTPS_PROXY;let _=["/opt/homebrew/bin","/usr/local/bin"],k=(f.PATH??"").split(":").filter(Boolean),C=_.filter(e=>!k.includes(e));C.length&&(f.PATH=[...k,...C].join(":"));let r=v(d,$(u,x),{cwd:c,env:f,stdio:["pipe","pipe","pipe"]}),b="",p="",w=256*1024;r.stdout.on("data",e=>{p+=e.toString(),p.length>w&&(p=p.slice(-w))}),r.stderr.on("data",e=>{b+=e.toString()});let g=s(e=>{I(l,{recursive:!0,force:!0}),S({...e,durationMs:Date.now()-a})},"finish"),h=setTimeout(()=>{r.kill("SIGTERM"),g({output:"",exitCode:null,error:`codex exec timed out after ${n}ms`})},n);r.on("error",e=>{clearTimeout(h),g({output:"",exitCode:null,error:`failed to spawn codex: ${e.message} (is the Codex CLI installed?)`})}),r.on("close",e=>{clearTimeout(h);let T="";try{T=D(x,"utf8").trim()}catch{}let P=A(p);if(e!==0||T===""){g({output:T,exitCode:e,usage:P,error:`codex exec failed (exit ${e}): ${b.trim().slice(-500)||"no last message produced"}`});return}g({output:T,exitCode:e,model:R(u),usage:P})}),r.stdin.write(i),r.stdin.end()})}s(L,"executeCodexEval");export{R as a,$ as b,A as c,L as d};