aibroker 0.41.1 → 0.42.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/daemon/manage.d.ts +54 -1
- package/dist/daemon/manage.d.ts.map +1 -1
- package/dist/daemon/manage.js +280 -11
- package/dist/daemon/manage.js.map +1 -1
- package/dist/daemon/pointer-controls.d.ts +108 -0
- package/dist/daemon/pointer-controls.d.ts.map +1 -0
- package/dist/daemon/pointer-controls.js +175 -0
- package/dist/daemon/pointer-controls.js.map +1 -0
- package/package.json +1 -1
package/dist/daemon/manage.d.ts
CHANGED
|
@@ -111,6 +111,33 @@ export interface ManagedSession {
|
|
|
111
111
|
repoRoot?: string;
|
|
112
112
|
/** Said once when the pane's checkout stopped matching the pinned one. */
|
|
113
113
|
repoDriftReported?: boolean;
|
|
114
|
+
/**
|
|
115
|
+
* When the CURRENT screen grant was made.
|
|
116
|
+
*
|
|
117
|
+
* Needed to tell two identical-looking states apart: a pointer grant that
|
|
118
|
+
* lapsed on its idle window, which is ours to renew, and the operator having
|
|
119
|
+
* taken the screen back, which is not. The discriminator is whether their
|
|
120
|
+
* hold started before or after the grant did.
|
|
121
|
+
*/
|
|
122
|
+
screenSince?: number;
|
|
123
|
+
/**
|
|
124
|
+
* Said once when the operator takes the screen back while a grant is open.
|
|
125
|
+
* Their machine, their call — but a session that silently stopped doing
|
|
126
|
+
* visual work looks exactly like one that is still doing it.
|
|
127
|
+
*/
|
|
128
|
+
screenStandOffReported?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Said once while the manager withholds the screen and the pointer tool would
|
|
131
|
+
* nonetheless allow a click — the two halves disagreeing.
|
|
132
|
+
*
|
|
133
|
+
* NOT resolved automatically, deliberately. The obvious move is for the
|
|
134
|
+
* manager to adopt the grant it finds, and that would quietly remove the
|
|
135
|
+
* protection the grant exists for: nothing in the file distinguishes a grant
|
|
136
|
+
* the operator made from one a session wrote for itself. So the manager keeps
|
|
137
|
+
* withholding and says so, which is the half of the problem it can fix —
|
|
138
|
+
* every hour this went unreported was an hour of visual work not done.
|
|
139
|
+
*/
|
|
140
|
+
screenDisagreementReported?: boolean;
|
|
114
141
|
/**
|
|
115
142
|
* A bounded stretch of autonomous work on the tracker's open issues.
|
|
116
143
|
*
|
|
@@ -218,6 +245,20 @@ export declare function foldHome(p: string, home?: string): string;
|
|
|
218
245
|
export declare function expandHome(p: string, home?: string): string;
|
|
219
246
|
/** Write the standing rules. Passing empty text removes them. */
|
|
220
247
|
export declare function writeStandingRules(text: string, path?: string): void;
|
|
248
|
+
/**
|
|
249
|
+
* `until 08:00` — an END, rather than a length.
|
|
250
|
+
*
|
|
251
|
+
* The two are not interchangeable in use, even though either can be converted
|
|
252
|
+
* into the other. A person deciding at midnight says "until eight" because
|
|
253
|
+
* eight is when they will be back; working out that this is seven and three
|
|
254
|
+
* quarter hours is arithmetic done at the exact moment somebody is too tired to
|
|
255
|
+
* do it, and a slip lands as a permission that ends in the dark.
|
|
256
|
+
*
|
|
257
|
+
* Reads the NEXT time the clock shows that hour, so "until 08:00" said at
|
|
258
|
+
* midnight means this morning and said at nine means tomorrow. Returns null
|
|
259
|
+
* when no such phrase is there, which is most of the time.
|
|
260
|
+
*/
|
|
261
|
+
export declare function parseUntilClock(text: string, now?: Date): number | null;
|
|
221
262
|
/**
|
|
222
263
|
* Read a shift request out of a sentence.
|
|
223
264
|
*
|
|
@@ -226,7 +267,7 @@ export declare function writeStandingRules(text: string, path?: string): void;
|
|
|
226
267
|
* controls, two workers at most" into an action, and the failure to avoid is a
|
|
227
268
|
* shift that silently lasts a different length than the one that was said.
|
|
228
269
|
*/
|
|
229
|
-
export declare function parseShift(text: string): {
|
|
270
|
+
export declare function parseShift(text: string, now?: Date): {
|
|
230
271
|
hours: number;
|
|
231
272
|
visual: boolean;
|
|
232
273
|
workers: number;
|
|
@@ -250,6 +291,18 @@ export declare function shiftObjective(): string;
|
|
|
250
291
|
* keystrokes.
|
|
251
292
|
*/
|
|
252
293
|
export declare function composeGoal(objective: string, rules: string, hands: string, extra: string, rulesPath?: string): string;
|
|
294
|
+
/**
|
|
295
|
+
* The screen grant the manager is currently holding open, if any.
|
|
296
|
+
*
|
|
297
|
+
* One place, because the operator can hand the screen over two ways — a shift,
|
|
298
|
+
* or `hands on for eight hours` — and a rule that only knew about one of them
|
|
299
|
+
* would silently not apply to the other. Both are the same fact: the screen is
|
|
300
|
+
* the session's until a stated moment.
|
|
301
|
+
*/
|
|
302
|
+
export declare function screenLease(m: ManagedSession, now: number): {
|
|
303
|
+
until: number;
|
|
304
|
+
since: number;
|
|
305
|
+
} | null;
|
|
253
306
|
export declare function startManagerLoop(): void;
|
|
254
307
|
export interface ManageResult {
|
|
255
308
|
ok: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manage.d.ts","sourceRoot":"","sources":["../../src/daemon/manage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;
|
|
1
|
+
{"version":3,"file":"manage.d.ts","sourceRoot":"","sources":["../../src/daemon/manage.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/manage.js
CHANGED
|
@@ -30,6 +30,7 @@ import { discoverLiveSessions } from "../core/session-discovery.js";
|
|
|
30
30
|
import { hasPailotClients } from "../adapters/pailot/gateway.js";
|
|
31
31
|
import { getAibpBridge } from "../core/state.js";
|
|
32
32
|
import { listDialogs, answerDialog } from "./dialogs.js";
|
|
33
|
+
import { readControls, grantUntil, returnToOperator, verdict as screenVerdict, describeControls, screenGrantedClause, } from "./pointer-controls.js";
|
|
33
34
|
const STATE_FILE = join(homedir(), ".aibroker", "managers.json");
|
|
34
35
|
/** How often every manager is looked at. Cheap: one content read per managed session. */
|
|
35
36
|
const TICK_MS = 20_000;
|
|
@@ -638,9 +639,30 @@ export function resolveSession(idOrName) {
|
|
|
638
639
|
if (byId)
|
|
639
640
|
return { sessionId: byId.id, name: byId.paiName ?? byId.name ?? id };
|
|
640
641
|
const needle = idOrName.toLowerCase();
|
|
641
|
-
const
|
|
642
|
-
|
|
643
|
-
|
|
642
|
+
const exact = (s) => (s.paiName ?? "").toLowerCase() === needle;
|
|
643
|
+
const loose = (s) => (s.name ?? "").toLowerCase().includes(needle);
|
|
644
|
+
/*
|
|
645
|
+
* A SESSION ALREADY UNDER MANAGEMENT WINS.
|
|
646
|
+
*
|
|
647
|
+
* The loose match is on the pane title, and pane titles are not unique: a
|
|
648
|
+
* plain shell opened in the project directory carries the project's name too.
|
|
649
|
+
* One appeared beside a managed session and was matched first — `status`
|
|
650
|
+
* answered "not being managed", which is true of that pane and says nothing
|
|
651
|
+
* about the session anybody meant. The next step would have been worse:
|
|
652
|
+
* arming types a goal at whatever was resolved, and a goal typed at a shell
|
|
653
|
+
* prompt runs as shell commands.
|
|
654
|
+
*
|
|
655
|
+
* Being managed is the strongest evidence available about which pane was
|
|
656
|
+
* meant, because somebody said so explicitly, by id, at some point.
|
|
657
|
+
*/
|
|
658
|
+
const managed = new Set(Object.keys(loadState()));
|
|
659
|
+
const candidates = live.filter((s) => exact(s) || loose(s));
|
|
660
|
+
const pick = candidates.find((s) => managed.has(s.id) && exact(s)) ??
|
|
661
|
+
candidates.find((s) => managed.has(s.id)) ??
|
|
662
|
+
candidates.find(exact) ??
|
|
663
|
+
candidates[0];
|
|
664
|
+
if (pick)
|
|
665
|
+
return { sessionId: pick.id, name: pick.paiName ?? pick.name ?? idOrName };
|
|
644
666
|
return null;
|
|
645
667
|
}
|
|
646
668
|
/**
|
|
@@ -1007,6 +1029,39 @@ export function writeStandingRules(text, path = RULES_FILE) {
|
|
|
1007
1029
|
* by a sentence does not walk back over it.
|
|
1008
1030
|
*/
|
|
1009
1031
|
const GOAL_MAX_CHARS = 3800;
|
|
1032
|
+
/**
|
|
1033
|
+
* `until 08:00` — an END, rather than a length.
|
|
1034
|
+
*
|
|
1035
|
+
* The two are not interchangeable in use, even though either can be converted
|
|
1036
|
+
* into the other. A person deciding at midnight says "until eight" because
|
|
1037
|
+
* eight is when they will be back; working out that this is seven and three
|
|
1038
|
+
* quarter hours is arithmetic done at the exact moment somebody is too tired to
|
|
1039
|
+
* do it, and a slip lands as a permission that ends in the dark.
|
|
1040
|
+
*
|
|
1041
|
+
* Reads the NEXT time the clock shows that hour, so "until 08:00" said at
|
|
1042
|
+
* midnight means this morning and said at nine means tomorrow. Returns null
|
|
1043
|
+
* when no such phrase is there, which is most of the time.
|
|
1044
|
+
*/
|
|
1045
|
+
export function parseUntilClock(text, now = new Date()) {
|
|
1046
|
+
const m = text.match(/\b(?:until|till|til)\s+(\d{1,2})(?::(\d{2}))?\s*(am|pm)?\b/i);
|
|
1047
|
+
if (!m)
|
|
1048
|
+
return null;
|
|
1049
|
+
let hour = Number(m[1]);
|
|
1050
|
+
const minute = m[2] ? Number(m[2]) : 0;
|
|
1051
|
+
const half = (m[3] ?? "").toLowerCase();
|
|
1052
|
+
if (hour > 23 || minute > 59)
|
|
1053
|
+
return null;
|
|
1054
|
+
if (half === "pm" && hour < 12)
|
|
1055
|
+
hour += 12;
|
|
1056
|
+
if (half === "am" && hour === 12)
|
|
1057
|
+
hour = 0;
|
|
1058
|
+
const target = new Date(now);
|
|
1059
|
+
target.setHours(hour, minute, 0, 0);
|
|
1060
|
+
// Already gone today means they mean tomorrow — the usual case for a night.
|
|
1061
|
+
if (target.getTime() <= now.getTime())
|
|
1062
|
+
target.setDate(target.getDate() + 1);
|
|
1063
|
+
return target.getTime();
|
|
1064
|
+
}
|
|
1010
1065
|
/** Sensible default when a shift names no length. Long enough to be worth arming. */
|
|
1011
1066
|
const SHIFT_DEFAULT_HOURS = 8;
|
|
1012
1067
|
/** Nobody should be able to hand over a machine for longer than a day by accident. */
|
|
@@ -1019,11 +1074,15 @@ const SHIFT_MAX_HOURS = 24;
|
|
|
1019
1074
|
* controls, two workers at most" into an action, and the failure to avoid is a
|
|
1020
1075
|
* shift that silently lasts a different length than the one that was said.
|
|
1021
1076
|
*/
|
|
1022
|
-
export function parseShift(text) {
|
|
1077
|
+
export function parseShift(text, now = new Date()) {
|
|
1023
1078
|
const t = text.toLowerCase();
|
|
1079
|
+
// An end time beats a length, because somebody who said both meant the end.
|
|
1080
|
+
const endsAt = parseUntilClock(t, now);
|
|
1024
1081
|
const h = t.match(/(\d+(?:[.,]\d+)?)\s*(h\b|hours?|hrs?)/);
|
|
1025
1082
|
const m = t.match(/(\d+)\s*(m\b|minutes?|mins?)/);
|
|
1026
|
-
const hours =
|
|
1083
|
+
const hours = endsAt !== null
|
|
1084
|
+
? (endsAt - now.getTime()) / 3_600_000
|
|
1085
|
+
: h ? Number(h[1].replace(",", ".")) : m ? Number(m[1]) / 60 : SHIFT_DEFAULT_HOURS;
|
|
1027
1086
|
// The screen is withheld unless it was actually offered. A shift that grants
|
|
1028
1087
|
// the pointer because nobody said not to is the wrong way round.
|
|
1029
1088
|
const visual = /\b(your controls|with controls|visual|you have the screen|screen is yours)\b/.test(t)
|
|
@@ -1095,6 +1154,57 @@ export function composeGoal(objective, rules, hands, extra, rulesPath) {
|
|
|
1095
1154
|
: "";
|
|
1096
1155
|
return oneLine(`/goal ${objective}${pointer}${hands}${extra}`);
|
|
1097
1156
|
}
|
|
1157
|
+
/**
|
|
1158
|
+
* The screen grant the manager is currently holding open, if any.
|
|
1159
|
+
*
|
|
1160
|
+
* One place, because the operator can hand the screen over two ways — a shift,
|
|
1161
|
+
* or `hands on for eight hours` — and a rule that only knew about one of them
|
|
1162
|
+
* would silently not apply to the other. Both are the same fact: the screen is
|
|
1163
|
+
* the session's until a stated moment.
|
|
1164
|
+
*/
|
|
1165
|
+
export function screenLease(m, now) {
|
|
1166
|
+
if (m.noScreen)
|
|
1167
|
+
return null;
|
|
1168
|
+
const until = m.shift?.visual && m.shift.until > now
|
|
1169
|
+
? m.shift.until
|
|
1170
|
+
: m.handsUntil && m.handsUntil > now
|
|
1171
|
+
? m.handsUntil
|
|
1172
|
+
: null;
|
|
1173
|
+
if (until === null)
|
|
1174
|
+
return null;
|
|
1175
|
+
return { until, since: m.screenSince ?? m.shift?.startedAt ?? m.startedAt };
|
|
1176
|
+
}
|
|
1177
|
+
/**
|
|
1178
|
+
* The screen, in one line a watcher can act on.
|
|
1179
|
+
*
|
|
1180
|
+
* TWO facts, deliberately in one place, because the failure they explain is
|
|
1181
|
+
* their disagreement: the manager can be telling the session "do no pointer
|
|
1182
|
+
* work" in every arming while the pointer tool would happily allow a click, or
|
|
1183
|
+
* the reverse. Reporting only one of them makes the other invisible, and an
|
|
1184
|
+
* invisible disagreement is how a night of visual work was lost without
|
|
1185
|
+
* anything anywhere looking wrong.
|
|
1186
|
+
*/
|
|
1187
|
+
function screenStatus(m, now = Date.now()) {
|
|
1188
|
+
const lease = screenLease(m, now);
|
|
1189
|
+
const tool = readControls(undefined, now);
|
|
1190
|
+
const p = (n) => String(n).padStart(2, "0");
|
|
1191
|
+
const at = (ms) => {
|
|
1192
|
+
const d = new Date(ms);
|
|
1193
|
+
return `${p(d.getHours())}:${p(d.getMinutes())}`;
|
|
1194
|
+
};
|
|
1195
|
+
if (!lease) {
|
|
1196
|
+
const stance = m.noScreen
|
|
1197
|
+
? "withheld by the manager — every arming says do no pointer work"
|
|
1198
|
+
: "not granted for any period — the session may use it, nothing is holding it open";
|
|
1199
|
+
return tool.effective === "agent"
|
|
1200
|
+
? `screen: ${stance}; the pointer tool would still allow a click`
|
|
1201
|
+
: `screen: ${stance}`;
|
|
1202
|
+
}
|
|
1203
|
+
if (tool.effective === "agent") {
|
|
1204
|
+
return `screen: the session has it until ${at(lease.until)}, and the pointer tool agrees`;
|
|
1205
|
+
}
|
|
1206
|
+
return `screen: granted until ${at(lease.until)}, but ${describeControls(tool, now).replace(/^screen: /, "")} — renewing`;
|
|
1207
|
+
}
|
|
1098
1208
|
/** The text actually typed at the session. Short goal, context by reference. */
|
|
1099
1209
|
function goalText(m) {
|
|
1100
1210
|
const extra = m.pending.length ? ` OPERATOR, since you were last armed: ${m.pending.join(" ")}` : "";
|
|
@@ -1102,9 +1212,19 @@ function goalText(m) {
|
|
|
1102
1212
|
// lasts only until the session next reads a goal — and the goal is what tells
|
|
1103
1213
|
// it what to do. So a standing rule that is not in the goal is a rule with a
|
|
1104
1214
|
// lifetime of one turn, and the next arming would send it back to clicking.
|
|
1215
|
+
//
|
|
1216
|
+
// The positive case has to ride along too, and for a sharper reason. Silence
|
|
1217
|
+
// about the screen is not neutral: a session that has been careful with the
|
|
1218
|
+
// operator's machine all night reads it as permission having quietly ended,
|
|
1219
|
+
// and one of them announced it had handed the controls back while the grant
|
|
1220
|
+
// on disk still had two hours on it. Saying the expiry out loud, every time,
|
|
1221
|
+
// is what stops a session inventing one.
|
|
1105
1222
|
const hands = m.noScreen
|
|
1106
1223
|
? " THE OPERATOR HAS THE SCREEN: do no screen or pointer work at all, and do not ask for it. Everything else continues as normal. Where something would need checking on screen, write down what would need checking instead of checking it."
|
|
1107
|
-
:
|
|
1224
|
+
: (() => {
|
|
1225
|
+
const lease = screenLease(m, Date.now());
|
|
1226
|
+
return lease ? screenGrantedClause(lease.until) : "";
|
|
1227
|
+
})();
|
|
1108
1228
|
return composeGoal(m.objective, readStandingRules(), hands, extra, standingRulesSource());
|
|
1109
1229
|
}
|
|
1110
1230
|
/**
|
|
@@ -1359,14 +1479,119 @@ async function tick() {
|
|
|
1359
1479
|
if (m.shift && now >= m.shift.until && !m.shift.endReported) {
|
|
1360
1480
|
m.shift.endReported = true;
|
|
1361
1481
|
m.paused = true;
|
|
1482
|
+
// A grant must never outlive the shift it was made for. Handing it back
|
|
1483
|
+
// here means the operator finds their own machine in the morning without
|
|
1484
|
+
// having to remember which of the night's decisions is still in force.
|
|
1485
|
+
if (m.shift.visual) {
|
|
1486
|
+
try {
|
|
1487
|
+
returnToOperator("shift ended — grant returned by the manager");
|
|
1488
|
+
delete m.screenSince;
|
|
1489
|
+
}
|
|
1490
|
+
catch (e) {
|
|
1491
|
+
log(`[manage:${m.name}] could not return the screen — ${e.message}`);
|
|
1492
|
+
}
|
|
1493
|
+
}
|
|
1362
1494
|
notify(m, `shift over after ${Math.round((now - m.shift.startedAt) / 3_600_000)}h — no longer arming; the objective is kept, \`resume\` continues it`);
|
|
1363
1495
|
dirty = true;
|
|
1364
1496
|
}
|
|
1497
|
+
/**
|
|
1498
|
+
* Keep the screen for as long as the shift was given.
|
|
1499
|
+
*
|
|
1500
|
+
* The grant is an idle window, refreshed by each pointer call, so a session
|
|
1501
|
+
* that spends two hours reading code and running tests loses the screen for
|
|
1502
|
+
* having worked — and finds out only when it next needs to look at
|
|
1503
|
+
* something. Renewing here is the arming rule applied to the other half of
|
|
1504
|
+
* what was handed over: a standing decision has to be restated to survive,
|
|
1505
|
+
* whether it is the objective or the controls.
|
|
1506
|
+
*
|
|
1507
|
+
* The operator always wins. An operator hold taken AFTER the shift began is
|
|
1508
|
+
* a deliberate act and is left alone — reported once, then obeyed.
|
|
1509
|
+
*/
|
|
1510
|
+
const lease = screenLease(m, now);
|
|
1511
|
+
if (lease) {
|
|
1512
|
+
try {
|
|
1513
|
+
const controls = readControls();
|
|
1514
|
+
const v = screenVerdict(controls, lease.since, lease.until, now);
|
|
1515
|
+
if (v.action === "renew") {
|
|
1516
|
+
grantUntil(lease.until, `held until ${new Date(lease.until).toISOString()} by the manager`);
|
|
1517
|
+
note(m, `screen grant renewed — ${v.why}`);
|
|
1518
|
+
dirty = true;
|
|
1519
|
+
}
|
|
1520
|
+
else if (v.action === "stand-off" && !m.screenStandOffReported) {
|
|
1521
|
+
m.screenStandOffReported = true;
|
|
1522
|
+
/*
|
|
1523
|
+
* "The operator" is the safe reading, not a proven one.
|
|
1524
|
+
*
|
|
1525
|
+
* The pointer tool's file records only that somebody wrote an
|
|
1526
|
+
* operator hold; a session standing itself down writes exactly the
|
|
1527
|
+
* same thing. Leaving the screen alone is right either way — it is
|
|
1528
|
+
* the operator's machine — but reporting it as their doing, when the
|
|
1529
|
+
* lease still had time on it, hides the case that has already cost a
|
|
1530
|
+
* night: a session deciding on its own that its time was up. So the
|
|
1531
|
+
* message says how much was left and lets a person judge.
|
|
1532
|
+
*/
|
|
1533
|
+
const left = Math.max(0, Math.round((lease.until - now) / 60_000));
|
|
1534
|
+
notify(m, `the screen went back to the operator with ${left} min still on the grant — leaving it with them; visual work stops, everything else carries on. If that was not you, the session stood itself down: \`hands on until HH:MM\` puts it back`);
|
|
1535
|
+
m.noScreen = true;
|
|
1536
|
+
m.lastRearmAt = 0;
|
|
1537
|
+
dirty = true;
|
|
1538
|
+
}
|
|
1539
|
+
}
|
|
1540
|
+
catch (e) {
|
|
1541
|
+
log(`[manage:${m.name}] screen check failed — ${e.message}`);
|
|
1542
|
+
}
|
|
1543
|
+
}
|
|
1544
|
+
else if (m.noScreen) {
|
|
1545
|
+
/*
|
|
1546
|
+
* The mirror case: the manager is withholding while the pointer tool
|
|
1547
|
+
* would allow a click. Somebody handed the screen over without the
|
|
1548
|
+
* manager hearing about it, and the next arming will countermand them —
|
|
1549
|
+
* that is exactly how a night of visual work was lost, and it stayed
|
|
1550
|
+
* invisible because nothing compared the two.
|
|
1551
|
+
*/
|
|
1552
|
+
try {
|
|
1553
|
+
const tool = readControls(undefined, now);
|
|
1554
|
+
if (tool.effective === "agent" && !m.screenDisagreementReported) {
|
|
1555
|
+
m.screenDisagreementReported = true;
|
|
1556
|
+
const ends = new Date(tool.until).toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" });
|
|
1557
|
+
notify(m, `the screen was handed over outside the manager (grant runs to ${ends}) — I am still telling it to do no pointer work, so the two disagree. \`hands on until ${ends}\` makes it stick`);
|
|
1558
|
+
dirty = true;
|
|
1559
|
+
}
|
|
1560
|
+
else if (tool.effective !== "agent" && m.screenDisagreementReported) {
|
|
1561
|
+
delete m.screenDisagreementReported;
|
|
1562
|
+
dirty = true;
|
|
1563
|
+
}
|
|
1564
|
+
}
|
|
1565
|
+
catch (e) {
|
|
1566
|
+
log(`[manage:${m.name}] screen check failed — ${e.message}`);
|
|
1567
|
+
}
|
|
1568
|
+
}
|
|
1569
|
+
/*
|
|
1570
|
+
* A shift outranks a timed hands decision that expires inside it.
|
|
1571
|
+
*
|
|
1572
|
+
* The night this was written for: a screen grant made with `hands on for
|
|
1573
|
+
* N hours` ran out while the work it was made for was still going. The
|
|
1574
|
+
* manager did exactly as told — typed "my controls", the session stopped
|
|
1575
|
+
* all visual work and announced it had handed the controls back — and
|
|
1576
|
+
* nothing gave them back, because a timed decision knows only its own
|
|
1577
|
+
* clock. Hours of visual work were lost to a permission that expired
|
|
1578
|
+
* while the permission it was part of was still running.
|
|
1579
|
+
*/
|
|
1580
|
+
if (m.handsUntil && now >= m.handsUntil && m.shift?.visual && now < m.shift.until) {
|
|
1581
|
+
m.handsUntil = m.shift.until;
|
|
1582
|
+
m.handsWas = false;
|
|
1583
|
+
note(m, "timed screen grant extended to the end of the shift, which is still running");
|
|
1584
|
+
dirty = true;
|
|
1585
|
+
}
|
|
1365
1586
|
if (m.handsUntil && now >= m.handsUntil) {
|
|
1366
1587
|
const wasOff = m.handsWas === true;
|
|
1367
1588
|
delete m.handsUntil;
|
|
1368
1589
|
delete m.handsWas;
|
|
1369
1590
|
m.noScreen = !wasOff;
|
|
1591
|
+
if (m.noScreen)
|
|
1592
|
+
delete m.screenSince;
|
|
1593
|
+
else
|
|
1594
|
+
m.screenSince = now;
|
|
1370
1595
|
typeIntoSession(m.sessionId, m.noScreen
|
|
1371
1596
|
? "The time you had the screen for is up — my controls. The operator may be back at the machine, so stop screen and pointer work now, write down how far you got and what still needs checking on screen, and carry on with everything that does not need it."
|
|
1372
1597
|
: "your controls. The screen is yours again — the operator's hold has expired. You may resume visual work where your notes left it.");
|
|
@@ -1712,9 +1937,11 @@ export async function handleManage(sessionIdOrName, rawArg) {
|
|
|
1712
1937
|
` hands off the operator needs the screen: stops visual work at once,\n` +
|
|
1713
1938
|
` keeps everything else going, and says why\n` +
|
|
1714
1939
|
` hands on give the screen back\n` +
|
|
1715
|
-
` hands on|off for 8 hours | 30m\n` +
|
|
1940
|
+
` hands on|off for 8 hours | 30m | until 08:00\n` +
|
|
1716
1941
|
` same, but it reverts by itself — a permission that ends\n` +
|
|
1717
|
-
` only when somebody remembers outlives its reason
|
|
1942
|
+
` only when somebody remembers outlives its reason.\n` +
|
|
1943
|
+
` \`until\` takes the next time the clock reads it, which is\n` +
|
|
1944
|
+
` what somebody deciding at midnight actually means\n` +
|
|
1718
1945
|
` handover <path> [clear]\n` +
|
|
1719
1946
|
` where this session writes what it knows. At 82% context it\n` +
|
|
1720
1947
|
` is asked to update that file, then carries on — the terminal\n` +
|
|
@@ -1728,7 +1955,7 @@ export async function handleManage(sessionIdOrName, rawArg) {
|
|
|
1728
1955
|
` HOW to work, as opposed to what to work on: typed into every\n` +
|
|
1729
1956
|
` arming of every managed session, so it is written once rather\n` +
|
|
1730
1957
|
` than into each objective by hand. No argument shows them\n` +
|
|
1731
|
-
` shift [8h] [your controls] [2 workers]\n` +
|
|
1958
|
+
` shift [8h | until 08:00] [your controls] [2 workers]\n` +
|
|
1732
1959
|
` a bounded stretch of autonomous work on the tracker's open\n` +
|
|
1733
1960
|
` issues: objective, screen decision, expiry and arming in one\n` +
|
|
1734
1961
|
` sentence. \`shift off\` stands it down without killing it\n` +
|
|
@@ -1843,6 +2070,25 @@ export async function handleManage(sessionIdOrName, rawArg) {
|
|
|
1843
2070
|
existing.handsUntil = until;
|
|
1844
2071
|
existing.handsWas = !visual;
|
|
1845
2072
|
existing.shift = { until, workers, visual, startedAt: Date.now() };
|
|
2073
|
+
if (visual)
|
|
2074
|
+
existing.screenSince = Date.now();
|
|
2075
|
+
else
|
|
2076
|
+
delete existing.screenSince;
|
|
2077
|
+
delete existing.screenStandOffReported;
|
|
2078
|
+
delete existing.screenDisagreementReported;
|
|
2079
|
+
// Record the grant now rather than waiting for the session to ask for it.
|
|
2080
|
+
// The operator said the screen was its own for these hours; the pointer
|
|
2081
|
+
// tool is where that has to be written down for a click to be allowed.
|
|
2082
|
+
let screenLine = "";
|
|
2083
|
+
if (visual) {
|
|
2084
|
+
try {
|
|
2085
|
+
grantUntil(until, `held for a shift ending ${new Date(until).toISOString()}`);
|
|
2086
|
+
screenLine = ` Screen granted and held until ${new Date(until).toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" })} — renewed on every tick, so it cannot lapse while working.\n`;
|
|
2087
|
+
}
|
|
2088
|
+
catch (e) {
|
|
2089
|
+
screenLine = ` Could not record the screen grant (${e.message}) — pointer work may be refused.\n`;
|
|
2090
|
+
}
|
|
2091
|
+
}
|
|
1846
2092
|
// Arm on the next tick rather than typing over whatever is on screen now.
|
|
1847
2093
|
existing.lastRearmAt = 0;
|
|
1848
2094
|
note(existing, `shift started: ${hours}h, ${visual ? "screen granted" : "no screen"}, up to ${workers} worker(s)`);
|
|
@@ -1853,6 +2099,7 @@ export async function handleManage(sessionIdOrName, rawArg) {
|
|
|
1853
2099
|
managed: true,
|
|
1854
2100
|
message: `${name} is on shift for ${hours} hour(s), until ${ends}.\n` +
|
|
1855
2101
|
` ${visual ? "The screen is its own until then, and reverts by itself." : "No screen work — the operator has the machine."}\n` +
|
|
2102
|
+
screenLine +
|
|
1856
2103
|
` Objective set to the tracker's open issues; the standing rules ride along with every arming.\n` +
|
|
1857
2104
|
(workers > 1
|
|
1858
2105
|
? ` Asked for ${workers} workers. Only one runs today — worktrees and the claim protocol are designed but not built, and a second worker without them would share a checkout with the first.\n`
|
|
@@ -1897,6 +2144,10 @@ export async function handleManage(sessionIdOrName, rawArg) {
|
|
|
1897
2144
|
`objective: ${existing.objective}\n` +
|
|
1898
2145
|
`\nright now:\n` +
|
|
1899
2146
|
liveReading(sessionId, idle) +
|
|
2147
|
+
// Who holds the screen belongs in the live reading, not in the
|
|
2148
|
+
// manager's own record: it is a fact about the machine right now, and
|
|
2149
|
+
// it is the one a watcher cannot get any other way.
|
|
2150
|
+
`\n ${screenStatus(existing)}` +
|
|
1900
2151
|
`\n\nthe manager: ${armed}` +
|
|
1901
2152
|
(existing.pending.length ? `, ${existing.pending.length} instruction(s) waiting to go out` : "") +
|
|
1902
2153
|
(last ? `\n${last}` : ""),
|
|
@@ -1996,8 +2247,16 @@ export async function handleManage(sessionIdOrName, rawArg) {
|
|
|
1996
2247
|
* Both matter for the same reason: a permission that only ends when a person
|
|
1997
2248
|
* remembers to end it is a permission that outlives its reason.
|
|
1998
2249
|
*/
|
|
1999
|
-
const
|
|
2000
|
-
|
|
2250
|
+
const said = handsMatch?.[2] ?? "";
|
|
2251
|
+
const untilClock = parseUntilClock(said);
|
|
2252
|
+
const dur = untilClock === null
|
|
2253
|
+
? said.match(/(?:for\s+)?(\d+(?:\.\d+)?)\s*(h|hr|hrs|hour|hours|m|min|mins|minute|minutes)\b/i)
|
|
2254
|
+
: null;
|
|
2255
|
+
if (untilClock !== null) {
|
|
2256
|
+
existing.handsUntil = untilClock;
|
|
2257
|
+
existing.handsWas = off;
|
|
2258
|
+
}
|
|
2259
|
+
else if (dur) {
|
|
2001
2260
|
const n = Number(dur[1]);
|
|
2002
2261
|
const unit = dur[2].toLowerCase();
|
|
2003
2262
|
const ms = /^h/.test(unit) ? n * 3_600_000 : n * 60_000;
|
|
@@ -2009,6 +2268,16 @@ export async function handleManage(sessionIdOrName, rawArg) {
|
|
|
2009
2268
|
delete existing.handsWas;
|
|
2010
2269
|
}
|
|
2011
2270
|
existing.noScreen = off;
|
|
2271
|
+
// A grant that starts now: recorded so a later operator hold can be told
|
|
2272
|
+
// apart from this one having lapsed. Handing the screen back clears it.
|
|
2273
|
+
if (off) {
|
|
2274
|
+
delete existing.screenSince;
|
|
2275
|
+
}
|
|
2276
|
+
else {
|
|
2277
|
+
existing.screenSince = Date.now();
|
|
2278
|
+
delete existing.screenStandOffReported;
|
|
2279
|
+
delete existing.screenDisagreementReported;
|
|
2280
|
+
}
|
|
2012
2281
|
if (off) {
|
|
2013
2282
|
// The reason comes FIRST, and the phrase is inside a sentence rather than
|
|
2014
2283
|
// barked on its own. "my controls" alone revokes the tool and explains
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manage.js","sourceRoot":"","sources":["../../src/daemon/manage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manage.js","sourceRoot":"","sources":["../../src/daemon/manage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* daemon/pointer-controls.ts — does the session still hold the screen?
|
|
3
|
+
*
|
|
4
|
+
* The pointer tool gates its actuating calls behind a grant the operator makes
|
|
5
|
+
* ("your controls"). The grant is an IDLE window: it is refreshed by every
|
|
6
|
+
* actuating call and lapses that long after the last one. That is the right
|
|
7
|
+
* default for a person at the machine, and the wrong one for an unattended
|
|
8
|
+
* shift — a session that spends two hours reading code and running tests has
|
|
9
|
+
* done nothing wrong, and finds the screen taken away when it next needs it.
|
|
10
|
+
*
|
|
11
|
+
* What this module exists for, though, is worse than the lapse. A session that
|
|
12
|
+
* believed its screen time was over announced it had handed the controls back
|
|
13
|
+
* and stopped all visual work — while the grant on disk was still valid for
|
|
14
|
+
* another two hours. Nothing revoked anything; the belief alone cost the night.
|
|
15
|
+
* So the manager needs to be able to answer three questions on every tick:
|
|
16
|
+
* whether a grant exists, who holds it, and for how long — and then to say the
|
|
17
|
+
* answer to the session in as many words, because a session that is not told
|
|
18
|
+
* will decide for itself.
|
|
19
|
+
*
|
|
20
|
+
* This reads and writes the tool's own state file rather than inventing a
|
|
21
|
+
* second record of the same fact. Two places holding "who has the screen" is
|
|
22
|
+
* exactly the split-brain the fleet design note argues against.
|
|
23
|
+
*/
|
|
24
|
+
/** Where the pointer tool keeps its grant. Its format, not ours. */
|
|
25
|
+
export declare function controlsFile(home?: string): string;
|
|
26
|
+
export interface Controls {
|
|
27
|
+
/** What is written on disk. A lapsed grant still says "agent" here. */
|
|
28
|
+
holder: "user" | "agent";
|
|
29
|
+
/** When the current holder took it, ms. */
|
|
30
|
+
since: number;
|
|
31
|
+
/** When an agent grant runs out, ms. Absent for the operator. */
|
|
32
|
+
until?: number;
|
|
33
|
+
/** The idle window the grant was made with, minutes. */
|
|
34
|
+
minutes?: number;
|
|
35
|
+
note?: string;
|
|
36
|
+
/** No file at all — the tool has never recorded a grant on this machine. */
|
|
37
|
+
missing: boolean;
|
|
38
|
+
/** An agent grant whose window has passed. The tool will refuse a click. */
|
|
39
|
+
lapsed: boolean;
|
|
40
|
+
/** What the tool will actually answer right now. */
|
|
41
|
+
effective: "user" | "agent";
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Read the grant as it stands.
|
|
45
|
+
*
|
|
46
|
+
* Never throws: an unreadable or malformed file means the tool will refuse a
|
|
47
|
+
* click, and "the operator holds it" is the safe reading of that. The one thing
|
|
48
|
+
* this must NOT do is collapse a lapsed grant into a plain operator hold —
|
|
49
|
+
* telling those apart is the whole point, because one is ours to renew and the
|
|
50
|
+
* other is the operator having taken the screen back.
|
|
51
|
+
*/
|
|
52
|
+
export declare function readControls(path?: string, now?: number): Controls;
|
|
53
|
+
/**
|
|
54
|
+
* Record a grant that runs until a stated moment.
|
|
55
|
+
*
|
|
56
|
+
* Written straight to the file rather than by typing the trigger phrase at the
|
|
57
|
+
* session: typing only works when the session is sitting at a prompt, and the
|
|
58
|
+
* moment a renewal matters most is the moment it is busy. The operator asked
|
|
59
|
+
* for the grant to be held for the length of the shift they authorised, so
|
|
60
|
+
* holding it is carrying out their instruction, not granting on their behalf.
|
|
61
|
+
*/
|
|
62
|
+
export declare function grantUntil(until: number, note: string, path?: string, now?: number): Controls;
|
|
63
|
+
/** Hand the screen back. Used when a shift ends, so a grant never outlives it. */
|
|
64
|
+
export declare function returnToOperator(note: string, path?: string, now?: number): void;
|
|
65
|
+
export type Verdict =
|
|
66
|
+
/** Ours, with time on it. Nothing to do. */
|
|
67
|
+
{
|
|
68
|
+
action: "hold";
|
|
69
|
+
why: string;
|
|
70
|
+
}
|
|
71
|
+
/** Ours to renew: never recorded, lapsed, or running out sooner than the shift. */
|
|
72
|
+
| {
|
|
73
|
+
action: "renew";
|
|
74
|
+
why: string;
|
|
75
|
+
}
|
|
76
|
+
/** The operator took the screen back mid-shift. Their machine, their call. */
|
|
77
|
+
| {
|
|
78
|
+
action: "stand-off";
|
|
79
|
+
why: string;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* A grant with less than this left is renewed rather than watched. Comfortably
|
|
83
|
+
* longer than a tick, so the window never closes between two looks at it.
|
|
84
|
+
*/
|
|
85
|
+
export declare const RENEW_FLOOR_MS: number;
|
|
86
|
+
/**
|
|
87
|
+
* Decide what the manager should do about the screen for a shift.
|
|
88
|
+
*
|
|
89
|
+
* The discriminator between "lapsed" and "the operator took it back" is which
|
|
90
|
+
* holder is written on disk: a lapse leaves an agent grant with a past expiry
|
|
91
|
+
* (nothing rewrites it), while the operator taking it back writes an operator
|
|
92
|
+
* hold with a fresh timestamp. So an operator hold that started AFTER the shift
|
|
93
|
+
* did is a deliberate act and is left alone; anything older is the state a
|
|
94
|
+
* shift is expected to overwrite.
|
|
95
|
+
*/
|
|
96
|
+
export declare function verdict(c: Controls, shiftStartedAt: number, shiftUntil: number, now?: number, floorMs?: number): Verdict;
|
|
97
|
+
/** One line for the status report: who has the screen, and for how much longer. */
|
|
98
|
+
export declare function describeControls(c: Controls, now?: number): string;
|
|
99
|
+
/**
|
|
100
|
+
* What to tell the session, in the goal, when it holds the screen.
|
|
101
|
+
*
|
|
102
|
+
* Positive and with a time on it, because the failure this answers was a
|
|
103
|
+
* session inventing an expiry and standing down two hours early. Silence in the
|
|
104
|
+
* goal about the screen reads, to a session that has been careful about the
|
|
105
|
+
* operator's machine all night, as permission having quietly ended.
|
|
106
|
+
*/
|
|
107
|
+
export declare function screenGrantedClause(until: number): string;
|
|
108
|
+
//# sourceMappingURL=pointer-controls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pointer-controls.d.ts","sourceRoot":"","sources":["../../src/daemon/pointer-controls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,IAAI,SAAY,GAAG,MAAM,CAErD;AAED,MAAM,WAAW,QAAQ;IACvB,uEAAuE;IACvE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,OAAO,EAAE,OAAO,CAAC;IACjB,4EAA4E;IAC5E,MAAM,EAAE,OAAO,CAAC;IAChB,oDAAoD;IACpD,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AASD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,SAAiB,EAAE,GAAG,SAAa,GAAG,QAAQ,CA+B9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,SAAiB,EAAE,GAAG,SAAa,GAAG,QAAQ,CAYzG;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAiB,EAAE,GAAG,SAAa,GAAG,IAAI,CAI5F;AAED,MAAM,MAAM,OAAO;AACjB,4CAA4C;AAC1C;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AACjC,mFAAmF;GACjF;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AAClC,8EAA8E;GAC5E;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAc,CAAC;AAE1C;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CACrB,CAAC,EAAE,QAAQ,EACX,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,GAAG,SAAa,EAChB,OAAO,SAAiB,GACvB,OAAO,CAWT;AAcD,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAa,GAAG,MAAM,CAStE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMzD"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* daemon/pointer-controls.ts — does the session still hold the screen?
|
|
3
|
+
*
|
|
4
|
+
* The pointer tool gates its actuating calls behind a grant the operator makes
|
|
5
|
+
* ("your controls"). The grant is an IDLE window: it is refreshed by every
|
|
6
|
+
* actuating call and lapses that long after the last one. That is the right
|
|
7
|
+
* default for a person at the machine, and the wrong one for an unattended
|
|
8
|
+
* shift — a session that spends two hours reading code and running tests has
|
|
9
|
+
* done nothing wrong, and finds the screen taken away when it next needs it.
|
|
10
|
+
*
|
|
11
|
+
* What this module exists for, though, is worse than the lapse. A session that
|
|
12
|
+
* believed its screen time was over announced it had handed the controls back
|
|
13
|
+
* and stopped all visual work — while the grant on disk was still valid for
|
|
14
|
+
* another two hours. Nothing revoked anything; the belief alone cost the night.
|
|
15
|
+
* So the manager needs to be able to answer three questions on every tick:
|
|
16
|
+
* whether a grant exists, who holds it, and for how long — and then to say the
|
|
17
|
+
* answer to the session in as many words, because a session that is not told
|
|
18
|
+
* will decide for itself.
|
|
19
|
+
*
|
|
20
|
+
* This reads and writes the tool's own state file rather than inventing a
|
|
21
|
+
* second record of the same fact. Two places holding "who has the screen" is
|
|
22
|
+
* exactly the split-brain the fleet design note argues against.
|
|
23
|
+
*/
|
|
24
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
25
|
+
import { homedir } from "node:os";
|
|
26
|
+
import { dirname, join } from "node:path";
|
|
27
|
+
/** Where the pointer tool keeps its grant. Its format, not ours. */
|
|
28
|
+
export function controlsFile(home = homedir()) {
|
|
29
|
+
return join(home, ".local", "state", "clickr", "controls.json");
|
|
30
|
+
}
|
|
31
|
+
const OPERATOR_HOLDS = {
|
|
32
|
+
holder: "user",
|
|
33
|
+
since: 0,
|
|
34
|
+
lapsed: false,
|
|
35
|
+
effective: "user",
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Read the grant as it stands.
|
|
39
|
+
*
|
|
40
|
+
* Never throws: an unreadable or malformed file means the tool will refuse a
|
|
41
|
+
* click, and "the operator holds it" is the safe reading of that. The one thing
|
|
42
|
+
* this must NOT do is collapse a lapsed grant into a plain operator hold —
|
|
43
|
+
* telling those apart is the whole point, because one is ours to renew and the
|
|
44
|
+
* other is the operator having taken the screen back.
|
|
45
|
+
*/
|
|
46
|
+
export function readControls(path = controlsFile(), now = Date.now()) {
|
|
47
|
+
let raw;
|
|
48
|
+
try {
|
|
49
|
+
if (!existsSync(path))
|
|
50
|
+
return { ...OPERATOR_HOLDS, missing: true };
|
|
51
|
+
raw = JSON.parse(readFileSync(path, "utf8"));
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return { ...OPERATOR_HOLDS, missing: true };
|
|
55
|
+
}
|
|
56
|
+
const o = raw;
|
|
57
|
+
if (!o || typeof o !== "object")
|
|
58
|
+
return { ...OPERATOR_HOLDS, missing: false };
|
|
59
|
+
const holder = o.holder === "agent" ? "agent" : "user";
|
|
60
|
+
const since = typeof o.since === "string" ? Date.parse(o.since) : NaN;
|
|
61
|
+
const until = typeof o.until === "string" ? Date.parse(o.until) : NaN;
|
|
62
|
+
const c = {
|
|
63
|
+
holder,
|
|
64
|
+
since: Number.isFinite(since) ? since : 0,
|
|
65
|
+
lapsed: false,
|
|
66
|
+
effective: holder,
|
|
67
|
+
missing: false,
|
|
68
|
+
};
|
|
69
|
+
if (Number.isFinite(until))
|
|
70
|
+
c.until = until;
|
|
71
|
+
if (typeof o.minutes === "number")
|
|
72
|
+
c.minutes = o.minutes;
|
|
73
|
+
if (typeof o.note === "string")
|
|
74
|
+
c.note = o.note;
|
|
75
|
+
if (holder === "agent" && (!Number.isFinite(until) || until <= now)) {
|
|
76
|
+
c.lapsed = true;
|
|
77
|
+
c.effective = "user";
|
|
78
|
+
}
|
|
79
|
+
return c;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Record a grant that runs until a stated moment.
|
|
83
|
+
*
|
|
84
|
+
* Written straight to the file rather than by typing the trigger phrase at the
|
|
85
|
+
* session: typing only works when the session is sitting at a prompt, and the
|
|
86
|
+
* moment a renewal matters most is the moment it is busy. The operator asked
|
|
87
|
+
* for the grant to be held for the length of the shift they authorised, so
|
|
88
|
+
* holding it is carrying out their instruction, not granting on their behalf.
|
|
89
|
+
*/
|
|
90
|
+
export function grantUntil(until, note, path = controlsFile(), now = Date.now()) {
|
|
91
|
+
const minutes = Math.max(1, Math.ceil((until - now) / 60_000));
|
|
92
|
+
const state = {
|
|
93
|
+
holder: "agent",
|
|
94
|
+
since: new Date(now).toISOString(),
|
|
95
|
+
until: new Date(until).toISOString(),
|
|
96
|
+
minutes,
|
|
97
|
+
note,
|
|
98
|
+
};
|
|
99
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
100
|
+
writeFileSync(path, JSON.stringify(state, null, 2) + "\n", "utf8");
|
|
101
|
+
return readControls(path, now);
|
|
102
|
+
}
|
|
103
|
+
/** Hand the screen back. Used when a shift ends, so a grant never outlives it. */
|
|
104
|
+
export function returnToOperator(note, path = controlsFile(), now = Date.now()) {
|
|
105
|
+
const state = { holder: "user", since: new Date(now).toISOString(), note };
|
|
106
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
107
|
+
writeFileSync(path, JSON.stringify(state, null, 2) + "\n", "utf8");
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* A grant with less than this left is renewed rather than watched. Comfortably
|
|
111
|
+
* longer than a tick, so the window never closes between two looks at it.
|
|
112
|
+
*/
|
|
113
|
+
export const RENEW_FLOOR_MS = 10 * 60_000;
|
|
114
|
+
/**
|
|
115
|
+
* Decide what the manager should do about the screen for a shift.
|
|
116
|
+
*
|
|
117
|
+
* The discriminator between "lapsed" and "the operator took it back" is which
|
|
118
|
+
* holder is written on disk: a lapse leaves an agent grant with a past expiry
|
|
119
|
+
* (nothing rewrites it), while the operator taking it back writes an operator
|
|
120
|
+
* hold with a fresh timestamp. So an operator hold that started AFTER the shift
|
|
121
|
+
* did is a deliberate act and is left alone; anything older is the state a
|
|
122
|
+
* shift is expected to overwrite.
|
|
123
|
+
*/
|
|
124
|
+
export function verdict(c, shiftStartedAt, shiftUntil, now = Date.now(), floorMs = RENEW_FLOOR_MS) {
|
|
125
|
+
if (c.holder === "user" && !c.missing && c.since > shiftStartedAt) {
|
|
126
|
+
return { action: "stand-off", why: "the operator took the screen back after the shift began" };
|
|
127
|
+
}
|
|
128
|
+
if (c.missing)
|
|
129
|
+
return { action: "renew", why: "no grant has ever been recorded on this machine" };
|
|
130
|
+
if (c.holder === "user")
|
|
131
|
+
return { action: "renew", why: "no grant was in place when the shift began" };
|
|
132
|
+
if (c.lapsed)
|
|
133
|
+
return { action: "renew", why: "the grant lapsed on its idle window" };
|
|
134
|
+
if ((c.until ?? 0) < Math.min(shiftUntil, now + floorMs)) {
|
|
135
|
+
return { action: "renew", why: "the grant runs out before the shift does" };
|
|
136
|
+
}
|
|
137
|
+
return { action: "hold", why: "the grant covers the rest of the shift" };
|
|
138
|
+
}
|
|
139
|
+
function clock(ms) {
|
|
140
|
+
const d = new Date(ms);
|
|
141
|
+
const p = (n) => String(n).padStart(2, "0");
|
|
142
|
+
return `${p(d.getHours())}:${p(d.getMinutes())}`;
|
|
143
|
+
}
|
|
144
|
+
function span(ms) {
|
|
145
|
+
if (ms <= 0)
|
|
146
|
+
return "0m";
|
|
147
|
+
const mins = Math.round(ms / 60_000);
|
|
148
|
+
return mins < 60 ? `${mins}m` : `${Math.floor(mins / 60)}h ${mins % 60}m`;
|
|
149
|
+
}
|
|
150
|
+
/** One line for the status report: who has the screen, and for how much longer. */
|
|
151
|
+
export function describeControls(c, now = Date.now()) {
|
|
152
|
+
if (c.missing)
|
|
153
|
+
return "screen: no grant recorded — pointer work would be refused";
|
|
154
|
+
if (c.effective === "agent") {
|
|
155
|
+
return `screen: the session holds it until ${clock(c.until)} (${span(c.until - now)} left)`;
|
|
156
|
+
}
|
|
157
|
+
if (c.lapsed) {
|
|
158
|
+
return `screen: lapsed at ${clock(c.until ?? c.since)} — pointer work is being refused`;
|
|
159
|
+
}
|
|
160
|
+
return `screen: the operator holds it (since ${clock(c.since)})`;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* What to tell the session, in the goal, when it holds the screen.
|
|
164
|
+
*
|
|
165
|
+
* Positive and with a time on it, because the failure this answers was a
|
|
166
|
+
* session inventing an expiry and standing down two hours early. Silence in the
|
|
167
|
+
* goal about the screen reads, to a session that has been careful about the
|
|
168
|
+
* operator's machine all night, as permission having quietly ended.
|
|
169
|
+
*/
|
|
170
|
+
export function screenGrantedClause(until) {
|
|
171
|
+
return (` YOU HAVE THE SCREEN until ${clock(until)} — the grant is recorded and renewed for you, so do not hand the controls back,` +
|
|
172
|
+
` do not announce handing them back, and do not stand down from visual work before then.` +
|
|
173
|
+
` If a pointer call is ever refused, say so in one line and carry on with what does not need the screen.`);
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=pointer-controls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pointer-controls.js","sourceRoot":"","sources":["../../src/daemon/pointer-controls.ts"],"names":[],"mappings":"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"}
|