@detergent-software/conductor 1.0.0-dev.9 → 1.0.1-dev.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.
- package/CHANGELOG.md +305 -0
- package/README.md +277 -24
- package/build/brief-cli.js +68 -0
- package/build/brief-cli.js.map +1 -0
- package/build/brief.js +211 -0
- package/build/brief.js.map +1 -0
- package/build/broker-cli.js +126 -0
- package/build/broker-cli.js.map +1 -0
- package/build/broker.js +154 -0
- package/build/broker.js.map +1 -0
- package/build/cli.js +442 -132
- package/build/cli.js.map +1 -1
- package/build/conditions.js +15 -8
- package/build/conditions.js.map +1 -1
- package/build/config.js +26 -3
- package/build/config.js.map +1 -1
- package/build/console.js +225 -0
- package/build/console.js.map +1 -0
- package/build/daemon.js +136 -5
- package/build/daemon.js.map +1 -1
- package/build/events.js +2 -1
- package/build/events.js.map +1 -1
- package/build/help.js +448 -0
- package/build/help.js.map +1 -0
- package/build/history.js +637 -0
- package/build/history.js.map +1 -0
- package/build/inbox.js +117 -18
- package/build/inbox.js.map +1 -1
- package/build/manager.js +118 -43
- package/build/manager.js.map +1 -1
- package/build/notes.js +27 -43
- package/build/notes.js.map +1 -1
- package/build/notify.js +32 -3
- package/build/notify.js.map +1 -1
- package/build/overrides.js +83 -0
- package/build/overrides.js.map +1 -0
- package/build/paths.js +10 -1
- package/build/paths.js.map +1 -1
- package/build/profile.js +68 -2
- package/build/profile.js.map +1 -1
- package/build/queue.js +183 -0
- package/build/queue.js.map +1 -0
- package/build/registry.js +17 -10
- package/build/registry.js.map +1 -1
- package/build/rule-actions.js +444 -0
- package/build/rule-actions.js.map +1 -0
- package/build/rule-input.js +17 -0
- package/build/rule-input.js.map +1 -0
- package/build/rules-service.js +402 -0
- package/build/rules-service.js.map +1 -0
- package/build/rules.js +850 -0
- package/build/rules.js.map +1 -0
- package/build/scheduler.js +293 -0
- package/build/scheduler.js.map +1 -0
- package/build/serve.js +51 -0
- package/build/serve.js.map +1 -0
- package/build/server.js +244 -7
- package/build/server.js.map +1 -1
- package/build/spend.js +42 -0
- package/build/spend.js.map +1 -1
- package/build/store.js +266 -12
- package/build/store.js.map +1 -1
- package/build/trackers.js +15 -0
- package/build/trackers.js.map +1 -0
- package/build/upgrade.js +16 -14
- package/build/upgrade.js.map +1 -1
- package/build/wait.js +3 -9
- package/build/wait.js.map +1 -1
- package/build/watchers/ado-api.js +55 -0
- package/build/watchers/ado-api.js.map +1 -0
- package/build/watchers/ado.js +60 -52
- package/build/watchers/ado.js.map +1 -1
- package/build/watchers/boards-brief.js +63 -0
- package/build/watchers/boards-brief.js.map +1 -0
- package/build/watchers/boards-queue.js +120 -0
- package/build/watchers/boards-queue.js.map +1 -0
- package/build/watchers/boards-writes.js +83 -0
- package/build/watchers/boards-writes.js.map +1 -0
- package/build/watchers/boards.js +271 -0
- package/build/watchers/boards.js.map +1 -0
- package/build/watchers/conflicts.js +132 -0
- package/build/watchers/conflicts.js.map +1 -0
- package/build/watchers/github.js +5 -2
- package/build/watchers/github.js.map +1 -1
- package/build/watchers/index.js +21 -7
- package/build/watchers/index.js.map +1 -1
- package/build/watchers/linear-api.js +55 -0
- package/build/watchers/linear-api.js.map +1 -0
- package/build/watchers/linear-labels.js +43 -0
- package/build/watchers/linear-labels.js.map +1 -0
- package/build/watchers/linear-queue.js +96 -0
- package/build/watchers/linear-queue.js.map +1 -0
- package/build/watchers/linear.js +18 -16
- package/build/watchers/linear.js.map +1 -1
- package/build/watchers/source.js +3 -3
- package/build/watchers/source.js.map +1 -1
- package/build/why.js +78 -0
- package/build/why.js.map +1 -0
- package/mod/.claude-plugin/plugin.json +1 -1
- package/mod/README.md +2 -2
- package/mod/hooks/model.ts +135 -8
- package/mod/hooks/register.tsx +219 -19
- package/mod/types/index.d.ts +6 -0
- package/package.json +1 -1
package/build/store.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from 'node:events';
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
2
3
|
import { DatabaseSync } from 'node:sqlite';
|
|
3
4
|
import { z } from 'zod';
|
|
4
5
|
import { ConductorError } from "./errors.js";
|
|
@@ -197,6 +198,37 @@ export const MIGRATIONS = [
|
|
|
197
198
|
) STRICT;
|
|
198
199
|
CREATE INDEX notify_state_dedupe ON notify_state (dedupe_key, last_sent_at);
|
|
199
200
|
CREATE INDEX overrides_by_kind ON overrides (kind, id);
|
|
201
|
+
`,
|
|
202
|
+
// 5: the scheduler (ATK-315). `items` holds each project's last queue read: the state's type
|
|
203
|
+
// (backlog, started, completed …), the tracker project it is in, when it was created, and
|
|
204
|
+
// `blocked_by` as the blockers still open, so a read that finds none left says it unblocked.
|
|
205
|
+
`
|
|
206
|
+
ALTER TABLE items ADD COLUMN state_type TEXT;
|
|
207
|
+
ALTER TABLE items ADD COLUMN tracker_project TEXT;
|
|
208
|
+
ALTER TABLE items ADD COLUMN created_at TEXT;
|
|
209
|
+
`,
|
|
210
|
+
// 6: rule actions (ATK-315). A state rule fires once per subject while it holds: `rule_state`
|
|
211
|
+
// keeps the ones that hold now, so a restart doesn't fire them again. An override says who set
|
|
212
|
+
// it (a command, or a rule's ref), so a rule ends only the pause it set.
|
|
213
|
+
`
|
|
214
|
+
CREATE TABLE rule_state (
|
|
215
|
+
rule TEXT NOT NULL,
|
|
216
|
+
subject TEXT NOT NULL,
|
|
217
|
+
fired_at TEXT NOT NULL,
|
|
218
|
+
PRIMARY KEY (rule, subject)
|
|
219
|
+
) STRICT;
|
|
220
|
+
ALTER TABLE overrides ADD COLUMN set_by TEXT;
|
|
221
|
+
`,
|
|
222
|
+
// 7: the port broker (ATK-318). Each worktree's slot and the ports it gives (base + slot), so
|
|
223
|
+
// worktrees of every project get ports no other one has. Its locks (chrome) go in `locks`.
|
|
224
|
+
`
|
|
225
|
+
CREATE TABLE ports (
|
|
226
|
+
worktree TEXT PRIMARY KEY,
|
|
227
|
+
project TEXT NOT NULL,
|
|
228
|
+
slot INTEGER NOT NULL,
|
|
229
|
+
ports TEXT NOT NULL,
|
|
230
|
+
assigned_at TEXT NOT NULL
|
|
231
|
+
) STRICT;
|
|
200
232
|
`,
|
|
201
233
|
];
|
|
202
234
|
export const SCHEMA_VERSION = MIGRATIONS.length;
|
|
@@ -263,8 +295,10 @@ export const waitSchema = z.object({
|
|
|
263
295
|
resolvedAt: z.string().nullable(),
|
|
264
296
|
worker: z.number(),
|
|
265
297
|
});
|
|
266
|
-
// What waits on Jason (design note, section 7). `ready-to-release
|
|
267
|
-
// `prod-approval`
|
|
298
|
+
// What waits on Jason (design note, section 7). The scheduler raises `ready-to-release` and
|
|
299
|
+
// `queue-drained`; `prod-approval` belongs to `/release-atk`, which raises none yet. `console` is the
|
|
300
|
+
// console's finding on an escalation that needs Jason (`conduct escalations done --ask`). The
|
|
301
|
+
// watchers raise `conflict` for a PR whose conflict with its base outlived its worker's wake.
|
|
268
302
|
export const INBOX_KINDS = [
|
|
269
303
|
'plan',
|
|
270
304
|
'merge',
|
|
@@ -277,10 +311,12 @@ export const INBOX_KINDS = [
|
|
|
277
311
|
'blocked',
|
|
278
312
|
'abandoned',
|
|
279
313
|
'failed',
|
|
314
|
+
'conflict',
|
|
280
315
|
'stall',
|
|
281
316
|
'runaway',
|
|
282
317
|
'ready-to-release',
|
|
283
318
|
'queue-drained',
|
|
319
|
+
'console',
|
|
284
320
|
];
|
|
285
321
|
export const inboxItemSchema = z.object({
|
|
286
322
|
commands: z.array(z.string()),
|
|
@@ -300,6 +336,29 @@ export const inboxItemSchema = z.object({
|
|
|
300
336
|
worker: z.number().nullable(),
|
|
301
337
|
});
|
|
302
338
|
export const NO_EXPIRY = '9999-12-31T23:59:59.999Z';
|
|
339
|
+
const queueItemRow = z.object({
|
|
340
|
+
area: z.string().nullable(),
|
|
341
|
+
blocked_by: z.string(),
|
|
342
|
+
created_at: z.string().nullable(),
|
|
343
|
+
id: z.string(),
|
|
344
|
+
labels: z.string(),
|
|
345
|
+
priority: z.number().nullable(),
|
|
346
|
+
state_type: z.string().nullable(),
|
|
347
|
+
title: z.string().nullable(),
|
|
348
|
+
tracker_project: z.string().nullable(),
|
|
349
|
+
});
|
|
350
|
+
// A checkout's dev ports from the broker. A main checkout has slot 0 and isn't stored, so its
|
|
351
|
+
// `assignedAt` is null.
|
|
352
|
+
export const portAssignmentSchema = z.object({
|
|
353
|
+
assignedAt: z.string().nullable(),
|
|
354
|
+
ports: z.record(z.string(), z.number()),
|
|
355
|
+
project: z.string(),
|
|
356
|
+
slot: z.number(),
|
|
357
|
+
worktree: z.string(),
|
|
358
|
+
});
|
|
359
|
+
// A broker lock: who holds it, and when they last acquired it.
|
|
360
|
+
export const lockSchema = z.object({ holder: z.string(), name: z.string(), since: z.string() });
|
|
361
|
+
const portsRow = z.object({ assigned_at: z.string(), ports: z.string(), project: z.string(), slot: z.number(), worktree: z.string() });
|
|
303
362
|
const workerRow = z.object({
|
|
304
363
|
attached_at: z.string().nullable(),
|
|
305
364
|
branch: z.string().nullable(),
|
|
@@ -355,6 +414,7 @@ const overrideRow = z.object({
|
|
|
355
414
|
id: z.number(),
|
|
356
415
|
kind: z.string(),
|
|
357
416
|
project: z.string().nullable(),
|
|
417
|
+
set_by: z.string().nullable(),
|
|
358
418
|
until: z.string(),
|
|
359
419
|
value: z.string(),
|
|
360
420
|
});
|
|
@@ -378,11 +438,21 @@ const WORKER_COLUMNS = {
|
|
|
378
438
|
stoppedAt: 'stopped_at',
|
|
379
439
|
worktree: 'worktree',
|
|
380
440
|
};
|
|
381
|
-
|
|
382
|
-
|
|
441
|
+
// `readOnly` opens the database as it is, for a reader beside a daemon that may be older (conduct
|
|
442
|
+
// history): it never migrates, so it can't move the schema out from under a running daemon.
|
|
443
|
+
export function openStore(file, now = () => new Date(), { readOnly = false } = {}) {
|
|
444
|
+
if (readOnly && !existsSync(file))
|
|
445
|
+
throw new ConductorError(`${file} doesn't exist: the conductor hasn't recorded anything yet`);
|
|
446
|
+
const db = new DatabaseSync(file, { readOnly });
|
|
383
447
|
try {
|
|
384
|
-
|
|
385
|
-
|
|
448
|
+
if (readOnly) {
|
|
449
|
+
db.exec('PRAGMA busy_timeout = 5000;');
|
|
450
|
+
schemaVersion(db, file);
|
|
451
|
+
}
|
|
452
|
+
else {
|
|
453
|
+
db.exec('PRAGMA journal_mode = WAL; PRAGMA busy_timeout = 5000; PRAGMA foreign_keys = ON;');
|
|
454
|
+
migrate(db, file);
|
|
455
|
+
}
|
|
386
456
|
}
|
|
387
457
|
catch (error) {
|
|
388
458
|
db.close();
|
|
@@ -425,6 +495,9 @@ export function openStore(file, now = () => new Date()) {
|
|
|
425
495
|
tokens = tokens + excluded.tokens, input = input + excluded.input, output = output + excluded.output,
|
|
426
496
|
cache_read = cache_read + excluded.cache_read, cache_write = cache_write + excluded.cache_write`).run(worker, project, item, day, totalTokens(usage), usage.input, usage.output, usage.cacheRead, usage.cacheWrite);
|
|
427
497
|
},
|
|
498
|
+
addTodo: ({ action, after, item, project }) => z
|
|
499
|
+
.object({ id: z.number() })
|
|
500
|
+
.parse(db.prepare('INSERT INTO todos (project, item, action, after, created_at) VALUES (?, ?, ?, ?, ?) RETURNING id').get(project, item, action, after, now().toISOString())).id,
|
|
428
501
|
addWait: (worker, condition) => toWait(db
|
|
429
502
|
.prepare('INSERT INTO waits (worker, condition, created_at) VALUES (?, ?, ?) RETURNING *')
|
|
430
503
|
.get(worker, condition, now().toISOString())),
|
|
@@ -435,17 +508,60 @@ export function openStore(file, now = () => new Date()) {
|
|
|
435
508
|
db.prepare(`UPDATE waits SET resolved_at = coalesce(resolved_at, ?), resolution = coalesce(resolution, ?), delivered_at = ?
|
|
436
509
|
WHERE worker = ? AND delivered_at IS NULL`).run(at, resolution, at, worker);
|
|
437
510
|
},
|
|
511
|
+
deleteLock: (name) => {
|
|
512
|
+
db.prepare('DELETE FROM locks WHERE name = ?').run(name);
|
|
513
|
+
},
|
|
514
|
+
deletePorts: (worktree) => {
|
|
515
|
+
const row = db.prepare('DELETE FROM ports WHERE worktree = ? RETURNING *').get(worktree);
|
|
516
|
+
return row === undefined ? null : toPorts(row);
|
|
517
|
+
},
|
|
438
518
|
deliverWaits: (ids) => {
|
|
439
519
|
const deliver = db.prepare('UPDATE waits SET delivered_at = ? WHERE id = ? AND resolved_at IS NOT NULL');
|
|
440
520
|
const at = now().toISOString();
|
|
441
521
|
for (const id of ids)
|
|
442
522
|
deliver.run(at, id);
|
|
443
523
|
},
|
|
524
|
+
dueTodos: (at) => z
|
|
525
|
+
.array(z.object({ action: z.string(), after: z.string(), created_at: z.string(), id: z.number(), item: z.string().nullable(), project: z.string().nullable() }))
|
|
526
|
+
.parse(db.prepare('SELECT id, project, item, action, after, created_at FROM todos WHERE done_at IS NULL AND after <= ? ORDER BY id').all(at))
|
|
527
|
+
.map(({ created_at: createdAt, ...t }) => ({ ...t, createdAt })),
|
|
528
|
+
escalationHandled: (id) => db.prepare("SELECT 1 FROM events WHERE kind = 'console.handled' AND json_extract(data, '$.cause') = ? LIMIT 1").get(id) !== undefined,
|
|
444
529
|
eventsAfter: (id, limit = 500) => selectAfter.all(id, limit).map((row) => eventRow.parse(row)),
|
|
530
|
+
eventsBetween: ({ since, until }, { kinds, project, subjects, workers } = {}) => {
|
|
531
|
+
const where = [];
|
|
532
|
+
const args = [];
|
|
533
|
+
const add = (clause, arg) => {
|
|
534
|
+
where.push(clause);
|
|
535
|
+
args.push(arg);
|
|
536
|
+
};
|
|
537
|
+
add('at < ?', until);
|
|
538
|
+
if (since !== null)
|
|
539
|
+
add('at >= ?', since);
|
|
540
|
+
if (kinds)
|
|
541
|
+
add('kind IN (SELECT value FROM json_each(?))', JSON.stringify(kinds));
|
|
542
|
+
if (project !== undefined)
|
|
543
|
+
add('project IS ?', project);
|
|
544
|
+
if (subjects)
|
|
545
|
+
add('upper(subject) IN (SELECT upper(value) FROM json_each(?))', JSON.stringify(subjects));
|
|
546
|
+
if (workers)
|
|
547
|
+
add("json_extract(data, '$.worker') IN (SELECT value FROM json_each(?))", JSON.stringify(workers));
|
|
548
|
+
return db.prepare(`SELECT * FROM events WHERE ${where.join(' AND ')} ORDER BY id`).all(...args).map((row) => eventRow.parse(row));
|
|
549
|
+
},
|
|
550
|
+
finishTodo: (id) => {
|
|
551
|
+
db.prepare('UPDATE todos SET done_at = ? WHERE id = ?').run(now().toISOString(), id);
|
|
552
|
+
},
|
|
553
|
+
getEvent: (id) => {
|
|
554
|
+
const row = db.prepare('SELECT * FROM events WHERE id = ?').get(id);
|
|
555
|
+
return row === undefined ? null : eventRow.parse(row);
|
|
556
|
+
},
|
|
445
557
|
getInbox: (id) => {
|
|
446
558
|
const row = db.prepare('SELECT * FROM inbox WHERE id = ?').get(id);
|
|
447
559
|
return row === undefined ? null : toInbox(row);
|
|
448
560
|
},
|
|
561
|
+
getLock: (name) => {
|
|
562
|
+
const row = db.prepare('SELECT * FROM locks WHERE name = ?').get(name);
|
|
563
|
+
return row === undefined ? null : lockSchema.parse(row);
|
|
564
|
+
},
|
|
449
565
|
getNotifyState: (inbox) => {
|
|
450
566
|
const row = db.prepare('SELECT * FROM notify_state WHERE inbox = ?').get(inbox);
|
|
451
567
|
return row === undefined ? null : toNotifyState(row);
|
|
@@ -455,7 +571,9 @@ export function openStore(file, now = () => new Date()) {
|
|
|
455
571
|
return row === undefined ? null : toWait(row);
|
|
456
572
|
},
|
|
457
573
|
getWorker,
|
|
574
|
+
holdRule: (rule, subject) => db.prepare('INSERT INTO rule_state (rule, subject, fired_at) VALUES (?, ?, ?) ON CONFLICT DO NOTHING').run(rule, subject, now().toISOString()).changes > 0,
|
|
458
575
|
inboxOf: (worker) => db.prepare('SELECT * FROM inbox WHERE worker = ? ORDER BY id').all(worker).map(toInbox),
|
|
576
|
+
inboxRaisedBetween: (since, until) => db.prepare('SELECT * FROM inbox WHERE raised_at >= ? AND raised_at < ? ORDER BY id').all(since, until).map(toInbox),
|
|
459
577
|
insertInbox: ({ commands, condition, item, kind, links, project, text, worker }) => toInbox(db
|
|
460
578
|
.prepare(`INSERT INTO inbox (project, item, worker, kind, text, commands, links, condition, raised_at)
|
|
461
579
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING *`)
|
|
@@ -475,12 +593,22 @@ export function openStore(file, now = () => new Date()) {
|
|
|
475
593
|
throw error;
|
|
476
594
|
}
|
|
477
595
|
},
|
|
596
|
+
itemTitles: () => new Map(z
|
|
597
|
+
.array(z.object({ id: z.string(), project: z.string(), title: z.string() }))
|
|
598
|
+
.parse(db.prepare('SELECT project, id, title FROM items WHERE title IS NOT NULL').all())
|
|
599
|
+
.map((r) => [`${r.project}|${r.id.toUpperCase()}`, r.title])),
|
|
478
600
|
lastNotified: (dedupeKey, since) => {
|
|
479
601
|
const row = db
|
|
480
602
|
.prepare('SELECT * FROM notify_state WHERE dedupe_key = ? AND sends > 0 AND last_sent_at >= ? ORDER BY last_sent_at DESC, inbox DESC LIMIT 1')
|
|
481
603
|
.get(dedupeKey, since);
|
|
482
604
|
return row === undefined ? null : toNotifyState(row);
|
|
483
605
|
},
|
|
606
|
+
latestEvent: (kinds) => {
|
|
607
|
+
const row = kinds === undefined
|
|
608
|
+
? db.prepare('SELECT * FROM events ORDER BY id DESC LIMIT 1').get()
|
|
609
|
+
: db.prepare('SELECT * FROM events WHERE kind IN (SELECT value FROM json_each(?)) ORDER BY id DESC LIMIT 1').get(JSON.stringify(kinds));
|
|
610
|
+
return row === undefined ? null : eventRow.parse(row);
|
|
611
|
+
},
|
|
484
612
|
latestEventId: () => z.object({ id: z.number() }).parse(db.prepare('SELECT coalesce(max(id), 0) AS id FROM events').get()).id,
|
|
485
613
|
latestInbox: (project, item, kind) => {
|
|
486
614
|
const row = db
|
|
@@ -488,6 +616,15 @@ export function openStore(file, now = () => new Date()) {
|
|
|
488
616
|
.get(project, item, kind);
|
|
489
617
|
return row === undefined ? null : toInbox(row);
|
|
490
618
|
},
|
|
619
|
+
latestTier: (project, item) => {
|
|
620
|
+
const row = db
|
|
621
|
+
.prepare(`SELECT json_extract(data, '$.tier') AS tier FROM events
|
|
622
|
+
WHERE kind = 'note.posted' AND project = ? AND upper(subject) = upper(?) AND json_extract(data, '$.tier') IS NOT NULL
|
|
623
|
+
ORDER BY id DESC LIMIT 1`)
|
|
624
|
+
.get(project, item);
|
|
625
|
+
return row === undefined ? null : z.object({ tier: z.string() }).parse(row).tier;
|
|
626
|
+
},
|
|
627
|
+
listLocks: () => z.array(lockSchema).parse(db.prepare('SELECT * FROM locks ORDER BY name').all()),
|
|
491
628
|
listProjects: () => db.prepare('SELECT * FROM projects ORDER BY name').all().map(toProject),
|
|
492
629
|
listWorkers: (statuses = WORKER_STATUSES) => db
|
|
493
630
|
.prepare(`SELECT * FROM workers WHERE status IN (${statuses.map(() => '?').join(', ')}) ORDER BY id`)
|
|
@@ -504,12 +641,53 @@ export function openStore(file, now = () => new Date()) {
|
|
|
504
641
|
.get(kind, project, now().toISOString());
|
|
505
642
|
return row === undefined ? null : toOverride(row);
|
|
506
643
|
},
|
|
644
|
+
liveOverrides: () => db
|
|
645
|
+
.prepare(`SELECT * FROM overrides o WHERE until > ? AND id = (
|
|
646
|
+
SELECT max(id) FROM overrides n WHERE n.kind = o.kind AND n.project IS o.project AND n.until > ?)
|
|
647
|
+
ORDER BY id`)
|
|
648
|
+
.all(now().toISOString(), now().toISOString())
|
|
649
|
+
.map(toOverride),
|
|
507
650
|
onEvent: (listener) => {
|
|
508
651
|
emitter.on('event', listener);
|
|
509
652
|
return () => emitter.off('event', listener);
|
|
510
653
|
},
|
|
654
|
+
openEscalations: (since) => {
|
|
655
|
+
// Two scans, not a correlated subquery: `events` has no index on kind, and adding one would be
|
|
656
|
+
// a migration an older daemon refuses to open (a downgrade).
|
|
657
|
+
const handled = new Set(z
|
|
658
|
+
.array(z.object({ cause: z.number().nullable() }))
|
|
659
|
+
.parse(db.prepare("SELECT json_extract(data, '$.cause') AS cause FROM events WHERE kind = 'console.handled'").all())
|
|
660
|
+
.map((r) => r.cause));
|
|
661
|
+
return db
|
|
662
|
+
.prepare("SELECT * FROM events WHERE kind = 'console.escalated' AND at >= ? ORDER BY id")
|
|
663
|
+
.all(since)
|
|
664
|
+
.map((row) => eventRow.parse(row))
|
|
665
|
+
.filter((e) => !handled.has(e.id));
|
|
666
|
+
},
|
|
511
667
|
openInbox: () => db.prepare('SELECT * FROM inbox WHERE resolved_at IS NULL ORDER BY id').all().map(toInbox),
|
|
512
668
|
openWaits: () => db.prepare('SELECT * FROM waits WHERE resolved_at IS NULL ORDER BY id').all().map(toWait),
|
|
669
|
+
portAssignments: () => db.prepare('SELECT * FROM ports ORDER BY slot, worktree').all().map(toPorts),
|
|
670
|
+
queueItems: (project) => db
|
|
671
|
+
.prepare('SELECT * FROM items WHERE project = ? AND state_type IS NOT NULL ORDER BY id')
|
|
672
|
+
.all(project)
|
|
673
|
+
.map((row) => {
|
|
674
|
+
const r = queueItemRow.parse(row);
|
|
675
|
+
const strings = z.array(z.string());
|
|
676
|
+
return {
|
|
677
|
+
area: r.area,
|
|
678
|
+
blockedBy: strings.parse(JSON.parse(r.blocked_by)),
|
|
679
|
+
createdAt: r.created_at,
|
|
680
|
+
id: r.id,
|
|
681
|
+
labels: strings.parse(JSON.parse(r.labels)),
|
|
682
|
+
priority: r.priority,
|
|
683
|
+
stateType: r.state_type,
|
|
684
|
+
title: r.title,
|
|
685
|
+
trackerProject: r.tracker_project,
|
|
686
|
+
};
|
|
687
|
+
}),
|
|
688
|
+
releaseRule: (rule, subject) => {
|
|
689
|
+
db.prepare('DELETE FROM rule_state WHERE rule = ? AND subject = ?').run(rule, subject);
|
|
690
|
+
},
|
|
513
691
|
resolveInbox: (id, by) => {
|
|
514
692
|
const row = db
|
|
515
693
|
.prepare('UPDATE inbox SET resolved_at = ?, resolved_by = ? WHERE id = ? AND resolved_at IS NULL RETURNING *')
|
|
@@ -524,10 +702,18 @@ export function openStore(file, now = () => new Date()) {
|
|
|
524
702
|
throw new ConductorError(`wait ${id} is not open`);
|
|
525
703
|
return toWait(row);
|
|
526
704
|
},
|
|
705
|
+
ruleEvents: (item, limit = 10) => db
|
|
706
|
+
.prepare('SELECT * FROM events WHERE upper(subject) = upper(?) AND rule IS NOT NULL ORDER BY id DESC LIMIT ?')
|
|
707
|
+
.all(item, limit)
|
|
708
|
+
.map((row) => eventRow.parse(row)),
|
|
709
|
+
ruleStates: () => z.array(z.object({ rule: z.string(), subject: z.string() })).parse(db.prepare('SELECT rule, subject FROM rule_state ORDER BY rule, subject').all()),
|
|
527
710
|
saveItemNote: ({ item, phase, project }) => {
|
|
528
711
|
db.prepare(`INSERT INTO items (project, id, latest_note, updated_at) VALUES (?, ?, ?, ?)
|
|
529
712
|
ON CONFLICT (project, id) DO UPDATE SET latest_note = excluded.latest_note, updated_at = excluded.updated_at`).run(project, item, phase, now().toISOString());
|
|
530
713
|
},
|
|
714
|
+
saveLock: (name, holder) => lockSchema.parse(db
|
|
715
|
+
.prepare('INSERT INTO locks (name, holder, since) VALUES (?, ?, ?) ON CONFLICT (name) DO UPDATE SET holder = excluded.holder, since = excluded.since RETURNING *')
|
|
716
|
+
.get(name, holder, now().toISOString())),
|
|
531
717
|
saveNotifyState: (s) => {
|
|
532
718
|
db.prepare(`INSERT INTO notify_state (inbox, dedupe_key, channels, remind_after, remind_times, sends, last_sent_at, held_at)
|
|
533
719
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
@@ -535,6 +721,33 @@ export function openStore(file, now = () => new Date()) {
|
|
|
535
721
|
remind_after = excluded.remind_after, remind_times = excluded.remind_times, sends = excluded.sends,
|
|
536
722
|
last_sent_at = excluded.last_sent_at, held_at = excluded.held_at`).run(s.inbox, s.dedupeKey, JSON.stringify(s.channels), s.remindAfterMinutes, s.remindTimes, s.sends, s.lastSentAt, s.heldAt);
|
|
537
723
|
},
|
|
724
|
+
savePorts: ({ ports, project, slot, worktree }) => toPorts(db
|
|
725
|
+
.prepare('INSERT INTO ports (worktree, project, slot, ports, assigned_at) VALUES (?, ?, ?, ?, ?) RETURNING *')
|
|
726
|
+
.get(worktree, project, slot, JSON.stringify(ports), now().toISOString())),
|
|
727
|
+
saveQueueItems: (project, items) => {
|
|
728
|
+
const save = db.prepare(`INSERT INTO items (project, id, title, state_type, labels, area, blocked_by, priority, tracker_project, created_at, updated_at)
|
|
729
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
730
|
+
ON CONFLICT (project, id) DO UPDATE SET title = excluded.title, state_type = excluded.state_type,
|
|
731
|
+
labels = excluded.labels, area = excluded.area, blocked_by = excluded.blocked_by, priority = excluded.priority,
|
|
732
|
+
tracker_project = excluded.tracker_project, created_at = excluded.created_at, updated_at = excluded.updated_at`);
|
|
733
|
+
const at = now().toISOString();
|
|
734
|
+
// An item the read no longer lists isn't open: it keeps its note, not its blockers, so a
|
|
735
|
+
// reopened item doesn't read as unblocked against blockers from weeks ago.
|
|
736
|
+
const gone = db.prepare(`UPDATE items SET state_type = NULL, blocked_by = '[]', updated_at = ?
|
|
737
|
+
WHERE project = ? AND state_type IS NOT NULL AND id NOT IN (SELECT value FROM json_each(?))`);
|
|
738
|
+
db.exec('BEGIN IMMEDIATE');
|
|
739
|
+
try {
|
|
740
|
+
for (const i of items) {
|
|
741
|
+
save.run(project, i.id, i.title, i.stateType, JSON.stringify(i.labels), i.area, JSON.stringify(i.blockedBy), i.priority, i.trackerProject, i.createdAt, at);
|
|
742
|
+
}
|
|
743
|
+
gone.run(at, project, JSON.stringify(items.map((i) => i.id)));
|
|
744
|
+
db.exec('COMMIT');
|
|
745
|
+
}
|
|
746
|
+
catch (error) {
|
|
747
|
+
db.exec('ROLLBACK');
|
|
748
|
+
throw error;
|
|
749
|
+
}
|
|
750
|
+
},
|
|
538
751
|
saveTranscript: (file, worker, cursor) => {
|
|
539
752
|
db.prepare(`INSERT INTO transcripts (file, worker, bytes, recent_ids) VALUES (?, ?, ?, ?)
|
|
540
753
|
ON CONFLICT (file) DO UPDATE SET worker = excluded.worker, bytes = excluded.bytes, recent_ids = excluded.recent_ids`).run(file, worker, cursor.bytes, JSON.stringify(cursor.recentIds));
|
|
@@ -542,9 +755,22 @@ export function openStore(file, now = () => new Date()) {
|
|
|
542
755
|
setInboxCondition: (id, condition) => {
|
|
543
756
|
db.prepare('UPDATE inbox SET condition = ? WHERE id = ?').run(condition, id);
|
|
544
757
|
},
|
|
545
|
-
setOverride: ({ kind, project, until, value }) => toOverride(db
|
|
546
|
-
.prepare('INSERT INTO overrides (project, kind, value, until, created_at) VALUES (?, ?, ?, ?, ?) RETURNING *')
|
|
547
|
-
.get(project, kind, value, until, now().toISOString())),
|
|
758
|
+
setOverride: ({ kind, project, setBy, until, value }) => toOverride(db
|
|
759
|
+
.prepare('INSERT INTO overrides (project, kind, value, until, created_at, set_by) VALUES (?, ?, ?, ?, ?, ?) RETURNING *')
|
|
760
|
+
.get(project, kind, value, until, now().toISOString(), setBy)),
|
|
761
|
+
spendBetween: (fromDay, toDay) => z
|
|
762
|
+
.array(z.object({
|
|
763
|
+
cache_read: z.number(),
|
|
764
|
+
cache_write: z.number(),
|
|
765
|
+
day: z.string(),
|
|
766
|
+
input: z.number(),
|
|
767
|
+
item: z.string(),
|
|
768
|
+
output: z.number(),
|
|
769
|
+
project: z.string(),
|
|
770
|
+
worker: z.number(),
|
|
771
|
+
}))
|
|
772
|
+
.parse(db.prepare('SELECT * FROM spend WHERE day >= ? AND day <= ? ORDER BY day, worker').all(fromDay, toDay))
|
|
773
|
+
.map(({ cache_read: cacheRead, cache_write: cacheWrite, ...r }) => ({ ...r, cacheRead, cacheWrite })),
|
|
548
774
|
spendByWorker: (day) => {
|
|
549
775
|
const rows = db
|
|
550
776
|
.prepare(`SELECT worker, sum(tokens) AS total, sum(CASE WHEN day = ? THEN tokens ELSE 0 END) AS today
|
|
@@ -553,6 +779,19 @@ export function openStore(file, now = () => new Date()) {
|
|
|
553
779
|
const totals = z.array(z.object({ today: z.number(), total: z.number(), worker: z.number() })).parse(rows);
|
|
554
780
|
return new Map(totals.map((t) => [t.worker, { today: t.today, total: t.total }]));
|
|
555
781
|
},
|
|
782
|
+
spendSummary: (day) => {
|
|
783
|
+
const sum = 'sum(input + output + cache_write)';
|
|
784
|
+
const rows = (sql, ...args) => z.array(z.object({ key: z.union([z.string(), z.number()]).transform(String), tokens: z.number() })).parse(db.prepare(sql).all(...args));
|
|
785
|
+
const byWorker = rows(`SELECT worker AS key, ${sum} AS tokens FROM spend GROUP BY worker`);
|
|
786
|
+
const byItem = rows(`SELECT project || '|' || upper(item) AS key, ${sum} AS tokens FROM spend GROUP BY project, upper(item)`);
|
|
787
|
+
const byProject = rows(`SELECT project AS key, ${sum} AS tokens FROM spend WHERE day = ? GROUP BY project`, day);
|
|
788
|
+
return {
|
|
789
|
+
byItem: new Map(byItem.map((r) => [r.key, r.tokens])),
|
|
790
|
+
byProjectToday: new Map(byProject.map((r) => [r.key, r.tokens])),
|
|
791
|
+
byWorker: new Map(byWorker.map((r) => [Number(r.key), r.tokens])),
|
|
792
|
+
today: byProject.reduce((n, r) => n + r.tokens, 0),
|
|
793
|
+
};
|
|
794
|
+
},
|
|
556
795
|
tables: () => db
|
|
557
796
|
.prepare("SELECT name FROM sqlite_schema WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name")
|
|
558
797
|
.all()
|
|
@@ -606,12 +845,23 @@ export function openStore(file, now = () => new Date()) {
|
|
|
606
845
|
return { created: !existing, project };
|
|
607
846
|
},
|
|
608
847
|
waitsOf: (worker) => db.prepare('SELECT * FROM waits WHERE worker = ? AND delivered_at IS NULL ORDER BY id').all(worker).map(toWait),
|
|
848
|
+
waitsRegisteredBetween: (since, until) => db
|
|
849
|
+
.prepare(`SELECT w.*, k.item, k.probe, k.project FROM waits w JOIN workers k ON k.id = w.worker
|
|
850
|
+
WHERE w.created_at >= ? AND w.created_at < ? ORDER BY w.id`)
|
|
851
|
+
.all(since, until)
|
|
852
|
+
.map((row) => {
|
|
853
|
+
const r = z.looseObject({ item: z.string(), probe: z.number(), project: z.string() }).parse(row);
|
|
854
|
+
return { ...toWait(row), item: r.item, probe: r.probe === 1, project: r.project };
|
|
855
|
+
}),
|
|
609
856
|
workerEvents: (worker, limit = 20) => db
|
|
610
857
|
.prepare("SELECT * FROM events WHERE json_extract(data, '$.worker') = ? ORDER BY id DESC LIMIT ?")
|
|
611
858
|
.all(worker, limit)
|
|
612
859
|
.map((row) => eventRow.parse(row)),
|
|
613
|
-
|
|
614
|
-
|
|
860
|
+
// A worker gone before `since` was last updated then (failing or exiting is its last change).
|
|
861
|
+
workersBetween: (since, until) => db
|
|
862
|
+
.prepare(`SELECT * FROM workers WHERE created_at < ? AND (status IN (SELECT value FROM json_each(?)) OR updated_at >= ?) ORDER BY id`)
|
|
863
|
+
.all(until, JSON.stringify(ACTIVE_STATUSES), since)
|
|
864
|
+
.map(toWorker),
|
|
615
865
|
};
|
|
616
866
|
}
|
|
617
867
|
// The daemon and a CLI running without it can open a new database at the same moment, so the
|
|
@@ -687,7 +937,11 @@ function toNotifyState(row) {
|
|
|
687
937
|
}
|
|
688
938
|
function toOverride(row) {
|
|
689
939
|
const r = overrideRow.parse(row);
|
|
690
|
-
return { createdAt: r.created_at, id: r.id, kind: r.kind, project: r.project, until: r.until, value: r.value };
|
|
940
|
+
return { createdAt: r.created_at, id: r.id, kind: r.kind, project: r.project, setBy: r.set_by, until: r.until, value: r.value };
|
|
941
|
+
}
|
|
942
|
+
function toPorts(row) {
|
|
943
|
+
const r = portsRow.parse(row);
|
|
944
|
+
return { assignedAt: r.assigned_at, ports: z.record(z.string(), z.number()).parse(JSON.parse(r.ports)), project: r.project, slot: r.slot, worktree: r.worktree };
|
|
691
945
|
}
|
|
692
946
|
function toWait(row) {
|
|
693
947
|
const r = waitRow.parse(row);
|
package/build/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Each tracker seam, sent to the adapter of the item's project's tracker kind (Linear without a
|
|
2
|
+
// profile, as before there were others).
|
|
3
|
+
export function routedBriefs(byKind) {
|
|
4
|
+
return { read: (item, profile) => byKind[profile.tracker.kind].read(item, profile) };
|
|
5
|
+
}
|
|
6
|
+
export function routedLabels(byKind) {
|
|
7
|
+
return { label: (item, label, op, profile) => byKind[profile?.tracker.kind ?? 'linear'].label(item, label, op, profile) };
|
|
8
|
+
}
|
|
9
|
+
export function routedNotes(byKind) {
|
|
10
|
+
return { comment: (item, body, profile) => byKind[profile?.tracker.kind ?? 'linear'].comment(item, body, profile) };
|
|
11
|
+
}
|
|
12
|
+
export function routedQueue(byKind) {
|
|
13
|
+
return { read: (profile, inFlight, budget) => byKind[profile.tracker.kind].read(profile, inFlight, budget) };
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=trackers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackers.js","sourceRoot":"","sources":["../src/trackers.ts"],"names":[],"mappings":"AAMA,gGAAgG;AAChG,yCAAyC;AAEzC,MAAM,UAAU,YAAY,CAAC,MAAkD;IAC7E,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAmD;IAC9E,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;AAC5H,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAkD;IAC5E,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;AACtH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAkD;IAC5E,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;AAC/G,CAAC"}
|
package/build/upgrade.js
CHANGED
|
@@ -23,6 +23,22 @@ export function parseTag(tag) {
|
|
|
23
23
|
return known;
|
|
24
24
|
throw new ConductorError(`--tag takes ${TAGS.join(' or ')}, not "${tag}"`);
|
|
25
25
|
}
|
|
26
|
+
// Starts the daemon detached and says how: through the logon task when it runs this cli.js, else
|
|
27
|
+
// as a detached `conduct serve`. For upgrade's restart and `conduct start`.
|
|
28
|
+
export async function restartDaemon(deps) {
|
|
29
|
+
if (deps.taskRunsCli()) {
|
|
30
|
+
try {
|
|
31
|
+
deps.runTask();
|
|
32
|
+
return `through the "${TASK_NAME}" logon task (pid ${await deps.awaitDaemon()})`;
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// The task ignores a run while its last instance is still ending (MultipleInstances
|
|
36
|
+
// IgnoreNew), and still exits 0, so a daemon that doesn't answer is started directly.
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
deps.serveDetached();
|
|
40
|
+
return `with conduct serve (pid ${await deps.awaitDaemon()})`;
|
|
41
|
+
}
|
|
26
42
|
// Stop, install, restart. Refuses a linked build, and a tag older than the installed version unless
|
|
27
43
|
// allowDowngrade, before it touches anything; does nothing when the tag's version is already
|
|
28
44
|
// installed, and starts the daemon again only if it stopped one: through the logon task when that
|
|
@@ -88,18 +104,4 @@ export async function upgrade({ allowDowngrade = false, tag }, deps) {
|
|
|
88
104
|
function messageOf(error) {
|
|
89
105
|
return error instanceof Error ? error.message : String(error);
|
|
90
106
|
}
|
|
91
|
-
async function restartDaemon(deps) {
|
|
92
|
-
if (deps.taskRunsCli()) {
|
|
93
|
-
try {
|
|
94
|
-
deps.runTask();
|
|
95
|
-
return `through the "${TASK_NAME}" logon task (pid ${await deps.awaitDaemon()})`;
|
|
96
|
-
}
|
|
97
|
-
catch {
|
|
98
|
-
// The task ignores a run while its last instance is still ending (MultipleInstances
|
|
99
|
-
// IgnoreNew), and still exits 0, so a daemon that doesn't answer is started directly.
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
deps.serveDetached();
|
|
103
|
-
return `with conduct serve (pid ${await deps.awaitDaemon()})`;
|
|
104
|
-
}
|
|
105
107
|
//# sourceMappingURL=upgrade.js.map
|