aibroker 0.35.2 → 0.37.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.
- package/dist/adapters/pailot/gateway.d.ts +12 -1
- package/dist/adapters/pailot/gateway.d.ts.map +1 -1
- package/dist/adapters/pailot/gateway.js +14 -3
- package/dist/adapters/pailot/gateway.js.map +1 -1
- package/dist/adapters/pailot/mqtt-broker.d.ts +12 -0
- package/dist/adapters/pailot/mqtt-broker.d.ts.map +1 -1
- package/dist/adapters/pailot/mqtt-broker.js +18 -0
- package/dist/adapters/pailot/mqtt-broker.js.map +1 -1
- package/dist/core/hybrid.d.ts.map +1 -1
- package/dist/core/hybrid.js +6 -0
- package/dist/core/hybrid.js.map +1 -1
- package/dist/daemon/cli.js +78 -0
- package/dist/daemon/cli.js.map +1 -1
- package/dist/daemon/core-handlers.d.ts.map +1 -1
- package/dist/daemon/core-handlers.js +66 -1
- package/dist/daemon/core-handlers.js.map +1 -1
- package/dist/daemon/dialogs.d.ts +37 -0
- package/dist/daemon/dialogs.d.ts.map +1 -0
- package/dist/daemon/dialogs.js +100 -0
- package/dist/daemon/dialogs.js.map +1 -0
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +13 -0
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/machine.d.ts +63 -0
- package/dist/daemon/machine.d.ts.map +1 -0
- package/dist/daemon/machine.js +153 -0
- package/dist/daemon/machine.js.map +1 -0
- package/dist/daemon/manage.d.ts +169 -0
- package/dist/daemon/manage.d.ts.map +1 -0
- package/dist/daemon/manage.js +1773 -0
- package/dist/daemon/manage.js.map +1 -0
- package/dist/daemon/peer-cli.d.ts +9 -0
- package/dist/daemon/peer-cli.d.ts.map +1 -0
- package/dist/daemon/peer-cli.js +164 -0
- package/dist/daemon/peer-cli.js.map +1 -0
- package/dist/daemon/peer-handlers.d.ts +35 -0
- package/dist/daemon/peer-handlers.d.ts.map +1 -0
- package/dist/daemon/peer-handlers.js +165 -0
- package/dist/daemon/peer-handlers.js.map +1 -0
- package/dist/daemon/standup.d.ts +69 -0
- package/dist/daemon/standup.d.ts.map +1 -0
- package/dist/daemon/standup.js +141 -0
- package/dist/daemon/standup.js.map +1 -0
- package/dist/ipc/peering.d.ts +103 -0
- package/dist/ipc/peering.d.ts.map +1 -0
- package/dist/ipc/peering.js +185 -0
- package/dist/ipc/peering.js.map +1 -0
- package/dist/ipc/server.d.ts +16 -0
- package/dist/ipc/server.d.ts.map +1 -1
- package/dist/ipc/server.js +76 -0
- package/dist/ipc/server.js.map +1 -1
- package/dist/mcp/index.js +45 -0
- package/dist/mcp/index.js.map +1 -1
- package/hooks/manage-hook.mjs +204 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgDH,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAyBvD,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgDH,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAyBvD,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsgBhB"}
|
package/dist/daemon/index.js
CHANGED
|
@@ -257,6 +257,12 @@ export async function startDaemon(options) {
|
|
|
257
257
|
// IPC server on the hub socket
|
|
258
258
|
const ipcServer = new IpcServer(socketPath);
|
|
259
259
|
registerCoreHandlers(ipcServer, adapterRegistry, apiBackend, manager);
|
|
260
|
+
// Cross-machine pairing. Registers the verbs; the listener itself only comes
|
|
261
|
+
// up if somebody has configured one, so this is inert on a lone machine.
|
|
262
|
+
{
|
|
263
|
+
const { registerPeerHandlers } = await import("./peer-handlers.js");
|
|
264
|
+
registerPeerHandlers(ipcServer);
|
|
265
|
+
}
|
|
260
266
|
ipcServer.start();
|
|
261
267
|
adapterRegistry.startHealthPolling();
|
|
262
268
|
// Todoist inbound channel. Enabled only when TODOIST_CLIENT_SECRET is set;
|
|
@@ -288,6 +294,13 @@ export async function startDaemon(options) {
|
|
|
288
294
|
const { startFunnelWatchdog } = await import("./funnel-watchdog.js");
|
|
289
295
|
startFunnelWatchdog();
|
|
290
296
|
}
|
|
297
|
+
// Managed sessions survive a daemon restart: the records are on disk, so a
|
|
298
|
+
// session being kept working does not quietly stop being kept working
|
|
299
|
+
// because the hub was restarted underneath it.
|
|
300
|
+
{
|
|
301
|
+
const { startManagerLoop } = await import("./manage.js");
|
|
302
|
+
startManagerLoop();
|
|
303
|
+
}
|
|
291
304
|
startTodoistWebhook({
|
|
292
305
|
deliver: async (project, body, opts) => {
|
|
293
306
|
const { dispatch } = await import("./dispatch.js");
|
package/dist/daemon/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* daemon/machine.ts — what this machine is, so work can be sent to the right one.
|
|
3
|
+
*
|
|
4
|
+
* THE MODEL. A fleet of machines running agents is not a distributed-systems
|
|
5
|
+
* problem, it is a team. Each machine is a developer with their own computer,
|
|
6
|
+
* their own checkout and their own branch; git is already the protocol for
|
|
7
|
+
* merging their work, and it was designed for exactly this — people who cannot
|
|
8
|
+
* see each other's screens, working in parallel, reconciling later. Nothing here
|
|
9
|
+
* tries to improve on that.
|
|
10
|
+
*
|
|
11
|
+
* What a team does need, and what a lone machine never did, is to know who can
|
|
12
|
+
* take which job. Sending a build to a machine without a compiler, or screen
|
|
13
|
+
* verification to one with no display, fails slowly and confusingly rather than
|
|
14
|
+
* immediately. So each hub says what it is, and the answer travels with every
|
|
15
|
+
* ping.
|
|
16
|
+
*
|
|
17
|
+
* DELIBERATELY DESCRIPTIVE, NOT PRESCRIPTIVE. This reports what is true of the
|
|
18
|
+
* machine; it does not enforce anything. A scheduler may ignore it. The failure
|
|
19
|
+
* of a capability list is always that it drifts from reality, so everything here
|
|
20
|
+
* is measured at the moment of asking rather than written into a config file
|
|
21
|
+
* somebody has to remember to update.
|
|
22
|
+
*/
|
|
23
|
+
export interface MachineFacts {
|
|
24
|
+
/** What a person calls this machine. */
|
|
25
|
+
name: string;
|
|
26
|
+
host: string;
|
|
27
|
+
os: string;
|
|
28
|
+
arch: string;
|
|
29
|
+
cpus: number;
|
|
30
|
+
memoryGb: number;
|
|
31
|
+
/** Can it drive a screen — is there a window server with a display attached. */
|
|
32
|
+
canDriveScreen: boolean;
|
|
33
|
+
/** Toolchains that are actually present, not ones somebody hoped for. */
|
|
34
|
+
has: string[];
|
|
35
|
+
/** Where this hub keeps checkouts, if it has been told. */
|
|
36
|
+
workRoot?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Facts about this machine, re-measured occasionally.
|
|
40
|
+
*
|
|
41
|
+
* Cached for a few minutes because probing toolchains costs several process
|
|
42
|
+
* launches and the answer rarely changes — but not cached forever, because
|
|
43
|
+
* "Xcode finished installing" is exactly the sort of change that should not
|
|
44
|
+
* require a daemon restart to become visible.
|
|
45
|
+
*/
|
|
46
|
+
export declare function machineFacts(): MachineFacts;
|
|
47
|
+
/**
|
|
48
|
+
* The state of a checkout, so a lead can ask "where are you" without asking.
|
|
49
|
+
*
|
|
50
|
+
* Reported rather than controlled. The whole point of giving each machine its
|
|
51
|
+
* own branch is that it works without permission; what the fleet needs back is
|
|
52
|
+
* enough to decide whether the work is ready to look at.
|
|
53
|
+
*/
|
|
54
|
+
export declare function branchState(repo: string): {
|
|
55
|
+
repo: string;
|
|
56
|
+
branch?: string;
|
|
57
|
+
head?: string;
|
|
58
|
+
dirty?: number;
|
|
59
|
+
ahead?: number;
|
|
60
|
+
behind?: number;
|
|
61
|
+
error?: string;
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=machine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../../src/daemon/machine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,cAAc,EAAE,OAAO,CAAC;IACxB,yEAAyE;IACzE,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAiED;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,YAAY,CAiB3C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,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,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAkCA"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* daemon/machine.ts — what this machine is, so work can be sent to the right one.
|
|
3
|
+
*
|
|
4
|
+
* THE MODEL. A fleet of machines running agents is not a distributed-systems
|
|
5
|
+
* problem, it is a team. Each machine is a developer with their own computer,
|
|
6
|
+
* their own checkout and their own branch; git is already the protocol for
|
|
7
|
+
* merging their work, and it was designed for exactly this — people who cannot
|
|
8
|
+
* see each other's screens, working in parallel, reconciling later. Nothing here
|
|
9
|
+
* tries to improve on that.
|
|
10
|
+
*
|
|
11
|
+
* What a team does need, and what a lone machine never did, is to know who can
|
|
12
|
+
* take which job. Sending a build to a machine without a compiler, or screen
|
|
13
|
+
* verification to one with no display, fails slowly and confusingly rather than
|
|
14
|
+
* immediately. So each hub says what it is, and the answer travels with every
|
|
15
|
+
* ping.
|
|
16
|
+
*
|
|
17
|
+
* DELIBERATELY DESCRIPTIVE, NOT PRESCRIPTIVE. This reports what is true of the
|
|
18
|
+
* machine; it does not enforce anything. A scheduler may ignore it. The failure
|
|
19
|
+
* of a capability list is always that it drifts from reality, so everything here
|
|
20
|
+
* is measured at the moment of asking rather than written into a config file
|
|
21
|
+
* somebody has to remember to update.
|
|
22
|
+
*/
|
|
23
|
+
import { execFileSync } from "node:child_process";
|
|
24
|
+
import { existsSync } from "node:fs";
|
|
25
|
+
import { hostname, totalmem, cpus, release } from "node:os";
|
|
26
|
+
function quiet(cmd, args) {
|
|
27
|
+
try {
|
|
28
|
+
return execFileSync(cmd, args, { encoding: "utf8", timeout: 4_000, stdio: ["ignore", "pipe", "ignore"] }).trim();
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Is there a usable screen here?
|
|
36
|
+
*
|
|
37
|
+
* A machine can be running, reachable and perfectly healthy while having no
|
|
38
|
+
* display at all — a headless server, or a VM whose window server never came
|
|
39
|
+
* up. Sending screen work there produces a long confusing failure rather than a
|
|
40
|
+
* short clear one, so it is worth one cheap question up front.
|
|
41
|
+
*/
|
|
42
|
+
function screenAvailable() {
|
|
43
|
+
if (process.platform === "darwin") {
|
|
44
|
+
const out = quiet("/usr/sbin/system_profiler", ["SPDisplaysDataType", "-detailLevel", "mini"]);
|
|
45
|
+
return !!out && /Resolution|Display Type|UI Looks like/i.test(out);
|
|
46
|
+
}
|
|
47
|
+
// On Linux the question is whether a display server is reachable, not whether
|
|
48
|
+
// hardware exists — a machine with a GPU and no session running is as unable
|
|
49
|
+
// to be driven as one with no GPU at all. Both protocols, because a Wayland
|
|
50
|
+
// desktop with no X compatibility has no DISPLAY and is still perfectly
|
|
51
|
+
// drivable by something that speaks Wayland.
|
|
52
|
+
return !!(process.env.WAYLAND_DISPLAY || process.env.DISPLAY);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Which toolchains are here, asked the same way on every platform.
|
|
56
|
+
*
|
|
57
|
+
* `env <tool> --version` rather than a hardcoded path, because a path is a
|
|
58
|
+
* guess about somebody's package manager: Homebrew, a distribution package and
|
|
59
|
+
* a Nix store put the same binary in three different places, and a probe that
|
|
60
|
+
* only knows one of them reports a machine as lacking a compiler it has.
|
|
61
|
+
*
|
|
62
|
+
* The macOS-only entries are asked only on macOS, so a Linux peer does not
|
|
63
|
+
* spend four process launches learning it has no Xcode.
|
|
64
|
+
*/
|
|
65
|
+
function toolchains() {
|
|
66
|
+
const has = (tool) => quiet("/usr/bin/env", [tool, "--version"]) !== null;
|
|
67
|
+
const found = [];
|
|
68
|
+
for (const t of ["node", "python3", "git", "docker", "tmux", "cargo", "go", "java"]) {
|
|
69
|
+
if (has(t))
|
|
70
|
+
found.push(t);
|
|
71
|
+
}
|
|
72
|
+
if (process.platform === "darwin") {
|
|
73
|
+
if (existsSync("/Applications/Xcode.app") || quiet("/usr/bin/xcodebuild", ["-version"]) !== null)
|
|
74
|
+
found.push("xcode");
|
|
75
|
+
if (has("swift"))
|
|
76
|
+
found.push("swift");
|
|
77
|
+
}
|
|
78
|
+
// A session transport is a capability like any other: without one, a machine
|
|
79
|
+
// can be paired and reachable and still have nowhere to put an agent. On
|
|
80
|
+
// Linux tmux IS the transport, so its absence is the thing worth knowing.
|
|
81
|
+
if (process.platform === "darwin")
|
|
82
|
+
found.push("iterm-or-tmux");
|
|
83
|
+
return found;
|
|
84
|
+
}
|
|
85
|
+
let cached = null;
|
|
86
|
+
/**
|
|
87
|
+
* Facts about this machine, re-measured occasionally.
|
|
88
|
+
*
|
|
89
|
+
* Cached for a few minutes because probing toolchains costs several process
|
|
90
|
+
* launches and the answer rarely changes — but not cached forever, because
|
|
91
|
+
* "Xcode finished installing" is exactly the sort of change that should not
|
|
92
|
+
* require a daemon restart to become visible.
|
|
93
|
+
*/
|
|
94
|
+
export function machineFacts() {
|
|
95
|
+
const FRESH_MS = 5 * 60_000;
|
|
96
|
+
if (cached && Date.now() - cached.at < FRESH_MS)
|
|
97
|
+
return cached.facts;
|
|
98
|
+
const facts = {
|
|
99
|
+
name: process.env.AIBROKER_MACHINE_NAME ?? hostname().replace(/\.local$/, ""),
|
|
100
|
+
host: hostname(),
|
|
101
|
+
os: `${process.platform} ${release()}`,
|
|
102
|
+
arch: process.arch,
|
|
103
|
+
cpus: cpus().length,
|
|
104
|
+
memoryGb: Math.round(totalmem() / 1024 / 1024 / 1024),
|
|
105
|
+
canDriveScreen: screenAvailable(),
|
|
106
|
+
has: toolchains(),
|
|
107
|
+
workRoot: process.env.AIBROKER_WORK_ROOT,
|
|
108
|
+
};
|
|
109
|
+
cached = { at: Date.now(), facts };
|
|
110
|
+
return facts;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* The state of a checkout, so a lead can ask "where are you" without asking.
|
|
114
|
+
*
|
|
115
|
+
* Reported rather than controlled. The whole point of giving each machine its
|
|
116
|
+
* own branch is that it works without permission; what the fleet needs back is
|
|
117
|
+
* enough to decide whether the work is ready to look at.
|
|
118
|
+
*/
|
|
119
|
+
export function branchState(repo) {
|
|
120
|
+
const git = (args) => {
|
|
121
|
+
try {
|
|
122
|
+
return execFileSync("/usr/bin/env", ["git", "-C", repo, ...args], {
|
|
123
|
+
encoding: "utf8",
|
|
124
|
+
timeout: 6_000,
|
|
125
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
126
|
+
}).trim();
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
if (!existsSync(repo))
|
|
133
|
+
return { repo, error: "no such directory here" };
|
|
134
|
+
const branch = git(["rev-parse", "--abbrev-ref", "HEAD"]);
|
|
135
|
+
if (branch === null)
|
|
136
|
+
return { repo, error: "not a git checkout" };
|
|
137
|
+
const head = git(["rev-parse", "--short", "HEAD"]) ?? undefined;
|
|
138
|
+
const status = git(["status", "--porcelain"]);
|
|
139
|
+
const dirty = status ? status.split("\n").filter(Boolean).length : 0;
|
|
140
|
+
// Ahead/behind only mean something with an upstream; absent is not an error,
|
|
141
|
+
// it is a branch nobody has pushed yet, which is the normal state of work in
|
|
142
|
+
// progress and should not be reported as a fault.
|
|
143
|
+
let ahead;
|
|
144
|
+
let behind;
|
|
145
|
+
const counts = git(["rev-list", "--left-right", "--count", "@{upstream}...HEAD"]);
|
|
146
|
+
if (counts) {
|
|
147
|
+
const [b, a] = counts.split(/\s+/).map((n) => Number(n));
|
|
148
|
+
behind = b;
|
|
149
|
+
ahead = a;
|
|
150
|
+
}
|
|
151
|
+
return { repo, branch, head, dirty, ahead, behind };
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=machine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machine.js","sourceRoot":"","sources":["../../src/daemon/machine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* daemon/manage.ts — keep a session working on a standing objective.
|
|
3
|
+
*
|
|
4
|
+
* THE PROBLEM THIS SOLVES. A session driven by a goal decides at the end of a
|
|
5
|
+
* cycle whether the goal was met, and then stops. Left alone it stops for the
|
|
6
|
+
* night; re-armed, it works for as long as you let it. Two nights of running
|
|
7
|
+
* that by hand produced sixteen hours of unattended work and a list of ways the
|
|
8
|
+
* arrangement breaks, all of which are answered here.
|
|
9
|
+
*
|
|
10
|
+
* WHY IT LIVES IN THE DAEMON RATHER THAN IN A SESSION. The first version was a
|
|
11
|
+
* script driven from another Claude session, which worked and cost that session
|
|
12
|
+
* its whole context — and worse, talking to the manager meant interrupting the
|
|
13
|
+
* manager, because observing occupied the same turn the instruction would have
|
|
14
|
+
* arrived on. An instrument that consumes the channel it is watched through
|
|
15
|
+
* cannot be redirected without being stopped. So: a process with a mailbox.
|
|
16
|
+
* Writing to a mailbox never requires the reader to be idle.
|
|
17
|
+
*
|
|
18
|
+
* WHAT IT DOES NOT DO. It does not judge the work. It re-arms an objective, it
|
|
19
|
+
* carries one-shot instructions from the operator into the next arming, and it
|
|
20
|
+
* says what it did. Everything requiring judgement stays with the person.
|
|
21
|
+
*/
|
|
22
|
+
export interface ManagedSession {
|
|
23
|
+
sessionId: string;
|
|
24
|
+
/** Human name at the time of starting, for logs only — sessions get renamed. */
|
|
25
|
+
name: string;
|
|
26
|
+
/** The standing objective, re-armed whenever it lapses. */
|
|
27
|
+
objective: string;
|
|
28
|
+
/** Operator instructions waiting to go out with the next arming. */
|
|
29
|
+
pending: string[];
|
|
30
|
+
/** Everything the manager has done, newest last, capped. */
|
|
31
|
+
history: {
|
|
32
|
+
at: string;
|
|
33
|
+
what: string;
|
|
34
|
+
}[];
|
|
35
|
+
lastRearmAt: number;
|
|
36
|
+
lastChangeAt: number;
|
|
37
|
+
lastHash: string;
|
|
38
|
+
paused: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* The file the session hands over in — a TEMPLATE, not a fixed path.
|
|
41
|
+
*
|
|
42
|
+
* `{date}`, `{yyyy}`, `{mm}` and `{dd}` are expanded when the file is used
|
|
43
|
+
* rather than when it is set, because a session that runs for days outlives
|
|
44
|
+
* the day it was started on. A literal date written into the path was right
|
|
45
|
+
* for one evening and then quietly wrong: the request kept naming yesterday's
|
|
46
|
+
* file, and the drift grows by a day every day.
|
|
47
|
+
*/
|
|
48
|
+
handoverFile?: string;
|
|
49
|
+
/** The path actually asked for, so a date rolling over mid-episode cannot
|
|
50
|
+
* make the change check compare two different files. */
|
|
51
|
+
handoverAskedPath?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Clear the session after the handover, rather than leaving it to compact.
|
|
54
|
+
* OFF unless asked for — see the rollover block for what changed this.
|
|
55
|
+
*/
|
|
56
|
+
clearAfterHandover?: boolean;
|
|
57
|
+
/** When a handover was last obtained, so it is not demanded every tick. */
|
|
58
|
+
handoverDoneAt?: number;
|
|
59
|
+
/** The context reading when it was obtained, so "how much work since" is
|
|
60
|
+
* answerable — a handover ages by work done, not by the clock. */
|
|
61
|
+
handoverDoneK?: number;
|
|
62
|
+
/** When a handover was asked for, so a silent session can be given up on. */
|
|
63
|
+
handoverAskedAt?: number;
|
|
64
|
+
/** What that file looked like when asked, so "changed" is measured not claimed. */
|
|
65
|
+
handoverWas?: string;
|
|
66
|
+
/** When a clear was typed, so it is never typed twice WITHIN one rollover. */
|
|
67
|
+
clearTypedAt?: number;
|
|
68
|
+
/**
|
|
69
|
+
* When a clear was typed that has never been seen to land — ACROSS rollovers.
|
|
70
|
+
*
|
|
71
|
+
* The per-rollover guard was not enough and the gap was ugly: a session whose
|
|
72
|
+
* context stays high keeps qualifying for rollover, so each new attempt typed
|
|
73
|
+
* its own clear, and a session in a turn long enough to execute none of them
|
|
74
|
+
* accumulated a queue of them. They would then all fire in sequence, the
|
|
75
|
+
* first against the session they were meant for and the rest against whatever
|
|
76
|
+
* fresh session had started since — which is the exact "wipe the session that
|
|
77
|
+
* just started" failure the single-clear rule existed to prevent, reached by
|
|
78
|
+
* going around it rather than through it.
|
|
79
|
+
*
|
|
80
|
+
* So the invariant is stronger than "one clear per rollover": at most one
|
|
81
|
+
* unconfirmed clear per session, ever, and no new rollover may begin while
|
|
82
|
+
* one is outstanding.
|
|
83
|
+
*/
|
|
84
|
+
clearPendingSince?: number;
|
|
85
|
+
/** Context before the clear, so "it landed" is measured against something. */
|
|
86
|
+
contextAtClear?: number;
|
|
87
|
+
/** The pane, so the process and thence the checkout can be found again. */
|
|
88
|
+
tty?: string;
|
|
89
|
+
/** Screen work forbidden — the operator has the machine. Survives re-arming. */
|
|
90
|
+
noScreen?: boolean;
|
|
91
|
+
/** When the current screen decision reverts by itself. A grant that only ends
|
|
92
|
+
* when somebody remembers to end it outlives the reason it was given for. */
|
|
93
|
+
handsUntil?: number;
|
|
94
|
+
/** Which state the timer was set in, so reverting means the opposite of it. */
|
|
95
|
+
handsWas?: boolean;
|
|
96
|
+
startedAt: number;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Is there text sitting unsent in the session's prompt?
|
|
100
|
+
*
|
|
101
|
+
* TYPING ON TOP OF IT DESTROYS IT. The manager pastes into the same input line
|
|
102
|
+
* a person types into, and it sends a backspace first to escape vi normal
|
|
103
|
+
* mode — so an objective armed over half-typed text eats a character of that
|
|
104
|
+
* text and then runs the two together as one prompt. The operator's sentence
|
|
105
|
+
* and the standing objective arrive merged and mangled, and neither does what
|
|
106
|
+
* it meant to.
|
|
107
|
+
*
|
|
108
|
+
* This never bit while nobody was at the keyboard, which is exactly the kind of
|
|
109
|
+
* assumption that holds until an operator sits down at seven in the morning and
|
|
110
|
+
* starts a sentence.
|
|
111
|
+
*
|
|
112
|
+
* The live input line is the one enclosed by the terminal's rules at the foot
|
|
113
|
+
* of the pane, not the `❯` lines further up — those are scrollback, commands
|
|
114
|
+
* that already ran. So the rule immediately above it is what identifies it.
|
|
115
|
+
*/
|
|
116
|
+
export declare function promptHasUnsentText(content: string): boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Expand the date tokens in a handover path, against the clock right now.
|
|
119
|
+
*
|
|
120
|
+
* Deliberately resolved at the moment of use. A managed session is meant to
|
|
121
|
+
* outlive the day it started on, so any date fixed at the moment the path was
|
|
122
|
+
* SET is a date that will be wrong by morning — and wrong in the quietest way,
|
|
123
|
+
* since the file it names still exists and still opens.
|
|
124
|
+
*
|
|
125
|
+
* Exported for the tests, which is also where the accepted tokens are pinned.
|
|
126
|
+
*/
|
|
127
|
+
export declare function resolveHandoverPath(template: string, at?: Date): string;
|
|
128
|
+
/**
|
|
129
|
+
* Resolve a session by whatever the caller knows — its id, or its name.
|
|
130
|
+
*
|
|
131
|
+
* The hook knows the working directory and the terminal session; a person
|
|
132
|
+
* knows the name. Both have to land on the same record.
|
|
133
|
+
*/
|
|
134
|
+
export declare function resolveSession(idOrName: string): {
|
|
135
|
+
sessionId: string;
|
|
136
|
+
name: string;
|
|
137
|
+
} | null;
|
|
138
|
+
/**
|
|
139
|
+
* Collapse text to a single line, for anything about to be TYPED at a prompt.
|
|
140
|
+
*
|
|
141
|
+
* At a prompt a newline is the submit key, so a multi-line objective does not
|
|
142
|
+
* arrive as a long goal — it arrives as a short one, followed by its own
|
|
143
|
+
* remainder as a second, contextless prompt, and the session acts on both. The
|
|
144
|
+
* damage is silent: what was sent looks right in the state file and wrong only
|
|
145
|
+
* on screen.
|
|
146
|
+
*
|
|
147
|
+
* Applied at the point text becomes keystrokes rather than at each point text
|
|
148
|
+
* is set, so it covers every route in — shell heredoc, MCP call, appended
|
|
149
|
+
* text, operator notes — including the ones added later.
|
|
150
|
+
*/
|
|
151
|
+
export declare function oneLine(text: string): string;
|
|
152
|
+
export declare function startManagerLoop(): void;
|
|
153
|
+
export interface ManageResult {
|
|
154
|
+
ok: boolean;
|
|
155
|
+
message: string;
|
|
156
|
+
managed?: boolean;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* The whole operator surface, in one call.
|
|
160
|
+
*
|
|
161
|
+
* `/manage <objective>` start managing this session with that objective
|
|
162
|
+
* `/manage <message>` once running, an instruction carried into the next arming
|
|
163
|
+
* `/manage` what is it doing
|
|
164
|
+
* `/manage off` stop
|
|
165
|
+
* `/manage pause|resume` stop arming without forgetting the objective
|
|
166
|
+
* `/manage now` arm immediately, whatever the signals say
|
|
167
|
+
*/
|
|
168
|
+
export declare function handleManage(sessionIdOrName: string, rawArg: string): Promise<ManageResult>;
|
|
169
|
+
//# sourceMappingURL=manage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manage.d.ts","sourceRoot":"","sources":["../../src/daemon/manage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAmLH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4DAA4D;IAC5D,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;6DACyD;IACzD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;uEACmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;kFAC8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAyLD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAa5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAE,IAAiB,GAAG,MAAM,CAUnF;AA6KD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAY3F;AA8PD;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAwjBD,wBAAgB,gBAAgB,IAAI,IAAI,CASvC;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA8ZjG"}
|