@adhdev/daemon-core 0.9.76-rc.65 → 0.9.76-rc.66

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.
@@ -41,6 +41,7 @@ export interface RepoMeshNode {
41
41
  }
42
42
  export type RepoMeshNodeHealth = 'online' | 'offline' | 'degraded' | 'dirty' | 'wrong_branch' | 'unknown';
43
43
  export type RepoMeshSessionCleanupMode = 'preserve' | 'stop' | 'delete_stopped' | 'stop_and_delete';
44
+ export type RepoMeshSpawnedSessionVisibility = 'visible' | 'hidden';
44
45
  export interface RepoMeshPolicy {
45
46
  requirePreTaskCheckpoint: boolean;
46
47
  requirePostTaskCheckpoint: boolean;
@@ -49,6 +50,12 @@ export interface RepoMeshPolicy {
49
50
  dirtyWorkspaceBehavior: 'block' | 'warn' | 'checkpoint_then_continue';
50
51
  maxParallelTasks: number;
51
52
  allowedProviders?: string[];
53
+ /**
54
+ * Whether sessions spawned by mesh/coordinator policy should auto-open as visible
55
+ * dashboard tabs or start hidden. Defaults to 'visible' to preserve existing
56
+ * watch-the-agents behavior; hidden sessions remain discoverable and manually openable.
57
+ */
58
+ spawnedSessionVisibility?: RepoMeshSpawnedSessionVisibility;
52
59
  /**
53
60
  * What to do with delegated session-host records for a node when it is removed.
54
61
  * Defaults to 'preserve' so completed work can be reviewed later and live
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adhdev/daemon-core",
3
- "version": "0.9.76-rc.65",
3
+ "version": "0.9.76-rc.66",
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",
@@ -75,6 +75,7 @@ export function normalizeRepoIdentity(remoteUrl: string): string {
75
75
  // ─── CRUD Operations ────────────────────────────
76
76
 
77
77
  const SESSION_CLEANUP_MODES = new Set(['preserve', 'stop', 'delete_stopped', 'stop_and_delete']);
78
+ const SPAWNED_SESSION_VISIBILITY_MODES = new Set(['visible', 'hidden']);
78
79
 
79
80
  function mergeMeshPolicy(base: RepoMeshPolicy | undefined, patch: Partial<RepoMeshPolicy> | undefined): RepoMeshPolicy {
80
81
  const policy: RepoMeshPolicy = { ...DEFAULT_MESH_POLICY, ...(base || {}), ...(patch || {}) };
@@ -86,6 +87,9 @@ function mergeMeshPolicy(base: RepoMeshPolicy | undefined, patch: Partial<RepoMe
86
87
  if (!SESSION_CLEANUP_MODES.has(String(policy.sessionCleanupOnNodeRemove))) {
87
88
  policy.sessionCleanupOnNodeRemove = 'preserve';
88
89
  }
90
+ if (!SPAWNED_SESSION_VISIBILITY_MODES.has(String(policy.spawnedSessionVisibility))) {
91
+ policy.spawnedSessionVisibility = 'visible';
92
+ }
89
93
  return policy;
90
94
  }
91
95
 
@@ -56,6 +56,7 @@ export type RepoMeshNodeHealth =
56
56
  // ─── Policy Types ───────────────────────────────
57
57
 
58
58
  export type RepoMeshSessionCleanupMode = 'preserve' | 'stop' | 'delete_stopped' | 'stop_and_delete';
59
+ export type RepoMeshSpawnedSessionVisibility = 'visible' | 'hidden';
59
60
 
60
61
  export interface RepoMeshPolicy {
61
62
  requirePreTaskCheckpoint: boolean;
@@ -65,6 +66,12 @@ export interface RepoMeshPolicy {
65
66
  dirtyWorkspaceBehavior: 'block' | 'warn' | 'checkpoint_then_continue';
66
67
  maxParallelTasks: number;
67
68
  allowedProviders?: string[];
69
+ /**
70
+ * Whether sessions spawned by mesh/coordinator policy should auto-open as visible
71
+ * dashboard tabs or start hidden. Defaults to 'visible' to preserve existing
72
+ * watch-the-agents behavior; hidden sessions remain discoverable and manually openable.
73
+ */
74
+ spawnedSessionVisibility?: RepoMeshSpawnedSessionVisibility;
68
75
  /**
69
76
  * What to do with delegated session-host records for a node when it is removed.
70
77
  * Defaults to 'preserve' so completed work can be reviewed later and live
@@ -101,6 +108,7 @@ export const DEFAULT_MESH_POLICY: RepoMeshPolicy = {
101
108
  requireApprovalForDestructiveGit: true,
102
109
  dirtyWorkspaceBehavior: 'warn',
103
110
  maxParallelTasks: 2,
111
+ spawnedSessionVisibility: 'visible',
104
112
  sessionCleanupOnNodeRemove: 'preserve',
105
113
  };
106
114