oh-my-claude-sisyphus 3.6.0 → 3.6.2
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/commands/omc-setup.md +3 -3
- package/commands/psm.md +180 -0
- package/commands/release.md +1 -1
- package/dist/__tests__/analytics/transcript-scanner.test.js +69 -27
- package/dist/__tests__/analytics/transcript-scanner.test.js.map +1 -1
- package/dist/__tests__/installer.test.js +2 -1
- package/dist/__tests__/installer.test.js.map +1 -1
- package/dist/analytics/session-manager.d.ts +24 -0
- package/dist/analytics/session-manager.d.ts.map +1 -1
- package/dist/analytics/session-manager.js +98 -9
- package/dist/analytics/session-manager.js.map +1 -1
- package/dist/analytics/transcript-scanner.d.ts +9 -8
- package/dist/analytics/transcript-scanner.d.ts.map +1 -1
- package/dist/analytics/transcript-scanner.js +146 -16
- package/dist/analytics/transcript-scanner.js.map +1 -1
- package/dist/hooks/empty-message-sanitizer/__tests__/index.test.d.ts +2 -0
- package/dist/hooks/empty-message-sanitizer/__tests__/index.test.d.ts.map +1 -0
- package/dist/hooks/empty-message-sanitizer/__tests__/index.test.js +416 -0
- package/dist/hooks/empty-message-sanitizer/__tests__/index.test.js.map +1 -0
- package/dist/hooks/keyword-detector/__tests__/index.test.d.ts +2 -0
- package/dist/hooks/keyword-detector/__tests__/index.test.d.ts.map +1 -0
- package/dist/hooks/keyword-detector/__tests__/index.test.js +427 -0
- package/dist/hooks/keyword-detector/__tests__/index.test.js.map +1 -0
- package/dist/hooks/subagent-tracker/index.d.ts +83 -0
- package/dist/hooks/subagent-tracker/index.d.ts.map +1 -0
- package/dist/hooks/subagent-tracker/index.js +207 -0
- package/dist/hooks/subagent-tracker/index.js.map +1 -0
- package/dist/hooks/think-mode/__tests__/index.test.d.ts +2 -0
- package/dist/hooks/think-mode/__tests__/index.test.d.ts.map +1 -0
- package/dist/hooks/think-mode/__tests__/index.test.js +556 -0
- package/dist/hooks/think-mode/__tests__/index.test.js.map +1 -0
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +8 -0
- package/dist/installer/index.js.map +1 -1
- package/docs/design/project-session-manager.md +1033 -0
- package/package.json +1 -1
- package/skills/omc-setup/SKILL.md +27 -3
- package/skills/project-session-manager/SKILL.md +410 -0
- package/skills/project-session-manager/lib/config.sh +86 -0
- package/skills/project-session-manager/lib/parse.sh +121 -0
- package/skills/project-session-manager/lib/session.sh +132 -0
- package/skills/project-session-manager/lib/tmux.sh +103 -0
- package/skills/project-session-manager/lib/worktree.sh +171 -0
- package/skills/project-session-manager/psm.sh +629 -0
- package/skills/project-session-manager/templates/feature.md +56 -0
- package/skills/project-session-manager/templates/issue-fix.md +57 -0
- package/skills/project-session-manager/templates/pr-review.md +65 -0
- package/skills/project-session-manager/templates/projects.json +19 -0
- package/skills/release/SKILL.md +1 -1
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subagent Tracker Hook
|
|
3
|
+
*
|
|
4
|
+
* Tracks SubagentStart and SubagentStop events to maintain state of active agents.
|
|
5
|
+
* Useful for monitoring parallel execution in ultrapilot, swarm, and other multi-agent modes.
|
|
6
|
+
*/
|
|
7
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
8
|
+
import { join } from 'path';
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// State File Management
|
|
11
|
+
// ============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Get the path to the subagent tracking state file.
|
|
14
|
+
*/
|
|
15
|
+
export function getStateFilePath(directory) {
|
|
16
|
+
return join(directory, '.omc', 'state', 'subagent-tracking.json');
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Read the current subagent tracking state.
|
|
20
|
+
*/
|
|
21
|
+
export function readTrackingState(directory) {
|
|
22
|
+
const filePath = getStateFilePath(directory);
|
|
23
|
+
if (!existsSync(filePath)) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
const content = readFileSync(filePath, 'utf-8');
|
|
28
|
+
return JSON.parse(content);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
console.error('[subagent-tracker] Failed to read state:', error);
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Write subagent tracking state to disk.
|
|
37
|
+
*/
|
|
38
|
+
export function writeTrackingState(directory, state) {
|
|
39
|
+
const filePath = getStateFilePath(directory);
|
|
40
|
+
const stateDir = join(directory, '.omc', 'state');
|
|
41
|
+
if (!existsSync(stateDir)) {
|
|
42
|
+
mkdirSync(stateDir, { recursive: true });
|
|
43
|
+
}
|
|
44
|
+
try {
|
|
45
|
+
writeFileSync(filePath, JSON.stringify(state, null, 2), 'utf-8');
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
console.error('[subagent-tracker] Failed to write state:', error);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get or initialize tracking state.
|
|
53
|
+
*/
|
|
54
|
+
function getOrInitState(directory) {
|
|
55
|
+
const existing = readTrackingState(directory);
|
|
56
|
+
if (existing) {
|
|
57
|
+
return existing;
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
active_agents: {},
|
|
61
|
+
completed_agents: {},
|
|
62
|
+
total_spawned: 0,
|
|
63
|
+
total_completed: 0,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
// ============================================================================
|
|
67
|
+
// Hook Event Processors
|
|
68
|
+
// ============================================================================
|
|
69
|
+
/**
|
|
70
|
+
* Process SubagentStart event - track new agent spawn.
|
|
71
|
+
*/
|
|
72
|
+
export function processSubagentStart(input) {
|
|
73
|
+
const { cwd, agent_id, agent_type } = input;
|
|
74
|
+
try {
|
|
75
|
+
const state = getOrInitState(cwd);
|
|
76
|
+
// Add to active agents
|
|
77
|
+
state.active_agents[agent_id] = {
|
|
78
|
+
agent_id,
|
|
79
|
+
agent_type,
|
|
80
|
+
started_at: new Date().toISOString(),
|
|
81
|
+
};
|
|
82
|
+
state.total_spawned++;
|
|
83
|
+
writeTrackingState(cwd, state);
|
|
84
|
+
return {
|
|
85
|
+
status: 'success',
|
|
86
|
+
message: `Tracking started for agent ${agent_id} (${agent_type})`,
|
|
87
|
+
data: { agent_id, agent_type },
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
return {
|
|
92
|
+
status: 'error',
|
|
93
|
+
message: `Failed to process SubagentStart: ${error}`,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Process SubagentStop event - mark agent as completed.
|
|
99
|
+
*/
|
|
100
|
+
export function processSubagentStop(input) {
|
|
101
|
+
const { cwd, agent_id, agent_transcript_path } = input;
|
|
102
|
+
try {
|
|
103
|
+
const state = getOrInitState(cwd);
|
|
104
|
+
// Find the active agent
|
|
105
|
+
const activeAgent = state.active_agents[agent_id];
|
|
106
|
+
if (!activeAgent) {
|
|
107
|
+
return {
|
|
108
|
+
status: 'error',
|
|
109
|
+
message: `Agent ${agent_id} not found in active agents`,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
// Calculate duration
|
|
113
|
+
const startTime = new Date(activeAgent.started_at).getTime();
|
|
114
|
+
const endTime = Date.now();
|
|
115
|
+
const duration_ms = endTime - startTime;
|
|
116
|
+
// Move to completed agents
|
|
117
|
+
state.completed_agents[agent_id] = {
|
|
118
|
+
agent_id,
|
|
119
|
+
agent_type: activeAgent.agent_type,
|
|
120
|
+
duration_ms,
|
|
121
|
+
success: true, // Default to true; could be enhanced with exit code
|
|
122
|
+
output_summary: agent_transcript_path,
|
|
123
|
+
};
|
|
124
|
+
// Remove from active agents
|
|
125
|
+
delete state.active_agents[agent_id];
|
|
126
|
+
state.total_completed++;
|
|
127
|
+
writeTrackingState(cwd, state);
|
|
128
|
+
return {
|
|
129
|
+
status: 'success',
|
|
130
|
+
message: `Agent ${agent_id} completed in ${duration_ms}ms`,
|
|
131
|
+
data: { agent_id, duration_ms },
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
return {
|
|
136
|
+
status: 'error',
|
|
137
|
+
message: `Failed to process SubagentStop: ${error}`,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
// ============================================================================
|
|
142
|
+
// Utility Functions
|
|
143
|
+
// ============================================================================
|
|
144
|
+
/**
|
|
145
|
+
* Remove agents that have been active for longer than maxAgeMs.
|
|
146
|
+
* Useful for cleaning up stale agents that may have crashed.
|
|
147
|
+
*/
|
|
148
|
+
export function cleanupStaleAgents(directory, maxAgeMs = 300000 // 5 minutes default
|
|
149
|
+
) {
|
|
150
|
+
const state = readTrackingState(directory);
|
|
151
|
+
if (!state) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const now = Date.now();
|
|
155
|
+
let cleaned = 0;
|
|
156
|
+
for (const [agent_id, info] of Object.entries(state.active_agents)) {
|
|
157
|
+
const startTime = new Date(info.started_at).getTime();
|
|
158
|
+
const age = now - startTime;
|
|
159
|
+
if (age > maxAgeMs) {
|
|
160
|
+
// Move to completed as failed
|
|
161
|
+
state.completed_agents[agent_id] = {
|
|
162
|
+
agent_id,
|
|
163
|
+
agent_type: info.agent_type,
|
|
164
|
+
duration_ms: age,
|
|
165
|
+
success: false,
|
|
166
|
+
output_summary: 'Cleaned up as stale',
|
|
167
|
+
};
|
|
168
|
+
delete state.active_agents[agent_id];
|
|
169
|
+
state.total_completed++;
|
|
170
|
+
cleaned++;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
if (cleaned > 0) {
|
|
174
|
+
writeTrackingState(directory, state);
|
|
175
|
+
console.log(`[subagent-tracker] Cleaned up ${cleaned} stale agent(s)`);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Get the count of currently active agents.
|
|
180
|
+
*/
|
|
181
|
+
export function getActiveAgentCount(directory) {
|
|
182
|
+
const state = readTrackingState(directory);
|
|
183
|
+
if (!state) {
|
|
184
|
+
return 0;
|
|
185
|
+
}
|
|
186
|
+
return Object.keys(state.active_agents).length;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Get a count of agents by type (both active and completed).
|
|
190
|
+
*/
|
|
191
|
+
export function getAgentsByType(directory) {
|
|
192
|
+
const state = readTrackingState(directory);
|
|
193
|
+
if (!state) {
|
|
194
|
+
return {};
|
|
195
|
+
}
|
|
196
|
+
const counts = {};
|
|
197
|
+
// Count active agents
|
|
198
|
+
for (const info of Object.values(state.active_agents)) {
|
|
199
|
+
counts[info.agent_type] = (counts[info.agent_type] || 0) + 1;
|
|
200
|
+
}
|
|
201
|
+
// Count completed agents
|
|
202
|
+
for (const info of Object.values(state.completed_agents)) {
|
|
203
|
+
counts[info.agent_type] = (counts[info.agent_type] || 0) + 1;
|
|
204
|
+
}
|
|
205
|
+
return counts;
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/subagent-tracker/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/hooks/think-mode/__tests__/index.test.ts"],"names":[],"mappings":""}
|