aibroker 0.35.2 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/core/hybrid.d.ts.map +1 -1
  2. package/dist/core/hybrid.js +6 -0
  3. package/dist/core/hybrid.js.map +1 -1
  4. package/dist/daemon/cli.js +78 -0
  5. package/dist/daemon/cli.js.map +1 -1
  6. package/dist/daemon/core-handlers.d.ts.map +1 -1
  7. package/dist/daemon/core-handlers.js +66 -1
  8. package/dist/daemon/core-handlers.js.map +1 -1
  9. package/dist/daemon/index.d.ts.map +1 -1
  10. package/dist/daemon/index.js +13 -0
  11. package/dist/daemon/index.js.map +1 -1
  12. package/dist/daemon/machine.d.ts +63 -0
  13. package/dist/daemon/machine.d.ts.map +1 -0
  14. package/dist/daemon/machine.js +153 -0
  15. package/dist/daemon/machine.js.map +1 -0
  16. package/dist/daemon/manage.d.ts +77 -0
  17. package/dist/daemon/manage.d.ts.map +1 -0
  18. package/dist/daemon/manage.js +942 -0
  19. package/dist/daemon/manage.js.map +1 -0
  20. package/dist/daemon/peer-cli.d.ts +9 -0
  21. package/dist/daemon/peer-cli.d.ts.map +1 -0
  22. package/dist/daemon/peer-cli.js +164 -0
  23. package/dist/daemon/peer-cli.js.map +1 -0
  24. package/dist/daemon/peer-handlers.d.ts +35 -0
  25. package/dist/daemon/peer-handlers.d.ts.map +1 -0
  26. package/dist/daemon/peer-handlers.js +165 -0
  27. package/dist/daemon/peer-handlers.js.map +1 -0
  28. package/dist/daemon/standup.d.ts +69 -0
  29. package/dist/daemon/standup.d.ts.map +1 -0
  30. package/dist/daemon/standup.js +141 -0
  31. package/dist/daemon/standup.js.map +1 -0
  32. package/dist/ipc/peering.d.ts +103 -0
  33. package/dist/ipc/peering.d.ts.map +1 -0
  34. package/dist/ipc/peering.js +185 -0
  35. package/dist/ipc/peering.js.map +1 -0
  36. package/dist/ipc/server.d.ts +16 -0
  37. package/dist/ipc/server.d.ts.map +1 -1
  38. package/dist/ipc/server.js +76 -0
  39. package/dist/ipc/server.js.map +1 -1
  40. package/dist/mcp/index.js +45 -0
  41. package/dist/mcp/index.js.map +1 -1
  42. package/hooks/manage-hook.mjs +204 -0
  43. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage.js","sourceRoot":"","sources":["../../src/daemon/manage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * daemon/peer-cli.ts — pairing machines, and seeing the fleet.
