sage-team 3.3.3 → 3.3.4
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/cli/index.js +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +28 -15
- package/dist/server/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -16,7 +16,7 @@ function buildProgram() {
|
|
|
16
16
|
program
|
|
17
17
|
.name('sage-team')
|
|
18
18
|
.description('AI-powered autonomous software company')
|
|
19
|
-
.version('3.3.
|
|
19
|
+
.version('3.3.4');
|
|
20
20
|
program.addCommand((0, init_1.initCommand)());
|
|
21
21
|
program.addCommand((0, start_1.startCommand)());
|
|
22
22
|
program.addCommand((0, resume_1.resumeCommand)());
|
package/dist/mcp/server.js
CHANGED
|
@@ -111,7 +111,7 @@ function ensureOrchestrator() {
|
|
|
111
111
|
// ── MCP Server ───────────────────────────────────────────────────────
|
|
112
112
|
const server = new mcp_js_1.McpServer({
|
|
113
113
|
name: 'sage-team',
|
|
114
|
-
version: '3.3.
|
|
114
|
+
version: '3.3.4',
|
|
115
115
|
});
|
|
116
116
|
// ── Tool: init ───────────────────────────────────────────────────────
|
|
117
117
|
server.tool('sage_team_init', 'Initialize Sage Team in the current project directory. Creates .sage-team/ config. Usually not needed — sage_team_start auto-initializes.', {}, async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAyB3D,wBAAsB,YAAY,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAyEjG"}
|
package/dist/server/index.js
CHANGED
|
@@ -6,9 +6,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.createServer = createServer;
|
|
7
7
|
const express_1 = __importDefault(require("express"));
|
|
8
8
|
const http_1 = __importDefault(require("http"));
|
|
9
|
+
const net_1 = __importDefault(require("net"));
|
|
9
10
|
const path_1 = __importDefault(require("path"));
|
|
10
11
|
const ws_1 = require("ws");
|
|
11
12
|
const api_1 = require("./routes/api");
|
|
13
|
+
/** Check if a port is free by briefly opening a TCP server */
|
|
14
|
+
function isPortFree(port) {
|
|
15
|
+
return new Promise((resolve) => {
|
|
16
|
+
const tester = net_1.default.createServer();
|
|
17
|
+
tester.once('error', () => resolve(false));
|
|
18
|
+
tester.listen(port, () => {
|
|
19
|
+
tester.close(() => resolve(true));
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
/** Find a free port starting from the given port */
|
|
24
|
+
async function findFreePort(startPort, maxAttempts = 10) {
|
|
25
|
+
for (let i = 0; i < maxAttempts; i++) {
|
|
26
|
+
if (await isPortFree(startPort + i)) {
|
|
27
|
+
return startPort + i;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// Fallback: let OS pick
|
|
31
|
+
return 0;
|
|
32
|
+
}
|
|
12
33
|
async function createServer(orchestrator, port) {
|
|
13
34
|
const app = (0, express_1.default)();
|
|
14
35
|
app.use(express_1.default.json());
|
|
@@ -66,22 +87,14 @@ async function createServer(orchestrator, port) {
|
|
|
66
87
|
}
|
|
67
88
|
});
|
|
68
89
|
});
|
|
69
|
-
//
|
|
90
|
+
// Find a free port before binding
|
|
91
|
+
const freePort = await findFreePort(port);
|
|
70
92
|
return new Promise((resolve, reject) => {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
else {
|
|
77
|
-
reject(err);
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
server.listen(p, () => {
|
|
81
|
-
resolve(server);
|
|
82
|
-
});
|
|
83
|
-
};
|
|
84
|
-
tryPort(port, 10);
|
|
93
|
+
server.once('error', reject);
|
|
94
|
+
server.listen(freePort, () => {
|
|
95
|
+
server.removeAllListeners('error');
|
|
96
|
+
resolve(server);
|
|
97
|
+
});
|
|
85
98
|
});
|
|
86
99
|
}
|
|
87
100
|
//# sourceMappingURL=index.js.map
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED