@wrenautomation/aerie 0.4.6 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,72 @@
1
+ /**
2
+ * A child in its own process group: lines out as they come, abort kills the whole group (a claude run starts
3
+ * shells of its own), a missing binary says which.
4
+ */
5
+ import { spawn } from "node:child_process";
6
+ import { createInterface } from "node:readline";
7
+ import { AerieError } from "../db.js";
8
+ const STDERR_KEEP = 64_000;
9
+ export function runLines(bin, args, o) {
10
+ return new Promise((resolve, reject) => {
11
+ if (o.signal.aborted) {
12
+ resolve({ code: null, killed: null, aborted: true, stderr: "" });
13
+ return;
14
+ }
15
+ const child = spawn(bin, args, {
16
+ cwd: o.cwd,
17
+ env: { ...process.env, ...o.env },
18
+ detached: true,
19
+ stdio: ["ignore", "pipe", "pipe"],
20
+ });
21
+ let stderr = "";
22
+ let aborted = false;
23
+ const kill = () => {
24
+ aborted = true;
25
+ try {
26
+ if (child.pid)
27
+ process.kill(-child.pid, "SIGTERM");
28
+ }
29
+ catch { }
30
+ // a group that ignores TERM
31
+ setTimeout(() => {
32
+ try {
33
+ if (child.pid && child.exitCode === null)
34
+ process.kill(-child.pid, "SIGKILL");
35
+ }
36
+ catch { }
37
+ }, 3000).unref();
38
+ };
39
+ o.signal.addEventListener("abort", kill, { once: true });
40
+ child.stderr.on("data", (b) => {
41
+ if (stderr.length < STDERR_KEEP)
42
+ stderr += b.toString();
43
+ });
44
+ // lines in order: each waits for the one before (a write per line)
45
+ let chain = Promise.resolve();
46
+ let lineErr = null;
47
+ createInterface({ input: child.stdout }).on("line", (line) => {
48
+ chain = chain.then(() => aborted || lineErr
49
+ ? undefined
50
+ : o.onLine(line).catch((e) => {
51
+ lineErr = e;
52
+ kill();
53
+ }));
54
+ });
55
+ child.on("error", (e) => {
56
+ o.signal.removeEventListener("abort", kill);
57
+ reject(e.code === "ENOENT"
58
+ ? new AerieError(`runner binary not found: ${bin} (its path: AERIE_<RUNNER>_BIN)`)
59
+ : e);
60
+ });
61
+ child.on("close", (code, sig) => {
62
+ o.signal.removeEventListener("abort", kill);
63
+ chain.then(() => {
64
+ if (lineErr)
65
+ reject(lineErr);
66
+ else
67
+ resolve({ code, killed: sig, aborted, stderr });
68
+ });
69
+ });
70
+ });
71
+ }
72
+ //# sourceMappingURL=spawn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../src/run/spawn.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAUtC,MAAM,WAAW,GAAG,MAAM,CAAC;AAE3B,MAAM,UAAU,QAAQ,CACtB,GAAW,EACX,IAAc,EACd,CAKC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;YAC7B,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE;YACjC,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC;gBACH,IAAI,KAAK,CAAC,GAAG;oBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,4BAA4B;YAC5B,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC;oBACH,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;wBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAChF,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC,CAAC;QACF,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;YACpC,IAAI,MAAM,CAAC,MAAM,GAAG,WAAW;gBAAE,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QACH,mEAAmE;QACnE,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,OAAO,GAAY,IAAI,CAAC;QAC5B,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC3D,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CACtB,OAAO,IAAI,OAAO;gBAChB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACzB,OAAO,GAAG,CAAC,CAAC;oBACZ,IAAI,EAAE,CAAC;gBACT,CAAC,CAAC,CACP,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAwB,EAAE,EAAE;YAC7C,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,CACJ,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACjB,CAAC,CAAC,IAAI,UAAU,CAAC,4BAA4B,GAAG,iCAAiC,CAAC;gBAClF,CAAC,CAAC,CAAC,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAC9B,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;gBACd,IAAI,OAAO;oBAAE,MAAM,CAAC,OAAO,CAAC,CAAC;;oBACxB,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { CoordStore, Holder } from "../coord/port.js";
2
+ import type { AerieStore } from "../store.js";
3
+ import { type Runner, type RunResult } from "./port.js";
4
+ export declare const MAX_FAILS = 3;
5
+ export declare const LEASE_MS = 120000;
6
+ export interface WorkerOptions {
7
+ store: AerieStore;
8
+ coord: CoordStore;
9
+ runner: Runner;
10
+ holder?: Holder;
11
+ leaseMs?: number;
12
+ /** the folder a run works in; default a new temp folder per run, kept */
13
+ cwdOf?: (id: string) => Promise<string>;
14
+ /** env for the child on top of AERIE_TASK and AERIE_BY */
15
+ env?: Record<string, string>;
16
+ /** the worker stops: the running child is killed, the lease kept to lapse (it goes back on the queue) */
17
+ signal?: AbortSignal;
18
+ }
19
+ export type WorkOutcome = {
20
+ id: string;
21
+ outcome: RunResult["outcome"];
22
+ summary: string;
23
+ requeued?: boolean;
24
+ decision?: number;
25
+ } | {
26
+ id: string;
27
+ outcome: "lost";
28
+ };
29
+ export declare const holderOf: (r: string) => string;
30
+ /** one task, or null when the lane is empty */
31
+ export declare function workOnce(o: WorkerOptions): Promise<WorkOutcome | null>;
32
+ /** take until the signal stops it (once: one task at most); idle polls every idleMs */
33
+ export declare function work(o: WorkerOptions & {
34
+ once?: boolean;
35
+ idleMs?: number;
36
+ onOutcome?: (w: WorkOutcome) => void;
37
+ }): Promise<WorkOutcome[]>;
@@ -0,0 +1,179 @@
1
+ /**
2
+ * A headless worker (D18 step 2–4): take from `run:<runner>`, hold the lease, run, write the result, let go.
3
+ * Fenced: no write after a lost lease. A failed run goes back on the lane's end until MAX_FAILS, then a decision.
4
+ */
5
+ import { mkdtemp } from "node:fs/promises";
6
+ import { hostname, tmpdir } from "node:os";
7
+ import { join } from "node:path";
8
+ import { runLane } from "./port.js";
9
+ import { RUN_FAILED } from "./route.js";
10
+ export const MAX_FAILS = 3;
11
+ export const LEASE_MS = 120_000;
12
+ export const holderOf = (r) => `${hostname()}/aerie-${r}-${process.pid}`;
13
+ /** one task, or null when the lane is empty */
14
+ export async function workOnce(o) {
15
+ const { store, coord, runner } = o;
16
+ if (!runner.run)
17
+ throw new Error(`${runner.name} runs in a live session, not a worker`);
18
+ const holder = o.holder ?? holderOf(runner.name);
19
+ const leaseMs = o.leaseMs ?? LEASE_MS;
20
+ const by = `runner:${runner.name}`;
21
+ const lane = runLane(runner.name);
22
+ const took = await coord.queueTake({ lanes: [], pin: lane }, holder, leaseMs);
23
+ if (!took)
24
+ return null;
25
+ const { id, gen } = took;
26
+ const stop = new AbortController();
27
+ let lost = false;
28
+ const lose = () => {
29
+ lost = true;
30
+ stop.abort();
31
+ };
32
+ const onOuter = () => stop.abort();
33
+ o.signal?.addEventListener("abort", onOuter, { once: true });
34
+ const fenced = async () => {
35
+ if (lost)
36
+ return false;
37
+ if (await coord.fence(id, holder, gen))
38
+ return true;
39
+ lose();
40
+ return false;
41
+ };
42
+ // no mod tick runs headless: the worker renews its own lease
43
+ const tick = setInterval(async () => {
44
+ try {
45
+ const r = await coord.renew([holder], leaseMs);
46
+ if (r.lost.some((l) => l.id === id))
47
+ lose();
48
+ else
49
+ await fenced();
50
+ }
51
+ catch {
52
+ // a missed renew: the next tick or fence decides
53
+ }
54
+ }, Math.max(1, Math.floor(leaseMs / 3)));
55
+ const write = async (kind, body, why) => {
56
+ if (await fenced())
57
+ await store.log(id, by, kind, body, why);
58
+ };
59
+ let res;
60
+ try {
61
+ const t = await store.get(id);
62
+ const routed = await store.lastEvent(id, "routed");
63
+ const model = (routed?.body?.model ?? null);
64
+ const cwd = o.cwdOf ? await o.cwdOf(id) : await mkdtemp(join(tmpdir(), `aerie-run-${id}-`));
65
+ await write("run.start", { runner: runner.name, model, holder, gen, cwd }, routed?.why ?? undefined);
66
+ const answers = (await store.decisions({ open: false }))
67
+ .filter((d) => d.blocks.includes(id))
68
+ .map((d) => {
69
+ const opt = d.options.find((x) => x.key === d.answer);
70
+ return `${d.question} → ${opt ? opt.text : d.answer} (${d.answeredBy}${d.why ? `: ${d.why}` : ""})`;
71
+ });
72
+ if (!t)
73
+ res = { outcome: "failed", summary: `task ${id} is gone` };
74
+ else
75
+ try {
76
+ res = await runner.run(t, {
77
+ model,
78
+ answers,
79
+ cwd,
80
+ env: { ...o.env, AERIE_TASK: id, AERIE_BY: by },
81
+ signal: stop.signal,
82
+ emit: (e) => write(`run.${e.kind}`, { text: e.text, data: e.data }),
83
+ });
84
+ }
85
+ catch (e) {
86
+ res = { outcome: "failed", summary: e.message, data: { error: String(e) } };
87
+ }
88
+ }
89
+ finally {
90
+ clearInterval(tick);
91
+ o.signal?.removeEventListener("abort", onOuter);
92
+ }
93
+ if (lost || !(await fenced()))
94
+ return { id, outcome: "lost" };
95
+ // the worker stopped mid-run: keep the lease to lapse; renew's lapse puts the task back on the queue head
96
+ if (o.signal?.aborted)
97
+ return { id, outcome: "lost" };
98
+ // an open decision on the task outranks what the runner said: claude exits `success` after `aerie ask`
99
+ const open = (await store.decisions({ open: true })).find((d) => d.blocks.includes(id));
100
+ const outcome = open ? "needs-input" : res.outcome;
101
+ const { summary } = res;
102
+ await write("run.result", {
103
+ outcome,
104
+ said: res.outcome,
105
+ summary,
106
+ question: res.question,
107
+ usd: res.usd,
108
+ session: res.session,
109
+ data: res.data,
110
+ }, `${outcome}: ${summary.replace(/\s+/g, " ").trim().slice(0, 200)}`);
111
+ if (outcome === "done") {
112
+ await store.edit(id, { finalSummary: summary }, by, { why: `${runner.name} run done` });
113
+ await coord.release(id, holder, { done: { reason: summary.slice(0, 500) } });
114
+ if (!coord.ownsStatus)
115
+ await store.edit(id, { status: "Done" }, by);
116
+ return { id, outcome, summary };
117
+ }
118
+ if (outcome === "failed") {
119
+ // since the last route: a retry after a decision starts the count again
120
+ const since = (await store.lastEvent(id, "routed"))?.seq ?? 0;
121
+ const fails = await store.countEvents(id, "run.result", { outcome: "failed" }, since);
122
+ await coord.release(id, holder);
123
+ if (!coord.ownsStatus)
124
+ await store.edit(id, { status: "To Do" }, by);
125
+ if (fails < MAX_FAILS) {
126
+ await coord.queueAdd([id], { lane, pin: lane, at: "end" });
127
+ return { id, outcome, summary, requeued: true };
128
+ }
129
+ const d = await store.ask({
130
+ question: `${RUN_FAILED} ${fails} times on ${runner.name}: what next for ${id}?`,
131
+ options: [
132
+ { key: "retry", text: `run it on ${runner.name} again` },
133
+ { key: "session", text: "give it to a live session" },
134
+ { key: "william", text: "William takes it" },
135
+ ],
136
+ brief: summary.slice(0, 1200),
137
+ blocks: [id],
138
+ }, by);
139
+ return { id, outcome, summary, decision: d.id };
140
+ }
141
+ // needs-input: the agent asked through `aerie ask`, or (api) the worker asks its question
142
+ await coord.release(id, holder);
143
+ if (open) {
144
+ // release set it back to To Do; the open decision holds it
145
+ await store.edit(id, { status: "Needs Human Input" }, by, { why: `decision ${open.id}` });
146
+ return { id, outcome, summary, decision: open.id };
147
+ }
148
+ const d = await store.ask({
149
+ question: res.question ?? summary.slice(0, 500),
150
+ options: [],
151
+ brief: summary.slice(0, 1200),
152
+ blocks: [id],
153
+ }, by);
154
+ return { id, outcome, summary, decision: d.id };
155
+ }
156
+ /** take until the signal stops it (once: one task at most); idle polls every idleMs */
157
+ export async function work(o) {
158
+ const out = [];
159
+ while (!o.signal?.aborted) {
160
+ const w = await workOnce(o);
161
+ if (w) {
162
+ out.push(w);
163
+ o.onOutcome?.(w);
164
+ }
165
+ if (o.once)
166
+ break;
167
+ if (w)
168
+ continue;
169
+ await new Promise((r) => {
170
+ const t = setTimeout(r, o.idleMs ?? 15_000);
171
+ o.signal?.addEventListener("abort", () => {
172
+ clearTimeout(t);
173
+ r();
174
+ }, { once: true });
175
+ });
176
+ }
177
+ return out;
178
+ }
179
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/run/worker.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -1177,7 +1177,6 @@ export declare const view: import("drizzle-orm/pg-core").PgTableWithColumns<{
1177
1177
  };
