@lumenflow/agent 3.9.8 → 3.10.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.
@@ -0,0 +1,101 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ const DEFAULT_MAX_ATTEMPTS = 3;
4
+ const DEFAULT_BASE_BACKOFF_MS = 500;
5
+ const DEFAULT_MAX_BACKOFF_MS = 30_000;
6
+ function defaultSleep(delayMs) {
7
+ return new Promise((resolve) => setTimeout(resolve, delayMs));
8
+ }
9
+ /**
10
+ * Enforces single-flight heartbeat execution and coalesces concurrent signals
11
+ * into one follow-up heartbeat, with retry/backoff on transient failures.
12
+ */
13
+ export class HeartbeatManager {
14
+ port;
15
+ maxAttempts;
16
+ baseBackoffMs;
17
+ maxBackoffMs;
18
+ sleepFn;
19
+ logger;
20
+ inFlight = null;
21
+ queuedInput = null;
22
+ queuedSignals = 0;
23
+ consecutiveFailures = 0;
24
+ constructor(port, options = {}) {
25
+ this.port = port;
26
+ this.maxAttempts = options.maxAttempts ?? DEFAULT_MAX_ATTEMPTS;
27
+ this.baseBackoffMs = options.baseBackoffMs ?? DEFAULT_BASE_BACKOFF_MS;
28
+ this.maxBackoffMs = options.maxBackoffMs ?? DEFAULT_MAX_BACKOFF_MS;
29
+ this.sleepFn = options.sleepFn ?? defaultSleep;
30
+ this.logger = options.logger;
31
+ }
32
+ async heartbeat(input) {
33
+ if (this.inFlight) {
34
+ this.queuedInput = input;
35
+ this.queuedSignals += 1;
36
+ return this.inFlight;
37
+ }
38
+ const request = this.drainQueue(input);
39
+ this.inFlight = request;
40
+ try {
41
+ return await request;
42
+ }
43
+ finally {
44
+ this.inFlight = null;
45
+ }
46
+ }
47
+ getState() {
48
+ return {
49
+ inFlight: this.inFlight !== null,
50
+ queuedSignals: this.queuedSignals,
51
+ consecutiveFailures: this.consecutiveFailures,
52
+ };
53
+ }
54
+ async drainQueue(initialInput) {
55
+ let currentInput = initialInput;
56
+ let localCoalescedSignals = 0;
57
+ while (true) {
58
+ const result = await this.sendWithRetry(currentInput);
59
+ const queuedInput = this.queuedInput;
60
+ localCoalescedSignals += this.queuedSignals;
61
+ this.queuedInput = null;
62
+ this.queuedSignals = 0;
63
+ if (!queuedInput) {
64
+ const mergedCoalesced = (result.coalesced_signals ?? 0) + localCoalescedSignals;
65
+ if (mergedCoalesced > 0) {
66
+ return {
67
+ ...result,
68
+ coalesced_signals: mergedCoalesced,
69
+ };
70
+ }
71
+ return result;
72
+ }
73
+ currentInput = queuedInput;
74
+ }
75
+ }
76
+ async sendWithRetry(input) {
77
+ let attempt = 0;
78
+ while (true) {
79
+ try {
80
+ const result = await this.port.heartbeat(input);
81
+ this.consecutiveFailures = 0;
82
+ return result;
83
+ }
84
+ catch (error) {
85
+ this.consecutiveFailures += 1;
86
+ attempt += 1;
87
+ if (attempt >= this.maxAttempts) {
88
+ throw error;
89
+ }
90
+ const delayMs = this.getBackoffDelayMs();
91
+ this.logger?.warn?.(`[agent:heartbeat] attempt ${attempt} failed; retrying in ${delayMs}ms`);
92
+ await this.sleepFn(delayMs);
93
+ }
94
+ }
95
+ }
96
+ getBackoffDelayMs() {
97
+ const exponent = Math.max(0, this.consecutiveFailures - 1);
98
+ return Math.min(this.baseBackoffMs * 2 ** exponent, this.maxBackoffMs);
99
+ }
100
+ }
101
+ //# sourceMappingURL=agent-heartbeat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-heartbeat.js","sourceRoot":"","sources":["../src/agent-heartbeat.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,35 @@ import { PATTERNS, INCIDENT_SEVERITY, LUMENFLOW_PATHS } from '@lumenflow/core/wu
9
9
  import { createError, ErrorCodes } from '@lumenflow/core/error-handler';
