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.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6CpE,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,CAgErE"}
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;AAkDA,0CAgEC;AAlHD,oEAAoE;AACpE,uDAA4D;AAC5D,+DAAoE;AACpE,yDAA8D;AAC9D,mDAAwD;AACxD,qDAA0D;AAC1D,2DAAgE;AAChE,qDAA0D;AAC1D,uDAA4D;AAC5D,6DAA6D;AAC7D,yDAA8D;AAC9D,iEAAsE;AACtE,mEAAwE;AACxE,6DAAkE;AAClE,2DAAgE;AAChE,yEAA8E;AAC9E,iEAAsE;AACtE,uDAA4D;AAC5D,iFAAsF;AACtF,mEAAwE;AACxE,mEAAwE;AACxE,+DAAoE;AACpE,mEAAwE;AACxE,uDAA4D;AAC5D,yEAA8E;AAC9E,6DAAkE;AAClE,2DAAgE;AAChE,6DAAkE;AAClE,6DAAkE;AAClE,iDAAsD;AACtD,2DAAgE;AAChE,mEAAwE;AACxE,qEAA0E;AAC1E,6DAAkE;AAClE,mEAAwE;AACxE,qEAA0E;AAC1E,2DAAgE;AAChE,iEAAsE;AACtE,yDAA8D;AAC9D,yDAA8D;AAC9D,qEAA0E;AAC1E,yEAA8E;AAC9E,iEAAsE;AACtE,mDAAwD;AAOxD,SAAgB,eAAe,CAAC,OAA0B;IACxD,MAAM,EACJ,oBAAoB,GAAG,IAAI,EAC3B,kBAAkB,GAAG,IAAI,GAC1B,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;QAC3B,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,iEAAiE;IACjE,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAA,yCAAuB,EAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,uCAAuC;IACvC,IAAA,mCAAoB,EAAC,MAAM,CAAC,CAAC;IAC7B,IAAA,2CAAwB,EAAC,MAAM,CAAC,CAAC;IACjC,IAAA,qCAAqB,EAAC,MAAM,CAAC,CAAC;IAC9B,IAAA,+BAAkB,EAAC,MAAM,CAAC,CAAC;IAC3B,IAAA,iCAAmB,EAAC,MAAM,CAAC,CAAC;IAC5B,IAAA,uCAAsB,EAAC,MAAM,CAAC,CAAC;IAC/B,IAAA,iCAAmB,EAAC,MAAM,CAAC,CAAC;IAC5B,IAAA,mCAAoB,EAAC,MAAM,CAAC,CAAC;IAC7B,IAAA,uCAAsB,EAAC,MAAM,CAAC,CAAC;IAC/B,IAAA,qDAA6B,EAAC,MAAM,CAAC,CAAC;IACtC,IAAA,qDAA6B,EAAC,MAAM,CAAC,CAAC;IACtC,IAAA,6CAAyB,EAAC,MAAM,CAAC,CAAC;IAClC,IAAA,mCAAoB,EAAC,MAAM,CAAC,CAAC;IAC7B,IAAA,6DAAiC,EAAC,MAAM,CAAC,CAAC;IAC1C,IAAA,+CAA0B,EAAC,MAAM,CAAC,CAAC;IACnC,IAAA,+CAA0B,EAAC,MAAM,CAAC,CAAC;IACnC,IAAA,2CAAwB,EAAC,MAAM,CAAC,CAAC;IACjC,IAAA,+CAA0B,EAAC,MAAM,CAAC,CAAC;IACnC,IAAA,mCAAoB,EAAC,MAAM,CAAC,CAAC;IAC7B,IAAA,uCAAsB,EAAC,MAAM,CAAC,CAAC;IAC/B,IAAA,yCAAuB,EAAC,MAAM,CAAC,CAAC;IAChC,IAAA,yCAAuB,EAAC,MAAM,CAAC,CAAC;IAChC,IAAA,6BAAiB,EAAC,MAAM,CAAC,CAAC;IAC1B,IAAA,uCAAsB,EAAC,MAAM,CAAC,CAAC;IAC/B,IAAA,+BAAkB,EAAC,MAAM,CAAC,CAAC;IAE3B,+EAA+E;IAC/E,IAAI,oBAAoB,EAAE,CAAC;QACzB,IAAA,qCAAqB,EAAC,MAAM,CAAC,CAAC;QAC9B,IAAA,6CAAyB,EAAC,MAAM,CAAC,CAAC;QAClC,IAAA,+CAA0B,EAAC,MAAM,CAAC,CAAC;QACnC,IAAA,yCAAuB,EAAC,MAAM,CAAC,CAAC;QAChC,IAAA,+CAA0B,EAAC,MAAM,CAAC,CAAC;QACnC,IAAA,iDAA2B,EAAC,MAAM,CAAC,CAAC;QACpC,IAAA,yCAAuB,EAAC,MAAM,CAAC,CAAC;QAChC,IAAA,+CAA0B,EAAC,MAAM,CAAC,CAAC;QACnC,IAAA,iDAA2B,EAAC,MAAM,CAAC,CAAC;QACpC,IAAA,uCAAsB,EAAC,MAAM,CAAC,CAAC;QAC/B,IAAA,6CAAyB,EAAC,MAAM,CAAC,CAAC;QAClC,IAAA,qCAAqB,EAAC,MAAM,CAAC,CAAC;QAC9B,IAAA,qCAAqB,EAAC,MAAM,CAAC,CAAC;QAC9B,IAAA,iDAA2B,EAAC,MAAM,CAAC,CAAC;QACpC,IAAA,qDAA6B,EAAC,MAAM,CAAC,CAAC;QACtC,IAAA,6CAAyB,EAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;AAmDA,0CAiEC;AApHD,oEAAoE;AACpE,uDAA4D;AAC5D,+DAAoE;AACpE,yDAA8D;AAC9D,mDAAwD;AACxD,qDAA0D;AAC1D,2DAAgE;AAChE,qDAA0D;AAC1D,uDAA4D;AAC5D,6DAA6D;AAC7D,yDAA8D;AAC9D,iEAAsE;AACtE,mEAAwE;AACxE,6DAAkE;AAClE,2DAAgE;AAChE,yEAA8E;AAC9E,iEAAsE;AACtE,uDAA4D;AAC5D,iFAAsF;AACtF,mEAAwE;AACxE,mEAAwE;AACxE,+DAAoE;AACpE,mEAAwE;AACxE,uDAA4D;AAC5D,yEAA8E;AAC9E,6DAAkE;AAClE,2DAAgE;AAChE,6DAAkE;AAClE,6DAAkE;AAClE,iDAAsD;AACtD,2DAAgE;AAChE,mEAAwE;AACxE,qEAA0E;AAC1E,6DAAkE;AAClE,mEAAwE;AACxE,qEAA0E;AAC1E,2DAAgE;AAChE,iEAAsE;AACtE,yDAA8D;AAC9D,yDAA8D;AAC9D,qEAA0E;AAC1E,yEAA8E;AAC9E,iEAAsE;AACtE,mDAAwD;AACxD,qEAA0E;AAO1E,SAAgB,eAAe,CAAC,OAA0B;IACxD,MAAM,EACJ,oBAAoB,GAAG,IAAI,EAC3B,kBAAkB,GAAG,IAAI,GAC1B,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;QAC3B,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,iEAAiE;IACjE,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAA,yCAAuB,EAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,uCAAuC;IACvC,IAAA,mCAAoB,EAAC,MAAM,CAAC,CAAC;IAC7B,IAAA,2CAAwB,EAAC,MAAM,CAAC,CAAC;IACjC,IAAA,qCAAqB,EAAC,MAAM,CAAC,CAAC;IAC9B,IAAA,+BAAkB,EAAC,MAAM,CAAC,CAAC;IAC3B,IAAA,iCAAmB,EAAC,MAAM,CAAC,CAAC;IAC5B,IAAA,uCAAsB,EAAC,MAAM,CAAC,CAAC;IAC/B,IAAA,iCAAmB,EAAC,MAAM,CAAC,CAAC;IAC5B,IAAA,mCAAoB,EAAC,MAAM,CAAC,CAAC;IAC7B,IAAA,uCAAsB,EAAC,MAAM,CAAC,CAAC;IAC/B,IAAA,qDAA6B,EAAC,MAAM,CAAC,CAAC;IACtC,IAAA,qDAA6B,EAAC,MAAM,CAAC,CAAC;IACtC,IAAA,6CAAyB,EAAC,MAAM,CAAC,CAAC;IAClC,IAAA,mCAAoB,EAAC,MAAM,CAAC,CAAC;IAC7B,IAAA,6DAAiC,EAAC,MAAM,CAAC,CAAC;IAC1C,IAAA,+CAA0B,EAAC,MAAM,CAAC,CAAC;IACnC,IAAA,+CAA0B,EAAC,MAAM,CAAC,CAAC;IACnC,IAAA,2CAAwB,EAAC,MAAM,CAAC,CAAC;IACjC,IAAA,+CAA0B,EAAC,MAAM,CAAC,CAAC;IACnC,IAAA,mCAAoB,EAAC,MAAM,CAAC,CAAC;IAC7B,IAAA,uCAAsB,EAAC,MAAM,CAAC,CAAC;IAC/B,IAAA,yCAAuB,EAAC,MAAM,CAAC,CAAC;IAChC,IAAA,yCAAuB,EAAC,MAAM,CAAC,CAAC;IAChC,IAAA,6BAAiB,EAAC,MAAM,CAAC,CAAC;IAC1B,IAAA,uCAAsB,EAAC,MAAM,CAAC,CAAC;IAC/B,IAAA,+BAAkB,EAAC,MAAM,CAAC,CAAC;IAE3B,+EAA+E;IAC/E,IAAI,oBAAoB,EAAE,CAAC;QACzB,IAAA,qCAAqB,EAAC,MAAM,CAAC,CAAC;QAC9B,IAAA,6CAAyB,EAAC,MAAM,CAAC,CAAC;QAClC,IAAA,+CAA0B,EAAC,MAAM,CAAC,CAAC;QACnC,IAAA,yCAAuB,EAAC,MAAM,CAAC,CAAC;QAChC,IAAA,+CAA0B,EAAC,MAAM,CAAC,CAAC;QACnC,IAAA,iDAA2B,EAAC,MAAM,CAAC,CAAC;QACpC,IAAA,yCAAuB,EAAC,MAAM,CAAC,CAAC;QAChC,IAAA,+CAA0B,EAAC,MAAM,CAAC,CAAC;QACnC,IAAA,iDAA2B,EAAC,MAAM,CAAC,CAAC;QACpC,IAAA,uCAAsB,EAAC,MAAM,CAAC,CAAC;QAC/B,IAAA,6CAAyB,EAAC,MAAM,CAAC,CAAC;QAClC,IAAA,qCAAqB,EAAC,MAAM,CAAC,CAAC;QAC9B,IAAA,qCAAqB,EAAC,MAAM,CAAC,CAAC;QAC9B,IAAA,iDAA2B,EAAC,MAAM,CAAC,CAAC;QACpC,IAAA,qDAA6B,EAAC,MAAM,CAAC,CAAC;QACtC,IAAA,6CAAyB,EAAC,MAAM,CAAC,CAAC;QAClC,IAAA,iDAA2B,EAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -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,CA2FjE"}
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":"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"}
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 Firecracker microVM 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).", {
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 workspace is being provisioned with the repository pre-cloned.\n`;
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,mPAAmP,EACnP;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,wFAAwF,CAAC;QACjG,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
+ {"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,CAsD1D"}
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"}
@@ -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,gDAsDC;AA3DD,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,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"}
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,3 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerWorkspaceStartupLog(server: McpServer): void;
3
+ //# sourceMappingURL=workspaceStartupLog.d.ts.map
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arcagent-mcp",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "MCP server for arcagent — AI agents earn bounties by solving coding tasks",
5
5
  "homepage": "https://github.com/araujota/arcagent/tree/main/mcp-server",
6
6
  "bugs": {