1178
1178
  dialect: "pg";
1179
1179
  }>;
1180
- /** Append-only: every write, by whom, why. */
1181
1180
  export declare const taskEvent: import("drizzle-orm/pg-core").PgTableWithColumns<{
1182
1181
  name: "task_event";
1183
1182
  schema: "aerie";
@@ -1301,6 +1300,27 @@ export declare const taskEvent: import("drizzle-orm/pg-core").PgTableWithColumns
1301
1300
  identity: undefined;
1302
1301
  generated: undefined;
1303
1302
  }, {}, {}>;
1303
+ words: import("drizzle-orm/pg-core").PgColumn<{
1304
+ name: "words";
1305
+ tableName: "task_event";
1306
+ dataType: "custom";
1307
+ columnType: "PgCustomColumn";
1308
+ data: string;
1309
+ driverParam: unknown;
1310
+ notNull: false;
1311
+ hasDefault: true;
1312
+ isPrimaryKey: false;
1313
+ isAutoincrement: false;
1314
+ hasRuntimeDefault: false;
1315
+ enumValues: undefined;
1316
+ baseColumn: never;
1317
+ identity: undefined;
1318
+ generated: {
1319
+ type: "always";
1320
+ };
1321
+ }, {}, {
1322
+ pgColumnBuilderBrand: "PgCustomColumnBuilderBrand";
1323
+ }>;
1304
1324
  };
