doer-agent 0.1.1 → 0.1.3

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/agent.js CHANGED
@@ -12,6 +12,7 @@ const PLAYWRIGHT_MCP_DAEMON_SIGNATURE_VERSION = "2026-03-15";
12
12
  const DEFAULT_SERVER_BASE_URL = "https://doer.cranix.net";
13
13
  const AGENT_MODULE_DIR = path.dirname(fileURLToPath(import.meta.url));
14
14
  const AGENT_PROJECT_DIR = path.join(AGENT_MODULE_DIR, "..");
15
+ const AGENT_PACKAGE_JSON_PATH = path.join(AGENT_PROJECT_DIR, "package.json");
15
16
  let activeTaskLogContext = null;
16
17
  const activeTaskCancelRequests = new Map();
17
18
  function sanitizeUserId(userId) {
@@ -177,11 +178,23 @@ function resolvePlaywrightMcpProxyPath() {
177
178
  return "";
178
179
  }
179
180
  const PLAYWRIGHT_MCP_PROXY_LAUNCHER_PATH = path.join(AGENT_PROJECT_DIR, "runtime/bin/playwright-mcp-proxy-launcher.sh");
181
+ function resolvePlaywrightMcpDaemonSocketPath(stateDir) {
182
+ if (process.platform === "win32") {
183
+ const suffix = stateDir
184
+ .toLowerCase()
185
+ .replace(/[^a-z0-9]+/g, "-")
186
+ .replace(/^-+|-+$/g, "")
187
+ .slice(-48) || "default";
188
+ return `\\\\.\\pipe\\doer-playwright-mcp-${suffix}`;
189
+ }
190
+ return path.join(stateDir, "playwright-mcp-daemon", "playwright-mcp.sock");
191
+ }
180
192
  function resolvePlaywrightMcpDaemonStatePaths() {
181
- const daemonDir = path.join(resolveAgentStateDir(), "playwright-mcp-daemon");
193
+ const stateDir = resolveAgentStateDir();
194
+ const daemonDir = path.join(stateDir, "playwright-mcp-daemon");
182
195
  return {
183
196
  daemonDir,
184
- socketPath: path.join(daemonDir, "playwright-mcp.sock"),
197
+ socketPath: resolvePlaywrightMcpDaemonSocketPath(stateDir),
185
198
  pidPath: path.join(daemonDir, "daemon.pid"),
186
199
  metaPath: path.join(daemonDir, "daemon-meta.json"),
187
200
  };
@@ -371,6 +384,19 @@ function resolveAgentStateDir() {
371
384
  function resolveContainerReachableServerBaseUrl(serverBaseUrl) {
372
385
  return serverBaseUrl;
373
386
  }
387
+ async function resolveAgentVersion() {
388
+ const raw = await readFile(AGENT_PACKAGE_JSON_PATH, "utf8").catch(() => "");
389
+ if (!raw) {
390
+ return "unknown";
391
+ }
392
+ try {
393
+ const parsed = JSON.parse(raw);
394
+ return typeof parsed.version === "string" && parsed.version.trim() ? parsed.version.trim() : "unknown";
395
+ }
396
+ catch {
397
+ return "unknown";
398
+ }
399
+ }
374
400
  function pickFirstNonEmpty(values) {
375
401
  for (const value of values) {
376
402
  if (typeof value !== "string") {
@@ -1164,8 +1190,9 @@ async function main() {
1164
1190
  userId,
1165
1191
  agentToken,
1166
1192
  });
1167
- const maxConcurrency = Math.max(1, parseEnvInteger(process.env.DOER_AGENT_MAX_CONCURRENCY, 3));
1168
- process.stdout.write(`\n[doer-agent]\n`);
1193
+ const maxConcurrency = Math.max(1, parseEnvInteger(process.env.DOER_AGENT_MAX_CONCURRENCY, 5));
1194
+ const agentVersion = await resolveAgentVersion();
1195
+ process.stdout.write(`\n[doer-agent v${agentVersion}]\n`);
1169
1196
  if (!usesDefaultServer) {
1170
1197
  process.stdout.write(`- server: ${serverBaseUrl}\n`);
1171
1198
  }
@@ -38,6 +38,14 @@ function resolveSocketPath() {
38
38
  return explicit;
39
39
  }
40
40
  const stateDir = (process.env.DOER_AGENT_STATE_DIR || "").trim() || path.join(homedir(), ".doer-agent");
41
+ if (process.platform === "win32") {
42
+ const suffix = stateDir
43
+ .toLowerCase()
44
+ .replace(/[^a-z0-9]+/g, "-")
45
+ .replace(/^-+|-+$/g, "")
46
+ .slice(-48) || "default";
47
+ return `\\\\.\\pipe\\doer-playwright-mcp-${suffix}`;
48
+ }
41
49
  return path.join(stateDir, "playwright-mcp-daemon", "playwright-mcp.sock");
42
50
  }
43
51
  function decodeToolArgs(argsBase64) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "doer-agent",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Reverse-polling agent runtime for doer",
5
5
  "type": "module",
6
6
  "main": "dist/agent.js",
@@ -2,4 +2,4 @@
2
2
  set -euo pipefail
3
3
  SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
4
4
  PROJECT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
5
- exec node --import "$PROJECT_DIR/node_modules/tsx/dist/loader.mjs" "$PROJECT_DIR/src/apply-patch.ts" "$@"
5
+ exec node "$PROJECT_DIR/dist/apply-patch.js" "$@"