@wrenautomation/aerie 0.8.5 → 0.8.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backlog/files.d.ts +2 -0
- package/dist/backlog/files.js +8 -0
- package/dist/backlog/files.js.map +1 -1
- package/dist/backlog/index.d.ts +1 -1
- package/dist/backlog/index.js +1 -1
- package/dist/backlog/index.js.map +1 -1
- package/dist/bin.js +232 -37
- package/dist/bin.js.map +4 -4
- package/dist/cli-run.d.ts +2 -0
- package/dist/cli-run.js +39 -9
- package/dist/cli-run.js.map +1 -1
- package/dist/cli.js +31 -22
- package/dist/cli.js.map +1 -1
- package/dist/coord/audit.d.ts +45 -0
- package/dist/coord/audit.js +64 -0
- package/dist/coord/audit.js.map +1 -0
- package/dist/coord/port.d.ts +19 -0
- package/dist/coord/postgres.d.ts +5 -1
- package/dist/coord/postgres.js +30 -8
- package/dist/coord/postgres.js.map +1 -1
- package/dist/core/task.d.ts +4 -1
- package/dist/core/task.js +9 -0
- package/dist/core/task.js.map +1 -1
- package/dist/http.d.ts +4 -24
- package/dist/http.js +5 -4
- package/dist/http.js.map +1 -1
- package/dist/mirror.d.ts +2 -0
- package/dist/mirror.js +15 -1
- package/dist/mirror.js.map +1 -1
- package/dist/peers-coord.js +95 -11
- package/dist/peers-coord.js.map +2 -2
- package/dist/remote.js +7 -0
- package/dist/remote.js.map +1 -1
- package/dist/schema.d.ts +181 -0
- package/dist/schema.js +21 -0
- package/dist/schema.js.map +1 -1
- package/dist/store.d.ts +1 -0
- package/dist/store.js +29 -1
- package/dist/store.js.map +1 -1
- package/drizzle/0013_coord_lease_event.sql +16 -0
- package/drizzle/meta/0013_snapshot.json +2049 -0
- package/drizzle/meta/_journal.json +7 -0
- package/package.json +1 -1
package/dist/cli-run.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
/** `aerie route | work | pool | events search` (D18, D22). Needs `withBoard`: the store and the coord port on one connection. */
|
|
2
2
|
import type { Command } from "commander";
|
|
3
3
|
import type { CliContext } from "./cli.js";
|
|
4
|
+
/** "3d" / "12h" back from now, or an ISO time */
|
|
5
|
+
export declare function sinceOf(v: string, now: number): number;
|
|
4
6
|
export declare function registerRunCommands(program: Command, ctx: CliContext): void;
|
package/dist/cli-run.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { leaseAudit } from "./coord/audit.js";
|
|
2
|
+
import { statusIn } from "./core/index.js";
|
|
2
3
|
import { aerieEnv } from "./env.js";
|
|
3
4
|
import { claudeSessionState, DEFAULT_COMMAND, loadPool, lockPool, parseLanes, reconcile, savePool, tmuxMux, } from "./pool.js";
|
|
4
5
|
import { headlessRunners } from "./run/adapters.js";
|
|
@@ -6,19 +7,24 @@ import { RUNNERS } from "./run/port.js";
|
|
|
6
7
|
import { modelPicker, route, routeOf } from "./run/route.js";
|
|
7
8
|
import { holderOf, LEASE_MS, work } from "./run/worker.js";
|
|
8
9
|
const each = (v, prev = []) => [...prev, v];
|
|
10
|
+
/** "3d" / "12h" back from now, or an ISO time */
|
|
11
|
+
export function sinceOf(v, now) {
|
|
12
|
+
const m = /^(\d+(?:\.\d+)?)([dh])$/.exec(v);
|
|
13
|
+
if (m)
|
|
14
|
+
return now - Number(m[1]) * (m[2] === "d" ? 86_400_000 : 3_600_000);
|
|
15
|
+
const t = Date.parse(v);
|
|
16
|
+
if (Number.isNaN(t))
|
|
17
|
+
throw new Error(`aerie: --since ${v}: give an ISO time or Nd / Nh`);
|
|
18
|
+
return t;
|
|
19
|
+
}
|
|
9
20
|
const print = (x) => void process.stdout.write(typeof x === "string" ? x : `${JSON.stringify(x, null, 2)}\n`);
|
|
10
21
|
/** the picker from setting `router_model`, or none */
|
|
11
22
|
async function pickerOf(a) {
|
|
12
23
|
const spec = await a.getSetting("router_model");
|
|
13
24
|
return spec ? modelPicker(spec) : undefined;
|
|
14
25
|
}
|
|
15
|
-
function ruleFilter(o) {
|
|
16
|
-
const status = (o.status ?? []).map((x) =>
|
|
17
|
-
const hit = STATUSES.find((s) => s.toLowerCase() === x.toLowerCase());
|
|
18
|
-
if (!hit)
|
|
19
|
-
throw new Error(`unknown status "${x}"`);
|
|
20
|
-
return hit;
|
|
21
|
-
});
|
|
26
|
+
function ruleFilter(o, statuses) {
|
|
27
|
+
const status = (o.status ?? []).map((x) => statusIn(statuses, x));
|
|
22
28
|
return {
|
|
23
29
|
...(o.area?.length ? { area: o.area } : {}),
|
|
24
30
|
...(o.onlyArea ? { subtree: false } : {}),
|
|
@@ -92,7 +98,7 @@ export function registerRunCommands(program, ctx) {
|
|
|
92
98
|
.action((_o, cmd) => ctx.withStore(async (a) => {
|
|
93
99
|
const o = cmd.optsWithGlobals();
|
|
94
100
|
const r = await a.addRouteRule({
|
|
95
|
-
filter: ruleFilter(o),
|
|
101
|
+
filter: ruleFilter(o, await a.statuses()),
|
|
96
102
|
runner: runnerOf(o.runner),
|
|
97
103
|
model: o.model ?? null,
|
|
98
104
|
lane: o.lane ?? null,
|
|
@@ -264,6 +270,30 @@ export function registerRunCommands(program, ctx) {
|
|
|
264
270
|
? `${rows.map((r) => `${r.name} ${r.lane} ${r.alive ? (r.waitingFor ? `waits: ${r.waitingFor}` : (r.status ?? "starting")) : "gone"}`).join("\n")}\n`
|
|
265
271
|
: "No pool sessions.\n");
|
|
266
272
|
});
|
|
273
|
+
program
|
|
274
|
+
.command("coord")
|
|
275
|
+
.description("the coord store")
|
|
276
|
+
.command("audit")
|
|
277
|
+
.description("double delivery and orphan holders from the lease log (WA-1364.3 AC #5)")
|
|
278
|
+
.option("--since <when>", "ISO time, or Nd / Nh back", "3d")
|
|
279
|
+
.option("--grace <min>", "minutes past expiry before a lease counts as orphaned", "60")
|
|
280
|
+
.option("--json", "JSON out")
|
|
281
|
+
.action((o) => board(async (_a, c) => {
|
|
282
|
+
if (!c.leaseEvents)
|
|
283
|
+
throw new Error(`aerie: coord store ${c.name} keeps no lease log`);
|
|
284
|
+
const now = Date.now();
|
|
285
|
+
const since = sinceOf(String(o.since), now);
|
|
286
|
+
const [events, held] = await Promise.all([c.leaseEvents({ since }), c.held()]);
|
|
287
|
+
const r = leaseAudit(events, held, { since, now, graceMs: Number(o.grace) * 60_000 });
|
|
288
|
+
print(o.json
|
|
289
|
+
? r
|
|
290
|
+
: `${r.ok ? "ok" : "FAIL"}: ${r.events} lease events since ${new Date(since).toISOString()}; starts ${JSON.stringify(r.starts)}, ends ${JSON.stringify(r.ends)}; ${r.doubleDelivery.length} double deliveries, ${r.orphans.length} orphans\n${[
|
|
291
|
+
...r.doubleDelivery.map((d) => `double ${d.task} ${d.holder} at ${new Date(d.at).toISOString()}; open: ${d.open.map((x) => x.holder).join(", ")}`),
|
|
292
|
+
...r.orphans.map((x) => `orphan ${x.task} ${x.holder} ${x.lapsedMin} min past expiry${x.freed ? `, ${x.freed.kind} by ${x.freed.by}` : ", still held"}`),
|
|
293
|
+
]
|
|
294
|
+
.map((l) => `${l}\n`)
|
|
295
|
+
.join("")}`);
|
|
296
|
+
}));
|
|
267
297
|
program
|
|
268
298
|
.command("events")
|
|
269
299
|
.description("the event log across tasks")
|
package/dist/cli-run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-run.js","sourceRoot":"","sources":["../src/cli-run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli-run.js","sourceRoot":"","sources":["../src/cli-run.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAe,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,QAAQ,EACR,QAAQ,EAER,UAAU,EACV,SAAS,EACT,QAAQ,EACR,OAAO,GACR,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAmB,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAK3D,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,OAAiB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9D,iDAAiD;AACjD,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,GAAW;IAC5C,MAAM,CAAC,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC;QAAE,OAAO,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3E,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,+BAA+B,CAAC,CAAC;IACzF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,CAAU,EAAQ,EAAE,CACjC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAE3F,sDAAsD;AACtD,KAAK,UAAU,QAAQ,CAAC,CAAa;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CAAC,CAAO,EAAE,QAA2B;IACtD,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,OAAO;QACL,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,GAAe;IACnE,MAAM,KAAK,GAAG,CAAI,EAAuD,EAAE,EAAE;QAC3E,IAAI,CAAC,GAAG,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3E,OAAO,GAAG,CAAC,SAAS,CAAC,EAAE,CAAe,CAAC;IACzC,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE;QAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAe,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,cAAc,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3E,OAAO,CAAe,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,EAAE,GAAG,OAAO;SACf,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;SACjC,WAAW,CACV,yFAAyF,CAC1F;SACA,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;SACpD,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC;SAC5B,MAAM,CAAC,CAAC,EAAsB,EAAE,CAAO,EAAE,EAAE;QAC1C,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC1B,IAAI,CAAC,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBACjD,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBACpC,OAAO,KAAK,KAAK,CACf,CAAC,CAAC,IAAI;oBACJ,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CACtF,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACtD,KAAK,CACH,CAAC,CAAC,IAAI;gBACJ,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAClG,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kEAAkE,CAAC,CAAC;IACnF,IAAI;SACD,OAAO,CAAC,KAAK,CAAC;SACd,cAAc,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACtD,cAAc,CAAC,cAAc,EAAE,kCAAkC,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;SAClD,MAAM,CAAC,eAAe,EAAE,6CAA6C,CAAC;SACtE,MAAM,CAAC,YAAY,EAAE,8CAA8C,CAAC;SACpE,MAAM,CAAC,eAAe,EAAE,mCAAmC,EAAE,IAAI,CAAC;SAClE,MAAM,CAAC,aAAa,EAAE,kCAAkC,CAAC;SACzD,MAAM,CAAC,iBAAiB,EAAE,0CAA0C,EAAE,IAAI,CAAC;SAC3E,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,IAAI,CAAC;SACxD,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,IAAI,CAAC;SACvD,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,IAAI,CAAC;SACvD,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,IAAI,CAAC;SACzD,MAAM,CAAC,mBAAmB,EAAE,UAAU,CAAC;SACvC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;SAC7C,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC7B,wDAAwD;SACvD,MAAM,CAAC,CAAC,EAAQ,EAAE,GAAY,EAAE,EAAE,CACjC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,CAAC,GAAS,GAAG,CAAC,eAAe,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,YAAY,CAC5B;YACE,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;YACtB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;YACpB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE,EACD,GAAG,CAAC,EAAE,CACP,CAAC;QACF,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,CACH,CAAC;IACJ,IAAI;SACD,OAAO,CAAC,MAAM,CAAC;SACf,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC7B,wDAAwD;SACvD,MAAM,CAAC,CAAC,EAAQ,EAAE,GAAY,EAAE,EAAE,CACjC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,CAAC,GAAS,GAAG,CAAC,eAAe,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;QAClC,KAAK,CACH,EAAE,CAAC,MAAM;YACP,CAAC,CAAC,GAAG,EAAE;iBACF,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,EAAE,CACxJ;iBACA,IAAI,CAAC,IAAI,CAAC,IAAI;YACnB,CAAC,CAAC,aAAa,CAClB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IACJ,IAAI;SACD,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,MAAM,CAAC;SAChB,MAAM,CAAC,CAAC,EAAU,EAAE,EAAE,CACrB,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC1C,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC,CACH,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,cAAc,CACb,iBAAiB,EACjB,gEAAgE,CACjE;SACA,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC;SAC/C,MAAM,CAAC,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;SACxD,MAAM,CAAC,aAAa,EAAE,0BAA0B,EAAE,OAAO,CAAC;SAC1D,MAAM,CACL,WAAW,EACX,gFAAgF,CACjF;SACA,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC;SAC1C,WAAW,CAAC,0DAA0D,CAAC;SACvE,MAAM,CAAC,CAAC,CAAO,EAAE,EAAE,CAClB,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,KAAK;YAC7B,MAAM,IAAI,KAAK,CACb,sHAAsH,CACvH,CAAC;QACJ,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,uCAAuC,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;QAC1E,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;YAC1D,MAAM,IAAI,KAAK,CACb,GAAG,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,gCAAgC,CAC7F,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC;gBACrB,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,CAAC;gBACR,MAAM;gBACN,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC;gBACtB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;gBACxB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;gBACd,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;gBACrC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CACf,KAAK,CACH,CAAC,CAAC,IAAI;oBACJ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;oBAC1B,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CACrF;aACJ,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI;gBACvB,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,0CAA0C,CAAC,CAAC;QACrF,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEJ,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,6EAA6E,CAAC,CAAC;IAC9F,MAAM,MAAM,GAAG,KAAK,EAAE,CAAa,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAC/C,OAAO;YACL,KAAK;YACL,OAAO,EAAE,GAAG,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC,CAAC,CAAC,eAAe;YAC9D,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM;SACrE,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,EAAE,CAAa,EAAE,CAAa,EAAE,GAAQ,EAAE,CAAO,EAAE,EAAE;QACrE,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC;YAC3B,GAAG;YACH,KAAK,EAAE,CAAC;YACR,GAAG,CAAC;YACJ,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;YAC3B,KAAK;YACL,YAAY,EAAE,kBAAkB,EAAE;SACnC,CAAC,CAAC;QACH,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,IAAI;YAClB,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,IAAI;SACD,OAAO,CAAC,MAAM,CAAC;SACf,MAAM,CAAC,aAAa,EAAE,sBAAsB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC5D,MAAM,CAAC,QAAQ,EAAE,0BAA0B,CAAC;SAC5C,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,CAAC,CAAO,EAAE,EAAE,CAClB,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACnB,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACJ,IAAI;SACD,OAAO,CAAC,KAAK,CAAC;SACd,MAAM,CAAC,aAAa,EAAE,sBAAsB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC5D,MAAM,CAAC,aAAa,EAAE,wBAAwB,EAAE,IAAI,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,0BAA0B,CAAC;SAC5C,WAAW,CAAC,6DAA6D,CAAC;SAC1E,MAAM,CAAC,CAAC,CAAO,EAAE,EAAE,CAClB,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACnB,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;gBAClF,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE;oBAC5B,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;oBAChD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC1B,OAAO,EACP,GAAG,EAAE;wBACH,YAAY,CAAC,CAAC,CAAC,CAAC;wBAChB,CAAC,EAAE,CAAC;oBACN,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACJ,IAAI;SACD,OAAO,CAAC,QAAQ,CAAC;SACjB,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC;SAC5B,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,CAAO,EAAE,EAAE;QACxB,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,GAAG,CAAC;YACJ,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YACvB,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,IAAI;YACrC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,UAAU,IAAI,IAAI;SAC9C,CAAC,CAAC,CAAC;QACJ,KAAK,CACH,CAAC,CAAC,IAAI;YACJ,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,CAAC,MAAM;gBACX,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACvJ,CAAC,CAAC,qBAAqB,CAC5B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,iBAAiB,CAAC;SAC9B,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,yEAAyE,CAAC;SACtF,MAAM,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,IAAI,CAAC;SAC3D,MAAM,CAAC,eAAe,EAAE,uDAAuD,EAAE,IAAI,CAAC;SACtF,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC;SAC5B,MAAM,CAAC,CAAC,CAAO,EAAE,EAAE,CAClB,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;QACpB,IAAI,CAAC,CAAC,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC;QACvF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/E,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;QACtF,KAAK,CACH,CAAC,CAAC,IAAI;YACJ,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,uBAAuB,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,YAAY,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,MAAM,uBAAuB,CAAC,CAAC,OAAO,CAAC,MAAM,aAAa;gBAC1O,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CACrB,CAAC,CAAC,EAAE,EAAE,CACJ,WAAW,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvH;gBACD,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CACd,CAAC,CAAC,EAAE,EAAE,CACJ,WAAW,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CACrI;aACF;iBACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;iBACpB,IAAI,CAAC,EAAE,CAAC,EAAE,CAClB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,4BAA4B,CAAC;SACzC,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,SAAS,EAAE,wCAAwC,CAAC;SAC7D,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC;SACjC,MAAM,CAAC,eAAe,EAAE,mCAAmC,CAAC;SAC5D,MAAM,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC;SACxC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC;SAC5B,MAAM,CAAC,CAAC,KAAa,EAAE,CAAO,EAAE,EAAE,CACjC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE;YACrC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;QAClC,KAAK,CACH,EAAE,CAAC,MAAM;YACP,CAAC,CAAC,GAAG,EAAE;iBACF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,MAAM,IAAI,GAAI,CAAC,CAAC,IAAiC,EAAE,IAAI,CAAC;gBACxD,OAAO,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC5H,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,IAAI;YACnB,CAAC,CAAC,oBAAoB,CACzB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACN,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* so peers' Backlog.md adapter runs on it unchanged (exec = aerie).
|
|
4
4
|
*/
|
|
5
5
|
import { dirname, join, relative } from "node:path";
|
|
6
|
-
import { readBoard, readMilestones, taskPrefix } from "./backlog/index.js";
|
|
6
|
+
import { boardStatuses, readBoard, readMilestones, taskPrefix } from "./backlog/index.js";
|
|
7
7
|
import { registerIntakeCommands } from "./cli-intake.js";
|
|
8
8
|
import { registerRunCommands } from "./cli-run.js";
|
|
9
|
-
import { SORT_FIELDS,
|
|
10
|
-
import { mirror, recordSync } from "./mirror.js";
|
|
9
|
+
import { SORT_FIELDS, statusIn, } from "./core/index.js";
|
|
10
|
+
import { mirror, recordSync, syncStatuses } from "./mirror.js";
|
|
11
11
|
import { afterDecision, modelPicker } from "./run/route.js";
|
|
12
12
|
import { AREA_ROLES } from "./schema.js";
|
|
13
13
|
import { rank, searchPlain } from "./search.js";
|
|
@@ -27,15 +27,6 @@ const nums = (v, prev = []) => [
|
|
|
27
27
|
...v.split(",").map((x) => Number.parseInt(x, 10)),
|
|
28
28
|
];
|
|
29
29
|
const print = (x) => void process.stdout.write(typeof x === "string" ? x : `${JSON.stringify(x, null, 2)}\n`);
|
|
30
|
-
/** Backlog.md takes statuses in any case */
|
|
31
|
-
function statusOf(s) {
|
|
32
|
-
if (s === undefined)
|
|
33
|
-
return undefined;
|
|
34
|
-
const hit = STATUSES.find((x) => x.toLowerCase() === s.trim().toLowerCase());
|
|
35
|
-
if (!hit)
|
|
36
|
-
throw new Error(`unknown status "${s}" (one of: ${STATUSES.join(", ")})`);
|
|
37
|
-
return hit;
|
|
38
|
-
}
|
|
39
30
|
function checksEdit(o, k) {
|
|
40
31
|
const K = k === "ac" ? "Ac" : "Dod";
|
|
41
32
|
const e = {
|
|
@@ -57,7 +48,7 @@ function editOf(o) {
|
|
|
57
48
|
};
|
|
58
49
|
put("title", o.title);
|
|
59
50
|
put("description", o.description ?? o.desc);
|
|
60
|
-
put("status",
|
|
51
|
+
put("status", o.status); // the store checks it against the board
|
|
61
52
|
put("priority", o.priority);
|
|
62
53
|
put("type", o.type);
|
|
63
54
|
put("milestone", o.clearMilestone ? null : o.milestone);
|
|
@@ -150,11 +141,24 @@ function editFlags(c, create) {
|
|
|
150
141
|
}
|
|
151
142
|
export function registerCommands(program, ctx) {
|
|
152
143
|
program.version(ctx.version, "-v, --version");
|
|
144
|
+
/** the board's columns: config.yml when mirrored (no round trip), else the store */
|
|
145
|
+
async function statusesOf(a) {
|
|
146
|
+
return (ctx.mirrorDir && boardStatuses(ctx.mirrorDir)) || a.statuses();
|
|
147
|
+
}
|
|
148
|
+
/** a write checks status in the store: bring config.yml's list there first */
|
|
149
|
+
async function syncBoard(a, o) {
|
|
150
|
+
if (ctx.mirrorDir && o.status !== undefined)
|
|
151
|
+
await syncStatuses(a, ctx.mirrorDir, ctx.by);
|
|
152
|
+
}
|
|
153
153
|
async function show(a, t, o, kind) {
|
|
154
|
-
const [rows, file] = await Promise.all([
|
|
154
|
+
const [rows, file, statuses] = await Promise.all([
|
|
155
|
+
a.dependencyRows(),
|
|
156
|
+
fileOf(a, t.id),
|
|
157
|
+
statusesOf(a),
|
|
158
|
+
]);
|
|
155
159
|
const v = {
|
|
156
160
|
rows,
|
|
157
|
-
statuses
|
|
161
|
+
statuses,
|
|
158
162
|
...(file ? { file, path: relative(dirname(ctx.mirrorDir), file) } : {}),
|
|
159
163
|
...(ctx.exact ? { exact: true } : {}),
|
|
160
164
|
};
|
|
@@ -186,6 +190,7 @@ export function registerCommands(program, ctx) {
|
|
|
186
190
|
}
|
|
187
191
|
const task = program.command("task").description("tasks, with Backlog.md's flags");
|
|
188
192
|
editFlags(task.command("create").argument("<title>").description("make a task"), true).action((title, o) => ctx.withStore(async (a) => {
|
|
193
|
+
await syncBoard(a, o);
|
|
189
194
|
const e = editOf(o);
|
|
190
195
|
if (o.acceptanceCriteria?.length)
|
|
191
196
|
e.ac = { add: [...(e.ac?.add ?? []), ...o.acceptanceCriteria] };
|
|
@@ -201,6 +206,7 @@ export function registerCommands(program, ctx) {
|
|
|
201
206
|
print(`Created task ${t.id} (area ${t.area})\n`);
|
|
202
207
|
}));
|
|
203
208
|
editFlags(task.command("edit").argument("<id>").description("change a task"), false).action((id, o) => ctx.withStore(async (a) => {
|
|
209
|
+
await syncBoard(a, o);
|
|
204
210
|
const e = editOf(o);
|
|
205
211
|
if (o.archive) {
|
|
206
212
|
const cur = await a.get(id);
|
|
@@ -254,8 +260,9 @@ export function registerCommands(program, ctx) {
|
|
|
254
260
|
.option("--plain", "plain text (default)")
|
|
255
261
|
.option("--json", "JSON");
|
|
256
262
|
async function runList(a, o) {
|
|
263
|
+
const statuses = await statusesOf(a);
|
|
257
264
|
const f = {
|
|
258
|
-
...(o.status ? { status: [
|
|
265
|
+
...(o.status ? { status: [statusIn(statuses, o.status)] } : {}),
|
|
259
266
|
...(o.assignee ? { assignee: o.assignee } : {}),
|
|
260
267
|
...(o.label ? { label: o.label } : {}),
|
|
261
268
|
...(o.parent ? { parent: (await a.get(o.parent))?.id ?? o.parent } : {}),
|
|
@@ -281,11 +288,11 @@ export function registerCommands(program, ctx) {
|
|
|
281
288
|
print({
|
|
282
289
|
schemaVersion: 1,
|
|
283
290
|
kind: "task-list",
|
|
284
|
-
tasks: ts.map((t) => listItem(t, status,
|
|
291
|
+
tasks: ts.map((t) => listItem(t, status, statuses)),
|
|
285
292
|
});
|
|
286
293
|
}
|
|
287
294
|
else
|
|
288
|
-
print(listPlain(ts,
|
|
295
|
+
print(listPlain(ts, statuses));
|
|
289
296
|
}
|
|
290
297
|
listCmd(task.command("list").description("list tasks")).action((o) => ctx.withStore((a) => runList(a, o)));
|
|
291
298
|
program
|
|
@@ -308,14 +315,15 @@ export function registerCommands(program, ctx) {
|
|
|
308
315
|
.action((query, o) => ctx.withStore(async (a) => {
|
|
309
316
|
if (o.type && o.type !== "task")
|
|
310
317
|
throw new Error(`aerie holds tasks only; ${o.type}s stay in Backlog.md`);
|
|
318
|
+
const statuses = await statusesOf(a);
|
|
311
319
|
const ts = await a.list({
|
|
312
|
-
...(o.status ? { status: o.status.map(
|
|
320
|
+
...(o.status ? { status: o.status.map((x) => statusIn(statuses, x)) } : {}),
|
|
313
321
|
...(o.priority ? { priority: [o.priority] } : {}),
|
|
314
322
|
...(o.taskType ? { type: o.taskType } : {}),
|
|
315
323
|
...(o.area ? { area: o.area } : {}),
|
|
316
324
|
...(o.all ? { place: ["tasks", "drafts", "archive/tasks", "archive/drafts"] } : {}),
|
|
317
325
|
});
|
|
318
|
-
const out = new Set((o.excludeStatus ?? []).map(
|
|
326
|
+
const out = new Set((o.excludeStatus ?? []).map((x) => statusIn(statuses, x)));
|
|
319
327
|
let hits = rank(ts.filter((t) => !out.has(t.status)), query ?? "");
|
|
320
328
|
if (o.limit)
|
|
321
329
|
hits = hits.slice(0, Number(o.limit));
|
|
@@ -329,7 +337,7 @@ export function registerCommands(program, ctx) {
|
|
|
329
337
|
print({
|
|
330
338
|
schemaVersion: 1,
|
|
331
339
|
kind: "search",
|
|
332
|
-
results: hits.map((h) => ({ type: "task", data: listItem(h.task, status,
|
|
340
|
+
results: hits.map((h) => ({ type: "task", data: listItem(h.task, status, statuses) })),
|
|
333
341
|
});
|
|
334
342
|
}
|
|
335
343
|
else
|
|
@@ -359,7 +367,7 @@ export function registerCommands(program, ctx) {
|
|
|
359
367
|
.command("get")
|
|
360
368
|
.argument("<key>")
|
|
361
369
|
.action((key) => key === "statuses"
|
|
362
|
-
? print(`${
|
|
370
|
+
? ctx.withStore(async (a) => print(`${(await statusesOf(a)).join(", ")}\n`))
|
|
363
371
|
: key === "task_prefix" || key === "prefix"
|
|
364
372
|
? ctx.withStore(async (a) => print(`${(await a.prefixOf()).toLowerCase()}\n`))
|
|
365
373
|
: SETTINGS.includes(key)
|
|
@@ -557,6 +565,7 @@ export function registerCommands(program, ctx) {
|
|
|
557
565
|
const pre = taskPrefix(dir);
|
|
558
566
|
if (pre)
|
|
559
567
|
await a.setSetting("prefix", pre, ctx.by, true);
|
|
568
|
+
await syncStatuses(a, dir, ctx.by);
|
|
560
569
|
await a.putMilestones(ms, ctx.by);
|
|
561
570
|
const r = await a.importTasks(files.map((f) => ({ task: f.task, place: f.where })), ctx.by);
|
|
562
571
|
const synced = await recordSync(a, files);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lease audit (WA-1364.3 AC #5): double delivery and orphan holders, from the lease log and the live leases.
|
|
3
|
+
* Lease starts before `since` are not in the log: run it from the log's first day.
|
|
4
|
+
*/
|
|
5
|
+
import type { HeldTask, Holder, LeaseEvent } from "./port.js";
|
|
6
|
+
/** a queued lease started while another holder's queued lease on the task was still there */
|
|
7
|
+
export type DoubleDelivery = {
|
|
8
|
+
task: string;
|
|
9
|
+
holder: Holder;
|
|
10
|
+
at: number;
|
|
11
|
+
/** the other queued leases still there (renews are not logged, so no lapse check) */
|
|
12
|
+
open: {
|
|
13
|
+
holder: Holder;
|
|
14
|
+
since: number;
|
|
15
|
+
}[];
|
|
16
|
+
};
|
|
17
|
+
/** a lease that sat past its expiry longer than grace: live now, or freed late by another (expire, reap); `lost` = its holder came back, so not one */
|
|
18
|
+
export type Orphan = {
|
|
19
|
+
task: string;
|
|
20
|
+
holder: Holder;
|
|
21
|
+
expires: number;
|
|
22
|
+
lapsedMin: number;
|
|
23
|
+
/** null: still held */
|
|
24
|
+
freed: {
|
|
25
|
+
kind: LeaseEvent["kind"];
|
|
26
|
+
by: Holder;
|
|
27
|
+
at: number;
|
|
28
|
+
} | null;
|
|
29
|
+
};
|
|
30
|
+
export type LeaseAudit = {
|
|
31
|
+
since: number;
|
|
32
|
+
until: number;
|
|
33
|
+
graceMin: number;
|
|
34
|
+
events: number;
|
|
35
|
+
starts: Record<string, number>;
|
|
36
|
+
ends: Record<string, number>;
|
|
37
|
+
doubleDelivery: DoubleDelivery[];
|
|
38
|
+
orphans: Orphan[];
|
|
39
|
+
ok: boolean;
|
|
40
|
+
};
|
|
41
|
+
export declare function leaseAudit(events: LeaseEvent[], held: HeldTask[], o: {
|
|
42
|
+
since: number;
|
|
43
|
+
now: number;
|
|
44
|
+
graceMs: number;
|
|
45
|
+
}): LeaseAudit;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
const START = new Set(["claim", "take", "reclaim"]);
|
|
2
|
+
export function leaseAudit(events, held, o) {
|
|
3
|
+
const starts = {};
|
|
4
|
+
const ends = {};
|
|
5
|
+
const doubleDelivery = [];
|
|
6
|
+
const orphans = [];
|
|
7
|
+
const mins = (ms) => Math.round(ms / 6000) / 10;
|
|
8
|
+
// task → holder → its open queued lease
|
|
9
|
+
const open = new Map();
|
|
10
|
+
for (const e of [...events].sort((a, b) => a.id - b.id)) {
|
|
11
|
+
const byTask = open.get(e.task) ?? new Map();
|
|
12
|
+
open.set(e.task, byTask);
|
|
13
|
+
if (START.has(e.kind)) {
|
|
14
|
+
starts[e.kind] = (starts[e.kind] ?? 0) + 1;
|
|
15
|
+
if (!e.queued)
|
|
16
|
+
continue;
|
|
17
|
+
const had = byTask.get(e.holder);
|
|
18
|
+
if (e.kind !== "reclaim" || !had) {
|
|
19
|
+
const others = [...byTask].filter(([h]) => h !== e.holder);
|
|
20
|
+
if (others.length)
|
|
21
|
+
doubleDelivery.push({
|
|
22
|
+
task: e.task,
|
|
23
|
+
holder: e.holder,
|
|
24
|
+
at: e.at,
|
|
25
|
+
open: others.map(([h, l]) => ({ holder: h, since: l.since })),
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
byTask.set(e.holder, { since: had?.since ?? e.at });
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
ends[e.kind] = (ends[e.kind] ?? 0) + 1;
|
|
32
|
+
byTask.delete(e.holder);
|
|
33
|
+
if ((e.kind === "expire" || e.kind === "reap") && e.at - e.expires > o.graceMs)
|
|
34
|
+
orphans.push({
|
|
35
|
+
task: e.task,
|
|
36
|
+
holder: e.holder,
|
|
37
|
+
expires: e.expires,
|
|
38
|
+
lapsedMin: mins(e.at - e.expires),
|
|
39
|
+
freed: { kind: e.kind, by: e.by, at: e.at },
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
for (const t of held)
|
|
43
|
+
for (const l of t.holders)
|
|
44
|
+
if (o.now - l.expires > o.graceMs)
|
|
45
|
+
orphans.push({
|
|
46
|
+
task: t.id,
|
|
47
|
+
holder: l.holder,
|
|
48
|
+
expires: l.expires,
|
|
49
|
+
lapsedMin: mins(o.now - l.expires),
|
|
50
|
+
freed: null,
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
since: o.since,
|
|
54
|
+
until: o.now,
|
|
55
|
+
graceMin: mins(o.graceMs),
|
|
56
|
+
events: events.length,
|
|
57
|
+
starts,
|
|
58
|
+
ends,
|
|
59
|
+
doubleDelivery,
|
|
60
|
+
orphans,
|
|
61
|
+
ok: !doubleDelivery.length && !orphans.length,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/coord/audit.ts"],"names":[],"mappings":"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"}
|
package/dist/coord/port.d.ts
CHANGED
|
@@ -37,6 +37,20 @@ export type QueueItem = {
|
|
|
37
37
|
/** the task's title; absent when the store does not hold the task */
|
|
38
38
|
title?: string;
|
|
39
39
|
};
|
|
40
|
+
/** a lease start (claim, take, reclaim) or end (release, done, expire, lost, reap); times epoch ms */
|
|
41
|
+
export type LeaseEvent = {
|
|
42
|
+
id: number;
|
|
43
|
+
task: string;
|
|
44
|
+
holder: Holder;
|
|
45
|
+
gen: number;
|
|
46
|
+
kind: "claim" | "take" | "reclaim" | "release" | "done" | "expire" | "lost" | "reap";
|
|
47
|
+
/** the lease came from the queue */
|
|
48
|
+
queued: boolean;
|
|
49
|
+
/** start: the new expiry; end: the expiry it had */
|
|
50
|
+
expires: number;
|
|
51
|
+
by: Holder;
|
|
52
|
+
at: number;
|
|
53
|
+
};
|
|
40
54
|
/** what changed: the queue, or a lease (claim, renew, release) */
|
|
41
55
|
export type CoordChange = "queue" | "lease";
|
|
42
56
|
export interface CoordStore {
|
|
@@ -105,6 +119,11 @@ export interface CoordStore {
|
|
|
105
119
|
} | null>;
|
|
106
120
|
/** true while `holder` still holds `id` at `gen`: before each board write and each commit trailer. */
|
|
107
121
|
fence(id: string, holder: Holder, gen: number): Promise<boolean>;
|
|
122
|
+
/** lease starts and ends since `since` (epoch ms), oldest first; a store with no log leaves it out */
|
|
123
|
+
leaseEvents?(o: {
|
|
124
|
+
since: number;
|
|
125
|
+
limit?: number;
|
|
126
|
+
}): Promise<LeaseEvent[]>;
|
|
108
127
|
/** each queue or lease change on this backing, from any writer; holds a connection until `end` */
|
|
109
128
|
listen?(onChange: (what: CoordChange) => void): Promise<{
|
|
110
129
|
end(): Promise<void>;
|
package/dist/coord/postgres.d.ts
CHANGED
|
@@ -19,4 +19,8 @@ export interface PgCoordOptions {
|
|
|
19
19
|
}
|
|
20
20
|
/** NOTIFY channel of the coord tables; payload `<queue|lease>:<ns>` (migration 0010) */
|
|
21
21
|
export declare const COORD_CHANNEL = "aerie_coord";
|
|
22
|
-
|
|
22
|
+
/** the Postgres store always keeps the lease log */
|
|
23
|
+
export type PgCoordStore = CoordStore & {
|
|
24
|
+
leaseEvents: NonNullable<CoordStore["leaseEvents"]>;
|
|
25
|
+
};
|
|
26
|
+
export declare function pgCoord(o: PgCoordOptions): PgCoordStore;
|