1305
1325
  dialect: "pg";
1306
1326
  }>;
@@ -2178,3 +2198,164 @@ export declare const decision: import("drizzle-orm/pg-core").PgTableWithColumns<
2178
2198
  };
2179
2199
  dialect: "pg";
2180
2200
  }>;
2201
+ /** First match in rank order routes a task: a core `Filter` → a runner, its model, and for a session its lane. */
2202
+ export declare const routeRule: import("drizzle-orm/pg-core").PgTableWithColumns<{
2203
+ name: "route_rule";
2204
+ schema: "aerie";
2205
+ columns: {
2206
+ id: import("drizzle-orm/pg-core").PgColumn<{
2207
+ name: "id";
2208
+ tableName: "route_rule";
2209
+ dataType: "number";
2210
+ columnType: "PgSerial";
2211
+ data: number;
2212
+ driverParam: number;
2213
+ notNull: true;
2214
+ hasDefault: true;
2215
+ isPrimaryKey: false;
2216
+ isAutoincrement: false;
2217
+ hasRuntimeDefault: false;
2218
+ enumValues: undefined;
2219
+ baseColumn: never;
2220
+ identity: undefined;
2221
+ generated: undefined;
2222
+ }, {}, {}>;
2223
+ rank: import("drizzle-orm/pg-core").PgColumn<{
2224
+ name: "rank";
2225
+ tableName: "route_rule";
2226
+ dataType: "number";
2227
+ columnType: "PgInteger";
2228
+ data: number;
2229
+ driverParam: string | number;
2230
+ notNull: true;
2231
+ hasDefault: false;
2232
+ isPrimaryKey: false;
2233
+ isAutoincrement: false;
2234
+ hasRuntimeDefault: false;
2235
+ enumValues: undefined;
2236
+ baseColumn: never;
2237
+ identity: undefined;
2238
+ generated: undefined;
2239
+ }, {}, {}>;
2240
+ filter: import("drizzle-orm/pg-core").PgColumn<{
2241
+ name: "filter";
2242
+ tableName: "route_rule";
2243
+ dataType: "json";
2244
+ columnType: "PgJsonb";
2245
+ data: unknown;
2246
+ driverParam: unknown;
2247
+ notNull: true;
2248
+ hasDefault: true;
2249
+ isPrimaryKey: false;
2250
+ isAutoincrement: false;
2251
+ hasRuntimeDefault: false;
2252
+ enumValues: undefined;
2253
+ baseColumn: never;
2254
+ identity: undefined;
2255
+ generated: undefined;
2256
+ }, {}, {}>;
2257
+ runner: import("drizzle-orm/pg-core").PgColumn<{
2258
+ name: "runner";
2259
+ tableName: "route_rule";
2260
+ dataType: "string";
2261
+ columnType: "PgText";
2262
+ data: string;
2263
+ driverParam: string;
2264
+ notNull: true;
2265
+ hasDefault: false;
2266
+ isPrimaryKey: false;
2267
+ isAutoincrement: false;
2268
+ hasRuntimeDefault: false;
2269
+ enumValues: [string, ...string[]];
2270
+ baseColumn: never;
2271
+ identity: undefined;
2272
+ generated: undefined;
2273
+ }, {}, {}>;
2274
+ model: import("drizzle-orm/pg-core").PgColumn<{
2275
+ name: "model";
2276
+ tableName: "route_rule";
2277
+ dataType: "string";
2278
+ columnType: "PgText";
2279
+ data: string;
2280
+ driverParam: string;
2281
+ notNull: false;
2282
+ hasDefault: false;
2283
+ isPrimaryKey: false;
2284
+ isAutoincrement: false;
2285
+ hasRuntimeDefault: false;
2286
+ enumValues: [string, ...string[]];
2287
+ baseColumn: never;
2288
+ identity: undefined;
2289
+ generated: undefined;
2290
+ }, {}, {}>;
2291
+ lane: import("drizzle-orm/pg-core").PgColumn<{
2292
+ name: "lane";
2293
+ tableName: "route_rule";
2294
+ dataType: "string";
2295
+ columnType: "PgText";
2296
+ data: string;
2297
+ driverParam: string;
2298
+ notNull: false;
2299
+ hasDefault: false;
2300
+ isPrimaryKey: false;
2301
+ isAutoincrement: false;
2302
+ hasRuntimeDefault: false;
2303
+ enumValues: [string, ...string[]];
2304
+ baseColumn: never;
2305
+ identity: undefined;
2306
+ generated: undefined;
2307
+ }, {}, {}>;
2308
+ why: import("drizzle-orm/pg-core").PgColumn<{
2309
+ name: "why";
2310
+ tableName: "route_rule";
2311
+ dataType: "string";
2312
+ columnType: "PgText";
2313
+ data: string;
2314
+ driverParam: string;
2315
+ notNull: true;
2316
+ hasDefault: false;
2317
+ isPrimaryKey: false;
2318
+ isAutoincrement: false;
2319
+ hasRuntimeDefault: false;
2320
+ enumValues: [string, ...string[]];
2321
+ baseColumn: never;
2322
+ identity: undefined;
2323
+ generated: undefined;
2324
+ }, {}, {}>;
2325
+ by: import("drizzle-orm/pg-core").PgColumn<{
2326
+ name: "by";
2327
+ tableName: "route_rule";
2328
+ dataType: "string";
2329
+ columnType: "PgText";
2330
+ data: string;
2331
+ driverParam: string;
2332
+ notNull: true;
2333
+ hasDefault: false;
2334
+ isPrimaryKey: false;
2335
+ isAutoincrement: false;
2336
+ hasRuntimeDefault: false;
2337
+ enumValues: [string, ...string[]];
2338
+ baseColumn: never;
2339
+ identity: undefined;
2340
+ generated: undefined;
2341
+ }, {}, {}>;
2342
+ at: import("drizzle-orm/pg-core").PgColumn<{
2343
+ name: string;
2344
+ tableName: "route_rule";
2345
+ dataType: "string";
2346
+ columnType: "PgTimestampString";
2347
+ data: string;
2348
+ driverParam: string;
2349
+ notNull: true;
2350
+ hasDefault: true;
2351
+ isPrimaryKey: false;
2352
+ isAutoincrement: false;
2353
+ hasRuntimeDefault: false;
2354
+ enumValues: undefined;
2355
+ baseColumn: never;
2356
+ identity: undefined;
2357
+ generated: undefined;
2358
+ }, {}, {}>;
2359
+ };
2360
+ dialect: "pg";
2361
+ }>;
package/dist/schema.js CHANGED
@@ -4,7 +4,7 @@
4
4
  * No tenant column: a host gives each tenant its own database (the vireo rule).
