visionclaw 0.1.187-beta.0 → 0.1.187-beta.1
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/agent/activity-tracker.d.ts +103 -0
- package/dist/agent/activity-tracker.d.ts.map +1 -1
- package/dist/agent/activity-tracker.js +176 -0
- package/dist/agent/activity-tracker.js.map +1 -1
- package/dist/agent/command-handlers.d.ts.map +1 -1
- package/dist/agent/command-handlers.js +64 -12
- package/dist/agent/command-handlers.js.map +1 -1
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +7 -0
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/providers/claude/session.d.ts +43 -0
- package/dist/agent/providers/claude/session.d.ts.map +1 -1
- package/dist/agent/providers/claude/session.js +74 -0
- package/dist/agent/providers/claude/session.js.map +1 -1
- package/dist/agent/stream-handler.d.ts +64 -1
- package/dist/agent/stream-handler.d.ts.map +1 -1
- package/dist/agent/stream-handler.js +170 -4
- package/dist/agent/stream-handler.js.map +1 -1
- package/dist/agent/system-prompt.d.ts.map +1 -1
- package/dist/agent/system-prompt.js +6 -2
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/agent/wake-cycle-runner.d.ts.map +1 -1
- package/dist/agent/wake-cycle-runner.js +150 -44
- package/dist/agent/wake-cycle-runner.js.map +1 -1
- package/dist/i18n/messages.d.ts +4 -0
- package/dist/i18n/messages.d.ts.map +1 -1
- package/dist/i18n/messages.js +6 -2
- package/dist/i18n/messages.js.map +1 -1
- package/dist/obs/server.d.ts.map +1 -1
- package/dist/obs/server.js +15 -0
- package/dist/obs/server.js.map +1 -1
- package/dist-agent/bundle.cjs +505 -63
- package/package.json +1 -1
|
@@ -2,6 +2,35 @@ export interface TodoItem {
|
|
|
2
2
|
content: string;
|
|
3
3
|
status: "pending" | "in_progress" | "completed";
|
|
4
4
|
}
|
|
5
|
+
/**
|
|
6
|
+
* Compact progress record for a single nested subagent run (one Task
|
|
7
|
+
* tool invocation). Tracked separately from `recentActions` so that a
|
|
8
|
+
* chatty subagent can't flood the primary agent's recent-actions buffer.
|
|
9
|
+
*/
|
|
10
|
+
export interface SubagentProgress {
|
|
11
|
+
/** Claude tool_use_id of the Task invocation that spawned this subagent. */
|
|
12
|
+
toolUseId: string;
|
|
13
|
+
/**
|
|
14
|
+
* SDK-issued task_id (a.k.a. agentId) for async Agent runs. Captured from
|
|
15
|
+
* the `task_started` system event and used as a fallback lookup key when
|
|
16
|
+
* later events (notably `task_updated`) arrive without `tool_use_id`.
|
|
17
|
+
*/
|
|
18
|
+
taskId?: string;
|
|
19
|
+
subagentType?: string;
|
|
20
|
+
/** Human-readable description, usually from the Task tool input. */
|
|
21
|
+
description?: string;
|
|
22
|
+
startedAt: number;
|
|
23
|
+
completedAt: number | null;
|
|
24
|
+
status: "running" | "completed" | "failed";
|
|
25
|
+
/**
|
|
26
|
+
* The most recent signal we saw from this subagent, formatted for
|
|
27
|
+
* operator display. Typically a truncated tool call or a truncated
|
|
28
|
+
* assistant-text excerpt. Null until the first nested event arrives.
|
|
29
|
+
*/
|
|
30
|
+
lastActivity: string | null;
|
|
31
|
+
/** Count of nested tool calls + assistant text blocks observed. */
|
|
32
|
+
actionCount: number;
|
|
33
|
+
}
|
|
5
34
|
/**
|
|
6
35
|
* Maintains a rolling summary of the primary agent's current activity.
|
|
7
36
|
* Read by the fast responder to give context-aware quick replies when the
|
|
@@ -14,6 +43,12 @@ export declare class ActivityTracker {
|
|
|
14
43
|
private taskStartedAt;
|
|
15
44
|
private lastTodos;
|
|
16
45
|
private recentExchanges;
|
|
46
|
+
/**
|
|
47
|
+
* Ordered map of in-flight + recently-completed subagent runs keyed by
|
|
48
|
+
* tool_use_id. Insertion order is preserved by `Map`; we prune oldest
|
|
49
|
+
* completed entries when the map exceeds `MAX_SUBAGENTS`.
|
|
50
|
+
*/
|
|
51
|
+
private subagents;
|
|
17
52
|
private readonly maxActions;
|
|
18
53
|
constructor(maxActions?: number);
|
|
19
54
|
startTask(description: string): void;
|
|
@@ -23,6 +58,61 @@ export declare class ActivityTracker {
|
|
|
23
58
|
recordToolResult(name: string, outputSummary: string): void;
|
|
24
59
|
recordTodos(todos: TodoItem[]): void;
|
|
25
60
|
getTodos(): TodoItem[];
|
|
61
|
+
/**
|
|
62
|
+
* Register a newly-spawned subagent. Safe to call multiple times for
|
|
63
|
+
* the same toolUseId — later calls are treated as no-ops so we don't
|
|
64
|
+
* clobber already-captured progress if events arrive out of order.
|
|
65
|
+
*/
|
|
66
|
+
recordSubagentStarted(toolUseId: string, info: {
|
|
67
|
+
subagentType?: string;
|
|
68
|
+
description?: string;
|
|
69
|
+
}): void;
|
|
70
|
+
/**
|
|
71
|
+
* Associate an SDK `task_id` with an already-registered subagent so that
|
|
72
|
+
* subsequent system events lacking `tool_use_id` (notably `task_updated`)
|
|
73
|
+
* can still be routed to the correct entry. No-op if the subagent isn't
|
|
74
|
+
* tracked or already has a taskId — the mapping is stable for the life of
|
|
75
|
+
* the task.
|
|
76
|
+
*/
|
|
77
|
+
recordSubagentTaskId(toolUseId: string, taskId: string): void;
|
|
78
|
+
/**
|
|
79
|
+
* Reverse lookup: given an SDK `task_id`, return the tracked subagent.
|
|
80
|
+
* Used by stream-handler to repair events that only carry `task_id`.
|
|
81
|
+
*/
|
|
82
|
+
findSubagentByTaskId(taskId: string): SubagentProgress | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* Record a nested event (assistant text or tool call) observed under
|
|
85
|
+
* an active subagent. We keep only the latest activity string plus a
|
|
86
|
+
* counter to avoid per-subagent history growth. No-op if the subagent
|
|
87
|
+
* isn't tracked — stream ordering can produce nested events before we
|
|
88
|
+
* see the parent Task block; callers should always `recordSubagentStarted`
|
|
89
|
+
* first when possible.
|
|
90
|
+
*/
|
|
91
|
+
recordSubagentActivity(toolUseId: string, label: string): void;
|
|
92
|
+
/**
|
|
93
|
+
* Record an async subagent progress snapshot from a `task_progress` system
|
|
94
|
+
* event. Unlike {@link recordSubagentActivity}, the SDK supplies a cumulative
|
|
95
|
+
* `toolUses` count, so we *set* `actionCount` instead of incrementing. The
|
|
96
|
+
* `description` and `lastToolName` fields describe the current operation;
|
|
97
|
+
* prefer `lastToolName` when present because descriptions often repeat the
|
|
98
|
+
* subagent title (e.g. "Research Middle East situation") rather than the
|
|
99
|
+
* current step.
|
|
100
|
+
*/
|
|
101
|
+
recordSubagentProgress(toolUseId: string, info: {
|
|
102
|
+
toolUses?: number;
|
|
103
|
+
lastToolName?: string;
|
|
104
|
+
description?: string;
|
|
105
|
+
}): void;
|
|
106
|
+
recordSubagentCompleted(toolUseId: string, info: {
|
|
107
|
+
ok: boolean;
|
|
108
|
+
summary?: string;
|
|
109
|
+
}): void;
|
|
110
|
+
/**
|
|
111
|
+
* Returns all tracked subagents in insertion order. Callers that only
|
|
112
|
+
* care about the currently-running ones should filter by status.
|
|
113
|
+
*/
|
|
114
|
+
getSubagents(): SubagentProgress[];
|
|
115
|
+
getActiveSubagents(): SubagentProgress[];
|
|
26
116
|
getTaskDescription(): string;
|
|
27
117
|
getTaskElapsedMs(): number | null;
|
|
28
118
|
getRecentActions(): string[];
|
|
@@ -34,5 +124,18 @@ export declare class ActivityTracker {
|
|
|
34
124
|
clear(): void;
|
|
35
125
|
private push;
|
|
36
126
|
private pushExchange;
|
|
127
|
+
/**
|
|
128
|
+
* Bound the subagent map. Running subagents are never evicted — only
|
|
129
|
+
* already-completed ones age out when we exceed the cap. This protects
|
|
130
|
+
* both against runaway growth and against losing in-flight progress
|
|
131
|
+
* for long-running tasks.
|
|
132
|
+
*/
|
|
133
|
+
private pruneCompletedSubagents;
|
|
37
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Render a one-line summary of a subagent for `/tasks` and status surfaces.
|
|
137
|
+
* Kept at module scope so it can be reused by command handlers that want
|
|
138
|
+
* a consistent presentation (e.g. /tasks).
|
|
139
|
+
*/
|
|
140
|
+
export declare function formatSubagentLine(progress: SubagentProgress): string;
|
|
38
141
|
//# sourceMappingURL=activity-tracker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-tracker.d.ts","sourceRoot":"","sources":["../../src/agent/activity-tracker.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;CACjD;
|
|
1
|
+
{"version":3,"file":"activity-tracker.d.ts","sourceRoot":"","sources":["../../src/agent/activity-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { logger } from "../logger.js";
|
|
2
2
|
const MAX_EXCHANGES = 10;
|
|
3
3
|
const EXCHANGE_TEXT_LIMIT = 200;
|
|
4
|
+
const SUBAGENT_ACTIVITY_LIMIT = 120;
|
|
5
|
+
/**
|
|
6
|
+
* Cap the number of subagent records we retain. Active subagents always
|
|
7
|
+
* fit; once completed they age out FIFO when new ones are added. This
|
|
8
|
+
* prevents unbounded growth over a long task that spawns many subagents.
|
|
9
|
+
*/
|
|
10
|
+
const MAX_SUBAGENTS = 32;
|
|
4
11
|
/**
|
|
5
12
|
* Maintains a rolling summary of the primary agent's current activity.
|
|
6
13
|
* Read by the fast responder to give context-aware quick replies when the
|
|
@@ -13,6 +20,12 @@ export class ActivityTracker {
|
|
|
13
20
|
taskStartedAt = null;
|
|
14
21
|
lastTodos = [];
|
|
15
22
|
recentExchanges = [];
|
|
23
|
+
/**
|
|
24
|
+
* Ordered map of in-flight + recently-completed subagent runs keyed by
|
|
25
|
+
* tool_use_id. Insertion order is preserved by `Map`; we prune oldest
|
|
26
|
+
* completed entries when the map exceeds `MAX_SUBAGENTS`.
|
|
27
|
+
*/
|
|
28
|
+
subagents = new Map();
|
|
16
29
|
maxActions;
|
|
17
30
|
constructor(maxActions = 15) {
|
|
18
31
|
this.maxActions = maxActions;
|
|
@@ -22,6 +35,7 @@ export class ActivityTracker {
|
|
|
22
35
|
this.recentActions = [];
|
|
23
36
|
this.lastAssistantText = "";
|
|
24
37
|
this.taskStartedAt = Date.now();
|
|
38
|
+
this.subagents.clear();
|
|
25
39
|
logger.debug("[activity-tracker] task started");
|
|
26
40
|
}
|
|
27
41
|
recordUserMessage(text) {
|
|
@@ -49,6 +63,115 @@ export class ActivityTracker {
|
|
|
49
63
|
getTodos() {
|
|
50
64
|
return this.lastTodos;
|
|
51
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Register a newly-spawned subagent. Safe to call multiple times for
|
|
68
|
+
* the same toolUseId — later calls are treated as no-ops so we don't
|
|
69
|
+
* clobber already-captured progress if events arrive out of order.
|
|
70
|
+
*/
|
|
71
|
+
recordSubagentStarted(toolUseId, info) {
|
|
72
|
+
if (this.subagents.has(toolUseId))
|
|
73
|
+
return;
|
|
74
|
+
this.subagents.set(toolUseId, {
|
|
75
|
+
toolUseId,
|
|
76
|
+
subagentType: info.subagentType,
|
|
77
|
+
description: info.description,
|
|
78
|
+
startedAt: Date.now(),
|
|
79
|
+
completedAt: null,
|
|
80
|
+
status: "running",
|
|
81
|
+
lastActivity: null,
|
|
82
|
+
actionCount: 0,
|
|
83
|
+
});
|
|
84
|
+
this.pruneCompletedSubagents();
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Associate an SDK `task_id` with an already-registered subagent so that
|
|
88
|
+
* subsequent system events lacking `tool_use_id` (notably `task_updated`)
|
|
89
|
+
* can still be routed to the correct entry. No-op if the subagent isn't
|
|
90
|
+
* tracked or already has a taskId — the mapping is stable for the life of
|
|
91
|
+
* the task.
|
|
92
|
+
*/
|
|
93
|
+
recordSubagentTaskId(toolUseId, taskId) {
|
|
94
|
+
const entry = this.subagents.get(toolUseId);
|
|
95
|
+
if (!entry)
|
|
96
|
+
return;
|
|
97
|
+
entry.taskId ??= taskId;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Reverse lookup: given an SDK `task_id`, return the tracked subagent.
|
|
101
|
+
* Used by stream-handler to repair events that only carry `task_id`.
|
|
102
|
+
*/
|
|
103
|
+
findSubagentByTaskId(taskId) {
|
|
104
|
+
for (const entry of this.subagents.values()) {
|
|
105
|
+
if (entry.taskId === taskId)
|
|
106
|
+
return entry;
|
|
107
|
+
}
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Record a nested event (assistant text or tool call) observed under
|
|
112
|
+
* an active subagent. We keep only the latest activity string plus a
|
|
113
|
+
* counter to avoid per-subagent history growth. No-op if the subagent
|
|
114
|
+
* isn't tracked — stream ordering can produce nested events before we
|
|
115
|
+
* see the parent Task block; callers should always `recordSubagentStarted`
|
|
116
|
+
* first when possible.
|
|
117
|
+
*/
|
|
118
|
+
recordSubagentActivity(toolUseId, label) {
|
|
119
|
+
const entry = this.subagents.get(toolUseId);
|
|
120
|
+
if (entry?.status !== "running")
|
|
121
|
+
return;
|
|
122
|
+
const truncated = label.length > SUBAGENT_ACTIVITY_LIMIT
|
|
123
|
+
? label.substring(0, SUBAGENT_ACTIVITY_LIMIT) + "…"
|
|
124
|
+
: label;
|
|
125
|
+
entry.lastActivity = truncated;
|
|
126
|
+
entry.actionCount += 1;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Record an async subagent progress snapshot from a `task_progress` system
|
|
130
|
+
* event. Unlike {@link recordSubagentActivity}, the SDK supplies a cumulative
|
|
131
|
+
* `toolUses` count, so we *set* `actionCount` instead of incrementing. The
|
|
132
|
+
* `description` and `lastToolName` fields describe the current operation;
|
|
133
|
+
* prefer `lastToolName` when present because descriptions often repeat the
|
|
134
|
+
* subagent title (e.g. "Research Middle East situation") rather than the
|
|
135
|
+
* current step.
|
|
136
|
+
*/
|
|
137
|
+
recordSubagentProgress(toolUseId, info) {
|
|
138
|
+
const entry = this.subagents.get(toolUseId);
|
|
139
|
+
if (entry?.status !== "running")
|
|
140
|
+
return;
|
|
141
|
+
if (typeof info.toolUses === "number" && Number.isFinite(info.toolUses)) {
|
|
142
|
+
entry.actionCount = Math.max(entry.actionCount, info.toolUses);
|
|
143
|
+
}
|
|
144
|
+
const label = info.lastToolName ?? info.description;
|
|
145
|
+
if (label && label.length > 0) {
|
|
146
|
+
const truncated = label.length > SUBAGENT_ACTIVITY_LIMIT
|
|
147
|
+
? label.substring(0, SUBAGENT_ACTIVITY_LIMIT) + "…"
|
|
148
|
+
: label;
|
|
149
|
+
entry.lastActivity = truncated;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
recordSubagentCompleted(toolUseId, info) {
|
|
153
|
+
const entry = this.subagents.get(toolUseId);
|
|
154
|
+
if (!entry)
|
|
155
|
+
return;
|
|
156
|
+
entry.status = info.ok ? "completed" : "failed";
|
|
157
|
+
entry.completedAt = Date.now();
|
|
158
|
+
if (info.summary) {
|
|
159
|
+
const truncated = info.summary.length > SUBAGENT_ACTIVITY_LIMIT
|
|
160
|
+
? info.summary.substring(0, SUBAGENT_ACTIVITY_LIMIT) + "…"
|
|
161
|
+
: info.summary;
|
|
162
|
+
entry.lastActivity = truncated;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Returns all tracked subagents in insertion order. Callers that only
|
|
167
|
+
* care about the currently-running ones should filter by status.
|
|
168
|
+
*/
|
|
169
|
+
getSubagents() {
|
|
170
|
+
return Array.from(this.subagents.values());
|
|
171
|
+
}
|
|
172
|
+
getActiveSubagents() {
|
|
173
|
+
return this.getSubagents().filter((s) => s.status === "running");
|
|
174
|
+
}
|
|
52
175
|
getTaskDescription() {
|
|
53
176
|
return this.currentTaskDescription;
|
|
54
177
|
}
|
|
@@ -92,6 +215,13 @@ export class ActivityTracker {
|
|
|
92
215
|
for (const a of this.recentActions)
|
|
93
216
|
lines.push(` ${a}`);
|
|
94
217
|
}
|
|
218
|
+
const activeSubagents = this.getActiveSubagents();
|
|
219
|
+
if (activeSubagents.length > 0) {
|
|
220
|
+
lines.push("Active subagents:");
|
|
221
|
+
for (const s of activeSubagents) {
|
|
222
|
+
lines.push(` ${formatSubagentLine(s)}`);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
95
225
|
return lines.join("\n");
|
|
96
226
|
}
|
|
97
227
|
clear() {
|
|
@@ -101,6 +231,7 @@ export class ActivityTracker {
|
|
|
101
231
|
this.taskStartedAt = null;
|
|
102
232
|
this.lastTodos = [];
|
|
103
233
|
this.recentExchanges = [];
|
|
234
|
+
this.subagents.clear();
|
|
104
235
|
}
|
|
105
236
|
push(entry) {
|
|
106
237
|
this.recentActions.push(entry);
|
|
@@ -114,5 +245,50 @@ export class ActivityTracker {
|
|
|
114
245
|
this.recentExchanges.shift();
|
|
115
246
|
}
|
|
116
247
|
}
|
|
248
|
+
/**
|
|
249
|
+
* Bound the subagent map. Running subagents are never evicted — only
|
|
250
|
+
* already-completed ones age out when we exceed the cap. This protects
|
|
251
|
+
* both against runaway growth and against losing in-flight progress
|
|
252
|
+
* for long-running tasks.
|
|
253
|
+
*/
|
|
254
|
+
pruneCompletedSubagents() {
|
|
255
|
+
if (this.subagents.size <= MAX_SUBAGENTS)
|
|
256
|
+
return;
|
|
257
|
+
let overflow = this.subagents.size - MAX_SUBAGENTS;
|
|
258
|
+
for (const [id, entry] of this.subagents) {
|
|
259
|
+
if (overflow <= 0)
|
|
260
|
+
break;
|
|
261
|
+
if (entry.status !== "running") {
|
|
262
|
+
this.subagents.delete(id);
|
|
263
|
+
overflow -= 1;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Render a one-line summary of a subagent for `/tasks` and status surfaces.
|
|
270
|
+
* Kept at module scope so it can be reused by command handlers that want
|
|
271
|
+
* a consistent presentation (e.g. /tasks).
|
|
272
|
+
*/
|
|
273
|
+
export function formatSubagentLine(progress) {
|
|
274
|
+
const elapsedSec = Math.round(((progress.completedAt ?? Date.now()) - progress.startedAt) / 1000);
|
|
275
|
+
const label = progress.subagentType ?? "subagent";
|
|
276
|
+
const statusIcon = progress.status === "running"
|
|
277
|
+
? "🔄"
|
|
278
|
+
: progress.status === "completed"
|
|
279
|
+
? "✅"
|
|
280
|
+
: "❌";
|
|
281
|
+
const parts = [`${statusIcon} ${label}`];
|
|
282
|
+
parts.push(`(${elapsedSec}s, ${progress.actionCount} step${progress.actionCount === 1 ? "" : "s"})`);
|
|
283
|
+
if (progress.description) {
|
|
284
|
+
const desc = progress.description.length > 80
|
|
285
|
+
? progress.description.substring(0, 80) + "…"
|
|
286
|
+
: progress.description;
|
|
287
|
+
parts.push(`— ${desc}`);
|
|
288
|
+
}
|
|
289
|
+
if (progress.lastActivity) {
|
|
290
|
+
parts.push(`| last: ${progress.lastActivity}`);
|
|
291
|
+
}
|
|
292
|
+
return parts.join(" ");
|
|
117
293
|
}
|
|
118
294
|
//# sourceMappingURL=activity-tracker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-tracker.js","sourceRoot":"","sources":["../../src/agent/activity-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"activity-tracker.js","sourceRoot":"","sources":["../../src/agent/activity-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handlers.d.ts","sourceRoot":"","sources":["../../src/agent/command-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA2BxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,KAAK,UAAU,EAAuB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"command-handlers.d.ts","sourceRoot":"","sources":["../../src/agent/command-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA2BxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,KAAK,UAAU,EAAuB,MAAM,YAAY,CAAC;AAkBlE,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CA2zBtE"}
|
|
@@ -4,6 +4,7 @@ import { saveOwnerConfig, loadConfig, saveConfig, buildPricingUrl } from "../con
|
|
|
4
4
|
import { execSudo } from "../utils/exec.js";
|
|
5
5
|
import { logger } from "../logger.js";
|
|
6
6
|
import { buildHelpText, buildStatusReport } from "./status.js";
|
|
7
|
+
import { formatSubagentLine } from "./activity-tracker.js";
|
|
7
8
|
import { DEFAULT_BASE_URL as WEIXIN_DEFAULT_BASE_URL, saveWeixinAccount, registerWeixinAccountId, } from "@tencent-weixin/openclaw-weixin/src/auth/accounts.js";
|
|
8
9
|
import { startWeixinLoginWithQr, waitForWeixinLogin, } from "@tencent-weixin/openclaw-weixin/src/auth/login-qr.js";
|
|
9
10
|
import { normalizeAccountId } from "openclaw/plugin-sdk";
|
|
@@ -366,19 +367,49 @@ export function registerCommandHandlers(deps) {
|
|
|
366
367
|
channelManager.on("refresh_request", (req) => {
|
|
367
368
|
logger.system(`Context refresh requested by ${req.sender} via ${req.channel}`);
|
|
368
369
|
const doRefresh = async () => {
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
370
|
+
// Claim the `compacting` mutex upfront so the main loop's wake gate
|
|
371
|
+
// won't start a new turn on the same session while we compact it.
|
|
372
|
+
// Claude's requestCompaction() also manages this flag internally; our
|
|
373
|
+
// early claim covers the window between requestStop() and the compact
|
|
374
|
+
// call, and the OpenAI provider (which doesn't touch the flag).
|
|
375
|
+
agentState.compacting = true;
|
|
376
|
+
try {
|
|
377
|
+
if (agentState.busy) {
|
|
378
|
+
await channelManager.sendMessage(req.channel, req.sender, t("cmd.refresh.busy", getLocale()));
|
|
379
|
+
if (!agentState.stopRequested) {
|
|
380
|
+
agentState.requestStop();
|
|
381
|
+
}
|
|
382
|
+
const waited = await new Promise((resolve) => {
|
|
383
|
+
const deadline = Date.now() + 30_000;
|
|
384
|
+
const poll = setInterval(() => {
|
|
385
|
+
if (!agentState.busy) {
|
|
386
|
+
clearInterval(poll);
|
|
387
|
+
resolve(true);
|
|
388
|
+
}
|
|
389
|
+
else if (Date.now() >= deadline) {
|
|
390
|
+
clearInterval(poll);
|
|
391
|
+
resolve(false);
|
|
392
|
+
}
|
|
393
|
+
}, 500);
|
|
394
|
+
});
|
|
395
|
+
if (!waited) {
|
|
396
|
+
await channelManager.sendMessage(req.channel, req.sender, t("cmd.refresh.stop_timeout", getLocale()));
|
|
397
|
+
return;
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
const activeSession = session.activeSession;
|
|
401
|
+
const sessionId = activeSession.getSessionId();
|
|
402
|
+
if (!sessionId) {
|
|
403
|
+
await channelManager.sendMessage(req.channel, req.sender, t("cmd.refresh.no_session", getLocale()));
|
|
404
|
+
return;
|
|
405
|
+
}
|
|
406
|
+
await channelManager.sendMessage(req.channel, req.sender, t("cmd.refresh.refreshing", getLocale()));
|
|
407
|
+
await activeSession.requestCompaction();
|
|
408
|
+
await channelManager.sendMessage(req.channel, req.sender, t("cmd.refresh.done", getLocale()));
|
|
372
409
|
}
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
if (!sessionId) {
|
|
376
|
-
await channelManager.sendMessage(req.channel, req.sender, t("cmd.refresh.no_session", getLocale()));
|
|
377
|
-
return;
|
|
410
|
+
finally {
|
|
411
|
+
agentState.compacting = false;
|
|
378
412
|
}
|
|
379
|
-
await channelManager.sendMessage(req.channel, req.sender, t("cmd.refresh.refreshing", getLocale()));
|
|
380
|
-
await activeSession.requestCompaction();
|
|
381
|
-
await channelManager.sendMessage(req.channel, req.sender, t("cmd.refresh.done", getLocale()));
|
|
382
413
|
};
|
|
383
414
|
doRefresh().catch((err) => {
|
|
384
415
|
logger.warn(`Failed to handle refresh request: ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -391,9 +422,14 @@ export function registerCommandHandlers(deps) {
|
|
|
391
422
|
const taskDesc = tracker.getTaskDescription();
|
|
392
423
|
const elapsedMs = tracker.getTaskElapsedMs();
|
|
393
424
|
const recentActions = tracker.getRecentActions();
|
|
425
|
+
const subagents = tracker.getSubagents();
|
|
394
426
|
const activeMode = session.activeMode;
|
|
395
427
|
const queueSize = messageQueue.size();
|
|
396
|
-
|
|
428
|
+
// Treat tracked subagents as "something to show" too. Otherwise the
|
|
429
|
+
// window between busy=false and the next startTask() (which clears
|
|
430
|
+
// the tracker) would hide recently-completed subagent info that the
|
|
431
|
+
// new operator-facing surface is meant to expose.
|
|
432
|
+
if (!agentState.busy && todos.length === 0 && subagents.length === 0) {
|
|
397
433
|
channelManager
|
|
398
434
|
.sendMessage(req.channel, req.sender, t("cmd.tasks.no_tasks", getLocale()))
|
|
399
435
|
.catch((err) => {
|
|
@@ -436,6 +472,22 @@ export function registerCommandHandlers(deps) {
|
|
|
436
472
|
lines.push(` ${action}`);
|
|
437
473
|
}
|
|
438
474
|
}
|
|
475
|
+
// Subagents — show active first, then any recently-completed ones from
|
|
476
|
+
// this task. Uses the shared formatter so /tasks and /status agree.
|
|
477
|
+
if (subagents.length > 0) {
|
|
478
|
+
const active = subagents.filter((s) => s.status === "running");
|
|
479
|
+
const completed = subagents.filter((s) => s.status !== "running").slice(-3);
|
|
480
|
+
if (active.length > 0 || completed.length > 0) {
|
|
481
|
+
lines.push("");
|
|
482
|
+
lines.push("🤖 Subagents:");
|
|
483
|
+
for (const s of active) {
|
|
484
|
+
lines.push(` ${formatSubagentLine(s)}`);
|
|
485
|
+
}
|
|
486
|
+
for (const s of completed) {
|
|
487
|
+
lines.push(` ${formatSubagentLine(s)}`);
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
}
|
|
439
491
|
lines.push("");
|
|
440
492
|
lines.push(t("cmd.tasks.queue", getLocale(), String(queueSize), queueSize === 1 ? "" : "s"));
|
|
441
493
|
channelManager
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handlers.js","sourceRoot":"","sources":["../../src/agent/command-handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command-handlers.js","sourceRoot":"","sources":["../../src/agent/command-handlers.ts"],"names":[],"mappings":"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"}
|