@rulemetric/cli 0.14.1 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/dist/base-command.js +1 -1
  2. package/dist/{chunk-HNYHZO2J.js → chunk-3H44B6PB.js} +1 -1
  3. package/dist/chunk-4DA6L7KL.js +1 -0
  4. package/dist/chunk-4GOXEEXZ.js +1 -0
  5. package/dist/{chunk-RMRVUI7B.js → chunk-5PMTNNA6.js} +1 -1
  6. package/dist/{chunk-EMLLGASZ.js → chunk-5TM7AOH2.js} +1 -1
  7. package/dist/{chunk-GKVHFXUQ.js → chunk-5Z6XXOJL.js} +1 -1
  8. package/dist/{chunk-Q36QSFSB.js → chunk-6QMIDH6X.js} +1 -1
  9. package/dist/{chunk-3FNTV2TW.js → chunk-6T6YFPBW.js} +1 -1
  10. package/dist/{chunk-FYZ6HHCV.js → chunk-74KE4VOX.js} +1 -1
  11. package/dist/chunk-77FH6UZP.js +111 -0
  12. package/dist/{chunk-XGMOVQ5G.js → chunk-7LFCZI64.js} +1 -1
  13. package/dist/{chunk-7H4HJ2RV.js → chunk-AFEJYDUK.js} +1 -1
  14. package/dist/{chunk-WWQWHC4K.js → chunk-BDQTVYYF.js} +1 -1
  15. package/dist/{chunk-EUHRTEVJ.js → chunk-CIKQXFQ2.js} +1 -1
  16. package/dist/chunk-CMDOLJ23.js +1 -0
  17. package/dist/chunk-CQD2R3BA.js +3 -0
  18. package/dist/{chunk-I6ZQOMZS.js → chunk-CVPAKEEZ.js} +1 -1
  19. package/dist/{chunk-QRIJ3AHP.js → chunk-CYCH2EQC.js} +1 -1
  20. package/dist/{chunk-AGEZAKCC.js → chunk-CZBO3A6B.js} +1 -1
  21. package/dist/{chunk-JTYVBR5H.js → chunk-DANMUHNW.js} +1 -1
  22. package/dist/{chunk-4FJYVYCU.js → chunk-DX6IPDED.js} +1 -1
  23. package/dist/chunk-DYET4EYU.js +1 -0
  24. package/dist/{chunk-MXHAXY66.js → chunk-EJY5GK6A.js} +1 -1
  25. package/dist/{chunk-H6FVXVGG.js → chunk-FADINV4H.js} +1 -1
  26. package/dist/{chunk-DVU5PHPM.js → chunk-FG343JM3.js} +1 -1
  27. package/dist/{chunk-RXZLBSDO.js → chunk-FXQS7AEZ.js} +1 -1
  28. package/dist/{chunk-LJRJ2RAC.js → chunk-FZMO7XSN.js} +3 -3
  29. package/dist/{chunk-XMTKP74H.js → chunk-GDLQNY4V.js} +1 -1
  30. package/dist/{chunk-76UKAFNM.js → chunk-GIXHG5FK.js} +1 -1
  31. package/dist/{chunk-XJ25HFIT.js → chunk-GLBWNB2N.js} +1 -1
  32. package/dist/chunk-HT6R6KR3.js +3 -0
  33. package/dist/{chunk-OP4U3XBZ.js → chunk-HXOQUYG3.js} +1 -1
  34. package/dist/{chunk-V55ROUNP.js → chunk-IFIWDL7G.js} +1 -1
  35. package/dist/{chunk-B5X6HCBK.js → chunk-ISYU5BMU.js} +1 -1
  36. package/dist/chunk-JNLDISBA.js +4 -0
  37. package/dist/{chunk-MMLRWCBW.js → chunk-JOXTWLLK.js} +1 -1
  38. package/dist/{chunk-QAMHZY2P.js → chunk-JSGXFD42.js} +1 -1
  39. package/dist/chunk-JU5ZNXPK.js +1 -0
  40. package/dist/{chunk-6ANODRDT.js → chunk-JUBXWTJA.js} +1 -1
  41. package/dist/{chunk-YK2IEHLB.js → chunk-KE5K3F7J.js} +1 -1
  42. package/dist/{chunk-VIFOLTZT.js → chunk-KEVDLLHT.js} +1 -1
  43. package/dist/{chunk-7MTYUTUN.js → chunk-KR36ZDGN.js} +1 -1
  44. package/dist/{chunk-OVS7ZDJ4.js → chunk-L562Y4RN.js} +1 -1
  45. package/dist/{chunk-43VKTVM3.js → chunk-LJE5J3EW.js} +1 -1
  46. package/dist/{chunk-XMA6SWOT.js → chunk-LLXC5SRC.js} +1 -1
  47. package/dist/chunk-MOJY6S5J.js +1 -0
  48. package/dist/{chunk-IQEZ3T5A.js → chunk-MYGVN6X4.js} +1 -1
  49. package/dist/chunk-N2PP2A7M.js +1 -0
  50. package/dist/{chunk-44TYRMIS.js → chunk-NWV66NMA.js} +1 -1
  51. package/dist/{chunk-KOYHJFB3.js → chunk-PDXHRF4E.js} +1 -1
  52. package/dist/{chunk-5Z3H5JHK.js → chunk-PJ4RIUI3.js} +1 -1
  53. package/dist/{chunk-NYNHX7OX.js → chunk-Q7IDLOSP.js} +1 -1
  54. package/dist/{chunk-IO46ICZY.js → chunk-QFTAU33Y.js} +1 -1
  55. package/dist/{chunk-5BT375C7.js → chunk-QNSIBPWG.js} +1 -1
  56. package/dist/{chunk-3IMRLHJJ.js → chunk-QPAOX7P2.js} +1 -1
  57. package/dist/{chunk-RG3R4EAB.js → chunk-QPVUGTDP.js} +1 -1
  58. package/dist/{chunk-BMT5WMEV.js → chunk-RDL4HXFL.js} +1 -1
  59. package/dist/{chunk-2UK4DZFW.js → chunk-RE7RAZQ5.js} +1 -1
  60. package/dist/{chunk-35YVHBLL.js → chunk-RYCVPQYK.js} +1 -1
  61. package/dist/{chunk-VU24IH5S.js → chunk-SFZPFNC6.js} +1 -1
  62. package/dist/{chunk-ZK3ACE4T.js → chunk-T7HZZ4DJ.js} +1 -1
  63. package/dist/{chunk-LB24UKHZ.js → chunk-TWPD3ICV.js} +1 -1
  64. package/dist/{chunk-BFQVAU6N.js → chunk-UVCVJKEN.js} +1 -1
  65. package/dist/chunk-V576KKH6.js +1 -0
  66. package/dist/{chunk-CT6GJQIR.js → chunk-VUNJGZPP.js} +1 -1
  67. package/dist/{chunk-AIYFT4P6.js → chunk-W6MMJRFZ.js} +1 -1
  68. package/dist/{chunk-FKTT7A4H.js → chunk-WL5ZWQAS.js} +1 -1
  69. package/dist/chunk-WQFR2LOY.js +15 -0
  70. package/dist/{chunk-MU7KKU3O.js → chunk-WUCACPGC.js} +1 -1
  71. package/dist/{chunk-42A4PUW7.js → chunk-X6CF5KTW.js} +4 -4
  72. package/dist/{chunk-N4YPDZJF.js → chunk-XCH4HPEZ.js} +1 -1
  73. package/dist/{chunk-VXL5H3VZ.js → chunk-XIOYV5A7.js} +1 -1
  74. package/dist/{chunk-W23OYQXI.js → chunk-XXPWPKTD.js} +1 -1
  75. package/dist/{chunk-SCQK52SL.js → chunk-YXMAGC53.js} +1 -1
  76. package/dist/commands/antigravity/backfill.js +1 -1
  77. package/dist/commands/auth/create-key.js +1 -1
  78. package/dist/commands/auth/login.js +1 -1
  79. package/dist/commands/auth/logout.js +1 -1
  80. package/dist/commands/auth/revoke-key.js +1 -1
  81. package/dist/commands/auth/signup.js +1 -1
  82. package/dist/commands/auth/status.js +1 -1
  83. package/dist/commands/capture/scope.js +1 -1
  84. package/dist/commands/catalog/index.js +1 -1
  85. package/dist/commands/catalog/recommend.js +1 -1
  86. package/dist/commands/crons/list.js +1 -1
  87. package/dist/commands/crons/run.js +1 -1
  88. package/dist/commands/dashboard.js +1 -1
  89. package/dist/commands/diagnostics.js +1 -1
  90. package/dist/commands/eval-targets/create.js +1 -1
  91. package/dist/commands/eval-targets/list.js +1 -1
  92. package/dist/commands/evals/agent.js +1 -1
  93. package/dist/commands/evals/auto-run.js +1 -1
  94. package/dist/commands/evals/benchmark.js +1 -1
  95. package/dist/commands/evals/compare.js +1 -1
  96. package/dist/commands/evals/create.js +1 -1
  97. package/dist/commands/evals/optimize-description.js +1 -1
  98. package/dist/commands/evals/optimize.js +1 -1
  99. package/dist/commands/evals/refine-cases.js +1 -1
  100. package/dist/commands/evals/run.js +1 -1
  101. package/dist/commands/evals/validate-judge.js +1 -1
  102. package/dist/commands/experiments/list.js +1 -1
  103. package/dist/commands/gateway/ensure.js +1 -1
  104. package/dist/commands/hooks/install.js +1 -1
  105. package/dist/commands/hooks/run.js +1 -1
  106. package/dist/commands/hooks/uninstall.js +1 -1
  107. package/dist/commands/instructions/create.js +1 -1
  108. package/dist/commands/instructions/dedupe.js +1 -1
  109. package/dist/commands/instructions/delete.js +1 -1
  110. package/dist/commands/instructions/fork.js +1 -1
  111. package/dist/commands/instructions/get.js +1 -1
  112. package/dist/commands/instructions/list.js +1 -1
  113. package/dist/commands/instructions/promote.js +1 -1
  114. package/dist/commands/instructions/pull.js +1 -1
  115. package/dist/commands/instructions/restore.js +1 -1
  116. package/dist/commands/instructions/retract.js +1 -1
  117. package/dist/commands/instructions/upstream.js +1 -1
  118. package/dist/commands/instructions/versions.js +1 -1
  119. package/dist/commands/launcher.js +1 -1
  120. package/dist/commands/local/down.js +1 -1
  121. package/dist/commands/local/up.js +1 -1
  122. package/dist/commands/org/current.js +1 -1
  123. package/dist/commands/org/list.js +1 -1
  124. package/dist/commands/org/switch.js +1 -1
  125. package/dist/commands/packs/add-instruction.js +1 -1
  126. package/dist/commands/packs/apply.js +1 -1
  127. package/dist/commands/packs/create.js +1 -1
  128. package/dist/commands/packs/fork.js +1 -1
  129. package/dist/commands/packs/get.js +1 -1
  130. package/dist/commands/packs/list.js +1 -1
  131. package/dist/commands/packs/remove-instruction.js +1 -1
  132. package/dist/commands/proxy/env.js +1 -1
  133. package/dist/commands/proxy/logs.js +1 -1
  134. package/dist/commands/proxy/restart.js +1 -1
  135. package/dist/commands/proxy/setup.js +1 -1
  136. package/dist/commands/proxy/start.js +1 -1
  137. package/dist/commands/proxy/status.js +1 -1
  138. package/dist/commands/proxy/stop.js +1 -1
  139. package/dist/commands/research/backfill.js +1 -1
  140. package/dist/commands/research/tail-transcript.js +1 -1
  141. package/dist/commands/service/install.js +1 -1
  142. package/dist/commands/service/status.js +1 -1
  143. package/dist/commands/service/uninstall.js +1 -1
  144. package/dist/commands/sessions/analyze.js +1 -1
  145. package/dist/commands/sessions/delete.js +1 -1
  146. package/dist/commands/sessions/end.js +1 -1
  147. package/dist/commands/sessions/import.js +1 -1
  148. package/dist/commands/sessions/list.js +1 -1
  149. package/dist/commands/sessions/start.js +1 -1
  150. package/dist/commands/setup.js +1 -1
  151. package/dist/commands/skills/export-approved.js +1 -1
  152. package/dist/commands/skills/install.js +1 -1
  153. package/dist/commands/skills/list.js +1 -1
  154. package/dist/commands/skills/publish.js +1 -1
  155. package/dist/commands/skills/search.js +1 -1
  156. package/dist/commands/skills/update.js +1 -1
  157. package/dist/commands/suggestions/accept.js +1 -1
  158. package/dist/commands/suggestions/auto.js +1 -1
  159. package/dist/commands/suggestions/dismiss.js +1 -1
  160. package/dist/commands/suggestions/list.js +1 -1
  161. package/dist/commands/suggestions/refresh.js +1 -1
  162. package/dist/commands/suggestions/undo.js +1 -1
  163. package/dist/dashboard/Dashboard.js +1 -1
  164. package/dist/dashboard/data.js +1 -1
  165. package/dist/dashboard/launcher/LauncherOverlay.js +1 -1
  166. package/dist/dashboard/launcher/api.js +1 -1
  167. package/dist/dashboard/launcher/useLaunchJobs.js +1 -1
  168. package/dist/dashboard/panels/measurement.js +1 -1
  169. package/dist/lib/active-org-refresh.js +1 -1
  170. package/dist/lib/agent-loop.js +1 -1
  171. package/dist/lib/antigravity-transcript.js +1 -1
  172. package/dist/lib/api-client.js +1 -1
  173. package/dist/lib/codex-exec.js +1 -1
  174. package/dist/lib/ensure-api-key.js +1 -1
  175. package/dist/lib/ensure-fresh-token.js +1 -1
  176. package/dist/lib/eval-analyzer.js +1 -1
  177. package/dist/lib/eval-benchmark.js +1 -1
  178. package/dist/lib/eval-candidate-run.js +1 -1
  179. package/dist/lib/eval-case-generator.js +1 -1
  180. package/dist/lib/eval-conversation-handler.js +1 -1
  181. package/dist/lib/eval-executor.js +1 -1
  182. package/dist/lib/eval-grader.js +1 -1
  183. package/dist/lib/eval-meta-judge.js +1 -1
  184. package/dist/lib/eval-resume.js +1 -1
  185. package/dist/lib/eval-run-batch.js +1 -1
  186. package/dist/lib/eval-trigger-tester.js +1 -1
  187. package/dist/lib/evolution-cost.js +1 -1
  188. package/dist/lib/evolution-enrolment.js +1 -1
  189. package/dist/lib/insights/generation/installed-asks.js +1 -1
  190. package/dist/lib/insights/generation/project-evidence.js +1 -0
  191. package/dist/lib/insights/generation/prompts.js +1 -1
  192. package/dist/lib/insights/nomination/nominate.js +1 -1
  193. package/dist/lib/instruction-proposer.js +1 -1
  194. package/dist/lib/instruction-restoration.js +1 -0
  195. package/dist/lib/instructions/acceptance/accept-events.js +1 -1
  196. package/dist/lib/instructions/acceptance/accept-hook.js +1 -1
  197. package/dist/lib/instructions/acceptance/hook-install.js +1 -1
  198. package/dist/lib/instructions/acceptance/reverse-applications.js +1 -1
  199. package/dist/lib/instructions/acceptance/suggestion-accept.js +1 -1
  200. package/dist/lib/jobs/handlers/cron-auto-accept-suggestions.js +1 -1
  201. package/dist/lib/jobs/handlers/cron-eval-autorun.js +1 -1
  202. package/dist/lib/jobs/handlers/cron-instruction-evolution.js +1 -1
  203. package/dist/lib/jobs/handlers/cron-instruction-training.js +1 -1
  204. package/dist/lib/jobs/handlers/cron-reconcile-attribution.js +1 -1
  205. package/dist/lib/jobs/handlers/cron-refine-cases.js +1 -1
  206. package/dist/lib/jobs/handlers/cron-refresh-pricing.js +1 -1
  207. package/dist/lib/jobs/handlers/cron-retire-unused-skills.js +1 -1
  208. package/dist/lib/jobs/handlers/cron-suggest-instructions.js +1 -1
  209. package/dist/lib/jobs/handlers/distill-memories.js +1 -1
  210. package/dist/lib/jobs/handlers/harbor-ab-verdict.js +1 -1
  211. package/dist/lib/jobs/handlers/harbor-ab.js +1 -1
  212. package/dist/lib/jobs/handlers/process-changelog.js +1 -1
  213. package/dist/lib/jobs/handlers/process-conversation.js +1 -1
  214. package/dist/lib/jobs/handlers/process-eval.js +1 -1
  215. package/dist/lib/jobs/handlers/process-insights.js +1 -1
  216. package/dist/lib/jobs/handlers/process-judge-review.js +1 -1
  217. package/dist/lib/jobs/handlers/process-launch.js +1 -1
  218. package/dist/lib/jobs/handlers/process-memory-ab.js +1 -1
  219. package/dist/lib/jobs/handlers/process-run-cleanup.js +1 -1
  220. package/dist/lib/jobs/handlers/process-session-goal.js +1 -1
  221. package/dist/lib/jobs/shed-retry.js +1 -1
  222. package/dist/lib/judge-review-runner.js +1 -1
  223. package/dist/lib/llm-client.js +1 -1
  224. package/dist/lib/manual-tasks.js +1 -1
  225. package/dist/lib/measurement-llm.js +1 -1
  226. package/dist/lib/optimize-compare.js +1 -1
  227. package/dist/lib/refine-cases.js +1 -1
  228. package/dist/lib/research-client.js +1 -1
  229. package/dist/lib/retraction.js +1 -1
  230. package/dist/lib/setup-steps.js +1 -1
  231. package/dist/lib/study-fixture.js +1 -0
  232. package/dist/lib/telemetry.js +1 -1
  233. package/dist/lib/terminal-target-heartbeat.js +1 -1
  234. package/dist/lib/work-report.js +1 -1
  235. package/oclif.manifest.json +1 -1
  236. package/package.json +6 -6
  237. package/dist/chunk-BAITMD76.js +0 -1
  238. package/dist/chunk-DHX4U6EC.js +0 -13
  239. package/dist/chunk-E7GQJML3.js +0 -1
  240. package/dist/chunk-FBSZ6KCM.js +0 -1
  241. package/dist/chunk-POEMCITL.js +0 -1
  242. package/dist/chunk-Q776YUBD.js +0 -1
  243. package/dist/chunk-RAQLVO2X.js +0 -1
  244. package/dist/chunk-SG4UDDHB.js +0 -4
  245. package/dist/chunk-SJKS3PYX.js +0 -109
  246. package/dist/chunk-VBXL7XO7.js +0 -1
