@foothill/agent-move 1.0.6

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.
Files changed (163) hide show
  1. package/.github/screenshot.png +0 -0
  2. package/README.md +266 -0
  3. package/bin/cli.js +229 -0
  4. package/package.json +53 -0
  5. package/packages/client/dist/assets/BufferResource-Ddjob236.js +185 -0
  6. package/packages/client/dist/assets/CanvasRenderer-B0w6SYyW.js +1 -0
  7. package/packages/client/dist/assets/Filter-NcMGuiK-.js +1 -0
  8. package/packages/client/dist/assets/RenderTargetSystem-DgAzY5_U.js +172 -0
  9. package/packages/client/dist/assets/WebGLRenderer-DUWXDPIX.js +156 -0
  10. package/packages/client/dist/assets/WebGPURenderer-C1HbrllR.js +41 -0
  11. package/packages/client/dist/assets/browserAll-CaF1Fl0O.js +14 -0
  12. package/packages/client/dist/assets/index-CMmR_RuS.css +1 -0
  13. package/packages/client/dist/assets/index-Dh8yWoLP.js +711 -0
  14. package/packages/client/dist/assets/webworkerAll-BJ6UhC7r.js +83 -0
  15. package/packages/client/dist/favicon.svg +27 -0
  16. package/packages/client/dist/index.html +167 -0
  17. package/packages/client/package.json +19 -0
  18. package/packages/server/dist/config.d.ts +12 -0
  19. package/packages/server/dist/config.d.ts.map +1 -0
  20. package/packages/server/dist/config.js +19 -0
  21. package/packages/server/dist/config.js.map +1 -0
  22. package/packages/server/dist/hooks/hook-event-manager.d.ts +39 -0
  23. package/packages/server/dist/hooks/hook-event-manager.d.ts.map +1 -0
  24. package/packages/server/dist/hooks/hook-event-manager.js +161 -0
  25. package/packages/server/dist/hooks/hook-event-manager.js.map +1 -0
  26. package/packages/server/dist/hooks/hook-installer.d.ts +14 -0
  27. package/packages/server/dist/hooks/hook-installer.d.ts.map +1 -0
  28. package/packages/server/dist/hooks/hook-installer.js +179 -0
  29. package/packages/server/dist/hooks/hook-installer.js.map +1 -0
  30. package/packages/server/dist/index.d.ts +4 -0
  31. package/packages/server/dist/index.d.ts.map +1 -0
  32. package/packages/server/dist/index.js +3544 -0
  33. package/packages/server/dist/index.js.map +1 -0
  34. package/packages/server/dist/routes/api.d.ts +4 -0
  35. package/packages/server/dist/routes/api.d.ts.map +1 -0
  36. package/packages/server/dist/routes/api.js +27 -0
  37. package/packages/server/dist/routes/api.js.map +1 -0
  38. package/packages/server/dist/state/activity-processor.d.ts +31 -0
  39. package/packages/server/dist/state/activity-processor.d.ts.map +1 -0
  40. package/packages/server/dist/state/activity-processor.js +417 -0
  41. package/packages/server/dist/state/activity-processor.js.map +1 -0
  42. package/packages/server/dist/state/agent-state-manager.d.ts +107 -0
  43. package/packages/server/dist/state/agent-state-manager.d.ts.map +1 -0
  44. package/packages/server/dist/state/agent-state-manager.js +1622 -0
  45. package/packages/server/dist/state/agent-state-manager.js.map +1 -0
  46. package/packages/server/dist/state/anomaly-detector.d.ts +23 -0
  47. package/packages/server/dist/state/anomaly-detector.d.ts.map +1 -0
  48. package/packages/server/dist/state/anomaly-detector.js +272 -0
  49. package/packages/server/dist/state/anomaly-detector.js.map +1 -0
  50. package/packages/server/dist/state/identity-manager.d.ts +31 -0
  51. package/packages/server/dist/state/identity-manager.d.ts.map +1 -0
  52. package/packages/server/dist/state/identity-manager.js +63 -0
  53. package/packages/server/dist/state/identity-manager.js.map +1 -0
  54. package/packages/server/dist/state/role-resolver.d.ts +23 -0
  55. package/packages/server/dist/state/role-resolver.d.ts.map +1 -0
  56. package/packages/server/dist/state/role-resolver.js +43 -0
  57. package/packages/server/dist/state/role-resolver.js.map +1 -0
  58. package/packages/server/dist/state/task-graph-manager.d.ts +31 -0
  59. package/packages/server/dist/state/task-graph-manager.d.ts.map +1 -0
  60. package/packages/server/dist/state/task-graph-manager.js +191 -0
  61. package/packages/server/dist/state/task-graph-manager.js.map +1 -0
  62. package/packages/server/dist/state/tool-chain-tracker.d.ts +23 -0
  63. package/packages/server/dist/state/tool-chain-tracker.d.ts.map +1 -0
  64. package/packages/server/dist/state/tool-chain-tracker.js +113 -0
  65. package/packages/server/dist/state/tool-chain-tracker.js.map +1 -0
  66. package/packages/server/dist/watcher/agent-watcher.d.ts +16 -0
  67. package/packages/server/dist/watcher/agent-watcher.d.ts.map +1 -0
  68. package/packages/server/dist/watcher/agent-watcher.js +0 -0
  69. package/packages/server/dist/watcher/agent-watcher.js.map +1 -0
  70. package/packages/server/dist/watcher/claude-paths.d.ts +32 -0
  71. package/packages/server/dist/watcher/claude-paths.d.ts.map +1 -0
  72. package/packages/server/dist/watcher/claude-paths.js +104 -0
  73. package/packages/server/dist/watcher/claude-paths.js.map +1 -0
  74. package/packages/server/dist/watcher/file-watcher.d.ts +17 -0
  75. package/packages/server/dist/watcher/file-watcher.d.ts.map +1 -0
  76. package/packages/server/dist/watcher/file-watcher.js +347 -0
  77. package/packages/server/dist/watcher/file-watcher.js.map +1 -0
  78. package/packages/server/dist/watcher/git-info.d.ts +3 -0
  79. package/packages/server/dist/watcher/git-info.d.ts.map +1 -0
  80. package/packages/server/dist/watcher/git-info.js +35 -0
  81. package/packages/server/dist/watcher/git-info.js.map +1 -0
  82. package/packages/server/dist/watcher/jsonl-parser.d.ts +21 -0
  83. package/packages/server/dist/watcher/jsonl-parser.d.ts.map +1 -0
  84. package/packages/server/dist/watcher/jsonl-parser.js +95 -0
  85. package/packages/server/dist/watcher/jsonl-parser.js.map +1 -0
  86. package/packages/server/dist/watcher/opencode/opencode-parser.d.ts +58 -0
  87. package/packages/server/dist/watcher/opencode/opencode-parser.d.ts.map +1 -0
  88. package/packages/server/dist/watcher/opencode/opencode-parser.js +256 -0
  89. package/packages/server/dist/watcher/opencode/opencode-parser.js.map +1 -0
  90. package/packages/server/dist/watcher/opencode/opencode-paths.d.ts +20 -0
  91. package/packages/server/dist/watcher/opencode/opencode-paths.d.ts.map +1 -0
  92. package/packages/server/dist/watcher/opencode/opencode-paths.js +35 -0
  93. package/packages/server/dist/watcher/opencode/opencode-paths.js.map +1 -0
  94. package/packages/server/dist/watcher/opencode/opencode-watcher.d.ts +49 -0
  95. package/packages/server/dist/watcher/opencode/opencode-watcher.d.ts.map +1 -0
  96. package/packages/server/dist/watcher/opencode/opencode-watcher.js +1292 -0
  97. package/packages/server/dist/watcher/opencode/opencode-watcher.js.map +1 -0
  98. package/packages/server/dist/watcher/session-scanner.d.ts +7 -0
  99. package/packages/server/dist/watcher/session-scanner.d.ts.map +1 -0
  100. package/packages/server/dist/watcher/session-scanner.js +69 -0
  101. package/packages/server/dist/watcher/session-scanner.js.map +1 -0
  102. package/packages/server/dist/ws/broadcaster.d.ts +18 -0
  103. package/packages/server/dist/ws/broadcaster.d.ts.map +1 -0
  104. package/packages/server/dist/ws/broadcaster.js +152 -0
  105. package/packages/server/dist/ws/broadcaster.js.map +1 -0
  106. package/packages/server/dist/ws/ws-handler.d.ts +6 -0
  107. package/packages/server/dist/ws/ws-handler.d.ts.map +1 -0
  108. package/packages/server/dist/ws/ws-handler.js +55 -0
  109. package/packages/server/dist/ws/ws-handler.js.map +1 -0
  110. package/packages/server/package.json +25 -0
  111. package/packages/shared/dist/constants/colors.d.ts +46 -0
  112. package/packages/shared/dist/constants/colors.d.ts.map +1 -0
  113. package/packages/shared/dist/constants/colors.js +178 -0
  114. package/packages/shared/dist/constants/colors.js.map +1 -0
  115. package/packages/shared/dist/constants/names.d.ts +6 -0
  116. package/packages/shared/dist/constants/names.d.ts.map +1 -0
  117. package/packages/shared/dist/constants/names.js +28 -0
  118. package/packages/shared/dist/constants/names.js.map +1 -0
  119. package/packages/shared/dist/constants/tools.d.ts +15 -0
  120. package/packages/shared/dist/constants/tools.d.ts.map +1 -0
  121. package/packages/shared/dist/constants/tools.js +120 -0
  122. package/packages/shared/dist/constants/tools.js.map +1 -0
  123. package/packages/shared/dist/constants/zones.d.ts +37 -0
  124. package/packages/shared/dist/constants/zones.d.ts.map +1 -0
  125. package/packages/shared/dist/constants/zones.js +128 -0
  126. package/packages/shared/dist/constants/zones.js.map +1 -0
  127. package/packages/shared/dist/index.d.ts +15 -0
  128. package/packages/shared/dist/index.d.ts.map +1 -0
  129. package/packages/shared/dist/index.js +7 -0
  130. package/packages/shared/dist/index.js.map +1 -0
  131. package/packages/shared/dist/types/agent.d.ts +85 -0
  132. package/packages/shared/dist/types/agent.d.ts.map +1 -0
  133. package/packages/shared/dist/types/agent.js +2 -0
  134. package/packages/shared/dist/types/agent.js.map +1 -0
  135. package/packages/shared/dist/types/anomaly.d.ts +18 -0
  136. package/packages/shared/dist/types/anomaly.d.ts.map +1 -0
  137. package/packages/shared/dist/types/anomaly.js +6 -0
  138. package/packages/shared/dist/types/anomaly.js.map +1 -0
  139. package/packages/shared/dist/types/hooks.d.ts +51 -0
  140. package/packages/shared/dist/types/hooks.d.ts.map +1 -0
  141. package/packages/shared/dist/types/hooks.js +2 -0
  142. package/packages/shared/dist/types/hooks.js.map +1 -0
  143. package/packages/shared/dist/types/jsonl.d.ts +62 -0
  144. package/packages/shared/dist/types/jsonl.d.ts.map +1 -0
  145. package/packages/shared/dist/types/jsonl.js +3 -0
  146. package/packages/shared/dist/types/jsonl.js.map +1 -0
  147. package/packages/shared/dist/types/task-graph.d.ts +20 -0
  148. package/packages/shared/dist/types/task-graph.d.ts.map +1 -0
  149. package/packages/shared/dist/types/task-graph.js +2 -0
  150. package/packages/shared/dist/types/task-graph.js.map +1 -0
  151. package/packages/shared/dist/types/tool-chain.d.ts +17 -0
  152. package/packages/shared/dist/types/tool-chain.d.ts.map +1 -0
  153. package/packages/shared/dist/types/tool-chain.js +2 -0
  154. package/packages/shared/dist/types/tool-chain.js.map +1 -0
  155. package/packages/shared/dist/types/websocket.d.ts +132 -0
  156. package/packages/shared/dist/types/websocket.d.ts.map +1 -0
  157. package/packages/shared/dist/types/websocket.js +2 -0
  158. package/packages/shared/dist/types/websocket.js.map +1 -0
  159. package/packages/shared/dist/types/zone.d.ts +21 -0
  160. package/packages/shared/dist/types/zone.d.ts.map +1 -0
  161. package/packages/shared/dist/types/zone.js +2 -0
  162. package/packages/shared/dist/types/zone.js.map +1 -0
  163. package/packages/shared/package.json +15 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-state-manager.js","sourceRoot":"","sources":["../../src/state/agent-state-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { EventEmitter } from 'events';
