arcagent-mcp 0.1.7 → 0.1.9
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/server.d.ts.map +1 -1
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/checkWorkerStatus.d.ts.map +1 -1
- package/dist/tools/checkWorkerStatus.js +20 -0
- package/dist/tools/checkWorkerStatus.js.map +1 -1
- package/dist/tools/claimBounty.js +2 -2
- package/dist/tools/claimBounty.js.map +1 -1
- package/dist/tools/testBounty.d.ts.map +1 -1
- package/dist/tools/testBounty.js +1 -0
- package/dist/tools/testBounty.js.map +1 -1
- package/dist/tools/workspaceStartupLog.d.ts +3 -0
- package/dist/tools/workspaceStartupLog.d.ts.map +1 -0
- package/dist/tools/workspaceStartupLog.js +76 -0
- package/dist/tools/workspaceStartupLog.js.map +1 -0
- package/package.json +1 -1
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA8CpE,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAiErE"}
|
package/dist/server.js
CHANGED
|
@@ -45,6 +45,7 @@ const workspaceApplyPatch_1 = require("./tools/workspaceApplyPatch");
|
|
|
45
45
|
const workspaceCrashReports_1 = require("./tools/workspaceCrashReports");
|
|
46
46
|
const checkWorkerStatus_1 = require("./tools/checkWorkerStatus");
|
|
47
47
|
const testBounty_1 = require("./tools/testBounty");
|
|
48
|
+
const workspaceStartupLog_1 = require("./tools/workspaceStartupLog");
|
|
48
49
|
function createMcpServer(options) {
|
|
49
50
|
const { enableWorkspaceTools = true, enableRegistration = true, } = options ?? {};
|
|
50
51
|
const server = new mcp_js_1.McpServer({
|
|
@@ -99,6 +100,7 @@ function createMcpServer(options) {
|
|
|
99
100
|
(0, workspaceApplyPatch_1.registerWorkspaceApplyPatch)(server);
|
|
100
101
|
(0, workspaceCrashReports_1.registerWorkspaceCrashReports)(server);
|
|
101
102
|
(0, checkWorkerStatus_1.registerCheckWorkerStatus)(server);
|
|
103
|
+
(0, workspaceStartupLog_1.registerWorkspaceStartupLog)(server);
|
|
102
104
|
}
|
|
103
105
|
return server;
|
|
104
106
|
}
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkWorkerStatus.d.ts","sourceRoot":"","sources":["../../src/tools/checkWorkerStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQpE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"checkWorkerStatus.d.ts","sourceRoot":"","sources":["../../src/tools/checkWorkerStatus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQpE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgHjE"}
|
|
@@ -41,6 +41,20 @@ function registerCheckWorkerStatus(server) {
|
|
|
41
41
|
isError: true,
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
|
+
if (!ws.workerHost || !/^https?:\/\//i.test(ws.workerHost)) {
|
|
45
|
+
const lines = [
|
|
46
|
+
"Worker host is not available for this workspace yet.",
|
|
47
|
+
`- Workspace status: ${ws.status}`,
|
|
48
|
+
];
|
|
49
|
+
if (ws.errorMessage) {
|
|
50
|
+
lines.push(`- Last error: ${ws.errorMessage}`);
|
|
51
|
+
}
|
|
52
|
+
lines.push("Use `workspace_status` and `workspace_startup_log` for detailed diagnostics.");
|
|
53
|
+
return {
|
|
54
|
+
content: [{ type: "text", text: lines.join("\n") }],
|
|
55
|
+
isError: true,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
44
58
|
const baseUrl = ws.workerHost.replace(/\/+$/, "");
|
|
45
59
|
const url = `${baseUrl}/api/health`;
|
|
46
60
|
const controller = new AbortController();
|
|
@@ -57,9 +71,15 @@ function registerCheckWorkerStatus(server) {
|
|
|
57
71
|
const checksText = checks.length > 0
|
|
58
72
|
? checks.map(([key, value]) => `- ${key}: ${value}`).join("\n")
|
|
59
73
|
: "- checks unavailable";
|
|
74
|
+
const backend = body?.checks?.executionBackend ?? "unknown";
|
|
75
|
+
const backendPolicy = body?.checks?.executionBackendPolicy ?? "unknown";
|
|
76
|
+
const firecrackerLocked = body?.checks?.firecrackerLocked ?? "unknown";
|
|
60
77
|
const text = `Worker health for ${baseUrl}\n` +
|
|
61
78
|
`- HTTP status: ${response.status}\n` +
|
|
62
79
|
`- Health status: ${healthStatus}\n` +
|
|
80
|
+
`- Execution backend: ${backend}\n` +
|
|
81
|
+
`- Backend policy: ${backendPolicy}\n` +
|
|
82
|
+
`- Firecracker locked: ${firecrackerLocked}\n` +
|
|
63
83
|
(body?.timestamp ? `- Timestamp: ${body.timestamp}\n` : "") +
|
|
64
84
|
"\nChecks:\n" +
|
|
65
85
|
checksText;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkWorkerStatus.js","sourceRoot":"","sources":["../../src/tools/checkWorkerStatus.ts"],"names":[],"mappings":";;AAQA,
|
|
1
|
+
{"version":3,"file":"checkWorkerStatus.js","sourceRoot":"","sources":["../../src/tools/checkWorkerStatus.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ const toolHelper_1 = require("../lib/toolHelper");
|
|
|
7
7
|
const context_1 = require("../lib/context");
|
|
8
8
|
const cache_1 = require("../workspace/cache");
|
|
9
9
|
function registerClaimBounty(server) {
|
|
10
|
-
(0, toolHelper_1.registerTool)(server, "claim_bounty", "Claim an exclusive lock on a bounty. A
|
|
10
|
+
(0, toolHelper_1.registerTool)(server, "claim_bounty", "Claim an exclusive lock on a bounty. A workspace is provisioned automatically with the repository pre-cloned. Only one agent can claim a bounty at a time. Claims expire after the bounty's claim duration (default 4 hours).", {
|
|
11
11
|
bountyId: zod_1.z.string().describe("The bounty ID to claim"),
|
|
12
12
|
}, async (args) => {
|
|
13
13
|
// SECURITY (H4): Enforce scope
|
|
@@ -41,7 +41,7 @@ function registerClaimBounty(server) {
|
|
|
41
41
|
text += `**Bounty:** ${bounty.title}\n`;
|
|
42
42
|
text += `**Expires:** ${bounty.claimDurationHours} hours from now\n\n`;
|
|
43
43
|
text += `## Development Workspace\n\n`;
|
|
44
|
-
text += `A Firecracker microVM
|
|
44
|
+
text += `A Firecracker microVM execution environment is being provisioned by the shared worker with the repository pre-cloned.\n`;
|
|
45
45
|
text += `Use \`workspace_status\` to check when it's ready (~30-90 seconds).\n\n`;
|
|
46
46
|
text += `## Available Tools\n\n`;
|
|
47
47
|
text += `- \`workspace_exec\` — Run shell commands (build, test, install packages)\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claimBounty.js","sourceRoot":"","sources":["../../src/tools/claimBounty.ts"],"names":[],"mappings":";;AAQA,kDA2EC;AAlFD,6BAAwB;AACxB,6CAA8C;AAE9C,kDAAiD;AACjD,4CAA2D;AAC3D,8CAA8D;AAE9D,SAAgB,mBAAmB,CAAC,MAAiB;IACnD,IAAA,yBAAY,EACV,MAAM,EACN,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"claimBounty.js","sourceRoot":"","sources":["../../src/tools/claimBounty.ts"],"names":[],"mappings":";;AAQA,kDA2EC;AAlFD,6BAAwB;AACxB,6CAA8C;AAE9C,kDAAiD;AACjD,4CAA2D;AAC3D,8CAA8D;AAE9D,SAAgB,mBAAmB,CAAC,MAAiB;IACnD,IAAA,yBAAY,EACV,MAAM,EACN,cAAc,EACd,+NAA+N,EAC/N;QACE,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KACxD,EACD,KAAK,EAAE,IAA0B,EAAE,EAAE;QACnC,+BAA+B;QAC/B,IAAA,sBAAY,EAAC,gBAAgB,CAAC,CAAC;QAC/B,oEAAoE;QACpE,MAAM,QAAQ,GAAG,IAAA,qBAAW,GAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,QAAQ,EAAE,MAAM,CAAC;QACjC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,wDAAwD,EAAE,CAAC;gBACpG,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAU,EAElC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QAEnC,IAAI,WAGH,CAAC;QACF,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,IAAA,mBAAU,EAI5B,wBAAwB,EACxB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CACrC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YAC9E,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,2BAA2B,OAAO,EAAE,EAAE,CAAC;gBAChF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAChC,IAAA,gCAAwB,EAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,IAAI,GAAG,mCAAmC,CAAC;QAC/C,IAAI,IAAI,iBAAiB,OAAO,IAAI,CAAC;QACrC,IAAI,IAAI,eAAe,MAAM,CAAC,KAAK,IAAI,CAAC;QACxC,IAAI,IAAI,gBAAgB,MAAM,CAAC,kBAAkB,qBAAqB,CAAC;QAEvE,IAAI,IAAI,8BAA8B,CAAC;QACvC,IAAI,IAAI,yHAAyH,CAAC;QAClI,IAAI,IAAI,yEAAyE,CAAC;QAElF,IAAI,IAAI,wBAAwB,CAAC;QACjC,IAAI,IAAI,6EAA6E,CAAC;QACtF,IAAI,IAAI,iGAAiG,CAAC;QAC1G,IAAI,IAAI,yDAAyD,CAAC;QAClE,IAAI,IAAI,8EAA8E,CAAC;QACvF,IAAI,IAAI,2DAA2D,CAAC;QACpE,IAAI,IAAI,kEAAkE,CAAC;QAC3E,IAAI,IAAI,+EAA+E,CAAC;QACxF,IAAI,IAAI,qEAAqE,CAAC;QAC9E,IAAI,IAAI,kEAAkE,CAAC;QAE3E,IAAI,IAAI,8FAA8F,CAAC;QACvG,IAAI,IAAI,4FAA4F,CAAC;QAErG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testBounty.d.ts","sourceRoot":"","sources":["../../src/tools/testBounty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"testBounty.d.ts","sourceRoot":"","sources":["../../src/tools/testBounty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuD1D"}
|
package/dist/tools/testBounty.js
CHANGED
|
@@ -28,6 +28,7 @@ function registerTestBounty(server) {
|
|
|
28
28
|
text += `**Repository:** ${result.repositoryUrl}\n`;
|
|
29
29
|
text += `**Commit:** ${result.commitSha}\n\n`;
|
|
30
30
|
text += "## Next Steps\n\n";
|
|
31
|
+
text += "This test bounty uses the same shared-worker + Firecracker pipeline as production bounties.\n\n";
|
|
31
32
|
text += "1. Run `workspace_status` with this bounty ID until workspace is ready\n";
|
|
32
33
|
text += "2. Implement the /agenthellos change in the workspace\n";
|
|
33
34
|
text += "3. Run `submit_solution` when complete\n";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testBounty.js","sourceRoot":"","sources":["../../src/tools/testBounty.ts"],"names":[],"mappings":";;AAMA,
|
|
1
|
+
{"version":3,"file":"testBounty.js","sourceRoot":"","sources":["../../src/tools/testBounty.ts"],"names":[],"mappings":";;AAMA,gDAuDC;AA5DD,6BAAwB;AACxB,6CAA8C;AAC9C,kDAAiD;AACjD,4CAA2D;AAE3D,SAAgB,kBAAkB,CAAC,MAAiB;IAClD,IAAA,yBAAY,EACV,MAAM,EACN,YAAY,EACZ,qKAAqK,EACrK;QACE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KAC1E,EACD,KAAK,IAAI,EAAE;QACT,IAAA,sBAAY,EAAC,iBAAiB,CAAC,CAAC;QAChC,IAAA,sBAAY,EAAC,gBAAgB,CAAC,CAAC;QAE/B,MAAM,QAAQ,GAAG,IAAA,qBAAW,GAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,QAAQ,EAAE,MAAM,CAAC;QACjC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAC;gBAC7E,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAU,EAO5B,4BAA4B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAE9C,IAAI,IAAI,GAAG,yBAAyB,CAAC;YACrC,IAAI,IAAI,kBAAkB,MAAM,CAAC,QAAQ,IAAI,CAAC;YAC9C,IAAI,IAAI,iBAAiB,MAAM,CAAC,OAAO,IAAI,CAAC;YAC5C,IAAI,IAAI,aAAa,MAAM,CAAC,cAAc,IAAI,CAAC;YAC/C,IAAI,IAAI,mBAAmB,MAAM,CAAC,aAAa,IAAI,CAAC;YACpD,IAAI,IAAI,eAAe,MAAM,CAAC,SAAS,MAAM,CAAC;YAC9C,IAAI,IAAI,mBAAmB,CAAC;YAC5B,IAAI,IAAI,iGAAiG,CAAC;YAC1G,IAAI,IAAI,0EAA0E,CAAC;YACnF,IAAI,IAAI,yDAAyD,CAAC;YAClE,IAAI,IAAI,0CAA0C,CAAC;YACnD,IAAI,IAAI,+CAA+C,CAAC;YACxD,IAAI,IAAI,+EAA+E,CAAC;YAExF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC;YACpF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iCAAiC,OAAO,EAAE,EAAE,CAAC;gBACtF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspaceStartupLog.d.ts","sourceRoot":"","sources":["../../src/tools/workspaceStartupLog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4BpE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgFnE"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerWorkspaceStartupLog = registerWorkspaceStartupLog;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const client_1 = require("../convex/client");
|
|
6
|
+
const context_1 = require("../lib/context");
|
|
7
|
+
const toolHelper_1 = require("../lib/toolHelper");
|
|
8
|
+
function registerWorkspaceStartupLog(server) {
|
|
9
|
+
(0, toolHelper_1.registerTool)(server, "workspace_startup_log", "Fetch workspace startup diagnostics (shared worker + Firecracker execution environment health) for a claimed bounty workspace.", {
|
|
10
|
+
bountyId: zod_1.z.string().optional().describe("Bounty ID (recommended for agent usage)"),
|
|
11
|
+
workspaceId: zod_1.z.string().optional().describe("Workspace ID (optional operator override)"),
|
|
12
|
+
claimId: zod_1.z.string().optional().describe("Claim ID (optional operator override)"),
|
|
13
|
+
}, async (args) => {
|
|
14
|
+
(0, context_1.requireScope)("workspace:read");
|
|
15
|
+
(0, context_1.requireAuthUser)();
|
|
16
|
+
if (!args.bountyId && !args.workspaceId && !args.claimId) {
|
|
17
|
+
return {
|
|
18
|
+
content: [{
|
|
19
|
+
type: "text",
|
|
20
|
+
text: "Provide one of `bountyId`, `workspaceId`, or `claimId`.",
|
|
21
|
+
}],
|
|
22
|
+
isError: true,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
const result = await (0, client_1.callConvex)("/api/mcp/workspace/startup-log", {
|
|
27
|
+
bountyId: args.bountyId,
|
|
28
|
+
workspaceId: args.workspaceId,
|
|
29
|
+
claimId: args.claimId,
|
|
30
|
+
});
|
|
31
|
+
if (!result.found) {
|
|
32
|
+
return {
|
|
33
|
+
content: [{ type: "text", text: result.message ?? "Startup log not available." }],
|
|
34
|
+
isError: true,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
const startup = result.startupLog;
|
|
38
|
+
const checks = startup?.workerHealth?.checks
|
|
39
|
+
? Object.entries(startup.workerHealth.checks).map(([k, v]) => `- ${k}: ${v}`)
|
|
40
|
+
: [];
|
|
41
|
+
const lines = [
|
|
42
|
+
"# Workspace Startup Diagnostics",
|
|
43
|
+
"",
|
|
44
|
+
`- Bounty: ${result.bountyId ?? args.bountyId ?? "unknown"}`,
|
|
45
|
+
`- Claim: ${result.claimId ?? args.claimId ?? "unknown"}`,
|
|
46
|
+
`- Workspace: ${result.workspaceId ?? args.workspaceId ?? "unknown"}`,
|
|
47
|
+
`- Mode: ${startup?.mode ?? "shared_worker"}`,
|
|
48
|
+
`- Workspace status: ${startup?.workspaceStatus ?? "unknown"}`,
|
|
49
|
+
startup?.workerHost ? `- Worker host: ${startup.workerHost}` : null,
|
|
50
|
+
startup?.workspaceError ? `- Workspace error: ${startup.workspaceError}` : null,
|
|
51
|
+
startup?.workerHealth
|
|
52
|
+
? `- Worker reachable: ${startup.workerHealth.reachable ? "yes" : "no"}`
|
|
53
|
+
: null,
|
|
54
|
+
startup?.workerHealth?.httpStatus !== undefined
|
|
55
|
+
? `- Worker health HTTP: ${startup.workerHealth.httpStatus}`
|
|
56
|
+
: null,
|
|
57
|
+
startup?.workerHealth?.status ? `- Worker health status: ${startup.workerHealth.status}` : null,
|
|
58
|
+
startup?.workerHealth?.error ? `- Worker health error: ${startup.workerHealth.error}` : null,
|
|
59
|
+
startup?.expiresAt ? `- Workspace expires at: ${new Date(startup.expiresAt).toISOString()}` : null,
|
|
60
|
+
"",
|
|
61
|
+
"## Worker Health Checks",
|
|
62
|
+
"",
|
|
63
|
+
checks.length > 0 ? checks.join("\n") : "No worker health checks captured yet.",
|
|
64
|
+
].filter(Boolean);
|
|
65
|
+
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
const message = err instanceof Error ? err.message : "Failed to fetch startup log";
|
|
69
|
+
return {
|
|
70
|
+
content: [{ type: "text", text: `Failed to fetch startup log: ${message}` }],
|
|
71
|
+
isError: true,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=workspaceStartupLog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspaceStartupLog.js","sourceRoot":"","sources":["../../src/tools/workspaceStartupLog.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED