macro-agent 0.1.3 → 0.1.5
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/cognitive/workspace-handler.d.ts +9 -17
- package/dist/cognitive/workspace-handler.d.ts.map +1 -1
- package/dist/cognitive/workspace-handler.js +11 -10
- package/dist/cognitive/workspace-handler.js.map +1 -1
- package/dist/map/coordination-handler.d.ts +23 -7
- package/dist/map/coordination-handler.d.ts.map +1 -1
- package/dist/map/coordination-handler.js +100 -124
- package/dist/map/coordination-handler.js.map +1 -1
- package/dist/map/sidecar.d.ts.map +1 -1
- package/dist/map/sidecar.js +15 -3
- package/dist/map/sidecar.js.map +1 -1
- package/dist/map/trajectory-reporter.d.ts +9 -4
- package/dist/map/trajectory-reporter.d.ts.map +1 -1
- package/dist/map/trajectory-reporter.js +129 -15
- package/dist/map/trajectory-reporter.js.map +1 -1
- package/dist/map/types.d.ts +0 -37
- package/dist/map/types.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/__tests__/e2e/cognitive-workspace.e2e.test.ts +1 -1
- package/src/__tests__/e2e/trajectory-content.e2e.test.ts +708 -0
- package/src/cognitive/__tests__/workspace-handler.test.ts +10 -2
- package/src/cognitive/workspace-handler.ts +15 -18
- package/src/map/__tests__/coordination-handler.test.ts +598 -0
- package/src/map/__tests__/trajectory-reporter.test.ts +254 -2
- package/src/map/coordination-handler.ts +120 -137
- package/src/map/sidecar.ts +20 -3
- package/src/map/trajectory-reporter.ts +154 -16
- package/src/map/types.ts +2 -40
|
@@ -2,39 +2,153 @@
|
|
|
2
2
|
* Trajectory Reporter — builds and reports trajectory checkpoints to the MAP hub.
|
|
3
3
|
*
|
|
4
4
|
* Sends checkpoints via the `trajectory/checkpoint` JSON-RPC extension.
|
|
5
|
-
*
|
|
6
|
-
* session
|
|
5
|
+
* Handles inbound `trajectory/content.request` notifications by serving
|
|
6
|
+
* session transcripts via sessionlog's SessionStore and CheckpointStore.
|
|
7
|
+
* Supports all agent types (Claude Code, Codex, Gemini, etc.) through
|
|
8
|
+
* sessionlog's adapter system.
|
|
7
9
|
*
|
|
8
10
|
* @module map/trajectory-reporter
|
|
9
11
|
*/
|
|
12
|
+
/**
|
|
13
|
+
* Resolve transcript content for a checkpoint ID using sessionlog.
|
|
14
|
+
*
|
|
15
|
+
* Two-source strategy (matching cc-swarm):
|
|
16
|
+
* 1. Live session — use sessionlog's SessionStore to find a session
|
|
17
|
+
* matching the checkpoint ID, then read its transcript from disk.
|
|
18
|
+
* 2. Committed checkpoint — use sessionlog's CheckpointStore to read
|
|
19
|
+
* content from the git history.
|
|
20
|
+
*
|
|
21
|
+
* Returns null if no content is found or sessionlog is unavailable.
|
|
22
|
+
*/
|
|
23
|
+
async function resolveContent(checkpointId, sessionDirs) {
|
|
24
|
+
let sessionlog = null;
|
|
25
|
+
try {
|
|
26
|
+
sessionlog = await import("sessionlog");
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return null; // sessionlog not available
|
|
30
|
+
}
|
|
31
|
+
const { readFileSync, existsSync } = await import("node:fs");
|
|
32
|
+
// Derive the session ID from checkpoint ID (e.g., "sess-abc-step3" → "sess-abc")
|
|
33
|
+
const sessionId = checkpointId.replace(/-step\d+$/, "");
|
|
34
|
+
// ── 1. Live session lookup via SessionStore ────────────────────────────
|
|
35
|
+
for (const sessionsDir of sessionDirs) {
|
|
36
|
+
if (!existsSync(sessionsDir))
|
|
37
|
+
continue;
|
|
38
|
+
try {
|
|
39
|
+
const store = sessionlog.createSessionStore(undefined, sessionsDir);
|
|
40
|
+
// Try loading by derived session ID first, then by raw checkpoint ID
|
|
41
|
+
let state = await store.load(sessionId);
|
|
42
|
+
if (!state)
|
|
43
|
+
state = await store.load(checkpointId);
|
|
44
|
+
// If not found by ID, scan all sessions for checkpoint match
|
|
45
|
+
if (!state) {
|
|
46
|
+
const allSessions = await store.list();
|
|
47
|
+
state = allSessions.find((s) => s.lastCheckpointID === checkpointId ||
|
|
48
|
+
(s.turnCheckpointIDs || []).includes(checkpointId)) ?? null;
|
|
49
|
+
}
|
|
50
|
+
if (!state?.transcriptPath || !existsSync(state.transcriptPath))
|
|
51
|
+
continue;
|
|
52
|
+
const transcript = readFileSync(state.transcriptPath, "utf-8");
|
|
53
|
+
// Use sessionlog's prompt extraction if the agent has a TranscriptAnalyzer,
|
|
54
|
+
// otherwise fall back to the prompts stored in state
|
|
55
|
+
let prompts = "";
|
|
56
|
+
if (state.firstPrompt) {
|
|
57
|
+
// Collect from promptAttributions if available, otherwise use firstPrompt
|
|
58
|
+
const attrs = state.promptAttributions;
|
|
59
|
+
if (attrs && attrs.length > 0) {
|
|
60
|
+
prompts = attrs.map((a) => a.prompt).join("\n---\n");
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
prompts = state.firstPrompt;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
transcript,
|
|
68
|
+
prompts,
|
|
69
|
+
metadata: {
|
|
70
|
+
sessionID: state.sessionID,
|
|
71
|
+
phase: state.phase,
|
|
72
|
+
agentType: state.agentType,
|
|
73
|
+
stepCount: state.stepCount || 0,
|
|
74
|
+
filesTouched: state.filesTouched || [],
|
|
75
|
+
tokenUsage: state.tokenUsage || {},
|
|
76
|
+
startedAt: state.startedAt,
|
|
77
|
+
endedAt: state.endedAt,
|
|
78
|
+
source: "live",
|
|
79
|
+
},
|
|
80
|
+
context: `Session ${state.sessionID} (${state.phase})`,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// ── 2. Committed checkpoint via CheckpointStore ────────────────────────
|
|
88
|
+
try {
|
|
89
|
+
if (sessionlog.createCheckpointStore) {
|
|
90
|
+
const store = sessionlog.createCheckpointStore();
|
|
91
|
+
const content = await store.readSessionContent(checkpointId, 0);
|
|
92
|
+
if (content) {
|
|
93
|
+
return {
|
|
94
|
+
transcript: content.transcript,
|
|
95
|
+
prompts: content.prompts,
|
|
96
|
+
metadata: { ...content.metadata, source: "committed" },
|
|
97
|
+
context: content.context,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
// Checkpoint not found or store unavailable
|
|
104
|
+
}
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
10
107
|
/**
|
|
11
108
|
* Create a trajectory reporter that sends checkpoints to the MAP hub
|
|
12
|
-
* and serves content on demand.
|
|
109
|
+
* and serves session transcript content on demand via sessionlog.
|
|
13
110
|
*/
|
|
14
111
|
export function createTrajectoryReporter(connection, config) {
|
|
15
112
|
// Cache the resource_id from the first checkpoint response
|
|
16
113
|
// so subsequent calls reuse it (avoids creating duplicate session resources)
|
|
17
114
|
let cachedResourceId;
|
|
115
|
+
// Build session directory search list
|
|
116
|
+
const defaultDirs = [];
|
|
117
|
+
try {
|
|
118
|
+
const cwd = process.cwd();
|
|
119
|
+
defaultDirs.push(`${cwd}/.git/sessionlog-sessions`, `${cwd}/.swarm/sessionlog/sessions`);
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
// Can't resolve paths — will use config dirs only
|
|
123
|
+
}
|
|
124
|
+
const sessionDirs = [...(config.sessionDirs ?? []), ...defaultDirs];
|
|
18
125
|
// Handler for inbound content requests
|
|
19
126
|
const contentHandler = async (params) => {
|
|
20
127
|
const req = params;
|
|
21
128
|
if (!req?.request_id)
|
|
22
129
|
return;
|
|
23
130
|
try {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
131
|
+
const content = await resolveContent(req.checkpoint_id, sessionDirs);
|
|
132
|
+
if (content) {
|
|
133
|
+
await connection.sendNotification("trajectory/content.response", {
|
|
134
|
+
request_id: req.request_id,
|
|
135
|
+
transcript: content.transcript,
|
|
136
|
+
metadata: content.metadata,
|
|
137
|
+
prompts: content.prompts,
|
|
138
|
+
context: content.context,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
await connection.sendNotification("trajectory/content.response", {
|
|
143
|
+
request_id: req.request_id,
|
|
144
|
+
transcript: "",
|
|
145
|
+
metadata: { source: "macro-agent" },
|
|
146
|
+
prompts: "",
|
|
147
|
+
context: "",
|
|
148
|
+
});
|
|
149
|
+
}
|
|
35
150
|
}
|
|
36
151
|
catch {
|
|
37
|
-
// Best effort
|
|
38
152
|
try {
|
|
39
153
|
await connection.sendNotification("trajectory/content.response", {
|
|
40
154
|
request_id: req.request_id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trajectory-reporter.js","sourceRoot":"","sources":["../../src/map/trajectory-reporter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"trajectory-reporter.js","sourceRoot":"","sources":["../../src/map/trajectory-reporter.ts"],"names":[],"mappings":"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"}
|
package/dist/map/types.d.ts
CHANGED
|
@@ -103,43 +103,6 @@ export interface TrajectoryContentRequest {
|
|
|
103
103
|
request_id: string;
|
|
104
104
|
checkpoint_id: string;
|
|
105
105
|
}
|
|
106
|
-
/** Inbound task assignment from hub */
|
|
107
|
-
export interface CoordinationTaskAssign {
|
|
108
|
-
title: string;
|
|
109
|
-
description?: string;
|
|
110
|
-
assigned_to?: string;
|
|
111
|
-
assigned_by: string;
|
|
112
|
-
priority?: string;
|
|
113
|
-
context?: Record<string, unknown>;
|
|
114
|
-
deadline?: string;
|
|
115
|
-
}
|
|
116
|
-
/** Inbound task status update from hub */
|
|
117
|
-
export interface CoordinationTaskStatus {
|
|
118
|
-
task_id: string;
|
|
119
|
-
status: string;
|
|
120
|
-
progress?: number;
|
|
121
|
-
result?: unknown;
|
|
122
|
-
error?: string;
|
|
123
|
-
}
|
|
124
|
-
/** Inbound context share from hub */
|
|
125
|
-
export interface CoordinationContextShare {
|
|
126
|
-
hive_id?: string;
|
|
127
|
-
source_swarm_id: string;
|
|
128
|
-
context_type: string;
|
|
129
|
-
data: unknown;
|
|
130
|
-
target_swarm_ids?: string[];
|
|
131
|
-
ttl_seconds?: number;
|
|
132
|
-
}
|
|
133
|
-
/** Inbound message from hub */
|
|
134
|
-
export interface CoordinationMessage {
|
|
135
|
-
hive_id?: string;
|
|
136
|
-
from_swarm_id: string;
|
|
137
|
-
to_swarm_id: string;
|
|
138
|
-
content_type: string;
|
|
139
|
-
content: unknown;
|
|
140
|
-
reply_to?: string;
|
|
141
|
-
metadata?: Record<string, unknown>;
|
|
142
|
-
}
|
|
143
106
|
/** Task bridge interface for emitting task events to MAP */
|
|
144
107
|
export interface TaskBridge {
|
|
145
108
|
taskCreated(task: {
|
package/dist/map/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/map/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/map/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "macro-agent",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Interact with multiple agents as if they were a single agent.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"@sudocode-ai/claude-code-acp": "^0.13.9",
|
|
54
54
|
"acp-factory": "^0.1.12",
|
|
55
55
|
"agent-inbox": "^0.1.8",
|
|
56
|
+
"agent-workspace": "^0.1.5",
|
|
56
57
|
"better-sqlite3": "^12.5.0",
|
|
57
58
|
"chalk": "^5.6.2",
|
|
58
59
|
"commander": "^14.0.2",
|
|
@@ -149,7 +149,7 @@ describe("Cognitive Workspace E2E", () => {
|
|
|
149
149
|
expect(sentMessages.length).toBe(1);
|
|
150
150
|
const result = sentMessages[0] as any;
|
|
151
151
|
expect(result.jsonrpc).toBe("2.0");
|
|
152
|
-
expect(result.method).toBe("x-
|
|
152
|
+
expect(result.method).toBe("x-workspace/task.result");
|
|
153
153
|
expect(result.params.request_id).toBe("e2e-001");
|
|
154
154
|
expect(result.params.duration_ms).toBeGreaterThanOrEqual(0);
|
|
155
155
|
// Success or failure depends on whether mocked agent wrote output
|