@rulemetric/cli 0.7.31 → 0.7.32
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.
- package/dist/{chunk-A4OIPUKP.js → chunk-3DLVY7LD.js} +1 -1
- package/dist/{chunk-V5IVQS7L.js → chunk-3FJT6LL4.js} +1 -1
- package/dist/{chunk-UUMW6X2W.js → chunk-3VYV6ZYB.js} +1 -1
- package/dist/{chunk-DUP232AH.js → chunk-5W55CRBJ.js} +1 -1
- package/dist/{chunk-MDPN46EY.js → chunk-6QKI756T.js} +1 -1
- package/dist/{chunk-KAWNGQS2.js → chunk-7AZKPX2J.js} +1 -1
- package/dist/{chunk-YSOT3ITX.js → chunk-7W6KET2A.js} +1 -1
- package/dist/{chunk-ULRVMH7O.js → chunk-AIEM6VXO.js} +1 -1
- package/dist/{chunk-ZW5TAV3L.js → chunk-BSJBNOJT.js} +1 -1
- package/dist/{chunk-PRDYXO6Z.js → chunk-BZUIMHHT.js} +2 -2
- package/dist/{chunk-QAMTNSL4.js → chunk-DAGDGAPU.js} +1 -1
- package/dist/chunk-DTMLVFNM.js +1 -0
- package/dist/{chunk-XA4KSQEC.js → chunk-G6XGDHGC.js} +1 -1
- package/dist/chunk-JEBHSV2M.js +5 -0
- package/dist/chunk-JGYCLDYF.js +1 -0
- package/dist/chunk-JR4CWY3J.js +1 -0
- package/dist/{chunk-MSTF7A7D.js → chunk-L5ORQB25.js} +1 -1
- package/dist/{chunk-SKULIA45.js → chunk-LETTPEG4.js} +1 -1
- package/dist/{chunk-T4P2NV3P.js → chunk-LEXVC7VH.js} +1 -1
- package/dist/chunk-MODFTCZY.js +6 -0
- package/dist/{chunk-3BVHPQZW.js → chunk-OPUI7CM2.js} +1 -1
- package/dist/{chunk-WJA34DI7.js → chunk-OVZZUI33.js} +1 -1
- package/dist/{chunk-HL755A5U.js → chunk-OZQV5CDT.js} +1 -1
- package/dist/chunk-Q76LGSIU.js +24 -0
- package/dist/{chunk-C7L7HKVW.js → chunk-QH7PCQHM.js} +1 -1
- package/dist/{chunk-DO3KHK2X.js → chunk-UR6GZGFK.js} +1 -1
- package/dist/{chunk-K25S2MGU.js → chunk-V5MJ4ICC.js} +1 -1
- package/dist/{chunk-BUWWFHGO.js → chunk-W2MOTOQE.js} +1 -1
- package/dist/{chunk-EA4ZLBKI.js → chunk-WEF5LPGS.js} +1 -1
- package/dist/chunk-WKXTY5AM.js +1 -0
- package/dist/{chunk-OSIP6FUD.js → chunk-ZAWAPLIE.js} +1 -1
- package/dist/chunk-ZERPMWRT.js +8 -0
- package/dist/{chunk-QQ2UPNBC.js → chunk-ZWKKFAIX.js} +1 -1
- package/dist/commands/diagnostics.js +1 -1
- package/dist/commands/evals/agent.js +1 -1
- package/dist/commands/evals/auto-run.js +1 -1
- package/dist/commands/evals/benchmark.js +1 -1
- package/dist/commands/evals/optimize.js +1 -1
- package/dist/commands/evals/refine-cases.js +1 -1
- package/dist/commands/evals/run.js +1 -1
- package/dist/commands/evals/validate-judge.js +1 -1
- package/dist/commands/sessions/list.js +1 -1
- package/dist/commands/setup.js +1 -1
- package/dist/dashboard/Dashboard.js +1 -1
- package/dist/dashboard/data.js +1 -1
- package/dist/{dist-BC6GMBXV.js → dist-FAVALJ5C.js} +1 -1
- package/dist/lib/agent-loop.js +1 -1
- package/dist/lib/codex-exec.js +1 -1
- package/dist/lib/eval-benchmark.js +1 -1
- package/dist/lib/eval-candidate-run.js +1 -0
- package/dist/lib/eval-case-generator.js +1 -1
- package/dist/lib/eval-conversation-handler.js +1 -1
- package/dist/lib/eval-grader.js +1 -1
- package/dist/lib/eval-run-batch.js +1 -1
- package/dist/lib/handlers/cron-eval-autorun.js +1 -1
- package/dist/lib/handlers/cron-instruction-evolution.js +1 -0
- package/dist/lib/handlers/cron-refresh-pricing.js +1 -1
- package/dist/lib/handlers/cron-suggest-instructions.js +1 -1
- package/dist/lib/handlers/distill-memories.js +1 -1
- package/dist/lib/handlers/process-announcement.js +1 -1
- package/dist/lib/handlers/process-changelog.js +1 -1
- package/dist/lib/handlers/process-conversation.js +1 -1
- package/dist/lib/handlers/process-eval.js +1 -1
- package/dist/lib/handlers/process-insights.js +1 -1
- package/dist/lib/handlers/process-judge-review.js +1 -1
- package/dist/lib/handlers/process-launch.js +1 -1
- package/dist/lib/handlers/process-memory-ab.js +1 -1
- package/dist/lib/handlers/process-run-cleanup.js +1 -1
- package/dist/lib/handlers/process-session-goal.js +1 -1
- package/dist/lib/instruction-proposer.js +1 -0
- package/dist/lib/judge-review-runner.js +1 -1
- package/dist/lib/llm-client.js +1 -1
- package/dist/lib/manual-tasks.js +1 -1
- package/dist/lib/optimize-compare.js +1 -1
- package/dist/lib/reviewer-detect.js +1 -1
- package/dist/lib/setup-steps.js +1 -1
- package/dist/lib/worktree.js +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +7 -7
- package/dist/chunk-63FTASVC.js +0 -1
- package/dist/chunk-IDWL4XOV.js +0 -5
- package/dist/chunk-IYVMSRW7.js +0 -24
- package/dist/chunk-L7K4M3GW.js +0 -1
- package/dist/chunk-SMGSLY5N.js +0 -7
- /package/dist/{chunk-5DIOZDDZ.js → chunk-7DFNBRLY.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as p,c as Er}from"./chunk-ZLLER3HP.js";import{boolean as So,pgTable as br,text as Ze,timestamp as Ct,uuid as Ko}from"drizzle-orm/pg-core";import{pgTable as Xe,text as re,timestamp as De,jsonb as Eo,uuid as $,primaryKey as bo}from"drizzle-orm/pg-core";var u=Xe("organizations",{id:$("id").primaryKey().defaultRandom(),name:re("name").unique().notNull(),slug:re("slug").unique().notNull(),metadata:Eo("metadata"),createdAt:De("created_at",{withTimezone:!0}).defaultNow(),updatedAt:De("updated_at",{withTimezone:!0}).defaultNow()}),h=Xe("teams",{id:$("id").primaryKey().defaultRandom(),orgId:$("org_id").references(()=>u.id,{onDelete:"cascade"}),name:re("name").notNull(),slug:re("slug").notNull(),metadata:Eo("metadata"),createdAt:De("created_at",{withTimezone:!0}).defaultNow()}),se=Xe("user_organizations",{userId:$("user_id").notNull(),orgId:$("org_id").references(()=>u.id,{onDelete:"cascade"}).notNull(),role:re("role").notNull().default("member"),createdAt:De("created_at",{withTimezone:!0}).defaultNow()},e=>[bo({columns:[e.userId,e.orgId]})]),ie=Xe("user_teams",{userId:$("user_id").notNull(),teamId:$("team_id").references(()=>h.id,{onDelete:"cascade"}).notNull(),role:re("role").notNull().default("member"),createdAt:De("created_at",{withTimezone:!0}).defaultNow()},e=>[bo({columns:[e.userId,e.teamId]})]);var o=br("profiles",{id:Ko("id").primaryKey(),email:Ze("email"),displayName:Ze("display_name"),activeOrgId:Ko("active_org_id").references(()=>u.id,{onDelete:"set null"}),isSuperadmin:So("is_superadmin").notNull().default(!1),claudeCodePlan:Ze("claude_code_plan"),planSource:Ze("plan_source").notNull().default("detected"),setupCompletedAt:Ct("setup_completed_at",{withTimezone:!0}),liveSendSkipped:So("live_send_skipped").notNull().default(!1),createdAt:Ct("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Ct("updated_at",{withTimezone:!0}).defaultNow()});import{pgTable as Or,text as de,timestamp as Lt,jsonb as qo,uuid as nt,integer as qr,boolean as Mr,index as Bt}from"drizzle-orm/pg-core";import{boolean as Kr,jsonb as Pr,pgTable as Mt,primaryKey as Co,text as Q,timestamp as Re,uniqueIndex as qt,uuid as W}from"drizzle-orm/pg-core";import{sql as Cr}from"drizzle-orm";import{pgTable as Ot,text as x,timestamp as L,jsonb as et,uuid as D,integer as tt,boolean as Sr,uniqueIndex as ot,index as je}from"drizzle-orm/pg-core";var r=Ot("instructions",{id:D("id").primaryKey().defaultRandom(),name:x("name").notNull(),description:x("description").notNull(),type:x("type").notNull().default("instruction"),scope:x("scope").notNull(),scopeRef:D("scope_ref"),version:x("version").notNull(),content:x("content").notNull(),frontmatter:et("frontmatter").notNull(),slots:et("slots"),tags:x("tags").array(),compatibility:x("compatibility").array(),createdBy:D("created_by"),createdAt:L("created_at",{withTimezone:!0}).defaultNow(),updatedAt:L("updated_at",{withTimezone:!0}).defaultNow(),archived:Sr("archived").default(!1),archivedAt:L("archived_at",{withTimezone:!0}),archivedBy:D("archived_by"),forkedFromId:D("forked_from_id").references(()=>r.id,{onDelete:"set null"}),upstreamVersion:x("upstream_version"),badge:x("badge"),contentHash:x("content_hash"),contextIdentity:x("context_identity"),scanScore:tt("scan_score"),scanFindings:et("scan_findings"),popularityScore:tt("popularity_score"),sourceUpdatedAt:L("source_updated_at",{withTimezone:!0})},e=>[ot("instructions_name_scope_ref_idx").on(e.name,e.scope,e.scopeRef),je("idx_instructions_scope").on(e.scope,e.scopeRef),je("idx_instructions_created_by").on(e.createdBy),je("idx_instructions_context_identity").on(e.createdBy,e.contextIdentity),je("idx_instructions_public_recency").on(e.scope,e.sourceUpdatedAt.desc())]),Po=Ot("instruction_version_identities",{id:D("id").primaryKey().defaultRandom(),instructionId:D("instruction_id").notNull().references(()=>r.id,{onDelete:"cascade"}),contentHash:x("content_hash").notNull(),versionOrdinal:tt("version_ordinal").notNull(),content:x("content"),firstSeenAt:L("first_seen_at",{withTimezone:!0}).notNull().defaultNow(),lastSeenAt:L("last_seen_at",{withTimezone:!0}).notNull().defaultNow(),createdAt:L("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[ot("instruction_version_identities_hash_unique").on(e.instructionId,e.contentHash),ot("instruction_version_identities_ordinal_unique").on(e.instructionId,e.versionOrdinal),je("idx_ivi_instruction").on(e.instructionId)]),ae=Ot("instruction_versions",{id:D("id").primaryKey().defaultRandom(),instructionId:D("instruction_id").references(()=>r.id,{onDelete:"cascade"}),versionNumber:tt("version_number").notNull(),content:x("content").notNull(),frontmatter:et("frontmatter").notNull(),changeSummary:x("change_summary"),createdBy:D("created_by"),createdAt:L("created_at",{withTimezone:!0}).defaultNow()},e=>[ot("instruction_versions_instruction_version_idx").on(e.instructionId,e.versionNumber)]);var s=Mt("projects",{id:W("id").primaryKey().defaultRandom(),orgId:W("org_id").references(()=>u.id,{onDelete:"cascade"}),name:Q("name").notNull(),description:Q("description"),githubRepo:Q("github_repo"),gitRemoteUrl:Q("git_remote_url"),gitRootCommit:Q("git_root_commit"),gitRemoteAliases:Q("git_remote_aliases").array().notNull().default([]),metadata:Pr("metadata"),createdBy:W("created_by"),createdAt:Re("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Re("updated_at",{withTimezone:!0}).defaultNow()},e=>[qt("projects_org_name_idx").on(e.orgId,e.name),qt("projects_git_remote_url_unique").on(e.gitRemoteUrl).where(Cr`${e.gitRemoteUrl} IS NOT NULL`)]),B=Mt("project_instructions",{projectId:W("project_id").references(()=>s.id,{onDelete:"cascade"}).notNull(),instructionId:W("instruction_id").references(()=>r.id,{onDelete:"cascade"}).notNull(),addedAt:Re("added_at",{withTimezone:!0}).defaultNow(),addedBy:W("added_by")},e=>[Co({columns:[e.projectId,e.instructionId]})]),Oo=Mt("project_checkouts",{projectId:W("project_id").references(()=>s.id,{onDelete:"cascade"}).notNull(),path:Q("path").notNull(),isWorktree:Kr("is_worktree").notNull().default(!1),firstSeen:Re("first_seen",{withTimezone:!0}).notNull().defaultNow(),lastSeen:Re("last_seen",{withTimezone:!0}).notNull().defaultNow()},e=>[Co({columns:[e.projectId,e.path]}),qt("project_checkouts_path_unique").on(e.path)]);var g=Or("agent_runs",{id:nt("id").primaryKey().defaultRandom(),userId:nt("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),orgId:nt("org_id").references(()=>u.id,{onDelete:"set null"}),projectId:nt("project_id").references(()=>s.id,{onDelete:"set null"}),projectPath:de("project_path"),gitRemote:de("git_remote"),baseBranch:de("base_branch"),title:de("title"),prompt:de("prompt"),toolSpec:qo("tool_spec").notNull().default([]),autoWorktree:Mr("auto_worktree").notNull().default(!0),status:de("status").notNull().default("pending"),sessionCount:qr("session_count").notNull().default(0),metadata:qo("metadata").notNull().default({}),createdAt:Lt("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:Lt("updated_at",{withTimezone:!0}).notNull().defaultNow(),completedAt:Lt("completed_at",{withTimezone:!0})},e=>[Bt("idx_agent_runs_user").on(e.userId),Bt("idx_agent_runs_org_created").on(e.orgId,e.createdAt),Bt("idx_agent_runs_project").on(e.projectId)]);import{pgTable as Ht,text as I,timestamp as ke,jsonb as X,uuid as E,integer as rt,uniqueIndex as Mo,index as j}from"drizzle-orm/pg-core";var d=Ht("sessions",{id:E("id").primaryKey().defaultRandom(),userId:E("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),externalSessionId:I("external_session_id"),projectId:E("project_id").references(()=>s.id,{onDelete:"set null"}),orgId:E("org_id").references(()=>u.id,{onDelete:"set null"}),tool:I("tool").notNull(),projectPath:I("project_path"),gitBranch:I("git_branch"),startedAt:ke("started_at",{withTimezone:!0}).notNull(),endedAt:ke("ended_at",{withTimezone:!0}),eventCount:rt("event_count").default(0),tokenUsage:X("token_usage"),analysis:X("analysis"),analyzedAt:ke("analyzed_at",{withTimezone:!0}),analyzedEventCount:rt("analyzed_event_count"),analyzedTurnCount:rt("analyzed_turn_count"),metadata:X("metadata").default({}),origin:I("origin").notNull().default("unknown"),runId:E("run_id").references(()=>g.id,{onDelete:"set null"}),model:I("model"),harnessVersion:I("harness_version"),createdAt:ke("created_at",{withTimezone:!0}).defaultNow()},e=>[j("idx_sessions_user").on(e.userId),j("idx_sessions_tool").on(e.tool),j("idx_sessions_started_at").on(e.startedAt),j("idx_sessions_project").on(e.projectId),j("idx_sessions_org_started_at").on(e.orgId,e.startedAt),j("idx_sessions_run").on(e.runId),Mo("idx_sessions_user_external").on(e.userId,e.externalSessionId)]),ue=Ht("session_events",{id:E("id").primaryKey().defaultRandom(),sessionId:E("session_id").notNull().references(()=>d.id,{onDelete:"cascade"}),sequence:rt("sequence").notNull(),eventType:I("event_type").notNull(),content:I("content"),toolName:I("tool_name"),toolInput:X("tool_input"),toolOutput:X("tool_output"),tokenUsage:X("token_usage"),model:I("model"),timestamp:ke("timestamp",{withTimezone:!0}).notNull(),metadata:X("metadata").default({})},e=>[Mo("session_events_session_sequence_idx").on(e.sessionId,e.sequence),j("idx_session_events_session_id").on(e.sessionId),j("idx_session_events_event_type").on(e.eventType),j("idx_session_events_model").on(e.model)]),H=Ht("session_instructions",{sessionId:E("session_id").notNull().references(()=>d.id,{onDelete:"cascade"}),instructionId:E("instruction_id").notNull().references(()=>r.id,{onDelete:"cascade"}),linkMethod:I("link_method").notNull(),contentHash:I("content_hash")},e=>[j("idx_session_instructions_instruction_id").on(e.instructionId)]);import{pgTable as Lr,text as le,timestamp as Ut,uuid as Ee,integer as Lo,index as st}from"drizzle-orm/pg-core";var T=Lr("memories",{id:Ee("id").primaryKey().defaultRandom(),userId:Ee("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),orgId:Ee("org_id"),projectId:Ee("project_id").references(()=>s.id,{onDelete:"set null"}),version:Lo("version").notNull().default(1),parentId:Ee("parent_id").references(()=>T.id,{onDelete:"set null"}),kind:le("kind").notNull(),title:le("title").notNull(),body:le("body").notNull(),source:le("source").notNull(),status:le("status").notNull().default("active"),trustClass:le("trust_class"),trustVersion:Lo("trust_version"),trustComputedAt:Ut("trust_computed_at",{withTimezone:!0}),createdAt:Ut("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:Ut("updated_at",{withTimezone:!0}).notNull().defaultNow()},e=>[st("idx_memories_user").on(e.userId),st("idx_memories_project").on(e.projectId),st("idx_memories_parent").on(e.parentId),st("idx_memories_user_status").on(e.userId,e.status)]);import{pgTable as Br,text as be,timestamp as Vt,uuid as Ft,integer as Bo,jsonb as Hr,index as Ho}from"drizzle-orm/pg-core";var Uo=Br("memory_experiments",{id:Ft("id").primaryKey().defaultRandom(),memoryId:Ft("memory_id").notNull().references(()=>T.id,{onDelete:"cascade"}),userId:Ft("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),memoryVersion:Bo("memory_version").notNull().default(1),taskPrompt:be("task_prompt").notNull(),expectations:be("expectations").array().notNull().default([]),trials:Bo("trials").notNull().default(10),model:be("model"),status:be("status").notNull().default("pending"),result:Hr("result").$type(),error:be("error"),createdAt:Vt("created_at",{withTimezone:!0}).notNull().defaultNow(),startedAt:Vt("started_at",{withTimezone:!0}),completedAt:Vt("completed_at",{withTimezone:!0})},e=>[Ho("idx_memory_experiments_memory").on(e.memoryId),Ho("idx_memory_experiments_user").on(e.userId)]);import{boolean as Ur,date as Vr,index as Gt,integer as Fr,jsonb as Gr,pgTable as Jt,text as A,timestamp as U,uniqueIndex as Jr,uuid as ce}from"drizzle-orm/pg-core";var Vo=Jt("announcements",{id:ce("id").primaryKey().defaultRandom(),version:A("version").notNull().unique(),releaseDate:Vr("release_date").notNull(),subject:A("subject").notNull(),htmlBody:A("html_body").notNull(),textBody:A("text_body").notNull(),sections:Gr("sections").notNull().default({}),status:A("status").notNull().default("draft"),recipientCount:Fr("recipient_count"),sentAt:U("sent_at",{withTimezone:!0}),sentBy:ce("sent_by"),error:A("error"),createdAt:U("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:U("updated_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Gt("idx_announcements_status").on(e.status),Gt("idx_announcements_created").on(e.createdAt)]),Fo=Jt("announcement_deliveries",{id:ce("id").primaryKey().defaultRandom(),announcementId:ce("announcement_id").notNull(),userId:ce("user_id").notNull(),email:A("email").notNull(),status:A("status").notNull().default("pending"),providerId:A("provider_id"),error:A("error"),sentAt:U("sent_at",{withTimezone:!0}),createdAt:U("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Jr("uniq_announcement_deliveries_announcement_user").on(e.announcementId,e.userId),Gt("idx_announcement_deliveries_user").on(e.userId,e.createdAt)]),Go=Jt("notification_preferences",{userId:ce("user_id").primaryKey(),productAnnouncements:Ur("product_announcements").notNull().default(!0),unsubscribeToken:A("unsubscribe_token").notNull().unique(),unsubscribedAt:U("unsubscribed_at",{withTimezone:!0}),createdAt:U("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:U("updated_at",{withTimezone:!0}).notNull().defaultNow()});import{pgTable as Yr,text as Yt,timestamp as it,uuid as at,index as Jo}from"drizzle-orm/pg-core";var b=Yr("org_invitations",{id:at("id").primaryKey().defaultRandom(),orgId:at("org_id").notNull().references(()=>u.id,{onDelete:"cascade"}),email:Yt("email").notNull(),role:Yt("role").notNull().default("member"),teamId:at("team_id").references(()=>h.id,{onDelete:"set null"}),invitedBy:at("invited_by").notNull().references(()=>o.id),token:Yt("token").notNull().unique(),expiresAt:it("expires_at",{withTimezone:!0}).notNull(),acceptedAt:it("accepted_at",{withTimezone:!0}),revokedAt:it("revoked_at",{withTimezone:!0}),createdAt:it("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Jo("idx_org_invitations_token").on(e.token),Jo("idx_org_invitations_org").on(e.orgId)]);import{pgTable as $r,text as Qr,timestamp as Wr,jsonb as Xr,uuid as $t,index as Yo}from"drizzle-orm/pg-core";var me=$r("instruction_events",{id:$t("id").primaryKey().defaultRandom(),instructionId:$t("instruction_id").notNull().references(()=>r.id,{onDelete:"cascade"}),eventType:Qr("event_type").notNull(),actorId:$t("actor_id").notNull(),metadata:Xr("metadata"),createdAt:Wr("created_at",{withTimezone:!0}).defaultNow()},e=>[Yo("idx_instruction_events_instruction").on(e.instructionId),Yo("idx_instruction_events_type").on(e.eventType)]);import{pgTable as $o,text as dt,timestamp as Qo,uuid as R,integer as Wo,index as _e,unique as Zr}from"drizzle-orm/pg-core";var S=$o("treatment_assignments",{id:R("id").primaryKey().defaultRandom(),userId:R("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),treatmentType:dt("treatment_type").notNull(),treatmentId:R("treatment_id").notNull(),treatmentVersion:Wo("treatment_version").notNull().default(1),projectId:R("project_id").references(()=>s.id,{onDelete:"set null"}),assignedBy:R("assigned_by").references(()=>o.id,{onDelete:"set null"}),method:dt("method").notNull(),assignedAt:Qo("assigned_at",{withTimezone:!0}).notNull().defaultNow()},e=>[_e("idx_treatment_assignments_user").on(e.userId),_e("idx_treatment_assignments_treatment").on(e.treatmentType,e.treatmentId),_e("idx_treatment_assignments_project").on(e.projectId)]),K=$o("treatment_exposures",{id:R("id").primaryKey().defaultRandom(),sessionId:R("session_id").notNull().references(()=>d.id,{onDelete:"cascade"}),userId:R("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),treatmentType:dt("treatment_type").notNull(),treatmentId:R("treatment_id").notNull(),treatmentVersion:Wo("treatment_version").notNull().default(1),assignmentId:R("assignment_id").references(()=>S.id,{onDelete:"set null"}),method:dt("method").notNull(),exposedAt:Qo("exposed_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Zr("treatment_exposures_unique").on(e.sessionId,e.treatmentType,e.treatmentId,e.treatmentVersion),_e("idx_treatment_exposures_treatment").on(e.treatmentType,e.treatmentId),_e("idx_treatment_exposures_user").on(e.userId),_e("idx_treatment_exposures_session").on(e.sessionId)]);import{pgTable as es,text as Qt,timestamp as ts,uuid as ut,integer as os,index as Xo,uniqueIndex as ns}from"drizzle-orm/pg-core";var Zo=es("pending_treatment_exposures",{id:ut("id").primaryKey().defaultRandom(),userId:ut("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),externalSessionId:Qt("external_session_id").notNull(),treatmentType:Qt("treatment_type").notNull(),treatmentId:ut("treatment_id").notNull(),treatmentVersion:os("treatment_version").notNull().default(1),method:Qt("method").notNull().default("injected"),projectId:ut("project_id").references(()=>s.id,{onDelete:"set null"}),createdAt:ts("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[ns("pending_treatment_exposures_unique").on(e.externalSessionId,e.treatmentType,e.treatmentId,e.treatmentVersion),Xo("idx_pending_treatment_exposures_ext").on(e.externalSessionId),Xo("idx_pending_treatment_exposures_user").on(e.userId)]);import{pgTable as rs,text as pe,timestamp as Wt,uuid as Xt,jsonb as ss,uniqueIndex as is,index as en}from"drizzle-orm/pg-core";var lt=rs("session_terminal_targets",{id:Xt("id").primaryKey().defaultRandom(),userId:Xt("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),sessionId:Xt("session_id").references(()=>d.id,{onDelete:"set null"}),externalSessionId:pe("external_session_id"),kind:pe("kind").notNull(),target:pe("target").notNull(),status:pe("status").notNull().default("active"),attachCommand:pe("attach_command").notNull(),projectPath:pe("project_path"),metadata:ss("metadata").notNull().default({}),lastSeenAt:Wt("last_seen_at",{withTimezone:!0}).defaultNow(),createdAt:Wt("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Wt("updated_at",{withTimezone:!0}).defaultNow()},e=>[is("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 as,index as ct,jsonb as tn,pgTable as ds,text as Z,timestamp as Se,uuid as mt,integer as us}from"drizzle-orm/pg-core";var on=ds("session_send_jobs",{id:mt("id").primaryKey().defaultRandom(),userId:mt("user_id").notNull(),sessionId:mt("session_id").notNull().references(()=>d.id,{onDelete:"cascade"}),terminalTargetId:mt("terminal_target_id").references(()=>lt.id,{onDelete:"set null"}),target:Z("target").notNull(),message:Z("message").notNull(),submit:as("submit").notNull().default(!0),delivery:Z("delivery").notNull().default("live"),status:Z("status").notNull().default("pending"),result:tn("result"),error:Z("error"),attempts:us("attempts").notNull().default(0),taskKind:Z("task_kind"),payload:tn("payload"),claimedBy:Z("claimed_by"),claimedAt:Se("claimed_at",{withTimezone:!0}),leaseExpiresAt:Se("lease_expires_at",{withTimezone:!0}),createdAt:Se("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Se("updated_at",{withTimezone:!0}).defaultNow(),completedAt:Se("completed_at",{withTimezone:!0})},e=>[ct("idx_session_send_jobs_user").on(e.userId),ct("idx_session_send_jobs_session").on(e.sessionId),ct("idx_session_send_jobs_status").on(e.status),ct("idx_session_send_jobs_pending").on(e.userId,e.status)]);import{pgTable as rn,text as ee,timestamp as _t,jsonb as sn,uuid as V,integer as ls,boolean as cs,uniqueIndex as ms,index as nn,primaryKey as _s}from"drizzle-orm/pg-core";var z=rn("packs",{id:V("id").primaryKey().defaultRandom(),name:ee("name").notNull(),description:ee("description").notNull(),scope:ee("scope").notNull(),scopeRef:V("scope_ref"),version:ee("version").notNull().default("1.0.0"),tags:ee("tags").array(),badge:ee("badge"),metadata:sn("metadata"),createdBy:V("created_by"),createdAt:_t("created_at",{withTimezone:!0}).defaultNow(),updatedAt:_t("updated_at",{withTimezone:!0}).defaultNow(),archived:cs("archived").default(!1),archivedAt:_t("archived_at",{withTimezone:!0}),archivedBy:V("archived_by"),forkedFromId:V("forked_from_id").references(()=>z.id,{onDelete:"set null"}),upstreamVersion:ee("upstream_version")},e=>[ms("packs_name_scope_ref_idx").on(e.name,e.scope,e.scopeRef),nn("idx_packs_scope").on(e.scope,e.scopeRef),nn("idx_packs_created_by").on(e.createdBy)]),F=rn("pack_instructions",{packId:V("pack_id").references(()=>z.id,{onDelete:"cascade"}).notNull(),instructionId:V("instruction_id").references(()=>r.id,{onDelete:"cascade"}).notNull(),position:ls("position").notNull().default(0),slotOverrides:sn("slot_overrides"),addedAt:_t("added_at",{withTimezone:!0}).defaultNow(),addedBy:V("added_by")},e=>[_s({columns:[e.packId,e.instructionId]})]);import{pgTable as ps,text as Zt,timestamp as fs,jsonb as xs,uuid as eo,index as fe}from"drizzle-orm/pg-core";var xe=ps("instruction_usage_events",{id:eo("id").primaryKey().defaultRandom(),instructionId:eo("instruction_id").references(()=>r.id,{onDelete:"set null"}),userId:eo("user_id").notNull(),surface:Zt("surface").notNull(),action:Zt("action").notNull(),metadata:xs("metadata"),traceId:Zt("trace_id"),createdAt:fs("created_at",{withTimezone:!0}).defaultNow()},e=>[fe("idx_usage_events_instruction").on(e.instructionId),fe("idx_usage_events_user").on(e.userId),fe("idx_usage_events_surface").on(e.surface),fe("idx_usage_events_action").on(e.action),fe("idx_usage_events_created_at").on(e.createdAt),fe("idx_usage_events_user_created").on(e.userId,e.createdAt)]);import{pgTable as Ns,text as pt,timestamp as an,jsonb as gs,uuid as dn,index as to}from"drizzle-orm/pg-core";var un=Ns("worker_connections",{id:dn("id").primaryKey().defaultRandom(),userId:dn("user_id").notNull(),workerType:pt("worker_type").notNull().default("mcp"),clientName:pt("client_name").notNull(),clientVersion:pt("client_version"),workerVersion:pt("worker_version"),lastHeartbeat:an("last_heartbeat",{withTimezone:!0}).notNull().defaultNow(),connectedAt:an("connected_at",{withTimezone:!0}).notNull().defaultNow(),metadata:gs("metadata")},e=>[to("idx_worker_connections_user").on(e.userId),to("idx_worker_connections_heartbeat").on(e.userId,e.lastHeartbeat),to("idx_worker_connections_type").on(e.userId,e.workerType)]);import{pgTable as vs,text as ft,timestamp as hs,jsonb as Is,uuid as ln,index as cn}from"drizzle-orm/pg-core";var mn=vs("cli_setup_events",{id:ln("id").primaryKey().defaultRandom(),userId:ln("user_id").notNull(),deviceId:ft("device_id").notNull(),event:ft("event").notNull(),cliVersion:ft("cli_version"),os:ft("os"),props:Is("props").notNull().default({}),createdAt:hs("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[cn("idx_cli_setup_events_user").on(e.userId,e.createdAt),cn("idx_cli_setup_events_device").on(e.deviceId,e.createdAt)]);import{pgTable as ys,text as te,integer as Ts,boolean as ws,timestamp as As,jsonb as zs,uuid as Ds,index as _n}from"drizzle-orm/pg-core";var pn=ys("cli_error_events",{id:Ds("id").primaryKey().defaultRandom(),deviceId:te("device_id"),event:te("event").notNull(),command:te("command"),statusCode:Ts("status_code"),message:te("message"),cliVersion:te("cli_version"),os:te("os"),nodeVersion:te("node_version"),proxied:ws("proxied"),props:zs("props").notNull().default({}),createdAt:As("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[_n("idx_cli_error_events_created").on(e.createdAt),_n("idx_cli_error_events_device").on(e.deviceId,e.createdAt)]);import{sql as js}from"drizzle-orm";import{pgTable as oe,text as m,timestamp as v,jsonb as w,uuid as c,integer as P,boolean as Ke,index as N,unique as fn}from"drizzle-orm/pg-core";var n=oe("eval_targets",{id:c("id").primaryKey().defaultRandom(),userId:c("user_id").notNull(),name:m("name").notNull(),type:m("type").notNull(),content:m("content").notNull(),description:m("description").notNull().default(""),metadata:w("metadata").notNull().default({}),version:P("version").notNull().default(1),parentId:c("parent_id").references(()=>n.id,{onDelete:"set null"}),createdAt:v("created_at",{withTimezone:!0}).defaultNow(),updatedAt:v("updated_at",{withTimezone:!0}).defaultNow()},e=>[N("eval_targets_name_user_idx").on(e.name,e.userId),N("idx_eval_targets_user").on(e.userId),N("idx_eval_targets_type").on(e.type),N("idx_eval_targets_parent").on(e.parentId)]),C=oe("evals",{id:c("id").primaryKey().defaultRandom(),evalTargetId:c("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),name:m("name").notNull(),prompt:m("prompt").notNull(),expectedOutput:m("expected_output").notNull().default(""),files:w("files").notNull().default([]),expectations:w("expectations").notNull().default([]),retiredAt:v("retired_at",{withTimezone:!0}),retiredReason:m("retired_reason"),createdAt:v("created_at",{withTimezone:!0}).defaultNow(),updatedAt:v("updated_at",{withTimezone:!0}).defaultNow(),contentUpdatedAt:v("content_updated_at",{withTimezone:!0}).notNull().defaultNow()},e=>[N("idx_evals_target").on(e.evalTargetId),N("idx_evals_target_active").on(e.evalTargetId).where(js`${e.retiredAt} IS NULL`)]),k=oe("eval_runs",{id:c("id").primaryKey().defaultRandom(),jobId:c("job_id"),evalId:c("eval_id").notNull().references(()=>C.id,{onDelete:"cascade"}),evalTargetId:c("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),evalTargetVersion:P("eval_target_version").notNull(),configuration:m("configuration").notNull(),runNumber:P("run_number").notNull().default(1),iteration:P("iteration").notNull().default(1),status:m("status").notNull().default("completed"),outputs:w("outputs").notNull().default({}),timing:w("timing").notNull().default({}),grading:w("grading").notNull().default({}),comparison:w("comparison"),createdAt:v("created_at",{withTimezone:!0}).defaultNow()},e=>[N("idx_eval_runs_eval").on(e.evalId),N("idx_eval_runs_target").on(e.evalTargetId),N("idx_eval_runs_iteration").on(e.evalTargetId,e.iteration)]),xn=oe("eval_comparisons",{id:c("id").primaryKey().defaultRandom(),userId:c("user_id").notNull(),targetAId:c("target_a_id").notNull().references(()=>n.id,{onDelete:"cascade"}),targetBId:c("target_b_id").notNull().references(()=>n.id,{onDelete:"cascade"}),targetAVersion:P("target_a_version").notNull(),targetBVersion:P("target_b_version").notNull(),isSwapped:Ke("is_swapped").notNull().default(!1),winnerTargetId:c("winner_target_id").references(()=>n.id,{onDelete:"set null"}),perEval:w("per_eval").notNull().default([]),overall:w("overall").notNull().default({}),rawOutput:m("raw_output"),model:m("model"),status:m("status").notNull().default("completed"),createdAt:v("created_at",{withTimezone:!0}).defaultNow()},e=>[N("idx_eval_comparisons_target_a").on(e.targetAId),N("idx_eval_comparisons_target_b").on(e.targetBId),N("idx_eval_comparisons_user").on(e.userId)]),Nn=oe("eval_grade_annotations",{id:c("id").primaryKey().defaultRandom(),userId:c("user_id").notNull(),evalRunId:c("eval_run_id").notNull().references(()=>k.id,{onDelete:"cascade"}),evalTargetId:c("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),expectationIndex:P("expectation_index").notNull(),expectationText:m("expectation_text").notNull(),judgePassed:Ke("judge_passed").notNull(),judgeMethod:m("judge_method").notNull(),judgeModel:m("judge_model"),verdict:m("verdict").notNull(),flag:m("flag"),note:m("note"),createdAt:v("created_at",{withTimezone:!0}).defaultNow(),updatedAt:v("updated_at",{withTimezone:!0}).defaultNow()},e=>[N("idx_eval_grade_annotations_target").on(e.evalTargetId),N("idx_eval_grade_annotations_run").on(e.evalRunId),fn("eval_grade_annotations_eval_run_id_expectation_index_key").on(e.evalRunId,e.expectationIndex)]),gn=oe("judge_reviewer_verdicts",{id:c("id").primaryKey().defaultRandom(),userId:c("user_id").notNull(),evalTargetId:c("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),evalRunId:c("eval_run_id").notNull().references(()=>k.id,{onDelete:"cascade"}),expectationIndex:P("expectation_index").notNull(),expectationText:m("expectation_text").notNull(),judgePassed:Ke("judge_passed").notNull(),humanPassed:Ke("human_passed").notNull(),reviewerEngine:m("reviewer_engine").notNull(),reviewerModel:m("reviewer_model").notNull(),reviewerPassed:Ke("reviewer_passed").notNull(),resolvedAt:v("resolved_at",{withTimezone:!0}),resolution:m("resolution"),createdAt:v("created_at",{withTimezone:!0}).defaultNow(),updatedAt:v("updated_at",{withTimezone:!0}).defaultNow()},e=>[N("idx_jrv_target").on(e.evalTargetId),fn("judge_reviewer_verdicts_eval_run_id_expectation_index_review_key").on(e.evalRunId,e.expectationIndex,e.reviewerModel)]),Ne=oe("benchmarks",{id:c("id").primaryKey().defaultRandom(),evalTargetId:c("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),iteration:P("iteration").notNull().default(1),runSummary:w("run_summary").notNull().default({}),notes:w("notes").notNull().default([]),feedback:w("feedback"),createdAt:v("created_at",{withTimezone:!0}).defaultNow()},e=>[N("idx_benchmarks_target").on(e.evalTargetId)]);import{sql as oo}from"drizzle-orm";import{pgTable as Rs,text as O,timestamp as ks,jsonb as xt,uuid as Nt,boolean as Es,index as Pe,uniqueIndex as bs}from"drizzle-orm/pg-core";var vn=Rs("instruction_promotions",{id:Nt("id").primaryKey().defaultRandom(),userId:Nt("user_id").notNull(),evalTargetId:Nt("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),instructionId:Nt("instruction_id").references(()=>r.id,{onDelete:"set null"}),fromContentHash:O("from_content_hash").notNull(),toContentHash:O("to_content_hash").notNull(),fromContent:O("from_content").notNull(),toContent:O("to_content").notNull(),proposalSource:O("proposal_source").notNull(),proposalRationale:O("proposal_rationale").notNull().default(""),decision:O("decision").notNull(),applied:Es("applied").notNull().default(!1),refusals:xt("refusals").notNull().default([]),rationale:O("rationale").notNull().default(""),effectClass:O("effect_class").notNull(),verdict:xt("verdict").notNull().default({}),gates:xt("gates").notNull().default({}),touchedSections:xt("touched_sections").notNull().default([]),createdAt:ks("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Pe("idx_instruction_promotions_budget").on(e.evalTargetId,e.createdAt.desc()).where(oo`${e.applied}`),Pe("idx_instruction_promotions_target").on(e.evalTargetId,e.createdAt.desc()),Pe("idx_instruction_promotions_user").on(e.userId,e.createdAt.desc()),Pe("idx_instruction_promotions_to_hash").on(e.toContentHash),bs("uq_instruction_promotions_applied").on(e.evalTargetId,e.fromContentHash,e.toContentHash).where(oo`${e.applied}`),Pe("idx_instruction_promotions_applied_hash").on(e.toContentHash,e.createdAt.desc()).where(oo`${e.applied}`)]);import{pgTable as In,text as no,timestamp as ro,jsonb as yn,uuid as ge,integer as Ce,index as gt,real as hn}from"drizzle-orm/pg-core";var ve=In("trigger_evals",{id:ge("id").primaryKey().defaultRandom(),evalTargetId:ge("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),userId:ge("user_id").notNull(),queries:yn("queries").notNull().default([]),status:no("status").notNull().default("pending_review"),trainIndices:Ce("train_indices").array().default([]),testIndices:Ce("test_indices").array().default([]),createdAt:ro("created_at",{withTimezone:!0}).defaultNow(),updatedAt:ro("updated_at",{withTimezone:!0}).defaultNow()},e=>[gt("idx_trigger_evals_target").on(e.evalTargetId),gt("idx_trigger_evals_user").on(e.userId)]),he=In("optimization_runs",{id:ge("id").primaryKey().defaultRandom(),evalTargetId:ge("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),userId:ge("user_id").notNull(),type:no("type").notNull(),iteration:Ce("iteration").notNull(),inputVersion:Ce("input_version").notNull(),outputVersion:Ce("output_version"),trainScore:hn("train_score"),testScore:hn("test_score"),analysis:yn("analysis").notNull().default({}),status:no("status").notNull().default("running"),createdAt:ro("created_at",{withTimezone:!0}).defaultNow()},e=>[gt("idx_optimization_runs_target").on(e.evalTargetId),gt("idx_optimization_runs_user").on(e.userId)]);import{pgTable as Ss,text as G,timestamp as Ks,jsonb as Oe,uuid as so,integer as io,real as Ps,index as qe,uniqueIndex as Tn}from"drizzle-orm/pg-core";var J=Ss("context_snapshots",{id:so("id").primaryKey().defaultRandom(),sessionId:so("session_id").references(()=>d.id,{onDelete:"cascade"}),userId:so("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),sequence:io("sequence").notNull().default(0),provider:G("provider").notNull(),model:G("model").notNull(),systemPrompt:G("system_prompt").notNull(),injectedInstructions:Oe("injected_instructions").notNull().default([]),messagesSummary:Oe("messages_summary").notNull(),tools:Oe("tools").notNull().default([]),systemHash:G("system_hash").notNull(),requestHash:G("request_hash").notNull().default(""),toolsHash:G("tools_hash"),injectedHash:G("injected_hash"),messagesDelta:Oe("messages_delta").default([]),messagesDeltaRef:G("messages_delta_ref"),maxTokens:io("max_tokens"),temperature:Ps("temperature"),estimatedTokens:io("estimated_tokens"),capturedAt:Ks("captured_at",{withTimezone:!0}).notNull().defaultNow(),metadata:Oe("metadata").default({})},e=>[qe("idx_context_snapshots_session").on(e.sessionId),qe("idx_context_snapshots_user").on(e.userId),qe("idx_context_snapshots_hash").on(e.systemHash),qe("idx_context_snapshots_request_hash").on(e.requestHash),Tn("idx_snapshots_session_request").on(e.sessionId,e.requestHash),Tn("idx_snapshots_session_sequence").on(e.sessionId,e.sequence),qe("idx_context_snapshots_user_session_captured").on(e.userId,e.sessionId,e.capturedAt.desc())]);import{pgTable as Cs,text as wn,timestamp as Os,jsonb as qs,integer as Ms,index as Ls}from"drizzle-orm/pg-core";var An=Cs("content_blobs",{hash:wn("hash").primaryKey(),contentType:wn("content_type").notNull(),content:qs("content").notNull(),sizeBytes:Ms("size_bytes").notNull().default(0),createdAt:Os("created_at",{withTimezone:!0}).defaultNow()},e=>[Ls("idx_content_blobs_type").on(e.contentType)]);import{pgTable as Bs,text as vt,timestamp as Me,jsonb as ht,uuid as ao,index as It,integer as Hs}from"drizzle-orm/pg-core";var Ie=Bs("eval_jobs",{id:ao("id").primaryKey().defaultRandom(),userId:ao("user_id").notNull(),evalTargetId:ao("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),status:vt("status").notNull().default("pending"),config:ht("config").notNull().default({}),progress:ht("progress").notNull().default({}),result:ht("result"),error:vt("error"),attempts:Hs("attempts").notNull().default(0),taskKind:vt("task_kind"),payload:ht("payload"),claimedBy:vt("claimed_by"),claimedAt:Me("claimed_at",{withTimezone:!0}),leaseExpiresAt:Me("lease_expires_at",{withTimezone:!0}),createdAt:Me("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Me("updated_at",{withTimezone:!0}).defaultNow(),completedAt:Me("completed_at",{withTimezone:!0})},e=>[It("idx_eval_jobs_user").on(e.userId),It("idx_eval_jobs_target").on(e.evalTargetId),It("idx_eval_jobs_status").on(e.status),It("idx_eval_jobs_pending").on(e.userId,e.status)]);import{pgTable as Us,text as Le,timestamp as Be,jsonb as zn,uuid as Dn,integer as Vs,index as jn}from"drizzle-orm/pg-core";var Rn=Us("agent_jobs",{id:Dn("id").primaryKey().defaultRandom(),userId:Dn("user_id").notNull(),taskKind:Le("task_kind").notNull(),status:Le("status").notNull().default("pending"),payload:zn("payload").notNull(),dedupeKey:Le("dedupe_key"),result:zn("result"),error:Le("error"),attempts:Vs("attempts").notNull().default(0),claimedBy:Le("claimed_by"),claimedAt:Be("claimed_at",{withTimezone:!0}),leaseExpiresAt:Be("lease_expires_at",{withTimezone:!0}),createdAt:Be("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:Be("updated_at",{withTimezone:!0}).notNull().defaultNow(),completedAt:Be("completed_at",{withTimezone:!0})},e=>[jn("idx_agent_jobs_claim").on(e.userId,e.status,e.taskKind,e.createdAt),jn("idx_agent_jobs_dedupe").on(e.userId,e.taskKind,e.dedupeKey)]);import{pgTable as Fs,text as He,timestamp as Ue,jsonb as yt,uuid as uo,index as Tt,integer as Gs}from"drizzle-orm/pg-core";var kn=Fs("insights_jobs",{id:uo("id").primaryKey().defaultRandom(),userId:uo("user_id").notNull(),status:He("status").notNull().default("pending"),projectPath:He("project_path"),projectId:uo("project_id").references(()=>s.id,{onDelete:"set null"}),config:yt("config").notNull().default({}),progress:yt("progress").notNull().default({}),result:yt("result"),error:He("error"),attempts:Gs("attempts").notNull().default(0),taskKind:He("task_kind"),payload:yt("payload"),claimedBy:He("claimed_by"),claimedAt:Ue("claimed_at",{withTimezone:!0}),leaseExpiresAt:Ue("lease_expires_at",{withTimezone:!0}),createdAt:Ue("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Ue("updated_at",{withTimezone:!0}).defaultNow(),completedAt:Ue("completed_at",{withTimezone:!0})},e=>[Tt("idx_insights_jobs_user").on(e.userId),Tt("idx_insights_jobs_status").on(e.status),Tt("idx_insights_jobs_pending").on(e.userId,e.status),Tt("idx_insights_jobs_project").on(e.projectId)]);import{pgTable as Js,text as lo,timestamp as wt,uuid as En,index as Ys,uniqueIndex as $s}from"drizzle-orm/pg-core";var ye=Js("api_keys",{id:En("id").primaryKey().defaultRandom(),userId:En("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),name:lo("name").notNull(),keyHash:lo("key_hash").notNull(),keyPrefix:lo("key_prefix").notNull(),lastUsedAt:wt("last_used_at",{withTimezone:!0}),expiresAt:wt("expires_at",{withTimezone:!0}),revokedAt:wt("revoked_at",{withTimezone:!0}),createdAt:wt("created_at",{withTimezone:!0}).defaultNow()},e=>[Ys("idx_api_keys_user").on(e.userId),$s("idx_api_keys_hash").on(e.keyHash)]);import{pgTable as Qs,text as co,timestamp as bn,uuid as Ws,index as Xs}from"drizzle-orm/pg-core";var Sn=Qs("extension_auth_codes",{code:co("code").primaryKey(),userId:Ws("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),editor:co("editor"),email:co("email"),expiresAt:bn("expires_at",{withTimezone:!0}).notNull(),createdAt:bn("created_at",{withTimezone:!0}).defaultNow()},e=>[Xs("idx_ext_auth_codes_expiry").on(e.expiresAt)]);import{pgTable as Zs,text as ei,timestamp as Kn,jsonb as ti,uuid as mo,index as Pn}from"drizzle-orm/pg-core";var Te=Zs("eval_conversations",{id:mo("id").primaryKey().defaultRandom(),evalTargetId:mo("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),userId:mo("user_id").notNull(),messages:ti("messages").notNull().default([]),status:ei("status").notNull().default("active"),createdAt:Kn("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Kn("updated_at",{withTimezone:!0}).defaultNow()},e=>[Pn("idx_eval_conversations_target").on(e.evalTargetId),Pn("idx_eval_conversations_user").on(e.userId)]);import{pgTable as oi,text as q,timestamp as Cn,jsonb as ni,uuid as _o}from"drizzle-orm/pg-core";var On=oi("skill_submissions",{id:_o("id").primaryKey().defaultRandom(),skillId:q("skill_id").notNull(),name:q("name").notNull(),description:q("description").notNull(),category:q("category").notNull(),tools:q("tools").array().notNull(),tags:q("tags").array().default([]),content:q("content").notNull(),status:q("status").notNull().default("pending"),submittedBy:_o("submitted_by").notNull(),reviewedBy:_o("reviewed_by"),reviewNote:q("review_note"),metadata:ni("metadata"),createdAt:Cn("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Cn("updated_at",{withTimezone:!0}).defaultNow()});import{pgTable as ri,text as Ve,timestamp as qn,jsonb as si,uuid as ii,uniqueIndex as ai,index as Mn}from"drizzle-orm/pg-core";var Ln=ri("harness_releases",{id:ii("id").primaryKey().defaultRandom(),harness:Ve("harness").notNull(),version:Ve("version").notNull(),publishedAt:qn("published_at",{withTimezone:!0}).notNull(),title:Ve("title"),body:Ve("body"),categories:si("categories").default({}),url:Ve("url"),createdAt:qn("created_at",{withTimezone:!0}).defaultNow()},e=>[ai("idx_harness_releases_unique").on(e.harness,e.version),Mn("idx_harness_releases_harness").on(e.harness),Mn("idx_harness_releases_published").on(e.publishedAt)]);import{pgTable as di,text as we,timestamp as Bn,jsonb as ui,uuid as Hn,index as Un,uniqueIndex as li}from"drizzle-orm/pg-core";var po=di("notifications",{id:Hn("id").primaryKey().defaultRandom(),userId:Hn("user_id").notNull(),type:we("type").notNull(),title:we("title").notNull(),body:we("body"),url:we("url"),sourceTable:we("source_table"),sourceId:we("source_id"),metadata:ui("metadata").notNull().default({}),readAt:Bn("read_at",{withTimezone:!0}),createdAt:Bn("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Un("idx_notifications_user_created").on(e.userId,e.createdAt),Un("idx_notifications_user_unread").on(e.userId),li("idx_notifications_source_dedup").on(e.userId,e.sourceTable,e.sourceId)]);import{pgTable as ci,text as Fe,timestamp as Ge,jsonb as fo,uuid as xo,index as At,integer as mi}from"drizzle-orm/pg-core";var Ae=ci("launch_jobs",{id:xo("id").primaryKey().defaultRandom(),userId:xo("user_id").notNull(),tool:Fe("tool").notNull(),status:Fe("status").notNull().default("pending"),config:fo("config").notNull().default({}),result:fo("result"),error:Fe("error"),attempts:mi("attempts").notNull().default(0),taskKind:Fe("task_kind"),payload:fo("payload"),claimedBy:Fe("claimed_by"),claimedAt:Ge("claimed_at",{withTimezone:!0}),leaseExpiresAt:Ge("lease_expires_at",{withTimezone:!0}),createdAt:Ge("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Ge("updated_at",{withTimezone:!0}).defaultNow(),completedAt:Ge("completed_at",{withTimezone:!0}),runId:xo("run_id").references(()=>g.id,{onDelete:"set null"})},e=>[At("idx_launch_jobs_user").on(e.userId),At("idx_launch_jobs_status").on(e.status),At("idx_launch_jobs_pending").on(e.userId,e.status),At("idx_launch_jobs_run").on(e.runId)]);import{pgTable as Vn,uuid as M,text as Je,real as _i,timestamp as zt,boolean as pi,uniqueIndex as fi,index as Ye}from"drizzle-orm/pg-core";var No=Vn("instruction_suggestions",{id:M("id").primaryKey().defaultRandom(),userId:M("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),instructionId:M("instruction_id").notNull().references(()=>r.id,{onDelete:"cascade"}),projectPath:Je("project_path").notNull(),projectId:M("project_id").references(()=>s.id,{onDelete:"set null"}),score:_i("score").notNull(),reason:Je("reason").notNull(),generatedAt:zt("generated_at",{withTimezone:!0}).notNull().defaultNow(),isStale:pi("is_stale").notNull().default(!1),dismissedAt:zt("dismissed_at",{withTimezone:!0}),acceptedAt:zt("accepted_at",{withTimezone:!0}),promotedToInstructionId:M("promoted_to_instruction_id").references(()=>r.id,{onDelete:"set null"})},e=>[fi("idx_instruction_suggestions_user_project_instruction").on(e.userId,e.projectPath,e.instructionId),Ye("idx_instruction_suggestions_user_project").on(e.userId,e.projectPath),Ye("idx_instruction_suggestions_user_proj_id").on(e.userId,e.projectId),Ye("idx_instruction_suggestions_generated_at").on(e.generatedAt)]),Fn=Vn("instruction_suggestion_events",{id:M("id").primaryKey().defaultRandom(),suggestionId:M("suggestion_id").notNull().references(()=>No.id,{onDelete:"cascade"}),userId:M("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),eventType:Je("event_type").notNull(),tool:Je("tool"),sessionId:M("session_id"),projectPath:Je("project_path").notNull(),createdAt:zt("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Ye("idx_instruction_suggestion_events_suggestion_id").on(e.suggestionId),Ye("idx_instruction_suggestion_events_user_id").on(e.userId)]);import{pgTable as xi,text as go,integer as Ni,numeric as $e,timestamp as vo,index as gi,primaryKey as vi}from"drizzle-orm/pg-core";var Gn=xi("model_pricing",{provider:go("provider").notNull(),modelId:go("model_id").notNull(),inputPerM:$e("input_per_m").notNull(),outputPerM:$e("output_per_m").notNull(),cacheReadPerM:$e("cache_read_per_m").notNull(),cacheWrite5mPerM:$e("cache_write_5m_per_m").notNull(),cacheWrite1hPerM:$e("cache_write_1h_per_m").notNull(),contextWindow:Ni("context_window"),effectiveFrom:vo("effective_from",{withTimezone:!0}).notNull(),effectiveUntil:vo("effective_until",{withTimezone:!0}),source:go("source").notNull(),verifiedAt:vo("verified_at",{withTimezone:!0})},e=>[vi({columns:[e.provider,e.modelId,e.effectiveFrom]}),gi("idx_model_pricing_active").on(e.provider,e.modelId,e.effectiveFrom.desc())]);import{pgTable as hi,text as ne,numeric as Jn,timestamp as Yn,uuid as $n,jsonb as Ii,index as Qn}from"drizzle-orm/pg-core";var Wn=hi("limit_observations",{id:$n("id").primaryKey().defaultRandom(),observedAt:Yn("observed_at",{withTimezone:!0}).notNull().defaultNow(),provider:ne("provider").notNull(),plan:ne("plan").notNull(),limitType:ne("limit_type").notNull(),value:Jn("value").notNull(),unit:ne("unit").notNull(),comparator:ne("comparator").notNull().default("="),resetsAt:Yn("resets_at",{withTimezone:!0}),sourceType:ne("source_type").notNull(),sourceUrl:ne("source_url"),sourceEvidence:Ii("source_evidence"),confidence:Jn("confidence").notNull(),userId:$n("user_id")},e=>[Qn("idx_limit_obs_lookup").on(e.provider,e.plan,e.limitType,e.observedAt.desc()),Qn("idx_limit_obs_user").on(e.userId,e.observedAt.desc())]);import{pgTable as yi,text as Dt,timestamp as Ti,uuid as wi,jsonb as Ai,boolean as zi,uniqueIndex as Di}from"drizzle-orm/pg-core";var Xn=yi("provider_docs_snapshots",{id:wi("id").primaryKey().defaultRandom(),fetchedAt:Ti("fetched_at",{withTimezone:!0}).notNull().defaultNow(),provider:Dt("provider").notNull(),docUrl:Dt("doc_url").notNull(),contentHash:Dt("content_hash").notNull(),content:Dt("content").notNull(),parseSuccess:zi("parse_success").notNull(),parseErrors:Ai("parse_errors")},e=>[Di("idx_docs_dedup").on(e.provider,e.docUrl,e.contentHash)]);import{pgTable as ji,text as jt,numeric as Zn,timestamp as er,uuid as Ri,primaryKey as ki,index as Ei}from"drizzle-orm/pg-core";var tr=ji("plan_limits_active",{provider:jt("provider").notNull(),plan:jt("plan").notNull(),limitType:jt("limit_type").notNull(),value:Zn("value").notNull(),unit:jt("unit").notNull(),effectiveFrom:er("effective_from",{withTimezone:!0}).notNull(),effectiveUntil:er("effective_until",{withTimezone:!0}),confidence:Zn("confidence").notNull(),sourceObservationIds:Ri("source_observation_ids").array().notNull()},e=>[ki({columns:[e.provider,e.plan,e.limitType,e.effectiveFrom]}),Ei("idx_plan_limits_lookup").on(e.provider,e.plan,e.limitType,e.effectiveFrom.desc())]);import{pgTable as bi,text as ho,timestamp as Si,uuid as or,jsonb as Ki,index as Pi}from"drizzle-orm/pg-core";var nr=bi("alert_dispatches",{id:or("id").primaryKey().defaultRandom(),userId:or("user_id").notNull(),alertKey:ho("alert_key").notNull(),severity:ho("severity").notNull(),lastDispatchedAt:Si("last_dispatched_at",{withTimezone:!0}).notNull().defaultNow(),lastState:Ki("last_state").notNull(),channel:ho("channel").notNull()},e=>[Pi("idx_alert_user_key").on(e.userId,e.alertKey,e.lastDispatchedAt.desc())]);import{pgTable as Ci,text as Io,timestamp as rr,uuid as yo,integer as Oi,index as qi,unique as Mi}from"drizzle-orm/pg-core";var sr=Ci("scaffolding_fingerprints",{id:yo("id").primaryKey().defaultRandom(),userId:yo("user_id").notNull(),harness:Io("harness").notNull(),model:Io("model").notNull(),toolsHash:Io("tools_hash").notNull(),firstSeenAt:rr("first_seen_at",{withTimezone:!0}).notNull().defaultNow(),lastSeenAt:rr("last_seen_at",{withTimezone:!0}).notNull().defaultNow(),snapshotCount:Oi("snapshot_count").notNull().default(1),firstSessionId:yo("first_session_id")},e=>[Mi("scaffolding_fingerprints_user_id_harness_model_tools_hash_key").on(e.userId,e.harness,e.model,e.toolsHash),qi("idx_scaffolding_fp_segment").on(e.userId,e.harness,e.model)]);import{pgTable as Li,text as To,timestamp as Bi,jsonb as Hi,uuid as ir,integer as Ui,unique as Vi}from"drizzle-orm/pg-core";var ar=Li("scaffolding_segments",{id:ir("id").primaryKey().defaultRandom(),userId:ir("user_id").notNull(),harness:To("harness").notNull(),model:To("model").notNull(),coreNames:Hi("core_names").notNull(),coreHash:To("core_hash").notNull(),activeFingerprints:Ui("active_fingerprints").notNull(),computedAt:Bi("computed_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Vi("scaffolding_segments_user_id_harness_model_key").on(e.userId,e.harness,e.model)]);import{drizzle as mr}from"drizzle-orm/postgres-js";import _r from"postgres";var Rt={};Er(Rt,{agentJobs:()=>Rn,agentRuns:()=>g,agentRunsRelations:()=>sa,alertDispatches:()=>nr,announcementDeliveries:()=>Fo,announcements:()=>Vo,apiKeys:()=>ye,apiKeysRelations:()=>Gi,benchmarks:()=>Ne,benchmarksRelations:()=>Na,cliErrorEvents:()=>pn,cliSetupEvents:()=>mn,contentBlobs:()=>An,contextSnapshots:()=>J,contextSnapshotsRelations:()=>ya,evalComparisons:()=>xn,evalConversations:()=>Te,evalConversationsRelations:()=>Ia,evalGradeAnnotations:()=>Nn,evalJobs:()=>Ie,evalJobsRelations:()=>ha,evalRuns:()=>k,evalRunsRelations:()=>xa,evalTargets:()=>n,evalTargetsRelations:()=>pa,evals:()=>C,evalsRelations:()=>fa,extensionAuthCodes:()=>Sn,harnessReleases:()=>Ln,insightsJobs:()=>kn,instructionEvents:()=>me,instructionEventsRelations:()=>Zi,instructionPromotions:()=>vn,instructionSuggestionEvents:()=>Fn,instructionSuggestions:()=>No,instructionUsageEvents:()=>xe,instructionUsageEventsRelations:()=>_a,instructionVersionIdentities:()=>Po,instructionVersions:()=>ae,instructionVersionsRelations:()=>ta,instructions:()=>r,instructionsRelations:()=>Xi,judgeReviewerVerdicts:()=>gn,launchJobs:()=>Ae,launchJobsRelations:()=>ia,limitObservations:()=>Wn,memories:()=>T,memoriesRelations:()=>ea,memoryExperiments:()=>Uo,modelPricing:()=>Gn,notificationPreferences:()=>Go,notifications:()=>po,optimizationRuns:()=>he,optimizationRunsRelations:()=>va,orgInvitations:()=>b,orgInvitationsRelations:()=>$i,organizations:()=>u,organizationsRelations:()=>Ji,packInstructions:()=>F,packInstructionsRelations:()=>ma,packs:()=>z,packsRelations:()=>ca,pendingTreatmentExposures:()=>Zo,planLimitsActive:()=>tr,profiles:()=>o,profilesRelations:()=>Fi,projectCheckouts:()=>Oo,projectInstructions:()=>B,projectInstructionsRelations:()=>na,projects:()=>s,projectsRelations:()=>oa,providerDocsSnapshots:()=>Xn,scaffoldingFingerprints:()=>sr,scaffoldingSegments:()=>ar,sessionEvents:()=>ue,sessionEventsRelations:()=>aa,sessionInstructions:()=>H,sessionInstructionsRelations:()=>da,sessionSendJobs:()=>on,sessionTerminalTargets:()=>lt,sessions:()=>d,sessionsRelations:()=>ra,skillSubmissions:()=>On,teams:()=>h,teamsRelations:()=>Yi,treatmentAssignments:()=>S,treatmentAssignmentsRelations:()=>ua,treatmentExposures:()=>K,treatmentExposuresRelations:()=>la,triggerEvals:()=>ve,triggerEvalsRelations:()=>ga,userOrganizations:()=>se,userOrganizationsRelations:()=>Qi,userTeams:()=>ie,userTeamsRelations:()=>Wi,workerConnections:()=>un});import{relations as i}from"drizzle-orm";var Fi=i(o,({many:e})=>({sessions:e(d),contextSnapshots:e(J),apiKeys:e(ye)})),Gi=i(ye,({one:e})=>({profile:e(o,{fields:[ye.userId],references:[o.id]})})),Ji=i(u,({many:e})=>({teams:e(h),userOrganizations:e(se),projects:e(s),invitations:e(b)})),Yi=i(h,({one:e,many:t})=>({organization:e(u,{fields:[h.orgId],references:[u.id]}),userTeams:t(ie),invitations:t(b)})),$i=i(b,({one:e})=>({organization:e(u,{fields:[b.orgId],references:[u.id]}),team:e(h,{fields:[b.teamId],references:[h.id]}),inviter:e(o,{fields:[b.invitedBy],references:[o.id]})})),Qi=i(se,({one:e})=>({organization:e(u,{fields:[se.orgId],references:[u.id]})})),Wi=i(ie,({one:e})=>({team:e(h,{fields:[ie.teamId],references:[h.id]})})),Xi=i(r,({one:e,many:t})=>({versions:t(ae),projectInstructions:t(B),events:t(me),usageEvents:t(xe),sessionInstructions:t(H),packInstructions:t(F),forkedFrom:e(r,{fields:[r.forkedFromId],references:[r.id]})})),Zi=i(me,({one:e})=>({instruction:e(r,{fields:[me.instructionId],references:[r.id]})})),ea=i(T,({one:e,many:t})=>({project:e(s,{fields:[T.projectId],references:[s.id]}),parent:e(T,{fields:[T.parentId],references:[T.id]}),versions:t(T)})),ta=i(ae,({one:e})=>({instruction:e(r,{fields:[ae.instructionId],references:[r.id]})})),oa=i(s,({one:e,many:t})=>({organization:e(u,{fields:[s.orgId],references:[u.id]}),projectInstructions:t(B),sessions:t(d)})),na=i(B,({one:e})=>({project:e(s,{fields:[B.projectId],references:[s.id]}),instruction:e(r,{fields:[B.instructionId],references:[r.id]})})),ra=i(d,({one:e,many:t})=>({profile:e(o,{fields:[d.userId],references:[o.id]}),project:e(s,{fields:[d.projectId],references:[s.id]}),run:e(g,{fields:[d.runId],references:[g.id]}),events:t(ue),sessionInstructions:t(H),treatmentExposures:t(K),contextSnapshots:t(J)})),sa=i(g,({one:e,many:t})=>({profile:e(o,{fields:[g.userId],references:[o.id]}),organization:e(u,{fields:[g.orgId],references:[u.id]}),project:e(s,{fields:[g.projectId],references:[s.id]}),sessions:t(d),launchJobs:t(Ae)})),ia=i(Ae,({one:e})=>({run:e(g,{fields:[Ae.runId],references:[g.id]})})),aa=i(ue,({one:e})=>({session:e(d,{fields:[ue.sessionId],references:[d.id]})})),da=i(H,({one:e})=>({session:e(d,{fields:[H.sessionId],references:[d.id]}),instruction:e(r,{fields:[H.instructionId],references:[r.id]})})),ua=i(S,({one:e,many:t})=>({owner:e(o,{fields:[S.userId],references:[o.id]}),project:e(s,{fields:[S.projectId],references:[s.id]}),exposures:t(K)})),la=i(K,({one:e})=>({session:e(d,{fields:[K.sessionId],references:[d.id]}),owner:e(o,{fields:[K.userId],references:[o.id]}),assignment:e(S,{fields:[K.assignmentId],references:[S.id]})})),ca=i(z,({one:e,many:t})=>({packInstructions:t(F),forkedFrom:e(z,{fields:[z.forkedFromId],references:[z.id]})})),ma=i(F,({one:e})=>({pack:e(z,{fields:[F.packId],references:[z.id]}),instruction:e(r,{fields:[F.instructionId],references:[r.id]})})),_a=i(xe,({one:e})=>({instruction:e(r,{fields:[xe.instructionId],references:[r.id]})})),pa=i(n,({one:e,many:t})=>({parent:e(n,{fields:[n.parentId],references:[n.id]}),evals:t(C),evalRuns:t(k),benchmarks:t(Ne),triggerEvals:t(ve),optimizationRuns:t(he),evalJobs:t(Ie),evalConversations:t(Te)})),fa=i(C,({one:e,many:t})=>({evalTarget:e(n,{fields:[C.evalTargetId],references:[n.id]}),runs:t(k)})),xa=i(k,({one:e})=>({eval:e(C,{fields:[k.evalId],references:[C.id]}),evalTarget:e(n,{fields:[k.evalTargetId],references:[n.id]})})),Na=i(Ne,({one:e})=>({evalTarget:e(n,{fields:[Ne.evalTargetId],references:[n.id]})})),ga=i(ve,({one:e})=>({evalTarget:e(n,{fields:[ve.evalTargetId],references:[n.id]})})),va=i(he,({one:e})=>({evalTarget:e(n,{fields:[he.evalTargetId],references:[n.id]})})),ha=i(Ie,({one:e})=>({evalTarget:e(n,{fields:[Ie.evalTargetId],references:[n.id]})})),Ia=i(Te,({one:e})=>({evalTarget:e(n,{fields:[Te.evalTargetId],references:[n.id]})})),ya=i(J,({one:e})=>({session:e(d,{fields:[J.sessionId],references:[d.id]}),profile:e(o,{fields:[J.userId],references:[o.id]})}));var Qe=0,dr=0,We=0,ur=0;var Ta=0;function wo(){Qe++,Qe>dr&&(dr=Qe)}p(wo,"trackDbOpStart");function Ao(){Qe>0&&Qe--}p(Ao,"trackDbOpEnd");function zo(){We++,We>ur&&(ur=We)}p(zo,"trackHeavyDbOpStart");function Do(){We>0&&We--}p(Do,"trackHeavyDbOpEnd");function lr(){Ta++}p(lr,"recordQueryDeadline");var Et,St,jo=!1,kt;var cr,Kt,bt;function pr(e){let t=process.env[e];if(!t)throw new Error(`Missing required env var: ${e}`);return t}p(pr,"getEnv");function fr(){if(jo)throw new Error("getDb() called after closeDb(): the connection pool is closed for shutdown. Stop issuing queries (timers/requests) before draining the pool.");if(!Et){let e=process.env.PG_APPLICATION_NAME||"rulemetric",t=Number(process.env.PG_POOL_MAX)||3,a=Number(process.env.PG_CONNECT_TIMEOUT_S)||10,l=Number(process.env.PG_STATEMENT_TIMEOUT_MS)||0,_=Number(process.env.PG_IDLE_TIMEOUT)||5,f=Number(process.env.PG_KEEP_ALIVE_S)||60;St=_r(pr("DATABASE_URL"),{prepare:!1,max:t,connect_timeout:a,idle_timeout:_,keep_alive:f,max_lifetime:300,connection:{application_name:e,...l>0?{statement_timeout:l}:{}}}),Et=mr(St,{schema:Rt})}return Et}p(fr,"getDb");function xr(){if(jo)throw new Error("getHeavyDb() called after closeDb(): the connection pool is closed for shutdown. Stop issuing queries (timers/requests) before draining the pool.");if(!bt){let e=(process.env.PG_APPLICATION_NAME||"rulemetric")+":heavy",t=Number(process.env.PG_HEAVY_POOL_MAX)||2;Kt=_r(pr("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}}),bt=mr(Kt,{schema:Rt})}return bt}p(xr,"getHeavyDb");async function wa(){if(kt)return kt;jo=!0;let e=St,t=cr,a=Kt;return St=void 0,Et=void 0,cr=void 0,Kt=void 0,bt=void 0,kt=Promise.allSettled([e?e.end({timeout:5}):Promise.resolve(),t?t.end({timeout:5}):Promise.resolve(),a?a.end({timeout:5}):Promise.resolve()]).then(()=>{}),kt}p(wa,"closeDb");var Aa=new Set(["CONNECT_TIMEOUT","ETIMEDOUT","ENOTFOUND","ECONNREFUSED","EAI_AGAIN"]);function Nr(e){let t=e,a=t?.code??t?.cause?.code??t?.errno;return a!==void 0&&Aa.has(a)}p(Nr,"isRetryableConnectError");var za=new Set(["CONNECTION_CLOSED","ECONNRESET","EPIPE"]);function gr(e){let t=e,a=t?.code??t?.cause?.code??t?.errno;return a!==void 0&&za.has(a)}p(gr,"isRetryableResetError");async function vr(e,t={}){let a=t.attempts??3,l=t.baseMs??100,_;for(let f=0;f<a;f++)try{return await e()}catch(y){_=y;let ze=Nr(y)||t.retryResets===!0&&gr(y);if(f===a-1||!ze)throw y;await new Promise(Y=>setTimeout(Y,l*2**f))}throw _}p(vr,"withDbRetry");var Pt=class extends Error{static{p(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 hr(){let e=Number(process.env.PG_QUERY_DEADLINE_MS);return Number.isFinite(e)&&e>=0?e:2e4}p(hr,"queryDeadlineMs");function Da(e,t){let a,l=new Promise((_,f)=>{a=setTimeout(()=>{lr(),f(new Pt(t))},t);let y=a;typeof y.unref=="function"&&y.unref()});return Promise.race([e,l]).finally(()=>clearTimeout(a))}p(Da,"raceWithDeadline");var Ir=new Set(["select","selectDistinct","selectDistinctOn","insert","update","delete","execute","with","$count","refreshMaterializedView"]),yr=new Set(["select","selectDistinct","selectDistinctOn","$count"]);function Ro(e,t=!1,a=0,l=!1){return e===null||typeof e!="object"&&typeof e!="function"?e:new Proxy(e,{get(_,f,y){if(f==="then"){let Y=Reflect.get(_,f,y);return typeof Y!="function"?Y:(Ar,zr)=>{let Dr=l?zo:wo,jr=l?Do:Ao;Dr();let ko=vr(()=>new Promise((Rr,kr)=>Y.call(_,Rr,kr)),{retryResets:t});return(a>0?Da(ko,a):ko).finally(jr).then(Ar,zr)}}let ze=Reflect.get(_,f,y);return typeof ze=="function"?(...Y)=>Ro(ze.apply(_,Y),t,a,l):ze}})}p(Ro,"wrapBuilder");function Tr(e,t=!1){let a=t?zo:wo,l=t?Do:Ao;a();try{return Promise.resolve(e()).finally(l)}catch(_){throw l(),_}}p(Tr,"gaugeTransaction");var wr=new Proxy({},{get(e,t){let a=fr(),l=a[t];if(typeof t=="string"&&Ir.has(t)&&typeof l=="function"){let _=yr.has(t),f=hr();return(...y)=>Ro(l.apply(a,y),_,f)}return t==="transaction"&&typeof l=="function"?(..._)=>Tr(()=>l.apply(a,_)):l}}),ja=new Proxy({},{get(e,t){let a=xr(),l=a[t];if(typeof t=="string"&&Ir.has(t)&&typeof l=="function"){let _=yr.has(t);return(...f)=>Ro(l.apply(a,f),_,0,!0)}return t==="transaction"&&typeof l=="function"?(..._)=>Tr(()=>l.apply(a,_),!0):l}});export{o as a,g as b,d as c,ue as d,T as e,Uo as f,Vo as g,Fo as h,Go as i,fr as j,wa as k};
|
|
1
|
+
import{a as p,c as Er}from"./chunk-ZLLER3HP.js";import{boolean as So,pgTable as br,text as Ze,timestamp as Ct,uuid as Ko}from"drizzle-orm/pg-core";import{pgTable as Xe,text as re,timestamp as De,jsonb as Eo,uuid as $,primaryKey as bo}from"drizzle-orm/pg-core";var u=Xe("organizations",{id:$("id").primaryKey().defaultRandom(),name:re("name").unique().notNull(),slug:re("slug").unique().notNull(),metadata:Eo("metadata"),createdAt:De("created_at",{withTimezone:!0}).defaultNow(),updatedAt:De("updated_at",{withTimezone:!0}).defaultNow()}),h=Xe("teams",{id:$("id").primaryKey().defaultRandom(),orgId:$("org_id").references(()=>u.id,{onDelete:"cascade"}),name:re("name").notNull(),slug:re("slug").notNull(),metadata:Eo("metadata"),createdAt:De("created_at",{withTimezone:!0}).defaultNow()}),se=Xe("user_organizations",{userId:$("user_id").notNull(),orgId:$("org_id").references(()=>u.id,{onDelete:"cascade"}).notNull(),role:re("role").notNull().default("member"),createdAt:De("created_at",{withTimezone:!0}).defaultNow()},e=>[bo({columns:[e.userId,e.orgId]})]),ie=Xe("user_teams",{userId:$("user_id").notNull(),teamId:$("team_id").references(()=>h.id,{onDelete:"cascade"}).notNull(),role:re("role").notNull().default("member"),createdAt:De("created_at",{withTimezone:!0}).defaultNow()},e=>[bo({columns:[e.userId,e.teamId]})]);var o=br("profiles",{id:Ko("id").primaryKey(),email:Ze("email"),displayName:Ze("display_name"),activeOrgId:Ko("active_org_id").references(()=>u.id,{onDelete:"set null"}),isSuperadmin:So("is_superadmin").notNull().default(!1),claudeCodePlan:Ze("claude_code_plan"),planSource:Ze("plan_source").notNull().default("detected"),setupCompletedAt:Ct("setup_completed_at",{withTimezone:!0}),liveSendSkipped:So("live_send_skipped").notNull().default(!1),createdAt:Ct("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Ct("updated_at",{withTimezone:!0}).defaultNow()});import{pgTable as Or,text as de,timestamp as Lt,jsonb as qo,uuid as nt,integer as qr,boolean as Mr,index as Bt}from"drizzle-orm/pg-core";import{boolean as Kr,jsonb as Pr,pgTable as Mt,primaryKey as Co,text as Q,timestamp as Re,uniqueIndex as qt,uuid as W}from"drizzle-orm/pg-core";import{sql as Cr}from"drizzle-orm";import{pgTable as Ot,text as x,timestamp as L,jsonb as et,uuid as D,integer as tt,boolean as Sr,uniqueIndex as ot,index as je}from"drizzle-orm/pg-core";var r=Ot("instructions",{id:D("id").primaryKey().defaultRandom(),name:x("name").notNull(),description:x("description").notNull(),type:x("type").notNull().default("instruction"),scope:x("scope").notNull(),scopeRef:D("scope_ref"),version:x("version").notNull(),content:x("content").notNull(),frontmatter:et("frontmatter").notNull(),slots:et("slots"),tags:x("tags").array(),compatibility:x("compatibility").array(),createdBy:D("created_by"),createdAt:L("created_at",{withTimezone:!0}).defaultNow(),updatedAt:L("updated_at",{withTimezone:!0}).defaultNow(),archived:Sr("archived").default(!1),archivedAt:L("archived_at",{withTimezone:!0}),archivedBy:D("archived_by"),forkedFromId:D("forked_from_id").references(()=>r.id,{onDelete:"set null"}),upstreamVersion:x("upstream_version"),badge:x("badge"),contentHash:x("content_hash"),contextIdentity:x("context_identity"),scanScore:tt("scan_score"),scanFindings:et("scan_findings"),popularityScore:tt("popularity_score"),sourceUpdatedAt:L("source_updated_at",{withTimezone:!0})},e=>[ot("instructions_name_scope_ref_idx").on(e.name,e.scope,e.scopeRef),je("idx_instructions_scope").on(e.scope,e.scopeRef),je("idx_instructions_created_by").on(e.createdBy),je("idx_instructions_context_identity").on(e.createdBy,e.contextIdentity),je("idx_instructions_public_recency").on(e.scope,e.sourceUpdatedAt.desc())]),Po=Ot("instruction_version_identities",{id:D("id").primaryKey().defaultRandom(),instructionId:D("instruction_id").notNull().references(()=>r.id,{onDelete:"cascade"}),contentHash:x("content_hash").notNull(),versionOrdinal:tt("version_ordinal").notNull(),content:x("content"),firstSeenAt:L("first_seen_at",{withTimezone:!0}).notNull().defaultNow(),lastSeenAt:L("last_seen_at",{withTimezone:!0}).notNull().defaultNow(),createdAt:L("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[ot("instruction_version_identities_hash_unique").on(e.instructionId,e.contentHash),ot("instruction_version_identities_ordinal_unique").on(e.instructionId,e.versionOrdinal),je("idx_ivi_instruction").on(e.instructionId)]),ae=Ot("instruction_versions",{id:D("id").primaryKey().defaultRandom(),instructionId:D("instruction_id").references(()=>r.id,{onDelete:"cascade"}),versionNumber:tt("version_number").notNull(),content:x("content").notNull(),frontmatter:et("frontmatter").notNull(),changeSummary:x("change_summary"),createdBy:D("created_by"),createdAt:L("created_at",{withTimezone:!0}).defaultNow()},e=>[ot("instruction_versions_instruction_version_idx").on(e.instructionId,e.versionNumber)]);var s=Mt("projects",{id:W("id").primaryKey().defaultRandom(),orgId:W("org_id").references(()=>u.id,{onDelete:"cascade"}),name:Q("name").notNull(),description:Q("description"),githubRepo:Q("github_repo"),gitRemoteUrl:Q("git_remote_url"),gitRootCommit:Q("git_root_commit"),gitRemoteAliases:Q("git_remote_aliases").array().notNull().default([]),metadata:Pr("metadata"),createdBy:W("created_by"),createdAt:Re("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Re("updated_at",{withTimezone:!0}).defaultNow()},e=>[qt("projects_org_name_idx").on(e.orgId,e.name),qt("projects_git_remote_url_unique").on(e.gitRemoteUrl).where(Cr`${e.gitRemoteUrl} IS NOT NULL`)]),B=Mt("project_instructions",{projectId:W("project_id").references(()=>s.id,{onDelete:"cascade"}).notNull(),instructionId:W("instruction_id").references(()=>r.id,{onDelete:"cascade"}).notNull(),addedAt:Re("added_at",{withTimezone:!0}).defaultNow(),addedBy:W("added_by")},e=>[Co({columns:[e.projectId,e.instructionId]})]),Oo=Mt("project_checkouts",{projectId:W("project_id").references(()=>s.id,{onDelete:"cascade"}).notNull(),path:Q("path").notNull(),isWorktree:Kr("is_worktree").notNull().default(!1),firstSeen:Re("first_seen",{withTimezone:!0}).notNull().defaultNow(),lastSeen:Re("last_seen",{withTimezone:!0}).notNull().defaultNow()},e=>[Co({columns:[e.projectId,e.path]}),qt("project_checkouts_path_unique").on(e.path)]);var g=Or("agent_runs",{id:nt("id").primaryKey().defaultRandom(),userId:nt("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),orgId:nt("org_id").references(()=>u.id,{onDelete:"set null"}),projectId:nt("project_id").references(()=>s.id,{onDelete:"set null"}),projectPath:de("project_path"),gitRemote:de("git_remote"),baseBranch:de("base_branch"),title:de("title"),prompt:de("prompt"),toolSpec:qo("tool_spec").notNull().default([]),autoWorktree:Mr("auto_worktree").notNull().default(!0),status:de("status").notNull().default("pending"),sessionCount:qr("session_count").notNull().default(0),metadata:qo("metadata").notNull().default({}),createdAt:Lt("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:Lt("updated_at",{withTimezone:!0}).notNull().defaultNow(),completedAt:Lt("completed_at",{withTimezone:!0})},e=>[Bt("idx_agent_runs_user").on(e.userId),Bt("idx_agent_runs_org_created").on(e.orgId,e.createdAt),Bt("idx_agent_runs_project").on(e.projectId)]);import{pgTable as Ht,text as I,timestamp as ke,jsonb as X,uuid as E,integer as rt,uniqueIndex as Mo,index as j}from"drizzle-orm/pg-core";var d=Ht("sessions",{id:E("id").primaryKey().defaultRandom(),userId:E("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),externalSessionId:I("external_session_id"),projectId:E("project_id").references(()=>s.id,{onDelete:"set null"}),orgId:E("org_id").references(()=>u.id,{onDelete:"set null"}),tool:I("tool").notNull(),projectPath:I("project_path"),gitBranch:I("git_branch"),startedAt:ke("started_at",{withTimezone:!0}).notNull(),endedAt:ke("ended_at",{withTimezone:!0}),eventCount:rt("event_count").default(0),tokenUsage:X("token_usage"),analysis:X("analysis"),analyzedAt:ke("analyzed_at",{withTimezone:!0}),analyzedEventCount:rt("analyzed_event_count"),analyzedTurnCount:rt("analyzed_turn_count"),metadata:X("metadata").default({}),origin:I("origin").notNull().default("unknown"),runId:E("run_id").references(()=>g.id,{onDelete:"set null"}),model:I("model"),harnessVersion:I("harness_version"),createdAt:ke("created_at",{withTimezone:!0}).defaultNow()},e=>[j("idx_sessions_user").on(e.userId),j("idx_sessions_tool").on(e.tool),j("idx_sessions_started_at").on(e.startedAt),j("idx_sessions_project").on(e.projectId),j("idx_sessions_org_started_at").on(e.orgId,e.startedAt),j("idx_sessions_run").on(e.runId),Mo("idx_sessions_user_external").on(e.userId,e.externalSessionId)]),ue=Ht("session_events",{id:E("id").primaryKey().defaultRandom(),sessionId:E("session_id").notNull().references(()=>d.id,{onDelete:"cascade"}),sequence:rt("sequence").notNull(),eventType:I("event_type").notNull(),content:I("content"),toolName:I("tool_name"),toolInput:X("tool_input"),toolOutput:X("tool_output"),tokenUsage:X("token_usage"),model:I("model"),timestamp:ke("timestamp",{withTimezone:!0}).notNull(),metadata:X("metadata").default({})},e=>[Mo("session_events_session_sequence_idx").on(e.sessionId,e.sequence),j("idx_session_events_session_id").on(e.sessionId),j("idx_session_events_event_type").on(e.eventType),j("idx_session_events_model").on(e.model)]),H=Ht("session_instructions",{sessionId:E("session_id").notNull().references(()=>d.id,{onDelete:"cascade"}),instructionId:E("instruction_id").notNull().references(()=>r.id,{onDelete:"cascade"}),linkMethod:I("link_method").notNull(),contentHash:I("content_hash")},e=>[j("idx_session_instructions_instruction_id").on(e.instructionId)]);import{pgTable as Lr,text as le,timestamp as Ut,uuid as Ee,integer as Lo,index as st}from"drizzle-orm/pg-core";var T=Lr("memories",{id:Ee("id").primaryKey().defaultRandom(),userId:Ee("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),orgId:Ee("org_id"),projectId:Ee("project_id").references(()=>s.id,{onDelete:"set null"}),version:Lo("version").notNull().default(1),parentId:Ee("parent_id").references(()=>T.id,{onDelete:"set null"}),kind:le("kind").notNull(),title:le("title").notNull(),body:le("body").notNull(),source:le("source").notNull(),status:le("status").notNull().default("active"),trustClass:le("trust_class"),trustVersion:Lo("trust_version"),trustComputedAt:Ut("trust_computed_at",{withTimezone:!0}),createdAt:Ut("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:Ut("updated_at",{withTimezone:!0}).notNull().defaultNow()},e=>[st("idx_memories_user").on(e.userId),st("idx_memories_project").on(e.projectId),st("idx_memories_parent").on(e.parentId),st("idx_memories_user_status").on(e.userId,e.status)]);import{pgTable as Br,text as be,timestamp as Vt,uuid as Ft,integer as Bo,jsonb as Hr,index as Ho}from"drizzle-orm/pg-core";var Uo=Br("memory_experiments",{id:Ft("id").primaryKey().defaultRandom(),memoryId:Ft("memory_id").notNull().references(()=>T.id,{onDelete:"cascade"}),userId:Ft("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),memoryVersion:Bo("memory_version").notNull().default(1),taskPrompt:be("task_prompt").notNull(),expectations:be("expectations").array().notNull().default([]),trials:Bo("trials").notNull().default(10),model:be("model"),status:be("status").notNull().default("pending"),result:Hr("result").$type(),error:be("error"),createdAt:Vt("created_at",{withTimezone:!0}).notNull().defaultNow(),startedAt:Vt("started_at",{withTimezone:!0}),completedAt:Vt("completed_at",{withTimezone:!0})},e=>[Ho("idx_memory_experiments_memory").on(e.memoryId),Ho("idx_memory_experiments_user").on(e.userId)]);import{boolean as Ur,date as Vr,index as Gt,integer as Fr,jsonb as Gr,pgTable as Jt,text as A,timestamp as U,uniqueIndex as Jr,uuid as ce}from"drizzle-orm/pg-core";var Vo=Jt("announcements",{id:ce("id").primaryKey().defaultRandom(),version:A("version").notNull().unique(),releaseDate:Vr("release_date").notNull(),subject:A("subject").notNull(),htmlBody:A("html_body").notNull(),textBody:A("text_body").notNull(),sections:Gr("sections").notNull().default({}),status:A("status").notNull().default("draft"),recipientCount:Fr("recipient_count"),sentAt:U("sent_at",{withTimezone:!0}),sentBy:ce("sent_by"),error:A("error"),createdAt:U("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:U("updated_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Gt("idx_announcements_status").on(e.status),Gt("idx_announcements_created").on(e.createdAt)]),Fo=Jt("announcement_deliveries",{id:ce("id").primaryKey().defaultRandom(),announcementId:ce("announcement_id").notNull(),userId:ce("user_id").notNull(),email:A("email").notNull(),status:A("status").notNull().default("pending"),providerId:A("provider_id"),error:A("error"),sentAt:U("sent_at",{withTimezone:!0}),createdAt:U("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Jr("uniq_announcement_deliveries_announcement_user").on(e.announcementId,e.userId),Gt("idx_announcement_deliveries_user").on(e.userId,e.createdAt)]),Go=Jt("notification_preferences",{userId:ce("user_id").primaryKey(),productAnnouncements:Ur("product_announcements").notNull().default(!0),unsubscribeToken:A("unsubscribe_token").notNull().unique(),unsubscribedAt:U("unsubscribed_at",{withTimezone:!0}),createdAt:U("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:U("updated_at",{withTimezone:!0}).notNull().defaultNow()});import{pgTable as Yr,text as Yt,timestamp as it,uuid as at,index as Jo}from"drizzle-orm/pg-core";var b=Yr("org_invitations",{id:at("id").primaryKey().defaultRandom(),orgId:at("org_id").notNull().references(()=>u.id,{onDelete:"cascade"}),email:Yt("email").notNull(),role:Yt("role").notNull().default("member"),teamId:at("team_id").references(()=>h.id,{onDelete:"set null"}),invitedBy:at("invited_by").notNull().references(()=>o.id),token:Yt("token").notNull().unique(),expiresAt:it("expires_at",{withTimezone:!0}).notNull(),acceptedAt:it("accepted_at",{withTimezone:!0}),revokedAt:it("revoked_at",{withTimezone:!0}),createdAt:it("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Jo("idx_org_invitations_token").on(e.token),Jo("idx_org_invitations_org").on(e.orgId)]);import{pgTable as $r,text as Qr,timestamp as Wr,jsonb as Xr,uuid as $t,index as Yo}from"drizzle-orm/pg-core";var me=$r("instruction_events",{id:$t("id").primaryKey().defaultRandom(),instructionId:$t("instruction_id").notNull().references(()=>r.id,{onDelete:"cascade"}),eventType:Qr("event_type").notNull(),actorId:$t("actor_id").notNull(),metadata:Xr("metadata"),createdAt:Wr("created_at",{withTimezone:!0}).defaultNow()},e=>[Yo("idx_instruction_events_instruction").on(e.instructionId),Yo("idx_instruction_events_type").on(e.eventType)]);import{pgTable as $o,text as dt,timestamp as Qo,uuid as R,integer as Wo,index as _e,unique as Zr}from"drizzle-orm/pg-core";var S=$o("treatment_assignments",{id:R("id").primaryKey().defaultRandom(),userId:R("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),treatmentType:dt("treatment_type").notNull(),treatmentId:R("treatment_id").notNull(),treatmentVersion:Wo("treatment_version").notNull().default(1),projectId:R("project_id").references(()=>s.id,{onDelete:"set null"}),assignedBy:R("assigned_by").references(()=>o.id,{onDelete:"set null"}),method:dt("method").notNull(),assignedAt:Qo("assigned_at",{withTimezone:!0}).notNull().defaultNow()},e=>[_e("idx_treatment_assignments_user").on(e.userId),_e("idx_treatment_assignments_treatment").on(e.treatmentType,e.treatmentId),_e("idx_treatment_assignments_project").on(e.projectId)]),K=$o("treatment_exposures",{id:R("id").primaryKey().defaultRandom(),sessionId:R("session_id").notNull().references(()=>d.id,{onDelete:"cascade"}),userId:R("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),treatmentType:dt("treatment_type").notNull(),treatmentId:R("treatment_id").notNull(),treatmentVersion:Wo("treatment_version").notNull().default(1),assignmentId:R("assignment_id").references(()=>S.id,{onDelete:"set null"}),method:dt("method").notNull(),exposedAt:Qo("exposed_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Zr("treatment_exposures_unique").on(e.sessionId,e.treatmentType,e.treatmentId,e.treatmentVersion),_e("idx_treatment_exposures_treatment").on(e.treatmentType,e.treatmentId),_e("idx_treatment_exposures_user").on(e.userId),_e("idx_treatment_exposures_session").on(e.sessionId)]);import{pgTable as es,text as Qt,timestamp as ts,uuid as ut,integer as os,index as Xo,uniqueIndex as ns}from"drizzle-orm/pg-core";var Zo=es("pending_treatment_exposures",{id:ut("id").primaryKey().defaultRandom(),userId:ut("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),externalSessionId:Qt("external_session_id").notNull(),treatmentType:Qt("treatment_type").notNull(),treatmentId:ut("treatment_id").notNull(),treatmentVersion:os("treatment_version").notNull().default(1),method:Qt("method").notNull().default("injected"),projectId:ut("project_id").references(()=>s.id,{onDelete:"set null"}),createdAt:ts("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[ns("pending_treatment_exposures_unique").on(e.externalSessionId,e.treatmentType,e.treatmentId,e.treatmentVersion),Xo("idx_pending_treatment_exposures_ext").on(e.externalSessionId),Xo("idx_pending_treatment_exposures_user").on(e.userId)]);import{pgTable as rs,text as pe,timestamp as Wt,uuid as Xt,jsonb as ss,uniqueIndex as is,index as en}from"drizzle-orm/pg-core";var lt=rs("session_terminal_targets",{id:Xt("id").primaryKey().defaultRandom(),userId:Xt("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),sessionId:Xt("session_id").references(()=>d.id,{onDelete:"set null"}),externalSessionId:pe("external_session_id"),kind:pe("kind").notNull(),target:pe("target").notNull(),status:pe("status").notNull().default("active"),attachCommand:pe("attach_command").notNull(),projectPath:pe("project_path"),metadata:ss("metadata").notNull().default({}),lastSeenAt:Wt("last_seen_at",{withTimezone:!0}).defaultNow(),createdAt:Wt("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Wt("updated_at",{withTimezone:!0}).defaultNow()},e=>[is("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 as,index as ct,jsonb as tn,pgTable as ds,text as Z,timestamp as Se,uuid as mt,integer as us}from"drizzle-orm/pg-core";var on=ds("session_send_jobs",{id:mt("id").primaryKey().defaultRandom(),userId:mt("user_id").notNull(),sessionId:mt("session_id").notNull().references(()=>d.id,{onDelete:"cascade"}),terminalTargetId:mt("terminal_target_id").references(()=>lt.id,{onDelete:"set null"}),target:Z("target").notNull(),message:Z("message").notNull(),submit:as("submit").notNull().default(!0),delivery:Z("delivery").notNull().default("live"),status:Z("status").notNull().default("pending"),result:tn("result"),error:Z("error"),attempts:us("attempts").notNull().default(0),taskKind:Z("task_kind"),payload:tn("payload"),claimedBy:Z("claimed_by"),claimedAt:Se("claimed_at",{withTimezone:!0}),leaseExpiresAt:Se("lease_expires_at",{withTimezone:!0}),createdAt:Se("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Se("updated_at",{withTimezone:!0}).defaultNow(),completedAt:Se("completed_at",{withTimezone:!0})},e=>[ct("idx_session_send_jobs_user").on(e.userId),ct("idx_session_send_jobs_session").on(e.sessionId),ct("idx_session_send_jobs_status").on(e.status),ct("idx_session_send_jobs_pending").on(e.userId,e.status)]);import{pgTable as rn,text as ee,timestamp as _t,jsonb as sn,uuid as V,integer as ls,boolean as cs,uniqueIndex as ms,index as nn,primaryKey as _s}from"drizzle-orm/pg-core";var z=rn("packs",{id:V("id").primaryKey().defaultRandom(),name:ee("name").notNull(),description:ee("description").notNull(),scope:ee("scope").notNull(),scopeRef:V("scope_ref"),version:ee("version").notNull().default("1.0.0"),tags:ee("tags").array(),badge:ee("badge"),metadata:sn("metadata"),createdBy:V("created_by"),createdAt:_t("created_at",{withTimezone:!0}).defaultNow(),updatedAt:_t("updated_at",{withTimezone:!0}).defaultNow(),archived:cs("archived").default(!1),archivedAt:_t("archived_at",{withTimezone:!0}),archivedBy:V("archived_by"),forkedFromId:V("forked_from_id").references(()=>z.id,{onDelete:"set null"}),upstreamVersion:ee("upstream_version")},e=>[ms("packs_name_scope_ref_idx").on(e.name,e.scope,e.scopeRef),nn("idx_packs_scope").on(e.scope,e.scopeRef),nn("idx_packs_created_by").on(e.createdBy)]),F=rn("pack_instructions",{packId:V("pack_id").references(()=>z.id,{onDelete:"cascade"}).notNull(),instructionId:V("instruction_id").references(()=>r.id,{onDelete:"cascade"}).notNull(),position:ls("position").notNull().default(0),slotOverrides:sn("slot_overrides"),addedAt:_t("added_at",{withTimezone:!0}).defaultNow(),addedBy:V("added_by")},e=>[_s({columns:[e.packId,e.instructionId]})]);import{pgTable as ps,text as Zt,timestamp as fs,jsonb as xs,uuid as eo,index as fe}from"drizzle-orm/pg-core";var xe=ps("instruction_usage_events",{id:eo("id").primaryKey().defaultRandom(),instructionId:eo("instruction_id").references(()=>r.id,{onDelete:"set null"}),userId:eo("user_id").notNull(),surface:Zt("surface").notNull(),action:Zt("action").notNull(),metadata:xs("metadata"),traceId:Zt("trace_id"),createdAt:fs("created_at",{withTimezone:!0}).defaultNow()},e=>[fe("idx_usage_events_instruction").on(e.instructionId),fe("idx_usage_events_user").on(e.userId),fe("idx_usage_events_surface").on(e.surface),fe("idx_usage_events_action").on(e.action),fe("idx_usage_events_created_at").on(e.createdAt),fe("idx_usage_events_user_created").on(e.userId,e.createdAt)]);import{pgTable as Ns,text as pt,timestamp as an,jsonb as gs,uuid as dn,index as to}from"drizzle-orm/pg-core";var un=Ns("worker_connections",{id:dn("id").primaryKey().defaultRandom(),userId:dn("user_id").notNull(),workerType:pt("worker_type").notNull().default("mcp"),clientName:pt("client_name").notNull(),clientVersion:pt("client_version"),workerVersion:pt("worker_version"),lastHeartbeat:an("last_heartbeat",{withTimezone:!0}).notNull().defaultNow(),connectedAt:an("connected_at",{withTimezone:!0}).notNull().defaultNow(),metadata:gs("metadata")},e=>[to("idx_worker_connections_user").on(e.userId),to("idx_worker_connections_heartbeat").on(e.userId,e.lastHeartbeat),to("idx_worker_connections_type").on(e.userId,e.workerType)]);import{pgTable as vs,text as ft,timestamp as hs,jsonb as Is,uuid as ln,index as cn}from"drizzle-orm/pg-core";var mn=vs("cli_setup_events",{id:ln("id").primaryKey().defaultRandom(),userId:ln("user_id").notNull(),deviceId:ft("device_id").notNull(),event:ft("event").notNull(),cliVersion:ft("cli_version"),os:ft("os"),props:Is("props").notNull().default({}),createdAt:hs("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[cn("idx_cli_setup_events_user").on(e.userId,e.createdAt),cn("idx_cli_setup_events_device").on(e.deviceId,e.createdAt)]);import{pgTable as ys,text as te,integer as Ts,boolean as ws,timestamp as As,jsonb as zs,uuid as Ds,index as _n}from"drizzle-orm/pg-core";var pn=ys("cli_error_events",{id:Ds("id").primaryKey().defaultRandom(),deviceId:te("device_id"),event:te("event").notNull(),command:te("command"),statusCode:Ts("status_code"),message:te("message"),cliVersion:te("cli_version"),os:te("os"),nodeVersion:te("node_version"),proxied:ws("proxied"),props:zs("props").notNull().default({}),createdAt:As("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[_n("idx_cli_error_events_created").on(e.createdAt),_n("idx_cli_error_events_device").on(e.deviceId,e.createdAt)]);import{sql as js}from"drizzle-orm";import{pgTable as oe,text as m,timestamp as v,jsonb as w,uuid as c,integer as P,boolean as Ke,index as N,unique as fn}from"drizzle-orm/pg-core";var n=oe("eval_targets",{id:c("id").primaryKey().defaultRandom(),userId:c("user_id").notNull(),name:m("name").notNull(),type:m("type").notNull(),content:m("content").notNull(),description:m("description").notNull().default(""),metadata:w("metadata").notNull().default({}),version:P("version").notNull().default(1),parentId:c("parent_id").references(()=>n.id,{onDelete:"set null"}),createdAt:v("created_at",{withTimezone:!0}).defaultNow(),updatedAt:v("updated_at",{withTimezone:!0}).defaultNow()},e=>[N("eval_targets_name_user_idx").on(e.name,e.userId),N("idx_eval_targets_user").on(e.userId),N("idx_eval_targets_type").on(e.type),N("idx_eval_targets_parent").on(e.parentId)]),C=oe("evals",{id:c("id").primaryKey().defaultRandom(),evalTargetId:c("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),name:m("name").notNull(),prompt:m("prompt").notNull(),expectedOutput:m("expected_output").notNull().default(""),files:w("files").notNull().default([]),expectations:w("expectations").notNull().default([]),retiredAt:v("retired_at",{withTimezone:!0}),retiredReason:m("retired_reason"),createdAt:v("created_at",{withTimezone:!0}).defaultNow(),updatedAt:v("updated_at",{withTimezone:!0}).defaultNow(),contentUpdatedAt:v("content_updated_at",{withTimezone:!0}).notNull().defaultNow()},e=>[N("idx_evals_target").on(e.evalTargetId),N("idx_evals_target_active").on(e.evalTargetId).where(js`${e.retiredAt} IS NULL`)]),k=oe("eval_runs",{id:c("id").primaryKey().defaultRandom(),jobId:c("job_id"),evalId:c("eval_id").notNull().references(()=>C.id,{onDelete:"cascade"}),evalTargetId:c("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),evalTargetVersion:P("eval_target_version").notNull(),configuration:m("configuration").notNull(),runNumber:P("run_number").notNull().default(1),iteration:P("iteration").notNull().default(1),status:m("status").notNull().default("completed"),outputs:w("outputs").notNull().default({}),timing:w("timing").notNull().default({}),grading:w("grading").notNull().default({}),comparison:w("comparison"),createdAt:v("created_at",{withTimezone:!0}).defaultNow()},e=>[N("idx_eval_runs_eval").on(e.evalId),N("idx_eval_runs_target").on(e.evalTargetId),N("idx_eval_runs_iteration").on(e.evalTargetId,e.iteration)]),xn=oe("eval_comparisons",{id:c("id").primaryKey().defaultRandom(),userId:c("user_id").notNull(),targetAId:c("target_a_id").notNull().references(()=>n.id,{onDelete:"cascade"}),targetBId:c("target_b_id").notNull().references(()=>n.id,{onDelete:"cascade"}),targetAVersion:P("target_a_version").notNull(),targetBVersion:P("target_b_version").notNull(),isSwapped:Ke("is_swapped").notNull().default(!1),winnerTargetId:c("winner_target_id").references(()=>n.id,{onDelete:"set null"}),perEval:w("per_eval").notNull().default([]),overall:w("overall").notNull().default({}),rawOutput:m("raw_output"),model:m("model"),status:m("status").notNull().default("completed"),createdAt:v("created_at",{withTimezone:!0}).defaultNow()},e=>[N("idx_eval_comparisons_target_a").on(e.targetAId),N("idx_eval_comparisons_target_b").on(e.targetBId),N("idx_eval_comparisons_user").on(e.userId)]),Nn=oe("eval_grade_annotations",{id:c("id").primaryKey().defaultRandom(),userId:c("user_id").notNull(),evalRunId:c("eval_run_id").notNull().references(()=>k.id,{onDelete:"cascade"}),evalTargetId:c("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),expectationIndex:P("expectation_index").notNull(),expectationText:m("expectation_text").notNull(),judgePassed:Ke("judge_passed").notNull(),judgeMethod:m("judge_method").notNull(),judgeModel:m("judge_model"),verdict:m("verdict").notNull(),flag:m("flag"),note:m("note"),createdAt:v("created_at",{withTimezone:!0}).defaultNow(),updatedAt:v("updated_at",{withTimezone:!0}).defaultNow()},e=>[N("idx_eval_grade_annotations_target").on(e.evalTargetId),N("idx_eval_grade_annotations_run").on(e.evalRunId),fn("eval_grade_annotations_eval_run_id_expectation_index_key").on(e.evalRunId,e.expectationIndex)]),gn=oe("judge_reviewer_verdicts",{id:c("id").primaryKey().defaultRandom(),userId:c("user_id").notNull(),evalTargetId:c("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),evalRunId:c("eval_run_id").notNull().references(()=>k.id,{onDelete:"cascade"}),expectationIndex:P("expectation_index").notNull(),expectationText:m("expectation_text").notNull(),judgePassed:Ke("judge_passed").notNull(),humanPassed:Ke("human_passed").notNull(),reviewerEngine:m("reviewer_engine").notNull(),reviewerModel:m("reviewer_model").notNull(),reviewerPassed:Ke("reviewer_passed").notNull(),resolvedAt:v("resolved_at",{withTimezone:!0}),resolution:m("resolution"),createdAt:v("created_at",{withTimezone:!0}).defaultNow(),updatedAt:v("updated_at",{withTimezone:!0}).defaultNow()},e=>[N("idx_jrv_target").on(e.evalTargetId),fn("judge_reviewer_verdicts_eval_run_id_expectation_index_review_key").on(e.evalRunId,e.expectationIndex,e.reviewerModel)]),Ne=oe("benchmarks",{id:c("id").primaryKey().defaultRandom(),evalTargetId:c("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),iteration:P("iteration").notNull().default(1),runSummary:w("run_summary").notNull().default({}),notes:w("notes").notNull().default([]),feedback:w("feedback"),createdAt:v("created_at",{withTimezone:!0}).defaultNow()},e=>[N("idx_benchmarks_target").on(e.evalTargetId)]);import{sql as oo}from"drizzle-orm";import{pgTable as Rs,text as O,timestamp as ks,jsonb as xt,uuid as Nt,boolean as Es,index as Pe,uniqueIndex as bs}from"drizzle-orm/pg-core";var vn=Rs("instruction_promotions",{id:Nt("id").primaryKey().defaultRandom(),userId:Nt("user_id").notNull(),evalTargetId:Nt("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),instructionId:Nt("instruction_id").references(()=>r.id,{onDelete:"set null"}),fromContentHash:O("from_content_hash").notNull(),toContentHash:O("to_content_hash").notNull(),fromContent:O("from_content").notNull(),toContent:O("to_content").notNull(),proposalSource:O("proposal_source").notNull(),proposalRationale:O("proposal_rationale").notNull().default(""),decision:O("decision").notNull(),applied:Es("applied").notNull().default(!1),refusals:xt("refusals").notNull().default([]),rationale:O("rationale").notNull().default(""),effectClass:O("effect_class").notNull(),verdict:xt("verdict").notNull().default({}),gates:xt("gates").notNull().default({}),touchedSections:xt("touched_sections").notNull().default([]),createdAt:ks("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Pe("idx_instruction_promotions_budget").on(e.evalTargetId,e.createdAt.desc()).where(oo`${e.applied}`),Pe("idx_instruction_promotions_target").on(e.evalTargetId,e.createdAt.desc()),Pe("idx_instruction_promotions_user").on(e.userId,e.createdAt.desc()),Pe("idx_instruction_promotions_to_hash").on(e.toContentHash),bs("uq_instruction_promotions_applied").on(e.evalTargetId,e.fromContentHash,e.toContentHash).where(oo`${e.applied}`),Pe("idx_instruction_promotions_applied_hash").on(e.toContentHash,e.createdAt.desc()).where(oo`${e.applied}`)]);import{pgTable as In,text as no,timestamp as ro,jsonb as yn,uuid as ge,integer as Ce,index as gt,real as hn}from"drizzle-orm/pg-core";var ve=In("trigger_evals",{id:ge("id").primaryKey().defaultRandom(),evalTargetId:ge("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),userId:ge("user_id").notNull(),queries:yn("queries").notNull().default([]),status:no("status").notNull().default("pending_review"),trainIndices:Ce("train_indices").array().default([]),testIndices:Ce("test_indices").array().default([]),createdAt:ro("created_at",{withTimezone:!0}).defaultNow(),updatedAt:ro("updated_at",{withTimezone:!0}).defaultNow()},e=>[gt("idx_trigger_evals_target").on(e.evalTargetId),gt("idx_trigger_evals_user").on(e.userId)]),he=In("optimization_runs",{id:ge("id").primaryKey().defaultRandom(),evalTargetId:ge("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),userId:ge("user_id").notNull(),type:no("type").notNull(),iteration:Ce("iteration").notNull(),inputVersion:Ce("input_version").notNull(),outputVersion:Ce("output_version"),trainScore:hn("train_score"),testScore:hn("test_score"),analysis:yn("analysis").notNull().default({}),status:no("status").notNull().default("running"),createdAt:ro("created_at",{withTimezone:!0}).defaultNow()},e=>[gt("idx_optimization_runs_target").on(e.evalTargetId),gt("idx_optimization_runs_user").on(e.userId)]);import{pgTable as Ss,text as G,timestamp as Ks,jsonb as Oe,uuid as so,integer as io,real as Ps,index as qe,uniqueIndex as Tn}from"drizzle-orm/pg-core";var J=Ss("context_snapshots",{id:so("id").primaryKey().defaultRandom(),sessionId:so("session_id").references(()=>d.id,{onDelete:"cascade"}),userId:so("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),sequence:io("sequence").notNull().default(0),provider:G("provider").notNull(),model:G("model").notNull(),systemPrompt:G("system_prompt").notNull(),injectedInstructions:Oe("injected_instructions").notNull().default([]),messagesSummary:Oe("messages_summary").notNull(),tools:Oe("tools").notNull().default([]),systemHash:G("system_hash").notNull(),requestHash:G("request_hash").notNull().default(""),toolsHash:G("tools_hash"),injectedHash:G("injected_hash"),messagesDelta:Oe("messages_delta").default([]),messagesDeltaRef:G("messages_delta_ref"),maxTokens:io("max_tokens"),temperature:Ps("temperature"),estimatedTokens:io("estimated_tokens"),capturedAt:Ks("captured_at",{withTimezone:!0}).notNull().defaultNow(),metadata:Oe("metadata").default({})},e=>[qe("idx_context_snapshots_session").on(e.sessionId),qe("idx_context_snapshots_user").on(e.userId),qe("idx_context_snapshots_hash").on(e.systemHash),qe("idx_context_snapshots_request_hash").on(e.requestHash),Tn("idx_snapshots_session_request").on(e.sessionId,e.requestHash),Tn("idx_snapshots_session_sequence").on(e.sessionId,e.sequence),qe("idx_context_snapshots_user_session_captured").on(e.userId,e.sessionId,e.capturedAt.desc())]);import{pgTable as Cs,text as wn,timestamp as Os,jsonb as qs,integer as Ms,index as Ls}from"drizzle-orm/pg-core";var An=Cs("content_blobs",{hash:wn("hash").primaryKey(),contentType:wn("content_type").notNull(),content:qs("content").notNull(),sizeBytes:Ms("size_bytes").notNull().default(0),createdAt:Os("created_at",{withTimezone:!0}).defaultNow()},e=>[Ls("idx_content_blobs_type").on(e.contentType)]);import{pgTable as Bs,text as vt,timestamp as Me,jsonb as ht,uuid as ao,index as It,integer as Hs}from"drizzle-orm/pg-core";var Ie=Bs("eval_jobs",{id:ao("id").primaryKey().defaultRandom(),userId:ao("user_id").notNull(),evalTargetId:ao("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),status:vt("status").notNull().default("pending"),config:ht("config").notNull().default({}),progress:ht("progress").notNull().default({}),result:ht("result"),error:vt("error"),attempts:Hs("attempts").notNull().default(0),taskKind:vt("task_kind"),payload:ht("payload"),claimedBy:vt("claimed_by"),claimedAt:Me("claimed_at",{withTimezone:!0}),leaseExpiresAt:Me("lease_expires_at",{withTimezone:!0}),createdAt:Me("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Me("updated_at",{withTimezone:!0}).defaultNow(),completedAt:Me("completed_at",{withTimezone:!0})},e=>[It("idx_eval_jobs_user").on(e.userId),It("idx_eval_jobs_target").on(e.evalTargetId),It("idx_eval_jobs_status").on(e.status),It("idx_eval_jobs_pending").on(e.userId,e.status)]);import{pgTable as Us,text as Le,timestamp as Be,jsonb as zn,uuid as Dn,integer as Vs,index as jn}from"drizzle-orm/pg-core";var Rn=Us("agent_jobs",{id:Dn("id").primaryKey().defaultRandom(),userId:Dn("user_id").notNull(),taskKind:Le("task_kind").notNull(),status:Le("status").notNull().default("pending"),payload:zn("payload").notNull(),dedupeKey:Le("dedupe_key"),result:zn("result"),error:Le("error"),attempts:Vs("attempts").notNull().default(0),claimedBy:Le("claimed_by"),claimedAt:Be("claimed_at",{withTimezone:!0}),leaseExpiresAt:Be("lease_expires_at",{withTimezone:!0}),createdAt:Be("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:Be("updated_at",{withTimezone:!0}).notNull().defaultNow(),completedAt:Be("completed_at",{withTimezone:!0})},e=>[jn("idx_agent_jobs_claim").on(e.userId,e.status,e.taskKind,e.createdAt),jn("idx_agent_jobs_dedupe").on(e.userId,e.taskKind,e.dedupeKey)]);import{pgTable as Fs,text as He,timestamp as Ue,jsonb as yt,uuid as uo,index as Tt,integer as Gs}from"drizzle-orm/pg-core";var kn=Fs("insights_jobs",{id:uo("id").primaryKey().defaultRandom(),userId:uo("user_id").notNull(),status:He("status").notNull().default("pending"),projectPath:He("project_path"),projectId:uo("project_id").references(()=>s.id,{onDelete:"set null"}),config:yt("config").notNull().default({}),progress:yt("progress").notNull().default({}),result:yt("result"),error:He("error"),attempts:Gs("attempts").notNull().default(0),taskKind:He("task_kind"),payload:yt("payload"),claimedBy:He("claimed_by"),claimedAt:Ue("claimed_at",{withTimezone:!0}),leaseExpiresAt:Ue("lease_expires_at",{withTimezone:!0}),createdAt:Ue("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Ue("updated_at",{withTimezone:!0}).defaultNow(),completedAt:Ue("completed_at",{withTimezone:!0})},e=>[Tt("idx_insights_jobs_user").on(e.userId),Tt("idx_insights_jobs_status").on(e.status),Tt("idx_insights_jobs_pending").on(e.userId,e.status),Tt("idx_insights_jobs_project").on(e.projectId)]);import{pgTable as Js,text as lo,timestamp as wt,uuid as En,index as Ys,uniqueIndex as $s}from"drizzle-orm/pg-core";var ye=Js("api_keys",{id:En("id").primaryKey().defaultRandom(),userId:En("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),name:lo("name").notNull(),keyHash:lo("key_hash").notNull(),keyPrefix:lo("key_prefix").notNull(),lastUsedAt:wt("last_used_at",{withTimezone:!0}),expiresAt:wt("expires_at",{withTimezone:!0}),revokedAt:wt("revoked_at",{withTimezone:!0}),createdAt:wt("created_at",{withTimezone:!0}).defaultNow()},e=>[Ys("idx_api_keys_user").on(e.userId),$s("idx_api_keys_hash").on(e.keyHash)]);import{pgTable as Qs,text as co,timestamp as bn,uuid as Ws,index as Xs}from"drizzle-orm/pg-core";var Sn=Qs("extension_auth_codes",{code:co("code").primaryKey(),userId:Ws("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),editor:co("editor"),email:co("email"),expiresAt:bn("expires_at",{withTimezone:!0}).notNull(),createdAt:bn("created_at",{withTimezone:!0}).defaultNow()},e=>[Xs("idx_ext_auth_codes_expiry").on(e.expiresAt)]);import{pgTable as Zs,text as ei,timestamp as Kn,jsonb as ti,uuid as mo,index as Pn}from"drizzle-orm/pg-core";var Te=Zs("eval_conversations",{id:mo("id").primaryKey().defaultRandom(),evalTargetId:mo("eval_target_id").notNull().references(()=>n.id,{onDelete:"cascade"}),userId:mo("user_id").notNull(),messages:ti("messages").notNull().default([]),status:ei("status").notNull().default("active"),createdAt:Kn("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Kn("updated_at",{withTimezone:!0}).defaultNow()},e=>[Pn("idx_eval_conversations_target").on(e.evalTargetId),Pn("idx_eval_conversations_user").on(e.userId)]);import{pgTable as oi,text as q,timestamp as Cn,jsonb as ni,uuid as _o}from"drizzle-orm/pg-core";var On=oi("skill_submissions",{id:_o("id").primaryKey().defaultRandom(),skillId:q("skill_id").notNull(),name:q("name").notNull(),description:q("description").notNull(),category:q("category").notNull(),tools:q("tools").array().notNull(),tags:q("tags").array().default([]),content:q("content").notNull(),status:q("status").notNull().default("pending"),submittedBy:_o("submitted_by").notNull(),reviewedBy:_o("reviewed_by"),reviewNote:q("review_note"),metadata:ni("metadata"),createdAt:Cn("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Cn("updated_at",{withTimezone:!0}).defaultNow()});import{pgTable as ri,text as Ve,timestamp as qn,jsonb as si,uuid as ii,uniqueIndex as ai,index as Mn}from"drizzle-orm/pg-core";var Ln=ri("harness_releases",{id:ii("id").primaryKey().defaultRandom(),harness:Ve("harness").notNull(),version:Ve("version").notNull(),publishedAt:qn("published_at",{withTimezone:!0}).notNull(),title:Ve("title"),body:Ve("body"),categories:si("categories").default({}),url:Ve("url"),createdAt:qn("created_at",{withTimezone:!0}).defaultNow()},e=>[ai("idx_harness_releases_unique").on(e.harness,e.version),Mn("idx_harness_releases_harness").on(e.harness),Mn("idx_harness_releases_published").on(e.publishedAt)]);import{pgTable as di,text as we,timestamp as Bn,jsonb as ui,uuid as Hn,index as Un,uniqueIndex as li}from"drizzle-orm/pg-core";var po=di("notifications",{id:Hn("id").primaryKey().defaultRandom(),userId:Hn("user_id").notNull(),type:we("type").notNull(),title:we("title").notNull(),body:we("body"),url:we("url"),sourceTable:we("source_table"),sourceId:we("source_id"),metadata:ui("metadata").notNull().default({}),readAt:Bn("read_at",{withTimezone:!0}),createdAt:Bn("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Un("idx_notifications_user_created").on(e.userId,e.createdAt),Un("idx_notifications_user_unread").on(e.userId),li("idx_notifications_source_dedup").on(e.userId,e.sourceTable,e.sourceId)]);import{pgTable as ci,text as Fe,timestamp as Ge,jsonb as fo,uuid as xo,index as At,integer as mi}from"drizzle-orm/pg-core";var Ae=ci("launch_jobs",{id:xo("id").primaryKey().defaultRandom(),userId:xo("user_id").notNull(),tool:Fe("tool").notNull(),status:Fe("status").notNull().default("pending"),config:fo("config").notNull().default({}),result:fo("result"),error:Fe("error"),attempts:mi("attempts").notNull().default(0),taskKind:Fe("task_kind"),payload:fo("payload"),claimedBy:Fe("claimed_by"),claimedAt:Ge("claimed_at",{withTimezone:!0}),leaseExpiresAt:Ge("lease_expires_at",{withTimezone:!0}),createdAt:Ge("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Ge("updated_at",{withTimezone:!0}).defaultNow(),completedAt:Ge("completed_at",{withTimezone:!0}),runId:xo("run_id").references(()=>g.id,{onDelete:"set null"})},e=>[At("idx_launch_jobs_user").on(e.userId),At("idx_launch_jobs_status").on(e.status),At("idx_launch_jobs_pending").on(e.userId,e.status),At("idx_launch_jobs_run").on(e.runId)]);import{pgTable as Vn,uuid as M,text as Je,real as _i,timestamp as zt,boolean as pi,uniqueIndex as fi,index as Ye}from"drizzle-orm/pg-core";var No=Vn("instruction_suggestions",{id:M("id").primaryKey().defaultRandom(),userId:M("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),instructionId:M("instruction_id").notNull().references(()=>r.id,{onDelete:"cascade"}),projectPath:Je("project_path").notNull(),projectId:M("project_id").references(()=>s.id,{onDelete:"set null"}),score:_i("score").notNull(),reason:Je("reason").notNull(),generatedAt:zt("generated_at",{withTimezone:!0}).notNull().defaultNow(),isStale:pi("is_stale").notNull().default(!1),dismissedAt:zt("dismissed_at",{withTimezone:!0}),acceptedAt:zt("accepted_at",{withTimezone:!0}),promotedToInstructionId:M("promoted_to_instruction_id").references(()=>r.id,{onDelete:"set null"})},e=>[fi("idx_instruction_suggestions_user_project_instruction").on(e.userId,e.projectPath,e.instructionId),Ye("idx_instruction_suggestions_user_project").on(e.userId,e.projectPath),Ye("idx_instruction_suggestions_user_proj_id").on(e.userId,e.projectId),Ye("idx_instruction_suggestions_generated_at").on(e.generatedAt)]),Fn=Vn("instruction_suggestion_events",{id:M("id").primaryKey().defaultRandom(),suggestionId:M("suggestion_id").notNull().references(()=>No.id,{onDelete:"cascade"}),userId:M("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),eventType:Je("event_type").notNull(),tool:Je("tool"),sessionId:M("session_id"),projectPath:Je("project_path").notNull(),createdAt:zt("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Ye("idx_instruction_suggestion_events_suggestion_id").on(e.suggestionId),Ye("idx_instruction_suggestion_events_user_id").on(e.userId)]);import{pgTable as xi,text as go,integer as Ni,numeric as $e,timestamp as vo,index as gi,primaryKey as vi}from"drizzle-orm/pg-core";var Gn=xi("model_pricing",{provider:go("provider").notNull(),modelId:go("model_id").notNull(),inputPerM:$e("input_per_m").notNull(),outputPerM:$e("output_per_m").notNull(),cacheReadPerM:$e("cache_read_per_m").notNull(),cacheWrite5mPerM:$e("cache_write_5m_per_m").notNull(),cacheWrite1hPerM:$e("cache_write_1h_per_m").notNull(),contextWindow:Ni("context_window"),effectiveFrom:vo("effective_from",{withTimezone:!0}).notNull(),effectiveUntil:vo("effective_until",{withTimezone:!0}),source:go("source").notNull(),verifiedAt:vo("verified_at",{withTimezone:!0})},e=>[vi({columns:[e.provider,e.modelId,e.effectiveFrom]}),gi("idx_model_pricing_active").on(e.provider,e.modelId,e.effectiveFrom.desc())]);import{pgTable as hi,text as ne,numeric as Jn,timestamp as Yn,uuid as $n,jsonb as Ii,index as Qn}from"drizzle-orm/pg-core";var Wn=hi("limit_observations",{id:$n("id").primaryKey().defaultRandom(),observedAt:Yn("observed_at",{withTimezone:!0}).notNull().defaultNow(),provider:ne("provider").notNull(),plan:ne("plan").notNull(),limitType:ne("limit_type").notNull(),value:Jn("value").notNull(),unit:ne("unit").notNull(),comparator:ne("comparator").notNull().default("="),resetsAt:Yn("resets_at",{withTimezone:!0}),sourceType:ne("source_type").notNull(),sourceUrl:ne("source_url"),sourceEvidence:Ii("source_evidence"),confidence:Jn("confidence").notNull(),userId:$n("user_id")},e=>[Qn("idx_limit_obs_lookup").on(e.provider,e.plan,e.limitType,e.observedAt.desc()),Qn("idx_limit_obs_user").on(e.userId,e.observedAt.desc())]);import{pgTable as yi,text as Dt,timestamp as Ti,uuid as wi,jsonb as Ai,boolean as zi,uniqueIndex as Di}from"drizzle-orm/pg-core";var Xn=yi("provider_docs_snapshots",{id:wi("id").primaryKey().defaultRandom(),fetchedAt:Ti("fetched_at",{withTimezone:!0}).notNull().defaultNow(),provider:Dt("provider").notNull(),docUrl:Dt("doc_url").notNull(),contentHash:Dt("content_hash").notNull(),content:Dt("content").notNull(),parseSuccess:zi("parse_success").notNull(),parseErrors:Ai("parse_errors")},e=>[Di("idx_docs_dedup").on(e.provider,e.docUrl,e.contentHash)]);import{pgTable as ji,text as jt,numeric as Zn,timestamp as er,uuid as Ri,primaryKey as ki,index as Ei}from"drizzle-orm/pg-core";var tr=ji("plan_limits_active",{provider:jt("provider").notNull(),plan:jt("plan").notNull(),limitType:jt("limit_type").notNull(),value:Zn("value").notNull(),unit:jt("unit").notNull(),effectiveFrom:er("effective_from",{withTimezone:!0}).notNull(),effectiveUntil:er("effective_until",{withTimezone:!0}),confidence:Zn("confidence").notNull(),sourceObservationIds:Ri("source_observation_ids").array().notNull()},e=>[ki({columns:[e.provider,e.plan,e.limitType,e.effectiveFrom]}),Ei("idx_plan_limits_lookup").on(e.provider,e.plan,e.limitType,e.effectiveFrom.desc())]);import{pgTable as bi,text as ho,timestamp as Si,uuid as or,jsonb as Ki,index as Pi}from"drizzle-orm/pg-core";var nr=bi("alert_dispatches",{id:or("id").primaryKey().defaultRandom(),userId:or("user_id").notNull(),alertKey:ho("alert_key").notNull(),severity:ho("severity").notNull(),lastDispatchedAt:Si("last_dispatched_at",{withTimezone:!0}).notNull().defaultNow(),lastState:Ki("last_state").notNull(),channel:ho("channel").notNull()},e=>[Pi("idx_alert_user_key").on(e.userId,e.alertKey,e.lastDispatchedAt.desc())]);import{pgTable as Ci,text as Io,timestamp as rr,uuid as yo,integer as Oi,index as qi,unique as Mi}from"drizzle-orm/pg-core";var sr=Ci("scaffolding_fingerprints",{id:yo("id").primaryKey().defaultRandom(),userId:yo("user_id").notNull(),harness:Io("harness").notNull(),model:Io("model").notNull(),toolsHash:Io("tools_hash").notNull(),firstSeenAt:rr("first_seen_at",{withTimezone:!0}).notNull().defaultNow(),lastSeenAt:rr("last_seen_at",{withTimezone:!0}).notNull().defaultNow(),snapshotCount:Oi("snapshot_count").notNull().default(1),firstSessionId:yo("first_session_id")},e=>[Mi("scaffolding_fingerprints_user_id_harness_model_tools_hash_key").on(e.userId,e.harness,e.model,e.toolsHash),qi("idx_scaffolding_fp_segment").on(e.userId,e.harness,e.model)]);import{pgTable as Li,text as To,timestamp as Bi,jsonb as Hi,uuid as ir,integer as Ui,unique as Vi}from"drizzle-orm/pg-core";var ar=Li("scaffolding_segments",{id:ir("id").primaryKey().defaultRandom(),userId:ir("user_id").notNull(),harness:To("harness").notNull(),model:To("model").notNull(),coreNames:Hi("core_names").notNull(),coreHash:To("core_hash").notNull(),activeFingerprints:Ui("active_fingerprints").notNull(),computedAt:Bi("computed_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Vi("scaffolding_segments_user_id_harness_model_key").on(e.userId,e.harness,e.model)]);import{drizzle as mr}from"drizzle-orm/postgres-js";import _r from"postgres";var Rt={};Er(Rt,{agentJobs:()=>Rn,agentRuns:()=>g,agentRunsRelations:()=>sa,alertDispatches:()=>nr,announcementDeliveries:()=>Fo,announcements:()=>Vo,apiKeys:()=>ye,apiKeysRelations:()=>Gi,benchmarks:()=>Ne,benchmarksRelations:()=>Na,cliErrorEvents:()=>pn,cliSetupEvents:()=>mn,contentBlobs:()=>An,contextSnapshots:()=>J,contextSnapshotsRelations:()=>ya,evalComparisons:()=>xn,evalConversations:()=>Te,evalConversationsRelations:()=>Ia,evalGradeAnnotations:()=>Nn,evalJobs:()=>Ie,evalJobsRelations:()=>ha,evalRuns:()=>k,evalRunsRelations:()=>xa,evalTargets:()=>n,evalTargetsRelations:()=>pa,evals:()=>C,evalsRelations:()=>fa,extensionAuthCodes:()=>Sn,harnessReleases:()=>Ln,insightsJobs:()=>kn,instructionEvents:()=>me,instructionEventsRelations:()=>Zi,instructionPromotions:()=>vn,instructionSuggestionEvents:()=>Fn,instructionSuggestions:()=>No,instructionUsageEvents:()=>xe,instructionUsageEventsRelations:()=>_a,instructionVersionIdentities:()=>Po,instructionVersions:()=>ae,instructionVersionsRelations:()=>ta,instructions:()=>r,instructionsRelations:()=>Xi,judgeReviewerVerdicts:()=>gn,launchJobs:()=>Ae,launchJobsRelations:()=>ia,limitObservations:()=>Wn,memories:()=>T,memoriesRelations:()=>ea,memoryExperiments:()=>Uo,modelPricing:()=>Gn,notificationPreferences:()=>Go,notifications:()=>po,optimizationRuns:()=>he,optimizationRunsRelations:()=>va,orgInvitations:()=>b,orgInvitationsRelations:()=>$i,organizations:()=>u,organizationsRelations:()=>Ji,packInstructions:()=>F,packInstructionsRelations:()=>ma,packs:()=>z,packsRelations:()=>ca,pendingTreatmentExposures:()=>Zo,planLimitsActive:()=>tr,profiles:()=>o,profilesRelations:()=>Fi,projectCheckouts:()=>Oo,projectInstructions:()=>B,projectInstructionsRelations:()=>na,projects:()=>s,projectsRelations:()=>oa,providerDocsSnapshots:()=>Xn,scaffoldingFingerprints:()=>sr,scaffoldingSegments:()=>ar,sessionEvents:()=>ue,sessionEventsRelations:()=>aa,sessionInstructions:()=>H,sessionInstructionsRelations:()=>da,sessionSendJobs:()=>on,sessionTerminalTargets:()=>lt,sessions:()=>d,sessionsRelations:()=>ra,skillSubmissions:()=>On,teams:()=>h,teamsRelations:()=>Yi,treatmentAssignments:()=>S,treatmentAssignmentsRelations:()=>ua,treatmentExposures:()=>K,treatmentExposuresRelations:()=>la,triggerEvals:()=>ve,triggerEvalsRelations:()=>ga,userOrganizations:()=>se,userOrganizationsRelations:()=>Qi,userTeams:()=>ie,userTeamsRelations:()=>Wi,workerConnections:()=>un});import{relations as i}from"drizzle-orm";var Fi=i(o,({many:e})=>({sessions:e(d),contextSnapshots:e(J),apiKeys:e(ye)})),Gi=i(ye,({one:e})=>({profile:e(o,{fields:[ye.userId],references:[o.id]})})),Ji=i(u,({many:e})=>({teams:e(h),userOrganizations:e(se),projects:e(s),invitations:e(b)})),Yi=i(h,({one:e,many:t})=>({organization:e(u,{fields:[h.orgId],references:[u.id]}),userTeams:t(ie),invitations:t(b)})),$i=i(b,({one:e})=>({organization:e(u,{fields:[b.orgId],references:[u.id]}),team:e(h,{fields:[b.teamId],references:[h.id]}),inviter:e(o,{fields:[b.invitedBy],references:[o.id]})})),Qi=i(se,({one:e})=>({organization:e(u,{fields:[se.orgId],references:[u.id]})})),Wi=i(ie,({one:e})=>({team:e(h,{fields:[ie.teamId],references:[h.id]})})),Xi=i(r,({one:e,many:t})=>({versions:t(ae),projectInstructions:t(B),events:t(me),usageEvents:t(xe),sessionInstructions:t(H),packInstructions:t(F),forkedFrom:e(r,{fields:[r.forkedFromId],references:[r.id]})})),Zi=i(me,({one:e})=>({instruction:e(r,{fields:[me.instructionId],references:[r.id]})})),ea=i(T,({one:e,many:t})=>({project:e(s,{fields:[T.projectId],references:[s.id]}),parent:e(T,{fields:[T.parentId],references:[T.id]}),versions:t(T)})),ta=i(ae,({one:e})=>({instruction:e(r,{fields:[ae.instructionId],references:[r.id]})})),oa=i(s,({one:e,many:t})=>({organization:e(u,{fields:[s.orgId],references:[u.id]}),projectInstructions:t(B),sessions:t(d)})),na=i(B,({one:e})=>({project:e(s,{fields:[B.projectId],references:[s.id]}),instruction:e(r,{fields:[B.instructionId],references:[r.id]})})),ra=i(d,({one:e,many:t})=>({profile:e(o,{fields:[d.userId],references:[o.id]}),project:e(s,{fields:[d.projectId],references:[s.id]}),run:e(g,{fields:[d.runId],references:[g.id]}),events:t(ue),sessionInstructions:t(H),treatmentExposures:t(K),contextSnapshots:t(J)})),sa=i(g,({one:e,many:t})=>({profile:e(o,{fields:[g.userId],references:[o.id]}),organization:e(u,{fields:[g.orgId],references:[u.id]}),project:e(s,{fields:[g.projectId],references:[s.id]}),sessions:t(d),launchJobs:t(Ae)})),ia=i(Ae,({one:e})=>({run:e(g,{fields:[Ae.runId],references:[g.id]})})),aa=i(ue,({one:e})=>({session:e(d,{fields:[ue.sessionId],references:[d.id]})})),da=i(H,({one:e})=>({session:e(d,{fields:[H.sessionId],references:[d.id]}),instruction:e(r,{fields:[H.instructionId],references:[r.id]})})),ua=i(S,({one:e,many:t})=>({owner:e(o,{fields:[S.userId],references:[o.id]}),project:e(s,{fields:[S.projectId],references:[s.id]}),exposures:t(K)})),la=i(K,({one:e})=>({session:e(d,{fields:[K.sessionId],references:[d.id]}),owner:e(o,{fields:[K.userId],references:[o.id]}),assignment:e(S,{fields:[K.assignmentId],references:[S.id]})})),ca=i(z,({one:e,many:t})=>({packInstructions:t(F),forkedFrom:e(z,{fields:[z.forkedFromId],references:[z.id]})})),ma=i(F,({one:e})=>({pack:e(z,{fields:[F.packId],references:[z.id]}),instruction:e(r,{fields:[F.instructionId],references:[r.id]})})),_a=i(xe,({one:e})=>({instruction:e(r,{fields:[xe.instructionId],references:[r.id]})})),pa=i(n,({one:e,many:t})=>({parent:e(n,{fields:[n.parentId],references:[n.id]}),evals:t(C),evalRuns:t(k),benchmarks:t(Ne),triggerEvals:t(ve),optimizationRuns:t(he),evalJobs:t(Ie),evalConversations:t(Te)})),fa=i(C,({one:e,many:t})=>({evalTarget:e(n,{fields:[C.evalTargetId],references:[n.id]}),runs:t(k)})),xa=i(k,({one:e})=>({eval:e(C,{fields:[k.evalId],references:[C.id]}),evalTarget:e(n,{fields:[k.evalTargetId],references:[n.id]})})),Na=i(Ne,({one:e})=>({evalTarget:e(n,{fields:[Ne.evalTargetId],references:[n.id]})})),ga=i(ve,({one:e})=>({evalTarget:e(n,{fields:[ve.evalTargetId],references:[n.id]})})),va=i(he,({one:e})=>({evalTarget:e(n,{fields:[he.evalTargetId],references:[n.id]})})),ha=i(Ie,({one:e})=>({evalTarget:e(n,{fields:[Ie.evalTargetId],references:[n.id]})})),Ia=i(Te,({one:e})=>({evalTarget:e(n,{fields:[Te.evalTargetId],references:[n.id]})})),ya=i(J,({one:e})=>({session:e(d,{fields:[J.sessionId],references:[d.id]}),profile:e(o,{fields:[J.userId],references:[o.id]})}));var Qe=0,dr=0,We=0,ur=0;var Ta=0;function wo(){Qe++,Qe>dr&&(dr=Qe)}p(wo,"trackDbOpStart");function Ao(){Qe>0&&Qe--}p(Ao,"trackDbOpEnd");function zo(){We++,We>ur&&(ur=We)}p(zo,"trackHeavyDbOpStart");function Do(){We>0&&We--}p(Do,"trackHeavyDbOpEnd");function lr(){Ta++}p(lr,"recordQueryDeadline");var Et,St,jo=!1,kt;var cr,Kt,bt;function pr(e){let t=process.env[e];if(!t)throw new Error(`Missing required env var: ${e}`);return t}p(pr,"getEnv");function fr(){if(jo)throw new Error("getDb() called after closeDb(): the connection pool is closed for shutdown. Stop issuing queries (timers/requests) before draining the pool.");if(!Et){let e=process.env.PG_APPLICATION_NAME||"rulemetric",t=Number(process.env.PG_POOL_MAX)||3,a=Number(process.env.PG_CONNECT_TIMEOUT_S)||10,l=Number(process.env.PG_STATEMENT_TIMEOUT_MS)||0,_=Number(process.env.PG_IDLE_TIMEOUT)||5,f=Number(process.env.PG_KEEP_ALIVE_S)||60;St=_r(pr("DATABASE_URL"),{prepare:!1,max:t,connect_timeout:a,idle_timeout:_,keep_alive:f,max_lifetime:300,connection:{application_name:e,...l>0?{statement_timeout:l}:{}}}),Et=mr(St,{schema:Rt})}return Et}p(fr,"getDb");function xr(){if(jo)throw new Error("getHeavyDb() called after closeDb(): the connection pool is closed for shutdown. Stop issuing queries (timers/requests) before draining the pool.");if(!bt){let e=(process.env.PG_APPLICATION_NAME||"rulemetric")+":heavy",t=Number(process.env.PG_HEAVY_POOL_MAX)||2;Kt=_r(pr("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}}),bt=mr(Kt,{schema:Rt})}return bt}p(xr,"getHeavyDb");async function wa(){if(kt)return kt;jo=!0;let e=St,t=cr,a=Kt;return St=void 0,Et=void 0,cr=void 0,Kt=void 0,bt=void 0,kt=Promise.allSettled([e?e.end({timeout:5}):Promise.resolve(),t?t.end({timeout:5}):Promise.resolve(),a?a.end({timeout:5}):Promise.resolve()]).then(()=>{}),kt}p(wa,"closeDb");var Aa=new Set(["CONNECT_TIMEOUT","ETIMEDOUT","ENOTFOUND","ECONNREFUSED","EAI_AGAIN"]);function Nr(e){let t=e,a=t?.code??t?.cause?.code??t?.errno;return a!==void 0&&Aa.has(a)}p(Nr,"isRetryableConnectError");var za=new Set(["CONNECTION_CLOSED","ECONNRESET","EPIPE"]);function gr(e){let t=e,a=t?.code??t?.cause?.code??t?.errno;return a!==void 0&&za.has(a)}p(gr,"isRetryableResetError");async function vr(e,t={}){let a=t.attempts??3,l=t.baseMs??100,_;for(let f=0;f<a;f++)try{return await e()}catch(y){_=y;let ze=Nr(y)||t.retryResets===!0&&gr(y);if(f===a-1||!ze)throw y;await new Promise(Y=>setTimeout(Y,l*2**f))}throw _}p(vr,"withDbRetry");var Pt=class extends Error{static{p(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 hr(){let e=Number(process.env.PG_QUERY_DEADLINE_MS);return Number.isFinite(e)&&e>=0?e:2e4}p(hr,"queryDeadlineMs");function Da(e,t){let a,l=new Promise((_,f)=>{a=setTimeout(()=>{lr(),f(new Pt(t))},t);let y=a;typeof y.unref=="function"&&y.unref()});return Promise.race([e,l]).finally(()=>clearTimeout(a))}p(Da,"raceWithDeadline");var Ir=new Set(["select","selectDistinct","selectDistinctOn","insert","update","delete","execute","with","$count","refreshMaterializedView"]),yr=new Set(["select","selectDistinct","selectDistinctOn","$count"]);function Ro(e,t=!1,a=0,l=!1){return e===null||typeof e!="object"&&typeof e!="function"?e:new Proxy(e,{get(_,f,y){if(f==="then"){let Y=Reflect.get(_,f,y);return typeof Y!="function"?Y:(Ar,zr)=>{let Dr=l?zo:wo,jr=l?Do:Ao;Dr();let ko=vr(()=>new Promise((Rr,kr)=>Y.call(_,Rr,kr)),{retryResets:t});return(a>0?Da(ko,a):ko).finally(jr).then(Ar,zr)}}let ze=Reflect.get(_,f,y);return typeof ze=="function"?(...Y)=>Ro(ze.apply(_,Y),t,a,l):ze}})}p(Ro,"wrapBuilder");function Tr(e,t=!1){let a=t?zo:wo,l=t?Do:Ao;a();try{return Promise.resolve(e()).finally(l)}catch(_){throw l(),_}}p(Tr,"gaugeTransaction");var wr=new Proxy({},{get(e,t){let a=fr(),l=a[t];if(typeof t=="string"&&Ir.has(t)&&typeof l=="function"){let _=yr.has(t),f=hr();return(...y)=>Ro(l.apply(a,y),_,f)}return t==="transaction"&&typeof l=="function"?(..._)=>Tr(()=>l.apply(a,_)):l}}),ja=new Proxy({},{get(e,t){let a=xr(),l=a[t];if(typeof t=="string"&&Ir.has(t)&&typeof l=="function"){let _=yr.has(t);return(...f)=>Ro(l.apply(a,f),_,0,!0)}return t==="transaction"&&typeof l=="function"?(..._)=>Tr(()=>l.apply(a,_),!0):l}});export{o as a,g as b,d as c,T as d,Uo as e,Vo as f,Fo as g,Go as h,fr as i,wa as j};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{d as u,e as t,i as x}from"./chunk-3DLVY7LD.js";import{a as E}from"./chunk-7AZKPX2J.js";import{a as A}from"./chunk-WKXTY5AM.js";import{c as P}from"./chunk-HMMO27U4.js";import{a as f}from"./chunk-ZLLER3HP.js";import{eq as s}from"drizzle-orm";var v=f(m=>(m.summary.pass_rate??0)>=1?1:0,"fullPassScore");async function q(m,d={}){let r=d.db??x(),w=d.executeEval??P,y=d.grade??E,n=d.now??Date.now,[e]=await r.select().from(t).where(s(t.id,m.experimentId)).limit(1);if(!e)return{skipped:"not_found"};if(e.status==="completed"||e.status==="failed")return{skipped:"already_terminal",status:e.status};let[g]=await r.select({body:u.body}).from(u).where(s(u.id,e.memoryId)).limit(1);if(!g)return await r.update(t).set({status:"failed",error:"memory no longer exists",completedAt:new Date(n())}).where(s(t.id,e.id)),{skipped:"memory_gone",status:"failed"};await r.update(t).set({status:"running",startedAt:new Date(n())}).where(s(t.id,e.id));let b=e.expectations??[],l=e.model??void 0,a=[],h=0;try{for(let i=0;i<e.trials;i++){let c=await w({prompt:e.taskPrompt,targetContent:g.body,model:l}),p=await w({prompt:e.taskPrompt,model:l});if(c.error||p.error){h++;continue}let[D,M]=await Promise.all([y({prompt:e.taskPrompt,output:c.output,expectations:b,model:l}),y({prompt:e.taskPrompt,output:p.output,expectations:b,model:l})]);a.push({withScore:v(D),withoutScore:v(M),withLatency:c.durationMs/1e3,withoutLatency:p.durationMs/1e3})}if(a.length===0){let i=`no trials completed (${h}/${e.trials} runs errored \u2014 is the claude CLI available?)`;return await r.update(t).set({status:"failed",error:i,completedAt:new Date(n())}).where(s(t.id,e.id)),{status:"failed",requestedTrials:e.trials,completedTrials:0}}let o=A(a);return await r.update(t).set({status:"completed",result:{verdict:o,pairs:a,completedTrials:a.length,model:l??null},completedAt:new Date(n())}).where(s(t.id,e.id)),{status:"completed",requestedTrials:e.trials,completedTrials:a.length,significant:o.significant,delta:o.delta}}catch(o){let i=o instanceof Error?o.message:String(o);return await r.update(t).set({status:"failed",error:i.slice(0,500),completedAt:new Date(n())}).where(s(t.id,e.id)),{status:"failed",requestedTrials:e.trials,completedTrials:a.length}}}f(q,"processMemoryAb");export{q as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{f as u}from"./chunk-
|
|
1
|
+
import{f as u}from"./chunk-MODFTCZY.js";import{a}from"./chunk-ZLLER3HP.js";var h=5,l=a(t=>t==null?"n/a":`${Math.round(t*100)}%`,"pct");function d(t){return!t||t.length===0?"":`
|
|
2
2
|
|
|
3
3
|
## Prior cases that FAILED to discriminate \u2014 do NOT reproduce these
|
|
4
4
|
The cases below were run WITH and WITHOUT the instruction and did NOT separate the two
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as d}from"./chunk-CJRYYV76.js";import{b as u}from"./chunk-
|
|
1
|
+
import{a as d}from"./chunk-CJRYYV76.js";import{b as u}from"./chunk-BSJBNOJT.js";import{e as o}from"./chunk-H2ORWIEY.js";import{a as c}from"./chunk-ZLLER3HP.js";async function w(e,g){let i=c(a=>g?.logger?.info?.(a)??console.log(a),"log"),{evalTargetId:n}=e,s=await o(`/api/eval-targets/${n}/judge-calibration`),t=d({powered:s.powerCheck.powered,mde:s.powerCheck.mde??Number.POSITIVE_INFINITY},s.caseDiscrimination??{total:0,discriminating:0,nonDiscriminating:0,unpaired:0},{runsCompleted:0,maxRuns:e.maxRuns??24,batchesRun:0,maxBatches:1});if(t.action==="stop")return i(`[cron_eval_autorun] ${n}: ${t.reason}`),{skipped:t.code,reason:t.reason};let r=await o(`/api/eval-targets/${n}`),l=(await o(`/api/eval-targets/${n}/evals`)).filter(a=>!a.retiredAt);if(l.length===0)return{skipped:"no-live-cases"};let{completed:m,failed:p}=await u({cases:l,targetContent:r.content,concurrency:2,runNumber:1,opts:{targetId:n,targetVersion:r.version??1,iteration:1,timeout:e.timeout??24e4,model:e.model,graderModel:e.graderModel,skipGrading:!1,targetType:r.type,targetName:r.name},onLog:i});return i(`[cron_eval_autorun] ${r.name}: ${m} completed, ${p} failed`),{ranRuns:m,reason:t.reason}}c(w,"cronEvalAutorun");export{w as a};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{y as w}from"./chunk-
|
|
1
|
+
import{y as w}from"./chunk-7DFNBRLY.js";import{a as m}from"./chunk-N7ODX6PO.js";import{a as s}from"./chunk-ZLLER3HP.js";import{spawn as g}from"node:child_process";import d from"node:fs";import b from"node:path";function c(e,t){return new Promise((r,n)=>{let o=g("git",e,{cwd:t,stdio:["ignore","pipe","pipe"],env:m()}),i="",f="";o.stdout.on("data",a=>{i+=a.toString()}),o.stderr.on("data",a=>{f+=a.toString()}),o.on("error",a=>n(new Error(`git ${e.join(" ")} failed to spawn: ${a.message}`))),o.on("close",a=>{a===0?r({code:a,stdout:i,stderr:f}):n(new Error(`git ${e.join(" ")} exited ${a}: ${f.trim()||i.trim()}`))})})}s(c,"runGit");async function k(e,t){if(!t||!t.trim())throw new Error('invalid branch name "": branch must be a non-empty git refname');if(t.startsWith("-"))throw new Error(`invalid branch name "${t}": must not start with "-" (git would parse it as an option)`);if(/\s/.test(t))throw new Error(`invalid branch name "${t}": must not contain whitespace`);try{await c(["check-ref-format","--branch",t],e)}catch{throw new Error(`invalid branch name "${t}": not a valid git refname`)}}s(k,"assertValidBranch");function h(e){let t=b.resolve(e);try{return d.realpathSync(t)}catch{return t}}s(h,"canonical");function y(e){let t=[],r=null;for(let n of e.split(`
|
|
2
2
|
`))n.startsWith("worktree ")?(r&&t.push(r),r={path:n.slice(9).trim()}):n.startsWith("branch ")&&r&&(r.branch=n.slice(7).trim().replace(/^refs\/heads\//,""));return r&&t.push(r),t}s(y,"parseWorktreeList");async function v(e,t){try{return await c(["show-ref","--verify","--quiet",`refs/heads/${t}`],e),!0}catch{return!1}}s(v,"branchExists");async function B(e){let{repoRoot:t,branch:r,baseRef:n,allowExistingBranch:o=!1}=e;await k(t,r);let i=w({repoRoot:t,branch:r,basePath:e.basePath}),f=await c(["worktree","list","--porcelain"],t),a=y(f.stdout),p=a.find(u=>u.branch===r);if(p)return{path:h(p.path),branch:r,created:!1};let l=a.find(u=>h(u.path)===i);if(l)return{path:h(l.path),branch:l.branch??r,created:!1};if(await v(t,r)){if(!o)throw new Error(`branch "${r}" already exists with no worktree; refusing to clobber (pass allowExistingBranch:true to attach a worktree onto it)`);return await c(["worktree","add",i,r],t),{path:h(i),branch:r,created:!0}}return await c(["worktree","add",i,"-b",r,n],t),{path:h(i),branch:r,created:!0}}s(B,"ensureWorktree");async function S(e){let{repoRoot:t,worktreePath:r}=e;if(!d.existsSync(r))return{removed:!1,reason:"absent"};let n=!1;try{n=(await c(["status","--porcelain"],r)).stdout.trim().length>0}catch{n=!1}if(n)return{removed:!1,reason:"dirty"};try{return await c(["worktree","remove",r],t),{removed:!0}}catch(o){let i=o instanceof Error?o.message:String(o);if(/not a working tree|No such file or directory|not a valid path|is not a working tree/i.test(i))return{removed:!1,reason:"absent"};throw o}}s(S,"removeWorktree");export{c as a,B as b,S as c};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as S,b as _}from"./chunk-CDY7TQFZ.js";import{c as w}from"./chunk-
|
|
1
|
+
import{a as S,b as _}from"./chunk-CDY7TQFZ.js";import{c as w}from"./chunk-V5MJ4ICC.js";import{c as A}from"./chunk-HMMO27U4.js";import{a as u}from"./chunk-ZLLER3HP.js";var E=`You are a rigorous eval grader. Your job is to evaluate whether an AI assistant's output meets a set of expectations.
|
|
2
2
|
|
|
3
3
|
You will receive:
|
|
4
4
|
1. The original prompt that was given to the AI
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as I,g as x,h as C,j as _,m as b}from"./chunk-VLXCQ2DC.js";import{c as d}from"./chunk-MVM6OGAF.js";import{d as g}from"./chunk-
|
|
1
|
+
import{a as I,g as x,h as C,j as _,m as b}from"./chunk-VLXCQ2DC.js";import{c as d}from"./chunk-MVM6OGAF.js";import{d as g}from"./chunk-OPUI7CM2.js";import{e as v}from"./chunk-H2ORWIEY.js";import{g as m,l as E}from"./chunk-O6C2UGBY.js";import{a as i}from"./chunk-ZLLER3HP.js";import{execSync as j}from"node:child_process";import{existsSync as p,readFileSync as y}from"node:fs";import{homedir as f}from"node:os";import{join as a}from"node:path";var P=["install","auth","hooks","worker"],$=["judge"],M=[...P,...$];function O(){return{projectPath:process.cwd(),configDir:E()}}i(O,"defaultContext");var A=a(f(),".mitmproxy","mitmproxy-ca-cert.pem");function S(e){if(!e)return"";if(e.length<=8)return"*".repeat(e.length);let t=e.slice(0,4),n=e.slice(-4);return`${t}${"*".repeat(Math.max(4,e.length-8))}${n}`}i(S,"maskToken");function te(e,t){let n=e===null?[]:e.replace(/\n$/,"").split(`
|
|
2
2
|
`),o=t===null?[]:t.replace(/\n$/,"").split(`
|
|
3
3
|
`),s=[],u=Math.max(n.length,o.length);for(let c=0;c<u;c++){let l=n[c],r=o[c];l===r?s.push(` ${l}`):(l!==void 0&&s.push(`-${l}`),r!==void 0&&s.push(`+${r}`))}return s.join(`
|
|
4
4
|
`)}i(te,"renderDiff");function R(e,t){let n=a(e,"env");if(!p(n))return null;try{let s=y(n,"utf-8").match(new RegExp(`^${t}=(.+)$`,"m"));return s?s[1]:null}catch{return null}}i(R,"readEnvValue");async function T(){if(!m())return!1;try{return(await Promise.race([v("/api/setup/status"),new Promise((t,n)=>setTimeout(()=>n(new Error("setup/status timeout")),2500))]))?.workerActive===!0}catch{return!1}}i(T,"workerActive");function k(e,t){let n=a(e,".claude",t),o={},s=null;if(p(n))try{s=y(n,"utf-8").replace(/\n$/,""),o=JSON.parse(s)}catch{o={}}return{settings:o,before:s}}i(k,"readProjectSettings");function D(e){let{settings:t,before:n}=k(e,"settings.local.json");return x(t),{before:n,after:JSON.stringify(t,null,2)}}i(D,"projectHooksSettings");function N(e){let{settings:t,before:n}=k(e,"settings.local.json"),o={...t.env??{}};return o.HTTPS_PROXY=`http://localhost:${d}`,o.NO_PROXY=_,o.NODE_EXTRA_CA_CERTS=A,{before:n,after:JSON.stringify({...t,env:o},null,2)}}i(N,"projectProxyEnvSettings");function U(e){let{settings:t,before:n}=k(e,"settings.json");if(n===null)return null;let{removed:o}=b(t,d);return o?{before:n,after:JSON.stringify(t,null,2)}:null}i(U,"projectSharedSettingsMigration");var G=a(f(),"Library","LaunchAgents","com.rulemetric.worker.plist"),H=a(f(),".config","systemd","user","rulemetric-worker.service");function h(e){j(e,{stdio:"inherit"})}i(h,"runCommand");var w=[{id:"install",title:"Install the CLI",command:"npm install -g @rulemetric/cli",async detect(){return m()||await T()},async plan(){return{id:"install",title:"Install the CLI",command:"npm install -g @rulemetric/cli",artifacts:[{path:"npm install -g @rulemetric/cli",kind:"command",before:null,after:"rulemetric --version # verifies the binary is on PATH"}]}},async apply(){h("npm install -g @rulemetric/cli")}},{id:"auth",title:"Authenticate",command:"rulemetric auth login",async detect(){return m()},async plan(e){let t=a(e.configDir,"env"),n=null;if(p(t))try{n=B(y(t,"utf-8"))}catch{n="(unreadable)"}let o=R(e.configDir,"RULEMETRIC_ACCESS_TOKEN"),u=[`RULEMETRIC_ACCESS_TOKEN=${S(o||"<token-from-login>")}`],c=R(e.configDir,"RULEMETRIC_API_KEY");c&&u.push(`RULEMETRIC_API_KEY=${S(c)}`);let l=process.env.RULEMETRIC_API_URL;l&&u.push(`RULEMETRIC_API_URL=${l}`);let r=u.join(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as M}from"./chunk-5RBLIVBF.js";import{a as T}from"./chunk-YQ56FQEO.js";import{b as A}from"./chunk-
|
|
1
|
+
import{a as M}from"./chunk-5RBLIVBF.js";import{a as T}from"./chunk-YQ56FQEO.js";import{b as A}from"./chunk-3VYV6ZYB.js";import{e as S}from"./chunk-L2CFSMBC.js";import{a as x}from"./chunk-7AZKPX2J.js";import{c as C}from"./chunk-HMMO27U4.js";import{e as k,f as E,h as p}from"./chunk-H2ORWIEY.js";import{a as w}from"./chunk-ZLLER3HP.js";async function W(v,f){let{mirrorId:i,evalTargetId:g,config:o}=v,a=w(e=>f.logger.info(e),"log"),s=await k(`/api/eval-targets/${g}`),$=await k(`/api/eval-targets/${g}/evals`);if($.length===0&&o.generateIfEmpty){a("No eval cases on target \u2014 generating from content via local LLM...");let e=await A({content:s.content,name:s.name});if(e===null)throw new Error("Case generation requires an LLM backend (claude CLI on PATH or ANTHROPIC_API_KEY) \u2014 none available on this worker.");let n=[];for(let t of e)n.push(await E(`/api/eval-targets/${g}/evals`,t));$=n,a(`Generated ${n.length} eval case(s)`)}if($.length===0)throw new M("No evals defined for target");let G=o.runsPerEval??1,R=o.timeout??12e4,j=o.iteration??1,y=new Set;if(f.job.attempts>1)for(let n=0;;n+=100){let t=await k(`/api/eval-targets/${g}/runs?jobId=${i}&limit=100&offset=${n}`);for(let r of t)y.add(`${r.evalId}|${r.configuration}|${r.runNumber}|${r.iteration}`);if(t.length<100)break}let _=[{name:"with_target",content:s.content}];o.skipBaseline||_.push({name:"without_target"});let d=[];for(let e of $)for(let n of _)for(let t=1;t<=G;t++)y.has(`${e.id}|${n.name}|${t}|${j}`)||d.push({eval_:e,configuration:n.name,targetContent:n.content,runNumber:t});y.size>0&&a(`Resuming attempt ${f.job.attempts}: ${y.size} run(s) already persisted, ${d.length} remaining`);let l=d.length,u=0,m=Math.min(o.parallel??1,4);await p(`/api/eval-jobs/${i}/progress`,{status:"running",progress:{total:l,completed:0,current:null,message:`Starting ${l} eval runs (concurrency: ${m})...`}});let b=[];async function I(e){let n=`${e.configuration} \xB7 ${e.eval_.name} \xB7 run#${e.runNumber}`;a(`[${u+1}/${l}] ${n}`);let t=S({targetType:s.type,targetContent:e.targetContent,targetName:s.name});t.leakedFiles.length&&a(`\u26A0 CONTAMINATED ${n}: ${t.leakedFiles.join(", ")} survived the strip`);try{let r=await C({prompt:e.eval_.prompt,targetContent:t.systemPrompt,workDir:t.workDir,timeout:R,model:o.model}),c={};return!o.skipGrading&&e.eval_.expectations.length>0&&!r.error&&(c=await x({prompt:e.eval_.prompt,output:r.output,expectations:e.eval_.expectations,model:o.graderModel??o.model,timeout:R})),{jobId:i,evalId:e.eval_.id,evalTargetId:s.id,evalTargetVersion:s.version,configuration:e.configuration,runNumber:e.runNumber,iteration:j,status:r.error?"failed":"completed",outputs:{...r.error?{error:r.error}:{transcript:r.output,...r.model?{model:r.model}:{}},methodology:t.methodology,delivery:t.delivery,isolated:t.isWorktree,...t.leakedFiles.length?{leakedFiles:t.leakedFiles}:{}},timing:{duration_ms:r.durationMs,total_tokens:r.totalTokens},grading:c,worktree:t.isWorktree?!0:void 0}}finally{t.cleanup()}}if(w(I,"processItem"),m<=1)for(let e of d){let n=`${e.configuration} \xB7 ${e.eval_.name} \xB7 run#${e.runNumber}`;await p(`/api/eval-jobs/${i}/progress`,{status:"running",progress:{total:l,completed:u,current:n,message:`Executing ${n}...`}});let t=await I(e);await E("/api/eval-runs",t),b.push(t),u++,await p(`/api/eval-jobs/${i}/progress`,{status:"running",progress:{total:l,completed:u,current:n,message:`Completed ${n}`}})}else{a(`Running ${l} evals with concurrency=${m} (worktree isolation)`);for(let e=0;e<d.length;e+=m){let n=d.slice(e,e+m),t=`batch ${Math.floor(e/m)+1}/${Math.ceil(d.length/m)}`;await p(`/api/eval-jobs/${i}/progress`,{status:"running",progress:{total:l,completed:u,current:t,message:`Executing ${t} (${n.length} parallel)...`}});let r=await Promise.all(n.map(I));for(let c of r)await E("/api/eval-runs",c),b.push(c),u++;await p(`/api/eval-jobs/${i}/progress`,{status:"running",progress:{total:l,completed:u,current:t,message:`Completed ${t}`}})}}let P=J(b),h;if(!o.skipGrading&&b.some(e=>e.grading&&Object.keys(e.grading).length>0))try{a(`Running meta-judge for job ${i}...`);let e=$.map(n=>{let r=b.filter(c=>c.evalId===n.id&&c.configuration==="with_target")[0];return{evalName:n.name,prompt:n.prompt,expectations:n.expectations,grading:r?.grading?r.grading:null,output:r?.outputs?.transcript?.slice(0,500)}});h=await T({targetName:s.name,evalResults:e,model:o.graderModel??o.model,timeout:6e4}),a(`Meta-judge: quality=${h.quality_score}/5, issues=${h.issues.length}`)}catch(e){a(`Meta-judge failed (non-fatal): ${e instanceof Error?e.message:String(e)}`)}let N=h?{...P,meta_judgement:h}:P;return a(`Job ${i} completed: ${u}/${l} runs`),await p(`/api/eval-jobs/${i}/state`,{result:N}).catch(e=>{a(`result persist failed: ${e instanceof Error?e.message:String(e)}`)}),N}w(W,"processEval");function J(v){let f=v.filter(a=>a.status==="completed"),i=v.filter(a=>a.status==="failed"),g=f.filter(a=>{let s=a.grading;return s&&Object.keys(s).length>0}),o=g.length>0?g.reduce((a,s)=>a+(s.grading?.summary?.pass_rate??0),0)/g.length:null;return{total:v.length,completed:f.length,failed:i.length,avgPassRate:o}}w(J,"buildSummary");export{W as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as $}from"./chunk-L2CFSMBC.js";import{a as v}from"./chunk-
|
|
1
|
+
import{e as $}from"./chunk-L2CFSMBC.js";import{a as v}from"./chunk-7AZKPX2J.js";import{c as f}from"./chunk-HMMO27U4.js";import{f as p}from"./chunk-H2ORWIEY.js";import{a as m}from"./chunk-ZLLER3HP.js";async function x(c,e,s=()=>{}){let{eval_:r,configuration:i,targetContent:g,runNumber:o}=c;s(`[${i}] ${r.name} run#${o} \u2014 executing...`);let n=$({targetType:e.targetType,targetContent:g,targetName:e.targetName}),d={methodology:n.methodology,delivery:n.delivery,isolated:n.isWorktree,...n.leakedFiles.length?{leakedFiles:n.leakedFiles}:{}};n.isWorktree||s(`[${i}] ${r.name} run#${o} \u2014 \u26A0 no git worktree; running without repo context`),n.leakedFiles.length&&s(`[${i}] ${r.name} run#${o} \u2014 \u26A0 CONTAMINATED: ${n.leakedFiles.join(", ")} survived the strip`);try{let a=await f({prompt:r.prompt,targetContent:n.systemPrompt,workDir:n.workDir,timeout:e.timeout,model:e.model});if(a.error)return s(`[${i}] ${r.name} run#${o} \u2014 FAILED: ${a.error}`),{evalId:r.id,evalTargetId:e.targetId,evalTargetVersion:e.targetVersion,configuration:i,runNumber:o,iteration:e.iteration,status:"failed",outputs:{error:a.error,...d},timing:{duration_ms:a.durationMs,total_tokens:a.totalTokens},grading:{}};s(`[${i}] ${r.name} run#${o} \u2014 completed in ${(a.durationMs/1e3).toFixed(1)}s`);let u={};if(!e.skipGrading&&r.expectations.length>0){s(`[${i}] ${r.name} run#${o} \u2014 grading...`);let t=await v({prompt:r.prompt,output:a.output,expectations:r.expectations,model:e.graderModel??e.model,timeout:e.timeout});u=t,s(`[${i}] ${r.name} run#${o} \u2014 grading done: pass_rate=${t.summary.pass_rate==null?"n/a (all assertions errored)":`${(t.summary.pass_rate*100).toFixed(0)}%`}`)}return{evalId:r.id,evalTargetId:e.targetId,evalTargetVersion:e.targetVersion,configuration:i,runNumber:o,iteration:e.iteration,status:"completed",outputs:{transcript:a.output,...d},timing:{duration_ms:a.durationMs,total_tokens:a.totalTokens,total_duration_seconds:a.durationMs/1e3},grading:u}}finally{n.cleanup()}}m(x,"executeAndGradeCase");async function _(c){let{cases:e,targetContent:s,concurrency:r,runNumber:i,opts:g,skipBaseline:o,onLog:n=m(()=>{},"onLog")}=c,d=o?["with_target"]:["with_target","without_target"],a=[];for(let t of e)for(let l of d)a.push({eval_:t,configuration:l,targetContent:l==="with_target"?s:void 0,runNumber:i});let u=[];for(let t=0;t<a.length;t+=Math.max(1,r)){let l=a.slice(t,t+Math.max(1,r)),k=await Promise.all(l.map(b=>x(b,g,n)));u.push(...k)}for(let t of u)try{await p("/api/eval-runs",t)}catch(l){n(` \u26A0 failed to post a run result: ${l instanceof Error?l.message:String(l)}`)}try{await p(`/api/eval-targets/${g.targetId}/label-state`,{})}catch(t){n(` \u26A0 label-state notification skipped: ${t instanceof Error?t.message:String(t)}`)}return{completed:u.filter(t=>t.status==="completed").length,failed:u.filter(t=>t.status==="failed").length,results:u}}m(_,"runBatchAndPost");export{x as a,_ as b};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as S,b as z,c as T}from"./chunk-QFVGUZDO.js";import{a as
|
|
1
|
+
import{a as S,b as z,c as T}from"./chunk-QFVGUZDO.js";import{a as O}from"./chunk-ZL4MZMUK.js";import{a as j}from"./chunk-5RBLIVBF.js";import{c as A,d as C,f as b}from"./chunk-MODFTCZY.js";import{e as _,f as I,h as u}from"./chunk-H2ORWIEY.js";import{a as $}from"./chunk-ZLLER3HP.js";async function D(f,m){let{mirrorId:o,projectPath:s,projectId:i,config:p}=f,e=$(n=>m.logger.info(n),"log");if(p?.sessionId)return M({mirrorId:o,sessionId:p.sessionId},e);e(`Processing insights job ${o}...`),await u(`/api/insights-jobs/${o}/progress`,{status:"running",progress:{step:"reading_data"}});try{let{repaired:n}=await I("/api/sessions/repair-analyzed-at",{});n>0&&e(` Repaired analyzed_at on ${n} orphan session(s).`)}catch(n){e(` Warning: analyzed_at repair failed: ${n instanceof Error?n.message:String(n)}`)}let a=await J(s,i);if(!a)throw new j("No session data found \u2014 ensure sessions are captured and enriched.");e(` Found ${a.stats.sessions} sessions, generating recommendations...`);let w=20,c=200;if(C()!=="none"){let n=0,t=0;try{for(;n<c;){let l=await _(`/api/sessions?hasAnalysis=false&limit=${w}&offset=${t}`);if(l.length===0)break;e(` Generating facets for ${l.length} un-analyzed sessions (drained ${n} so far)...`);for(let g of l){if(n>=c)break;try{let d=await _(`/api/sessions/${g.id}/events?limit=100`);if(d.length<2){n++,t++;continue}let P=d.filter(h=>h.eventType==="user_message"||h.eventType==="human").map(h=>h.content?.slice(0,200)??"").filter(Boolean).join(`
|
|
2
2
|
---
|
|
3
3
|
`);if(!P){n++,t++;continue}let E=await b(T,P,4096);if(E){let h=d.filter(R=>R.eventType==="user_message"||R.eventType==="human").length;await u(`/api/sessions/${g.id}/enrich`,{analysis:{source:"generated_facets",...E},analyzedEventCount:d.length,analyzedTurnCount:h}),e(` Generated facets for session ${g.id} (${g.tool})`)}else t++;n++}catch(d){e(` Failed to generate facets for session ${g.id}: ${d instanceof Error?d.message:String(d)}`),n++,t++}}if(l.length<w)break}}catch(l){e(` Warning: facet generation failed after ${n} sessions: ${l instanceof Error?l.message:String(l)}`)}}let r={},y=S.length+1;for(let n=0;n<S.length;n++){let t=S[n];e(` [${n+1}/${y}] Generating ${t.name}...`);try{await u(`/api/insights-jobs/${o}/progress`,{status:"running",progress:{step:t.name,current:n+1,total:y,partial:{...r}}})}catch(g){e(` Warning: progress update failed for ${t.name}: ${g instanceof Error?g.message:String(g)}`)}e(` Running LLM prompt for ${t.name}...`);let l=await b(t.prompt,a.summary,t.maxTokens);l?(r[t.name]=l,e(` Got result for ${t.name}`)):e(` No result for ${t.name} (LLM returned null)`)}e(` [${y}/${y}] Generating at_a_glance...`),await u(`/api/insights-jobs/${o}/progress`,{status:"running",progress:{step:"at_a_glance",current:y,total:y,partial:{...r}}});let N=[a.summary,r.what_works?`
|
|
4
4
|
## What Works
|
|
@@ -11,5 +11,5 @@ ${JSON.stringify(r.suggestions)}`:"",r.on_the_horizon?`
|
|
|
11
11
|
${JSON.stringify(r.on_the_horizon)}`:""].join(`
|
|
12
12
|
`),k=await b(z,N,8192);k&&(r.at_a_glance=k),e(" Uploading results..."),e(` Done! Recommendations generated for job ${o}`),O(r);let v={recommendations:r};return await u(`/api/insights-jobs/${o}/state`,{result:v}).catch(n=>{e(`result persist failed: ${n instanceof Error?n.message:String(n)}`)}),v}$(D,"processInsights");async function M(f,m){let{mirrorId:o,sessionId:s}=f;m(`Analyzing session ${s} via tool CLI...`),await u(`/api/insights-jobs/${o}/progress`,{status:"running",progress:{step:"fetching_session"}});let i=await _(`/api/sessions/${s}`);if(i.analysis&&i.analysis.source==="session_analysis")return m(` Session ${s} already analyzed \u2014 skipping (idempotency guard)`),{sessionId:s,skipped:!0,reason:"already_analyzed"};let p=await _(`/api/sessions/${s}/events?limit=100`);if(p.length<2)throw new j("Session has too few events to analyze");let e=p.filter(c=>c.eventType==="user_message"||c.eventType==="human").map(c=>c.content?.slice(0,200)??"").filter(Boolean).join(`
|
|
13
13
|
---
|
|
14
|
-
`);if(!e)throw new j("No user messages found in session");await u(`/api/insights-jobs/${o}/progress`,{status:"running",progress:{step:"running_analysis",tool:i.tool}});let a=A(i.tool,T,e);if(!a)throw new Error(`Analysis failed \u2014 ${i.tool} CLI returned no result`);let w=p.filter(c=>c.eventType==="user_message"||c.eventType==="human").length;return await u(`/api/sessions/${s}/enrich`,{analysis:{source:"session_analysis",tool:i.tool,...a},analyzedEventCount:p.length,analyzedTurnCount:w}),m(` Session ${s} analyzed via ${i.tool}`),{sessionId:s,tool:i.tool,facets:a}}$(M,"processSessionAnalysisInline");async function J(f,m){try{let o=new URLSearchParams;m?o.set("projectId",m):f&&o.set("projectPath",f);let s=await _(`/api/insights/compute?${o}`);if(!s||s.total_sessions===0)return null;let i=Object.entries(s.tool_counts??{}).sort((e,a)=>a[1]-e[1]).slice(0,10).map(([e,a])=>`${e}: ${a}`).join(", ");return{summary:[`Sessions: ${s.total_sessions}, Messages: ${s.total_messages}, Hours: ${Math.round(s.total_duration_hours)}`,`Top tools: ${i}`,s.goal_categories&&Object.keys(s.goal_categories).length>0?`Goals: ${JSON.stringify(s.goal_categories)}`:"",s.friction&&Object.keys(s.friction).length>0?`Friction: ${JSON.stringify(s.friction)}`:"",s.outcomes&&Object.keys(s.outcomes).length>0?`Outcomes: ${JSON.stringify(s.outcomes)}`:"",s.projects&&Object.keys(s.projects).length>0?`Projects: ${JSON.stringify(s.projects)}`:""].filter(Boolean).join(`
|
|
14
|
+
`);if(!e)throw new j("No user messages found in session");await u(`/api/insights-jobs/${o}/progress`,{status:"running",progress:{step:"running_analysis",tool:i.tool}});let a=await A(i.tool,T,e);if(!a)throw new Error(`Analysis failed \u2014 ${i.tool} CLI returned no result`);let w=p.filter(c=>c.eventType==="user_message"||c.eventType==="human").length;return await u(`/api/sessions/${s}/enrich`,{analysis:{source:"session_analysis",tool:i.tool,...a},analyzedEventCount:p.length,analyzedTurnCount:w}),m(` Session ${s} analyzed via ${i.tool}`),{sessionId:s,tool:i.tool,facets:a}}$(M,"processSessionAnalysisInline");async function J(f,m){try{let o=new URLSearchParams;m?o.set("projectId",m):f&&o.set("projectPath",f);let s=await _(`/api/insights/compute?${o}`);if(!s||s.total_sessions===0)return null;let i=Object.entries(s.tool_counts??{}).sort((e,a)=>a[1]-e[1]).slice(0,10).map(([e,a])=>`${e}: ${a}`).join(", ");return{summary:[`Sessions: ${s.total_sessions}, Messages: ${s.total_messages}, Hours: ${Math.round(s.total_duration_hours)}`,`Top tools: ${i}`,s.goal_categories&&Object.keys(s.goal_categories).length>0?`Goals: ${JSON.stringify(s.goal_categories)}`:"",s.friction&&Object.keys(s.friction).length>0?`Friction: ${JSON.stringify(s.friction)}`:"",s.outcomes&&Object.keys(s.outcomes).length>0?`Outcomes: ${JSON.stringify(s.outcomes)}`:"",s.projects&&Object.keys(s.projects).length>0?`Projects: ${JSON.stringify(s.projects)}`:""].filter(Boolean).join(`
|
|
15
15
|
`),stats:{sessions:s.total_sessions,totalMessages:s.total_messages,totalHours:s.total_duration_hours,toolCounts:s.tool_counts,goalCounts:s.goal_categories,frictionCounts:s.friction}}}catch{return null}}$(J,"buildDataSummaryFromApi");export{D as a};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as R}from"./chunk-
|
|
1
|
+
import{c as R}from"./chunk-6QKI756T.js";import{b as s,c as r,i as j}from"./chunk-3DLVY7LD.js";import{a as P}from"./chunk-5RBLIVBF.js";import{a as g}from"./chunk-ZLLER3HP.js";import{and as y,eq as l,isNotNull as I}from"drizzle-orm";async function O($,p={}){let k=p.db??j(),b=p.removeWorktreeFn??R,n=p.log??(e=>process.stderr.write(`[process_run_cleanup] ${e}
|
|
2
2
|
`)),{runId:t}=$,[i]=await k.select({id:s.id,userId:s.userId,projectPath:s.projectPath}).from(s).where(l(s.id,t)).limit(1);if(!i)throw new P(`Run ${t} not found`);if(!i.projectPath)throw new P(`Run ${t} has no projectPath; cannot resolve a repo root for worktree cleanup`);let c=i.projectPath,v=await k.select({id:r.id,projectPath:r.projectPath}).from(r).where(y(l(r.runId,t),l(r.userId,i.userId),I(r.endedAt))),a=[],u=0,d=0,h=0,m=0,w=new Set;for(let e of v)if(!(!e.projectPath||e.projectPath===c)&&!w.has(e.projectPath)){w.add(e.projectPath);try{let o=await b({repoRoot:c,worktreePath:e.projectPath});o.removed?(u++,a.push({sessionId:e.id,worktreePath:e.projectPath,status:"removed"}),n(`removed worktree ${e.projectPath} (session ${e.id})`)):o.reason==="dirty"?(d++,a.push({sessionId:e.id,worktreePath:e.projectPath,status:"skipped-dirty"}),n(`skipped dirty worktree ${e.projectPath} (session ${e.id}) \u2014 uncommitted changes`)):(h++,a.push({sessionId:e.id,worktreePath:e.projectPath,status:"absent"}),n(`worktree absent ${e.projectPath} (session ${e.id})`))}catch(o){let f=o instanceof Error?o.message:String(o);m++,a.push({sessionId:e.id,worktreePath:e.projectPath,status:"error",error:f.slice(0,1e3)}),n(`error removing worktree ${e.projectPath} (session ${e.id}): ${f}`)}}return n(`run ${t} cleanup: removed=${u} skippedDirty=${d} absent=${h} errored=${m}`),{runId:t,repoRoot:c,removed:u,skippedDirty:d,absent:h,errored:m,worktrees:a}}g(O,"processRunCleanup");export{O as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as C}from"./chunk-TIOKY2IA.js";import{b as I}from"./chunk-W2MOTOQE.js";import{a as R}from"./chunk-3FJT6LL4.js";import{a as T}from"./chunk-DAGDGAPU.js";import{a as A}from"./chunk-RSKQRVPJ.js";import{a as y}from"./chunk-JEBHSV2M.js";import{a as _}from"./chunk-L5ORQB25.js";import{b as H}from"./chunk-Q76LGSIU.js";import{a as M}from"./chunk-WEF5LPGS.js";import{a as S}from"./chunk-ZAWAPLIE.js";import{a as h}from"./chunk-AIEM6VXO.js";import{a as E}from"./chunk-BZUIMHHT.js";import{b}from"./chunk-5RBLIVBF.js";import{a as L}from"./chunk-LEXVC7VH.js";import{a as N}from"./chunk-5W55CRBJ.js";import{d as P}from"./chunk-JR4CWY3J.js";import{a as x}from"./chunk-UR6GZGFK.js";import{a as k}from"./chunk-UF6US7VU.js";import{d as w}from"./chunk-OPUI7CM2.js";import{b as f,e as v,f as p}from"./chunk-H2ORWIEY.js";import{a as s}from"./chunk-ZLLER3HP.js";var W={process_eval:h,process_insights:E,process_launch:I,process_send_message:A,process_conversation:S,process_session_goal:y,distill_memories:H,memory_ab:R,process_announcement:M,process_run_cleanup:T,cron_suggest_instructions:_,cron_refresh_skills:k,cron_refresh_pricing:x,cron_eval_autorun:N,cron_instruction_evolution:P,process_judge_review:L},D=Object.keys(W),F=new Set(["process_announcement","process_run_cleanup","memory_ab"]);function J(e=process.env){return e.DATABASE_URL?D:D.filter(n=>!F.has(n))}s(J,"availableCapabilities");var U=3e4,K=3e4,G=3e4,V=250,B=5e3,q=`thin-agent-${process.pid}`,g=null;function Q(e,n,r,l){let c;try{let d=w();c={claude:d.claudeBin!=null,codex:d.codexBin!=null,codexModel:d.codexConfiguredModel}}catch{}let i=s(d=>{p("/api/workers/heartbeat",{workerType:"cli-worker",clientName:q,clientVersion:l,workerVersion:"0.1.0",currentJobId:null,inFlightCount:0,lastError:null,status:d,metadata:{capabilities:e,mode:"thin-agent",llmEngines:c}}).then(u=>{let t=u?.advisory;t&&t.message!==g?(g=t.message,a(r,{event:"worker_advisory",code:t.code,message:t.message})):t||(g=null)}).catch(u=>{a(r,{event:"presence_heartbeat_error",error:u instanceof Error?u.message:String(u)})})},"send");i("alive");let o=setInterval(()=>i("alive"),G);n.addEventListener("abort",()=>{clearInterval(o),i("shutting_down")},{once:!0})}s(Q,"startPresenceHeartbeat");function a(e,n){try{e(JSON.stringify({ts:new Date().toISOString(),...n}))}catch{e(`[agent-loop] log_error event=${n.event}`)}}s(a,"structuredLog");function O(e,n){return n.aborted?Promise.resolve(!1):e<=0?Promise.resolve(!0):new Promise(r=>{let l=setTimeout(()=>{n.removeEventListener("abort",c),r(!0)},e),c=s(()=>{clearTimeout(l),n.removeEventListener("abort",c),r(!1)},"onAbort");n.addEventListener("abort",c,{once:!0})})}s(O,"abortableSleep");async function X(e,n){let r=`capabilities=${encodeURIComponent(e.join(","))}&waitMs=${n}`,l=await v(`/api/work/next?${r}`);return l==null||typeof l=="string"?null:l}s(X,"pollForWork");function z(e,n){return{logger:{info:s(r=>n(r),"info"),warn:s(r=>n(r),"warn"),error:s(r=>n(r),"error")},job:{attempts:e}}}s(z,"makeHelpers");async function Y(e,n,r){let l=W[e.kind],c=Date.now();if(a(r,{event:"claim",jobId:e.id,kind:e.kind,attempts:e.attempts}),!l){let o=`unknown kind: ${e.kind}`;a(r,{event:"fail",jobId:e.id,kind:e.kind,terminal:!0,error:o}),await p(`/api/work/${e.id}/fail`,{leaseToken:e.leaseToken,error:o,terminal:!0}).catch(()=>{});return}let i=setInterval(()=>{a(r,{event:"heartbeat",jobId:e.id}),p(`/api/work/${e.id}/heartbeat`,{leaseToken:e.leaseToken}).catch(o=>{a(r,{event:"heartbeat_error",jobId:e.id,error:o instanceof Error?o.message:String(o)})})},n);try{let o=z(e.attempts,r),d=await l(e.payload,o)??{};clearInterval(i),a(r,{event:"complete",jobId:e.id,kind:e.kind,durationMs:Date.now()-c}),await p(`/api/work/${e.id}/complete`,{leaseToken:e.leaseToken,result:d})}catch(o){clearInterval(i);let d=b(o),u=o instanceof Error?o.message:String(o);a(r,{event:"fail",jobId:e.id,kind:e.kind,durationMs:Date.now()-c,terminal:d,error:u}),await p(`/api/work/${e.id}/fail`,{leaseToken:e.leaseToken,error:u,terminal:d}).catch(t=>{a(r,{event:"fail_post_error",jobId:e.id,error:t instanceof Error?t.message:String(t)})})}}s(Y,"runOne");async function we(e){let n=e.log??(()=>{}),r=e.pollWaitMs??U,l=e.heartbeatIntervalMs??K,c=e.capabilities??J(),i=V;a(n,{event:"agent_start",capabilities:c,pollWaitMs:r,heartbeatIntervalMs:l}),Q(c,e.signal,n,e.version),C({signal:e.signal,log:n}).catch(t=>{a(n,{event:"tt_heartbeat_fatal",error:t instanceof Error?t.message:String(t)})});let o=5*6e4,d=0,u=s(()=>{if(!e.readInstalledVersion||!e.version)return!1;let t=Date.now();if(t-d<o)return!1;d=t;let m=e.readInstalledVersion();return!!(m&&m!==e.version)},"versionDrifted");for(;!e.signal.aborted;){if(u()){a(n,{event:"agent_version_drift",bootVersion:e.version,installedVersion:e.readInstalledVersion?.()??null}),e.onVersionDrift?.();break}let t=null;try{t=await X(c,r)}catch(m){let $=m instanceof f?m.statusCode:void 0;if(a(n,{event:"poll_error",status:$,error:m instanceof Error?m.message:String(m)}),!await O(i,e.signal))break;i=Math.min(i*2,B);continue}if(!t){if(a(n,{event:"poll_204"}),!await O(i,e.signal))break;i=Math.min(i*2,B);continue}i=V,await Y(t,l,n)}a(n,{event:"agent_stop"})}s(we,"runAgentLoop");export{W as a,D as b,J as c,X as d,we as e};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as E,o as m}from"./chunk-
|
|
1
|
+
import{c as E,o as m}from"./chunk-7DFNBRLY.js";import{a as d}from"./chunk-H2ORWIEY.js";import{a as c}from"./chunk-ZLLER3HP.js";import*as p from"node:fs";import*as u from"node:path";import*as _ from"node:os";function T(){if(process.env.RULEMETRIC_API_KEY||process.env.RULEMETRIC_ACCESS_TOKEN)return;let s=u.join(_.homedir(),".config","rulemetric","env");C(s)||C(u.join(process.cwd(),".env.local"))}c(T,"ensureEnv");function C(s){try{let t=p.readFileSync(s,"utf-8");for(let n of t.split(`
|
|
2
2
|
`)){let e=n.trim();if(!e||e.startsWith("#"))continue;let o=e.indexOf("=");if(o<0)continue;let r=e.slice(0,o).trim(),i=e.slice(o+1).trim();process.env[r]||(process.env[r]=i)}return!!(process.env.RULEMETRIC_API_KEY||process.env.RULEMETRIC_ACCESS_TOKEN)}catch{return!1}}c(C,"loadEnvFile");T();async function I(s){let t={totalSessions:0,totalCalls:0,totalInputTokens:0,totalOutputTokens:0,totalCacheReadTokens:0,totalCacheWriteTokens:0,totalCostUSD:0,providers:{}},n=await m(s);t.providers={};for(let a of n)t.providers[a.provider]=(t.providers[a.provider]||0)+1;let e=new E,o=n.filter(a=>a.provider==="claude");for(let a of o)try{let h=p.readdirSync(a.path).filter(f=>f.endsWith(".jsonl"));t.totalSessions+=h.length;for(let f of h){let v=p.readFileSync(u.join(a.path,f),"utf-8"),R=e.parse(v);for(let l of R.events)l.tokenUsage&&(t.totalCalls++,t.totalInputTokens+=l.tokenUsage.input,t.totalOutputTokens+=l.tokenUsage.output,t.totalCacheReadTokens+=l.tokenUsage.cacheRead??0,t.totalCacheWriteTokens+=l.tokenUsage.cacheWrite??0)}}catch{}let r=15,i=75;return t.totalCostUSD=Math.round((t.totalInputTokens/1e6*r+t.totalOutputTokens/1e6*i+t.totalCacheReadTokens/1e6*(r*.1)+t.totalCacheWriteTokens/1e6*(r*1.25))*100)/100,t}c(I,"loadLocalStats");async function U(s){let t=process.env.RULEMETRIC_API_URL??d,n=process.env.RULEMETRIC_API_KEY,e=process.env.RULEMETRIC_ACCESS_TOKEN,o=n??e;if(!o)return null;let r=new URLSearchParams;s&&r.set("projectPath",s);try{let i=await fetch(`${t}/api/insights/compute?${r}`,{headers:{Authorization:`Bearer ${o}`},signal:AbortSignal.timeout(5e3)});return i.ok?await i.json():null}catch{return null}}c(U,"loadApiInsights");async function g(s){let t=process.env.RULEMETRIC_API_URL??d,n=process.env.RULEMETRIC_API_KEY??process.env.RULEMETRIC_ACCESS_TOKEN;if(!n)return null;let e=new URLSearchParams;s&&e.set("projectPath",s);try{let o=await fetch(`${t}/api/insights/linked-instructions?${e}`,{headers:{Authorization:`Bearer ${n}`},signal:AbortSignal.timeout(5e3)});return o.ok?await o.json():null}catch{return null}}c(g,"loadLinkedInstructions");export{I as a,U as b,g as c};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{f}from"./chunk-MODFTCZY.js";import{b as S,e as a,h as y}from"./chunk-H2ORWIEY.js";import{a as p}from"./chunk-ZLLER3HP.js";var _=1800*1e3,G=300*1e3,T=10,h=`Given these messages from an AI coding session, write a 1-2 sentence summary of what the user is trying to accomplish. Focus on the goal, not the steps. No preamble.
|
|
2
|
+
|
|
3
|
+
Return strict JSON in the form: {"goalSummary": "..."}`;async function k(n,e={}){let d=e.llm??f,o=e.now??Date.now,w=e.getSession??(async s=>{try{return await a(`/api/sessions/${s}`)}catch(t){if(t instanceof S&&t.statusCode===404)return null;throw t}}),m=e.getEvents??((s,t)=>a(`/api/sessions/${s}/events?limit=${t.limit}&sort=${t.sort}`)),v=e.saveGoal??(async(s,t)=>{await y(`/api/sessions/${s}/enrich`,{analysis:t})}),i=await w(n.sessionId);if(!i)return{skipped:"not_found"};let[P]=await m(n.sessionId,{limit:1,sort:"desc"}),A=new Date(P?.timestamp??i.startedAt).getTime();if(o()-A>_)return{skipped:"stale"};let l=i.analysis??{},c=l.goalSummaryAt?new Date(l.goalSummaryAt).getTime():0;if(c&&o()-c<G)return{skipped:"recent"};let g=(await m(n.sessionId,{limit:T*2,sort:"asc"})).filter(s=>s.content&&(s.eventType==="user_message"||s.eventType==="assistant_response")).map(s=>`${s.eventType==="user_message"?"USER":"ASSISTANT"}: ${s.content}`).join(`
|
|
4
|
+
|
|
5
|
+
`);if(!g)return{skipped:"no_content"};let u=await d(h,g,200),r=typeof u?.goalSummary=="string"?u.goalSummary.trim():"";if(!r)return{skipped:"llm_empty"};let I=new Date(o()).toISOString();return await v(n.sessionId,{goalSummary:r,goalSummaryAt:I}),{goalSummary:r}}p(k,"processSessionGoal");export{k as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as h}from"./chunk-BSJBNOJT.js";import{f as C}from"./chunk-H2ORWIEY.js";import{a as l}from"./chunk-ZLLER3HP.js";var R="with_candidate",b="with_prior_version";function y(n){let r=n.filter(e=>e.configuration===R),i=[];for(let e of r){let o=n.find(s=>s.configuration===b&&s.evalId===e.evalId&&s.runNumber===e.runNumber);if(!o)continue;let a=v(e),d=v(o);a==null||d==null||i.push({withScore:a,withoutScore:d})}return i}l(y,"pairCandidateRuns");function v(n){return n.status!=="completed"?null:n.grading?.summary?.pass_rate??null}l(v,"evidenceOf");function x(n,r,i,e){let o=[];for(let a of n)o.push({eval_:a,configuration:R,targetContent:r,runNumber:e}),o.push({eval_:a,configuration:b,targetContent:i,runNumber:e});return o}l(x,"buildCandidateQueue");async function I(n){let{cases:r,candidateContent:i,priorVersionContent:e,concurrency:o,runNumber:a,opts:d,onLog:s=l(()=>{},"onLog")}=n,p=x(r,i,e,a),u=[],m=Math.max(1,o);for(let t=0;t<p.length;t+=m){let c=p.slice(t,t+m);u.push(...await Promise.all(c.map(E=>h(E,d,s))))}for(let t of u)try{await C("/api/eval-runs",t)}catch(c){s(` \u26A0 failed to post a run result: ${c instanceof Error?c.message:String(c)}`)}let f=y(u),g=r.length-f.length;return g>0&&s(` \u26A0 ${g}/${r.length} case(s) produced no usable pair (failed or ungradeable arm)`),{completed:u.filter(t=>t.status==="completed").length,failed:u.filter(t=>t.status==="failed").length,results:u,pairs:f}}l(I,"runCandidateBatchAndPost");export{R as a,b,y as c,x as d,I as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as _}from"./chunk-ZERPMWRT.js";import{e as I}from"./chunk-JGYCLDYF.js";import{b as D,c as P,d as C}from"./chunk-WKXTY5AM.js";import{e as d,f as x}from"./chunk-H2ORWIEY.js";import{a as u}from"./chunk-ZLLER3HP.js";import{createHash as N}from"node:crypto";var j=u(t=>N("sha256").update(t).digest("hex"),"sha256"),L=1.3,v=4;function q(t,r=10){if(t<=0)return{passes:0,expectedPairs:0,feasible:!1,reason:"no live cases"};let n=Math.ceil(r*L),s=Math.min(v,Math.ceil(n/t)),a=s*t;return a<r?{passes:s,expectedPairs:a,feasible:!1,reason:`${t} live case(s) x ${v} passes = ${t*v} pairs at best, below the ${r} a controlled verdict requires \u2014 add cases rather than replaying these`}:{passes:s,expectedPairs:a,feasible:!0}}u(q,"planPasses");async function B(t,r){let n=u(e=>r?.logger?.info?.(e)??console.log(e),"log"),{evalTargetId:s}=t,a=`[cron_instruction_evolution] ${s}`,o=await d(`/api/eval-targets/${s}`),h=o.metadata??{},b=H(h);if(b==null)return n(`${a}: refusing \u2014 metadata.immutableSections is unset. Set it (use [] to explicitly protect nothing) before letting the loop edit this target unattended.`),{skipped:"immutable-sections-unset"};let g=(await d(`/api/eval-targets/${s}/evals`)).filter(e=>!e.retiredAt);if(g.length===0)return{skipped:"no-live-cases"};let l=q(g.length);if(!l.feasible)return n(`${a}: cannot reach a sufficient verdict \u2014 ${l.reason}`),{skipped:"cannot-reach-min-n",reason:l.reason};let $=await d(`/api/eval-targets/${s}/judge-calibration`);if(!$.powerCheck.adequate){let e=($.powerCheck.reasons??[]).join("; ");return n(`${a}: not adequately powered, skipping before spending budget \u2014 ${e}`),{skipped:"not-adequate",reason:e}}let y=C,M=Date.now()-y*24*60*60*1e3,R=(await d(`/api/eval-targets/${s}/promotions?limit=200`)).promotions.filter(e=>e.applied&&Date.parse(e.createdAt)>=M).length;if(R>=P)return n(`${a}: change budget looks exhausted (${R}/${P} applied in ${y}d), skipping before spending budget`),{skipped:"budget-exhausted"};let m=D();if(!m.green)return n(`${a}: A/A canary is RED \u2014 halting. ${m.failures.join(" | ")}`),{skipped:"canary-red",reason:m.failures.join(" | ")};let A=$.caseDiscrimination?.cases??[],p=await _({currentContent:o.content,targetType:o.type,targetName:o.name,immutableSections:b,evidence:{nonDiscriminating:A.filter(e=>!e.discriminating).map(e=>`${e.name??e.assertion??"unnamed"} \u2014 ${e.note}`),weakest:A.filter(e=>e.discriminating&&e.withPassRate<e.withoutPassRate).map(e=>({name:e.name??e.assertion??"unnamed",withPassRate:e.withPassRate,withoutPassRate:e.withoutPassRate})),notes:[]}});if(!p.ok)return n(`${a}: no usable proposal \u2014 ${p.reason}`),{skipped:"no-proposal",reason:p.reason};let E=o.content,S=j(E);n(`${a}: measuring ${g.length} case(s) x ${l.passes} pass(es) = up to ${l.expectedPairs} pairs, candidate vs prior version`);let c=[],k=0,w=0;for(let e=1;e<=l.passes;e++){let f=await I({cases:g,candidateContent:p.proposal.candidateContent,priorVersionContent:E,concurrency:t.concurrency??2,runNumber:e,opts:{targetId:s,targetVersion:o.version??1,iteration:1,timeout:t.timeout??24e4,model:t.model,graderModel:t.graderModel,skipGrading:!1,targetType:o.type,targetName:o.name},onLog:n});c.push(...f.pairs),k+=f.completed,w+=f.failed,n(`${a}: pass ${e}/${l.passes} \u2014 ${f.pairs.length} pair(s), running total ${c.length}`)}if(n(`${a}: ${k} completed, ${w} failed, ${c.length} usable pair(s)`),c.length===0)return{skipped:"no-pairs",reason:`${w} run(s) failed or were ungradeable`};let T=t.apply??(h.autoEvolveApply===!0||h.autoEvolveApply==="true"),i=await x(`/api/eval-targets/${s}/promotions`,{candidateContent:p.proposal.candidateContent,proposalSource:"llm",proposalRationale:p.proposal.rationale,pairs:c,canaryGreen:m.green,measuredAgainstContentHash:S,immutableSections:b,apply:T});return n(`${a}: ${i.decision}${i.applied?" (APPLIED)":""} \u2014 ${i.rationale}`+(i.refusals.length>0?` | refusals: ${i.refusals.join("; ")}`:"")),{decision:i.decision,applied:i.applied,nPairs:c.length,promotionId:i.id}}u(B,"cronInstructionEvolution");function H(t){let r=t.immutableSections;return r==null||!Array.isArray(r)?null:r.filter(n=>typeof n=="string")}u(H,"readImmutableSections");export{L as a,v as b,q as c,B as d,H as e};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as R}from"./chunk-ZL4MZMUK.js";import{a as S}from"./chunk-TDD7IOV2.js";import{a as p}from"./chunk-MODXEGCU.js";import{d as j,f as y}from"./chunk-
|
|
1
|
+
import{b as R}from"./chunk-ZL4MZMUK.js";import{a as S}from"./chunk-TDD7IOV2.js";import{a as p}from"./chunk-MODXEGCU.js";import{d as j,f as y}from"./chunk-MODFTCZY.js";import{e as i,f as l}from"./chunk-H2ORWIEY.js";import{a as g}from"./chunk-ZLLER3HP.js";import{readFileSync as b}from"node:fs";import E from"node:path";import $ from"node:os";var N=5,L=Number(process.env.RULEMETRIC_MAX_SUGGESTION_PROJECTS??10),T=48,M=.5,k=400;async function O(){let d=E.join($.homedir(),".config","rulemetric","skills-registry.json");try{let o=b(d,"utf-8"),s=JSON.parse(o);return Date.now()-new Date(s.generatedAt).getTime()>T*60*60*1e3}catch{return!0}}g(O,"checkSkillsRegistryStale");var X=g(async(d,o)=>{let s=j();if(s==="none"){o.logger.warn("No LLM backend available (claude CLI missing and ANTHROPIC_API_KEY unset); skipping suggestion compute");return}o.logger.info(`Scoring backend: ${s}`);let r;try{r=(await i("/api/sessions/project-paths?limit="+L)).projectPaths}catch(e){o.logger.warn(`Failed to fetch project paths: ${e instanceof Error?e.message:String(e)}`);return}if(r.length===0){o.logger.info("No recent project paths; nothing to score");return}let m=new Map;try{let e=await i("/api/projects?limit=200");for(let t of e.projects??[])t.primaryCheckoutPath&&m.set(p(t.primaryCheckoutPath),t.id)}catch(e){o.logger.warn(`Failed to fetch projects for id resolution: ${e instanceof Error?e.message:String(e)}`)}let a=new Map;try{let e=await i("/api/catalog?limit=200");for(let t of e)a.set(t.id,{id:t.id,name:t.name,description:t.description??"",tags:t.tags??[],contentPreview:(t.content??"").slice(0,k)})}catch(e){o.logger.warn(`Failed to fetch catalog: ${e instanceof Error?e.message:String(e)}`)}try{let e=await i("/api/instructions?limit=100");for(let t of e.instructions??[])a.has(t.id)||a.set(t.id,{id:t.id,name:t.name,description:t.description??"",tags:t.tags??[],contentPreview:(t.content??"").slice(0,k)})}catch(e){o.logger.warn(`Failed to fetch personal instructions: ${e instanceof Error?e.message:String(e)}`)}let c=[...a.values()];if(c.length===0){o.logger.info("No candidate instructions; nothing to score");return}o.logger.info(`Scoring ${c.length} candidates across ${r.length} project(s)`);let u=0;for(let e of r)try{let t=p(e),f=S(t);if(f.length===0){o.logger.info(`Skipping ${t}: insufficient language signals`);continue}let C={name:E.basename(t),description:null,languages:f,topics:[],dependencies:[]},I=R(C,c),w=await y(I,"",4096);if(!w){o.logger.warn(`LLM returned null for ${t} (backend ${s})`);continue}let P=(w.recommendations??[]).filter(n=>typeof n.instructionId=="string"&&typeof n.score=="number"&&typeof n.reason=="string").map(n=>({instructionId:n.instructionId,score:n.score,reason:n.reason})).filter(n=>n.score>=M).sort((n,_)=>_.score-n.score).slice(0,N);if(P.length===0){o.logger.info(`No suggestions over threshold for ${t}`);continue}let h=m.get(t);await l("/api/instruction-suggestions/batch-upsert",{projectPath:t,...h?{projectId:h}:{},suggestions:P.map(n=>({instructionId:n.instructionId,score:n.score,reason:n.reason}))}),u++}catch(t){o.logger.warn(`Failed to score ${e}: ${t instanceof Error?t.message:String(t)}`)}if(await O())try{await l("/api/instruction-suggestions/mark-stale",{}),o.logger.warn("Skills registry is stale (>48h); marked all suggestions stale")}catch{}o.logger.info(`Done: scored ${u}/${r.length} projects`)},"cronSuggestInstructions");export{X as a};
|