@@ -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 +0,0 @@
1
- import{a as z}from"./chunk-5RBLIVBF.js";import{a as L}from"./chunk-7MTYUTUN.js";import{b as A}from"./chunk-OP4U3XBZ.js";import{a as j,c as G}from"./chunk-H6FVXVGG.js";import{f as P}from"./chunk-SWSOEYC7.js";import{a as S}from"./chunk-DVU5PHPM.js";import{a as J,f as T}from"./chunk-FBSZ6KCM.js";import{e as y,f as R,h as f}from"./chunk-76UKAFNM.js";import{a as E}from"./chunk-ZLLER3HP.js";async function X(s,v){let{mirrorId:l,evalTargetId:u}=s,o=s.measurement?{...s.config,...G({...s.config,measurement:s.measurement})}:s.config,a=E(e=>v.logger.info(e),"log"),i=await y(`/api/eval-targets/${u}`),b=await y(`/api/eval-targets/${u}/evals`);if(b.length===0&&o.generateIfEmpty){a("No eval cases on target \u2014 generating from content via local LLM...");let e=await A({content:i.content,name:i.name,...s.measurement?{measurement:s.measurement}:{}});if(e===null)throw new Error("Case generation requires a local LLM backend (Claude or Codex CLI) \u2014 none available on this worker.");let r=[];for(let t of e)r.push(await R(`/api/eval-targets/${u}/evals`,t));b=r,a(`Generated ${r.length} eval case(s)`)}if(b.length===0)throw new z("No evals defined for target");let F=o.runsPerEval??1,_=o.timeout??12e4,I=o.iteration??1,k=new Set;if(v.job.attempts>1)for(let r=0;;r+=100){let t=await y(`/api/eval-targets/${u}/runs?jobId=${l}&limit=100&offset=${r}`);for(let n of t)k.add(`${n.evalId}|${n.configuration}|${n.runNumber}|${n.iteration}`);if(t.length<100)break}let M=[{name:"with_target",content:i.content}];o.skipBaseline||M.push({name:"without_target"});let d=[];for(let e of b)for(let r of M)for(let t=1;t<=F;t++)k.has(`${e.id}|${r.name}|${t}|${I}`)||d.push({eval_:e,configuration:r.name,targetContent:r.content,runNumber:t});k.size>0&&a(`Resuming attempt ${v.job.attempts}: ${k.size} run(s) already persisted, ${d.length} remaining`);let g=d.length,c=0,$=J(o.engine),p=Math.min(o.parallel??1,4);await f(`/api/eval-jobs/${l}/progress`,{status:"running",progress:{total:g,completed:0,current:null,message:`Starting ${g} eval runs (concurrency: ${p})...`}});let h=[];async function x(e){let r=`${e.configuration} \xB7 ${e.eval_.name} \xB7 run#${e.runNumber}`;a(`[${c+1}/${g}] ${r}`);let t=P({targetType:i.type,targetContent:e.targetContent,targetName:i.name,engine:$});t.leakedFiles.length&&a(`\u26A0 CONTAMINATED ${r}: ${t.leakedFiles.join(", ")} survived the strip`);try{let n=await T({prompt:e.eval_.prompt,targetContent:t.systemPrompt,workDir:t.workDir,timeout:_,model:o.model,engine:$}),m={};return!o.skipGrading&&e.eval_.expectations.length>0&&!n.error&&(m=await S({...j({engine:$,model:o.model},{engine:o.graderEngine,model:o.graderModel}),prompt:e.eval_.prompt,output:n.output,expectations:e.eval_.expectations,timeout:_})),{jobId:l,evalId:e.eval_.id,evalTargetId:i.id,evalTargetVersion:i.version,configuration:e.configuration,runNumber:e.runNumber,iteration:I,status:n.error?"failed":"completed",outputs:{...n.error?{error:n.error}:{transcript:n.output,...n.model?{model:n.model}:{}},methodology:t.methodology,delivery:t.delivery,isolated:t.isWorktree,engine:n.engine??$,model:n.model??null,deliveryRegime:`${i.type}:${$}:${t.methodology}`,...s.measurement?{measurement:s.measurement}:{},...n.provider?{provider:n.provider}:{},...n.costUsd!=null?{costUsd:n.costUsd}:{},...t.leakedFiles.length?{leakedFiles:t.leakedFiles}:{}},timing:{duration_ms:n.durationMs,total_tokens:n.totalTokens},grading:m,worktree:t.isWorktree?!0:void 0}}finally{t.cleanup()}}if(E(x,"processItem"),p<=1)for(let e of d){let r=`${e.configuration} \xB7 ${e.eval_.name} \xB7 run#${e.runNumber}`;await f(`/api/eval-jobs/${l}/progress`,{status:"running",progress:{total:g,completed:c,current:r,message:`Executing ${r}...`}});let t=await x(e);await R("/api/eval-runs",t),h.push(t),c++,await f(`/api/eval-jobs/${l}/progress`,{status:"running",progress:{total:g,completed:c,current:r,message:`Completed ${r}`}})}else{a(`Running ${g} evals with concurrency=${p} (worktree isolation)`);for(let e=0;e<d.length;e+=p){let r=d.slice(e,e+p),t=`batch ${Math.floor(e/p)+1}/${Math.ceil(d.length/p)}`;await f(`/api/eval-jobs/${l}/progress`,{status:"running",progress:{total:g,completed:c,current:t,message:`Executing ${t} (${r.length} parallel)...`}});let n=await Promise.all(r.map(x));for(let m of n)await R("/api/eval-runs",m),h.push(m),c++;await f(`/api/eval-jobs/${l}/progress`,{status:"running",progress:{total:g,completed:c,current:t,message:`Completed ${t}`}})}}let N=O(h),w;if(!o.skipGrading&&h.some(e=>e.grading&&Object.keys(e.grading).length>0))try{a(`Running meta-judge for job ${l}...`);let e=b.map(r=>{let n=h.filter(m=>m.evalId===r.id&&m.configuration==="with_target")[0];return{evalName:r.name,prompt:r.prompt,expectations:r.expectations,grading:n?.grading?n.grading:null,output:n?.outputs?.transcript?.slice(0,500)}});w=await L({...j({engine:$,model:o.model},{engine:o.graderEngine,model:o.graderModel}),targetName:i.name,evalResults:e,timeout:6e4}),a(`Meta-judge: quality=${w.quality_score}/5, issues=${w.issues.length}`)}catch(e){a(`Meta-judge failed (non-fatal): ${e instanceof Error?e.message:String(e)}`)}let C=w?{...N,meta_judgement:w}:N;return a(`Job ${l} completed: ${c}/${g} runs`),await f(`/api/eval-jobs/${l}/state`,{result:C}).catch(e=>{a(`result persist failed: ${e instanceof Error?e.message:String(e)}`)}),C}E(X,"processEval");function O(s){let v=s.filter(a=>a.status==="completed"),l=s.filter(a=>a.status==="failed"),u=v.filter(a=>{let i=a.grading;return i&&Object.keys(i).length>0}),o=u.length>0?u.reduce((a,i)=>a+(i.grading?.summary?.pass_rate??0),0)/u.length:null;return{total:s.length,completed:v.length,failed:l.length,avgPassRate:o}}E(O,"buildSummary");export{X as a};
@@ -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};
@@ -1,109 +0,0 @@
1
- import{a}from"./chunk-ZLLER3HP.js";function r(o){let s=o.dismissed.filter(e=>e.label.trim()!==""),n=o.repeated.filter(e=>e.label.trim()!==""),i=(o.installed??[]).filter(e=>e.trim()!=="");if(s.length===0&&n.length===0&&i.length===0)return"";let t=[];return(s.length>0||n.length>0)&&t.push("","## ADVICE YOU HAVE ALREADY GIVEN THIS USER","This is your own prior output for this project. Use it to say something NEW."),s.length>0&&t.push("","DISMISSED by the user \u2014 do NOT propose these again, and do not propose a","reworded version of them. A paraphrase of a dismissed suggestion is still","the dismissed suggestion:",...s.map(e=>`- [${e.category}] ${e.label}`)),n.length>0&&t.push("","ALREADY GENERATED, sometimes repeatedly. Repeat one ONLY if it is still","the single most important finding in the data \u2014 otherwise prefer a new","observation over restating these:",...n.map(e=>`- [${e.category}] ${e.label} (generated ${e.timesGenerated}x)`)),i.length>0&&(t.push("","## ALREADY INSTALLED IN THIS PROJECT'S INSTRUCTION FILES","The agent reads these on every session in this project. They are the","user's own rules, not your suggestions. Do not propose them, and do not","propose a reworded version of one.","","If an idea is PARTLY here, propose only the part that is not \u2014 a block","mixing new asks with restatements is refused whole and its new asks are","lost with it. One ask per proposal is always safe.","",...i.map(e=>`- ${e}`)),(o.installedOmitted??0)>0&&t.push(`- (+${o.installedOmitted} more not shown \u2014 this project has more rules than fit here,`," so treat the list as a sample rather than the full set.)")),t.join(`
2
- `)}a(r,"renderGeneratorMemory");var d=[{name:"project_areas",usesGeneratorMemory:!0,prompt:`Analyze this Claude Code usage data and identify project areas.
3
- RESPOND WITH ONLY A VALID JSON OBJECT:
4
- {
5
- "areas": [
6
- {"name": "Area name", "session_count": N, "description": "2-3 sentences about what was worked on and how Claude Code was used."}
7
- ]
8
- }
9
- Include 4-5 areas. Skip internal CC operations.`,maxTokens:8192},{name:"interaction_style",prompt:`Analyze this Claude Code usage data and describe the user's interaction style.
10
- RESPOND WITH ONLY A VALID JSON OBJECT:
11
- {
12
- "narrative": "2-3 paragraphs analyzing HOW the user interacts with Claude Code. Use second person 'you'. Describe patterns: iterate quickly vs detailed upfront specs? Interrupt often or let Claude run? Include specific examples. Use **bold** for key insights.",
13
- "key_pattern": "One sentence summary of most distinctive interaction style"
14
- }`,maxTokens:8192},{name:"what_works",usesGeneratorMemory:!0,prompt:`Analyze this Claude Code usage data and identify what's working well for this user. Use second person ("you").
15
- RESPOND WITH ONLY A VALID JSON OBJECT:
16
- {
17
- "intro": "1 sentence of context",
18
- "impressive_workflows": [
19
- {"title": "Short title (3-6 words)", "description": "2-3 sentences describing the impressive workflow or approach. Use 'you' not 'the user'."}
20
- ]
21
- }
22
- Include 3 impressive workflows.`,maxTokens:8192},{name:"friction_analysis",usesGeneratorMemory:!0,prompt:`Analyze this Claude Code usage data and identify friction points for this user. Use second person ("you").
23
- RESPOND WITH ONLY A VALID JSON OBJECT:
24
- {
25
- "intro": "1 sentence summarizing friction patterns",
26
- "categories": [
27
- {"category": "Concrete category name", "description": "1-2 sentences explaining this category and what could be done differently. Use 'you' not 'the user'.", "examples": ["Specific example with consequence", "Another example"]}
28
- ]
29
- }
30
- Include 3 friction categories with 2 examples each.`,maxTokens:8192},{name:"suggestions",usesGeneratorMemory:!0,timeoutMs:42e4,prompt:`Analyze this cross-harness coding-agent usage data and suggest the smallest changes that address the evidence.
31
-
32
- Choose the artifact honestly:
33
- - "instruction": durable behavioral guidance for CLAUDE.md / AGENTS.md.
34
- - "skill": a reusable, user-invoked markdown workflow.
35
- - "hook": lifecycle enforcement that runs a command.
36
- - "script": a repeated command chain worth making deterministic.
37
- - "mcp": an external tool, database, or API integration.
38
- - "subagent": a delegated specialist or multi-agent workflow.
39
- - "routine": periodic work or a scheduled check.
40
- - "feature": human-facing advice that does not fit the types above.
41
-
42
- Executable artifacts (hook, script, mcp, subagent, routine) are proposals for human review, never silent installs. Do not translate Codex evidence into Claude-only commands.
43
- Write each proposal ONCE, as one candidate. Do not repeat a proposal in another form.
44
- RESPOND WITH ONLY A VALID JSON OBJECT:
45
- {
46
- "recommendation_candidates": [
47
- {
48
- "title": "Short stable title",
49
- "artifact": "instruction|skill|hook|script|mcp|subagent|routine|feature",
50
- "canonicalBody": "Harness-neutral meaning, or the complete proposed artifact",
51
- "rationale": "Why the evidence supports this change",
52
- "evidence": [{"sessionId": "optional session id", "finding": "Observed behavior"}],
53
- "outcomeMetric": "The outcome or recurrence metric this change should improve"
54
- }
55
- ],
56
- "usage_patterns": [
57
- {"title": "Short title", "suggestion": "1-2 sentence summary", "detail": "3-4 sentences explaining how this applies", "copyable_prompt": "A specific prompt to copy and try"}
58
- ]
59
- }
60
- Include 3-6 candidates. Per-harness renderings are derived from canonicalBody \u2014 do not write them.`,maxTokens:8192},{name:"on_the_horizon",usesGeneratorMemory:!0,timeoutMs:24e4,prompt:`Analyze this Claude Code usage data and identify future opportunities.
61
- RESPOND WITH ONLY A VALID JSON OBJECT:
62
- {
63
- "intro": "1 sentence about evolving AI-assisted development",
64
- "opportunities": [
65
- {"title": "Short title (4-8 words)", "whats_possible": "2-3 ambitious sentences about autonomous workflows", "how_to_try": "1-2 sentences mentioning relevant tooling", "copyable_prompt": "Detailed prompt to try"}
66
- ]
67
- }
68
- Include 3 opportunities. Think BIG - autonomous workflows, parallel agents, iterating against tests.`,maxTokens:8192},{name:"fun_ending",prompt:`Analyze this Claude Code usage data and find a memorable moment.
69
- RESPOND WITH ONLY A VALID JSON OBJECT:
70
- {
71
- "headline": "A memorable QUALITATIVE moment from the transcripts - not a statistic. Something human, funny, or surprising.",
72
- "detail": "Brief context about when/where this happened"
73
- }
74
- Find something genuinely interesting or amusing from the session summaries.`,maxTokens:8192}],l=`You're writing an "At a Glance" summary for a Claude Code usage insights report.
75
- Use this 4-part structure:
76
- 1. **What's working** - What is the user's unique style and what impactful things have they done? Don't be fluffy.
77
- 2. **What's hindering you** - Split into (a) Claude's fault and (b) user-side friction. Be honest but constructive.
78
- 3. **Quick wins to try** - Specific Claude Code features they could try, or a compelling workflow technique.
79
- 4. **Ambitious workflows for better models** - As models improve, what workflows should they prepare for?
80
- Keep each section to 2-3 sentences. Use a coaching tone.
81
- RESPOND WITH ONLY A VALID JSON OBJECT:
82
- {
83
- "whats_working": "(refer to instructions above)",
84
- "whats_hindering": "(refer to instructions above)",
85
- "quick_wins": "(refer to instructions above)",
86
- "ambitious_workflows": "(refer to instructions above)"
87
- }`,c=`Analyze this coding session and produce a structured analysis.
88
- The session is from a non-Claude-Code tool, so analyze the conversation and tool usage patterns.
89
-
90
- RESPOND WITH ONLY A VALID JSON OBJECT:
91
- {
92
- "underlying_goal": "1-2 sentence description of what the user was trying to accomplish",
93
- "goal_categories": {"category": count},
94
- "outcome": "achieved|mostly_achieved|partially_achieved|not_achieved|abandoned",
95
- "session_type": "quick_task|iterative_refinement|exploration|debugging|greenfield",
96
- "friction": {"wrong_approach": 0, "tool_failure": 0, "excessive_changes": 0, "misunderstanding": 0},
97
- "friction_detail": "Brief description of any friction encountered, or empty string",
98
- "primary_success": "Brief description of main achievement, or empty string",
99
- "brief_summary": "2-3 sentence summary of the session"
100
- }
101
-
102
- Goal categories to use: debugging, feature_development, refactoring, testing, documentation, investigation, exploration, code_review, deployment, configuration, end_to_end_testing, logging_documentation, ui_testing.
103
-
104
- Outcome guide:
105
- - achieved: Task completed successfully
106
- - mostly_achieved: Main goal done but minor items remain
107
- - partially_achieved: Some progress but significant work left
108
- - not_achieved: Attempted but failed
109
- - abandoned: User gave up or switched tasks`;export{r as a,d as b,l as c,c as d};
@@ -1 +0,0 @@
1
- import{a as i}from"./chunk-ZLLER3HP.js";var _=1.959963984540054;function F(n,t,e=_){if(t===0)return{lower:0,upper:1};let o=n/t,r=e*e,c=1+r/t,l=(o+r/(2*t))/c,u=e/c*Math.sqrt(o*(1-o)/t+r/(4*t*t));return{lower:Math.max(0,l-u),upper:Math.min(1,l+u)}}i(F,"wilsonInterval");function O(n,t){let e=n,o=t,r=e+o;if(r===0)return{pValue:1,nDiscordant:0};let c=Math.min(e,o),l=Math.pow(.5,r),u=l;for(let s=1;s<=c;s++)l*=(r-s+1)/s,u+=l;return{pValue:Math.min(1,2*u),nDiscordant:r}}i(O,"mcnemarExact");function k(n,t,e=10){return{sufficient:n>=e&&t>=e,minN:e,nWith:n,nWithout:t,shortfall:{with:Math.max(0,e-n),without:Math.max(0,e-t)}}}i(k,"assessSufficiency");function M(n){let t=n>>>0;return()=>{t=t+1831565813|0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296}}i(M,"seededRandom");function T(n,t){let e=n.length;if(e===1)return n[0];let o=(e-1)*t,r=Math.floor(o),c=Math.ceil(o);return r===c?n[r]:n[r]+(o-r)*(n[c]-n[r])}i(T,"sortedQuantile");function L(n,t={}){let e=n.length;if(e===0)return{estimate:0,lower:0,upper:0,iterations:0};let o=t.iterations??1e4,r=t.ciLevel??.95,c=M(t.seed??1),l=n.reduce((a,m)=>a+m,0)/e,u=new Array(o);for(let a=0;a<o;a++){let m=0;for(let h=0;h<e;h++)m+=n[c()*e|0];u[a]=m/e}u.sort((a,m)=>a-m);let s=(1-r)/2;return{estimate:l,lower:T(u,s),upper:T(u,1-s),iterations:o}}i(L,"pairedBootstrapCI");function U(n,t={}){let e=n.filter(d=>d.withScores.length>0&&d.withoutScores.length>0);if(e.length===0)return{estimate:0,lower:0,upper:0,pValue:1,iterations:0};let o=i(d=>d.reduce((p,g)=>p+g,0)/d.length,"mean"),r=e.map(d=>d.withScores.length*d.withoutScores.length/(d.withScores.length+d.withoutScores.length)),c=r.reduce((d,p)=>d+p,0),l=i(d=>d.reduce((p,g,w)=>p+r[w]*g,0)/c,"combine"),u=l(e.map(d=>o(d.withScores)-o(d.withoutScores))),s=t.iterations??1e4,a=t.ciLevel??.95,m=M(t.seed??1),h=new Array(s),b=0,A=0;for(let d=0;d<s;d++){let p=e.map(w=>{let $=0;for(let v=0;v<w.withScores.length;v++)$+=w.withScores[m()*w.withScores.length|0];let y=0;for(let v=0;v<w.withoutScores.length;v++)y+=w.withoutScores[m()*w.withoutScores.length|0];return $/w.withScores.length-y/w.withoutScores.length}),g=l(p);h[d]=g,g<=0&&b++,g>=0&&A++}h.sort((d,p)=>d-p);let S=(1-a)/2;return{estimate:u,lower:T(h,S),upper:T(h,1-S),pValue:Math.min(1,2*Math.min(b,A)/s),iterations:s}}i(U,"stratifiedBootstrapCI");function H(n,t){let e=n.length,o=t.length;if(e===0||o===0)return 0;let r=[...n.map(a=>({t:a,exposed:!0})),...t.map(a=>({t:a,exposed:!1}))].sort((a,m)=>a.t-m.t),c=0,l=0;for(;l<r.length;){let a=l;for(;a+1<r.length&&r[a+1].t===r[l].t;)a++;let m=(l+1+a+1)/2;for(let h=l;h<=a;h++)r[h].exposed&&(c+=m);l=a+1}let s=(c-e*(e+1)/2)/(e*o);return Math.abs(s-.5)}i(H,"cohortTimeSeparation");var C=.35,N=900*1e3;function j(n,t,e=C,o=N){if(n.length===0||t.length===0)return!1;let r=[...n,...t];return Math.max(...r)-Math.min(...r)<o?!1:H(n,t)>e}i(j,"isTimeSeparated");var G=i(n=>n===0||n===1,"isBinary");function J(n,t,e){return n.every(r=>r[t]!=null&&r[e]!=null)?n.reduce((r,c)=>r+(c[t]-c[e]),0)/n.length:null}i(J,"meanPairDelta");function W(n,t={}){let e=t.baseline??"no-rule",o=t.minN??10,r=n.length,c=n.map(d=>d.withScore-d.withoutScore),l=r===0?0:c.reduce((d,p)=>d+p,0)/r,u=L(c,{seed:t.seed,iterations:t.iterations}),s={lower:u.lower,upper:u.upper},a=n.every(d=>G(d.withScore)&&G(d.withoutScore)),m=null;if(a&&r>0){let d=0,p=0;for(let g of n)g.withScore===1&&g.withoutScore===0?d++:g.withScore===0&&g.withoutScore===1&&p++;m=O(d,p).pValue}let{sufficient:h}=k(r,r,o),b=s.lower>0||s.upper<0,S={mode:"controlled",baseline:e,delta:l,ci:s,pValue:m,significant:h&&b,sufficient:h,nWith:r,nWithout:r,costDelta:J(n,"withCost","withoutCost"),latencyDelta:J(n,"withLatency","withoutLatency"),confounded:!1};return h||(S.insufficientReason=`insufficient data: need >= ${o} paired tasks per cohort, have ${r}`),S}i(W,"buildControlledVerdict");var de=2;function z(n,t={}){let e=t.minN??10,o=t.minPerStratum??de,r=t.maxTimeSeparation??C,c=t.minStratumSpanMs??N,l=n.filter(f=>f.withScores.length>=o&&f.withoutScores.length>=o),u=l.filter(f=>f.withTimes!=null&&f.withoutTimes!=null&&j(f.withTimes,f.withoutTimes,r,c)),s=new Set(u.map(f=>f.key)),a=l.filter(f=>!s.has(f.key)),m=n.filter(f=>f.withScores.length>0&&f.withoutScores.length>0&&(f.withScores.length<o||f.withoutScores.length<o)).length,h=a.reduce((f,x)=>f+x.withScores.length,0),b=a.reduce((f,x)=>f+x.withoutScores.length,0),A=U(a,{seed:t.seed,iterations:t.iterations}),S={lower:A.lower,upper:A.upper},d=A.estimate,p=a.length>0&&h>=e&&b>=e,g=a.length>0?A.pValue:null,w=p&&(S.lower>0||S.upper<0),$=n.reduce((f,x)=>f+x.withScores.length+x.withoutScores.length,0),y=$>0?(h+b)/$:0,v={mode:"observational",baseline:t.baseline??"no-rule",delta:d,ci:S,pValue:g,significant:w,sufficient:p,nWith:h,nWithout:b,costDelta:null,latencyDelta:null,confounded:!0,strata:a.length,strataDroppedForTimeSeparation:u.length,coverage:y};if(!p){let f=m>0?` (${m} project(s) had both cohorts but fewer than ${o} sessions in one of them)`:"",x=u.length>0?` ${u.length} project-month(s) held both cohorts but their sessions are separated in time (exposure predicts when a session ran), so the difference within them is a calendar difference, not a treatment effect`:"";v.insufficientReason=a.length===0?u.length>0?`insufficient data: no comparable cohort.${x}${f}`:`insufficient data: no project has >= ${o} exposed AND >= ${o} unexposed sessions to compare within${f}`:`insufficient data: need >= ${e} sessions per cohort across comparable projects, have ${h} exposed / ${b} unexposed${f}${x?`.${x}`:""}`}return v}i(z,"buildStratifiedVerdict");function Q(n){let t=new Map;for(let e of n){let o=t.get(e.stratum);o||(o={key:e.stratum,withScores:[],withoutScores:[],withTimes:[],withoutTimes:[]},t.set(e.stratum,o)),(e.exposed?o.withScores:o.withoutScores).push(e.score),e.time!=null&&(e.exposed?o.withTimes:o.withoutTimes).push(e.time)}for(let e of t.values())(e.withTimes.length!==e.withScores.length||e.withoutTimes.length!==e.withoutScores.length)&&(delete e.withTimes,delete e.withoutTimes);return[...t.values()]}i(Q,"toStrata");var R=.05;function K(n,t={}){let e=t.trialIndex??0,o=t.seed??1,r=t.exposedFraction??.5,c=t.effect??0,l=M(o+e*2),u=n.map(s=>{let a=l()<r;return{stratum:s.stratum,score:a?s.score+c:s.score,exposed:a,time:s.time}});return z(Q(u),{seed:o+e*2+1,iterations:t.iterations??500,minN:t.minN,minPerStratum:t.minPerStratum})}i(K,"runCalibrationTrial");function q(n,t={}){let e=t.trials??200,o=[];for(let r=0;r<e;r++)o.push(K(n,{...t,trialIndex:r}));return D(o,t.effect??0)}i(q,"calibrate");function D(n,t){let e=0,o=0,r=0,c=0;for(let s of n)s.sufficient&&(e++,s.significant&&o++,r+=s.delta,c=Math.max(c,Math.abs(s.delta)));let l=e>0?o/e:0,u=F(o,e,_);return{trials:n.length,evaluated:e,insufficient:n.length-e,significantTrials:o,significantRate:l,significantRateCi:u,meanDelta:e>0?r/e:0,maxAbsDelta:c,alpha:R,effect:t,calibrated:t===0&&e>0&&u.lower<=R&&R<=u.upper}}i(D,"summarizeTrials");function I(n,t={}){return q(n,{...t,effect:0})}i(I,"aaCalibration");function Y(n,t,e={}){return q(n,{...e,effect:t})}i(Y,"powerCheck");var he=.8416212335729143;var te=[{ym:"2026-03",n:122,mean:.287},{ym:"2026-04",n:50,mean:.07},{ym:"2026-05",n:267,mean:.089},{ym:"2026-06",n:61,mean:.201},{ym:"2026-07",n:162,mean:.071}],B=662;function Z(n=2){let t=[];for(let e of te){let o=Math.round(e.n*e.mean);for(let r=0;r<e.n;r++)t.push({stratum:`proj-${r%n}|${e.ym}`,score:r<o?1:0})}if(n===2&&t.length!==B)throw new Error(`realisticCanaryCorpus: expected ${B} sessions, built ${t.length}`);return t}i(Z,"realisticCanaryCorpus");function ne(n=600){return Array.from({length:n},(t,e)=>({stratum:"only",score:e%4===0?1:0}))}i(ne,"flatCanaryCorpus");var oe=50,re=4,P={min:.2,max:.7};function me(n,t){let e=M(t),o=P.max-P.min;return Array.from({length:n},()=>P.min+e()*o)}i(me,"caseDifficulties");function ee(n,t,e){let o=0;for(let r=0;r<t;r++)e()<n&&o++;return o/t}i(ee,"passRate");function ie(n={}){let t=n.trialIndex??0,e=n.seed??1,o=n.cases??oe,r=n.assertions??re,c=n.effect??0,l=me(o,e),u=M(e+t*2),s=l.map(a=>({withScore:ee(a+c,r,u),withoutScore:ee(a,r,u)}));return W(s,{baseline:"prior-version",seed:e+t*2+1,iterations:n.iterations??500,minN:n.minN})}i(ie,"runControlledCalibrationTrial");function X(n={}){let t=n.trials??200,e=[];for(let o=0;o<t;o++)e.push(ie({...n,trialIndex:o}));return D(e,n.effect??0)}i(X,"controlledCalibration");function ae(n={}){return X({...n,effect:0})}i(ae,"controlledAaCalibration");function se(n,t={}){return X({...t,effect:n})}i(se,"controlledPowerCheck");var ce={maxSignificantRate:.15,maxMeanAbsDelta:.02,maxWorstCaseDelta:.15,powerProbeEffect:.2,minPower:.9,minPowerMeanDelta:.15};function E(n,t,e){let o=e.filter(r=>!r.ok).map(r=>r.why);return{name:n,passed:o.length===0,detail:o.length===0?`${n}: ok (rate=${t.significantRate.toFixed(3)}, meanDelta=${t.meanDelta.toFixed(4)}, evaluated=${t.evaluated}/${t.trials})`:`${n}: ${o.join("; ")}`,result:t}}i(E,"check");function pe(n={}){let t=n.trials??200,e=n.powerTrials??200,o=ce,r=[],c=I(ne(),{trials:t,seed:11});r.push(E("aa-flat",c,[{ok:c.calibrated,why:`\u03B1=${R} outside rate CI [${c.significantRateCi.lower.toFixed(3)}, ${c.significantRateCi.upper.toFixed(3)}]`},{ok:c.significantRate<o.maxSignificantRate,why:`false-positive rate ${c.significantRate.toFixed(3)} \u2265 ${o.maxSignificantRate}`},{ok:Math.abs(c.meanDelta)<o.maxMeanAbsDelta,why:`mean delta ${c.meanDelta.toFixed(4)} not centred on zero`}]));let l=I(Z(),{trials:t,seed:23});r.push(E("aa-realistic",l,[{ok:l.calibrated,why:`\u03B1=${R} outside rate CI [${l.significantRateCi.lower.toFixed(3)}, ${l.significantRateCi.upper.toFixed(3)}]`},{ok:l.significantRate<o.maxSignificantRate,why:`false-positive rate ${l.significantRate.toFixed(3)} \u2265 ${o.maxSignificantRate}`},{ok:Math.abs(l.meanDelta)<o.maxMeanAbsDelta,why:`mean delta ${l.meanDelta.toFixed(4)} not centred on zero`},{ok:l.maxAbsDelta<o.maxWorstCaseDelta,why:`worst single-trial delta ${l.maxAbsDelta.toFixed(3)} \u2265 ${o.maxWorstCaseDelta}`}]));let u=Y(Z(),o.powerProbeEffect,{trials:e,seed:5});r.push(E("power-observational",u,[{ok:u.significantRate>o.minPower,why:`detects +${o.powerProbeEffect} only ${u.significantRate.toFixed(3)} of the time`},{ok:u.meanDelta>o.minPowerMeanDelta,why:`measured mean delta ${u.meanDelta.toFixed(3)} understates the injected +${o.powerProbeEffect}`}]));let s=ae({trials:t,seed:31});r.push(E("aa-controlled",s,[{ok:s.calibrated,why:`\u03B1=${R} outside rate CI [${s.significantRateCi.lower.toFixed(3)}, ${s.significantRateCi.upper.toFixed(3)}]`},{ok:s.significantRate<o.maxSignificantRate,why:`false-positive rate ${s.significantRate.toFixed(3)} \u2265 ${o.maxSignificantRate}`},{ok:Math.abs(s.meanDelta)<o.maxMeanAbsDelta,why:`mean delta ${s.meanDelta.toFixed(4)} not centred on zero`}]));let a=se(o.powerProbeEffect,{trials:e,seed:37});r.push(E("power-controlled",a,[{ok:a.significantRate>o.minPower,why:`detects +${o.powerProbeEffect} only ${a.significantRate.toFixed(3)} of the time`}]));let m=r.filter(h=>!h.passed).map(h=>h.detail);return{green:m.length===0,checks:r,failures:m}}i(pe,"runPromotionCanary");var we=3,xe=7;export{_ as a,W as b,he as c,pe as d,we as e,xe as f};