10
10
  const SESSION_DIR = LUMENFLOW_PATHS.SESSIONS;
11
11
  const SESSION_FILE = join(SESSION_DIR, 'current.json');
12
+ const DEFAULT_AGENT_VERSION = 'unknown';
13
+ const DEFAULT_HOST_ID = 'unknown';
14
+ const DEFAULT_AGENT_CAPABILITIES = ['session_lifecycle', 'incident_logging'];
15
+ const AGENT_CAPABILITIES_ENV = 'LUMENFLOW_AGENT_CAPABILITIES';
16
+ const AGENT_VERSION_ENV = 'LUMENFLOW_AGENT_VERSION';
17
+ function asNonEmptyString(value) {
18
+ return typeof value === 'string' && value.trim().length > 0 ? value.trim() : undefined;
19
+ }
20
+ function parseCapabilities(rawValue) {
21
+ if (!rawValue) {
22
+ return [...DEFAULT_AGENT_CAPABILITIES];
23
+ }
24
+ const parsed = rawValue
25
+ .split(',')
26
+ .map((entry) => entry.trim())
27
+ .filter((entry) => entry.length > 0);
28
+ return parsed.length > 0 ? parsed : [...DEFAULT_AGENT_CAPABILITIES];
29
+ }
30
+ function normalizeSessionData(session) {
31
+ return {
32
+ ...session,
33
+ client_type: session.client_type ?? session.agent_type,
34
+ capabilities: Array.isArray(session.capabilities)
35
+ ? session.capabilities.filter((entry) => typeof entry === 'string')
36
+ : [...DEFAULT_AGENT_CAPABILITIES],
37
+ agent_version: session.agent_version ?? DEFAULT_AGENT_VERSION,
38
+ host_id: session.host_id ?? DEFAULT_HOST_ID,
39
+ };
40
+ }
12
41
  /**
13
42
  * Start a new agent session
14
43
  * @param wuId - WU ID (e.g., "WU-1234")
@@ -54,12 +83,21 @@ export async function startSession(wuId, tier, agentType = 'claude-code') {
54
83
  // Fallback: lane stays "Unknown"
55
84
  }
56
85
  const sessionId = randomUUID();
86
+ const capabilities = parseCapabilities(asNonEmptyString(process.env[AGENT_CAPABILITIES_ENV]));
87
+ const agentVersion = asNonEmptyString(process.env[AGENT_VERSION_ENV]) ?? DEFAULT_AGENT_VERSION;
88
+ const hostId = asNonEmptyString(process.env.HOSTNAME) ??
89
+ asNonEmptyString(process.env.COMPUTERNAME) ??
90
+ DEFAULT_HOST_ID;
57
91
  const session = {
58
92
  session_id: sessionId,
59
93
  wu_id: wuId,
60
94
  lane,
61
95
  started: new Date().toISOString(),
62
96
  agent_type: agentType,
97
+ client_type: agentType,
98
+ capabilities,
99
+ agent_version: agentVersion,
100
+ host_id: hostId,
63
101
  context_tier: tier,
64
102
  incidents_logged: 0,
65
103
  incidents_major: 0,
@@ -85,7 +123,7 @@ export async function getCurrentSession() {
85
123
  if (!sessionExists)
86
124
  return null;
87
125
  const content = await readFile(SESSION_FILE, { encoding: 'utf-8' });
88
- return JSON.parse(content);
126
+ return normalizeSessionData(JSON.parse(content));
89
127
  }
90
128
  /**
91
129
  * Log an incident and update session counters
@@ -150,6 +188,10 @@ export async function endSession() {
150
188
  started: session.started,
151
189
  completed: session.completed,
152
190
  agent_type: session.agent_type,
191
+ client_type: session.client_type,
192
+ capabilities: [...session.capabilities],
193
+ agent_version: session.agent_version,
194
+ host_id: session.host_id,
153
195
  context_tier: session.context_tier,
154
196
  incidents_logged: session.incidents_logged,
155
197
  incidents_major: session.incidents_major,
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session.js","sourceRoot":"","sources":["../src/agent-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-session.js","sourceRoot":"","sources":["../src/agent-session.ts"],"names":[],"mappings":"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"}
@@ -17,17 +17,24 @@
17
17
  import { randomUUID } from 'crypto';
18
18
  import { readFileSync, writeFileSync, existsSync, unlinkSync, mkdirSync } from 'fs';
19
19
  import { join } from 'path';
20
- import { startSession as startMemorySession } from '@lumenflow/memory/start';
20
+ import { startSession as startMemorySession } from '@lumenflow/memory';
21
21
  import { CONFIG_FILES, LUMENFLOW_PATHS } from '@lumenflow/core/wu-constants';
22
22
  import { parseYAML } from '@lumenflow/core/wu-yaml';
23
+ import { HeartbeatManager, } from './agent-heartbeat.js';
23
24
  const SESSION_FILENAME = 'current.json';
24
25
  const WORKSPACE_CONFIG_FILE = CONFIG_FILES.WORKSPACE_CONFIG;
25
26
  const CONTROL_PLANE_REGISTER_PATH = '/api/v1/sessions/register';
26
27
  const CONTROL_PLANE_DEREGISTER_PATH = '/api/v1/sessions/deregister';
28
+ const CONTROL_PLANE_HEARTBEAT_PATH = '/api/v1/heartbeat';
27
29
  // Default context tier for auto-started sessions
28
30
  const DEFAULT_TIER = 2;
29
31
  // Agent type for auto-started sessions
30
32
  const DEFAULT_AGENT_TYPE = 'claude-code';
33
+ const DEFAULT_AGENT_VERSION = 'unknown';
34
+ const DEFAULT_HOST_ID = 'unknown';
35
+ const DEFAULT_AGENT_CAPABILITIES = ['session_lifecycle', 'heartbeat'];
36
+ const AGENT_CAPABILITIES_ENV = 'LUMENFLOW_AGENT_CAPABILITIES';
37
+ const AGENT_VERSION_ENV = 'LUMENFLOW_AGENT_VERSION';
31
38
  /**
32
39
  * Map numeric tier values to string names for memory layer (WU-1466)
33
40
  */
