@rulemetric/cli 0.15.1 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/chunk-2PO5I3XR.js +1 -0
  2. package/dist/chunk-3MYCWZ63.js +1 -0
  3. package/dist/chunk-4ZDE63UG.js +1 -0
  4. package/dist/{chunk-LLXC5SRC.js → chunk-5A6TMSRO.js} +1 -1
  5. package/dist/{chunk-U3PIBPHT.js → chunk-5CVP5NFH.js} +1 -1
  6. package/dist/{chunk-OAETRNTE.js → chunk-65LFPUDB.js} +1 -1
  7. package/dist/{chunk-W6MMJRFZ.js → chunk-7YZURVZD.js} +1 -1
  8. package/dist/{chunk-CYCH2EQC.js → chunk-AKCCNLHL.js} +1 -1
  9. package/dist/{chunk-TU2AR6XO.js → chunk-B22HYCBV.js} +1 -1
  10. package/dist/chunk-CDSSOOIG.js +1 -0
  11. package/dist/{chunk-GJHFIQVO.js → chunk-CPDW7WW2.js} +10 -10
  12. package/dist/{chunk-XCH4HPEZ.js → chunk-DHIEGG4T.js} +1 -1
  13. package/dist/{chunk-5Z6XXOJL.js → chunk-E4CIJ67Z.js} +1 -1
  14. package/dist/{chunk-CIKQXFQ2.js → chunk-EFEPD4AZ.js} +1 -1
  15. package/dist/{chunk-GDLQNY4V.js → chunk-EMZFZCS4.js} +1 -1
  16. package/dist/chunk-F5GSKVF2.js +1 -0
  17. package/dist/chunk-FCALFMZV.js +1 -0
  18. package/dist/{chunk-RE7RAZQ5.js → chunk-FHRBW4AQ.js} +5 -5
  19. package/dist/chunk-GGUXEZC3.js +1 -0
  20. package/dist/{chunk-IFIWDL7G.js → chunk-GIQ2HK3W.js} +1 -1
  21. package/dist/{chunk-HXOQUYG3.js → chunk-HBDKOU2N.js} +1 -1
  22. package/dist/chunk-HTAHNQZJ.js +1 -0
  23. package/dist/{chunk-5IL3EEIE.js → chunk-IMN4BWAR.js} +1 -1
  24. package/dist/{chunk-ZMVTSYD4.js → chunk-KGU2IW54.js} +1 -1
  25. package/dist/{chunk-WQFR2LOY.js → chunk-KOORMTZO.js} +1 -1
  26. package/dist/chunk-KUW6AVSI.js +1 -0
  27. package/dist/{chunk-D5XLTSRV.js → chunk-QXPGTEMO.js} +1 -1
  28. package/dist/{chunk-2U6PAYCD.js → chunk-RDQXK5LG.js} +1 -1
  29. package/dist/chunk-STUNT4N3.js +1 -0
  30. package/dist/chunk-SW24KZ5C.js +1 -0
  31. package/dist/{chunk-EE4TZAZI.js → chunk-TSLBCZ5P.js} +1 -1
  32. package/dist/{chunk-5GFEEYHM.js → chunk-USKRCVX3.js} +1 -1
  33. package/dist/chunk-VBGHPAUT.js +2 -0
  34. package/dist/{chunk-JOXTWLLK.js → chunk-WL34G6IR.js} +1 -1
  35. package/dist/{chunk-NBTC5FNV.js → chunk-X23L2MF6.js} +1 -1
  36. package/dist/chunk-XFOG2PDJ.js +1 -0
  37. package/dist/{chunk-6T6YFPBW.js → chunk-ZBTJ5R7C.js} +1 -1
  38. package/dist/{chunk-7LFCZI64.js → chunk-ZKPURXUS.js} +1 -1
  39. package/dist/chunk-ZLBYYLJZ.js +3 -0
  40. package/dist/commands/diagnostics.js +1 -1
  41. package/dist/commands/evals/agent.js +1 -1
  42. package/dist/commands/evals/refine-cases.js +1 -1
  43. package/dist/commands/research/resume-scoped-outcomes.js +1 -0
  44. package/dist/commands/sessions/list.js +1 -1
  45. package/dist/commands/suggestions/accept.js +1 -1
  46. package/dist/commands/suggestions/undo.js +1 -1
  47. package/dist/dashboard/Dashboard.js +1 -1
  48. package/dist/dashboard/data.js +1 -1
  49. package/dist/dashboard/launcher/ActiveJobsList.js +1 -1
  50. package/dist/dashboard/launcher/LauncherOverlay.js +1 -1
  51. package/dist/dashboard/launcher/NewLaunchForm.js +1 -1
  52. package/dist/{dist-OVXV2FFO.js → dist-5647V2E7.js} +1 -1
  53. package/dist/lib/agent-loop.js +1 -1
  54. package/dist/lib/agent-presence.js +1 -0
  55. package/dist/lib/eval-case-generator.js +1 -1
  56. package/dist/lib/eval-conversation-handler.js +1 -1
  57. package/dist/lib/evolution-enrolment.js +1 -1
  58. package/dist/lib/instruction-proposer.js +1 -1
  59. package/dist/lib/instructions/acceptance/accept-hook.js +1 -1
  60. package/dist/lib/instructions/acceptance/suggestion-accept.js +1 -1
  61. package/dist/lib/jobs/handlers/cron-auto-accept-suggestions.js +1 -1
  62. package/dist/lib/jobs/handlers/cron-instruction-evolution.js +1 -1
  63. package/dist/lib/jobs/handlers/cron-instruction-training.js +1 -1
  64. package/dist/lib/jobs/handlers/cron-reconcile-attribution.js +1 -1
  65. package/dist/lib/jobs/handlers/cron-refine-cases.js +1 -1
  66. package/dist/lib/jobs/handlers/cron-refresh-pricing.js +1 -1
  67. package/dist/lib/jobs/handlers/cron-refresh-skills.js +1 -1
  68. package/dist/lib/jobs/handlers/cron-suggest-instructions.js +1 -1
  69. package/dist/lib/jobs/handlers/distill-memories.js +1 -1
  70. package/dist/lib/jobs/handlers/finalize-scoped-launch.js +1 -0
  71. package/dist/lib/jobs/handlers/prepare-suggestion-live.js +1 -0
  72. package/dist/lib/jobs/handlers/process-changelog.js +1 -1
  73. package/dist/lib/jobs/handlers/process-conversation.js +1 -1
  74. package/dist/lib/jobs/handlers/process-eval.js +1 -1
  75. package/dist/lib/jobs/handlers/process-insights.js +1 -1
  76. package/dist/lib/jobs/handlers/process-launch.js +1 -1
  77. package/dist/lib/jobs/handlers/process-run-cleanup.js +1 -1
  78. package/dist/lib/jobs/handlers/process-session-goal.js +1 -1
  79. package/dist/lib/jobs/handlers/process-suggestion-eval.js +1 -0
  80. package/dist/lib/llm-client.js +1 -1
  81. package/dist/lib/manual-tasks.js +1 -1
  82. package/dist/lib/projects/workspace/worktree.js +1 -1
  83. package/dist/lib/refine-cases.js +1 -1
  84. package/dist/lib/scoped-outcome-store.js +1 -0
  85. package/dist/lib/work-report.js +1 -1
  86. package/oclif.manifest.json +43 -1
  87. package/package.json +6 -6
  88. package/dist/chunk-CZBO3A6B.js +0 -3
  89. package/dist/chunk-JIW2PCHU.js +0 -1
  90. package/dist/chunk-L562Y4RN.js +0 -1
  91. package/dist/chunk-PZS55PW2.js +0 -1
  92. package/dist/chunk-UNVURR4E.js +0 -1
  93. package/dist/chunk-WVNTUKED.js +0 -1
  94. package/dist/chunk-X3BBFDRD.js +0 -1
  95. package/dist/chunk-XXPWPKTD.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rulemetric/cli",
3
- "version": "0.15.1",
3
+ "version": "0.17.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -80,9 +80,9 @@
80
80
  "postgres": "^3.4.0",
81
81
  "react": "^19.0.0",
82
82
  "zod": "^3.24.0",
83
- "@rulemetric/proxy": "0.15.1",
84
- "@rulemetric/skills-registry": "0.15.1",
85
- "@rulemetric/hooks": "0.15.1"
83
+ "@rulemetric/proxy": "0.17.0",
84
+ "@rulemetric/skills-registry": "0.17.0",
85
+ "@rulemetric/hooks": "0.17.0"
86
86
  },
87
87
  "//deps": "Worker (`evals agent`) runtime deps: the @opentelemetry/* set, @sentry/node, and postgres are STATIC top-level imports loaded at worker startup (via bundled @rulemetric/{telemetry,db}) — they MUST be runtime deps or a clean `npm i -g` crashes with ModuleLoadError. `better-sqlite3` is optionalDependencies (below): it's a native module, lazy `require()`'d inside a try/catch (packages/session providers cursor/opencode) so a missing binary degrades gracefully — making it a hard dep would break `npm i -g` on platforms without prebuilt binaries. `resend` stays a devDep: lazy `await import('resend')` guarded by RESEND_API_KEY, which end-user workers never set (provider falls back to noop). Classification verified via import-graph scan of dist/commands/evals/agent.js + per-importer static/lazy check.",
88
88
  "optionalDependencies": {
@@ -103,14 +103,14 @@
103
103
  "typescript": "^5.9.0",
104
104
  "vitest": "^3.2.0",
105
105
  "@rulemetric/contracts": "0.0.1",
106
- "@rulemetric/api": "0.0.1",
107
106
  "@rulemetric/core": "0.0.1",
108
107
  "@rulemetric/db": "0.0.1",
109
108
  "@rulemetric/effectiveness": "0.0.1",
110
109
  "@rulemetric/email": "0.0.1",
110
+ "@rulemetric/typescript-config": "0.0.0",
111
111
  "@rulemetric/session": "0.2.1",
112
112
  "@rulemetric/telemetry": "0.0.1",
113
- "@rulemetric/typescript-config": "0.0.0"
113
+ "@rulemetric/api": "0.0.1"
114
114
  },
