@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.
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +6 -1
- package/dist/index.mjs.map +1 -1
- package/dist/repo-mesh-types.d.ts +7 -0
- package/package.json +1 -1
- package/src/config/mesh-config.ts +4 -0
- package/src/repo-mesh-types.ts +8 -0
|
@@ -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
|
@@ -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
|
|
package/src/repo-mesh-types.ts
CHANGED
|
@@ -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
|
|