2
+ import type { AnomalyConfig } from '@agent-move/shared';
3
+ export declare class AnomalyDetector extends EventEmitter {
4
+ private agents;
5
+ private agentNames;
6
+ private config;
7
+ private stuckInterval;
8
+ constructor(config?: Partial<AnomalyConfig>);
9
+ private getState;
10
+ setAgentName(agentId: string, name: string): void;
11
+ checkToolUse(agentId: string, toolName: string): void;
12
+ checkTokenUsage(agentId: string, inputTokens: number, outputTokens: number): void;
13
+ checkStuck(agentId: string, lastActivityAt: number): void;
14
+ startStuckDetection(getActiveAgents: () => Array<{
15
+ id: string;
16
+ lastActivityAt: number;
17
+ isIdle: boolean;
18
+ }>): void;
19
+ removeAgent(agentId: string): void;
20
+ private alert;
21
+ dispose(): void;
22
+ }
23
+ //# sourceMappingURL=anomaly-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anomaly-detector.d.ts","sourceRoot":"","sources":["../../src/state/anomaly-detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAA6B,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAenF,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,aAAa,CAA+C;gBAExD,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAK3C,OAAO,CAAC,QAAQ;IAchB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIjD,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAmBrD,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IA6BjF,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAazD,mBAAmB,CAAC,eAAe,EAAE,MAAM,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,GAAG,IAAI;IAWhH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKlC,OAAO,CAAC,KAAK;IAuBb,OAAO,IAAI,IAAI;CAMhB"}
@@ -0,0 +1,272 @@
1
+ // dist/state/anomaly-detector.js
2
+ import { EventEmitter } from "events";
3
+ var DEFAULT_ANOMALY_CONFIG = {
4
+ tokenVelocityThreshold: 1e5,
5
+ retryLoopThreshold: 5,
6
+ stuckTimeoutSeconds: 120
7
+ };
8
+ var ZONES = [
9
+ // Row 0
10
+ {
11
+ id: "search",
12
+ label: "Search",
13
+ description: "Grep, WebSearch \u2014 Research & lookup",
14
+ icon: "\u{1F4DA}",
15
+ color: 15381256,
16
+ colStart: 0,
17
+ colSpan: 5,
18
+ rowStart: 0,
19
+ rowSpan: 1,
20
+ x: 0,
21
+ y: 0,
22
+ width: 0,
23
+ height: 0
24
+ },
25
+ {
26
+ id: "terminal",
27
+ label: "Terminal",
28
+ description: "Bash commands \u2014 Server room",
29
+ icon: "\u{1F4BB}",
30
+ color: 2278750,
31
+ colStart: 5,
32
+ colSpan: 3,
33
+ rowStart: 0,
34
+ rowSpan: 1,
35
+ x: 0,
36
+ y: 0,
37
+ width: 0,
38
+ height: 0
39
+ },
40
+ {
41
+ id: "web",
42
+ label: "Web",
43
+ description: "WebFetch, Browser \u2014 Network hub",
44
+ icon: "\u{1F310}",
45
+ color: 9133302,
46
+ colStart: 8,
47
+ colSpan: 4,
48
+ rowStart: 0,
49
+ rowSpan: 1,
50
+ x: 0,
51
+ y: 0,
52
+ width: 0,
53
+ height: 0
54
+ },
55
+ // Row 1
56
+ {
57
+ id: "files",
58
+ label: "Files",
59
+ description: "Read, Write, Edit, Glob \u2014 File storage",
60
+ icon: "\u{1F4C1}",
61
+ color: 3900150,
62
+ colStart: 0,
63
+ colSpan: 4,
64
+ rowStart: 1,
65
+ rowSpan: 1,
66
+ x: 0,
67
+ y: 0,
68
+ width: 0,
69
+ height: 0
70
+ },
71
+ {
72
+ id: "thinking",
73
+ label: "Thinking",
74
+ description: "Planning, Questions \u2014 Conference area",
75
+ icon: "\u{1F4AD}",
76
+ color: 16347926,
77
+ colStart: 4,
78
+ colSpan: 5,
79
+ rowStart: 1,
80
+ rowSpan: 1,
81
+ x: 0,
82
+ y: 0,
83
+ width: 0,
84
+ height: 0
85
+ },
86
+ {
87
+ id: "messaging",
88
+ label: "Messaging",
89
+ description: "SendMessage, Teams \u2014 Chat & relax",
90
+ icon: "\u{1F4AC}",
91
+ color: 15485081,
92
+ colStart: 9,
93
+ colSpan: 3,
94
+ rowStart: 1,
95
+ rowSpan: 1,
96
+ x: 0,
97
+ y: 0,
98
+ width: 0,
99
+ height: 0
100
+ },
101
+ // Row 2
102
+ {
103
+ id: "spawn",
104
+ label: "Spawn",
105
+ description: "Agent spawn/despawn \u2014 Entry portal",
106
+ icon: "\u{1F300}",
107
+ color: 11032055,
108
+ colStart: 0,
109
+ colSpan: 3,
110
+ rowStart: 2,
111
+ rowSpan: 1,
112
+ x: 0,
113
+ y: 0,
114
+ width: 0,
115
+ height: 0
116
+ },
117
+ {
118
+ id: "idle",
119
+ label: "Idle",
120
+ description: "Idle agents rest here \u2014 Kitchen & lounge",
121
+ icon: "\u2615",
122
+ color: 7041664,
123
+ colStart: 3,
124
+ colSpan: 5,
125
+ rowStart: 2,
126
+ rowSpan: 1,
127
+ x: 0,
128
+ y: 0,
129
+ width: 0,
130
+ height: 0
131
+ },
132
+ {
133
+ id: "tasks",
134
+ label: "Tasks",
135
+ description: "TaskCreate, TaskUpdate \u2014 Kanban & planning",
136
+ icon: "\u{1F4CB}",
137
+ color: 1357990,
138
+ colStart: 8,
139
+ colSpan: 4,
140
+ rowStart: 2,
141
+ rowSpan: 1,
142
+ x: 0,
143
+ y: 0,
144
+ width: 0,
145
+ height: 0
146
+ }
147
+ ];
148
+ var ZONE_MAP = new Map(ZONES.map((z) => [z.id, z]));
149
+ var COOLDOWN_MS = 6e4;
150
+ var TOKEN_WINDOW_MS = 6e4;
151
+ var anomalyIdCounter = 0;
152
+ var AnomalyDetector = class extends EventEmitter {
153
+ agents = /* @__PURE__ */ new Map();
154
+ agentNames = /* @__PURE__ */ new Map();
155
+ config;
156
+ stuckInterval = null;
157
+ constructor(config) {
158
+ super();
159
+ this.config = { ...DEFAULT_ANOMALY_CONFIG, ...config };
160
+ }
161
+ getState(agentId) {
162
+ let state = this.agents.get(agentId);
163
+ if (!state) {
164
+ state = {
165
+ lastTools: [],
166
+ tokenSamples: [],
167
+ lastActivityAt: Date.now(),
168
+ lastAlertAt: /* @__PURE__ */ new Map()
169
+ };
170
+ this.agents.set(agentId, state);
171
+ }
172
+ return state;
173
+ }
174
+ setAgentName(agentId, name) {
175
+ this.agentNames.set(agentId, name);
176
+ }
177
+ checkToolUse(agentId, toolName) {
178
+ const state = this.getState(agentId);
179
+ state.lastActivityAt = Date.now();
180
+ state.lastTools.push(toolName);
181
+ if (state.lastTools.length > 20)
182
+ state.lastTools.shift();
183
+ const threshold = this.config.retryLoopThreshold;
184
+ if (state.lastTools.length >= threshold) {
185
+ const recent = state.lastTools.slice(-threshold);
186
+ if (recent.every((t) => t === recent[0])) {
187
+ this.alert(agentId, "retry-loop", `${recent[0]} called ${threshold}+ times consecutively`, "warning", {
188
+ tool: recent[0],
189
+ consecutiveCount: threshold
190
+ });
191
+ }
192
+ }
193
+ }
194
+ checkTokenUsage(agentId, inputTokens, outputTokens) {
195
+ const state = this.getState(agentId);
196
+ state.lastActivityAt = Date.now();
197
+ const now = Date.now();
198
+ const total = inputTokens + outputTokens;
199
+ state.tokenSamples.push({ ts: now, total });
200
+ const cutoff = now - TOKEN_WINDOW_MS;
201
+ while (state.tokenSamples.length > 0 && state.tokenSamples[0].ts < cutoff) {
202
+ state.tokenSamples.shift();
203
+ }
204
+ if (state.tokenSamples.length >= 2) {
205
+ const totalTokens = state.tokenSamples.reduce((sum, s) => sum + s.total, 0);
206
+ const elapsed = (state.tokenSamples[state.tokenSamples.length - 1].ts - state.tokenSamples[0].ts) / 6e4;
207
+ if (elapsed > 0.1) {
208
+ const velocity = totalTokens / elapsed;
209
+ if (velocity >= this.config.tokenVelocityThreshold) {
210
+ this.alert(agentId, "token-spike", `Token velocity ${Math.round(velocity)}/min exceeds threshold`, "critical", {
211
+ velocity: Math.round(velocity),
212
+ threshold: this.config.tokenVelocityThreshold
213
+ });
214
+ }
215
+ }
216
+ }
217
+ }
218
+ checkStuck(agentId, lastActivityAt) {
219
+ const state = this.getState(agentId);
220
+ const elapsed = (Date.now() - lastActivityAt) / 1e3;
221
+ if (elapsed >= this.config.stuckTimeoutSeconds) {
222
+ this.alert(agentId, "stuck-agent", `No activity for ${Math.round(elapsed)}s`, "warning", {
223
+ idleSeconds: Math.round(elapsed),
224
+ threshold: this.config.stuckTimeoutSeconds
225
+ });
226
+ }
227
+ state.lastActivityAt = lastActivityAt;
228
+ }
229
+ startStuckDetection(getActiveAgents) {
230
+ if (this.stuckInterval)
231
+ return;
232
+ this.stuckInterval = setInterval(() => {
233
+ for (const agent of getActiveAgents()) {
234
+ if (!agent.isIdle) {
235
+ this.checkStuck(agent.id, agent.lastActivityAt);
236
+ }
237
+ }
238
+ }, 3e4);
239
+ }
240
+ removeAgent(agentId) {
241
+ this.agents.delete(agentId);
242
+ this.agentNames.delete(agentId);
243
+ }
244
+ alert(agentId, kind, message, severity, details) {
245
+ const state = this.getState(agentId);
246
+ const now = Date.now();
247
+ const lastAlert = state.lastAlertAt.get(kind) ?? 0;
248
+ if (now - lastAlert < COOLDOWN_MS)
249
+ return;
250
+ state.lastAlertAt.set(kind, now);
251
+ const anomaly = {
252
+ id: `anomaly-${++anomalyIdCounter}`,
253
+ agentId,
254
+ agentName: this.agentNames.get(agentId) ?? agentId.slice(0, 10),
255
+ kind,
256
+ message,
257
+ severity,
258
+ timestamp: now,
259
+ details
260
+ };
261
+ this.emit("anomaly", anomaly);
262
+ }
263
+ dispose() {
264
+ if (this.stuckInterval) {
265
+ clearInterval(this.stuckInterval);
266
+ this.stuckInterval = null;
267
+ }
268
+ }
269
+ };
270
+ export {
271
+ AnomalyDetector
272
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anomaly-detector.js","sourceRoot":"","sources":["../../src/state/anomaly-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { AgentState, AgentEvent } from '@agent-move/shared';
2
+ import type { ToolChainTracker } from './tool-chain-tracker.js';
3
+ export interface IdentityManagerDeps {
4
+ agents: Map<string, AgentState>;
5
+ hiddenAgents: Set<string>;
6
+ sessionToAgent: Map<string, string>;
7
+ namedAgentMap: Map<string, string>;
8
+ identityTimers: Map<string, ReturnType<typeof setTimeout>>;
9
+ toolChainTracker: ToolChainTracker;
10
+ clearTimers: (agentId: string) => void;
11
+ recordTimeline: (event: AgentEvent) => void;
12
+ emit: (event: string, ...args: unknown[]) => void;
13
+ }
14
+ /**
15
+ * Resolve a sessionId to its canonical agent ID.
16
+ */
17
+ export declare function resolveAgentId(sessionToAgent: Map<string, string>, sessionId: string): string;
18
+ /**
19
+ * Transfer token counts from source agent to target and remove the source.
20
+ */
21
+ export declare function transferAndRemove(deps: IdentityManagerDeps, sourceId: string, target: AgentState, redirectSessionId: string): void;
22
+ /**
23
+ * Merge a hidden agent into an existing named agent.
24
+ * Returns the existing agent if merged, or null.
25
+ */
26
+ export declare function mergeIntoNamed(deps: IdentityManagerDeps, hiddenId: string, agentName: string): AgentState | null;
27
+ /**
28
+ * Promote a hidden agent to visible (emit spawn event).
29
+ */
30
+ export declare function promoteAgent(deps: IdentityManagerDeps, agentId: string): void;
31
+ //# sourceMappingURL=identity-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../src/state/identity-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAChC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;IAC3D,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACnD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,EAClB,iBAAiB,EAAE,MAAM,GACxB,IAAI,CAiBN;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,UAAU,GAAG,IAAI,CAiBnB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAqB7E"}
@@ -0,0 +1,63 @@
1
+ // dist/state/identity-manager.js
2
+ function resolveAgentId(sessionToAgent, sessionId) {
3
+ return sessionToAgent.get(sessionId) ?? sessionId;
4
+ }
5
+ function transferAndRemove(deps, sourceId, target, redirectSessionId) {
6
+ const { agents, hiddenAgents, sessionToAgent, toolChainTracker, clearTimers } = deps;
7
+ const source = agents.get(sourceId);
8
+ if (source) {
9
+ target.totalInputTokens += source.totalInputTokens;
10
+ target.totalOutputTokens += source.totalOutputTokens;
11
+ target.cacheReadTokens += source.cacheReadTokens;
12
+ target.cacheCreationTokens += source.cacheCreationTokens;
13
+ }
14
+ agents.delete(sourceId);
15
+ hiddenAgents.delete(sourceId);
16
+ clearTimers(sourceId);
17
+ toolChainTracker.migrateAgent(sourceId, target.id);
18
+ sessionToAgent.set(redirectSessionId, target.id);
19
+ target.isIdle = false;
20
+ target.isDone = false;
21
+ target.lastActivityAt = Date.now();
22
+ }
23
+ function mergeIntoNamed(deps, hiddenId, agentName) {
24
+ const { agents, namedAgentMap } = deps;
25
+ const hidden = agents.get(hiddenId);
26
+ if (!hidden)
27
+ return null;
28
+ const key = `${hidden.rootSessionId}:${agentName}`;
29
+ const existingId = namedAgentMap.get(key);
30
+ if (!existingId || existingId === hiddenId)
31
+ return null;
32
+ const existing = agents.get(existingId);
33
+ if (!existing)
34
+ return null;
35
+ transferAndRemove(deps, hiddenId, existing, hiddenId);
36
+ console.log(`Merged session ${hiddenId.slice(0, 12)}\u2026 into agent "${agentName}" (${existingId.slice(0, 12)}\u2026)`);
37
+ return existing;
38
+ }
39
+ function promoteAgent(deps, agentId) {
40
+ const { agents, hiddenAgents, identityTimers, recordTimeline, emit } = deps;
41
+ hiddenAgents.delete(agentId);
42
+ const idTimer = identityTimers.get(agentId);
43
+ if (idTimer)
44
+ clearTimeout(idTimer);
45
+ identityTimers.delete(agentId);
46
+ const agent = agents.get(agentId);
47
+ if (!agent)
48
+ return;
49
+ console.log(`Promoting hidden agent ${agentId.slice(0, 12)}\u2026 (name: ${agent.agentName ?? "unknown"})`);
50
+ const now = Date.now();
51
+ const spawnEvent = { type: "agent:spawn", agent: { ...agent }, timestamp: now };
52
+ recordTimeline(spawnEvent);
53
+ emit("agent:spawn", spawnEvent);
54
+ const updateEvent = { type: "agent:update", agent: { ...agent }, timestamp: now };
55
+ recordTimeline(updateEvent);
56
+ emit("agent:update", updateEvent);
57
+ }
58
+ export {
59
+ mergeIntoNamed,
60
+ promoteAgent,
61
+ resolveAgentId,
62
+ transferAndRemove
63
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-manager.js","sourceRoot":"","sources":["../../src/state/identity-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { AgentState } from '@agent-move/shared';
2
+ import type { ParsedActivity } from '../watcher/jsonl-parser.js';
3
+ import type { SessionInfo } from '../watcher/claude-paths.js';
4
+ /**
5
+ * Determine the role for an agent based on session info alone (unnamed agents).
6
+ */
7
+ export declare function determineRole(_activity: ParsedActivity, sessionInfo: SessionInfo): AgentState['role'];
8
+ /**
9
+ * Determine the role for a named subagent based on team assignment.
10
+ * Only explicit team assignment (Agent tool's team_name parameter) makes a team-member.
11
+ * Sub-agents spawned by the team-lead without team_name stay as subagents.
12
+ */
13
+ export declare function determineRoleForNamed(_parentId: string | null, pendingTeam: string | null): AgentState['role'];
14
+ /**
15
+ * Find the parent agent ID for a new subagent given its project directory.
16
+ * Priority: team-lead → main session → any non-leaf agent.
17
+ */
18
+ export declare function findParentId(agents: Map<string, AgentState>, projectDir: string): string | null;
19
+ /**
20
+ * Inherit teamName from any agent in the same session hierarchy.
21
+ */
22
+ export declare function getParentTeamName(agents: Map<string, AgentState>, rootSessionId: string): string | null;
23
+ //# sourceMappingURL=role-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-resolver.d.ts","sourceRoot":"","sources":["../../src/state/role-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAGrG;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,UAAU,CAAC,MAAM,CAAC,CAGpB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAC/B,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAoBf;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAC/B,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,IAAI,CAOf"}
@@ -0,0 +1,43 @@
1
+ // dist/state/role-resolver.js
2
+ function determineRole(_activity, sessionInfo) {
3
+ if (sessionInfo.isSubagent)
4
+ return "subagent";
5
+ return "main";
6
+ }
7
+ function determineRoleForNamed(_parentId, pendingTeam) {
8
+ if (pendingTeam)
9
+ return "team-member";
10
+ return "subagent";
11
+ }
12
+ function findParentId(agents, projectDir) {
13
+ for (const [id, agent] of agents) {
14
+ if (agent.projectPath === projectDir && agent.role === "team-lead") {
15
+ return id;
16
+ }
17
+ }
18
+ for (const [id, agent] of agents) {
19
+ if (agent.projectPath === projectDir && agent.role === "main") {
20
+ return id;
21
+ }
22
+ }
23
+ for (const [id, agent] of agents) {
24
+ if (agent.projectPath === projectDir && agent.role !== "subagent" && agent.role !== "team-member") {
25
+ return id;
26
+ }
27
+ }
28
+ return null;
29
+ }
30
+ function getParentTeamName(agents, rootSessionId) {
31
+ for (const agent of agents.values()) {
32
+ if (agent.rootSessionId === rootSessionId && agent.teamName) {
33
+ return agent.teamName;
34
+ }
35
+ }
36
+ return null;
37
+ }
38
+ export {
39
+ determineRole,
40
+ determineRoleForNamed,
41
+ findParentId,
42
+ getParentTeamName
43
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-resolver.js","sourceRoot":"","sources":["../../src/state/role-resolver.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,SAAyB,EAAE,WAAwB;IAC/E,IAAI,WAAW,CAAC,UAAU;QAAE,OAAO,UAAU,CAAC;IAC9C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAwB,EACxB,WAA0B;IAE1B,IAAI,WAAW;QAAE,OAAO,aAAa,CAAC;IACtC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,MAA+B,EAC/B,UAAkB;IAElB,yEAAyE;IACzE,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACnE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,2BAA2B;IAC3B,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,4CAA4C;IAC5C,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAClG,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAA+B,EAC/B,aAAqB;IAErB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,aAAa,KAAK,aAAa,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC,QAAQ,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { TaskGraphData } from '@agent-move/shared';
2
+ export declare class TaskGraphManager {
3
+ private tasks;
4
+ /** Per-agent-root counters to match Claude's sequential task IDs per team */
5
+ private counters;
6
+ /**
7
+ * Build a scoped key from rootSessionId + short task ID.
8
+ * This prevents cross-team ID collisions in the global map.
9
+ */
10
+ private scopedKey;
11
+ /**
12
+ * Process a tool use that may affect the task graph.
13
+ * Returns true if the graph changed.
14
+ */
15
+ processToolUse(agentId: string, agentName: string, toolName: string, toolInput: unknown, projectName?: string, rootSessionId?: string): boolean;
16
+ private handleCreate;
17
+ private handleUpdate;
18
+ /**
19
+ * Mark a task as completed (hook-sourced — TaskCompleted event).
20
+ * Returns true if the status actually changed.
21
+ */
22
+ processTaskCompleted(taskId: string, root: string): boolean;
23
+ /**
24
+ * Remove all tasks created by a given agent.
25
+ * Cleans up dependency references from remaining tasks.
26
+ * Returns true if any tasks were removed.
27
+ */
28
+ removeAgentTasks(agentId: string): boolean;
29
+ getSnapshot(): TaskGraphData;
30
+ }
31
+ //# sourceMappingURL=task-graph-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-graph-manager.d.ts","sourceRoot":"","sources":["../../src/state/task-graph-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAElE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAA+B;IAC5C,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAA6B;IAE7C;;;OAGG;IACH,OAAO,CAAC,SAAS;IAIjB;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO;IAW/I,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,YAAY;IAwFpB;;;OAGG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAQ3D;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAyB1C,WAAW,IAAI,aAAa;CAwB7B"}