3
+ *
4
+ * Two commands to pair, one to look. Pairing that takes four values typed into
5
+ * two machines gets done wrong at least once, and the wrong one is usually the
6
+ * secret, which fails in a way that looks like a network problem.
7
+ */
8
+ export declare function runPeer(args: string[]): Promise<void>;
9
+ //# sourceMappingURL=peer-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer-cli.d.ts","sourceRoot":"","sources":["../../src/daemon/peer-cli.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkCH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoI3D"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * daemon/peer-cli.ts — pairing machines, and seeing the fleet.
3
+ *
4
+ * Two commands to pair, one to look. Pairing that takes four values typed into
5
+ * two machines gets done wrong at least once, and the wrong one is usually the
6
+ * secret, which fails in a way that looks like a network problem.
7
+ */
8
+ import { WatcherClient } from "../ipc/client.js";
9
+ import { DAEMON_SOCKET_PATH } from "./index.js";
10
+ function client() {
11
+ return new WatcherClient(DAEMON_SOCKET_PATH);
12
+ }
13
+ /**
14
+ * Call the local daemon, and distinguish "it is not there" from "it said no".
15
+ *
16
+ * The first version reported every failure as "the local daemon did not
17
+ * answer", so a deliberate refusal — refusing to bind a wildcard address, for
18
+ * instance — was presented as the daemon being down. That sends the reader to
19
+ * check whether the service is running when the service is working correctly
20
+ * and telling them something important. A transport failure and a considered
21
+ * answer are different events and must not share a sentence.
22
+ */
23
+ async function call(method, params) {
24
+ try {
25
+ return await client().call_raw(method, params);
26
+ }
27
+ catch (e) {
28
+ const msg = e.message ?? String(e);
29
+ const notRunning = /ENOENT|ECONNREFUSED|socket|not running/i.test(msg);
30
+ console.error(notRunning
31
+ ? `the local daemon is not answering on its socket: ${msg}`
32
+ : msg);
33
+ process.exit(1);
34
+ }
35
+ }
36
+ export async function runPeer(args) {
37
+ const [sub, ...rest] = args;
38
+ switch (sub) {
39
+ case "invite": {
40
+ // The address is required and deliberately has no default. Guessing one
41
+ // means opening a port somewhere nobody chose.
42
+ const host = rest.find((a) => !a.startsWith("--"));
43
+ const portArg = rest[rest.indexOf("--port") + 1];
44
+ const nameArg = rest[rest.indexOf("--as") + 1];
45
+ if (!host) {
46
+ console.log("usage: aibroker peer invite <address-others-reach-me-on> [--port N] [--as name]");
47
+ console.log();
48
+ console.log("The address is the one the OTHER machine will dial. On a Tailscale network");
49
+ console.log("that is this machine's Tailscale address; for a local VM it is the address");
50
+ console.log("the guest sees the host as. There is no default on purpose.");
51
+ process.exit(1);
52
+ }
53
+ const r = await call("peer", {
54
+ action: "invite",
55
+ host,
56
+ port: rest.includes("--port") ? Number(portArg) : undefined,
57
+ name: rest.includes("--as") ? nameArg : undefined,
58
+ });
59
+ console.log(r.message ?? JSON.stringify(r));
60
+ break;
61
+ }
62
+ case "join": {
63
+ const invite = rest.join(" ").trim();
64
+ if (!invite) {
65
+ console.log("usage: aibroker peer join <the line the other machine printed>");
66
+ process.exit(1);
67
+ }
68
+ const r = await call("peer", { action: "join", invite });
69
+ console.log(r.message ?? JSON.stringify(r));
70
+ break;
71
+ }
72
+ case "forget": {
73
+ const name = rest[0];
74
+ if (!name) {
75
+ console.log("usage: aibroker peer forget <name>");
76
+ process.exit(1);
77
+ }
78
+ const r = await call("peer", { action: "forget", name });
79
+ console.log(r.message ?? JSON.stringify(r));
80
+ break;
81
+ }
82
+ case "list":
83
+ case undefined: {
84
+ const r = await call("peer", { action: "list" });
85
+ console.log(r.listening ? `this hub accepts peers on ${r.listening}` : "this hub accepts no peers (no listener configured)");
86
+ if (!r.peers?.length) {
87
+ console.log("no machines paired. `aibroker peer invite <address>` on one, then `join` on the other.");
88
+ break;
89
+ }
90
+ console.log();
91
+ for (const p of r.peers) {
92
+ console.log(` ${p.reachable ? "●" : "○"} ${p.name.padEnd(14)} ${p.address}${p.reachable ? "" : ` — ${p.detail}`}`);
93
+ }
94
+ break;
95
+ }
96
+ /**
97
+ * fleet — every machine, what it can do, and where its work stands.
98
+ *
99
+ * The question a lead actually asks is not "is the network up" but "who is
100
+ * free, who can compile this, and is anybody's branch ready to look at".
101
+ * One command, because a status that takes three commands to assemble is a
102
+ * status nobody assembles.
103
+ */
104
+ case "fleet": {
105
+ const { loadPeering, peerCall } = await import("../ipc/peering.js");
106
+ const { machineFacts, branchState } = await import("./machine.js");
107
+ const repo = rest.find((a) => !a.startsWith("--"));
108
+ const here = machineFacts();
109
+ const show = (label, m, checkout) => {
110
+ const caps = [
111
+ m.canDriveScreen ? "screen" : "headless",
112
+ `${m.cpus}cpu`,
113
+ `${m.memoryGb}GB`,
114
+ ...(m.has ?? []),
115
+ ].join(" · ");
116
+ console.log(` ${label.padEnd(16)} ${caps}`);
117
+ if (checkout?.branch) {
118
+ const bits = [
119
+ `on ${checkout.branch}`,
120
+ checkout.head ? `at ${checkout.head}` : null,
121
+ checkout.dirty ? `${checkout.dirty} uncommitted` : "clean",
122
+ checkout.ahead ? `${checkout.ahead} ahead` : null,
123
+ checkout.behind ? `${checkout.behind} behind` : null,
124
+ ].filter(Boolean);
125
+ console.log(` ${" ".repeat(16)} ${bits.join(" · ")}`);
126
+ }
127
+ else if (checkout?.error) {
128
+ console.log(` ${" ".repeat(16)} ${checkout.error}`);
129
+ }
130
+ };
131
+ console.log("this machine");
132
+ show(here.name, here, repo ? branchState(repo) : undefined);
133
+ const { peers } = loadPeering();
134
+ if (!peers.length)
135
+ return;
136
+ console.log("\npaired machines");
137
+ for (const p of peers) {
138
+ const r = await peerCall(p, "where", repo ? { repo } : {});
139
+ if (!r.ok) {
140
+ console.log(` ${p.name.padEnd(16)} unreachable — ${r.error}`);
141
+ continue;
142
+ }
143
+ show(p.name, r.result.machine, r.result.checkout);
144
+ }
145
+ break;
146
+ }
147
+ case "standup": {
148
+ const { collectStandup, renderStandup } = await import("./standup.js");
149
+ const repo = rest.find((a) => !a.startsWith("--"));
150
+ console.log(renderStandup(await collectStandup(repo)));
151
+ break;
152
+ }
153
+ default:
154
+ console.log("aibroker peer <invite|join|list|forget|fleet|standup>");
155
+ console.log();
156
+ console.log(" invite <address> on the machine to be reached; prints one line to copy");
157
+ console.log(" join <line> on the other machine; pastes it and proves it works");
158
+ console.log(" list who is paired, and reachable right now");
159
+ console.log(" forget <name> unpair one");
160
+ console.log(" fleet [repo] every machine: what it can do, and where its branch is");
161
+ console.log(" standup [repo] what moved, what is moving, what is blocked");
162
+ }
163
+ }
164
+ //# sourceMappingURL=peer-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer-cli.js","sourceRoot":"","sources":["../../src/daemon/peer-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * daemon/peer-handlers.ts — pairing, and reaching sessions on another machine.
3
+ *
4
+ * The whole cross-machine surface is four verbs a person types once and then
5
+ * forgets: invite, join, list, forget. Everything after that is ordinary — a
6
+ * session on the guest appears in listings as `guest/CaseLeaf` and takes
7
+ * messages like any other, because the alternative is every call site growing a
8
+ * branch for "unless it is remote", and branches like that are never added
9
+ * everywhere they are needed.
10
+ */
11
+ import type { IpcServer } from "../ipc/server.js";
12
+ /**
13
+ * Sessions on every paired hub, named `peer/session`.
14
+ *
15
+ * Best effort by design: a peer that is asleep, rebuilding or simply switched
16
+ * off must not stop the local list being returned. An unreachable peer is
17
+ * reported as unreachable rather than omitted, because a machine silently
18
+ * missing from a list is indistinguishable from a machine with no sessions —
19
+ * and those want opposite reactions.
20
+ */
21
+ export declare function remoteSessions(): Promise<{
22
+ sessions: Array<Record<string, unknown>>;
23
+ unreachable: Array<{
24
+ peer: string;
25
+ why: string;
26
+ }>;
27
+ }>;
28
+ /** Forward a call to whichever peer owns the addressed session. */
29
+ export declare function forwardToPeer(target: string, method: string, params: Record<string, unknown>): Promise<{
30
+ ok: boolean;
31
+ result?: any;
32
+ error?: string;
33
+ } | null>;
34
+ export declare function registerPeerHandlers(server: IpcServer): void;
35
+ //# sourceMappingURL=peer-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer-handlers.d.ts","sourceRoot":"","sources":["../../src/daemon/peer-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAclD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC;IAC9C,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzC,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD,CAAC,CA2BD;AAED,mEAAmE;AACnE,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAO/D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2H5D"}
@@ -0,0 +1,165 @@
1
+ /**
2
+ * daemon/peer-handlers.ts — pairing, and reaching sessions on another machine.
3
+ *
4
+ * The whole cross-machine surface is four verbs a person types once and then
5
+ * forgets: invite, join, list, forget. Everything after that is ordinary — a
6
+ * session on the guest appears in listings as `guest/CaseLeaf` and takes
7
+ * messages like any other, because the alternative is every call site growing a
8
+ * branch for "unless it is remote", and branches like that are never added
9
+ * everywhere they are needed.
10
+ */
11
+ import { log } from "../core/log.js";
12
+ import { loadPeering, savePeering, newToken, makeInvite, readInvite, peerCall, rejectWildcard, splitRemote, } from "../ipc/peering.js";
13
+ /**
14
+ * Sessions on every paired hub, named `peer/session`.
15
+ *
16
+ * Best effort by design: a peer that is asleep, rebuilding or simply switched
17
+ * off must not stop the local list being returned. An unreachable peer is
18
+ * reported as unreachable rather than omitted, because a machine silently
19
+ * missing from a list is indistinguishable from a machine with no sessions —
20
+ * and those want opposite reactions.
21
+ */
22
+ export async function remoteSessions() {
23
+ const { peers } = loadPeering();
24
+ const sessions = [];
25
+ const unreachable = [];
26
+ await Promise.all(peers.map(async (p) => {
27
+ const r = await peerCall(p, "sessions", {});
28
+ if (!r.ok) {
29
+ unreachable.push({ peer: p.name, why: r.error ?? "unknown" });
30
+ return;
31
+ }
32
+ for (const s of r.result?.sessions ?? []) {
33
+ sessions.push({
34
+ ...s,
35
+ // Qualified on the way in, so nothing downstream has to know the
36
+ // difference and two machines may hold a session of the same name.
37
+ name: `${p.name}/${s.paiName ?? s.name}`,
38
+ paiName: `${p.name}/${s.paiName ?? s.name}`,
39
+ peer: p.name,
40
+ remote: true,
41
+ });
42
+ }
43
+ }));
44
+ return { sessions, unreachable };
45
+ }
46
+ /** Forward a call to whichever peer owns the addressed session. */
47
+ export async function forwardToPeer(target, method, params) {
48
+ const split = splitRemote(target);
49
+ if (!split)
50
+ return null;
51
+ const peer = loadPeering().peers.find((p) => p.name.toLowerCase() === split.peer.toLowerCase());
52
+ if (!peer)
53
+ return null;
54
+ // The peer knows the session by its bare name; the prefix was ours.
55
+ return peerCall(peer, method, { ...params, target: split.session, session: split.session });
56
+ }
57
+ export function registerPeerHandlers(server) {
58
+ /**
59
+ * peer — the entire pairing surface.
60
+ *
61
+ * invite on the machine that will be reached, prints one line to copy
62
+ * join on the other machine, paste that line
63
+ * list who is paired, and can each be reached right now
64
+ * forget remove one
65
+ */
66
+ server.on("peer", async (req) => {
67
+ const { action, host, port, invite, name } = req.params;
68
+ const cfg = loadPeering();
69
+ switch (action) {
70
+ case "invite": {
71
+ if (!host) {
72
+ return {
73
+ ok: false,
74
+ error: "an address is required: the one this machine should be reached on. " +
75
+ "Use its Tailscale address, or the address the other machine sees it as. " +
76
+ "There is deliberately no default — a guess here is a port open somewhere unintended.",
77
+ };
78
+ }
79
+ const refusal = rejectWildcard(host);
80
+ if (refusal)
81
+ return { ok: false, error: refusal };
82
+ // Reuse the existing secret if there is one, so inviting a second
83
+ // machine does not silently lock out the first.
84
+ const token = cfg.listen?.token ?? newToken();
85
+ const p = port ?? cfg.listen?.port ?? 8770;
86
+ cfg.listen = { host, port: p, token };
87
+ savePeering(cfg);
88
+ const me = name ?? "host";
89
+ log(`[peer] invite issued for ${host}:${p} as "${me}" — listener starts on next daemon restart`);
90
+ return {
91
+ ok: true,
92
+ result: {
93
+ invite: makeInvite(me, host, p, token),
94
+ message: `Paste this on the other machine:\n\n aibroker peer join ${makeInvite(me, host, p, token)}\n\n` +
95
+ `Then restart this daemon so the listener comes up on ${host}:${p}.\n` +
96
+ `Anyone holding that line can type into this machine's terminals — treat it like a password.`,
97
+ },
98
+ };
99
+ }
100
+ case "join": {
101
+ if (!invite)
102
+ return { ok: false, error: "paste the whole line the other machine printed" };
103
+ let inv;
104
+ try {
105
+ inv = readInvite(invite);
106
+ }
107
+ catch (e) {
108
+ return { ok: false, error: e.message };
109
+ }
110
+ const rec = { name: inv.name, host: inv.host, port: inv.port, token: inv.token };
111
+ // Prove it works now rather than at three in the morning. A pairing that
112
+ // is only discovered to be broken when something depends on it is worse
113
+ // than one that refuses at the moment somebody is watching.
114
+ const probe = await peerCall(rec, "ping", {}, 8_000);
115
+ if (!probe.ok) {
116
+ return {
117
+ ok: false,
118
+ error: `paired nothing: ${probe.error}\n` +
119
+ `The invite was readable, so the address or the listener is the problem. ` +
120
+ `Check the other machine's daemon has been restarted since its invite was issued.`,
121
+ };
122
+ }
123
+ cfg.peers = [...cfg.peers.filter((p) => p.name !== rec.name), { ...rec, lastSeenAt: Date.now() }];
124
+ savePeering(cfg);
125
+ log(`[peer] joined "${rec.name}" at ${rec.host}:${rec.port}`);
126
+ return {
127
+ ok: true,
128
+ result: {
129
+ message: `paired with "${rec.name}" and reached it. Its sessions appear as ${rec.name}/<name>.`,
130
+ },
131
+ };
132
+ }
133
+ case "list": {
134
+ const rows = await Promise.all(cfg.peers.map(async (p) => {
135
+ const r = await peerCall(p, "ping", {}, 6_000);
136
+ return { name: p.name, address: `${p.host}:${p.port}`, reachable: r.ok, detail: r.ok ? "" : r.error };
137
+ }));
138
+ return {
139
+ ok: true,
140
+ result: {
141
+ listening: cfg.listen ? `${cfg.listen.host}:${cfg.listen.port}` : null,
142
+ peers: rows,
143
+ },
144
+ };
145
+ }
146
+ case "forget": {
147
+ if (!name)
148
+ return { ok: false, error: "which one? give the peer's name" };
149
+ const before = cfg.peers.length;
150
+ cfg.peers = cfg.peers.filter((p) => p.name.toLowerCase() !== name.toLowerCase());
151
+ savePeering(cfg);
152
+ return {
153
+ ok: true,
154
+ result: { message: before === cfg.peers.length ? `no peer called "${name}"` : `forgot "${name}"` },
155
+ };
156
+ }
157
+ default:
158
+ return {
159
+ ok: false,
160
+ error: "peer <invite|join|list|forget>",
161
+ };
162
+ }
163
+ });
164
+ }
165
+ //# sourceMappingURL=peer-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer-handlers.js","sourceRoot":"","sources":["../../src/daemon/peer-handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * daemon/standup.ts — what everyone did, is doing, and is stuck on.
3
+ *
4
+ * THE OLDEST MEETING IN SOFTWARE, and it survives because it answers the three
5
+ * questions a lead cannot get from a repository: what moved, what is moving,
6
+ * and what is blocked. Two of those are already visible here — the objective a
7
+ * machine is working to, and the state of its branch. The third is the one that
8
+ * needs the agent to say something, so the standup asks for it rather than
9
+ * inferring it, exactly as it would of a person.
10
+ *
11
+ * WHY IT IS NOT A MEETING. Nobody attends. It is assembled on a schedule and
12
+ * delivered wherever the lead is — phone, terminal, task list — because the
13
+ * whole reason for giving each developer their own machine was that the lead
14
+ * stopped having to sit and watch. A standup that requires attendance would put
15
+ * that back.
16
+ *
17
+ * WHAT IT DELIBERATELY DOES NOT DO. It does not decide anything. No agent is
18
+ * appointed to run it, chase people or reprioritise. The scrum master's job
19
+ * splits cleanly in two: the process half is a schedule and a template, which is
20
+ * this file; the judgement half is deciding what matters when two things
21
+ * conflict, which stays with the person. Automating the first is a saving.
22
+ * Automating the second recreates the supervisor problem this whole design
23
+ * exists to remove — an agent watching agents, costing a context, becoming the
24
+ * bottleneck it was meant to relieve.
25
+ */
26
+ export interface StandupEntry {
27
+ machine: string;
28
+ reachable: boolean;
29
+ /** What it was told to work on. */
30
+ objective?: string;
31
+ /** What it appears to be doing right now. */
32
+ doing?: string;
33
+ branch?: string;
34
+ head?: string;
35
+ dirty?: number;
36
+ ahead?: number;
37
+ behind?: number;
38
+ /** Anything it could not do, in its own words. */
39
+ blocked?: string;
40
+ detail?: string;
41
+ }
42
+ /**
43
+ * Collect from every machine, including this one.
44
+ *
45
+ * An unreachable machine is REPORTED as unreachable rather than dropped. A
46
+ * developer missing from a standup and a developer with nothing to say look
47
+ * identical in a list that omits them, and they want opposite reactions — one
48
+ * needs chasing, the other does not.
49
+ */
50
+ export declare function collectStandup(repo?: string): Promise<StandupEntry[]>;
51
+ /**
52
+ * The report, in the shape a person reads at a glance.
53
+ *
54
+ * Ordered by what needs attention rather than by machine name: anything
55
+ * unreachable or blocked first, then work ready to look at, then the rest. A
56
+ * list sorted alphabetically makes the reader do the triage that the report
57
+ * exists to save them.
58
+ */
59
+ export declare function renderStandup(rows: StandupEntry[]): string;
60
+ /**
61
+ * Run it on a schedule and deliver it.
62
+ *
63
+ * Off unless asked for. A report that arrives whether or not anybody wanted it
64
+ * teaches its reader to skip it, and a standup nobody reads is worse than none
65
+ * because it looks like oversight.
66
+ */
67
+ export declare function startStandup(everyMinutes: number, deliver: (text: string) => void, repo?: string): void;
68
+ export declare function stopStandup(): void;
69
+ //# sourceMappingURL=standup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standup.d.ts","sourceRoot":"","sources":["../../src/daemon/standup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgC3E;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,CAmC1D;AAID;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAavG;AAED,wBAAgB,WAAW,IAAI,IAAI,CAGlC"}