@@ -36,6 +43,16 @@ const CONTEXT_TIER_MAP = {
36
43
  2: 'core',
37
44
  3: 'full',
38
45
  };
46
+ function parseCapabilities(rawValue) {
47
+ if (!rawValue) {
48
+ return [...DEFAULT_AGENT_CAPABILITIES];
49
+ }
50
+ const parsed = rawValue
51
+ .split(',')
52
+ .map((entry) => entry.trim())
53
+ .filter((entry) => entry.length > 0);
54
+ return parsed.length > 0 ? parsed : [...DEFAULT_AGENT_CAPABILITIES];
55
+ }
39
56
  function asNonEmptyString(value) {
40
57
  return typeof value === 'string' && value.trim().length > 0 ? value.trim() : null;
41
58
  }
@@ -77,6 +94,26 @@ function resolveControlPlaneSessionSyncConfig(workspaceRoot, environment) {
77
94
  token,
78
95
  };
79
96
  }
97
+ function resolveStandardSessionMetadata(input) {
98
+ const clientType = input.agentType;
99
+ const capabilities = parseCapabilities(asNonEmptyString(input.environment[AGENT_CAPABILITIES_ENV]));
100
+ const agentVersion = asNonEmptyString(input.environment[AGENT_VERSION_ENV]) ?? DEFAULT_AGENT_VERSION;
101
+ const hostId = asNonEmptyString(input.environment.HOSTNAME) ??
102
+ asNonEmptyString(input.environment.COMPUTERNAME) ??
103
+ DEFAULT_HOST_ID;
104
+ return {
105
+ client_type: clientType,
106
+ capabilities,
107
+ agent_version: agentVersion,
108
+ host_id: hostId,
109
+ metadata: {
110
+ client_type: clientType,
111
+ capabilities,
112
+ agent_version: agentVersion,
113
+ host_id: hostId,
114
+ },
115
+ };
116
+ }
80
117
  async function postControlPlaneSessionHook(endpoint, token, path, payload, fetchFn) {
81
118
  const response = await fetchFn(`${endpoint}${path}`, {
82
119
  method: 'POST',
@@ -90,6 +127,44 @@ async function postControlPlaneSessionHook(endpoint, token, path, payload, fetch
90
127
  throw new Error(`HTTP ${response.status}`);
91
128
  }
92
129
  }
130
+ function asFiniteNumber(value) {
131
+ return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
132
+ }
133
+ function normalizeHeartbeatResult(raw) {
134
+ return {
135
+ status: 'ok',
136
+ server_time: typeof raw.server_time === 'string' && raw.server_time.length > 0
137
+ ? raw.server_time
138
+ : new Date().toISOString(),
139
+ ...(asFiniteNumber(raw.next_heartbeat_ms) !== undefined
140
+ ? { next_heartbeat_ms: asFiniteNumber(raw.next_heartbeat_ms) }
141
+ : {}),
142
+ ...(asFiniteNumber(raw.budget_remaining_usd) !== undefined
143
+ ? { budget_remaining_usd: asFiniteNumber(raw.budget_remaining_usd) }
144
+ : {}),
145
+ ...(asFiniteNumber(raw.coalesced_signals) !== undefined
146
+ ? { coalesced_signals: asFiniteNumber(raw.coalesced_signals) }
147
+ : {}),
148
+ ...(typeof raw.assignment === 'object' && raw.assignment !== null
149
+ ? { assignment: raw.assignment }
150
+ : {}),
151
+ };
152
+ }
153
+ async function postControlPlaneHeartbeat(endpoint, token, payload, fetchFn) {
154
+ const response = await fetchFn(`${endpoint}${CONTROL_PLANE_HEARTBEAT_PATH}`, {
155
+ method: 'POST',
156
+ headers: {
157
+ authorization: `Bearer ${token}`,
158
+ 'content-type': 'application/json',
159
+ },
160
+ body: JSON.stringify(payload),
161
+ });
162
+ if (!response.ok) {
163
+ throw new Error(`HTTP ${response.status}`);
164
+ }
165
+ const raw = (await response.json().catch(() => ({})));
166
+ return normalizeHeartbeatResult(raw);
167
+ }
93
168
  /**
94
169
  * Get the session file path for a given session directory
95
170
  * @param sessionDir - Session directory path
@@ -158,6 +233,10 @@ export async function startSessionForWU(options) {
158
233
  // Fail-open by design: session lifecycle must not be blocked by remote errors.
159
234
  const controlPlaneConfig = resolveControlPlaneSessionSyncConfig(workspaceRoot, environment);
160
235
  if (controlPlaneConfig) {
236
+ const standardizedMetadata = resolveStandardSessionMetadata({
237
+ agentType,
238
+ environment,
239
+ });
161
240
  const registerInput = {
162
241
  workspace_id: controlPlaneConfig.workspaceId,
163
242
  session_id: sessionId,
@@ -165,6 +244,11 @@ export async function startSessionForWU(options) {
165
244
  started_at: session.started,
166
245
  lane,
167
246
  wu_id: wuId,
247
+ client_type: standardizedMetadata.client_type,
248
+ capabilities: standardizedMetadata.capabilities,
249
+ agent_version: standardizedMetadata.agent_version,
250
+ host_id: standardizedMetadata.host_id,
251
+ metadata: standardizedMetadata.metadata,
168
252
  };
169
253
  try {
170
254
  if (controlPlaneSyncPort) {
@@ -184,6 +268,48 @@ export async function startSessionForWU(options) {
184
268
  memoryNodeId,
185
269
  };
186
270
  }
271
+ /**
272
+ * Send a control-plane heartbeat for the active WU session.
273
+ *
274
+ * This is fail-open for local workflows: if no active session or no control-plane config
275
+ * is present, no heartbeat is sent and a structured reason is returned.
276
+ */
277
+ export async function heartbeatSessionForWU(options = {}) {
278
+ const { sessionDir, workspaceRoot = process.cwd(), environment = process.env, controlPlaneSyncPort, heartbeatManager, fetchFn = fetch, health, } = options;
279
+ const currentSession = getCurrentSessionForWU({ sessionDir });
280
+ if (!currentSession) {
281
+ return {
282
+ sent: false,
283
+ reason: 'no_active_session',
284
+ };
285
+ }
286
+ const controlPlaneConfig = resolveControlPlaneSessionSyncConfig(workspaceRoot, environment);
287
+ if (!controlPlaneConfig) {
288
+ return {
289
+ sent: false,
290
+ reason: 'control_plane_unavailable',
291
+ };
292
+ }
293
+ const heartbeatPort = controlPlaneSyncPort?.heartbeat
294
+ ? {
295
+ heartbeat: controlPlaneSyncPort.heartbeat.bind(controlPlaneSyncPort),
296
+ }
297
+ : {
298
+ heartbeat: async (input) => postControlPlaneHeartbeat(controlPlaneConfig.endpoint, controlPlaneConfig.token, input, fetchFn),
299
+ };
300
+ const manager = heartbeatManager ?? new HeartbeatManager(heartbeatPort);
301
+ const heartbeat = await manager.heartbeat({
302
+ workspace_id: controlPlaneConfig.workspaceId,
303
+ session_id: currentSession.session_id,
304
+ agent_id: currentSession.agent_type,
305
+ wu_id: currentSession.wu_id,
306
+ ...(health ? { health } : {}),
307
+ });
308
+ return {
309
+ sent: true,
310
+ heartbeat,
311
+ };
312
+ }
187
313
  /**
188
314
  * End the current session (called by wu:done)
189
315
  *
@@ -1 +1 @@
1
- {"version":3,"file":"auto-session-integration.js","sourceRoot":"","sources":["../src/auto-session-integration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-session-integration.js","sourceRoot":"","sources":["../src/auto-session-integration.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@
5
5
  * @module @lumenflow/agent
6
6
  */
7
7
  export * from './agent-incidents.js';
8
+ export * from './agent-heartbeat.js';
8
9
  export * from './agent-session.js';
9
10
  export * from './agent-verification.js';
10
11
  export * from './auto-session-integration.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;GAGG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;GAGG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lumenflow/agent",
3
- "version": "3.9.8",
3
+ "version": "3.10.0",
4
4
  "description": "Agent session management for LumenFlow workflow framework",
5
5
  "keywords": [
6
6
  "lumenflow",
@@ -39,8 +39,8 @@
39
39
  "dependencies": {
40
40
  "simple-git": "^3.31.1",
41
41
  "zod": "^4.3.6",
42
- "@lumenflow/core": "3.9.8",
43
- "@lumenflow/memory": "3.9.8"
42
+ "@lumenflow/core": "3.10.0",
43
+ "@lumenflow/memory": "3.10.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@vitest/coverage-v8": "^4.0.18",