5
5
  */
6
6
  import { sql } from "drizzle-orm";
7
- import { bigint, bigserial, boolean, check, doublePrecision, foreignKey, index, integer, jsonb, pgSchema, primaryKey, serial, text, timestamp, unique, } from "drizzle-orm/pg-core";
7
+ import { bigint, bigserial, boolean, check, customType, doublePrecision, foreignKey, index, integer, jsonb, pgSchema, primaryKey, serial, text, timestamp, unique, } from "drizzle-orm/pg-core";
8
8
  export const aerie = pgSchema("aerie");
9
9
  function oneOf(name, col, values) {
10
10
  const list = values.map((v) => `'${v.replaceAll("'", "''")}'`).join(", ");
@@ -191,6 +191,7 @@ export const view = aerie.table("view", {
191
191
  oneOf("view_layout", t.layout, LAYOUTS),
192
192
  ]);
193
193
  /** Append-only: every write, by whom, why. */
194
+ const tsvector = customType({ dataType: () => "tsvector" });
194
195
  export const taskEvent = aerie.table("task_event", {
195
196
  seq: bigserial({ mode: "number" }).notNull(),
196
197
  taskId: text("task_id").notNull(),
@@ -199,9 +200,12 @@ export const taskEvent = aerie.table("task_event", {
199
200
  kind: text().notNull(),
200
201
  why: text(),
201
202
  body: jsonb().notNull().default({}),
203
+ /** full-text search: kind, why and every string in the body; `simple` keeps ids and code words whole */
204
+ words: tsvector().generatedAlwaysAs(sql `to_tsvector('simple', kind || ' ' || coalesce(why, '')) || jsonb_to_tsvector('simple', body, '["string"]')`),
202
205
  }, (t) => [
203
206
  primaryKey({ columns: [t.seq], name: "pk_task_event" }),
204
207
  index("task_event_task_idx").on(t.taskId, t.seq),
208
+ index("task_event_words_idx").using("gin", t.words),
205
209
  ]);
206
210
  /** Backlog.md milestones: a task's `milestone` names one by id; `-m` takes the id or the title. */
207
211
  export const milestone = aerie.table("milestone", { id: text().notNull(), title: text().notNull(), description: text() }, (t) => [primaryKey({ columns: [t.id], name: "pk_milestone" })]);
@@ -294,4 +298,31 @@ export const decision = aerie.table("decision", {
294
298
  index("decision_area_idx").on(t.areaId),
295
299
  index("decision_open_idx").on(t.answeredAt),
296
300
  ]);
301
+ // ── routing (phase 4, D18) ──
302
+ /** First match in rank order routes a task: a core `Filter` → a runner, its model, and for a session its lane. */
303
+ export const routeRule = aerie.table("route_rule", {
304
+ id: serial().notNull(),
305
+ rank: integer().notNull(),
306
+ /** a core `Filter` */
307
+ filter: jsonb().notNull().default({}),
308
+ runner: text().notNull(),
309
+ model: text(),
310
+ /** session runner: the lane its sessions serve */
311
+ lane: text(),
312
+ why: text().notNull(),
313
+ by: text().notNull(),
314
+ at: at("at").notNull().defaultNow(),
315
+ }, (t) => [
316
+ primaryKey({ columns: [t.id], name: "pk_route_rule" }),
317
+ index("route_rule_rank_idx").on(t.rank),
318
+ oneOf("route_rule_runner_check", t.runner, [
319
+ "claude",
320
+ "codex",
321
+ "grok",
322
+ "api",
323
+ "autobrowse-do",
324
+ "session",
325
+ ]),
326
+ check("route_rule_lane_check", sql `runner <> 'session' or lane is not null`),
327
+ ]);
297
328
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}