workday-daemon 0.9.0 → 0.14.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/README.md +3 -1
- package/dist/cli.js +63 -2
- package/dist/cli.js.map +1 -1
- package/dist/collectors/git-tracker.d.ts +6 -7
- package/dist/collectors/git-tracker.js +28 -39
- package/dist/collectors/git-tracker.js.map +1 -1
- package/dist/core/config.js +10 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/constants.d.ts +4 -1
- package/dist/core/constants.js +10 -2
- package/dist/core/constants.js.map +1 -1
- package/dist/core/daily-log.d.ts +16 -0
- package/dist/core/daily-log.js +37 -0
- package/dist/core/daily-log.js.map +1 -1
- package/dist/core/day-lifecycle.d.ts +10 -0
- package/dist/core/day-lifecycle.js +14 -0
- package/dist/core/day-lifecycle.js.map +1 -0
- package/dist/core/gap-detector.d.ts +20 -0
- package/dist/core/gap-detector.js +20 -0
- package/dist/core/gap-detector.js.map +1 -0
- package/dist/core/janitor.d.ts +32 -0
- package/dist/core/janitor.js +113 -0
- package/dist/core/janitor.js.map +1 -0
- package/dist/core/session-tracker.d.ts +76 -12
- package/dist/core/session-tracker.js +231 -53
- package/dist/core/session-tracker.js.map +1 -1
- package/dist/core/status-renderer.js +5 -3
- package/dist/core/status-renderer.js.map +1 -1
- package/dist/core/stop-marker.d.ts +3 -0
- package/dist/core/stop-marker.js +32 -0
- package/dist/core/stop-marker.js.map +1 -0
- package/dist/core/types.d.ts +17 -7
- package/dist/core/types.js +1 -7
- package/dist/core/types.js.map +1 -1
- package/dist/daemon.d.ts +21 -3
- package/dist/daemon.js +79 -38
- package/dist/daemon.js.map +1 -1
- package/dist/http-server.d.ts +11 -1
- package/dist/http-server.js +94 -4
- package/dist/http-server.js.map +1 -1
- package/dist/push/report-builder.js +21 -2
- package/dist/push/report-builder.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-renderer.js","sourceRoot":"","sources":["../../src/core/status-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,eAAe;AACf,MAAM,KAAK,GAAG,eAAe,CAAC;AAC9B,MAAM,IAAI,GAAG,SAAS,CAAC;AACvB,MAAM,GAAG,GAAG,SAAS,CAAC;AACtB,MAAM,KAAK,GAAG,SAAS,CAAC;AACxB,MAAM,KAAK,GAAG,UAAU,CAAC;AACzB,MAAM,MAAM,GAAG,UAAU,CAAC;AAC1B,MAAM,GAAG,GAAG,UAAU,CAAC;AACvB,MAAM,IAAI,GAAG,UAAU,CAAC;AACxB,MAAM,OAAO,GAAG,UAAU,CAAC;AAE3B,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,MAAM,GAAG,MAAM,CAAC;AACtB,MAAM,SAAS,GAAG,EAAE,CAAC;AAYrB,MAAM,OAAO,cAAc;IACR,GAAG,CAAgB;IAC5B,SAAS,GAAW,CAAC,CAAC;IAE9B,YAAmB,GAAkB;QACnC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,UAAU,CAAC,IAAY;QAC5B,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;IAC9B,CAAC;IAEM,WAAW,CAAC,OAAe;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,QAAQ,KAAK,IAAI,OAAO,IAAI,CAAC,CAAC;IAC/D,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,SAAS;QACT,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,mBAAmB,KAAK,EAAE,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QAEtD,cAAc;QACd,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;QACxC,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACxG,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,KAAK,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,OAAO,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,QAAQ,KAAK,IAAI,YAAY,KAAK,GAAG,KAAK,KAAK,IAAI,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC;QACjM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,
|
|
1
|
+
{"version":3,"file":"status-renderer.js","sourceRoot":"","sources":["../../src/core/status-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { existsSync, writeFileSync, unlinkSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { getWorkdayHome } from './config.js';
|
|
4
|
+
import { STOP_MARKER_FILE_NAME } from './constants.js';
|
|
5
|
+
/**
|
|
6
|
+
* Manual-stop marker: written on an explicit daemon stop (CLI `workday stop`,
|
|
7
|
+
* tray Stop button — both land in Daemon.stop()), cleared on daemon start.
|
|
8
|
+
* The tray watchdog respects it: a manually stopped daemon is NOT respawned
|
|
9
|
+
* until the user starts it again or logs in anew (the tray clears the marker
|
|
10
|
+
* on an autostart launch — a fresh login always starts tracking).
|
|
11
|
+
* Self-update restarts skip the marker — the daemon is coming right back.
|
|
12
|
+
*/
|
|
13
|
+
function markerPath() {
|
|
14
|
+
return join(getWorkdayHome(), STOP_MARKER_FILE_NAME);
|
|
15
|
+
}
|
|
16
|
+
export function writeStopMarker() {
|
|
17
|
+
try {
|
|
18
|
+
writeFileSync(markerPath(), new Date().toISOString(), 'utf-8');
|
|
19
|
+
}
|
|
20
|
+
catch { /* best effort — a missing marker only means the watchdog restarts sooner */ }
|
|
21
|
+
}
|
|
22
|
+
export function clearStopMarker() {
|
|
23
|
+
try {
|
|
24
|
+
if (existsSync(markerPath()))
|
|
25
|
+
unlinkSync(markerPath());
|
|
26
|
+
}
|
|
27
|
+
catch { /* best effort */ }
|
|
28
|
+
}
|
|
29
|
+
export function hasStopMarker() {
|
|
30
|
+
return existsSync(markerPath());
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=stop-marker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stop-marker.js","sourceRoot":"","sources":["../../src/core/stop-marker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;;GAOG;AAEH,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE,qBAAqB,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC;QACH,aAAa,CAAC,UAAU,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC,CAAC,4EAA4E,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;AAClC,CAAC"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ export interface SessionConfig {
|
|
|
32
32
|
readonly signalDeduplicationSeconds: number;
|
|
33
33
|
readonly dayBoundaryCheckSeconds: number;
|
|
34
34
|
readonly reflogCount: number;
|
|
35
|
+
readonly idleCloseHours: number;
|
|
35
36
|
}
|
|
36
37
|
export interface ReportConfig {
|
|
37
38
|
readonly roundingMinutes: number;
|
|
@@ -63,6 +64,7 @@ export declare enum ClosedBy {
|
|
|
63
64
|
DaemonStop = "daemon_stop",
|
|
64
65
|
DaemonCrash = "daemon_crash",
|
|
65
66
|
ManualStop = "manual_stop",
|
|
67
|
+
IdleTimeout = "idle_timeout",
|
|
66
68
|
BudgetExhausted = "budget_exhausted"
|
|
67
69
|
}
|
|
68
70
|
export interface ManualAdjustment {
|
|
@@ -285,20 +287,20 @@ export interface PollResult {
|
|
|
285
287
|
readonly evidenceSnapshot: EvidenceSnapshot | null;
|
|
286
288
|
readonly evidenceBasis: EvidenceBasis | null;
|
|
287
289
|
readonly mergeBaseSha: string | null;
|
|
290
|
+
readonly prevEvidenceSnapshot: EvidenceSnapshot | null;
|
|
288
291
|
readonly ledgerUpdate: LedgerUpdate | null;
|
|
289
292
|
}
|
|
290
|
-
export declare enum RepoState {
|
|
291
|
-
Idle = "idle",
|
|
292
|
-
Pending = "pending",
|
|
293
|
-
Active = "active"
|
|
294
|
-
}
|
|
295
293
|
export interface RepoTracker {
|
|
296
|
-
state: RepoState;
|
|
297
294
|
currentBranch: string | null;
|
|
298
295
|
currentTask: string | null;
|
|
299
|
-
activeSessionId: string | null;
|
|
300
296
|
previousSnapshot: GitSnapshot | null;
|
|
301
297
|
lastReflogTs: number;
|
|
298
|
+
prevEvidenceSnapshot: EvidenceSnapshot | null;
|
|
299
|
+
}
|
|
300
|
+
export interface WatchingRepo {
|
|
301
|
+
readonly repoName: string;
|
|
302
|
+
readonly branch: string;
|
|
303
|
+
readonly task: string;
|
|
302
304
|
}
|
|
303
305
|
export interface ApiResponse<T = unknown> {
|
|
304
306
|
readonly ok: boolean;
|
|
@@ -388,6 +390,14 @@ export interface AdjustResponse {
|
|
|
388
390
|
readonly addedMinutes: number;
|
|
389
391
|
readonly totalManualMinutes: number;
|
|
390
392
|
}
|
|
393
|
+
export interface SessionDeleteResponse {
|
|
394
|
+
readonly id: string;
|
|
395
|
+
readonly repo: string;
|
|
396
|
+
readonly task: string | null;
|
|
397
|
+
readonly effectiveDurationMs: number;
|
|
398
|
+
readonly dayFileDeleted: boolean;
|
|
399
|
+
readonly dayWasPushed: boolean;
|
|
400
|
+
}
|
|
391
401
|
export interface ManualEntryResponse {
|
|
392
402
|
readonly id: string;
|
|
393
403
|
readonly task: string;
|
package/dist/core/types.js
CHANGED
|
@@ -27,6 +27,7 @@ export var ClosedBy;
|
|
|
27
27
|
ClosedBy["DaemonStop"] = "daemon_stop";
|
|
28
28
|
ClosedBy["DaemonCrash"] = "daemon_crash";
|
|
29
29
|
ClosedBy["ManualStop"] = "manual_stop";
|
|
30
|
+
ClosedBy["IdleTimeout"] = "idle_timeout";
|
|
30
31
|
// Legacy — never produced since budget v2; kept so old day files still read.
|
|
31
32
|
ClosedBy["BudgetExhausted"] = "budget_exhausted";
|
|
32
33
|
})(ClosedBy || (ClosedBy = {}));
|
|
@@ -51,11 +52,4 @@ export var DayType;
|
|
|
51
52
|
DayType["Holiday"] = "holiday";
|
|
52
53
|
DayType["Overtime"] = "overtime";
|
|
53
54
|
})(DayType || (DayType = {}));
|
|
54
|
-
// ─── Daemon runtime state (per repo, not persisted) ─────────────────────
|
|
55
|
-
export var RepoState;
|
|
56
|
-
(function (RepoState) {
|
|
57
|
-
RepoState["Idle"] = "idle";
|
|
58
|
-
RepoState["Pending"] = "pending";
|
|
59
|
-
RepoState["Active"] = "active";
|
|
60
|
-
})(RepoState || (RepoState = {}));
|
|
61
55
|
//# sourceMappingURL=types.js.map
|
package/dist/core/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,4EAA4E;AA8B5E,2EAA2E;AAE3E,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,+BAAW,CAAA;IACX,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,0CAAsB,CAAA;AACxB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,4EAA4E;AA8B5E,2EAA2E;AAE3E,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,+BAAW,CAAA;IACX,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,0CAAsB,CAAA;AACxB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AA6BD,2EAA2E;AAE3E,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,2CAA4B,CAAA;IAC5B,wCAAyB,CAAA;AAC3B,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAQD,4EAA4E;AAE5E,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;AACnB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAN,IAAY,QASX;AATD,WAAY,QAAQ;IAClB,qDAAyC,CAAA;IACzC,wCAA4B,CAAA;IAC5B,sCAA0B,CAAA;IAC1B,wCAA4B,CAAA;IAC5B,sCAA0B,CAAA;IAC1B,wCAA4B,CAAA;IAC5B,6EAA6E;IAC7E,gDAAoC,CAAA;AACtC,CAAC,EATW,QAAQ,KAAR,QAAQ,QASnB;AAiFD,4EAA4E;AAE5E,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,4CAA8B,CAAA;IAC9B,+BAAiB,CAAA;IACjB,mCAAqB,CAAA;AACvB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAyBD,4EAA4E;AAE5E,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,oCAAuB,CAAA;IACvB,8BAAiB,CAAA;AACnB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAED,MAAM,CAAN,IAAY,OAKX;AALD,WAAY,OAAO;IACjB,8BAAmB,CAAA;IACnB,8BAAmB,CAAA;IACnB,8BAAmB,CAAA;IACnB,gCAAqB,CAAA;AACvB,CAAC,EALW,OAAO,KAAP,OAAO,QAKlB"}
|
package/dist/daemon.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export declare class Daemon {
|
|
|
17
17
|
private running;
|
|
18
18
|
private foreground;
|
|
19
19
|
private startedAt;
|
|
20
|
+
private lastAliveAt;
|
|
20
21
|
private tickQueue;
|
|
21
22
|
start(options?: {
|
|
22
23
|
foreground?: boolean;
|
|
@@ -36,7 +37,13 @@ export declare class Daemon {
|
|
|
36
37
|
ok: boolean;
|
|
37
38
|
error?: string;
|
|
38
39
|
}>;
|
|
39
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Graceful stop. `manual` marks a user-initiated stop (CLI `workday stop`,
|
|
42
|
+
* tray Stop, Ctrl+C) — it writes the stop marker so the tray watchdog does
|
|
43
|
+
* not respawn the daemon. Self-update restarts pass false: the daemon is
|
|
44
|
+
* coming right back and must stay under the watchdog's guard.
|
|
45
|
+
*/
|
|
46
|
+
stop(manual?: boolean): Promise<void>;
|
|
40
47
|
private stopAndExit;
|
|
41
48
|
/**
|
|
42
49
|
* Run one tick. Serializes with any currently-running tick via tickQueue
|
|
@@ -44,6 +51,19 @@ export declare class Daemon {
|
|
|
44
51
|
*/
|
|
45
52
|
pollTick(): Promise<void>;
|
|
46
53
|
private runTickBody;
|
|
54
|
+
/**
|
|
55
|
+
* Timers don't fire while the machine sleeps: the evaluator never decays
|
|
56
|
+
* and lastSeenAt never advances, so the first tick after wake-up would
|
|
57
|
+
* credit the whole gap as work. On a gap: every open unpaused session
|
|
58
|
+
* gets a retroactive idle pause at its pre-gap lastSeenAt; candidates and
|
|
59
|
+
* evaluator state are stale and dropped (real activity re-earns both);
|
|
60
|
+
* idle auto-close then immediately closes sessions whose gap already
|
|
61
|
+
* exceeds idleCloseHours — honest end at the last pre-sleep activity.
|
|
62
|
+
* A short gap stays a mid-session pause, auto-resumed by activity.
|
|
63
|
+
* Runs from both the poll tick and the day-boundary timer — whichever
|
|
64
|
+
* fires first after wake-up, and before rollover closes sessions.
|
|
65
|
+
*/
|
|
66
|
+
private handleObservationGap;
|
|
47
67
|
private restarting;
|
|
48
68
|
/** First check ~1h after start, then every UPDATE_CHECK_INTERVAL_HOURS. */
|
|
49
69
|
private scheduleUpdateCheck;
|
|
@@ -66,8 +86,6 @@ export declare class Daemon {
|
|
|
66
86
|
* its content with the new version — and exit.
|
|
67
87
|
*/
|
|
68
88
|
private selfRestart;
|
|
69
|
-
/** Scan recent daily logs for orphaned sessions (cross-day crash) */
|
|
70
|
-
private recoverOrphanedLogs;
|
|
71
89
|
private checkDayBoundary;
|
|
72
90
|
private getPidFilePath;
|
|
73
91
|
private ensureSingleInstance;
|
package/dist/daemon.js
CHANGED
|
@@ -3,15 +3,18 @@ import { spawn } from 'node:child_process';
|
|
|
3
3
|
import { join, resolve, basename } from 'node:path';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
5
|
import { loadConfig, loadSecrets, getDataDir, computeWorkingDate, writeConfig } from './core/config.js';
|
|
6
|
-
import { readDailyLog, writeDailyLog
|
|
6
|
+
import { readDailyLog, writeDailyLog } from './core/daily-log.js';
|
|
7
|
+
import { runStartupJanitor } from './core/janitor.js';
|
|
8
|
+
import { writeStopMarker, clearStopMarker } from './core/stop-marker.js';
|
|
7
9
|
import { GitTracker } from './collectors/git-tracker.js';
|
|
8
10
|
import { SessionTracker } from './core/session-tracker.js';
|
|
9
11
|
import { ActivityEvaluator } from './core/activity-evaluator.js';
|
|
12
|
+
import { checkGap } from './core/gap-detector.js';
|
|
10
13
|
import { UpdateManager } from './core/update-manager.js';
|
|
11
14
|
import { HttpServer } from './http-server.js';
|
|
12
15
|
import { StatusRenderer } from './core/status-renderer.js';
|
|
13
16
|
import { ClosedBy } from './core/types.js';
|
|
14
|
-
import { PID_FILE_NAME,
|
|
17
|
+
import { PID_FILE_NAME, UPDATE_CHECK_INTERVAL_HOURS, UPDATE_CHECK_JITTER_MINUTES, } from './core/constants.js';
|
|
15
18
|
export class Daemon {
|
|
16
19
|
config;
|
|
17
20
|
secrets;
|
|
@@ -31,6 +34,9 @@ export class Daemon {
|
|
|
31
34
|
running = false;
|
|
32
35
|
foreground = false;
|
|
33
36
|
startedAt = 0;
|
|
37
|
+
// Last moment the process was known to be alive (any timer fired).
|
|
38
|
+
// Used to detect observation gaps: PC sleep / hibernate / suspend.
|
|
39
|
+
lastAliveAt = 0;
|
|
34
40
|
// Serializes scheduled and forced ticks so parallel calls do not race
|
|
35
41
|
// over git polling, in-memory state or flush writes.
|
|
36
42
|
tickQueue = Promise.resolve();
|
|
@@ -41,13 +47,15 @@ export class Daemon {
|
|
|
41
47
|
await this.ensureSingleInstance();
|
|
42
48
|
this.currentDate = computeWorkingDate(Date.now(), this.config.schedule.end, this.config.timezone);
|
|
43
49
|
this.gitTracker = new GitTracker(this.config, this.secrets);
|
|
44
|
-
//
|
|
45
|
-
|
|
50
|
+
// Janitor: close orphaned sessions in past files (crash recovery),
|
|
51
|
+
// prune never-activated noise, delete factless day files.
|
|
52
|
+
const janitor = runStartupJanitor(this.currentDate);
|
|
53
|
+
if (janitor.recoveredSessions > 0 || janitor.prunedSessions > 0 || janitor.deletedFiles.length > 0) {
|
|
54
|
+
console.log(` Janitor: closed ${janitor.recoveredSessions} orphan(s), pruned ${janitor.prunedSessions} never-activated, deleted ${janitor.deletedFiles.length} empty file(s)`);
|
|
55
|
+
}
|
|
46
56
|
// Load today's log and close any orphaned sessions
|
|
47
57
|
const existingLog = readDailyLog(this.currentDate) ?? undefined;
|
|
48
58
|
this.sessionTracker = new SessionTracker(this.config, existingLog);
|
|
49
|
-
// Set dayStartedAt if not already set (first daemon start of the day)
|
|
50
|
-
this.sessionTracker.setDayStartedAt(new Date().toISOString());
|
|
51
59
|
const crashedCount = this.sessionTracker.closeCrashedSessions();
|
|
52
60
|
if (crashedCount > 0) {
|
|
53
61
|
this.sessionTracker.flush();
|
|
@@ -57,6 +65,9 @@ export class Daemon {
|
|
|
57
65
|
this.activityEvaluator = new ActivityEvaluator(this.config.session.diffPollSeconds);
|
|
58
66
|
this.sessionTracker.onSessionClosed = (sessionId) => this.activityEvaluator.removeSession(sessionId);
|
|
59
67
|
this.writePidFile();
|
|
68
|
+
// A starting daemon voids any manual-stop intent — the tray watchdog
|
|
69
|
+
// may resume guarding it.
|
|
70
|
+
clearStopMarker();
|
|
60
71
|
this.registerShutdownHandlers();
|
|
61
72
|
// HTTP API server
|
|
62
73
|
this.startedAt = Date.now();
|
|
@@ -73,6 +84,7 @@ export class Daemon {
|
|
|
73
84
|
getVersion: () => this.updateManager.getCurrentVersion(),
|
|
74
85
|
checkUpdate: () => this.updateManager.checkForUpdate(),
|
|
75
86
|
applyUpdate: () => this.applyUpdateNow(),
|
|
87
|
+
getWatchingRepos: () => this.gitTracker.getWatchingRepos(),
|
|
76
88
|
};
|
|
77
89
|
this.httpServer = new HttpServer(this.config.apiPort, deps);
|
|
78
90
|
await this.httpServer.start();
|
|
@@ -89,6 +101,7 @@ export class Daemon {
|
|
|
89
101
|
});
|
|
90
102
|
}
|
|
91
103
|
// First poll immediately, then on interval
|
|
104
|
+
this.lastAliveAt = Date.now();
|
|
92
105
|
await this.pollTick();
|
|
93
106
|
const pollMs = this.config.session.diffPollSeconds * 1000;
|
|
94
107
|
this.pollTimer = setInterval(() => void this.pollTick(), pollMs);
|
|
@@ -170,7 +183,13 @@ export class Daemon {
|
|
|
170
183
|
writeConfig(this.config);
|
|
171
184
|
return { ok: true };
|
|
172
185
|
}
|
|
173
|
-
|
|
186
|
+
/**
|
|
187
|
+
* Graceful stop. `manual` marks a user-initiated stop (CLI `workday stop`,
|
|
188
|
+
* tray Stop, Ctrl+C) — it writes the stop marker so the tray watchdog does
|
|
189
|
+
* not respawn the daemon. Self-update restarts pass false: the daemon is
|
|
190
|
+
* coming right back and must stay under the watchdog's guard.
|
|
191
|
+
*/
|
|
192
|
+
async stop(manual = true) {
|
|
174
193
|
if (!this.running)
|
|
175
194
|
return;
|
|
176
195
|
if (this.pollTimer)
|
|
@@ -188,6 +207,8 @@ export class Daemon {
|
|
|
188
207
|
this.sessionTracker.flush();
|
|
189
208
|
this.activityEvaluator.clear();
|
|
190
209
|
this.removePidFile();
|
|
210
|
+
if (manual)
|
|
211
|
+
writeStopMarker();
|
|
191
212
|
console.log('Daemon stopped.');
|
|
192
213
|
}
|
|
193
214
|
async stopAndExit() {
|
|
@@ -207,6 +228,13 @@ export class Daemon {
|
|
|
207
228
|
if (!this.running)
|
|
208
229
|
return;
|
|
209
230
|
try {
|
|
231
|
+
// 0a. Observation gap (PC sleep) — retro-pause everything at pre-gap
|
|
232
|
+
// lastSeenAt before any new activity is processed.
|
|
233
|
+
this.handleObservationGap(Date.now());
|
|
234
|
+
// 0b. Idle auto-close (honest end) — before processing new activity, so
|
|
235
|
+
// a long-idle session closes at its trimmed end and fresh activity
|
|
236
|
+
// births a new session instead of resuming a stale pause.
|
|
237
|
+
this.sessionTracker.closeIdleSessions(Date.now());
|
|
210
238
|
const baseShas = this.sessionTracker.getBaseShasPerRepoPath(this.config.repos);
|
|
211
239
|
const ledgerQueries = this.sessionTracker.getLedgerQueries(this.config.repos);
|
|
212
240
|
const results = await this.gitTracker.pollAll(baseShas, ledgerQueries);
|
|
@@ -218,7 +246,8 @@ export class Daemon {
|
|
|
218
246
|
const tickInputs = this.sessionTracker.buildTickInputs(results);
|
|
219
247
|
// 3. Evaluate activity scores and leadership
|
|
220
248
|
const evaluatorResult = this.activityEvaluator.processAllTicks(tickInputs);
|
|
221
|
-
// 4. Apply evaluator decisions (auto-pause/resume,
|
|
249
|
+
// 4. Apply evaluator decisions (auto-pause/resume, candidate
|
|
250
|
+
// promotion / drained-candidate evaporation)
|
|
222
251
|
this.sessionTracker.applyEvaluatorResult(evaluatorResult);
|
|
223
252
|
this.sessionTracker.flush();
|
|
224
253
|
if (this.statusRenderer) {
|
|
@@ -235,6 +264,37 @@ export class Daemon {
|
|
|
235
264
|
}
|
|
236
265
|
}
|
|
237
266
|
}
|
|
267
|
+
// ─── Observation gap (sleep / hibernate) ──────────────────────────────
|
|
268
|
+
/**
|
|
269
|
+
* Timers don't fire while the machine sleeps: the evaluator never decays
|
|
270
|
+
* and lastSeenAt never advances, so the first tick after wake-up would
|
|
271
|
+
* credit the whole gap as work. On a gap: every open unpaused session
|
|
272
|
+
* gets a retroactive idle pause at its pre-gap lastSeenAt; candidates and
|
|
273
|
+
* evaluator state are stale and dropped (real activity re-earns both);
|
|
274
|
+
* idle auto-close then immediately closes sessions whose gap already
|
|
275
|
+
* exceeds idleCloseHours — honest end at the last pre-sleep activity.
|
|
276
|
+
* A short gap stays a mid-session pause, auto-resumed by activity.
|
|
277
|
+
* Runs from both the poll tick and the day-boundary timer — whichever
|
|
278
|
+
* fires first after wake-up, and before rollover closes sessions.
|
|
279
|
+
*/
|
|
280
|
+
handleObservationGap(now) {
|
|
281
|
+
const check = checkGap(now, this.lastAliveAt, this.config.session.diffPollSeconds);
|
|
282
|
+
this.lastAliveAt = now;
|
|
283
|
+
if (check.kind === 'none')
|
|
284
|
+
return;
|
|
285
|
+
if (check.kind === 'clock_jump_back') {
|
|
286
|
+
console.warn(`[gap] clock jumped back ${Math.round(-check.gapMs / 1000)}s — re-anchored, no action`);
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
const paused = this.sessionTracker.applyGapPauses();
|
|
290
|
+
this.sessionTracker.dropAllCandidates();
|
|
291
|
+
this.activityEvaluator.clear();
|
|
292
|
+
this.sessionTracker.closeIdleSessions(now);
|
|
293
|
+
this.sessionTracker.flush();
|
|
294
|
+
if (!this.statusRenderer) {
|
|
295
|
+
console.log(`[gap] ${Math.round(check.gapMs / 60_000)}min observation gap — ${paused} session(s) retro-paused`);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
238
298
|
// ─── Self-update ───────────────────────────────────────────────────────
|
|
239
299
|
//
|
|
240
300
|
// Order is sacred: install new version → verify on disk → only then
|
|
@@ -329,7 +389,7 @@ export class Daemon {
|
|
|
329
389
|
return;
|
|
330
390
|
this.restarting = true;
|
|
331
391
|
console.log(`[update] restarting into v${targetVersion}...`);
|
|
332
|
-
await this.stop();
|
|
392
|
+
await this.stop(false);
|
|
333
393
|
const script = fileURLToPath(import.meta.url);
|
|
334
394
|
const child = spawn(process.execPath, [...process.execArgv, script], {
|
|
335
395
|
detached: true,
|
|
@@ -338,49 +398,30 @@ export class Daemon {
|
|
|
338
398
|
child.unref();
|
|
339
399
|
process.exit(0);
|
|
340
400
|
}
|
|
341
|
-
// ─── Crash recovery ────────────────────────────────────────────────────
|
|
342
|
-
/** Scan recent daily logs for orphaned sessions (cross-day crash) */
|
|
343
|
-
recoverOrphanedLogs() {
|
|
344
|
-
const lookbackDays = CRASH_RECOVERY_LOOKBACK_DAYS;
|
|
345
|
-
for (let i = 1; i <= lookbackDays; i++) {
|
|
346
|
-
const d = new Date(this.currentDate + 'T12:00:00Z');
|
|
347
|
-
d.setUTCDate(d.getUTCDate() - i);
|
|
348
|
-
const dateStr = `${d.getUTCFullYear()}-${String(d.getUTCMonth() + 1).padStart(2, '0')}-${String(d.getUTCDate()).padStart(2, '0')}`;
|
|
349
|
-
const log = readDailyLog(dateStr);
|
|
350
|
-
if (!log)
|
|
351
|
-
continue;
|
|
352
|
-
const openSessions = log.sessions.filter(s => !s.closedBy);
|
|
353
|
-
if (openSessions.length === 0)
|
|
354
|
-
continue;
|
|
355
|
-
for (const session of openSessions) {
|
|
356
|
-
const pause = getOpenPause(session);
|
|
357
|
-
if (pause)
|
|
358
|
-
pause.to = session.lastSeenAt;
|
|
359
|
-
session.closedBy = ClosedBy.DaemonCrash;
|
|
360
|
-
}
|
|
361
|
-
writeDailyLog(log);
|
|
362
|
-
console.log(` Crash recovery: closed ${openSessions.length} orphaned session(s) from ${dateStr}`);
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
401
|
// ─── Day boundary ─────────────────────────────────────────────────────
|
|
366
402
|
checkDayBoundary() {
|
|
403
|
+
// Gap check first: after a sleep across the boundary the sessions must
|
|
404
|
+
// be retro-paused/closed at their honest ends BEFORE rollover closes
|
|
405
|
+
// them at the wake-up moment.
|
|
406
|
+
this.handleObservationGap(Date.now());
|
|
367
407
|
// Piggyback on the 60s boundary timer: pending updates wait here for a
|
|
368
408
|
// quiet window instead of having their own restart poller.
|
|
369
409
|
this.maybeRestartIntoUpdate();
|
|
370
410
|
const newDate = computeWorkingDate(Date.now(), this.config.schedule.end, this.config.timezone);
|
|
371
411
|
if (newDate === this.currentDate)
|
|
372
412
|
return;
|
|
373
|
-
|
|
374
|
-
|
|
413
|
+
// Lazy rollover: an empty day writes nothing and says nothing.
|
|
414
|
+
const { oldLog, materialized } = this.sessionTracker.handleDayBoundary();
|
|
415
|
+
if (materialized)
|
|
416
|
+
writeDailyLog(oldLog);
|
|
375
417
|
this.activityEvaluator.clear();
|
|
376
|
-
const sessionCount = oldLog.sessions.length;
|
|
377
418
|
this.currentDate = newDate;
|
|
378
419
|
if (this.statusRenderer) {
|
|
379
420
|
this.statusRenderer.updateDate(newDate);
|
|
380
421
|
this.statusRenderer.render();
|
|
381
422
|
}
|
|
382
|
-
else {
|
|
383
|
-
console.log(`[day] ${oldLog.date} closed (${
|
|
423
|
+
else if (materialized) {
|
|
424
|
+
console.log(`[day] ${oldLog.date} closed (${oldLog.sessions.length} sessions) → ${newDate}`);
|
|
384
425
|
}
|
|
385
426
|
}
|
|
386
427
|
// ─── PID file ──────────────────────────────────────────────────────────
|
package/dist/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
|
package/dist/http-server.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { SessionTracker } from './core/session-tracker.js';
|
|
2
|
-
import type { AppConfig, UpdateCheckResponse, UpdateApplyResponse } from './core/types.js';
|
|
2
|
+
import type { AppConfig, SessionDetail, UpdateCheckResponse, UpdateApplyResponse, WatchingRepo } from './core/types.js';
|
|
3
|
+
import { SensitivityLevel } from './core/types.js';
|
|
3
4
|
export interface HttpServerDeps {
|
|
4
5
|
readonly sessionTracker: SessionTracker;
|
|
5
6
|
readonly config: AppConfig;
|
|
@@ -30,7 +31,13 @@ export interface HttpServerDeps {
|
|
|
30
31
|
readonly checkUpdate: () => Promise<UpdateCheckResponse>;
|
|
31
32
|
/** Install latest + graceful self-restart (skips the quiet window). */
|
|
32
33
|
readonly applyUpdate: () => Promise<UpdateApplyResponse>;
|
|
34
|
+
/** Repos on a task branch as of the last poll — watching-card synthesis. */
|
|
35
|
+
readonly getWatchingRepos: () => readonly WatchingRepo[];
|
|
33
36
|
}
|
|
37
|
+
/** Watching repos that still need a synthetic card (no session, no candidate). */
|
|
38
|
+
export declare function selectWatchingRepos(watching: readonly WatchingRepo[], occupiedRepos: ReadonlySet<string>): readonly WatchingRepo[];
|
|
39
|
+
/** Synthetic PENDING card for a watched repo — zeros, real sensitivity. */
|
|
40
|
+
export declare function buildWatchingCard(repo: WatchingRepo, sensitivity: SensitivityLevel, now: string): SessionDetail;
|
|
34
41
|
export declare class HttpServer {
|
|
35
42
|
private server;
|
|
36
43
|
private readonly port;
|
|
@@ -46,6 +53,7 @@ export declare class HttpServer {
|
|
|
46
53
|
private handleSensitivity;
|
|
47
54
|
private handleResume;
|
|
48
55
|
private handleAdjust;
|
|
56
|
+
private handleSessionDelete;
|
|
49
57
|
private handleAddManualEntry;
|
|
50
58
|
private handleUpdateManualEntry;
|
|
51
59
|
private handleActivityTypes;
|
|
@@ -55,6 +63,8 @@ export declare class HttpServer {
|
|
|
55
63
|
private handleRemoveRepo;
|
|
56
64
|
private handleDay;
|
|
57
65
|
private handleDays;
|
|
66
|
+
/** Candidates + watching repos that need synthetic cards (A-6). */
|
|
67
|
+
private collectLiveExtras;
|
|
58
68
|
private toSessionSummary;
|
|
59
69
|
private sendJson;
|
|
60
70
|
private readBody;
|