@agents-tower/core 0.1.0
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/adapters/claude.d.ts +2 -0
- package/dist/adapters/claude.js +43 -0
- package/dist/adapters/claude.js.map +1 -0
- package/dist/adapters/codex-cloud.d.ts +4 -0
- package/dist/adapters/codex-cloud.js +80 -0
- package/dist/adapters/codex-cloud.js.map +1 -0
- package/dist/adapters/codex-local.d.ts +17 -0
- package/dist/adapters/codex-local.js +180 -0
- package/dist/adapters/codex-local.js.map +1 -0
- package/dist/adapters/cursor-cloud.d.ts +2 -0
- package/dist/adapters/cursor-cloud.js +54 -0
- package/dist/adapters/cursor-cloud.js.map +1 -0
- package/dist/adapters/cursor-local.d.ts +2 -0
- package/dist/adapters/cursor-local.js +37 -0
- package/dist/adapters/cursor-local.js.map +1 -0
- package/dist/adapters/helpers.d.ts +15 -0
- package/dist/adapters/helpers.js +33 -0
- package/dist/adapters/helpers.js.map +1 -0
- package/dist/adapters/hermes.d.ts +2 -0
- package/dist/adapters/hermes.js +41 -0
- package/dist/adapters/hermes.js.map +1 -0
- package/dist/adapters/index.d.ts +2 -0
- package/dist/adapters/index.js +37 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/openclaw.d.ts +2 -0
- package/dist/adapters/openclaw.js +41 -0
- package/dist/adapters/openclaw.js.map +1 -0
- package/dist/adapters/presence.d.ts +2 -0
- package/dist/adapters/presence.js +36 -0
- package/dist/adapters/presence.js.map +1 -0
- package/dist/adapters/static-source.d.ts +15 -0
- package/dist/adapters/static-source.js +41 -0
- package/dist/adapters/static-source.js.map +1 -0
- package/dist/adapters/types.d.ts +44 -0
- package/dist/adapters/types.js +3 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/app-server.d.ts +94 -0
- package/dist/app-server.js +382 -0
- package/dist/app-server.js.map +1 -0
- package/dist/app-settings.d.ts +52 -0
- package/dist/app-settings.js +268 -0
- package/dist/app-settings.js.map +1 -0
- package/dist/appearance.d.ts +6 -0
- package/dist/appearance.js +84 -0
- package/dist/appearance.js.map +1 -0
- package/dist/aseprite.d.ts +4 -0
- package/dist/aseprite.js +42 -0
- package/dist/aseprite.js.map +1 -0
- package/dist/claude-agent-sdk.d.ts +44 -0
- package/dist/claude-agent-sdk.js +347 -0
- package/dist/claude-agent-sdk.js.map +1 -0
- package/dist/claude-home-cache.d.ts +61 -0
- package/dist/claude-home-cache.js +438 -0
- package/dist/claude-home-cache.js.map +1 -0
- package/dist/claude.d.ts +154 -0
- package/dist/claude.js +3495 -0
- package/dist/claude.js.map +1 -0
- package/dist/cloud.d.ts +2 -0
- package/dist/cloud.js +25 -0
- package/dist/cloud.js.map +1 -0
- package/dist/codex-command.d.ts +25 -0
- package/dist/codex-command.js +235 -0
- package/dist/codex-command.js.map +1 -0
- package/dist/codex-session-files.d.ts +8 -0
- package/dist/codex-session-files.js +509 -0
- package/dist/codex-session-files.js.map +1 -0
- package/dist/codex-thread-query.d.ts +14 -0
- package/dist/codex-thread-query.js +82 -0
- package/dist/codex-thread-query.js.map +1 -0
- package/dist/cursor-cloud-data.d.ts +34 -0
- package/dist/cursor-cloud-data.js +344 -0
- package/dist/cursor-cloud-data.js.map +1 -0
- package/dist/cursor-lib/local-discovery.d.ts +17 -0
- package/dist/cursor-lib/local-discovery.js +251 -0
- package/dist/cursor-lib/local-discovery.js.map +1 -0
- package/dist/cursor-lib/shared.d.ts +5 -0
- package/dist/cursor-lib/shared.js +88 -0
- package/dist/cursor-lib/shared.js.map +1 -0
- package/dist/cursor.d.ts +8 -0
- package/dist/cursor.js +1584 -0
- package/dist/cursor.js.map +1 -0
- package/dist/domain/codex-turn-semantics.d.ts +4 -0
- package/dist/domain/codex-turn-semantics.js +49 -0
- package/dist/domain/codex-turn-semantics.js.map +1 -0
- package/dist/domain/workload-policy.d.ts +8 -0
- package/dist/domain/workload-policy.js +268 -0
- package/dist/domain/workload-policy.js.map +1 -0
- package/dist/domain/workspace-activity.d.ts +10 -0
- package/dist/domain/workspace-activity.js +372 -0
- package/dist/domain/workspace-activity.js.map +1 -0
- package/dist/goal.d.ts +11 -0
- package/dist/goal.js +76 -0
- package/dist/goal.js.map +1 -0
- package/dist/hermes-hook-install.d.ts +12 -0
- package/dist/hermes-hook-install.js +335 -0
- package/dist/hermes-hook-install.js.map +1 -0
- package/dist/hermes.d.ts +97 -0
- package/dist/hermes.js +2446 -0
- package/dist/hermes.js.map +1 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/live-monitor-lib/events.d.ts +43 -0
- package/dist/live-monitor-lib/events.js +1463 -0
- package/dist/live-monitor-lib/events.js.map +1 -0
- package/dist/live-monitor-lib/rollout-hooks.d.ts +13 -0
- package/dist/live-monitor-lib/rollout-hooks.js +253 -0
- package/dist/live-monitor-lib/rollout-hooks.js.map +1 -0
- package/dist/live-monitor.d.ts +102 -0
- package/dist/live-monitor.js +1461 -0
- package/dist/live-monitor.js.map +1 -0
- package/dist/local-thread-selection.d.ts +2 -0
- package/dist/local-thread-selection.js +58 -0
- package/dist/local-thread-selection.js.map +1 -0
- package/dist/openclaw.d.ts +41 -0
- package/dist/openclaw.js +715 -0
- package/dist/openclaw.js.map +1 -0
- package/dist/presence.d.ts +9 -0
- package/dist/presence.js +108 -0
- package/dist/presence.js.map +1 -0
- package/dist/project-identity.d.ts +7 -0
- package/dist/project-identity.js +162 -0
- package/dist/project-identity.js.map +1 -0
- package/dist/project-paths.d.ts +23 -0
- package/dist/project-paths.js +394 -0
- package/dist/project-paths.js.map +1 -0
- package/dist/project-storage.d.ts +7 -0
- package/dist/project-storage.js +79 -0
- package/dist/project-storage.js.map +1 -0
- package/dist/room-config.d.ts +21 -0
- package/dist/room-config.js +230 -0
- package/dist/room-config.js.map +1 -0
- package/dist/services/project-discovery.d.ts +1 -0
- package/dist/services/project-discovery.js +16 -0
- package/dist/services/project-discovery.js.map +1 -0
- package/dist/services/project-live-monitor.d.ts +1 -0
- package/dist/services/project-live-monitor.js +6 -0
- package/dist/services/project-live-monitor.js.map +1 -0
- package/dist/services/project-snapshot-coordinator.d.ts +49 -0
- package/dist/services/project-snapshot-coordinator.js +152 -0
- package/dist/services/project-snapshot-coordinator.js.map +1 -0
- package/dist/services/refresh-scheduler.d.ts +8 -0
- package/dist/services/refresh-scheduler.js +44 -0
- package/dist/services/refresh-scheduler.js.map +1 -0
- package/dist/services/snapshot-assembler.d.ts +8 -0
- package/dist/services/snapshot-assembler.js +167 -0
- package/dist/services/snapshot-assembler.js.map +1 -0
- package/dist/services/thread-store.d.ts +4 -0
- package/dist/services/thread-store.js +8 -0
- package/dist/services/thread-store.js.map +1 -0
- package/dist/snapshot-lib/activity-summary.d.ts +3 -0
- package/dist/snapshot-lib/activity-summary.js +220 -0
- package/dist/snapshot-lib/activity-summary.js.map +1 -0
- package/dist/snapshot-lib/dashboard-builder.d.ts +21 -0
- package/dist/snapshot-lib/dashboard-builder.js +146 -0
- package/dist/snapshot-lib/dashboard-builder.js.map +1 -0
- package/dist/snapshot-lib/thread-summary.d.ts +27 -0
- package/dist/snapshot-lib/thread-summary.js +953 -0
- package/dist/snapshot-lib/thread-summary.js.map +1 -0
- package/dist/snapshot.d.ts +2 -0
- package/dist/snapshot.js +21 -0
- package/dist/snapshot.js.map +1 -0
- package/dist/types.d.ts +368 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/json.d.ts +4 -0
- package/dist/utils/json.js +29 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/text.d.ts +3 -0
- package/dist/utils/text.js +26 -0
- package/dist/utils/text.js.map +1 -0
- package/dist/web-search.d.ts +1 -0
- package/dist/web-search.js +52 -0
- package/dist/web-search.js.map +1 -0
- package/dist/workload.d.ts +1 -0
- package/dist/workload.js +12 -0
- package/dist/workload.js.map +1 -0
- package/package.json +19 -0
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildWorkspaceActivitySnapshot = buildWorkspaceActivitySnapshot;
|
|
4
|
+
exports.emptyWorkspaceActivitySnapshot = emptyWorkspaceActivitySnapshot;
|
|
5
|
+
const HOT_CHANGE_WINDOW_MS = 20 * 60 * 1000;
|
|
6
|
+
const HOT_CHANGE_HALF_LIFE_MS = 3 * 60 * 1000;
|
|
7
|
+
const HOT_CHANGE_MIN_SCORE = 1.2;
|
|
8
|
+
const HOT_CHANGE_LINE_SCORE_FACTOR = 1.25;
|
|
9
|
+
const HOT_CHANGE_MAX_LINE_SCORE = 10;
|
|
10
|
+
const HOT_CHANGE_HEAT_PER_SCORE = 2;
|
|
11
|
+
const HOT_CHANGE_FALLBACK_SCORE = 2.5;
|
|
12
|
+
const HOT_CHANGE_FALLBACK_HEAT = 6;
|
|
13
|
+
const MAX_HOT_CHANGES_PER_TYPE = 3;
|
|
14
|
+
const HOT_TOOL_WINDOW_MS = 20 * 60 * 1000;
|
|
15
|
+
const MAX_HOT_TOOLS = 5;
|
|
16
|
+
const COMMAND_QUIET_AFTER_MS = 15 * 1000;
|
|
17
|
+
const RUNNING_COMMAND_WINDOW_MS = 5 * 60 * 1000;
|
|
18
|
+
function parseTimeMs(value) {
|
|
19
|
+
const parsed = Date.parse(value ?? "");
|
|
20
|
+
return Number.isFinite(parsed) ? parsed : Number.NaN;
|
|
21
|
+
}
|
|
22
|
+
function ageMs(createdAtMs, now) {
|
|
23
|
+
if (!Number.isFinite(createdAtMs)) {
|
|
24
|
+
return Number.NaN;
|
|
25
|
+
}
|
|
26
|
+
return Math.max(0, now - createdAtMs);
|
|
27
|
+
}
|
|
28
|
+
function pathLabel(path) {
|
|
29
|
+
const parts = path.split(/[\\/]/).filter(Boolean);
|
|
30
|
+
return parts.at(-1) ?? path;
|
|
31
|
+
}
|
|
32
|
+
function extensionForPath(path) {
|
|
33
|
+
const label = pathLabel(path).toLowerCase();
|
|
34
|
+
const match = label.match(/\.([^.]+)$/);
|
|
35
|
+
return match ? match[1] : "";
|
|
36
|
+
}
|
|
37
|
+
function hotFileType(path) {
|
|
38
|
+
const extension = extensionForPath(path);
|
|
39
|
+
if (!extension) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
if ([
|
|
43
|
+
"js", "jsx", "ts", "tsx", "mjs", "cjs", "css", "scss", "sass", "less", "html",
|
|
44
|
+
"py", "rb", "go", "rs", "java", "kt", "kts", "swift", "c", "cc", "cpp", "h",
|
|
45
|
+
"hpp", "cs", "php", "sh", "bash", "zsh", "fish", "ps1", "bat", "cmd", "sql",
|
|
46
|
+
"graphql", "gql", "vue", "svelte", "astro", "lua", "pl", "r"
|
|
47
|
+
].includes(extension)) {
|
|
48
|
+
return "script";
|
|
49
|
+
}
|
|
50
|
+
if ([
|
|
51
|
+
"md", "mdx", "txt", "rst", "adoc", "tex", "pdf", "doc", "docx", "rtf", "csv",
|
|
52
|
+
"tsv", "yml", "yaml", "toml", "ini"
|
|
53
|
+
].includes(extension)) {
|
|
54
|
+
return "doc";
|
|
55
|
+
}
|
|
56
|
+
if ([
|
|
57
|
+
"png", "jpg", "jpeg", "gif", "webp", "avif", "svg", "ico", "bmp", "tif", "tiff",
|
|
58
|
+
"mp3", "wav", "ogg", "flac", "mp4", "webm", "mov", "m4v", "avi", "aseprite",
|
|
59
|
+
"psd", "ai", "sketch", "fig", "woff", "woff2", "ttf", "otf"
|
|
60
|
+
].includes(extension)) {
|
|
61
|
+
return "media";
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
function combineConfidence(left, right) {
|
|
66
|
+
return left === "typed" || right === "typed" ? "typed" : "inferred";
|
|
67
|
+
}
|
|
68
|
+
function cleanLabel(value) {
|
|
69
|
+
const normalized = typeof value === "string" ? value.trim() : "";
|
|
70
|
+
return normalized.length > 0 ? normalized : null;
|
|
71
|
+
}
|
|
72
|
+
function addUnique(set, value) {
|
|
73
|
+
const normalized = cleanLabel(value);
|
|
74
|
+
if (normalized) {
|
|
75
|
+
set.add(normalized);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function lineDelta(event) {
|
|
79
|
+
const added = Number.isFinite(event.linesAdded) ? Math.max(0, Number(event.linesAdded)) : 0;
|
|
80
|
+
const removed = Number.isFinite(event.linesRemoved) ? Math.max(0, Number(event.linesRemoved)) : 0;
|
|
81
|
+
return added + removed;
|
|
82
|
+
}
|
|
83
|
+
function fileChangeWeight(event) {
|
|
84
|
+
const base = event.action === "created" || event.action === "deleted" ? 7
|
|
85
|
+
: event.action === "moved" ? 6
|
|
86
|
+
: event.phase === "completed" ? 6
|
|
87
|
+
: event.phase === "started" ? 4
|
|
88
|
+
: 3;
|
|
89
|
+
const changedLines = lineDelta(event);
|
|
90
|
+
return base + Math.min(HOT_CHANGE_MAX_LINE_SCORE, Math.log2(changedLines + 1) * HOT_CHANGE_LINE_SCORE_FACTOR);
|
|
91
|
+
}
|
|
92
|
+
function buildHotChanges(input) {
|
|
93
|
+
const changes = new Map();
|
|
94
|
+
for (const event of input.events) {
|
|
95
|
+
if (event.kind !== "fileChange" || !event.path) {
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
const fileType = hotFileType(event.path);
|
|
99
|
+
if (!fileType) {
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
const createdAtMs = parseTimeMs(event.createdAt);
|
|
103
|
+
const eventAgeMs = ageMs(createdAtMs, input.now);
|
|
104
|
+
if (!Number.isFinite(eventAgeMs) || eventAgeMs > HOT_CHANGE_WINDOW_MS) {
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
const decay = Math.pow(0.5, eventAgeMs / HOT_CHANGE_HALF_LIFE_MS);
|
|
108
|
+
const score = fileChangeWeight(event) * decay;
|
|
109
|
+
const existing = changes.get(event.path);
|
|
110
|
+
const next = existing ?? {
|
|
111
|
+
path: event.path,
|
|
112
|
+
score: 0,
|
|
113
|
+
changeCount: 0,
|
|
114
|
+
lastChangedAtMs: createdAtMs,
|
|
115
|
+
linesAdded: 0,
|
|
116
|
+
linesRemoved: 0,
|
|
117
|
+
agents: new Set(),
|
|
118
|
+
branches: new Set(),
|
|
119
|
+
users: new Set(),
|
|
120
|
+
provenance: event.source,
|
|
121
|
+
confidence: event.confidence
|
|
122
|
+
};
|
|
123
|
+
next.score += score;
|
|
124
|
+
next.changeCount += 1;
|
|
125
|
+
next.lastChangedAtMs = Math.max(next.lastChangedAtMs, createdAtMs);
|
|
126
|
+
next.linesAdded += Number.isFinite(event.linesAdded) ? Math.max(0, Number(event.linesAdded)) : 0;
|
|
127
|
+
next.linesRemoved += Number.isFinite(event.linesRemoved) ? Math.max(0, Number(event.linesRemoved)) : 0;
|
|
128
|
+
next.confidence = combineConfidence(next.confidence, event.confidence);
|
|
129
|
+
const agent = event.threadId ? input.agentByThreadId.get(event.threadId) ?? null : null;
|
|
130
|
+
addUnique(next.agents, agent?.label);
|
|
131
|
+
addUnique(next.branches, agent?.git?.branch ?? input.projectBranch);
|
|
132
|
+
if (agent?.network?.peerLabel) {
|
|
133
|
+
addUnique(next.users, agent.network.peerLabel);
|
|
134
|
+
}
|
|
135
|
+
changes.set(event.path, next);
|
|
136
|
+
}
|
|
137
|
+
const hotChanges = [...changes.values()]
|
|
138
|
+
.map((entry) => {
|
|
139
|
+
const repeatedMultiplier = 1 + Math.min(0.8, Math.max(0, entry.changeCount - 1) * 0.12);
|
|
140
|
+
const score = entry.score * repeatedMultiplier;
|
|
141
|
+
const branches = [...entry.branches].slice(0, 4);
|
|
142
|
+
return {
|
|
143
|
+
path: entry.path,
|
|
144
|
+
label: pathLabel(entry.path),
|
|
145
|
+
fileType: hotFileType(entry.path) ?? "script",
|
|
146
|
+
branch: branches[0] ?? null,
|
|
147
|
+
branches,
|
|
148
|
+
users: [...entry.users].slice(0, 4),
|
|
149
|
+
heat: Math.min(100, Math.max(1, Math.round(score * HOT_CHANGE_HEAT_PER_SCORE))),
|
|
150
|
+
score: Math.round(score * 10) / 10,
|
|
151
|
+
changeCount: entry.changeCount,
|
|
152
|
+
lastChangedAt: new Date(entry.lastChangedAtMs).toISOString(),
|
|
153
|
+
linesAdded: entry.linesAdded,
|
|
154
|
+
linesRemoved: entry.linesRemoved,
|
|
155
|
+
agents: [...entry.agents].slice(0, 4),
|
|
156
|
+
provenance: entry.provenance,
|
|
157
|
+
confidence: entry.confidence
|
|
158
|
+
};
|
|
159
|
+
})
|
|
160
|
+
.filter((entry) => entry.score >= HOT_CHANGE_MIN_SCORE)
|
|
161
|
+
.sort((left, right) => right.score - left.score
|
|
162
|
+
|| right.lastChangedAt.localeCompare(left.lastChangedAt)
|
|
163
|
+
|| left.path.localeCompare(right.path))
|
|
164
|
+
.reduce((selected, entry) => {
|
|
165
|
+
const countForType = selected.filter((candidate) => candidate.fileType === entry.fileType).length;
|
|
166
|
+
if (countForType < MAX_HOT_CHANGES_PER_TYPE) {
|
|
167
|
+
selected.push(entry);
|
|
168
|
+
}
|
|
169
|
+
return selected;
|
|
170
|
+
}, []);
|
|
171
|
+
if (hotChanges.length >= 3 || !Array.isArray(input.changedPaths) || input.changedPaths.length === 0) {
|
|
172
|
+
return hotChanges;
|
|
173
|
+
}
|
|
174
|
+
const existingPaths = new Set(hotChanges.map((entry) => entry.path));
|
|
175
|
+
const fallbackChanges = input.changedPaths
|
|
176
|
+
.filter((path) => path && !existingPaths.has(path) && hotFileType(path))
|
|
177
|
+
.slice(0, 3 - hotChanges.length)
|
|
178
|
+
.map((path) => ({
|
|
179
|
+
path,
|
|
180
|
+
label: pathLabel(path),
|
|
181
|
+
fileType: hotFileType(path) ?? "script",
|
|
182
|
+
branch: cleanLabel(input.projectBranch),
|
|
183
|
+
branches: cleanLabel(input.projectBranch) ? [cleanLabel(input.projectBranch)] : [],
|
|
184
|
+
users: [],
|
|
185
|
+
heat: HOT_CHANGE_FALLBACK_HEAT,
|
|
186
|
+
score: HOT_CHANGE_FALLBACK_SCORE,
|
|
187
|
+
changeCount: 1,
|
|
188
|
+
lastChangedAt: new Date(input.now).toISOString(),
|
|
189
|
+
linesAdded: 0,
|
|
190
|
+
linesRemoved: 0,
|
|
191
|
+
agents: [],
|
|
192
|
+
provenance: "codex",
|
|
193
|
+
confidence: "inferred"
|
|
194
|
+
}));
|
|
195
|
+
return [...hotChanges, ...fallbackChanges];
|
|
196
|
+
}
|
|
197
|
+
function agentLabelForEvent(event, agentByThreadId) {
|
|
198
|
+
return event.threadId ? cleanLabel(agentByThreadId.get(event.threadId)?.label) : null;
|
|
199
|
+
}
|
|
200
|
+
function buildHotTools(input) {
|
|
201
|
+
const tools = new Map();
|
|
202
|
+
for (const event of input.events) {
|
|
203
|
+
if (event.kind !== "tool") {
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
const createdAtMs = parseTimeMs(event.createdAt);
|
|
207
|
+
const eventAgeMs = ageMs(createdAtMs, input.now);
|
|
208
|
+
if (!Number.isFinite(eventAgeMs) || eventAgeMs > HOT_TOOL_WINDOW_MS) {
|
|
209
|
+
continue;
|
|
210
|
+
}
|
|
211
|
+
const label = cleanLabel(event.detail) ?? cleanLabel(event.title);
|
|
212
|
+
if (!label) {
|
|
213
|
+
continue;
|
|
214
|
+
}
|
|
215
|
+
const key = `${event.itemType ?? "tool"}\u0000${label}`;
|
|
216
|
+
const accumulator = tools.get(key) ?? {
|
|
217
|
+
label,
|
|
218
|
+
itemType: event.itemType ?? null,
|
|
219
|
+
uses: new Set(),
|
|
220
|
+
lastUsedAtMs: createdAtMs,
|
|
221
|
+
agents: new Set(),
|
|
222
|
+
provenance: event.source,
|
|
223
|
+
confidence: event.confidence
|
|
224
|
+
};
|
|
225
|
+
accumulator.uses.add(event.itemId ?? event.id);
|
|
226
|
+
accumulator.lastUsedAtMs = Math.max(accumulator.lastUsedAtMs, createdAtMs);
|
|
227
|
+
accumulator.confidence = combineConfidence(accumulator.confidence, event.confidence);
|
|
228
|
+
addUnique(accumulator.agents, agentLabelForEvent(event, input.agentByThreadId));
|
|
229
|
+
tools.set(key, accumulator);
|
|
230
|
+
}
|
|
231
|
+
return [...tools.values()]
|
|
232
|
+
.map((entry) => {
|
|
233
|
+
const ageMinutes = ageMs(entry.lastUsedAtMs, input.now) / 60_000;
|
|
234
|
+
const score = entry.uses.size * 4 + Math.max(0, 6 - ageMinutes);
|
|
235
|
+
return {
|
|
236
|
+
label: entry.label,
|
|
237
|
+
heat: Math.min(100, Math.max(1, Math.round(score * 2))),
|
|
238
|
+
score: Math.round(score * 10) / 10,
|
|
239
|
+
useCount: entry.uses.size,
|
|
240
|
+
lastUsedAt: new Date(entry.lastUsedAtMs).toISOString(),
|
|
241
|
+
itemType: entry.itemType,
|
|
242
|
+
agents: [...entry.agents].slice(0, 4),
|
|
243
|
+
provenance: entry.provenance,
|
|
244
|
+
confidence: entry.confidence
|
|
245
|
+
};
|
|
246
|
+
})
|
|
247
|
+
.sort((left, right) => right.score - left.score || right.lastUsedAt.localeCompare(left.lastUsedAt))
|
|
248
|
+
.slice(0, MAX_HOT_TOOLS);
|
|
249
|
+
}
|
|
250
|
+
function commandProgress(detail) {
|
|
251
|
+
if (!detail) {
|
|
252
|
+
return null;
|
|
253
|
+
}
|
|
254
|
+
const percentMatch = detail.match(/(?:^|\s)(100|\d{1,2}(?:\.\d+)?)\s*%/);
|
|
255
|
+
if (percentMatch) {
|
|
256
|
+
const percent = Math.max(0, Math.min(100, Number(percentMatch[1])));
|
|
257
|
+
return { percent, label: `${percent}%`, confidence: "high", source: "explicit-percent" };
|
|
258
|
+
}
|
|
259
|
+
const countMatch = detail.match(/(?:^|\s)(\d+)\s*\/\s*(\d+)(?:\s|$)/);
|
|
260
|
+
if (!countMatch) {
|
|
261
|
+
return null;
|
|
262
|
+
}
|
|
263
|
+
const completed = Number(countMatch[1]);
|
|
264
|
+
const total = Number(countMatch[2]);
|
|
265
|
+
if (!Number.isFinite(completed) || !Number.isFinite(total) || total <= 0 || completed > total) {
|
|
266
|
+
return null;
|
|
267
|
+
}
|
|
268
|
+
return {
|
|
269
|
+
percent: Math.round((completed / total) * 100),
|
|
270
|
+
label: `${completed}/${total}`,
|
|
271
|
+
confidence: "high",
|
|
272
|
+
source: "count"
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
function buildRunningCommands(input) {
|
|
276
|
+
const commands = new Map();
|
|
277
|
+
const orderedEvents = [...input.events].sort((left, right) => left.createdAt.localeCompare(right.createdAt));
|
|
278
|
+
for (const event of orderedEvents) {
|
|
279
|
+
if (event.kind !== "command") {
|
|
280
|
+
continue;
|
|
281
|
+
}
|
|
282
|
+
const eventAtMs = parseTimeMs(event.createdAt);
|
|
283
|
+
if (!Number.isFinite(eventAtMs)) {
|
|
284
|
+
continue;
|
|
285
|
+
}
|
|
286
|
+
const id = event.itemId ?? event.id;
|
|
287
|
+
const existing = commands.get(id);
|
|
288
|
+
if (!existing) {
|
|
289
|
+
const command = cleanLabel(event.command) ?? cleanLabel(event.detail);
|
|
290
|
+
if (!command) {
|
|
291
|
+
continue;
|
|
292
|
+
}
|
|
293
|
+
commands.set(id, {
|
|
294
|
+
id,
|
|
295
|
+
command,
|
|
296
|
+
cwd: cleanLabel(event.cwd) ?? cleanLabel(event.path),
|
|
297
|
+
threadId: event.threadId,
|
|
298
|
+
agentLabel: agentLabelForEvent(event, input.agentByThreadId),
|
|
299
|
+
startedAtMs: eventAtMs,
|
|
300
|
+
updatedAtMs: eventAtMs,
|
|
301
|
+
completedAtMs: event.phase === "completed" || event.phase === "failed" || event.phase === "interrupted" ? eventAtMs : null,
|
|
302
|
+
lastOutput: null,
|
|
303
|
+
progress: commandProgress(event.detail),
|
|
304
|
+
provenance: event.source,
|
|
305
|
+
confidence: event.confidence
|
|
306
|
+
});
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
309
|
+
existing.updatedAtMs = Math.max(existing.updatedAtMs, eventAtMs);
|
|
310
|
+
existing.confidence = combineConfidence(existing.confidence, event.confidence);
|
|
311
|
+
if (event.phase === "completed" || event.phase === "failed" || event.phase === "interrupted") {
|
|
312
|
+
existing.completedAtMs = eventAtMs;
|
|
313
|
+
}
|
|
314
|
+
if (event.method.includes("output") || event.phase === "updated") {
|
|
315
|
+
existing.lastOutput = cleanLabel(event.detail) ?? existing.lastOutput;
|
|
316
|
+
existing.progress = commandProgress(event.detail) ?? existing.progress;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
return [...commands.values()]
|
|
320
|
+
.filter((entry) => entry.completedAtMs === null && input.now - entry.updatedAtMs <= RUNNING_COMMAND_WINDOW_MS)
|
|
321
|
+
.map((entry) => {
|
|
322
|
+
const quietForMs = Math.max(0, input.now - entry.updatedAtMs);
|
|
323
|
+
return {
|
|
324
|
+
id: entry.id,
|
|
325
|
+
command: entry.command,
|
|
326
|
+
cwd: entry.cwd,
|
|
327
|
+
threadId: entry.threadId,
|
|
328
|
+
agentLabel: entry.agentLabel,
|
|
329
|
+
status: quietForMs >= COMMAND_QUIET_AFTER_MS ? "quiet" : "running",
|
|
330
|
+
startedAt: new Date(entry.startedAtMs).toISOString(),
|
|
331
|
+
updatedAt: new Date(entry.updatedAtMs).toISOString(),
|
|
332
|
+
completedAt: null,
|
|
333
|
+
durationMs: Math.max(0, input.now - entry.startedAtMs),
|
|
334
|
+
quietForMs,
|
|
335
|
+
lastOutput: entry.lastOutput,
|
|
336
|
+
progress: entry.progress,
|
|
337
|
+
provenance: entry.provenance,
|
|
338
|
+
confidence: entry.confidence
|
|
339
|
+
};
|
|
340
|
+
})
|
|
341
|
+
.sort((left, right) => right.durationMs - left.durationMs);
|
|
342
|
+
}
|
|
343
|
+
function buildWorkspaceActivitySnapshot(input) {
|
|
344
|
+
const now = input.now ?? Date.now();
|
|
345
|
+
const agentByThreadId = new Map();
|
|
346
|
+
for (const agent of input.agents) {
|
|
347
|
+
if (agent.threadId) {
|
|
348
|
+
agentByThreadId.set(agent.threadId, agent);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
return {
|
|
352
|
+
generatedAt: input.generatedAt ?? new Date(now).toISOString(),
|
|
353
|
+
hotChanges: buildHotChanges({
|
|
354
|
+
events: input.events,
|
|
355
|
+
agentByThreadId,
|
|
356
|
+
now,
|
|
357
|
+
changedPaths: input.changedPaths,
|
|
358
|
+
projectBranch: input.projectBranch
|
|
359
|
+
}),
|
|
360
|
+
hotTools: buildHotTools({ events: input.events, agentByThreadId, now }),
|
|
361
|
+
runningCommands: buildRunningCommands({ events: input.events, agentByThreadId, now })
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
function emptyWorkspaceActivitySnapshot(generatedAt = new Date().toISOString()) {
|
|
365
|
+
return {
|
|
366
|
+
generatedAt,
|
|
367
|
+
hotChanges: [],
|
|
368
|
+
hotTools: [],
|
|
369
|
+
runningCommands: []
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
//# sourceMappingURL=workspace-activity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-activity.js","sourceRoot":"","sources":["../../src/domain/workspace-activity.ts"],"names":[],"mappings":"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"}
|
package/dist/goal.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ActivityState, AgentConfidence, AgentGoalKind, AgentGoalState, AgentGoalStatus } from "./types";
|
|
2
|
+
export declare function codexGoalToAgentGoal(value: unknown): AgentGoalState | null;
|
|
3
|
+
export declare function goalStatusFromActivityState(state: ActivityState): AgentGoalStatus;
|
|
4
|
+
export declare function inferredGoalFromText(input: {
|
|
5
|
+
kind: AgentGoalKind;
|
|
6
|
+
objective: string | null;
|
|
7
|
+
state: ActivityState;
|
|
8
|
+
updatedAt: string | null;
|
|
9
|
+
createdAt?: string | null;
|
|
10
|
+
confidence?: AgentConfidence;
|
|
11
|
+
}): AgentGoalState | null;
|
package/dist/goal.js
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.codexGoalToAgentGoal = codexGoalToAgentGoal;
|
|
4
|
+
exports.goalStatusFromActivityState = goalStatusFromActivityState;
|
|
5
|
+
exports.inferredGoalFromText = inferredGoalFromText;
|
|
6
|
+
const GOAL_STATUSES = new Set([
|
|
7
|
+
"active",
|
|
8
|
+
"paused",
|
|
9
|
+
"blocked",
|
|
10
|
+
"usageLimited",
|
|
11
|
+
"budgetLimited",
|
|
12
|
+
"complete",
|
|
13
|
+
"unknown"
|
|
14
|
+
]);
|
|
15
|
+
function asRecord(value) {
|
|
16
|
+
return typeof value === "object" && value ? value : null;
|
|
17
|
+
}
|
|
18
|
+
function stringValue(value) {
|
|
19
|
+
return typeof value === "string" && value.trim().length > 0 ? value.trim() : null;
|
|
20
|
+
}
|
|
21
|
+
function numberValue(value) {
|
|
22
|
+
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
23
|
+
}
|
|
24
|
+
function unixSecondsToIso(value) {
|
|
25
|
+
const seconds = numberValue(value);
|
|
26
|
+
return seconds === null ? null : new Date(seconds * 1000).toISOString();
|
|
27
|
+
}
|
|
28
|
+
function goalStatus(value) {
|
|
29
|
+
const status = stringValue(value);
|
|
30
|
+
return status && GOAL_STATUSES.has(status) ? status : "unknown";
|
|
31
|
+
}
|
|
32
|
+
function codexGoalToAgentGoal(value) {
|
|
33
|
+
const record = asRecord(value);
|
|
34
|
+
const objective = stringValue(record?.objective);
|
|
35
|
+
if (!record || !objective) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
kind: "codex",
|
|
40
|
+
objective,
|
|
41
|
+
status: goalStatus(record.status),
|
|
42
|
+
confidence: "typed",
|
|
43
|
+
createdAt: unixSecondsToIso(record.createdAt),
|
|
44
|
+
updatedAt: unixSecondsToIso(record.updatedAt),
|
|
45
|
+
tokenBudget: numberValue(record.tokenBudget),
|
|
46
|
+
tokensUsed: numberValue(record.tokensUsed),
|
|
47
|
+
timeUsedSeconds: numberValue(record.timeUsedSeconds)
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function goalStatusFromActivityState(state) {
|
|
51
|
+
if (state === "blocked") {
|
|
52
|
+
return "blocked";
|
|
53
|
+
}
|
|
54
|
+
if (state === "done") {
|
|
55
|
+
return "complete";
|
|
56
|
+
}
|
|
57
|
+
if (state === "idle" || state === "cloud") {
|
|
58
|
+
return "unknown";
|
|
59
|
+
}
|
|
60
|
+
return "active";
|
|
61
|
+
}
|
|
62
|
+
function inferredGoalFromText(input) {
|
|
63
|
+
const objective = stringValue(input.objective);
|
|
64
|
+
if (!objective) {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
kind: input.kind,
|
|
69
|
+
objective,
|
|
70
|
+
status: goalStatusFromActivityState(input.state),
|
|
71
|
+
confidence: input.confidence ?? "inferred",
|
|
72
|
+
createdAt: input.createdAt ?? null,
|
|
73
|
+
updatedAt: input.updatedAt
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=goal.js.map
|
package/dist/goal.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"goal.js","sourceRoot":"","sources":["../src/goal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface HermesHookInstallResult {
|
|
2
|
+
hermesHome: string;
|
|
3
|
+
pluginDir: string;
|
|
4
|
+
hookDir: string;
|
|
5
|
+
configPath: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function getHermesHooksDir(): string;
|
|
8
|
+
export declare function resolveHermesHome(input?: string | null): string;
|
|
9
|
+
export declare function installHermesAgentsOfficePlugin(input?: {
|
|
10
|
+
hermesHome?: string | null;
|
|
11
|
+
hookDir?: string | null;
|
|
12
|
+
}): Promise<HermesHookInstallResult>;
|