workday-daemon 0.3.6 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +21 -17
- package/dist/cli.js.map +1 -1
- package/dist/collectors/git-client.d.ts +5 -3
- package/dist/collectors/git-client.js +32 -10
- package/dist/collectors/git-client.js.map +1 -1
- package/dist/collectors/git-tracker.d.ts +8 -2
- package/dist/collectors/git-tracker.js +27 -5
- package/dist/collectors/git-tracker.js.map +1 -1
- package/dist/collectors/snapshot-parser.d.ts +9 -0
- package/dist/collectors/snapshot-parser.js +7 -0
- package/dist/collectors/snapshot-parser.js.map +1 -1
- package/dist/core/activity-evaluator.d.ts +3 -3
- package/dist/core/activity-evaluator.js +7 -10
- package/dist/core/activity-evaluator.js.map +1 -1
- package/dist/core/config.d.ts +11 -0
- package/dist/core/config.js +45 -3
- package/dist/core/config.js.map +1 -1
- package/dist/core/constants.d.ts +20 -5
- package/dist/core/constants.js +10 -5
- package/dist/core/constants.js.map +1 -1
- package/dist/core/session-tracker.d.ts +22 -6
- package/dist/core/session-tracker.js +80 -47
- package/dist/core/session-tracker.js.map +1 -1
- package/dist/core/status-renderer.js +3 -3
- package/dist/core/status-renderer.js.map +1 -1
- package/dist/core/types.d.ts +34 -4
- package/dist/core/types.js +8 -0
- package/dist/core/types.js.map +1 -1
- package/dist/daemon.js +2 -1
- package/dist/daemon.js.map +1 -1
- package/dist/http-server.d.ts +1 -1
- package/dist/http-server.js +20 -11
- package/dist/http-server.js.map +1 -1
- package/package.json +1 -1
package/dist/core/config.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { readFileSync, existsSync } from 'node:fs';
|
|
2
|
-
import { join, dirname } from 'node:path';
|
|
1
|
+
import { readFileSync, existsSync, writeFileSync, renameSync } from 'node:fs';
|
|
2
|
+
import { join, dirname, basename } from 'node:path';
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
|
-
import {
|
|
5
|
+
import { SensitivityLevel } from './types.js';
|
|
6
|
+
import { CONFIG_FILE_NAME, SECRETS_FILE_NAME, DATA_DIR_NAME, DEFAULT_API_PORT, DEFAULT_SENSITIVITY, SENSITIVITY_TIMEOUTS, TMP_EXTENSION } from './constants.js';
|
|
6
7
|
/** Find the directory containing this package's package.json */
|
|
7
8
|
function findPackageRoot() {
|
|
8
9
|
let dir = dirname(fileURLToPath(import.meta.url));
|
|
@@ -72,6 +73,20 @@ function validateConfig(config) {
|
|
|
72
73
|
if (!config.session?.diffPollSeconds || config.session.diffPollSeconds < 5) {
|
|
73
74
|
throw new Error('config.json: session.diffPollSeconds must be >= 5');
|
|
74
75
|
}
|
|
76
|
+
if (!isValidSensitivity(config.sensitivity.default)) {
|
|
77
|
+
throw new Error(`config.json: invalid sensitivity.default "${config.sensitivity.default}"`);
|
|
78
|
+
}
|
|
79
|
+
for (const [repo, level] of Object.entries(config.sensitivity.perRepo)) {
|
|
80
|
+
if (!isValidSensitivity(level)) {
|
|
81
|
+
throw new Error(`config.json: invalid sensitivity.perRepo[${repo}] "${level}"`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function isValidSensitivity(level) {
|
|
86
|
+
return level === SensitivityLevel.Low
|
|
87
|
+
|| level === SensitivityLevel.Normal
|
|
88
|
+
|| level === SensitivityLevel.Patient
|
|
89
|
+
|| level === SensitivityLevel.AlwaysOn;
|
|
75
90
|
}
|
|
76
91
|
function validateSecrets(secrets) {
|
|
77
92
|
if (!secrets.Developer) {
|
|
@@ -92,15 +107,42 @@ export function loadConfig() {
|
|
|
92
107
|
raw.schedule = { start: 10, end: raw.dayBoundaryHour };
|
|
93
108
|
delete raw.dayBoundaryHour;
|
|
94
109
|
}
|
|
110
|
+
const rawSensitivity = (raw.sensitivity ?? {});
|
|
111
|
+
const sensitivity = {
|
|
112
|
+
default: rawSensitivity.default ?? DEFAULT_SENSITIVITY,
|
|
113
|
+
perRepo: rawSensitivity.perRepo ?? {},
|
|
114
|
+
};
|
|
95
115
|
const config = {
|
|
96
116
|
...raw,
|
|
97
117
|
schedule: raw.schedule ?? { start: 10, end: 4 },
|
|
98
118
|
apiPort: raw.apiPort ?? DEFAULT_API_PORT,
|
|
99
119
|
timezone: raw.timezone ?? systemTimezone,
|
|
120
|
+
sensitivity,
|
|
100
121
|
};
|
|
101
122
|
validateConfig(config);
|
|
102
123
|
return config;
|
|
103
124
|
}
|
|
125
|
+
/** Atomic write of config.json — tmp + rename, preserves formatting. */
|
|
126
|
+
export function writeConfig(config) {
|
|
127
|
+
const configPath = join(WORKDAY_HOME, CONFIG_FILE_NAME);
|
|
128
|
+
const tmpPath = configPath + TMP_EXTENSION;
|
|
129
|
+
writeFileSync(tmpPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
130
|
+
renameSync(tmpPath, configPath);
|
|
131
|
+
}
|
|
132
|
+
/** Resolve sensitivity for a repo (perRepo override → default). repo is either path or basename. */
|
|
133
|
+
export function getSensitivityForRepo(config, repo) {
|
|
134
|
+
const name = basename(repo);
|
|
135
|
+
return config.sensitivity.perRepo[name] ?? config.sensitivity.perRepo[repo] ?? config.sensitivity.default;
|
|
136
|
+
}
|
|
137
|
+
/** Resolve (minTicks, maxTicks, ignoreIdleTimeout) for evaluator from sensitivity. */
|
|
138
|
+
export function resolveSensitivityTicks(level, pollSeconds) {
|
|
139
|
+
const t = SENSITIVITY_TIMEOUTS[level];
|
|
140
|
+
return {
|
|
141
|
+
minTicks: t.min * 60 / pollSeconds,
|
|
142
|
+
maxTicks: t.max * 60 / pollSeconds,
|
|
143
|
+
ignoreIdleTimeout: level === SensitivityLevel.AlwaysOn,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
104
146
|
export function loadSecrets() {
|
|
105
147
|
const secretsPath = join(WORKDAY_HOME, SECRETS_FILE_NAME);
|
|
106
148
|
if (!existsSync(secretsPath)) {
|
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
package/dist/core/constants.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare const BACKUP_EXTENSION = ".bak";
|
|
|
7
7
|
export declare const DAEMON_SCRIPT_TS = "daemon.ts";
|
|
8
8
|
export declare const DAEMON_SCRIPT_JS = "daemon.js";
|
|
9
9
|
export declare const DEFAULT_API_PORT = 9213;
|
|
10
|
-
export declare const API_VERSION =
|
|
10
|
+
export declare const API_VERSION = 6;
|
|
11
11
|
export declare const LOCK_EXTENSION = ".lock";
|
|
12
12
|
export declare const LOCK_STALE_MS = 10000;
|
|
13
13
|
export declare const GIT_BATCH_SEPARATOR = "---WORKDAY-SEP---";
|
|
@@ -24,10 +24,6 @@ export declare const MAX_BODY_BYTES = 4096;
|
|
|
24
24
|
export declare const DAEMON_START_MAX_ATTEMPTS = 25;
|
|
25
25
|
export declare const DAEMON_START_POLL_MS = 200;
|
|
26
26
|
export declare const MS_PER_MINUTE = 60000;
|
|
27
|
-
/** Min inactivity timeout (when developer is frequently active) */
|
|
28
|
-
export declare const MIN_TIMEOUT_MINUTES = 15;
|
|
29
|
-
/** Max inactivity timeout (when developer is rarely active) */
|
|
30
|
-
export declare const MAX_TIMEOUT_MINUTES = 45;
|
|
31
27
|
/** Smoothing window for activity frequency */
|
|
32
28
|
export declare const EMA_WINDOW_MINUTES = 10;
|
|
33
29
|
/** Fraction of max score awarded per active tick */
|
|
@@ -40,3 +36,22 @@ export declare const MAGNITUDE_BONUS_MAX = 0.5;
|
|
|
40
36
|
export declare const COMMIT_BONUS_SECONDS = 150;
|
|
41
37
|
/** Constant per-tick score drain */
|
|
42
38
|
export declare const BASE_DECAY = 1;
|
|
39
|
+
export declare const SENSITIVITY_TIMEOUTS: {
|
|
40
|
+
readonly low: {
|
|
41
|
+
readonly min: 10;
|
|
42
|
+
readonly max: 15;
|
|
43
|
+
};
|
|
44
|
+
readonly normal: {
|
|
45
|
+
readonly min: 15;
|
|
46
|
+
readonly max: 45;
|
|
47
|
+
};
|
|
48
|
+
readonly patient: {
|
|
49
|
+
readonly min: 30;
|
|
50
|
+
readonly max: 90;
|
|
51
|
+
};
|
|
52
|
+
readonly always_on: {
|
|
53
|
+
readonly min: 15;
|
|
54
|
+
readonly max: 45;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
export declare const DEFAULT_SENSITIVITY = "normal";
|
package/dist/core/constants.js
CHANGED
|
@@ -10,7 +10,7 @@ export const DAEMON_SCRIPT_TS = 'daemon.ts';
|
|
|
10
10
|
export const DAEMON_SCRIPT_JS = 'daemon.js';
|
|
11
11
|
// ─── HTTP API ──────────────────────────────────────────────────────────
|
|
12
12
|
export const DEFAULT_API_PORT = 9213;
|
|
13
|
-
export const API_VERSION =
|
|
13
|
+
export const API_VERSION = 6;
|
|
14
14
|
// ─── File locking ──────────────────────────────────────────────────────
|
|
15
15
|
export const LOCK_EXTENSION = '.lock';
|
|
16
16
|
export const LOCK_STALE_MS = 10_000;
|
|
@@ -36,10 +36,6 @@ export const DAEMON_START_POLL_MS = 200;
|
|
|
36
36
|
// ─── Time conversions ──────────────────────────────────────────────────
|
|
37
37
|
export const MS_PER_MINUTE = 60_000;
|
|
38
38
|
// ─── Activity Evaluator algorithm constants ─────────────────────────────
|
|
39
|
-
/** Min inactivity timeout (when developer is frequently active) */
|
|
40
|
-
export const MIN_TIMEOUT_MINUTES = 15;
|
|
41
|
-
/** Max inactivity timeout (when developer is rarely active) */
|
|
42
|
-
export const MAX_TIMEOUT_MINUTES = 45;
|
|
43
39
|
/** Smoothing window for activity frequency */
|
|
44
40
|
export const EMA_WINDOW_MINUTES = 10;
|
|
45
41
|
/** Fraction of max score awarded per active tick */
|
|
@@ -52,4 +48,13 @@ export const MAGNITUDE_BONUS_MAX = 0.5;
|
|
|
52
48
|
export const COMMIT_BONUS_SECONDS = 150;
|
|
53
49
|
/** Constant per-tick score drain */
|
|
54
50
|
export const BASE_DECAY = 1;
|
|
51
|
+
// ─── Sensitivity → (min, max) timeout in minutes ─────────────────────────
|
|
52
|
+
// AlwaysOn uses Normal numbers but isIdleTimeout is ignored at apply stage.
|
|
53
|
+
export const SENSITIVITY_TIMEOUTS = {
|
|
54
|
+
low: { min: 10, max: 15 },
|
|
55
|
+
normal: { min: 15, max: 45 },
|
|
56
|
+
patient: { min: 30, max: 90 },
|
|
57
|
+
always_on: { min: 15, max: 45 },
|
|
58
|
+
};
|
|
59
|
+
export const DEFAULT_SENSITIVITY = 'normal';
|
|
55
60
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAChD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;AAC3C,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AACpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEvC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAC5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAE5C,0EAA0E;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAE7B,0EAA0E;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AACtC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AAEpC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAErD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAE9C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAEnC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAC5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,0EAA0E;AAC1E,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AAEpC,2EAA2E;AAC3E,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAChD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;AAC3C,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AACpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEvC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAC5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAE5C,0EAA0E;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAE7B,0EAA0E;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AACtC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AAEpC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAErD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAE9C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAEnC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAC5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,0EAA0E;AAC1E,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AAEpC,2EAA2E;AAC3E,8CAA8C;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,oDAAoD;AACpD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,oDAAoD;AACpD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AACjC,oDAAoD;AACpD,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,oCAAoC;AACpC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAE5B,4EAA4E;AAC5E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,GAAG,EAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;IAC/B,MAAM,EAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;IAC/B,OAAO,EAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;IAC/B,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;CACvB,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ClosedBy } from './types.js';
|
|
1
|
+
import { ClosedBy, SensitivityLevel } from './types.js';
|
|
2
2
|
import type { AppConfig, DailyLog, Session, PollResult, TickInput, EvaluatorResult } from './types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Manages session lifecycle within a DailyLog.
|
|
@@ -25,7 +25,6 @@ import type { AppConfig, DailyLog, Session, PollResult, TickInput, EvaluatorResu
|
|
|
25
25
|
export declare class SessionTracker {
|
|
26
26
|
private dailyLog;
|
|
27
27
|
private readonly config;
|
|
28
|
-
private readonly autoPauseDisabledSessions;
|
|
29
28
|
private lastEvaluatorResult;
|
|
30
29
|
onSessionClosed: ((sessionId: string) => void) | null;
|
|
31
30
|
constructor(config: AppConfig, initialLog?: DailyLog);
|
|
@@ -85,14 +84,25 @@ export declare class SessionTracker {
|
|
|
85
84
|
flush(): void;
|
|
86
85
|
/** Get summary of open sessions (for status display) */
|
|
87
86
|
getOpenSessions(): readonly Session[];
|
|
87
|
+
/**
|
|
88
|
+
* Resolve baseSha per configured repoPath for the next poll tick — used by
|
|
89
|
+
* GitTracker to build `git diff baseSha` / `git rev-list baseSha..HEAD`.
|
|
90
|
+
* Returns null for repos with no open session yet.
|
|
91
|
+
*/
|
|
92
|
+
getBaseShasPerRepoPath(repoPaths: readonly string[]): Map<string, string | null>;
|
|
88
93
|
/** Build TickInput[] for all open sessions (except manually paused) */
|
|
89
94
|
buildTickInputs(pollResults: readonly PollResult[]): readonly TickInput[];
|
|
90
95
|
/** Apply evaluator results: auto-pause, auto-resume, Pending→Active promotion */
|
|
91
96
|
applyEvaluatorResult(result: EvaluatorResult): void;
|
|
92
97
|
getLastEvaluatorResult(): EvaluatorResult | null;
|
|
93
|
-
/**
|
|
94
|
-
|
|
95
|
-
|
|
98
|
+
/**
|
|
99
|
+
* Set sensitivity for a repo (perRepo override) or global default.
|
|
100
|
+
* Persisted to config.json immediately. Auto-resumes manual pause on the
|
|
101
|
+
* affected repos as a side effect — switching off Pause via the scale pill.
|
|
102
|
+
*/
|
|
103
|
+
setSensitivity(level: SensitivityLevel, repoName?: string): void;
|
|
104
|
+
/** Current sensitivity for a repo (perRepo override → default). */
|
|
105
|
+
getSensitivity(repoName: string): SensitivityLevel;
|
|
96
106
|
/** Pause all open sessions */
|
|
97
107
|
pauseAllSessions(): void;
|
|
98
108
|
/** Pause a specific repo's open session. Returns true if a session was paused. */
|
|
@@ -103,6 +113,8 @@ export declare class SessionTracker {
|
|
|
103
113
|
hasOpenPause(session: Session): boolean;
|
|
104
114
|
private findOpenSession;
|
|
105
115
|
private openSession;
|
|
116
|
+
/** Most-recent baseSha among today's sessions on the same (repo, task). */
|
|
117
|
+
private findPriorBaseSha;
|
|
106
118
|
private closeSession;
|
|
107
119
|
private closeOpenPause;
|
|
108
120
|
private getOpenPauseSource;
|
|
@@ -110,7 +122,11 @@ export declare class SessionTracker {
|
|
|
110
122
|
private applyAutoPause;
|
|
111
123
|
/** Close auto-pause (IdleTimeout or Superseded) if present */
|
|
112
124
|
private closeAutoPause;
|
|
125
|
+
/**
|
|
126
|
+
* Apply one poll tick: capture baseSha on first contact, then overwrite
|
|
127
|
+
* evidence from the PR-equivalent snapshot. Snapshot is null on the first
|
|
128
|
+
* tick (no baseSha to query against); subsequent ticks fill it in.
|
|
129
|
+
*/
|
|
113
130
|
private updateSessionTick;
|
|
114
|
-
private creditReflogEvidence;
|
|
115
131
|
private logSignals;
|
|
116
132
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { basename } from 'node:path';
|
|
2
2
|
import { SessionState, ClosedBy, SignalType, PauseSource } from './types.js';
|
|
3
3
|
import { generateSessionId, createEmptyEvidence, createEmptyLog, writeDailyLog, addSignal, isBudgetExhausted, addManualAdjustment, setDayManualStart, resolveSessionTarget, computeManualMinutes, getRemainingBudgetMs, getOpenPause, } from './daily-log.js';
|
|
4
|
-
import { computeWorkingDate } from './config.js';
|
|
4
|
+
import { computeWorkingDate, getSensitivityForRepo, resolveSensitivityTicks, writeConfig } from './config.js';
|
|
5
5
|
/**
|
|
6
6
|
* Manages session lifecycle within a DailyLog.
|
|
7
7
|
*
|
|
@@ -27,7 +27,6 @@ import { computeWorkingDate } from './config.js';
|
|
|
27
27
|
export class SessionTracker {
|
|
28
28
|
dailyLog;
|
|
29
29
|
config;
|
|
30
|
-
autoPauseDisabledSessions = new Set();
|
|
31
30
|
lastEvaluatorResult = null;
|
|
32
31
|
onSessionClosed = null;
|
|
33
32
|
constructor(config, initialLog) {
|
|
@@ -52,6 +51,8 @@ export class SessionTracker {
|
|
|
52
51
|
session.evidence.linesRemoved = 0;
|
|
53
52
|
if (session.evidence.filesChanged === undefined)
|
|
54
53
|
session.evidence.filesChanged = 0;
|
|
54
|
+
if (session.baseSha === undefined)
|
|
55
|
+
session.baseSha = null;
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
getDailyLog() {
|
|
@@ -88,11 +89,8 @@ export class SessionTracker {
|
|
|
88
89
|
}
|
|
89
90
|
// Auto-pauses (IdleTimeout/Superseded) — fall through, normal processing
|
|
90
91
|
}
|
|
91
|
-
// 1.
|
|
92
|
-
|
|
93
|
-
this.creditReflogEvidence(openSession, result.newReflogEntries);
|
|
94
|
-
}
|
|
95
|
-
// 2. Log signals
|
|
92
|
+
// 1. Log signals (reflog evidence is now derived from `git rev-list baseSha..HEAD`
|
|
93
|
+
// each tick, not accumulated from reflog entries — see updateSessionTick).
|
|
96
94
|
this.logSignals(repoName, result);
|
|
97
95
|
// 3. Handle session lifecycle
|
|
98
96
|
if (result.task === null) {
|
|
@@ -167,7 +165,6 @@ export class SessionTracker {
|
|
|
167
165
|
const completedLog = this.dailyLog;
|
|
168
166
|
const newDate = computeWorkingDate(Date.now(), this.config.schedule.end, this.config.timezone);
|
|
169
167
|
this.dailyLog = createEmptyLog(newDate, this.config);
|
|
170
|
-
this.autoPauseDisabledSessions.clear();
|
|
171
168
|
this.lastEvaluatorResult = null;
|
|
172
169
|
return completedLog;
|
|
173
170
|
}
|
|
@@ -230,6 +227,20 @@ export class SessionTracker {
|
|
|
230
227
|
getOpenSessions() {
|
|
231
228
|
return this.dailyLog.sessions.filter(s => !s.closedBy);
|
|
232
229
|
}
|
|
230
|
+
/**
|
|
231
|
+
* Resolve baseSha per configured repoPath for the next poll tick — used by
|
|
232
|
+
* GitTracker to build `git diff baseSha` / `git rev-list baseSha..HEAD`.
|
|
233
|
+
* Returns null for repos with no open session yet.
|
|
234
|
+
*/
|
|
235
|
+
getBaseShasPerRepoPath(repoPaths) {
|
|
236
|
+
const map = new Map();
|
|
237
|
+
for (const repoPath of repoPaths) {
|
|
238
|
+
const name = basename(repoPath);
|
|
239
|
+
const session = this.dailyLog.sessions.find(s => !s.closedBy && s.repo === name);
|
|
240
|
+
map.set(repoPath, session?.baseSha ?? null);
|
|
241
|
+
}
|
|
242
|
+
return map;
|
|
243
|
+
}
|
|
233
244
|
// ─── Evaluator integration ────────────────────────────────────────────
|
|
234
245
|
/** Build TickInput[] for all open sessions (except manually paused) */
|
|
235
246
|
buildTickInputs(pollResults) {
|
|
@@ -237,6 +248,7 @@ export class SessionTracker {
|
|
|
237
248
|
for (const r of pollResults) {
|
|
238
249
|
resultMap.set(basename(r.repoPath), r);
|
|
239
250
|
}
|
|
251
|
+
const pollSeconds = this.config.session.diffPollSeconds;
|
|
240
252
|
const ticks = [];
|
|
241
253
|
for (const session of this.dailyLog.sessions) {
|
|
242
254
|
if (session.closedBy)
|
|
@@ -253,10 +265,14 @@ export class SessionTracker {
|
|
|
253
265
|
deltaMagnitude: Math.abs(poll.delta.addedDelta) + Math.abs(poll.delta.removedDelta),
|
|
254
266
|
}
|
|
255
267
|
: { hasDynamics: false, hasCommit: false, deltaMagnitude: 0 };
|
|
268
|
+
const level = getSensitivityForRepo(this.config, session.repo);
|
|
269
|
+
const { minTicks, maxTicks, ignoreIdleTimeout } = resolveSensitivityTicks(level, pollSeconds);
|
|
256
270
|
ticks.push({
|
|
257
271
|
sessionId: session.id,
|
|
258
272
|
signals,
|
|
259
|
-
|
|
273
|
+
minTicks,
|
|
274
|
+
maxTicks,
|
|
275
|
+
ignoreIdleTimeout,
|
|
260
276
|
});
|
|
261
277
|
}
|
|
262
278
|
return ticks;
|
|
@@ -278,10 +294,8 @@ export class SessionTracker {
|
|
|
278
294
|
this.closeAutoPause(session, now);
|
|
279
295
|
}
|
|
280
296
|
else if (sessionScore.isIdleTimeout) {
|
|
281
|
-
// score == 0
|
|
282
|
-
|
|
283
|
-
this.applyAutoPause(session, PauseSource.IdleTimeout, now);
|
|
284
|
-
}
|
|
297
|
+
// score == 0 with idle-timeout eligible (Always-on already filtered upstream)
|
|
298
|
+
this.applyAutoPause(session, PauseSource.IdleTimeout, now);
|
|
285
299
|
}
|
|
286
300
|
else {
|
|
287
301
|
// score > 0 but not leader → Superseded
|
|
@@ -300,27 +314,36 @@ export class SessionTracker {
|
|
|
300
314
|
getLastEvaluatorResult() {
|
|
301
315
|
return this.lastEvaluatorResult;
|
|
302
316
|
}
|
|
303
|
-
// ───
|
|
304
|
-
/**
|
|
305
|
-
|
|
306
|
-
|
|
317
|
+
// ─── Sensitivity management ──────────────────────────────────────────
|
|
318
|
+
/**
|
|
319
|
+
* Set sensitivity for a repo (perRepo override) or global default.
|
|
320
|
+
* Persisted to config.json immediately. Auto-resumes manual pause on the
|
|
321
|
+
* affected repos as a side effect — switching off Pause via the scale pill.
|
|
322
|
+
*/
|
|
323
|
+
setSensitivity(level, repoName) {
|
|
324
|
+
if (repoName) {
|
|
325
|
+
this.config.sensitivity.perRepo[repoName] = level;
|
|
326
|
+
}
|
|
327
|
+
else {
|
|
328
|
+
this.config.sensitivity.default = level;
|
|
329
|
+
}
|
|
330
|
+
writeConfig(this.config);
|
|
331
|
+
// Side effect: any manual pause on the affected repo(s) is closed —
|
|
332
|
+
// picking a sensitivity pill implicitly resumes the session.
|
|
333
|
+
const now = new Date().toISOString();
|
|
307
334
|
for (const session of this.dailyLog.sessions) {
|
|
308
335
|
if (session.closedBy)
|
|
309
336
|
continue;
|
|
310
337
|
if (repoName && session.repo !== repoName)
|
|
311
338
|
continue;
|
|
312
|
-
if (
|
|
313
|
-
this.
|
|
314
|
-
}
|
|
315
|
-
else {
|
|
316
|
-
this.autoPauseDisabledSessions.delete(session.id);
|
|
339
|
+
if (this.getOpenPauseSource(session) === PauseSource.Manual) {
|
|
340
|
+
this.closeOpenPause(session, now);
|
|
317
341
|
}
|
|
318
|
-
affected.push(session.repo);
|
|
319
342
|
}
|
|
320
|
-
return affected;
|
|
321
343
|
}
|
|
322
|
-
|
|
323
|
-
|
|
344
|
+
/** Current sensitivity for a repo (perRepo override → default). */
|
|
345
|
+
getSensitivity(repoName) {
|
|
346
|
+
return getSensitivityForRepo(this.config, repoName);
|
|
324
347
|
}
|
|
325
348
|
// ─── Pause / Resume ──────────────────────────────────────────────────
|
|
326
349
|
/** Pause all open sessions */
|
|
@@ -372,10 +395,25 @@ export class SessionTracker {
|
|
|
372
395
|
evidence: createEmptyEvidence(),
|
|
373
396
|
pauses: [],
|
|
374
397
|
manualAdjustments: [],
|
|
398
|
+
// Continued work on the same repo+task today should keep the PR-equivalent
|
|
399
|
+
// baseline. If no prior session is found, the first poll will fill it from
|
|
400
|
+
// currentHead — see updateSessionTick.
|
|
401
|
+
baseSha: this.findPriorBaseSha(repo, task),
|
|
375
402
|
};
|
|
376
403
|
this.dailyLog.sessions.push(session);
|
|
377
404
|
return session;
|
|
378
405
|
}
|
|
406
|
+
/** Most-recent baseSha among today's sessions on the same (repo, task). */
|
|
407
|
+
findPriorBaseSha(repo, task) {
|
|
408
|
+
if (!task)
|
|
409
|
+
return null;
|
|
410
|
+
for (let i = this.dailyLog.sessions.length - 1; i >= 0; i--) {
|
|
411
|
+
const s = this.dailyLog.sessions[i];
|
|
412
|
+
if (s.repo === repo && s.task === task && s.baseSha)
|
|
413
|
+
return s.baseSha;
|
|
414
|
+
}
|
|
415
|
+
return null;
|
|
416
|
+
}
|
|
379
417
|
closeSession(session, reason, now) {
|
|
380
418
|
if (session.closedBy)
|
|
381
419
|
return; // already closed
|
|
@@ -384,7 +422,6 @@ export class SessionTracker {
|
|
|
384
422
|
session.closedBy = reason;
|
|
385
423
|
session.lastSeenAt = now;
|
|
386
424
|
// state stays as 'pending' or 'active' — preserved for reporting
|
|
387
|
-
this.autoPauseDisabledSessions.delete(session.id);
|
|
388
425
|
this.onSessionClosed?.(session.id);
|
|
389
426
|
}
|
|
390
427
|
closeOpenPause(session, now) {
|
|
@@ -417,29 +454,25 @@ export class SessionTracker {
|
|
|
417
454
|
}
|
|
418
455
|
}
|
|
419
456
|
// ─── Private: tick update ──────────────────────────────────────────────
|
|
457
|
+
/**
|
|
458
|
+
* Apply one poll tick: capture baseSha on first contact, then overwrite
|
|
459
|
+
* evidence from the PR-equivalent snapshot. Snapshot is null on the first
|
|
460
|
+
* tick (no baseSha to query against); subsequent ticks fill it in.
|
|
461
|
+
*/
|
|
420
462
|
updateSessionTick(session, result, now) {
|
|
421
463
|
session.lastSeenAt = now;
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
if (result.delta.removedDelta > 0) {
|
|
427
|
-
session.evidence.linesRemoved += result.delta.removedDelta;
|
|
428
|
-
}
|
|
429
|
-
// Track max concurrent files changed (high water mark)
|
|
430
|
-
if (result.snapshot.trackedFileCount > session.evidence.filesChanged) {
|
|
431
|
-
session.evidence.filesChanged = result.snapshot.trackedFileCount;
|
|
464
|
+
if (session.baseSha === null) {
|
|
465
|
+
session.baseSha = result.currentHead;
|
|
466
|
+
// Evidence stays at zeros until next tick — baseSha and HEAD are equal here.
|
|
467
|
+
return;
|
|
432
468
|
}
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
else if (entry.type === 'checkout' || entry.type === 'reset') {
|
|
441
|
-
session.evidence.reflogEvents++;
|
|
442
|
-
}
|
|
469
|
+
if (result.evidenceSnapshot !== null) {
|
|
470
|
+
session.evidence.commits = result.evidenceSnapshot.commits;
|
|
471
|
+
session.evidence.linesAdded = result.evidenceSnapshot.linesAdded;
|
|
472
|
+
session.evidence.linesRemoved = result.evidenceSnapshot.linesRemoved;
|
|
473
|
+
session.evidence.filesChanged = result.evidenceSnapshot.filesChanged;
|
|
474
|
+
// reflogEvents is left untouched — preserved for log compatibility but no
|
|
475
|
+
// longer surfaced in the UI.
|
|
443
476
|
}
|
|
444
477
|
}
|
|
445
478
|
// ─── Private: signals ──────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-tracker.js","sourceRoot":"","sources":["../../src/core/session-tracker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-tracker.js","sourceRoot":"","sources":["../../src/core/session-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,9 +78,9 @@ export class StatusRenderer {
|
|
|
78
78
|
badge = `${YELLOW}PENDING${RESET}`;
|
|
79
79
|
}
|
|
80
80
|
const dot = (!isPaused && session.state === 'active') ? ` ${GREEN}●${RESET}` : '';
|
|
81
|
-
const
|
|
81
|
+
const sens = ` ${DIM}[${tracker.getSensitivity(session.repo).toUpperCase()}]${RESET}`;
|
|
82
82
|
const COL1 = 18; // first value column width
|
|
83
|
-
lines.push(` ${DIM}#${globalIdx}${RESET} ${BOLD}${repoLabel}${RESET}${dot} ${badge}${
|
|
83
|
+
lines.push(` ${DIM}#${globalIdx}${RESET} ${BOLD}${repoLabel}${RESET}${dot} ${badge}${sens}`);
|
|
84
84
|
const L = (label) => `${INDENT}${DIM}${label.padEnd(LABEL_WIDTH)}${RESET}`;
|
|
85
85
|
const R = (label) => `${DIM}${label}${RESET} `;
|
|
86
86
|
lines.push(`${L('Task')}${(session.task ?? '—').padEnd(COL1)}${R('branch')}${session.branch}`);
|
|
@@ -93,7 +93,7 @@ export class StatusRenderer {
|
|
|
93
93
|
const autoPauseStr = showAutopause
|
|
94
94
|
? ` ${DIM}auto-pause${RESET} ${formatDuration(rawScore * this.ctx.pollSeconds * 1000)}`
|
|
95
95
|
: '';
|
|
96
|
-
lines.push(`${L('
|
|
96
|
+
lines.push(`${L('Stamina')}${renderBar(ema, BAR_WIDTH)}${autoPauseStr}`);
|
|
97
97
|
// Evidence: GitHub-style stats
|
|
98
98
|
const ev = session.evidence;
|
|
99
99
|
const filesStr = ev.filesChanged > 0 ? `${ev.filesChanged} files ` : '';
|