@rulemetric/cli 0.7.31 → 0.7.33
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-E3MQVVH6.js +24 -0
- package/dist/{chunk-XA4KSQEC.js → chunk-G6XGDHGC.js} +1 -1
- package/dist/chunk-H4EVJK4P.js +1 -0
- 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-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,24 @@
|
|
|
1
|
+
import{f as E}from"./chunk-MODFTCZY.js";import{b,e as y,f as k,h as M}from"./chunk-H2ORWIEY.js";import{a as u}from"./chunk-ZLLER3HP.js";var v=50,I=24e3,P=3,R=3,C=40,N=4e3,x=new Set(["fact","decision","correction","convention"]),L=`You are distilling DURABLE, PROJECT-SPECIFIC knowledge from an AI coding session so a future agent working on the SAME project starts smarter.
|
|
2
|
+
|
|
3
|
+
Extract ONLY facts / decisions / corrections / conventions that will STILL be true and useful in FUTURE sessions \u2014 architecture facts, deliberate design decisions, corrections of a wrong approach, or project conventions.
|
|
4
|
+
|
|
5
|
+
Do NOT extract:
|
|
6
|
+
- what the user asked for in THIS session, or the step-by-step actions taken
|
|
7
|
+
- anything specific to this one task that will not recur
|
|
8
|
+
- anything already covered by the existing memories listed below
|
|
9
|
+
|
|
10
|
+
Existing memories for this project (do NOT duplicate these):
|
|
11
|
+
{{EXISTING}}
|
|
12
|
+
|
|
13
|
+
Prefer FEWER, higher-quality memories \u2014 most sessions yield 0-2, many yield 0. A weak or redundant memory is worse than none.
|
|
14
|
+
|
|
15
|
+
Each memory has: "kind" (one of: fact, decision, correction, convention), a short "title" (<= 120 chars), and a 1-3 sentence "body".
|
|
16
|
+
|
|
17
|
+
Return STRICT JSON: {"memories": [{"kind": "...", "title": "...", "body": "..."}]} \u2014 use an empty array if nothing durable was learned.`;function A(t){return t.toLowerCase().replace(/[^a-z0-9]+/g," ").trim()}u(A,"normalizeTitle");function O(t,n,f=R){let l=Array.isArray(t?.memories)?t.memories:[],g=new Set(n.map(A)),d=[];for(let m of l){if(d.length>=f)break;if(!m||typeof m!="object")continue;let o=m,r=typeof o.kind=="string"?o.kind.trim().toLowerCase():"",s=typeof o.title=="string"?o.title.trim():"",p=typeof o.body=="string"?o.body.trim():"";if(!x.has(r)||!s||!p||s.length>300||p.length>N)continue;let a=A(s);!a||g.has(a)||(g.add(a),d.push({kind:r,title:s,body:p}))}return d}u(O,"selectNewMemories");async function $(t,n){await M(`/api/sessions/${t}/enrich`,{analysis:{distilledAt:n}})}u($,"stampDistilledViaApi");async function F(t,n={}){let f=n.llm??E,l=n.now??Date.now,g=n.getSession??(async e=>{try{return await y(`/api/sessions/${e}`)}catch(i){if(i instanceof b&&i.statusCode===404)return null;throw i}}),d=n.getTurns??((e,i)=>y(`/api/sessions/${e}/events?limit=${i}&sort=desc&eventType=user_message,assistant_response&hasContent=true`)),m=n.getExistingTitles??(async(e,i)=>{let{memories:_}=await y(`/api/memories?projectId=${e}&status=active&limit=${i}`);return(_??[]).map(j=>j.title)}),o=n.createMemory??(async e=>{await k("/api/memories",{kind:e.kind,title:e.title,body:e.body,projectId:e.projectId,source:"distilled"})}),r=n.stamp??$,s=await g(t.sessionId);if(!s)return{skipped:"not_found"};if((s.analysis??{}).distilledAt)return{skipped:"already_distilled"};if(!s.projectId)return await r(t.sessionId,new Date(l()).toISOString()),{skipped:"no_project"};let a=s.projectId,S=(await d(t.sessionId,v)).reverse().map(e=>`${e.eventType==="user_message"?"USER":"ASSISTANT"}: ${e.content}`);if(S.length<P)return await r(t.sessionId,new Date(l()).toISOString()),{skipped:"too_short"};let c=S.join(`
|
|
18
|
+
|
|
19
|
+
`);if(c.length>I){let e=c.slice(0,Math.floor(I*.45)),i=c.slice(c.length-Math.floor(I*.45));c=`${e}
|
|
20
|
+
|
|
21
|
+
[... middle of session omitted ...]
|
|
22
|
+
|
|
23
|
+
${i}`}let h=await m(a,C),D=L.replace("{{EXISTING}}",h.length?h.map(e=>`- ${e}`).join(`
|
|
24
|
+
`):"(none yet)"),T=await f(D,c,700);if(T===null)throw new Error("distill_memories: LLM backend unavailable or returned unparseable output");let w=O(T,h);for(let e of w)await o({...e,projectId:a});return await r(t.sessionId,new Date(l()).toISOString()),{created:w.length,candidates:w.length}}u(F,"distillMemories");export{O as a,F as b};
|
|
@@ -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 @@
|
|
|
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-E3MQVVH6.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};
|
|
@@ -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};
|