@hienlh/ppm 0.9.77 → 0.9.78
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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.9.78] - 2026-04-10
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- **SDK subprocess stderr logging**: Real-time stderr output from Claude CLI subprocess is now logged to server console for debugging hangs and crashes.
|
|
7
|
+
- **MCP servers diagnostic log**: Log which MCP servers are being passed to SDK query.
|
|
8
|
+
- **Query creation log**: Log when `query()` async iterator is created to confirm subprocess started.
|
|
9
|
+
|
|
3
10
|
## [0.9.77] - 2026-04-10
|
|
4
11
|
|
|
5
12
|
### Fixed
|
package/package.json
CHANGED
|
@@ -723,13 +723,17 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
723
723
|
const mcpServers = mcpConfigService.list();
|
|
724
724
|
const hasMcp = Object.keys(mcpServers).length > 0;
|
|
725
725
|
|
|
726
|
-
// Buffer subprocess stderr for crash diagnostics
|
|
726
|
+
// Buffer subprocess stderr for crash diagnostics + log in real-time
|
|
727
727
|
let stderrBuffer = "";
|
|
728
728
|
const stderrCallback = (chunk: string) => {
|
|
729
729
|
stderrBuffer += chunk;
|
|
730
|
-
// Keep only last 2KB to avoid unbounded growth
|
|
731
730
|
if (stderrBuffer.length > 2048) stderrBuffer = stderrBuffer.slice(-2048);
|
|
731
|
+
const trimmed = chunk.trim();
|
|
732
|
+
if (trimmed) console.log(`[sdk] session=${sessionId} stderr: ${trimmed.slice(0, 500)}`);
|
|
732
733
|
};
|
|
734
|
+
if (hasMcp) {
|
|
735
|
+
console.log(`[sdk] session=${sessionId} mcpServers: ${Object.keys(mcpServers).join(", ")}`);
|
|
736
|
+
}
|
|
733
737
|
|
|
734
738
|
const queryOptions: Record<string, any> = {
|
|
735
739
|
// On Windows, child_process.spawn("bun") fails with ENOENT — force node
|
|
@@ -786,6 +790,7 @@ export class ClaudeAgentSdkProvider implements AIProvider {
|
|
|
786
790
|
this.streamingSessions.set(sessionId, { meta, query: initialQuery, controller: initialCtrl });
|
|
787
791
|
this.activeQueries.set(sessionId, initialQuery);
|
|
788
792
|
let eventSource: AsyncIterable<any> = initialQuery;
|
|
793
|
+
console.log(`[sdk] session=${sessionId} query() created, waiting for first SDK event...`);
|
|
789
794
|
|
|
790
795
|
// Helper: close the CURRENT streaming session (not stale closure refs).
|
|
791
796
|
// All retry paths must use this instead of closing captured variables directly.
|