@adhdev/daemon-core 0.9.77-rc.45 → 0.9.77-rc.46

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.
@@ -76,6 +76,9 @@ export declare function requeueTask(meshId: string, taskId: string, opts?: {
76
76
  */
77
77
  export declare function updateSessionTaskStatus(meshId: string, sessionId: string, status: MeshTaskStatus): MeshWorkQueueEntry | null;
78
78
  export interface MeshWorkQueueStats {
79
+ total: number;
80
+ active: number;
81
+ historical: number;
79
82
  pending: number;
80
83
  assigned: number;
81
84
  completed: number;
@@ -293,6 +293,9 @@ export interface SessionEntry {
293
293
  surfaceHidden?: boolean;
294
294
  settings?: Record<string, any>;
295
295
  meshQueueStats?: {
296
+ total?: number;
297
+ active?: number;
298
+ historical?: number;
296
299
  pending: number;
297
300
  assigned: number;
298
301
  completed: number;
@@ -344,6 +347,9 @@ export interface CompactSessionEntry {
344
347
  summaryMetadata?: ProviderSummaryMetadata;
345
348
  settings?: Record<string, any>;
346
349
  meshQueueStats?: {
350
+ total?: number;
351
+ active?: number;
352
+ historical?: number;
347
353
  pending: number;
348
354
  assigned: number;
349
355
  completed: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adhdev/daemon-core",
3
- "version": "0.9.77-rc.45",
3
+ "version": "0.9.77-rc.46",
4
4
  "description": "ADHDev daemon core — CDP, IDE detection, providers, command execution",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -264,7 +264,8 @@ function ensureMachineId(config: ADHDevConfig): { config: ADHDevConfig; changed:
264
264
  * Get the config directory path
265
265
  */
266
266
  export function getConfigDir(): string {
267
- const dir = join(homedir(), '.adhdev');
267
+ const override = process.env.ADHDEV_CONFIG_DIR;
268
+ const dir = override && override.trim() ? override.trim() : join(homedir(), '.adhdev');
268
269
  if (!existsSync(dir)) {
269
270
  mkdirSync(dir, { recursive: true });
270
271
  }
@@ -201,7 +201,7 @@ export function addWorkspaceEntry(
201
201
  }
202
202
  }
203
203
  const v = validateWorkspacePath(abs);
204
- if (!v.ok) return { error: v.error };
204
+ if (v.ok !== true) return { error: v.error };
205
205
 
206
206
  const list = [...(config.workspaces || [])];
207
207
  if (list.some(w => path.resolve(w.path) === abs)) {
@@ -252,6 +252,9 @@ export function updateSessionTaskStatus(
252
252
  }
253
253
 
254
254
  export interface MeshWorkQueueStats {
255
+ total: number;
256
+ active: number;
257
+ historical: number;
255
258
  pending: number;
256
259
  assigned: number;
257
260
  completed: number;
@@ -270,12 +273,20 @@ export interface MeshWorkQueueStats {
270
273
  */
271
274
  export function getMeshQueueStats(meshId: string): MeshWorkQueueStats {
272
275
  const queue = readQueue(meshId);
276
+ const pending = queue.filter(q => q.status === 'pending').length;
277
+ const assigned = queue.filter(q => q.status === 'assigned').length;
278
+ const completed = queue.filter(q => q.status === 'completed').length;
279
+ const failed = queue.filter(q => q.status === 'failed').length;
280
+ const cancelled = queue.filter(q => q.status === 'cancelled').length;
273
281
  return {
274
- pending: queue.filter(q => q.status === 'pending').length,
275
- assigned: queue.filter(q => q.status === 'assigned').length,
276
- completed: queue.filter(q => q.status === 'completed').length,
277
- failed: queue.filter(q => q.status === 'failed').length,
278
- cancelled: queue.filter(q => q.status === 'cancelled').length,
282
+ total: queue.length,
283
+ active: pending + assigned,
284
+ historical: completed + failed + cancelled,
285
+ pending,
286
+ assigned,
287
+ completed,
288
+ failed,
289
+ cancelled,
279
290
  activeAssignments: queue
280
291
  .filter(q => q.status === 'assigned')
281
292
  .map(q => ({
@@ -390,6 +390,9 @@ export interface SessionEntry {
390
390
  surfaceHidden?: boolean;
391
391
  settings?: Record<string, any>;
392
392
  meshQueueStats?: {
393
+ total?: number;
394
+ active?: number;
395
+ historical?: number;
393
396
  pending: number;
394
397
  assigned: number;
395
398
  completed: number;
@@ -442,6 +445,9 @@ export interface CompactSessionEntry {
442
445
  summaryMetadata?: ProviderSummaryMetadata;
443
446
  settings?: Record<string, any>;
444
447
  meshQueueStats?: {
448
+ total?: number;
449
+ active?: number;
450
+ historical?: number;
445
451
  pending: number;
446
452
  assigned: number;
447
453
  completed: number;