@first-to-fly/orchestrator-mcp 0.7.0 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hooks/stop.d.ts +6 -7
- package/dist/hooks/stop.d.ts.map +1 -1
- package/dist/hooks/stop.js +89 -19
- package/dist/hooks/stop.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/init.js +2 -2
- package/dist/init.js.map +1 -1
- package/package.json +1 -1
package/dist/hooks/stop.d.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* Claude Code
|
|
3
|
+
* Claude Code SessionEnd hook — auto-saves session summary if one wasn't saved.
|
|
4
4
|
*
|
|
5
|
-
* Parses the transcript to check if save_session_summary was called
|
|
6
|
-
* If not,
|
|
5
|
+
* Parses the transcript to check if save_session_summary was called during the
|
|
6
|
+
* session. If not, extracts a summary from the last assistant message and POSTs
|
|
7
|
+
* it directly to the API.
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* - 5-second timeout → exit 0 (fail open)
|
|
11
|
-
* - Any uncaught error → exit 0 (fail open)
|
|
9
|
+
* Uses SessionEnd event (fires once at session exit, non-blocking).
|
|
10
|
+
* Silent on all errors (exit 0) — never interferes with shutdown.
|
|
12
11
|
*/
|
|
13
12
|
export {};
|
|
14
13
|
//# sourceMappingURL=stop.d.ts.map
|
package/dist/hooks/stop.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../src/hooks/stop.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../src/hooks/stop.ts"],"names":[],"mappings":";AAEA;;;;;;;;;GASG"}
|
package/dist/hooks/stop.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
3
|
/**
|
|
4
|
-
* Claude Code
|
|
4
|
+
* Claude Code SessionEnd hook — auto-saves session summary if one wasn't saved.
|
|
5
5
|
*
|
|
6
|
-
* Parses the transcript to check if save_session_summary was called
|
|
7
|
-
* If not,
|
|
6
|
+
* Parses the transcript to check if save_session_summary was called during the
|
|
7
|
+
* session. If not, extracts a summary from the last assistant message and POSTs
|
|
8
|
+
* it directly to the API.
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* - 5-second timeout → exit 0 (fail open)
|
|
12
|
-
* - Any uncaught error → exit 0 (fail open)
|
|
10
|
+
* Uses SessionEnd event (fires once at session exit, non-blocking).
|
|
11
|
+
* Silent on all errors (exit 0) — never interferes with shutdown.
|
|
13
12
|
*/
|
|
14
13
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
15
14
|
if (k2 === undefined) k2 = k;
|
|
@@ -54,21 +53,95 @@ async function main() {
|
|
|
54
53
|
const input = await (0, utils_1.readStdin)();
|
|
55
54
|
if (!input)
|
|
56
55
|
return;
|
|
57
|
-
// Infinite-loop guard: if we're already in a stop hook, allow exit
|
|
58
|
-
if (input.stop_hook_active)
|
|
59
|
-
return;
|
|
60
56
|
const transcriptPath = input.transcript_path;
|
|
61
57
|
if (!transcriptPath || typeof transcriptPath !== "string")
|
|
62
58
|
return;
|
|
63
|
-
// Check transcript exists
|
|
64
59
|
if (!fs.existsSync(transcriptPath))
|
|
65
60
|
return;
|
|
66
61
|
const found = await scanTranscript(transcriptPath);
|
|
67
62
|
if (found)
|
|
68
63
|
return;
|
|
69
|
-
//
|
|
70
|
-
|
|
71
|
-
|
|
64
|
+
// No summary was saved — auto-save one
|
|
65
|
+
const mcpPath = (0, utils_1.findMcpJson)(process.cwd());
|
|
66
|
+
if (!mcpPath)
|
|
67
|
+
return;
|
|
68
|
+
const config = (0, utils_1.getOrchestratorConfig)(mcpPath);
|
|
69
|
+
if (!config)
|
|
70
|
+
return;
|
|
71
|
+
// Extract a summary from the last few assistant messages in transcript
|
|
72
|
+
const summary = await extractSummary(transcriptPath);
|
|
73
|
+
if (!summary)
|
|
74
|
+
return;
|
|
75
|
+
await postSessionSummary(config, summary);
|
|
76
|
+
}
|
|
77
|
+
async function extractSummary(filePath) {
|
|
78
|
+
return new Promise((resolve) => {
|
|
79
|
+
const stream = fs.createReadStream(filePath, { encoding: "utf-8" });
|
|
80
|
+
const rl = readline.createInterface({ input: stream, crlfDelay: Infinity });
|
|
81
|
+
let lastAssistantText = "";
|
|
82
|
+
rl.on("line", (line) => {
|
|
83
|
+
try {
|
|
84
|
+
const entry = JSON.parse(line);
|
|
85
|
+
const text = extractAssistantText(entry);
|
|
86
|
+
if (text)
|
|
87
|
+
lastAssistantText = text;
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// skip
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
rl.on("close", () => {
|
|
94
|
+
if (!lastAssistantText || lastAssistantText.length < 20) {
|
|
95
|
+
resolve(null);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
// Truncate to a reasonable summary length
|
|
99
|
+
const truncated = lastAssistantText.length > 2000
|
|
100
|
+
? lastAssistantText.slice(0, 2000) + "..."
|
|
101
|
+
: lastAssistantText;
|
|
102
|
+
resolve(`[Auto-saved] ${truncated}`);
|
|
103
|
+
});
|
|
104
|
+
rl.on("error", () => resolve(null));
|
|
105
|
+
stream.on("error", () => resolve(null));
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
function extractAssistantText(entry) {
|
|
109
|
+
if (!entry || typeof entry !== "object")
|
|
110
|
+
return null;
|
|
111
|
+
if (entry.role === "assistant" && Array.isArray(entry.content)) {
|
|
112
|
+
const texts = entry.content
|
|
113
|
+
.filter((b) => b.type === "text" && b.text)
|
|
114
|
+
.map((b) => b.text);
|
|
115
|
+
if (texts.length > 0)
|
|
116
|
+
return texts.join("\n");
|
|
117
|
+
}
|
|
118
|
+
if (entry.message?.role === "assistant" &&
|
|
119
|
+
Array.isArray(entry.message.content)) {
|
|
120
|
+
const texts = entry.message.content
|
|
121
|
+
.filter((b) => b.type === "text" && b.text)
|
|
122
|
+
.map((b) => b.text);
|
|
123
|
+
if (texts.length > 0)
|
|
124
|
+
return texts.join("\n");
|
|
125
|
+
}
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
async function postSessionSummary(config, summary) {
|
|
129
|
+
const controller = new AbortController();
|
|
130
|
+
const timer = setTimeout(() => controller.abort(), 5000);
|
|
131
|
+
try {
|
|
132
|
+
await fetch(`${config.apiUrl}/projects/${config.project}/sessions`, {
|
|
133
|
+
method: "POST",
|
|
134
|
+
headers: {
|
|
135
|
+
"Content-Type": "application/json",
|
|
136
|
+
"x-api-key": config.apiKey,
|
|
137
|
+
},
|
|
138
|
+
body: JSON.stringify({ summary }),
|
|
139
|
+
signal: controller.signal,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
finally {
|
|
143
|
+
clearTimeout(timer);
|
|
144
|
+
}
|
|
72
145
|
}
|
|
73
146
|
async function scanTranscript(filePath) {
|
|
74
147
|
return new Promise((resolve) => {
|
|
@@ -78,7 +151,6 @@ async function scanTranscript(filePath) {
|
|
|
78
151
|
rl.on("line", (line) => {
|
|
79
152
|
if (found)
|
|
80
153
|
return;
|
|
81
|
-
// Each line is a JSON object — look for tool_use with save_session_summary
|
|
82
154
|
if (line.includes(TOOL_NAME)) {
|
|
83
155
|
try {
|
|
84
156
|
const entry = JSON.parse(line);
|
|
@@ -89,7 +161,7 @@ async function scanTranscript(filePath) {
|
|
|
89
161
|
}
|
|
90
162
|
}
|
|
91
163
|
catch {
|
|
92
|
-
//
|
|
164
|
+
// skip
|
|
93
165
|
}
|
|
94
166
|
}
|
|
95
167
|
});
|
|
@@ -101,17 +173,14 @@ async function scanTranscript(filePath) {
|
|
|
101
173
|
function hasSaveSessionSummary(entry) {
|
|
102
174
|
if (!entry || typeof entry !== "object")
|
|
103
175
|
return false;
|
|
104
|
-
// Check direct tool_use block
|
|
105
176
|
if (entry.type === "tool_use" && entry.name === TOOL_NAME)
|
|
106
177
|
return true;
|
|
107
|
-
// Check nested content array (assistant messages)
|
|
108
178
|
if (Array.isArray(entry.content)) {
|
|
109
179
|
for (const block of entry.content) {
|
|
110
180
|
if (block.type === "tool_use" && block.name === TOOL_NAME)
|
|
111
181
|
return true;
|
|
112
182
|
}
|
|
113
183
|
}
|
|
114
|
-
// Check message wrapper
|
|
115
184
|
if (entry.message?.content && Array.isArray(entry.message.content)) {
|
|
116
185
|
for (const block of entry.message.content) {
|
|
117
186
|
if (block.type === "tool_use" && block.name === TOOL_NAME)
|
|
@@ -125,5 +194,6 @@ main()
|
|
|
125
194
|
.catch(() => { })
|
|
126
195
|
.finally(() => {
|
|
127
196
|
clearTimeout(timer);
|
|
197
|
+
process.exit(0);
|
|
128
198
|
});
|
|
129
199
|
//# sourceMappingURL=stop.js.map
|
package/dist/hooks/stop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/hooks/stop.ts"],"names":[],"mappings":";;AAEA
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/hooks/stop.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -12,7 +12,7 @@ else if (process.argv[2] === "session-start-hook") {
|
|
|
12
12
|
else if (process.argv[2] === "pre-compact-hook") {
|
|
13
13
|
require("./hooks/pre-compact");
|
|
14
14
|
}
|
|
15
|
-
else if (process.argv[2] === "stop-hook") {
|
|
15
|
+
else if (process.argv[2] === "stop-hook" || process.argv[2] === "session-end-hook") {
|
|
16
16
|
require("./hooks/stop");
|
|
17
17
|
}
|
|
18
18
|
else {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpB,CAAC;KAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;IAC3E,OAAO,CAAC,UAAU,CAAC,CAAC;AACtB,CAAC;KAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAoB,EAAE,CAAC;IACpD,OAAO,CAAC,uBAAuB,CAAC,CAAC;AACnC,CAAC;KAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE,CAAC;IAClD,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACjC,CAAC;KAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpB,CAAC;KAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;IAC3E,OAAO,CAAC,UAAU,CAAC,CAAC;AACtB,CAAC;KAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAoB,EAAE,CAAC;IACpD,OAAO,CAAC,uBAAuB,CAAC,CAAC;AACnC,CAAC;KAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE,CAAC;IAClD,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACjC,CAAC;KAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE,CAAC;IACrF,OAAO,CAAC,cAAc,CAAC,CAAC;AAC1B,CAAC;KAAM,CAAC;IACN,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5C,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;QAC/B,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/init.js
CHANGED
|
@@ -189,7 +189,7 @@ async function main() {
|
|
|
189
189
|
const hookConfigs = {
|
|
190
190
|
SessionStart: "session-start-hook",
|
|
191
191
|
PreCompact: "pre-compact-hook",
|
|
192
|
-
|
|
192
|
+
SessionEnd: "session-end-hook",
|
|
193
193
|
};
|
|
194
194
|
for (const [event, cmd] of Object.entries(hookConfigs)) {
|
|
195
195
|
const hookCmd = [...dlx.args, cmd].join(" ");
|
|
@@ -240,7 +240,7 @@ async function main() {
|
|
|
240
240
|
console.log("Configured:");
|
|
241
241
|
console.log(` .mcp.json → orchestrator MCP server (12 agent tools)`);
|
|
242
242
|
console.log(` CLAUDE.md → orchestrator protocol`);
|
|
243
|
-
console.log(` .claude/settings → SessionStart, PreCompact,
|
|
243
|
+
console.log(` .claude/settings → SessionStart, PreCompact, SessionEnd hooks`);
|
|
244
244
|
console.log("");
|
|
245
245
|
console.log("Next steps:");
|
|
246
246
|
console.log(" 1. Start a new Claude Code session");
|
package/dist/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|