115
115
  "scripts": {
116
116
  "build": "node scripts/build.mjs",
@@ -1,3 +0,0 @@
1
- import{h as R}from"./chunk-CVPAKEEZ.js";import{a as S,b as v,c as $,f as w,g as A}from"./chunk-SIGZEQ3K.js";import{e as y,f}from"./chunk-GIXHG5FK.js";import{a as c}from"./chunk-ZLLER3HP.js";import{execFileSync as x}from"node:child_process";import{openSync as P,readSync as C,closeSync as j,readFileSync as E}from"node:fs";function I(l){let t;try{t=P(l,"r");let o=Buffer.alloc(64*1024),s=C(t,o,0,o.length,0),i=o.subarray(0,s).toString("utf-8");for(let r of i.split(`
2
- `))if(r.startsWith("{"))try{let a=JSON.parse(r).cwd;if(typeof a=="string"&&a.startsWith("/"))return a}catch{}return null}catch{return null}finally{t!==void 0&&j(t)}}c(I,"readTranscriptCwd");function W(l){let t=c(r=>{try{return x("git",["-C",l,...r],{encoding:"utf-8",stdio:["ignore","pipe","ignore"],timeout:5e3}).trim()||null}catch{return null}},"git");if(!t(["rev-parse","--show-toplevel"]))return null;let s=t(["rev-parse","--git-dir"]),i=t(["rev-parse","--git-common-dir"]);return{gitRemote:t(["remote","get-url","origin"]),gitRootCommit:t(["rev-list","--max-parents=0","HEAD"])?.split(`
3
- `).pop()?.trim()??null,gitBranch:t(["branch","--show-current"]),isWorktree:!!s&&!!i&&s!==i}}c(W,"gitAnchors");async function O(l,t,o=v(W,I)){let s=Math.min(l.limit??200,1e3),i=await R(()=>y(`/api/sessions/unattributed?limit=${s}`),{log:c(e=>t.logger.info(e),"log"),label:"sessions/unattributed",idempotent:!0}),r=i.sessions??[],a=i.total??r.length;if(r.length===0)return t.logger.info("no unattributed sessions"),{scanned:0,repaired:0,reimported:0,unrepairable:0,remaining:0};let m=0,g=0,u=0;for(let e of r){if(!e.externalSessionId){u++;continue}let n=A(e,o);if(!n){u++;continue}try{await f("/api/sessions",{tool:e.tool,externalSessionId:e.externalSessionId,projectPath:n.projectPath,...n.gitBranch?{gitBranch:n.gitBranch}:{},metadata:{...n.gitRemote?{gitRemote:n.gitRemote}:{},...n.gitRootCommit?{gitRootCommit:n.gitRootCommit}:{},isWorktree:n.isWorktree,reconciledAttribution:!0}}),m++}catch(d){u++,t.logger.info(`reconcile failed for ${e.externalSessionId}: ${d.message}`);continue}let p=e.tool==="claude_code"?$(e.externalSessionId,o):null,b=w({tool:e.tool,pathWasJunk:!!e.projectPath&&S(e.projectPath),endedAt:e.endedAt??null,transcript:p?o.stat(p):null});if(b.reimport&&p)try{let d=E(p,"utf-8");await f(`/api/sessions/${e.id}/reimport`,{content:d,tool:"claude_code"}),g++}catch(d){t.logger.info(`reimport failed for ${e.externalSessionId} (${b.reason}): ${d.message}`)}}let h=a-m;return t.logger.info(`reconciled attribution: scanned=${r.length} repaired=${m} reimported=${g} unrepairable=${u} remaining=${h} (of ${a} total)`),{scanned:r.length,repaired:m,reimported:g,unrepairable:u,remaining:h}}c(O,"cronReconcileAttribution");export{O as a};
@@ -1 +0,0 @@
1
- import{a as m,c as Ks}from"./chunk-ZLLER3HP.js";import{boolean as _n,date as Cs,index as to,integer as qs,jsonb as Os,pgTable as oo,text as j,timestamp as F,uniqueIndex as Ms,uuid as he}from"drizzle-orm/pg-core";var pn=oo("announcements",{id:he("id").primaryKey().defaultRandom(),version:j("version").notNull().unique(),releaseDate:Cs("release_date").notNull(),subject:j("subject").notNull(),htmlBody:j("html_body").notNull(),textBody:j("text_body").notNull(),sections:Os("sections").notNull().default({}),status:j("status").notNull().default("draft"),recipientCount:qs("recipient_count"),sentAt:F("sent_at",{withTimezone:!0}),sentBy:he("sent_by"),error:j("error"),createdAt:F("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:F("updated_at",{withTimezone:!0}).notNull().defaultNow()},e=>[to("idx_announcements_status").on(e.status),to("idx_announcements_created").on(e.createdAt)]),mn=oo("announcement_deliveries",{id:he("id").primaryKey().defaultRandom(),announcementId:he("announcement_id").notNull(),userId:he("user_id").notNull(),email:j("email").notNull(),status:j("status").notNull().default("pending"),providerId:j("provider_id"),error:j("error"),sentAt:F("sent_at",{withTimezone:!0}),createdAt:F("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Ms("uniq_announcement_deliveries_announcement_user").on(e.announcementId,e.userId),to("idx_announcement_deliveries_user").on(e.userId,e.createdAt)]),fn=oo("notification_preferences",{userId:he("user_id").primaryKey(),productAnnouncements:_n("product_announcements").notNull().default(!0),weeklyDigest:_n("weekly_digest").notNull().default(!0),unsubscribeToken:j("unsubscribe_token").notNull().unique(),unsubscribedAt:F("unsubscribed_at",{withTimezone:!0}),createdAt:F("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:F("updated_at",{withTimezone:!0}).notNull().defaultNow()});import{boolean as mt,integer as He,jsonb as Ls,pgTable as Hs,real as hn,text as Ue,timestamp as no,uuid as gn}from"drizzle-orm/pg-core";import{pgTable as pt,text as ge,timestamp as Le,jsonb as Nn,uuid as se,primaryKey as xn}from"drizzle-orm/pg-core";var l=pt("organizations",{id:se("id").primaryKey().defaultRandom(),name:ge("name").unique().notNull(),slug:ge("slug").unique().notNull(),metadata:Nn("metadata"),createdAt:Le("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Le("updated_at",{withTimezone:!0}).defaultNow()}),v=pt("teams",{id:se("id").primaryKey().defaultRandom(),orgId:se("org_id").references(()=>l.id,{onDelete:"cascade"}),name:ge("name").notNull(),slug:ge("slug").notNull(),metadata:Nn("metadata"),createdAt:Le("created_at",{withTimezone:!0}).defaultNow()}),ve=pt("user_organizations",{userId:se("user_id").notNull(),orgId:se("org_id").references(()=>l.id,{onDelete:"cascade"}).notNull(),role:ge("role").notNull().default("member"),createdAt:Le("created_at",{withTimezone:!0}).defaultNow()},e=>[xn({columns:[e.userId,e.orgId]})]),Ie=pt("user_teams",{userId:se("user_id").notNull(),teamId:se("team_id").references(()=>v.id,{onDelete:"cascade"}).notNull(),role:ge("role").notNull().default("member"),createdAt:Le("created_at",{withTimezone:!0}).defaultNow()},e=>[xn({columns:[e.userId,e.teamId]})]);var o=Hs("profiles",{id:gn("id").primaryKey(),email:Ue("email"),measurementPreferences:Ls("measurement_preferences"),displayName:Ue("display_name"),activeOrgId:gn("active_org_id").references(()=>l.id,{onDelete:"set null"}),isSuperadmin:mt("is_superadmin").notNull().default(!1),claudeCodePlan:Ue("claude_code_plan"),planSource:Ue("plan_source").notNull().default("detected"),setupCompletedAt:no("setup_completed_at",{withTimezone:!0}),liveSendSkipped:mt("live_send_skipped").notNull().default(!1),autoAcceptSuggestions:mt("auto_accept_suggestions").notNull().default(!0),evolutionPaused:mt("evolution_paused").notNull().default(!1),suggestionConfidenceThreshold:hn("suggestion_confidence_threshold").notNull().default(.7),autoAcceptMinScore:hn("auto_accept_min_score"),autoAcceptMaxPerRun:He("auto_accept_max_per_run"),autoAcceptMaxPerWindow:He("auto_accept_max_per_window"),autoAcceptWindowDays:He("auto_accept_window_days"),trialMaxConcurrent:He("trial_max_concurrent"),trialMaxPerRun:He("trial_max_per_run"),harborAbCadence:Ue("harbor_ab_cadence").notNull().default("off"),createdAt:no("created_at",{withTimezone:!0}).defaultNow(),updatedAt:no("updated_at",{withTimezone:!0}).defaultNow()});import{pgTable as Us,text as ro,timestamp as ft,uuid as Nt,index as vn}from"drizzle-orm/pg-core";var C=Us("org_invitations",{id:Nt("id").primaryKey().defaultRandom(),orgId:Nt("org_id").notNull().references(()=>l.id,{onDelete:"cascade"}),email:ro("email").notNull(),role:ro("role").notNull().default("member"),teamId:Nt("team_id").references(()=>v.id,{onDelete:"set null"}),invitedBy:Nt("invited_by").notNull().references(()=>o.id,{onDelete:"cascade"}),token:ro("token").notNull().unique(),expiresAt:ft("expires_at",{withTimezone:!0}).notNull(),acceptedAt:ft("accepted_at",{withTimezone:!0}),revokedAt:ft("revoked_at",{withTimezone:!0}),createdAt:ft("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[vn("idx_org_invitations_token").on(e.token),vn("idx_org_invitations_org").on(e.orgId)]);import{pgTable as so,text as N,timestamp as $,jsonb as xt,uuid as k,integer as ht,boolean as Bs,uniqueIndex as gt,index as Be}from"drizzle-orm/pg-core";var n=so("instructions",{id:k("id").primaryKey().defaultRandom(),name:N("name").notNull(),description:N("description").notNull(),type:N("type").notNull().default("instruction"),scope:N("scope").notNull(),scopeRef:k("scope_ref"),version:N("version").notNull(),content:N("content").notNull(),frontmatter:xt("frontmatter").notNull(),slots:xt("slots"),tags:N("tags").array(),compatibility:N("compatibility").array(),createdBy:k("created_by"),createdAt:$("created_at",{withTimezone:!0}).defaultNow(),updatedAt:$("updated_at",{withTimezone:!0}).defaultNow(),archived:Bs("archived").default(!1),archivedAt:$("archived_at",{withTimezone:!0}),archivedBy:k("archived_by"),forkedFromId:k("forked_from_id").references(()=>n.id,{onDelete:"set null"}),upstreamVersion:N("upstream_version"),badge:N("badge"),contentHash:N("content_hash"),contextIdentity:N("context_identity"),scanScore:ht("scan_score"),scanFindings:xt("scan_findings"),popularityScore:ht("popularity_score"),sourceUpdatedAt:$("source_updated_at",{withTimezone:!0})},e=>[gt("instructions_name_scope_ref_idx").on(e.name,e.scope,e.scopeRef),Be("idx_instructions_scope").on(e.scope,e.scopeRef),Be("idx_instructions_created_by").on(e.createdBy),Be("idx_instructions_context_identity").on(e.createdBy,e.contextIdentity),Be("idx_instructions_public_recency").on(e.scope,e.sourceUpdatedAt.desc())]),In=so("instruction_version_identities",{id:k("id").primaryKey().defaultRandom(),instructionId:k("instruction_id").notNull().references(()=>n.id,{onDelete:"cascade"}),contentHash:N("content_hash").notNull(),versionOrdinal:ht("version_ordinal").notNull(),content:N("content"),firstSeenAt:$("first_seen_at",{withTimezone:!0}).notNull().defaultNow(),lastSeenAt:$("last_seen_at",{withTimezone:!0}).notNull().defaultNow(),createdAt:$("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[gt("instruction_version_identities_hash_unique").on(e.instructionId,e.contentHash),gt("instruction_version_identities_ordinal_unique").on(e.instructionId,e.versionOrdinal),Be("idx_ivi_instruction").on(e.instructionId)]),ye=so("instruction_versions",{id:k("id").primaryKey().defaultRandom(),instructionId:k("instruction_id").references(()=>n.id,{onDelete:"cascade"}),versionNumber:ht("version_number").notNull(),content:N("content").notNull(),frontmatter:xt("frontmatter").notNull(),changeSummary:N("change_summary"),createdBy:k("created_by"),createdAt:$("created_at",{withTimezone:!0}).defaultNow()},e=>[gt("instruction_versions_instruction_version_idx").on(e.instructionId,e.versionNumber)]);import{pgTable as Gs,text as Vs,timestamp as Fs,jsonb as $s,uuid as io,index as yn}from"drizzle-orm/pg-core";var we=Gs("instruction_events",{id:io("id").primaryKey().defaultRandom(),instructionId:io("instruction_id").notNull().references(()=>n.id,{onDelete:"cascade"}),eventType:Vs("event_type").notNull(),actorId:io("actor_id").notNull(),metadata:$s("metadata"),createdAt:Fs("created_at",{withTimezone:!0}).defaultNow()},e=>[yn("idx_instruction_events_instruction").on(e.instructionId),yn("idx_instruction_events_type").on(e.eventType)]);import{boolean as Js,jsonb as Qs,pgTable as uo,primaryKey as wn,text as ie,timestamp as Ge,uniqueIndex as ao,uuid as ae}from"drizzle-orm/pg-core";import{sql as Ys}from"drizzle-orm";var s=uo("projects",{id:ae("id").primaryKey().defaultRandom(),orgId:ae("org_id").references(()=>l.id,{onDelete:"cascade"}),name:ie("name").notNull(),description:ie("description"),githubRepo:ie("github_repo"),gitRemoteUrl:ie("git_remote_url"),gitRootCommit:ie("git_root_commit"),gitRemoteAliases:ie("git_remote_aliases").array().notNull().default([]),metadata:Qs("metadata"),createdBy:ae("created_by"),createdAt:Ge("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Ge("updated_at",{withTimezone:!0}).defaultNow()},e=>[ao("projects_org_name_idx").on(e.orgId,e.name),ao("projects_git_remote_url_unique").on(e.gitRemoteUrl).where(Ys`${e.gitRemoteUrl} IS NOT NULL`)]),J=uo("project_instructions",{projectId:ae("project_id").references(()=>s.id,{onDelete:"cascade"}).notNull(),instructionId:ae("instruction_id").references(()=>n.id,{onDelete:"cascade"}).notNull(),addedAt:Ge("added_at",{withTimezone:!0}).defaultNow(),addedBy:ae("added_by")},e=>[wn({columns:[e.projectId,e.instructionId]})]),Tn=uo("project_checkouts",{projectId:ae("project_id").references(()=>s.id,{onDelete:"cascade"}).notNull(),path:ie("path").notNull(),isWorktree:Js("is_worktree").notNull().default(!1),firstSeen:Ge("first_seen",{withTimezone:!0}).notNull().defaultNow(),lastSeen:Ge("last_seen",{withTimezone:!0}).notNull().defaultNow()},e=>[wn({columns:[e.projectId,e.path]}),ao("project_checkouts_path_unique").on(e.path)]);import{pgTable as _o,text as I,timestamp as Ve,jsonb as de,uuid as q,integer as It,uniqueIndex as Dn,index as E}from"drizzle-orm/pg-core";import{pgTable as Ws,text as Te,timestamp as lo,jsonb as An,uuid as vt,integer as Xs,boolean as Zs,index as co}from"drizzle-orm/pg-core";var h=Ws("agent_runs",{id:vt("id").primaryKey().defaultRandom(),userId:vt("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),orgId:vt("org_id").references(()=>l.id,{onDelete:"set null"}),projectId:vt("project_id").references(()=>s.id,{onDelete:"set null"}),projectPath:Te("project_path"),gitRemote:Te("git_remote"),baseBranch:Te("base_branch"),title:Te("title"),prompt:Te("prompt"),toolSpec:An("tool_spec").notNull().default([]),autoWorktree:Zs("auto_worktree").notNull().default(!0),status:Te("status").notNull().default("pending"),sessionCount:Xs("session_count").notNull().default(0),metadata:An("metadata").notNull().default({}),createdAt:lo("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:lo("updated_at",{withTimezone:!0}).notNull().defaultNow(),completedAt:lo("completed_at",{withTimezone:!0})},e=>[co("idx_agent_runs_user").on(e.userId),co("idx_agent_runs_org_created").on(e.orgId,e.createdAt),co("idx_agent_runs_project").on(e.projectId)]);var a=_o("sessions",{id:q("id").primaryKey().defaultRandom(),userId:q("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),externalSessionId:I("external_session_id"),projectId:q("project_id").references(()=>s.id,{onDelete:"set null"}),orgId:q("org_id").references(()=>l.id,{onDelete:"set null"}),tool:I("tool").notNull(),projectPath:I("project_path"),gitBranch:I("git_branch"),startedAt:Ve("started_at",{withTimezone:!0}).notNull(),endedAt:Ve("ended_at",{withTimezone:!0}),eventCount:It("event_count").default(0),tokenUsage:de("token_usage"),analysis:de("analysis"),analyzedAt:Ve("analyzed_at",{withTimezone:!0}),analyzedEventCount:It("analyzed_event_count"),analyzedTurnCount:It("analyzed_turn_count"),metadata:de("metadata").default({}),origin:I("origin").notNull().default("unknown"),runId:q("run_id").references(()=>h.id,{onDelete:"set null"}),model:I("model"),harnessVersion:I("harness_version"),createdAt:Ve("created_at",{withTimezone:!0}).defaultNow()},e=>[E("idx_sessions_user").on(e.userId),E("idx_sessions_tool").on(e.tool),E("idx_sessions_started_at").on(e.startedAt),E("idx_sessions_project").on(e.projectId),E("idx_sessions_org_started_at").on(e.orgId,e.startedAt),E("idx_sessions_run").on(e.runId),Dn("idx_sessions_user_external").on(e.userId,e.externalSessionId)]),Ae=_o("session_events",{id:q("id").primaryKey().defaultRandom(),sessionId:q("session_id").notNull().references(()=>a.id,{onDelete:"cascade"}),sequence:It("sequence").notNull(),eventType:I("event_type").notNull(),content:I("content"),toolName:I("tool_name"),toolInput:de("tool_input"),toolOutput:de("tool_output"),tokenUsage:de("token_usage"),model:I("model"),timestamp:Ve("timestamp",{withTimezone:!0}).notNull(),metadata:de("metadata").default({})},e=>[Dn("session_events_session_sequence_idx").on(e.sessionId,e.sequence),E("idx_session_events_session_id").on(e.sessionId),E("idx_session_events_event_type").on(e.eventType),E("idx_session_events_model").on(e.model)]),Q=_o("session_instructions",{sessionId:q("session_id").notNull().references(()=>a.id,{onDelete:"cascade"}),instructionId:q("instruction_id").notNull().references(()=>n.id,{onDelete:"cascade"}),linkMethod:I("link_method").notNull(),contentHash:I("content_hash")},e=>[E("idx_session_instructions_instruction_id").on(e.instructionId)]);import{pgTable as zn,text as yt,timestamp as jn,uuid as S,integer as Rn,index as De,unique as ei}from"drizzle-orm/pg-core";var O=zn("treatment_assignments",{id:S("id").primaryKey().defaultRandom(),userId:S("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),treatmentType:yt("treatment_type").notNull(),treatmentId:S("treatment_id").notNull(),treatmentVersion:Rn("treatment_version").notNull().default(1),projectId:S("project_id").references(()=>s.id,{onDelete:"set null"}),assignedBy:S("assigned_by").references(()=>o.id,{onDelete:"set null"}),method:yt("method").notNull(),assignedAt:jn("assigned_at",{withTimezone:!0}).notNull().defaultNow()},e=>[De("idx_treatment_assignments_user").on(e.userId),De("idx_treatment_assignments_treatment").on(e.treatmentType,e.treatmentId),De("idx_treatment_assignments_project").on(e.projectId)]),M=zn("treatment_exposures",{id:S("id").primaryKey().defaultRandom(),sessionId:S("session_id").notNull().references(()=>a.id,{onDelete:"cascade"}),userId:S("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),treatmentType:yt("treatment_type").notNull(),treatmentId:S("treatment_id").notNull(),treatmentVersion:Rn("treatment_version").notNull().default(1),assignmentId:S("assignment_id").references(()=>O.id,{onDelete:"set null"}),method:yt("method").notNull(),exposedAt:jn("exposed_at",{withTimezone:!0}).notNull().defaultNow()},e=>[ei("treatment_exposures_unique").on(e.sessionId,e.treatmentType,e.treatmentId,e.treatmentVersion),De("idx_treatment_exposures_treatment").on(e.treatmentType,e.treatmentId),De("idx_treatment_exposures_user").on(e.userId),De("idx_treatment_exposures_session").on(e.sessionId)]);import{pgTable as ti,text as po,timestamp as oi,uuid as wt,integer as ni,index as kn,uniqueIndex as ri}from"drizzle-orm/pg-core";var En=ti("pending_treatment_exposures",{id:wt("id").primaryKey().defaultRandom(),userId:wt("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),externalSessionId:po("external_session_id").notNull(),treatmentType:po("treatment_type").notNull(),treatmentId:wt("treatment_id").notNull(),treatmentVersion:ni("treatment_version").notNull().default(1),method:po("method").notNull().default("injected"),projectId:wt("project_id").references(()=>s.id,{onDelete:"set null"}),createdAt:oi("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[ri("pending_treatment_exposures_unique").on(e.externalSessionId,e.treatmentType,e.treatmentId,e.treatmentVersion),kn("idx_pending_treatment_exposures_ext").on(e.externalSessionId),kn("idx_pending_treatment_exposures_user").on(e.userId)]);import{pgTable as Sn,text as Y,timestamp as bn,uuid as ze,numeric as si,index as mo,unique as ii}from"drizzle-orm/pg-core";var ue=Sn("instruction_experiments",{id:ze("id").primaryKey().defaultRandom(),userId:ze("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),instructionId:ze("instruction_id").notNull().references(()=>n.id,{onDelete:"cascade"}),projectPath:Y("project_path").notNull(),status:Y("status").notNull().default("running"),treatedShare:si("treated_share").notNull().default("0.5"),salt:Y("salt").notNull(),contentHash:Y("content_hash"),source:Y("source").notNull().default("manual"),stoppedReason:Y("stopped_reason"),createdAt:bn("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[mo("idx_instruction_experiments_lookup").on(e.userId,e.projectPath)]),Pn=Sn("instruction_experiment_arms",{id:ze("id").primaryKey().defaultRandom(),experimentId:ze("experiment_id").notNull().references(()=>ue.id,{onDelete:"cascade"}),userId:ze("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),externalSessionId:Y("external_session_id").notNull(),arm:Y("arm").notNull(),assignedAt:bn("assigned_at",{withTimezone:!0}).notNull().defaultNow()},e=>[ii("instruction_experiment_arms_unique").on(e.experimentId,e.externalSessionId),mo("idx_instruction_experiment_arms_experiment").on(e.experimentId,e.arm),mo("idx_instruction_experiment_arms_session").on(e.externalSessionId)]);import{index as Un,jsonb as jt,pgTable as Bn,text as A,timestamp as Je,unique as Hn,uniqueIndex as ci,uuid as _e}from"drizzle-orm/pg-core";import{pgTable as Ln,uuid as Re,text as zt,jsonb as Mn,timestamp as ho,uniqueIndex as di,integer as ui,unique as li}from"drizzle-orm/pg-core";import{pgTable as ai,text as Tt,timestamp as $e,jsonb as At,uuid as No,index as Dt,integer as xo}from"drizzle-orm/pg-core";import{sql as fo}from"drizzle-orm";import{pgTable as le,text as _,timestamp as g,jsonb as w,uuid as c,integer as L,boolean as Fe,index as f,unique as Kn}from"drizzle-orm/pg-core";var r=le("eval_targets",{id:c("id").primaryKey().defaultRandom(),userId:c("user_id").notNull(),name:_("name").notNull(),type:_("type").notNull(),content:_("content").notNull(),description:_("description").notNull().default(""),metadata:w("metadata").notNull().default({}),version:L("version").notNull().default(1),parentId:c("parent_id").references(()=>r.id,{onDelete:"set null"}),instructionId:c("instruction_id").references(()=>n.id,{onDelete:"set null"}),projectPath:_("project_path"),createdAt:g("created_at",{withTimezone:!0}).defaultNow(),updatedAt:g("updated_at",{withTimezone:!0}).defaultNow()},e=>[f("eval_targets_name_user_idx").on(e.name,e.userId),f("idx_eval_targets_user").on(e.userId),f("idx_eval_targets_type").on(e.type),f("idx_eval_targets_parent").on(e.parentId),f("idx_eval_targets_instruction").on(e.instructionId).where(fo`${e.instructionId} IS NOT NULL`),f("idx_eval_targets_project").on(e.projectPath).where(fo`${e.projectPath} IS NOT NULL`)]),H=le("evals",{id:c("id").primaryKey().defaultRandom(),evalTargetId:c("eval_target_id").notNull().references(()=>r.id,{onDelete:"cascade"}),name:_("name").notNull(),prompt:_("prompt").notNull(),expectedOutput:_("expected_output").notNull().default(""),files:w("files").notNull().default([]),expectations:w("expectations").notNull().default([]),retiredAt:g("retired_at",{withTimezone:!0}),retiredReason:_("retired_reason"),createdAt:g("created_at",{withTimezone:!0}).defaultNow(),updatedAt:g("updated_at",{withTimezone:!0}).defaultNow(),contentUpdatedAt:g("content_updated_at",{withTimezone:!0}).notNull().defaultNow()},e=>[f("idx_evals_target").on(e.evalTargetId),f("idx_evals_target_active").on(e.evalTargetId).where(fo`${e.retiredAt} IS NULL`)]),b=le("eval_runs",{id:c("id").primaryKey().defaultRandom(),jobId:c("job_id"),evalId:c("eval_id").notNull().references(()=>H.id,{onDelete:"cascade"}),evalTargetId:c("eval_target_id").notNull().references(()=>r.id,{onDelete:"cascade"}),evalTargetVersion:L("eval_target_version").notNull(),configuration:_("configuration").notNull(),runNumber:L("run_number").notNull().default(1),iteration:L("iteration").notNull().default(1),status:_("status").notNull().default("completed"),outputs:w("outputs").notNull().default({}),timing:w("timing").notNull().default({}),grading:w("grading").notNull().default({}),comparison:w("comparison"),createdAt:g("created_at",{withTimezone:!0}).defaultNow()},e=>[f("idx_eval_runs_eval").on(e.evalId),f("idx_eval_runs_target").on(e.evalTargetId),f("idx_eval_runs_iteration").on(e.evalTargetId,e.iteration)]),Cn=le("eval_comparisons",{id:c("id").primaryKey().defaultRandom(),userId:c("user_id").notNull(),targetAId:c("target_a_id").notNull().references(()=>r.id,{onDelete:"cascade"}),targetBId:c("target_b_id").notNull().references(()=>r.id,{onDelete:"cascade"}),targetAVersion:L("target_a_version").notNull(),targetBVersion:L("target_b_version").notNull(),isSwapped:Fe("is_swapped").notNull().default(!1),winnerTargetId:c("winner_target_id").references(()=>r.id,{onDelete:"set null"}),perEval:w("per_eval").notNull().default([]),overall:w("overall").notNull().default({}),rawOutput:_("raw_output"),model:_("model"),status:_("status").notNull().default("completed"),createdAt:g("created_at",{withTimezone:!0}).defaultNow()},e=>[f("idx_eval_comparisons_target_a").on(e.targetAId),f("idx_eval_comparisons_target_b").on(e.targetBId),f("idx_eval_comparisons_user").on(e.userId)]),qn=le("eval_grade_annotations",{id:c("id").primaryKey().defaultRandom(),userId:c("user_id").notNull(),evalRunId:c("eval_run_id").notNull().references(()=>b.id,{onDelete:"cascade"}),evalTargetId:c("eval_target_id").notNull().references(()=>r.id,{onDelete:"cascade"}),expectationIndex:L("expectation_index").notNull(),expectationText:_("expectation_text").notNull(),judgePassed:Fe("judge_passed").notNull(),judgeMethod:_("judge_method").notNull(),judgeModel:_("judge_model"),verdict:_("verdict").notNull(),flag:_("flag"),note:_("note"),createdAt:g("created_at",{withTimezone:!0}).defaultNow(),updatedAt:g("updated_at",{withTimezone:!0}).defaultNow()},e=>[f("idx_eval_grade_annotations_target").on(e.evalTargetId),f("idx_eval_grade_annotations_run").on(e.evalRunId),Kn("eval_grade_annotations_eval_run_id_expectation_index_key").on(e.evalRunId,e.expectationIndex)]),On=le("judge_reviewer_verdicts",{id:c("id").primaryKey().defaultRandom(),userId:c("user_id").notNull(),evalTargetId:c("eval_target_id").notNull().references(()=>r.id,{onDelete:"cascade"}),evalRunId:c("eval_run_id").notNull().references(()=>b.id,{onDelete:"cascade"}),expectationIndex:L("expectation_index").notNull(),expectationText:_("expectation_text").notNull(),judgePassed:Fe("judge_passed").notNull(),humanPassed:Fe("human_passed").notNull(),reviewerEngine:_("reviewer_engine").notNull(),reviewerModel:_("reviewer_model").notNull(),reviewerPassed:Fe("reviewer_passed").notNull(),resolvedAt:g("resolved_at",{withTimezone:!0}),resolution:_("resolution"),createdAt:g("created_at",{withTimezone:!0}).defaultNow(),updatedAt:g("updated_at",{withTimezone:!0}).defaultNow()},e=>[f("idx_jrv_target").on(e.evalTargetId),Kn("judge_reviewer_verdicts_eval_run_id_expectation_index_review_key").on(e.evalRunId,e.expectationIndex,e.reviewerModel)]),je=le("benchmarks",{id:c("id").primaryKey().defaultRandom(),evalTargetId:c("eval_target_id").notNull().references(()=>r.id,{onDelete:"cascade"}),iteration:L("iteration").notNull().default(1),runSummary:w("run_summary").notNull().default({}),notes:w("notes").notNull().default([]),feedback:w("feedback"),createdAt:g("created_at",{withTimezone:!0}).defaultNow()},e=>[f("idx_benchmarks_target").on(e.evalTargetId)]);var P=ai("eval_jobs",{id:No("id").primaryKey().defaultRandom(),userId:No("user_id").notNull(),evalTargetId:No("eval_target_id").notNull().references(()=>r.id,{onDelete:"cascade"}),status:Tt("status").notNull().default("pending"),config:At("config").notNull().default({}),progress:At("progress").notNull().default({}),result:At("result"),error:Tt("error"),attempts:xo("attempts").notNull().default(0),taskKind:Tt("task_kind"),payload:At("payload"),claimedBy:Tt("claimed_by"),claimedAt:$e("claimed_at",{withTimezone:!0}),leaseExpiresAt:$e("lease_expires_at",{withTimezone:!0}),leaseRecoveries:xo("lease_recoveries").notNull().default(0),hostSuspendRecoveries:xo("host_suspend_recoveries").notNull().default(0),createdAt:$e("created_at",{withTimezone:!0}).defaultNow(),updatedAt:$e("updated_at",{withTimezone:!0}).defaultNow(),completedAt:$e("completed_at",{withTimezone:!0})},e=>[Dt("idx_eval_jobs_user").on(e.userId),Dt("idx_eval_jobs_target").on(e.evalTargetId),Dt("idx_eval_jobs_status").on(e.status),Dt("idx_eval_jobs_pending").on(e.userId,e.status)]);var T=Ln("performance_studies",{id:Re("id").primaryKey().defaultRandom(),userId:Re("user_id").notNull(),evalTargetId:Re("eval_target_id").notNull().references(()=>r.id,{onDelete:"cascade"}),projectPath:zt("project_path").notNull(),protocol:Mn("protocol").notNull(),protocolHash:zt("protocol_hash").notNull(),result:Mn("result"),finalizedAt:ho("finalized_at",{withTimezone:!0}),createdAt:ho("created_at",{withTimezone:!0}).defaultNow().notNull()},e=>[di("performance_studies_protocol_unique").on(e.userId,e.evalTargetId,e.protocolHash)]),ce=Ln("performance_study_calls",{id:Re("id").primaryKey().defaultRandom(),studyId:Re("study_id").notNull().references(()=>T.id,{onDelete:"cascade"}),jobId:Re("job_id").notNull().references(()=>P.id,{onDelete:"cascade"}),taskId:zt("task_id").notNull(),arm:zt("arm").notNull(),repetition:ui("repetition").notNull(),reservedAt:ho("reserved_at",{withTimezone:!0}).defaultNow().notNull()},e=>[li("performance_study_calls_study_id_task_id_arm_repetition_key").on(e.studyId,e.taskId,e.arm,e.repetition)]);var Qe=Bn("scoped_live_confirmations",{id:_e("id").primaryKey().defaultRandom(),userId:_e("user_id").notNull(),experimentId:_e("experiment_id").notNull().references(()=>ue.id,{onDelete:"cascade"}),sourceStudyId:_e("source_study_id").notNull().references(()=>T.id,{onDelete:"restrict"}),protocol:jt("protocol").notNull(),protocolHash:A("protocol_hash").notNull(),salt:A("salt").notNull(),status:A("status").notNull().default("running"),decision:A("decision"),decisionDetail:jt("decision_detail"),startedAt:Je("started_at",{withTimezone:!0}).notNull().defaultNow(),endedAt:Je("ended_at",{withTimezone:!0})},e=>[ci("scoped_live_confirmations_experiment_unique").on(e.experimentId),Un("scoped_live_confirmations_user_status").on(e.userId,e.status)]),Rt=Bn("scoped_live_confirmation_assignments",{id:_e("id").primaryKey().defaultRandom(),confirmationId:_e("confirmation_id").notNull().references(()=>Qe.id,{onDelete:"cascade"}),userId:_e("user_id").notNull(),taskId:A("task_id").notNull(),externalSessionId:A("external_session_id").notNull(),arm:A("arm").notNull(),phase:A("phase").notNull().default("trial"),model:A("model").notNull(),configurationHash:A("configuration_hash").notNull(),enrollmentEvidence:jt("enrollment_evidence"),assignedAt:Je("assigned_at",{withTimezone:!0}).notNull().defaultNow(),deliveryHash:A("delivery_hash"),deliveredAt:Je("delivered_at",{withTimezone:!0}),outcome:A("outcome"),outcomeDetail:jt("outcome_detail"),outcomeAt:Je("outcome_at",{withTimezone:!0})},e=>[Hn("scoped_live_confirmation_task_unique").on(e.confirmationId,e.taskId),Hn("scoped_live_confirmation_session_unique").on(e.confirmationId,e.externalSessionId),Un("scoped_live_confirmation_assignments_confirmation_arm").on(e.confirmationId,e.arm)]);import{pgTable as _i,text as go,timestamp as pi,uuid as kt,numeric as vo,integer as Gn,jsonb as mi,index as fi,unique as Ni}from"drizzle-orm/pg-core";var Vn=_i("instruction_verdicts",{id:kt("id").primaryKey().defaultRandom(),userId:kt("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),instructionId:kt("instruction_id").notNull().references(()=>n.id,{onDelete:"cascade"}),contentHash:go("content_hash").notNull(),projectPath:go("project_path").notNull(),segment:mi("segment").notNull().default({}),decision:go("decision").notNull(),delta:vo("delta").notNull(),ciLower:vo("ci_lower").notNull(),ciUpper:vo("ci_upper").notNull(),nTreated:Gn("n_treated").notNull(),nControl:Gn("n_control").notNull(),experimentId:kt("experiment_id").references(()=>ue.id,{onDelete:"set null"}),decidedAt:pi("decided_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Ni("instruction_verdicts_unique").on(e.instructionId,e.contentHash,e.projectPath),fi("idx_instruction_verdicts_render").on(e.userId,e.projectPath)]);import{pgTable as xi,text as Et,timestamp as Io,uuid as yo,integer as hi,unique as gi,index as vi}from"drizzle-orm/pg-core";var Fn=xi("insight_recommendation_log",{id:yo("id").primaryKey().defaultRandom(),userId:yo("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),projectPath:Et("project_path").notNull().default(""),category:Et("category").notNull(),contentHash:Et("content_hash").notNull(),label:Et("label").notNull().default(""),firstSeenAt:Io("first_seen_at",{withTimezone:!0}).notNull().defaultNow(),lastSeenAt:Io("last_seen_at",{withTimezone:!0}).notNull().defaultNow(),timesGenerated:hi("times_generated").notNull().default(1),lastJobId:yo("last_job_id"),dismissedAt:Io("dismissed_at",{withTimezone:!0})},e=>[gi("insight_recommendation_log_unique").on(e.userId,e.projectPath,e.contentHash),vi("idx_insight_recommendation_log_read").on(e.userId,e.projectPath)]);import{pgTable as Ii,text as ke,timestamp as wo,uuid as Ye,integer as $n,index as St}from"drizzle-orm/pg-core";var D=Ii("memories",{id:Ye("id").primaryKey().defaultRandom(),userId:Ye("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),orgId:Ye("org_id"),projectId:Ye("project_id").references(()=>s.id,{onDelete:"set null"}),version:$n("version").notNull().default(1),parentId:Ye("parent_id").references(()=>D.id,{onDelete:"set null"}),kind:ke("kind").notNull(),title:ke("title").notNull(),body:ke("body").notNull(),source:ke("source").notNull(),status:ke("status").notNull().default("active"),trustClass:ke("trust_class"),trustVersion:$n("trust_version"),trustComputedAt:wo("trust_computed_at",{withTimezone:!0}),createdAt:wo("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:wo("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 yi,text as pe,timestamp as To,uuid as Ao,integer as Jn,jsonb as wi,index as Qn}from"drizzle-orm/pg-core";var Yn=yi("memory_experiments",{id:Ao("id").primaryKey().defaultRandom(),memoryId:Ao("memory_id").notNull().references(()=>D.id,{onDelete:"cascade"}),userId:Ao("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),memoryVersion:Jn("memory_version").notNull().default(1),memoryBody:pe("memory_body"),taskPrompt:pe("task_prompt").notNull(),expectations:pe("expectations").array().notNull().default([]),trials:Jn("trials").notNull().default(10),model:pe("model"),engine:pe("engine").$type().notNull().default("claude"),status:pe("status").notNull().default("pending"),result:wi("result").$type(),error:pe("error"),createdAt:To("created_at",{withTimezone:!0}).notNull().defaultNow(),startedAt:To("started_at",{withTimezone:!0}),completedAt:To("completed_at",{withTimezone:!0})},e=>[Qn("idx_memory_experiments_memory").on(e.memoryId),Qn("idx_memory_experiments_user").on(e.userId)]);import{pgTable as Ti,text as Ee,timestamp as Do,uuid as zo,jsonb as Ai,uniqueIndex as Di,index as Wn}from"drizzle-orm/pg-core";var bt=Ti("session_terminal_targets",{id:zo("id").primaryKey().defaultRandom(),userId:zo("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),sessionId:zo("session_id").references(()=>a.id,{onDelete:"set null"}),externalSessionId:Ee("external_session_id"),kind:Ee("kind").notNull(),target:Ee("target").notNull(),status:Ee("status").notNull().default("active"),attachCommand:Ee("attach_command").notNull(),projectPath:Ee("project_path"),metadata:Ai("metadata").notNull().default({}),lastSeenAt:Do("last_seen_at",{withTimezone:!0}).defaultNow(),createdAt:Do("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Do("updated_at",{withTimezone:!0}).defaultNow()},e=>[Di("idx_session_terminal_targets_user_target").on(e.userId,e.target),Wn("idx_session_terminal_targets_session").on(e.sessionId),Wn("idx_session_terminal_targets_user_status").on(e.userId,e.status)]);import{boolean as zi,index as Pt,jsonb as Xn,pgTable as ji,text as me,timestamp as We,uuid as Kt,integer as jo}from"drizzle-orm/pg-core";var Zn=ji("session_send_jobs",{id:Kt("id").primaryKey().defaultRandom(),userId:Kt("user_id").notNull(),sessionId:Kt("session_id").notNull().references(()=>a.id,{onDelete:"cascade"}),terminalTargetId:Kt("terminal_target_id").references(()=>bt.id,{onDelete:"set null"}),target:me("target").notNull(),message:me("message").notNull(),submit:zi("submit").notNull().default(!0),delivery:me("delivery").notNull().default("live"),status:me("status").notNull().default("pending"),result:Xn("result"),error:me("error"),attempts:jo("attempts").notNull().default(0),taskKind:me("task_kind"),payload:Xn("payload"),claimedBy:me("claimed_by"),claimedAt:We("claimed_at",{withTimezone:!0}),leaseExpiresAt:We("lease_expires_at",{withTimezone:!0}),leaseRecoveries:jo("lease_recoveries").notNull().default(0),hostSuspendRecoveries:jo("host_suspend_recoveries").notNull().default(0),createdAt:We("created_at",{withTimezone:!0}).defaultNow(),updatedAt:We("updated_at",{withTimezone:!0}).defaultNow(),completedAt:We("completed_at",{withTimezone:!0})},e=>[Pt("idx_session_send_jobs_user").on(e.userId),Pt("idx_session_send_jobs_session").on(e.sessionId),Pt("idx_session_send_jobs_status").on(e.status),Pt("idx_session_send_jobs_pending").on(e.userId,e.status)]);import{pgTable as tr,text as fe,timestamp as Ct,jsonb as or,uuid as W,integer as Ri,boolean as ki,uniqueIndex as Ei,index as er,primaryKey as Si}from"drizzle-orm/pg-core";var R=tr("packs",{id:W("id").primaryKey().defaultRandom(),name:fe("name").notNull(),description:fe("description").notNull(),scope:fe("scope").notNull(),scopeRef:W("scope_ref"),version:fe("version").notNull().default("1.0.0"),tags:fe("tags").array(),badge:fe("badge"),metadata:or("metadata"),createdBy:W("created_by"),createdAt:Ct("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Ct("updated_at",{withTimezone:!0}).defaultNow(),archived:ki("archived").default(!1),archivedAt:Ct("archived_at",{withTimezone:!0}),archivedBy:W("archived_by"),forkedFromId:W("forked_from_id").references(()=>R.id,{onDelete:"set null"}),upstreamVersion:fe("upstream_version")},e=>[Ei("packs_name_scope_ref_idx").on(e.name,e.scope,e.scopeRef),er("idx_packs_scope").on(e.scope,e.scopeRef),er("idx_packs_created_by").on(e.createdBy)]),X=tr("pack_instructions",{packId:W("pack_id").references(()=>R.id,{onDelete:"cascade"}).notNull(),instructionId:W("instruction_id").references(()=>n.id,{onDelete:"cascade"}).notNull(),position:Ri("position").notNull().default(0),slotOverrides:or("slot_overrides"),addedAt:Ct("added_at",{withTimezone:!0}).defaultNow(),addedBy:W("added_by")},e=>[Si({columns:[e.packId,e.instructionId]})]);import{pgTable as bi,text as Ro,timestamp as Pi,jsonb as Ki,uuid as ko,index as Se}from"drizzle-orm/pg-core";var be=bi("instruction_usage_events",{id:ko("id").primaryKey().defaultRandom(),instructionId:ko("instruction_id").references(()=>n.id,{onDelete:"set null"}),userId:ko("user_id").notNull(),surface:Ro("surface").notNull(),action:Ro("action").notNull(),metadata:Ki("metadata"),traceId:Ro("trace_id"),createdAt:Pi("created_at",{withTimezone:!0}).defaultNow()},e=>[Se("idx_usage_events_instruction").on(e.instructionId),Se("idx_usage_events_user").on(e.userId),Se("idx_usage_events_surface").on(e.surface),Se("idx_usage_events_action").on(e.action),Se("idx_usage_events_created_at").on(e.createdAt),Se("idx_usage_events_user_created").on(e.userId,e.createdAt)]);import{pgTable as Ci,text as qt,timestamp as Ot,jsonb as qi,uuid as nr,index as Eo}from"drizzle-orm/pg-core";var rr=Ci("worker_connections",{id:nr("id").primaryKey().defaultRandom(),userId:nr("user_id").notNull(),workerType:qt("worker_type").notNull().default("mcp"),clientName:qt("client_name").notNull(),clientVersion:qt("client_version"),workerVersion:qt("worker_version"),lastHeartbeat:Ot("last_heartbeat",{withTimezone:!0}).notNull().defaultNow(),presenceGapStartedAt:Ot("presence_gap_started_at",{withTimezone:!0}),presenceGapEndedAt:Ot("presence_gap_ended_at",{withTimezone:!0}),connectedAt:Ot("connected_at",{withTimezone:!0}).notNull().defaultNow(),metadata:qi("metadata")},e=>[Eo("idx_worker_connections_user").on(e.userId),Eo("idx_worker_connections_heartbeat").on(e.userId,e.lastHeartbeat),Eo("idx_worker_connections_type").on(e.userId,e.workerType)]);import{pgTable as Oi,text as Mt,timestamp as Mi,jsonb as Li,uuid as sr,index as ir}from"drizzle-orm/pg-core";var ar=Oi("cli_setup_events",{id:sr("id").primaryKey().defaultRandom(),userId:sr("user_id").notNull(),deviceId:Mt("device_id").notNull(),event:Mt("event").notNull(),cliVersion:Mt("cli_version"),os:Mt("os"),props:Li("props").notNull().default({}),createdAt:Mi("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[ir("idx_cli_setup_events_user").on(e.userId,e.createdAt),ir("idx_cli_setup_events_device").on(e.deviceId,e.createdAt)]);import{pgTable as Hi,text as Ne,integer as Ui,boolean as Bi,timestamp as Gi,jsonb as Vi,uuid as Fi,index as dr}from"drizzle-orm/pg-core";var ur=Hi("cli_error_events",{id:Fi("id").primaryKey().defaultRandom(),deviceId:Ne("device_id"),event:Ne("event").notNull(),command:Ne("command"),statusCode:Ui("status_code"),message:Ne("message"),cliVersion:Ne("cli_version"),os:Ne("os"),nodeVersion:Ne("node_version"),proxied:Bi("proxied"),props:Vi("props").notNull().default({}),createdAt:Gi("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[dr("idx_cli_error_events_created").on(e.createdAt),dr("idx_cli_error_events_device").on(e.deviceId,e.createdAt)]);import{sql as So}from"drizzle-orm";import{pgTable as $i,text as U,timestamp as Ji,jsonb as Lt,uuid as Ht,boolean as Qi,index as Xe,uniqueIndex as Yi}from"drizzle-orm/pg-core";var lr=$i("instruction_promotions",{id:Ht("id").primaryKey().defaultRandom(),userId:Ht("user_id").notNull(),evalTargetId:Ht("eval_target_id").notNull().references(()=>r.id,{onDelete:"cascade"}),instructionId:Ht("instruction_id").references(()=>n.id,{onDelete:"set null"}),fromContentHash:U("from_content_hash").notNull(),toContentHash:U("to_content_hash").notNull(),fromContent:U("from_content").notNull(),toContent:U("to_content").notNull(),proposalSource:U("proposal_source").notNull(),proposalRationale:U("proposal_rationale").notNull().default(""),decision:U("decision").notNull(),applied:Qi("applied").notNull().default(!1),refusals:Lt("refusals").notNull().default([]),rationale:U("rationale").notNull().default(""),effectClass:U("effect_class").notNull(),verdict:Lt("verdict").notNull().default({}),gates:Lt("gates").notNull().default({}),touchedSections:Lt("touched_sections").notNull().default([]),createdAt:Ji("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Xe("idx_instruction_promotions_budget").on(e.evalTargetId,e.createdAt.desc()).where(So`${e.applied}`),Xe("idx_instruction_promotions_target").on(e.evalTargetId,e.createdAt.desc()),Xe("idx_instruction_promotions_user").on(e.userId,e.createdAt.desc()),Xe("idx_instruction_promotions_to_hash").on(e.toContentHash),Yi("uq_instruction_promotions_applied").on(e.evalTargetId,e.fromContentHash,e.toContentHash).where(So`${e.applied}`),Xe("idx_instruction_promotions_applied_hash").on(e.toContentHash,e.createdAt.desc()).where(So`${e.applied}`)]);import{index as Ze,integer as Wi,jsonb as Xi,pgTable as Zi,text as y,timestamp as Pe,uniqueIndex as ea,uuid as Z}from"drizzle-orm/pg-core";var cr=Zi("recommendation_applications",{id:Z("id").primaryKey().defaultRandom(),userId:Z("user_id").notNull(),instructionId:Z("instruction_id").notNull().references(()=>n.id,{onDelete:"cascade"}),projectId:Z("project_id").references(()=>s.id,{onDelete:"set null"}),projectPath:y("project_path").notNull(),harness:y("harness").notNull(),targetPath:y("target_path").notNull(),status:y("status").notNull().default("proposed"),applyMode:y("apply_mode").notNull(),beforeHash:y("before_hash"),appliedHash:y("applied_hash"),appliedAt:Pe("applied_at",{withTimezone:!0}),measurementStartedAt:Pe("measurement_started_at",{withTimezone:!0}),measurementEndedAt:Pe("measurement_ended_at",{withTimezone:!0}),verdict:y("verdict"),verdictDetail:y("verdict_detail"),revertedAt:Pe("reverted_at",{withTimezone:!0}),sourceStudyId:Z("source_study_id").references(()=>T.id,{onDelete:"restrict"}),scopedConfirmationId:Z("scoped_confirmation_id").references(()=>Qe.id,{onDelete:"restrict"}),scopedConfirmationAssignmentId:Z("scoped_confirmation_assignment_id").references(()=>Rt.id,{onDelete:"restrict"}),boundaryClass:y("boundary_class"),targets:y("targets").array().notNull().default([]),inverse:Xi("inverse"),requires:y("requires").array().notNull().default([]),provides:y("provides").array().notNull().default([]),applyBatchId:Z("apply_batch_id"),applySeq:Wi("apply_seq"),createdAt:Pe("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:Pe("updated_at",{withTimezone:!0}).notNull().defaultNow()},e=>[ea("uq_recommendation_applications_target").on(e.userId,e.instructionId,e.projectPath,e.harness,e.targetPath),Ze("idx_recommendation_applications_user_status").on(e.userId,e.status,e.updatedAt.desc()),Ze("idx_recommendation_applications_user_harness").on(e.userId,e.harness,e.updatedAt.desc()),Ze("idx_recommendation_applications_project").on(e.projectId,e.updatedAt.desc()),Ze("idx_recommendation_applications_batch").on(e.userId,e.applyBatchId,e.applySeq.desc()),Ze("idx_recommendation_applications_requires").using("gin",e.requires)]);import{pgTable as ta,text as K,timestamp as _r,jsonb as et,uuid as bo,integer as Ke,real as oa,index as ee,uniqueIndex as pr}from"drizzle-orm/pg-core";import{sql as Po}from"drizzle-orm";var te=ta("context_snapshots",{id:bo("id").primaryKey().defaultRandom(),sessionId:bo("session_id").references(()=>a.id,{onDelete:"cascade"}),userId:bo("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),sequence:Ke("sequence").notNull().default(0),provider:K("provider").notNull(),model:K("model").notNull(),systemPrompt:K("system_prompt").notNull(),injectedInstructions:et("injected_instructions").notNull().default([]),messagesSummary:et("messages_summary").notNull(),tools:et("tools").notNull().default([]),systemHash:K("system_hash").notNull(),requestHash:K("request_hash").notNull().default(""),toolsHash:K("tools_hash"),injectedHash:K("injected_hash"),messagesDelta:et("messages_delta").default([]),messagesDeltaRef:K("messages_delta_ref"),messagesBaseLength:Ke("messages_base_length"),payloadPrunedAt:_r("payload_pruned_at",{withTimezone:!0}),deltaOffloadState:K("delta_offload_state").notNull().default("inline"),deltaGzipBytes:Ke("delta_gzip_bytes"),deltaOffloadError:K("delta_offload_error"),deltaOffloadAttempts:Ke("delta_offload_attempts").notNull().default(0),maxTokens:Ke("max_tokens"),temperature:oa("temperature"),estimatedTokens:Ke("estimated_tokens"),capturedAt:_r("captured_at",{withTimezone:!0}).notNull().defaultNow(),metadata:et("metadata").default({})},e=>[ee("idx_context_snapshots_session").on(e.sessionId),ee("idx_context_snapshots_user").on(e.userId),ee("idx_context_snapshots_hash").on(e.systemHash),ee("idx_context_snapshots_request_hash").on(e.requestHash),pr("idx_snapshots_session_request").on(e.sessionId,e.requestHash),pr("idx_snapshots_session_sequence").on(e.sessionId,e.sequence),ee("idx_context_snapshots_user_session_captured").on(e.userId,e.sessionId,e.capturedAt.desc()),ee("idx_snapshots_unpruned_captured").on(e.capturedAt,e.id).where(Po`${e.payloadPrunedAt} is null`),ee("idx_snapshots_pending_offload").on(e.deltaOffloadState,e.capturedAt,e.id).where(Po`${e.deltaOffloadState} = 'pending'`),ee("idx_snapshots_delta_ref").on(e.messagesDeltaRef).where(Po`${e.messagesDeltaRef} is not null`)]);import{pgTable as na,text as mr,timestamp as fr,jsonb as ra,integer as sa,index as ia}from"drizzle-orm/pg-core";var Nr=na("content_blobs",{hash:mr("hash").primaryKey(),contentType:mr("content_type").notNull(),content:ra("content").notNull(),sizeBytes:sa("size_bytes").notNull().default(0),createdAt:fr("created_at",{withTimezone:!0}).defaultNow(),lastReferencedAt:fr("last_referenced_at",{withTimezone:!0}).notNull().defaultNow()},e=>[ia("idx_content_blobs_type").on(e.contentType)]);import{integer as xr,jsonb as aa,pgTable as da,timestamp as ua,uuid as la}from"drizzle-orm/pg-core";var hr=da("session_capture_heads",{sessionId:la("session_id").primaryKey().references(()=>a.id,{onDelete:"cascade"}),sequence:xr("sequence").notNull(),rawMessageHashes:aa("raw_message_hashes").notNull().$type(),version:xr("version").notNull(),updatedAt:ua("updated_at",{withTimezone:!0}).notNull().defaultNow()});import{index as ca,integer as gr,pgTable as _a,text as Ko,timestamp as vr,uniqueIndex as pa,uuid as ma}from"drizzle-orm/pg-core";import{sql as fa}from"drizzle-orm";var Ir=_a("snapshot_delta_objects",{ref:Ko("ref").primaryKey(),snapshotId:ma("snapshot_id"),compressedBytes:gr("compressed_bytes").notNull(),state:Ko("state").notNull(),createdAt:vr("created_at",{withTimezone:!0}).notNull().defaultNow(),lastAttemptAt:vr("last_attempt_at",{withTimezone:!0}),attempts:gr("attempts").notNull().default(0),lastError:Ko("last_error")},e=>[ca("idx_snapshot_delta_objects_state_created").on(e.state,e.createdAt),pa("snapshot_delta_objects_snapshot_id_unique").on(e.snapshotId).where(fa`${e.snapshotId} is not null`)]);import{pgTable as Na,text as tt,timestamp as ot,jsonb as yr,uuid as wr,integer as Co,index as Tr}from"drizzle-orm/pg-core";var Ar=Na("agent_jobs",{id:wr("id").primaryKey().defaultRandom(),userId:wr("user_id").notNull(),taskKind:tt("task_kind").notNull(),status:tt("status").notNull().default("pending"),payload:yr("payload").notNull(),dedupeKey:tt("dedupe_key"),result:yr("result"),error:tt("error"),attempts:Co("attempts").notNull().default(0),claimedBy:tt("claimed_by"),claimedAt:ot("claimed_at",{withTimezone:!0}),leaseExpiresAt:ot("lease_expires_at",{withTimezone:!0}),leaseRecoveries:Co("lease_recoveries").notNull().default(0),hostSuspendRecoveries:Co("host_suspend_recoveries").notNull().default(0),createdAt:ot("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:ot("updated_at",{withTimezone:!0}).notNull().defaultNow(),completedAt:ot("completed_at",{withTimezone:!0})},e=>[Tr("idx_agent_jobs_claim").on(e.userId,e.status,e.taskKind,e.createdAt),Tr("idx_agent_jobs_dedupe").on(e.userId,e.taskKind,e.dedupeKey)]);import{pgTable as xa,text as nt,timestamp as rt,jsonb as Ut,uuid as qo,index as Bt,integer as Oo}from"drizzle-orm/pg-core";var Dr=xa("insights_jobs",{id:qo("id").primaryKey().defaultRandom(),userId:qo("user_id").notNull(),status:nt("status").notNull().default("pending"),projectPath:nt("project_path"),projectId:qo("project_id").references(()=>s.id,{onDelete:"set null"}),config:Ut("config").notNull().default({}),progress:Ut("progress").notNull().default({}),result:Ut("result"),error:nt("error"),attempts:Oo("attempts").notNull().default(0),taskKind:nt("task_kind"),payload:Ut("payload"),claimedBy:nt("claimed_by"),claimedAt:rt("claimed_at",{withTimezone:!0}),leaseExpiresAt:rt("lease_expires_at",{withTimezone:!0}),leaseRecoveries:Oo("lease_recoveries").notNull().default(0),hostSuspendRecoveries:Oo("host_suspend_recoveries").notNull().default(0),createdAt:rt("created_at",{withTimezone:!0}).defaultNow(),updatedAt:rt("updated_at",{withTimezone:!0}).defaultNow(),completedAt:rt("completed_at",{withTimezone:!0})},e=>[Bt("idx_insights_jobs_user").on(e.userId),Bt("idx_insights_jobs_status").on(e.status),Bt("idx_insights_jobs_pending").on(e.userId,e.status),Bt("idx_insights_jobs_project").on(e.projectId)]);import{pgTable as ha,text as Mo,timestamp as Gt,uuid as zr,index as ga,uniqueIndex as va}from"drizzle-orm/pg-core";var Ce=ha("api_keys",{id:zr("id").primaryKey().defaultRandom(),userId:zr("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),name:Mo("name").notNull(),keyHash:Mo("key_hash").notNull(),keyPrefix:Mo("key_prefix").notNull(),lastUsedAt:Gt("last_used_at",{withTimezone:!0}),expiresAt:Gt("expires_at",{withTimezone:!0}),revokedAt:Gt("revoked_at",{withTimezone:!0}),createdAt:Gt("created_at",{withTimezone:!0}).defaultNow()},e=>[ga("idx_api_keys_user").on(e.userId),va("idx_api_keys_hash").on(e.keyHash)]);import{pgTable as Ia,text as Lo,timestamp as jr,uuid as ya,index as wa}from"drizzle-orm/pg-core";var Rr=Ia("extension_auth_codes",{code:Lo("code").primaryKey(),userId:ya("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),editor:Lo("editor"),email:Lo("email"),expiresAt:jr("expires_at",{withTimezone:!0}).notNull(),createdAt:jr("created_at",{withTimezone:!0}).defaultNow()},e=>[wa("idx_ext_auth_codes_expiry").on(e.expiresAt)]);import{pgTable as Ta,text as Aa,timestamp as kr,jsonb as Da,uuid as Ho,index as Er}from"drizzle-orm/pg-core";var qe=Ta("eval_conversations",{id:Ho("id").primaryKey().defaultRandom(),evalTargetId:Ho("eval_target_id").notNull().references(()=>r.id,{onDelete:"cascade"}),userId:Ho("user_id").notNull(),messages:Da("messages").notNull().default([]),status:Aa("status").notNull().default("active"),createdAt:kr("created_at",{withTimezone:!0}).defaultNow(),updatedAt:kr("updated_at",{withTimezone:!0}).defaultNow()},e=>[Er("idx_eval_conversations_target").on(e.evalTargetId),Er("idx_eval_conversations_user").on(e.userId)]);import{pgTable as za,text as B,timestamp as Sr,jsonb as ja,uuid as Uo}from"drizzle-orm/pg-core";var br=za("skill_submissions",{id:Uo("id").primaryKey().defaultRandom(),skillId:B("skill_id").notNull(),name:B("name").notNull(),description:B("description").notNull(),category:B("category").notNull(),tools:B("tools").array().notNull(),tags:B("tags").array().default([]),content:B("content").notNull(),status:B("status").notNull().default("pending"),submittedBy:Uo("submitted_by").notNull(),reviewedBy:Uo("reviewed_by"),reviewNote:B("review_note"),metadata:ja("metadata"),createdAt:Sr("created_at",{withTimezone:!0}).defaultNow(),updatedAt:Sr("updated_at",{withTimezone:!0}).defaultNow()});import{pgTable as Ra,text as st,timestamp as Pr,jsonb as ka,uuid as Ea,uniqueIndex as Sa,index as Kr}from"drizzle-orm/pg-core";var Cr=Ra("harness_releases",{id:Ea("id").primaryKey().defaultRandom(),harness:st("harness").notNull(),version:st("version").notNull(),publishedAt:Pr("published_at",{withTimezone:!0}).notNull(),title:st("title"),body:st("body"),categories:ka("categories").default({}),url:st("url"),createdAt:Pr("created_at",{withTimezone:!0}).defaultNow()},e=>[Sa("idx_harness_releases_unique").on(e.harness,e.version),Kr("idx_harness_releases_harness").on(e.harness),Kr("idx_harness_releases_published").on(e.publishedAt)]);import{pgTable as ba,text as Oe,timestamp as qr,jsonb as Pa,uuid as Or,index as Mr,uniqueIndex as Ka}from"drizzle-orm/pg-core";var Bo=ba("notifications",{id:Or("id").primaryKey().defaultRandom(),userId:Or("user_id").notNull(),type:Oe("type").notNull(),title:Oe("title").notNull(),body:Oe("body"),url:Oe("url"),sourceTable:Oe("source_table"),sourceId:Oe("source_id"),metadata:Pa("metadata").notNull().default({}),readAt:qr("read_at",{withTimezone:!0}),createdAt:qr("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[Mr("idx_notifications_user_created").on(e.userId,e.createdAt),Mr("idx_notifications_user_unread").on(e.userId),Ka("idx_notifications_source_dedup").on(e.userId,e.sourceTable,e.sourceId)]);import{pgTable as Ca,text as it,timestamp as at,jsonb as Go,uuid as Vo,index as Vt,integer as Fo}from"drizzle-orm/pg-core";var Me=Ca("launch_jobs",{id:Vo("id").primaryKey().defaultRandom(),userId:Vo("user_id").notNull(),tool:it("tool").notNull(),status:it("status").notNull().default("pending"),config:Go("config").notNull().default({}),result:Go("result"),error:it("error"),attempts:Fo("attempts").notNull().default(0),taskKind:it("task_kind"),payload:Go("payload"),claimedBy:it("claimed_by"),claimedAt:at("claimed_at",{withTimezone:!0}),leaseExpiresAt:at("lease_expires_at",{withTimezone:!0}),leaseRecoveries:Fo("lease_recoveries").notNull().default(0),hostSuspendRecoveries:Fo("host_suspend_recoveries").notNull().default(0),createdAt:at("created_at",{withTimezone:!0}).defaultNow(),updatedAt:at("updated_at",{withTimezone:!0}).defaultNow(),completedAt:at("completed_at",{withTimezone:!0}),runId:Vo("run_id").references(()=>h.id,{onDelete:"set null"})},e=>[Vt("idx_launch_jobs_user").on(e.userId),Vt("idx_launch_jobs_status").on(e.status),Vt("idx_launch_jobs_pending").on(e.userId,e.status),Vt("idx_launch_jobs_run").on(e.runId)]);import{pgTable as Lr,uuid as G,text as oe,real as qa,timestamp as dt,boolean as Oa,uniqueIndex as Ma,index as ut}from"drizzle-orm/pg-core";var Hr=["add","remove","trim"],$o=Lr("instruction_suggestions",{id:G("id").primaryKey().defaultRandom(),userId:G("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),instructionId:G("instruction_id").notNull().references(()=>n.id,{onDelete:"cascade"}),projectPath:oe("project_path").notNull(),projectId:G("project_id").references(()=>s.id,{onDelete:"set null"}),score:qa("score").notNull(),reason:oe("reason").notNull(),kind:oe("kind").$type().notNull().default("add"),generatedAt:dt("generated_at",{withTimezone:!0}).notNull().defaultNow(),isStale:Oa("is_stale").notNull().default(!1),dismissedAt:dt("dismissed_at",{withTimezone:!0}),acceptedAt:dt("accepted_at",{withTimezone:!0}),declinedAt:dt("declined_at",{withTimezone:!0}),declinedReason:oe("declined_reason"),promotedToInstructionId:G("promoted_to_instruction_id").references(()=>n.id,{onDelete:"set null"})},e=>[Ma("idx_instruction_suggestions_user_project_instruction_kind").on(e.userId,e.projectPath,e.instructionId,e.kind),ut("idx_instruction_suggestions_user_project").on(e.userId,e.projectPath),ut("idx_instruction_suggestions_user_proj_id").on(e.userId,e.projectId),ut("idx_instruction_suggestions_generated_at").on(e.generatedAt)]),Ur=Lr("instruction_suggestion_events",{id:G("id").primaryKey().defaultRandom(),suggestionId:G("suggestion_id").notNull().references(()=>$o.id,{onDelete:"cascade"}),userId:G("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),eventType:oe("event_type").notNull(),tool:oe("tool"),sessionId:G("session_id"),projectPath:oe("project_path").notNull(),actor:oe("actor"),createdAt:dt("created_at",{withTimezone:!0}).notNull().defaultNow()},e=>[ut("idx_instruction_suggestion_events_suggestion_id").on(e.suggestionId),ut("idx_instruction_suggestion_events_user_id").on(e.userId)]);import{pgTable as La,text as Jo,integer as Ha,numeric as lt,timestamp as Qo,index as Ua,primaryKey as Ba}from"drizzle-orm/pg-core";var Br=La("model_pricing",{provider:Jo("provider").notNull(),modelId:Jo("model_id").notNull(),inputPerM:lt("input_per_m").notNull(),outputPerM:lt("output_per_m").notNull(),cacheReadPerM:lt("cache_read_per_m").notNull(),cacheWrite5mPerM:lt("cache_write_5m_per_m").notNull(),cacheWrite1hPerM:lt("cache_write_1h_per_m").notNull(),contextWindow:Ha("context_window"),effectiveFrom:Qo("effective_from",{withTimezone:!0}).notNull(),effectiveUntil:Qo("effective_until",{withTimezone:!0}),source:Jo("source").notNull(),verifiedAt:Qo("verified_at",{withTimezone:!0})},e=>[Ba({columns:[e.provider,e.modelId,e.effectiveFrom]}),Ua("idx_model_pricing_active").on(e.provider,e.modelId,e.effectiveFrom.desc())]);import{pgTable as Ga,text as xe,numeric as Gr,timestamp as Vr,uuid as Fr,jsonb as Va,index as $r}from"drizzle-orm/pg-core";var Jr=Ga("limit_observations",{id:Fr("id").primaryKey().defaultRandom(),observedAt:Vr("observed_at",{withTimezone:!0}).notNull().defaultNow(),provider:xe("provider").notNull(),plan:xe("plan").notNull(),limitType:xe("limit_type").notNull(),value:Gr("value").notNull(),unit:xe("unit").notNull(),comparator:xe("comparator").notNull().default("="),resetsAt:Vr("resets_at",{withTimezone:!0}),sourceType:xe("source_type").notNull(),sourceUrl:xe("source_url"),sourceEvidence:Va("source_evidence"),confidence:Gr("confidence").notNull(),userId:Fr("user_id")},e=>[$r("idx_limit_obs_lookup").on(e.provider,e.plan,e.limitType,e.observedAt.desc()),$r("idx_limit_obs_user").on(e.userId,e.observedAt.desc())]);import{pgTable as Fa,text as Ft,timestamp as $a,uuid as Ja,jsonb as Qa,boolean as Ya,uniqueIndex as Wa}from"drizzle-orm/pg-core";var Qr=Fa("provider_docs_snapshots",{id:Ja("id").primaryKey().defaultRandom(),fetchedAt:$a("fetched_at",{withTimezone:!0}).notNull().defaultNow(),provider:Ft("provider").notNull(),docUrl:Ft("doc_url").notNull(),contentHash:Ft("content_hash").notNull(),content:Ft("content").notNull(),parseSuccess:Ya("parse_success").notNull(),parseErrors:Qa("parse_errors")},e=>[Wa("idx_docs_dedup").on(e.provider,e.docUrl,e.contentHash)]);import{pgTable as Xa,text as $t,numeric as Yr,timestamp as Wr,uuid as Za,primaryKey as ed,index as td}from"drizzle-orm/pg-core";var Xr=Xa("plan_limits_active",{provider:$t("provider").notNull(),plan:$t("plan").notNull(),limitType:$t("limit_type").notNull(),value:Yr("value").notNull(),unit:$t("unit").notNull(),effectiveFrom:Wr("effective_from",{withTimezone:!0}).notNull(),effectiveUntil:Wr("effective_until",{withTimezone:!0}),confidence:Yr("confidence").notNull(),sourceObservationIds:Za("source_observation_ids").array().notNull()},e=>[ed({columns:[e.provider,e.plan,e.limitType,e.effectiveFrom]}),td("idx_plan_limits_lookup").on(e.provider,e.plan,e.limitType,e.effectiveFrom.desc())]);import{pgTable as od,text as Yo,timestamp as nd,uuid as Zr,jsonb as rd,index as sd}from"drizzle-orm/pg-core";var es=od("alert_dispatches",{id:Zr("id").primaryKey().defaultRandom(),userId:Zr("user_id").notNull(),alertKey:Yo("alert_key").notNull(),severity:Yo("severity").notNull(),lastDispatchedAt:nd("last_dispatched_at",{withTimezone:!0}).notNull().defaultNow(),lastState:rd("last_state").notNull(),channel:Yo("channel").notNull()},e=>[sd("idx_alert_user_key").on(e.userId,e.alertKey,e.lastDispatchedAt.desc())]);import{date as ts,integer as Wo,pgTable as os,primaryKey as id,text as ad,timestamp as Xo,uuid as dd}from"drizzle-orm/pg-core";var ns=os("weekly_digest_deliveries",{userId:dd("user_id").notNull().references(()=>o.id,{onDelete:"cascade"}),weekStart:ts("week_start").notNull(),sentAt:Xo("sent_at",{withTimezone:!0}).notNull().defaultNow(),providerMessageId:ad("provider_message_id")},e=>[id({columns:[e.userId,e.weekStart]})]),rs=os("weekly_digest_runs",{weekStart:ts("week_start").primaryKey(),startedAt:Xo("started_at",{withTimezone:!0}).notNull().defaultNow(),finishedAt:Xo("finished_at",{withTimezone:!0}),sent:Wo("sent"),skipped:Wo("skipped"),failed:Wo("failed")});import{pgTable as ud,text as Zo,timestamp as ss,uuid as en,integer as ld,index as cd,unique as _d}from"drizzle-orm/pg-core";var is=ud("scaffolding_fingerprints",{id:en("id").primaryKey().defaultRandom(),userId:en("user_id").notNull(),harness:Zo("harness").notNull(),model:Zo("model").notNull(),toolsHash:Zo("tools_hash").notNull(),firstSeenAt:ss("first_seen_at",{withTimezone:!0}).notNull().defaultNow(),lastSeenAt:ss("last_seen_at",{withTimezone:!0}).notNull().defaultNow(),snapshotCount:ld("snapshot_count").notNull().default(1),firstSessionId:en("first_session_id")},e=>[_d("scaffolding_fingerprints_user_id_harness_model_tools_hash_key").on(e.userId,e.harness,e.model,e.toolsHash),cd("idx_scaffolding_fp_segment").on(e.userId,e.harness,e.model)]);import{pgTable as pd,text as tn,timestamp as md,jsonb as fd,uuid as as,integer as Nd,unique as xd}from"drizzle-orm/pg-core";var ds=pd("scaffolding_segments",{id:as("id").primaryKey().defaultRandom(),userId:as("user_id").notNull(),harness:tn("harness").notNull(),model:tn("model").notNull(),coreNames:fd("core_names").notNull(),coreHash:tn("core_hash").notNull(),activeFingerprints:Nd("active_fingerprints").notNull(),computedAt:md("computed_at",{withTimezone:!0}).notNull().defaultNow()},e=>[xd("scaffolding_segments_user_id_harness_model_key").on(e.userId,e.harness,e.model)]);import{pgTable as hd,text as ne,timestamp as us,uuid as on,uniqueIndex as gd,index as vd}from"drizzle-orm/pg-core";var ls=["blog","docs","changelog"],nn=hd("vendor_guidance_snapshots",{id:on("id").primaryKey().defaultRandom(),fetchedAt:us("fetched_at",{withTimezone:!0}).notNull().defaultNow(),sourceId:ne("source_id").notNull(),harness:ne("harness").notNull(),vendor:ne("vendor").notNull(),kind:ne("kind").$type().notNull(),url:ne("url").notNull(),title:ne("title").notNull(),contentHash:ne("content_hash").notNull(),text:ne("text").notNull(),previousSnapshotId:on("previous_snapshot_id").references(()=>nn.id,{onDelete:"set null"}),pitchedAt:us("pitched_at",{withTimezone:!0}),pitchInstructionId:on("pitch_instruction_id").references(()=>n.id,{onDelete:"set null"})},e=>[gd("idx_vendor_guidance_dedup").on(e.sourceId,e.contentHash),vd("idx_vendor_guidance_source_fetched").on(e.sourceId,e.fetchedAt)]);import{drizzle as fs}from"drizzle-orm/postgres-js";import Ns from"postgres";var Jt={};Ks(Jt,{GUIDANCE_KINDS:()=>ls,SUGGESTION_KINDS:()=>Hr,agentJobs:()=>Ar,agentRuns:()=>h,agentRunsRelations:()=>Kd,alertDispatches:()=>es,announcementDeliveries:()=>mn,announcements:()=>pn,apiKeys:()=>Ce,apiKeysRelations:()=>yd,benchmarks:()=>je,benchmarksRelations:()=>$d,cliErrorEvents:()=>ur,cliSetupEvents:()=>ar,contentBlobs:()=>Nr,contextSnapshots:()=>te,contextSnapshotsRelations:()=>Yd,evalComparisons:()=>Cn,evalConversations:()=>qe,evalConversationsRelations:()=>Qd,evalGradeAnnotations:()=>qn,evalJobs:()=>P,evalJobsRelations:()=>Jd,evalRuns:()=>b,evalRunsRelations:()=>Fd,evalTargets:()=>r,evalTargetsRelations:()=>Gd,evals:()=>H,evalsRelations:()=>Vd,extensionAuthCodes:()=>Rr,harnessReleases:()=>Cr,insightRecommendationLog:()=>Fn,insightsJobs:()=>Dr,instructionEvents:()=>we,instructionEventsRelations:()=>Rd,instructionExperimentArms:()=>Pn,instructionExperiments:()=>ue,instructionPromotions:()=>lr,instructionSuggestionEvents:()=>Ur,instructionSuggestions:()=>$o,instructionUsageEvents:()=>be,instructionUsageEventsRelations:()=>Bd,instructionVerdicts:()=>Vn,instructionVersionIdentities:()=>In,instructionVersions:()=>ye,instructionVersionsRelations:()=>Ed,instructions:()=>n,instructionsRelations:()=>jd,judgeReviewerVerdicts:()=>On,launchJobs:()=>Me,launchJobsRelations:()=>Cd,limitObservations:()=>Jr,memories:()=>D,memoriesRelations:()=>kd,memoryExperiments:()=>Yn,modelPricing:()=>Br,notificationPreferences:()=>fn,notifications:()=>Bo,orgInvitations:()=>C,orgInvitationsRelations:()=>Ad,organizations:()=>l,organizationsRelations:()=>wd,packInstructions:()=>X,packInstructionsRelations:()=>Ud,packs:()=>R,packsRelations:()=>Hd,pendingTreatmentExposures:()=>En,performanceStudies:()=>T,performanceStudiesRelations:()=>Wd,performanceStudyCalls:()=>ce,performanceStudyCallsRelations:()=>Xd,planLimitsActive:()=>Xr,profiles:()=>o,profilesRelations:()=>Id,projectCheckouts:()=>Tn,projectInstructions:()=>J,projectInstructionsRelations:()=>bd,projects:()=>s,projectsRelations:()=>Sd,providerDocsSnapshots:()=>Qr,recommendationApplications:()=>cr,scaffoldingFingerprints:()=>is,scaffoldingSegments:()=>ds,scopedLiveConfirmationAssignments:()=>Rt,scopedLiveConfirmations:()=>Qe,sessionCaptureHeads:()=>hr,sessionEvents:()=>Ae,sessionEventsRelations:()=>qd,sessionInstructions:()=>Q,sessionInstructionsRelations:()=>Od,sessionSendJobs:()=>Zn,sessionTerminalTargets:()=>bt,sessions:()=>a,sessionsRelations:()=>Pd,skillSubmissions:()=>br,snapshotDeltaObjects:()=>Ir,teams:()=>v,teamsRelations:()=>Td,treatmentAssignments:()=>O,treatmentAssignmentsRelations:()=>Md,treatmentExposures:()=>M,treatmentExposuresRelations:()=>Ld,userOrganizations:()=>ve,userOrganizationsRelations:()=>Dd,userTeams:()=>Ie,userTeamsRelations:()=>zd,vendorGuidanceSnapshots:()=>nn,weeklyDigestDeliveries:()=>ns,weeklyDigestRuns:()=>rs,workerConnections:()=>rr});import{relations as i}from"drizzle-orm";var Id=i(o,({many:e})=>({sessions:e(a),contextSnapshots:e(te),apiKeys:e(Ce)})),yd=i(Ce,({one:e})=>({profile:e(o,{fields:[Ce.userId],references:[o.id]})})),wd=i(l,({many:e})=>({teams:e(v),userOrganizations:e(ve),projects:e(s),invitations:e(C)})),Td=i(v,({one:e,many:t})=>({organization:e(l,{fields:[v.orgId],references:[l.id]}),userTeams:t(Ie),invitations:t(C)})),Ad=i(C,({one:e})=>({organization:e(l,{fields:[C.orgId],references:[l.id]}),team:e(v,{fields:[C.teamId],references:[v.id]}),inviter:e(o,{fields:[C.invitedBy],references:[o.id]})})),Dd=i(ve,({one:e})=>({organization:e(l,{fields:[ve.orgId],references:[l.id]})})),zd=i(Ie,({one:e})=>({team:e(v,{fields:[Ie.teamId],references:[v.id]})})),jd=i(n,({one:e,many:t})=>({versions:t(ye),projectInstructions:t(J),events:t(we),usageEvents:t(be),sessionInstructions:t(Q),packInstructions:t(X),forkedFrom:e(n,{fields:[n.forkedFromId],references:[n.id]})})),Rd=i(we,({one:e})=>({instruction:e(n,{fields:[we.instructionId],references:[n.id]})})),kd=i(D,({one:e,many:t})=>({project:e(s,{fields:[D.projectId],references:[s.id]}),parent:e(D,{fields:[D.parentId],references:[D.id]}),versions:t(D)})),Ed=i(ye,({one:e})=>({instruction:e(n,{fields:[ye.instructionId],references:[n.id]})})),Sd=i(s,({one:e,many:t})=>({organization:e(l,{fields:[s.orgId],references:[l.id]}),projectInstructions:t(J),sessions:t(a)})),bd=i(J,({one:e})=>({project:e(s,{fields:[J.projectId],references:[s.id]}),instruction:e(n,{fields:[J.instructionId],references:[n.id]})})),Pd=i(a,({one:e,many:t})=>({profile:e(o,{fields:[a.userId],references:[o.id]}),project:e(s,{fields:[a.projectId],references:[s.id]}),run:e(h,{fields:[a.runId],references:[h.id]}),events:t(Ae),sessionInstructions:t(Q),treatmentExposures:t(M),contextSnapshots:t(te)})),Kd=i(h,({one:e,many:t})=>({profile:e(o,{fields:[h.userId],references:[o.id]}),organization:e(l,{fields:[h.orgId],references:[l.id]}),project:e(s,{fields:[h.projectId],references:[s.id]}),sessions:t(a),launchJobs:t(Me)})),Cd=i(Me,({one:e})=>({run:e(h,{fields:[Me.runId],references:[h.id]})})),qd=i(Ae,({one:e})=>({session:e(a,{fields:[Ae.sessionId],references:[a.id]})})),Od=i(Q,({one:e})=>({session:e(a,{fields:[Q.sessionId],references:[a.id]}),instruction:e(n,{fields:[Q.instructionId],references:[n.id]})})),Md=i(O,({one:e,many:t})=>({owner:e(o,{fields:[O.userId],references:[o.id]}),project:e(s,{fields:[O.projectId],references:[s.id]}),exposures:t(M)})),Ld=i(M,({one:e})=>({session:e(a,{fields:[M.sessionId],references:[a.id]}),owner:e(o,{fields:[M.userId],references:[o.id]}),assignment:e(O,{fields:[M.assignmentId],references:[O.id]})})),Hd=i(R,({one:e,many:t})=>({packInstructions:t(X),forkedFrom:e(R,{fields:[R.forkedFromId],references:[R.id]})})),Ud=i(X,({one:e})=>({pack:e(R,{fields:[X.packId],references:[R.id]}),instruction:e(n,{fields:[X.instructionId],references:[n.id]})})),Bd=i(be,({one:e})=>({instruction:e(n,{fields:[be.instructionId],references:[n.id]})})),Gd=i(r,({one:e,many:t})=>({parent:e(r,{fields:[r.parentId],references:[r.id]}),evals:t(H),evalRuns:t(b),benchmarks:t(je),evalJobs:t(P),evalConversations:t(qe)})),Vd=i(H,({one:e,many:t})=>({evalTarget:e(r,{fields:[H.evalTargetId],references:[r.id]}),runs:t(b)})),Fd=i(b,({one:e})=>({eval:e(H,{fields:[b.evalId],references:[H.id]}),evalTarget:e(r,{fields:[b.evalTargetId],references:[r.id]})})),$d=i(je,({one:e})=>({evalTarget:e(r,{fields:[je.evalTargetId],references:[r.id]})})),Jd=i(P,({one:e})=>({evalTarget:e(r,{fields:[P.evalTargetId],references:[r.id]})})),Qd=i(qe,({one:e})=>({evalTarget:e(r,{fields:[qe.evalTargetId],references:[r.id]})})),Yd=i(te,({one:e})=>({session:e(a,{fields:[te.sessionId],references:[a.id]}),profile:e(o,{fields:[te.userId],references:[o.id]})})),Wd=i(T,({one:e,many:t})=>({target:e(r,{fields:[T.evalTargetId],references:[r.id]}),calls:t(ce)})),Xd=i(ce,({one:e})=>({study:e(T,{fields:[ce.studyId],references:[T.id]}),job:e(P,{fields:[ce.jobId],references:[P.id]})}));var ct=0,cs=0,_t=0,_s=0;var Zd=0;function rn(){ct++,ct>cs&&(cs=ct)}m(rn,"trackDbOpStart");function sn(){ct>0&&ct--}m(sn,"trackDbOpEnd");function an(){_t++,_t>_s&&(_s=_t)}m(an,"trackHeavyDbOpStart");function dn(){_t>0&&_t--}m(dn,"trackHeavyDbOpEnd");function ps(){Zd++}m(ps,"recordQueryDeadline");var Yt,Xt,un=!1,Qt;var ms,Zt,Wt;function xs(e){let t=process.env[e];if(!t)throw new Error(`Missing required env var: ${e}`);return t}m(xs,"getEnv");function hs(){if(un)throw new Error("getDb() called after closeDb(): the connection pool is closed for shutdown. Stop issuing queries (timers/requests) before draining the pool.");if(!Yt){let e=process.env.PG_APPLICATION_NAME||"rulemetric",t=Number(process.env.PG_POOL_MAX)||3,d=Number(process.env.PG_CONNECT_TIMEOUT_S)||10,u=Number(process.env.PG_STATEMENT_TIMEOUT_MS)||0,p=Number(process.env.PG_IDLE_TIMEOUT)||5,x=Number(process.env.PG_KEEP_ALIVE_S)||60;Xt=Ns(xs("DATABASE_URL"),{prepare:!1,max:t,connect_timeout:d,idle_timeout:p,keep_alive:x,max_lifetime:300,connection:{application_name:e,...u>0?{statement_timeout:u}:{}}}),Yt=fs(Xt,{schema:Jt})}return Yt}m(hs,"getDb");function gs(){if(un)throw new Error("getHeavyDb() called after closeDb(): the connection pool is closed for shutdown. Stop issuing queries (timers/requests) before draining the pool.");if(!Wt){let e=(process.env.PG_APPLICATION_NAME||"rulemetric")+":heavy",t=Number(process.env.PG_HEAVY_POOL_MAX)||2;Zt=Ns(xs("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}}),Wt=fs(Zt,{schema:Jt})}return Wt}m(gs,"getHeavyDb");async function eu(){if(Qt)return Qt;un=!0;let e=Xt,t=ms,d=Zt;return Xt=void 0,Yt=void 0,ms=void 0,Zt=void 0,Wt=void 0,Qt=Promise.allSettled([e?e.end({timeout:5}):Promise.resolve(),t?t.end({timeout:5}):Promise.resolve(),d?d.end({timeout:5}):Promise.resolve()]).then(()=>{}),Qt}m(eu,"closeDb");var tu=new Set(["CONNECT_TIMEOUT","ETIMEDOUT","ENOTFOUND","ECONNREFUSED","EAI_AGAIN"]);function vs(e){let t=e,d=t?.code??t?.cause?.code??t?.errno;return d!==void 0&&tu.has(d)}m(vs,"isRetryableConnectError");var ou=new Set(["CONNECTION_CLOSED","ECONNRESET","EPIPE"]);function Is(e){let t=e,d=t?.code??t?.cause?.code??t?.errno;return d!==void 0&&ou.has(d)}m(Is,"isRetryableResetError");async function ys(e,t={}){let d=t.attempts??3,u=t.baseMs??100,p;for(let x=0;x<d;x++)try{return await e()}catch(z){p=z;let V=vs(z)||t.retryResets===!0&&Is(z);if(x===d-1||!V)throw z;await new Promise(re=>setTimeout(re,u*2**x))}throw p}m(ys,"withDbRetry");var eo=class extends Error{static{m(this,"QueryDeadlineError")}code="QUERY_DEADLINE";constructor(t){super(`Query exceeded the client-side deadline of ${t}ms \u2014 the DB pool is likely saturated (acquire-wait) or holding a dead socket; failing fast to avoid pinning the caller. See client.ts.`),this.name="QueryDeadlineError"}};function ws(){let e=Number(process.env.PG_QUERY_DEADLINE_MS);return Number.isFinite(e)&&e>=0?e:2e4}m(ws,"queryDeadlineMs");function Ts(){let e=Number(process.env.PG_HEAVY_QUERY_DEADLINE_MS);return Number.isFinite(e)&&e>=0?e:6e4}m(Ts,"heavyQueryDeadlineMs");function nu(e,t,d=!0){let u,p=new Promise((x,z)=>{u=setTimeout(()=>{d&&ps(),z(new eo(t))},t);let V=u;typeof V.unref=="function"&&V.unref()});return Promise.race([e,p]).finally(()=>clearTimeout(u))}m(nu,"raceWithDeadline");var As=new Set(["select","selectDistinct","selectDistinctOn","insert","update","delete","execute","with","$count","refreshMaterializedView"]),Ds=new Set(["select","selectDistinct","selectDistinctOn","$count"]);function ln(e,t=!1,d=0,u=!1){return e===null||typeof e!="object"&&typeof e!="function"?e:new Proxy(e,{get(p,x,z){if(x==="then"){let re=Reflect.get(p,x,z);return typeof re!="function"?re:(Rs,ks)=>{let Es=u?an:rn,Ss=u?dn:sn;Es();let cn=ys(()=>new Promise((bs,Ps)=>re.call(p,bs,Ps)),{retryResets:t});return(d>0?nu(cn,d,!u):cn).finally(Ss).then(Rs,ks)}}let V=Reflect.get(p,x,z);return typeof V=="function"?(...re)=>ln(V.apply(p,re),t,d,u):V}})}m(ln,"wrapBuilder");function zs(e,t=!1){let d=t?an:rn,u=t?dn:sn;d();try{return Promise.resolve(e()).finally(u)}catch(p){throw u(),p}}m(zs,"gaugeTransaction");var js=new Proxy({},{get(e,t){let d=hs(),u=d[t];if(typeof t=="string"&&As.has(t)&&typeof u=="function"){let p=Ds.has(t),x=ws();return(...z)=>ln(u.apply(d,z),p,x)}return t==="transaction"&&typeof u=="function"?(...p)=>zs(()=>u.apply(d,p)):u}}),ru=new Proxy({},{get(e,t){let d=gs(),u=d[t];if(typeof t=="string"&&As.has(t)&&typeof u=="function"){let p=Ds.has(t);return(...x)=>ln(u.apply(d,x),p,Ts(),!0)}return t==="transaction"&&typeof u=="function"?(...p)=>zs(()=>u.apply(d,p),!0):u}});export{pn as a,hs as b,eu as c};
@@ -1 +0,0 @@
1
- import{e as c,f as d}from"./chunk-GIXHG5FK.js";import{a as m}from"./chunk-ZLLER3HP.js";async function f(g,p){let r=m(e=>p?.logger?.info?.(e)??console.log(e),"log"),{projectPath:s}=g,i=`[cron_instruction_training] ${s}`;if(!s)return{skipped:"no-project-path"};let n=await d("/api/instruction-experiments/settle",{projectPath:s}),o=n.settled.map(e=>e.outcome),a=o.filter(e=>e==="graduated").length;for(let e of n.settled)r(`${i}: experiment ${e.experimentId} \u2192 ${e.outcome}`);n.examined>0&&r(`${i}: examined ${n.examined} running experiment(s) \u2014 ${n.settled.length} settled (${a} graduated), ${n.stillRunning} still gathering`);let t=await c(`/api/instruction-suggestions/trialable?projectPath=${encodeURIComponent(s)}`);for(let e of t.refused)r(`${i}: not trialling "${e.name}" \u2014 ${e.reason}`);if(t.candidates.length===0)return r(`${i}: no new trial started (${t.running}/${t.limits.maxConcurrent} running, ${t.slots} slot(s) free)`),{examined:n.examined,settled:n.settled.length,graduated:a,nominated:0,running:t.running,outcomes:o};let u=0;for(let e of t.candidates)try{await d("/api/instruction-experiments",{instructionId:e.instructionId,projectPath:s,source:"trial"}),u+=1,r(`${i}: now measuring "${e.name}" (score ${e.score.toFixed(2)})`)}catch(l){r(`${i}: could not measure "${e.name}" \u2014 ${l instanceof Error?l.message:String(l)}`)}return{examined:n.examined,settled:n.settled.length,graduated:a,nominated:u,running:t.running+u,outcomes:o}}m(f,"cronInstructionTraining");export{f as a};
@@ -1 +0,0 @@
1
- import{a as c}from"./chunk-ZLLER3HP.js";import{fetchAllSources as _,TIER_1_SOURCES as b,TIER_2_SOURCES as w,loadDiscoveredSources as $}from"@rulemetric/skills-registry";import{writeFile as U,mkdir as I}from"node:fs/promises";import O from"node:os";import E from"node:path";var l=200;async function v(m,e){let u=e.failed>0?16096779:2278750,d={title:e.failed>0?"\u26A0\uFE0F Skills registry refresh (partial failures)":"\u2705 Skills registry refreshed",color:u,fields:[{name:"Total skills",value:String(e.total),inline:!0},{name:"Sources",value:String(e.sources),inline:!0},{name:"Duration",value:`${Math.round(e.durationMs/1e3)}s`,inline:!0},{name:"Inserted",value:String(e.inserted),inline:!0},{name:"Updated",value:String(e.updated),inline:!0},{name:"Unchanged",value:String(e.unchanged),inline:!0},...e.failed>0?[{name:"Failed",value:String(e.failed),inline:!0}]:[]],timestamp:new Date().toISOString()};try{let n=await fetch(m,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({embeds:[d]})});n.ok||console.error("[cron-refresh-skills] Discord alert failed",n.status)}catch(n){console.error("[cron-refresh-skills] Discord alert threw",n)}}c(v,"postDiscordAlert");var C=c(async(m,e)=>{if(!process.env.GITHUB_TOKEN){e.logger.warn("GITHUB_TOKEN unset \u2014 skipping skills registry refresh. Without a token the unauthenticated 60 req/hr cap is too tight for ~351 sources; set GITHUB_TOKEN (5000 req/hr) and re-run.");return}let u=Date.now(),g=$(),d=new Set,n=[...b,...w,...g].filter(r=>d.has(r.repo)?!1:(d.add(r.repo),!0));e.logger.info(`Fetching from ${n.length} sources (T1=${b.length}, T2=${w.length}, discovered=${g.length})`);let o=await _(n,{onProgress:c((r,a)=>e.logger.info(`fetched ${a} from ${r}`),"onProgress")}),S=E.join(O.homedir(),".config","rulemetric");await I(S,{recursive:!0});let R=E.join(S,"skills-registry.json");await U(R,JSON.stringify({generatedAt:new Date().toISOString(),skills:o.entries},null,2)),e.logger.info(`Refreshed disk registry: ${o.entries.length} skills`);let k=process.env.RULEMETRIC_API_URL,T=process.env.RULEMETRIC_REGISTRY_BOT_TOKEN;if(!k||!T){e.logger.warn("RULEMETRIC_API_URL or RULEMETRIC_REGISTRY_BOT_TOKEN unset; skipping DB sync");return}let f=0,h=0,p=0,s=0;for(let r=0;r<o.entries.length;r+=l){let a=o.entries.slice(r,r+l).map(t=>({id:t.id,name:t.name,description:t.description,content:t.content,source:t.source,tags:t.tags,category:t.category,updatedAt:t.updatedAt,sourceUpdatedAt:t.sourceUpdatedAt,popularity:t.popularity}));try{let t=await fetch(`${k}/api/skills/sync-public`,{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${T}`},body:JSON.stringify({skills:a})});if(!t.ok){e.logger.warn(`Batch ${r/l} failed: ${t.status} ${await t.text()}`),s+=a.length;continue}let i=await t.json();f+=i.inserted,h+=i.updated,p+=i.unchanged,i.skipped&&(e.logger.warn(`Batch ${r/l}: ${i.skipped} skills skipped (invalid)`),s+=i.skipped)}catch(t){e.logger.warn(`Batch ${r/l} threw: ${t instanceof Error?t.message:String(t)}`),s+=a.length}}e.logger.info(`DB sync: inserted=${f} updated=${h} unchanged=${p} failed=${s}`);let y=process.env.DISCORD_WEBHOOK_URL;y&&await v(y,{total:o.entries.length,inserted:f,updated:h,unchanged:p,failed:s,sources:n.length,durationMs:Date.now()-u})},"cronRefreshSkills");export{C as a};
@@ -1 +0,0 @@
1
- import{a as Y,b as N,c as A,d as Z,e as ee}from"./chunk-JU5ZNXPK.js";import{a as I}from"./chunk-5RBLIVBF.js";import{a as te}from"./chunk-KR36ZDGN.js";import{b as ne}from"./chunk-HXOQUYG3.js";import{a as T,c as X}from"./chunk-FADINV4H.js";import{f as z}from"./chunk-SWSOEYC7.js";import{a as K}from"./chunk-FG343JM3.js";import{a as B,f as Q}from"./chunk-4GOXEEXZ.js";import{e as C,f as R,h as E}from"./chunk-GIXHG5FK.js";import{a as $}from"./chunk-ZLLER3HP.js";import{execFileSync as de}from"node:child_process";import{tmpdir as se}from"node:os";import{z as e}from"zod";var k=e.string().regex(/^[a-f0-9]{64}$/),u=e.string().min(1).max(2e4),ie=e.string().min(1).max(240).refine(i=>!i.startsWith("/")&&!i.includes("\\")&&i.split("/").every(g=>g!==".."&&g!=="."&&g!==""&&!g.startsWith(".")),"fixture paths must be relative, without traversal or hidden configuration"),P=e.object({path:ie,content:e.string().max(1e5)}).strict(),re=e.object({name:u,path:ie,kind:e.enum(["text_equals","json_equals","file_absent"]),expected:e.string().max(1e5),primary:e.boolean()}).strict(),le=e.object({evalId:e.string().uuid(),taskId:u,family:u,lineage:u,split:e.enum(["exploration","validation"]),incidentSessionIds:e.array(e.string().uuid()).min(1),opportunity:e.enum(["failure","success","costly_success","should_not_trigger"]),prompt:u,fixtureVersion:u,verifierVersion:u,files:e.array(P).max(100),checks:e.array(re).min(1).max(30),oracleFiles:e.array(P).max(100)}).strict(),ce=e.object({version:e.literal(1),revision:e.number().int().positive(),question:u,hypotheses:e.array(u).min(2),interventionType:e.enum(["instruction","retrieval","tool","executable_check","workflow","removal","none"]),baseline:e.object({content:e.string().max(16e3),files:e.array(P).max(30)}).strict(),treatment:e.object({content:e.string().max(16e3),files:e.array(P).max(30)}).strict(),scope:e.object({projectPath:u,harnessVersion:u,deliveryMode:e.literal("explicit-system-and-fixture-file"),engine:e.enum(["claude","codex"]),model:u,provider:e.enum(["anthropic","openai"]),repositoryRevision:e.string().regex(/^[a-f0-9]{40}$/),ambientContext:e.literal("frozen-fixture"),permissions:e.literal("isolated-fixture-write"),tools:e.array(u).min(1),expiresAt:e.string().datetime()}).strict(),sampling:e.object({rationale:u,exclusions:e.array(u),eligibleOpportunities:e.number().int().positive(),sampledOpportunities:e.number().int().positive()}).strict(),analysis:e.object({role:e.enum(["diagnostic","exploration","frozen_validation"]),primaryOutcome:u,safeguards:e.array(u).min(1),eligibility:u,assignmentUnit:e.literal("task"),weighting:e.literal("equal-task"),method:e.literal("paired-task-bootstrap"),stopping:e.literal("fixed-final"),primaryComparison:e.literal("treatment-minus-baseline"),repetitions:e.number().int().min(1).max(10),usefulEffect:e.number().positive().max(1),reliabilityMargin:e.number().min(0).max(1),maxCalls:e.number().int().min(2).max(200),maxSecondsPerCall:e.number().int().min(10).max(600),humanReviewMinutes:e.number().nonnegative().nullable(),reviewNote:u}).strict(),tasks:e.array(le).min(1).max(50),supersedes:e.string().uuid().nullable()}).strict().superRefine((i,g)=>{let l=$(r=>g.addIssue({code:"custom",message:r}),"fail");(new Set(i.tasks.map(r=>r.evalId)).size!==i.tasks.length||new Set(i.tasks.map(r=>r.taskId)).size!==i.tasks.length)&&l("task identity must be unique, not repetition"),i.scope.engine==="claude"!=(i.scope.provider==="anthropic")&&l("engine/provider mismatch"),i.scope.engine==="claude"&&[...i.scope.tools].sort().join(",")!=="Bash,Edit,Read,Write"&&l("Claude fixture execution supports exactly Read, Write, Edit and Bash");for(let r of[i.baseline,i.treatment])Array.from(r.content).reduce((n,p)=>{let f=p.codePointAt(0);return n+(f<128?1:f<2048?2:f<65536?3:4)},0)>16e3&&l("Instruction delivery exceeds the UTF-8 byte budget");let d=new Map;for(let r of i.tasks){for(let n of[r.lineage,r.family])d.has(n)&&d.get(n)!==r.split&&l("family or incident lineage leaks across splits"),d.set(n,r.split);[...r.files,...i.baseline.files,...i.treatment.files].some(n=>["CLAUDE.md","CLAUDE.local.md","AGENTS.md"].includes(n.path.split("/").at(-1)))&&l("Fixture files cannot introduce ambient instruction files"),new Set(r.checks.map(n=>n.name)).size!==r.checks.length&&l("Check names must be unique"),r.checks.some(n=>n.primary)||l("each task needs an independent primary artifact check"),new Set(r.files.map(n=>n.path)).size!==r.files.length&&l("duplicate fixture file path");for(let n of[i.baseline,i.treatment])new Set(n.files.map(p=>p.path)).size!==n.files.length&&l("duplicate intervention file path"),n.files.some(p=>r.files.some(f=>f.path===p.path))&&l("intervention must not overwrite common fixture files")}let o=i.tasks.filter(r=>r.split===(i.analysis.role==="frozen_validation"?"validation":"exploration"));o.length||l("no tasks in the selected split"),o.length*2*i.analysis.repetitions>i.analysis.maxCalls&&l("planned calls exceed resource ceiling"),i.sampling.sampledOpportunities>i.sampling.eligibleOpportunities&&l("sampled opportunities exceed eligible opportunities")}),ae=e.object({version:e.literal(1),id:e.string().uuid(),protocolHash:k,protocol:ce}).strict(),fe=e.object({studyId:e.string().uuid(),protocolHash:k,taskId:u,arm:e.enum(["baseline","treatment"]),repetition:e.number().int().positive(),eligible:e.boolean(),exclusion:e.string().nullable(),primaryPassed:e.boolean(),safeguardsPassed:e.boolean(),checks:e.array(e.object({name:u,passed:e.boolean(),actual:e.string().nullable()})),deliveryHash:k,fixtureHash:k,harnessVersion:e.string().nullable(),engine:e.string().nullable(),model:e.string().nullable(),provider:e.string().nullable(),durationMs:e.number().nonnegative(),tokens:e.number().nonnegative().nullable(),costUsd:e.number().nonnegative().nullable()}).strict(),ue=e.object({harnessVersion:u,repositoryRevision:e.string().regex(/^[a-f0-9]{40}$/),contextHashes:e.record(k.nullable())}).strict(),me=e.object({version:e.literal(1),kind:e.literal("artifact-checks"),environment:ue,tasks:e.array(e.object({taskId:e.string().min(1).max(500),checks:e.array(re).min(1).max(30)}).strict()).min(4).max(200)}).strict(),he=e.object({version:e.literal(1),projectPath:u,taskFamily:u,harness:e.literal("claude_code"),model:u,configurationHash:k,baselineDeliveryHash:k,treatmentDeliveryHash:k,primaryOutcome:u,verification:me.optional(),outcomeRule:e.object({source:e.literal("session_analysis"),completedValues:e.array(e.string().min(1)).min(1),failedValues:e.array(e.string().min(1)).min(1)}).strict(),eligibleTaskIds:e.array(e.string().min(1).max(500)).min(4).max(200),maxAssignments:e.number().int().min(4).max(200),decisionRule:e.object({method:e.literal("fisher-exact-two-sided-v1").default("fisher-exact-two-sided-v1"),alpha:e.literal(.05).default(.05),minCompletedPerArm:e.number().int().min(2).max(100),minimumAbsoluteEffect:e.number().min(.01).max(1)}).strict(),expiresAt:e.string().datetime()}).strict().superRefine((i,g)=>{if(new Set(i.eligibleTaskIds).size!==i.eligibleTaskIds.length&&g.addIssue({code:"custom",path:["eligibleTaskIds"],message:"Eligible task IDs must be unique"}),i.maxAssignments>i.eligibleTaskIds.length&&g.addIssue({code:"custom",path:["maxAssignments"],message:"Assignment ceiling exceeds the pre-registered eligible task set"}),i.verification){let d=i.verification.tasks;(new Set(d.map(o=>o.taskId)).size!==d.length||d.length!==i.eligibleTaskIds.length||d.some(o=>!i.eligibleTaskIds.includes(o.taskId)||!o.checks.some(r=>r.primary)||new Set(o.checks.map(r=>r.name)).size!==o.checks.length))&&g.addIssue({code:"custom",path:["verification"],message:"Every eligible task needs one frozen verifier with unique checks and a primary outcome"})}i.outcomeRule.completedValues.some(d=>i.outcomeRule.failedValues.includes(d))&&g.addIssue({code:"custom",path:["outcomeRule"],message:"Outcome values must map to exactly one result"})});async function Pe(i,g){let{mirrorId:l,evalTargetId:d}=i,o=i.measurement?{...i.config,...X({...i.config,measurement:i.measurement})}:i.config,r=$(t=>g.logger.info(t),"log"),n=i.study?ae.parse(i.study):null;if(n&&n.protocol.scope.engine!=="claude")throw new I("Frozen study isolation is currently verified only for Claude");if(n&&Y(n.protocol)!==n.protocolHash)throw new I("Study snapshot hash mismatch");let p=await C(`/api/eval-targets/${d}`),f=await C(`/api/eval-targets/${d}/evals`);if(n&&(f=n.protocol.tasks.filter(t=>t.split===(n.protocol.analysis.role==="frozen_validation"?"validation":"exploration")).map(t=>({id:t.evalId,name:t.taskId,prompt:t.prompt,expectedOutput:"",expectations:[]}))),f.length===0&&o.generateIfEmpty){r("No eval cases on target \u2014 generating from content via local LLM...");let t=await ne({content:p.content,name:p.name,...i.measurement?{measurement:i.measurement}:{}});if(t===null)throw new Error("Case generation requires a local LLM backend (Claude or Codex CLI) \u2014 none available on this worker.");let s=[];for(let a of t)s.push(await R(`/api/eval-targets/${d}/evals`,a));f=s,r(`Generated ${s.length} eval case(s)`)}if(f.length===0)throw new I("No evals defined for target");let M=null;if(n&&(M=de(n.protocol.scope.engine,["--version"],{encoding:"utf8",timeout:1e4}).trim(),M!==n.protocol.scope.harnessVersion))throw new I("Observed harness version differs from frozen protocol");if(n){if(o.engine!==n.protocol.scope.engine||o.model!==n.protocol.scope.model||o.runsPerEval!==n.protocol.analysis.repetitions||o.timeout!==n.protocol.analysis.maxSecondsPerCall*1e3||o.skipBaseline||new Date(n.protocol.scope.expiresAt)<=new Date)throw new I("Study execution configuration differs from frozen protocol or scope expired");for(let t of n.protocol.tasks.filter(s=>f.some(a=>a.id===s.evalId))){let s=z({baseDir:se(),engine:n.protocol.scope.engine});try{N(s.workDir,[...t.files,...t.oracleFiles]);let a=A(s.workDir,t);if(!a.primaryPassed||!a.safeguardsPassed)throw new I(`Oracle failed for ${t.taskId}; no actor calls started`)}finally{s.cleanup()}}}let oe=o.runsPerEval??1,D=o.timeout??12e4,H=n?1:o.iteration??1,_=new Set;if(g.job.attempts>1)for(let s=0;;s+=100){let a=await C(`/api/eval-targets/${d}/runs?jobId=${l}&limit=100&offset=${s}`);for(let m of a)_.add(`${m.evalId}|${m.configuration}|${m.runNumber}|${m.iteration}`);if(a.length<100)break}let F=[{name:"with_target",content:n?.protocol.treatment.content??p.content}];o.skipBaseline||F.push({name:"without_target",...n?{content:n.protocol.baseline.content}:{}});let b=[];for(let t of f)for(let s of F)for(let a=1;a<=oe;a++)_.has(`${t.id}|${s.name}|${a}|${H}`)||b.push({eval_:t,configuration:s.name,targetContent:s.content,runNumber:a});n&&b.sort((t,s)=>t.eval_.id.localeCompare(s.eval_.id)||t.runNumber-s.runNumber||((f.findIndex(a=>a.id===t.eval_.id)+t.runNumber)%2?t.configuration.localeCompare(s.configuration):s.configuration.localeCompare(t.configuration))),_.size>0&&r(`Resuming attempt ${g.job.attempts}: ${_.size} run(s) already persisted, ${b.length} remaining`);let v=b.length,y=0,x=B(o.engine),w=Math.min(o.parallel??1,4);await E(`/api/eval-jobs/${l}/progress`,{status:"running",progress:{total:v,completed:0,current:null,message:`Starting ${v} eval runs (concurrency: ${w})...`}});let S=[];async function O(t){let s=`${t.configuration} \xB7 ${t.eval_.name} \xB7 run#${t.runNumber}`;r(`[${y+1}/${v}] ${s}`);let a=z({...n?{baseDir:se()}:{},targetType:n?"instruction":p.type,targetContent:t.targetContent,targetName:p.name,engine:x});a.leakedFiles.length&&r(`\u26A0 CONTAMINATED ${s}: ${a.leakedFiles.join(", ")} survived the strip`);try{let m=n?.protocol.tasks.find(W=>W.evalId===t.eval_.id),h=t.configuration==="with_target"?"treatment":"baseline";n&&m&&N(a.workDir,[...m.files,...n.protocol[h].files]);let J=n&&m?ee(a.workDir,m,n.protocol[h],x):null;n&&m&&await R(`/api/studies/${n.id}/calls`,{jobId:l,taskId:m.taskId,arm:h,repetition:t.runNumber});let c=await Q({prompt:t.eval_.prompt,targetContent:n?t.targetContent:a.systemPrompt,...n?{appendTarget:!0}:{},workDir:a.workDir,timeout:D,model:o.model,engine:x,...n?{writableFixture:!0}:{}}),U={};!o.skipGrading&&t.eval_.expectations.length>0&&!c.error&&(U=await K({...T({engine:x,model:o.model},{engine:o.graderEngine,model:o.graderModel}),prompt:t.eval_.prompt,output:c.output,expectations:t.eval_.expectations,timeout:D}));let L=n?Z(n.protocol,c):null,G=n&&m?{studyId:n.id,protocolHash:n.protocolHash,taskId:m.taskId,arm:h,repetition:t.runNumber,eligible:L===null,exclusion:L,...A(a.workDir,m),deliveryHash:J.deliveryHash,fixtureHash:J.fixtureHash,harnessVersion:M,engine:c.engine??null,model:c.model??null,provider:c.engine==="claude"?"anthropic":c.provider??null,durationMs:c.durationMs,tokens:c.totalTokens||null,costUsd:c.costUsd??null}:null;return{jobId:l,evalId:t.eval_.id,evalTargetId:p.id,evalTargetVersion:p.version,configuration:t.configuration,runNumber:t.runNumber,iteration:H,status:c.error?"failed":"completed",outputs:{...G?{study:G}:{},...c.usage?{usage:c.usage}:{},...c.error?{error:c.error}:{transcript:c.output,...c.model?{model:c.model}:{}},methodology:a.methodology,delivery:a.delivery,isolated:a.isWorktree,engine:c.engine??x,model:c.model??null,deliveryRegime:`${p.type}:${x}:${a.methodology}`,...i.measurement?{measurement:i.measurement}:{},...c.provider?{provider:c.provider}:{},...c.costUsd!=null?{costUsd:c.costUsd}:{},...a.leakedFiles.length?{leakedFiles:a.leakedFiles}:{}},timing:{duration_ms:c.durationMs,total_tokens:c.totalTokens},grading:U,worktree:a.isWorktree?!0:void 0}}finally{a.cleanup()}}if($(O,"processItem"),w<=1)for(let t of b){let s=`${t.configuration} \xB7 ${t.eval_.name} \xB7 run#${t.runNumber}`;await E(`/api/eval-jobs/${l}/progress`,{status:"running",progress:{total:v,completed:y,current:s,message:`Executing ${s}...`}});let a=await O(t);await R("/api/eval-runs",a),S.push(a),y++,await E(`/api/eval-jobs/${l}/progress`,{status:"running",progress:{total:v,completed:y,current:s,message:`Completed ${s}`}})}else{r(`Running ${v} evals with concurrency=${w} (worktree isolation)`);for(let t=0;t<b.length;t+=w){let s=b.slice(t,t+w),a=`batch ${Math.floor(t/w)+1}/${Math.ceil(b.length/w)}`;await E(`/api/eval-jobs/${l}/progress`,{status:"running",progress:{total:v,completed:y,current:a,message:`Executing ${a} (${s.length} parallel)...`}});let m=await Promise.all(s.map(O));for(let h of m)await R("/api/eval-runs",h),S.push(h),y++;await E(`/api/eval-jobs/${l}/progress`,{status:"running",progress:{total:v,completed:y,current:a,message:`Completed ${a}`}})}}let V=ge(S),j;if(!o.skipGrading&&S.some(t=>t.grading&&Object.keys(t.grading).length>0))try{r(`Running meta-judge for job ${l}...`);let t=f.map(s=>{let m=S.filter(h=>h.evalId===s.id&&h.configuration==="with_target")[0];return{evalName:s.name,prompt:s.prompt,expectations:s.expectations,grading:m?.grading?m.grading:null,output:m?.outputs?.transcript?.slice(0,500)}});j=await te({...T({engine:x,model:o.model},{engine:o.graderEngine,model:o.graderModel}),targetName:p.name,evalResults:t,timeout:6e4}),r(`Meta-judge: quality=${j.quality_score}/5, issues=${j.issues.length}`)}catch(t){r(`Meta-judge failed (non-fatal): ${t instanceof Error?t.message:String(t)}`)}let q=j?{...V,meta_judgement:j}:V;return r(`Job ${l} completed: ${y}/${v} runs`),await E(`/api/eval-jobs/${l}/state`,{result:q}).catch(t=>{r(`result persist failed: ${t instanceof Error?t.message:String(t)}`)}),q}$(Pe,"processEval");function ge(i){let g=i.filter(r=>r.status==="completed"),l=i.filter(r=>r.status==="failed"),d=g.filter(r=>{let n=r.grading;return n&&Object.keys(n).length>0}),o=d.length>0?d.reduce((r,n)=>r+(n.grading?.summary?.pass_rate??0),0)/d.length:null;return{total:i.length,completed:g.length,failed:l.length,avgPassRate:o}}$(ge,"buildSummary");export{Pe as a};
@@ -1 +0,0 @@
1
- import{b as R,c as L,f as s,g as I,i as h}from"./chunk-XXPWPKTD.js";import{c as ne}from"./chunk-5TM7AOH2.js";import{b as re}from"./chunk-IEQDLURA.js";import{d as te,e as oe,f as se}from"./chunk-KINIFUZQ.js";import{a as Y}from"./chunk-2U6PAYCD.js";import{a as O}from"./chunk-ZYGBABMZ.js";import{a as U}from"./chunk-IFIWDL7G.js";import{c as N}from"./chunk-FZMO7XSN.js";import{a as F}from"./chunk-LLXC5SRC.js";import{a as W}from"./chunk-UNVURR4E.js";import{a as $}from"./chunk-WQFR2LOY.js";import{a as q}from"./chunk-Q7IDLOSP.js";import{b as J}from"./chunk-X3BBFDRD.js";import{b as V}from"./chunk-5RBLIVBF.js";import{a as K}from"./chunk-TQM7MF5C.js";import{a as x}from"./chunk-CZBO3A6B.js";import{a as j}from"./chunk-5GFEEYHM.js";import{a as Q}from"./chunk-W6MMJRFZ.js";import{a as D}from"./chunk-PZS55PW2.js";import{a as ee}from"./chunk-QPAOX7P2.js";import{e as P}from"./chunk-CIKQXFQ2.js";import{b as G}from"./chunk-5Z6XXOJL.js";import{a as z}from"./chunk-CYCH2EQC.js";import{a as X}from"./chunk-VUNJGZPP.js";import{a as Z}from"./chunk-L562Y4RN.js";import{b as C}from"./chunk-PIVEJTNF.js";import{k as B}from"./chunk-ZMVTSYD4.js";import{d as S}from"./chunk-GPBN4ROE.js";import{b as M,e as T,f as E}from"./chunk-GIXHG5FK.js";import{a as l}from"./chunk-ZLLER3HP.js";var H=null,w=null,ce={process_eval:W,process_insights:$,process_launch:J,process_send_message:O,process_conversation:F,process_session_goal:U,distill_memories:G,memory_ab:K,process_run_cleanup:Y,cron_refine_cases:j,cron_retire_unused_skills:ee,cron_reconcile_attribution:x,cron_suggest_instructions:P,cron_refresh_skills:D,cron_refresh_pricing:Q,cron_eval_autorun:X,cron_auto_accept_suggestions:z,cron_instruction_training:Z,cron_instruction_evolution:B,process_judge_review:q,harbor_ab:N},ae=Object.keys(ce),me=new Set([]);function pe(e=process.env){return e.DATABASE_URL?ae:ae.filter(t=>!me.has(t))}l(pe,"availableCapabilities");var ge=3e4,_e=3e4,fe=3e4,ie=500,le=1e4,ve=`thin-agent-${process.pid}`,A=null;function ke(e,t,r,p){let d;try{let i=S();d={claude:i.claudeBin!=null,codex:i.codexBin!=null,pi:i.piBin!=null,codexModel:i.codexConfiguredModel}}catch{}let m;try{m=C()}catch{}let g=l(i=>E("/api/workers/heartbeat",{workerType:"cli-worker",clientName:ve,clientVersion:p,workerVersion:"0.1.0",currentJobId:null,inFlightCount:0,lastError:null,status:i,metadata:{capabilities:e,mode:"thin-agent",measurementProtocol:1,studyProtocol:1,memorySnapshots:1,boundedAutorun:1,llmEngines:d,harborReady:m,machine:H?.summary()}}).then(c=>{let u=c?.advisory;u&&u.message!==A?(A=u.message,s(r,{event:"worker_advisory",code:u.code,message:u.message})):u||(A=null)}).catch(c=>{s(r,{event:"presence_heartbeat_error",error:c instanceof Error?c.message:String(c)})}),"send");g("alive");let f=setInterval(()=>g("alive"),fe),a=null,n=l(()=>a||(clearInterval(f),a=Promise.race([g("shutting_down"),new Promise(i=>setTimeout(i,2e3).unref())]),a),"sayGoodbye");return t.addEventListener("abort",()=>{n()},{once:!0}),{shutdown:n}}l(ke,"startPresenceHeartbeat");async function be(e,t,r=S()){let p=[...r.claudeBin?["claude"]:[],...r.codexBin?["codex"]:[],...r.piBin?["pi"]:[]],d=`capabilities=${encodeURIComponent(e.join(","))}&waitMs=${t}&measurementProtocol=1&studyProtocol=1&memorySnapshots=1&boundedAutorun=1&measurementEngines=${encodeURIComponent(p.join(","))}`,m=await T(`/api/work/next?${d}`);return m==null||typeof m=="string"?null:m}l(be,"pollForWork");function he(e,t){return{logger:{info:l(r=>t(r),"info"),warn:l(r=>t(r),"warn"),error:l(r=>t(r),"error")},job:{attempts:e}}}l(he,"makeHelpers");async function we(e,t,r,p){let d=ce[e.kind],m=Date.now();if(s(r,{event:"claim",jobId:e.id,kind:e.kind,attempts:e.attempts}),!d){let n=`unknown kind: ${e.kind}`;s(r,{event:"fail",jobId:e.id,kind:e.kind,terminal:!0,error:n}),await E(`/api/work/${e.id}/fail`,{leaseToken:e.leaseToken,error:n,terminal:!0}).catch(()=>{});return}let g=l(()=>{s(r,{event:"heartbeat",jobId:e.id}),h(`/api/work/${e.id}/heartbeat`,{leaseToken:e.leaseToken},{budgetMs:Math.min(L,Math.max(0,t-1e3)),signal:p,log:r,event:"heartbeat",jobId:e.id}).then(n=>{n.ok||s(r,{event:"heartbeat_error",jobId:e.id,attempts:n.attempts,error:n.error instanceof Error?n.error.message:String(n.error)})})},"beat"),f=setInterval(g,t);w={jobId:e.id,beat:g};let a;try{let n=he(e.attempts,r);a={kind:"complete",result:await d(e.payload,n)??{}}}catch(n){let i=H?.pausesSince(m)??[],c=se(i),u=n instanceof Error?n.message:String(n),v=V(n),o=!v&&oe(i);a={kind:"fail",message:c?`${c}; ${u}`:u,pausedDuringJob:!!c,terminal:v,hostSuspended:o}}try{if(a.kind==="complete"){s(r,{event:"complete",jobId:e.id,kind:e.kind,durationMs:Date.now()-m});let n=await h(`/api/work/${e.id}/complete`,{leaseToken:e.leaseToken,result:a.result},{budgetMs:R,signal:p,log:r,event:"complete_post",jobId:e.id});n.ok||s(r,{event:"complete_post_error",jobId:e.id,kind:e.kind,attempts:n.attempts,error:n.error instanceof Error?n.error.message:String(n.error)})}else{s(r,{event:"fail",jobId:e.id,kind:e.kind,durationMs:Date.now()-m,terminal:a.terminal,error:a.message,...a.pausedDuringJob?{pausedDuringJob:!0}:{},...a.hostSuspended?{hostSuspended:!0}:{}});let n=await h(`/api/work/${e.id}/fail`,{leaseToken:e.leaseToken,error:a.message,terminal:a.terminal,hostSuspended:a.hostSuspended},{budgetMs:R,signal:p,log:r,event:"fail_post",jobId:e.id});n.ok||s(r,{event:"fail_post_error",jobId:e.id,attempts:n.attempts,error:n.error instanceof Error?n.error.message:String(n.error)})}}finally{clearInterval(f),w=null}}l(we,"runOne");var de=new Set(["process_eval","process_conversation","process_insights","process_session_goal","distill_memories","memory_ab","cron_suggest_instructions","cron_eval_autorun","cron_instruction_evolution","process_judge_review","harbor_ab"]);async function Ze(e){let t=e.log??(()=>{}),r=e.pollWaitMs??ge,p=e.heartbeatIntervalMs??_e,d=e.capabilities??pe();s(t,{event:"agent_start",capabilities:d,pollWaitMs:r,heartbeatIntervalMs:p});try{let o=re();o.removed.length>0&&s(t,{event:"eval_worktrees_swept",removed:o.removed.length})}catch(o){s(t,{event:"eval_worktree_sweep_failed",error:o instanceof Error?o.message:String(o)})}H=te({signal:e.signal,onPause:l(o=>{s(t,{event:"machine_pause",...o,jobId:w?.jobId??null}),w?.beat()},"onPause")});let m=ke(d,e.signal,t,e.version);ne({signal:e.signal,log:t}).catch(o=>{s(t,{event:"tt_heartbeat_fatal",error:o instanceof Error?o.message:String(o)})});let g=5*6e4,f=0,a=l(()=>{if(!e.readInstalledVersion||!e.version)return!1;let o=Date.now();if(o-f<g)return!1;f=o;let b=e.readInstalledVersion();return!!(b&&b!==e.version)},"versionDrifted"),n=new AbortController,i=n.signal;e.signal.aborted?n.abort():e.signal.addEventListener("abort",()=>n.abort(),{once:!0});let c=l(async(o,b)=>{let _=ie;for(;!i.aborted;){if(a()){s(t,{event:"agent_version_drift",bootVersion:e.version,installedVersion:e.readInstalledVersion?.()??null}),n.abort(),e.onVersionDrift?.();break}let y=null;try{y=await be([...b],r)}catch(k){let ue=k instanceof M?k.statusCode:void 0;if(s(t,{event:"poll_error",lane:o,status:ue,error:k instanceof Error?k.message:String(k)}),!await I(_,i))break;_=Math.min(_*2,le);continue}if(!y){if(s(t,{event:"poll_204",lane:o}),!await I(_,i))break;_=Math.min(_*2,le);continue}_=ie,await we(y,p,t,i)}},"runLane"),u=d.filter(o=>de.has(o)),v=d.filter(o=>!de.has(o));u.length>0&&v.length>0?(s(t,{event:"agent_lanes",heavy:u.length,fast:v.length}),await Promise.all([c("heavy",u),c("fast",v)])):await c("single",d),await m.shutdown(),s(t,{event:"agent_stop"})}l(Ze,"runAgentLoop");export{ce as a,ae as b,pe as c,be as d,Ze as e};
@@ -1 +0,0 @@
1
- import{b as l}from"./chunk-D5XLTSRV.js";import{a as p}from"./chunk-5RBLIVBF.js";import{h}from"./chunk-GIXHG5FK.js";import{a as c}from"./chunk-ZLLER3HP.js";async function g(t){if(!t.worktree?.create)return t;let{branch:e,baseRef:s}=t.worktree,n=await l({repoRoot:t.projectPath,branch:e,baseRef:s});return{...t,projectPath:n.path,gitBranch:n.branch}}c(g,"resolveWorktreeForLaunch");async function L(t,e){let{mirrorId:s,tool:n}=t,{config:r}=t,a=c(o=>e.logger.info(o),"log");if(e.job.attempts>1)throw new p(`process_launch is not safe to retry (attempt ${e.job.attempts}). Re-launch manually.`);r=await g(r),r.worktree?.create&&a(`Worktree resolved: ${r.projectPath} (branch ${r.gitBranch})`),a(`Launching ${n}...`);let{getLauncher:f}=await import("./dist-OVXV2FFO.js"),i=await f(n).launch(r);a(`Launch completed: sessionId=${i.sessionId}`);let u={...i,worktreePath:r.worktree?.create?r.projectPath:void 0,runId:r.runId};return await h(`/api/launch-jobs/${s}/state`,{result:u}).catch(o=>{a(`result persist failed: ${o instanceof Error?o.message:String(o)}`)}),u}c(L,"processLaunch");export{g as a,L as b};
@@ -1 +0,0 @@
1
- import{b as c,f as m}from"./chunk-GIXHG5FK.js";import{a as s}from"./chunk-ZLLER3HP.js";var R=new Set([408,429,502,503,504]),_=12e4,T=2e4,b=1e3,l=15e3;function p(t,e){try{t(JSON.stringify({ts:new Date().toISOString(),...e}))}catch{t(`[agent-loop] log_error event=${e.event}`)}}s(p,"structuredLog");function f(t,e){return e.aborted?Promise.resolve(!1):t<=0?Promise.resolve(!0):new Promise(r=>{let a=setTimeout(()=>{e.removeEventListener("abort",o),r(!0)},t),o=s(()=>{clearTimeout(a),e.removeEventListener("abort",o),r(!1)},"onAbort");e.addEventListener("abort",o,{once:!0})})}s(f,"abortableSleep");function g(t){return t instanceof c?R.has(t.statusCode):!0}s(g,"isRetryableReportError");async function S(t,e,r){let a=Date.now()+r.budgetMs,o=b;for(let i=1;;i++)try{return await m(t,e),{ok:!0,attempts:i}}catch(n){let u=a-Date.now();if(!g(n)||u<=0||r.signal.aborted)return{ok:!1,attempts:i,error:n};if(p(r.log,{event:`${r.event}_retry`,jobId:r.jobId,attempt:i,status:n instanceof c?n.statusCode:void 0,error:n instanceof Error?n.message:String(n),retryInMs:Math.min(o,u)}),!await f(Math.min(o,u),r.signal))return{ok:!1,attempts:i,error:n};o=Math.min(o*2,l)}}s(S,"postReportWithRetry");export{R as a,_ as b,T as c,b as d,l as e,p as f,f as g,g as h,S as i};