@taskless-app/swarm 0.4.4 → 0.4.5

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.js CHANGED
@@ -3480,7 +3480,7 @@ function pidsWithCwdUnder(dir, opts = {}) {
3480
3480
  if ((opts.platform ?? process.platform) === "win32") return winProcsUnder(dir, opts.procs ?? listProcs);
3481
3481
  let out;
3482
3482
  try {
3483
- out = execQuiet("lsof", ["-w", "-a", "-d", "cwd", "-F", "pn"], { maxBuffer: PROC_SNAPSHOT_MAX_BUFFER });
3483
+ out = execQuiet("lsof", ["-a", "-d", "cwd", "-F", "pn"], { maxBuffer: PROC_SNAPSHOT_MAX_BUFFER });
3484
3484
  } catch (e) {
3485
3485
  logTransientSpawnError("lsof", e);
3486
3486
  return [];
@@ -3940,7 +3940,7 @@ async function collectRunDiff(worktree, opts = {}) {
3940
3940
  // package.json
3941
3941
  var package_default = {
3942
3942
  name: "@taskless-app/swarm",
3943
- version: "0.4.4",
3943
+ version: "0.4.5",
3944
3944
  type: "module",
3945
3945
  description: "Local control plane for a fleet of AI coding agents (drones), coordinating through Taskless. The overmind runs the swarm.",
3946
3946
  keywords: [
package/dist/overmind.js CHANGED
@@ -2278,7 +2278,7 @@ function pidsWithCwdUnder(dir, opts = {}) {
2278
2278
  if ((opts.platform ?? process.platform) === "win32") return winProcsUnder(dir, opts.procs ?? listProcs);
2279
2279
  let out;
2280
2280
  try {
2281
- out = execQuiet("lsof", ["-w", "-a", "-d", "cwd", "-F", "pn"], { maxBuffer: PROC_SNAPSHOT_MAX_BUFFER });
2281
+ out = execQuiet("lsof", ["-a", "-d", "cwd", "-F", "pn"], { maxBuffer: PROC_SNAPSHOT_MAX_BUFFER });
2282
2282
  } catch (e) {
2283
2283
  logTransientSpawnError("lsof", e);
2284
2284
  return [];
@@ -6035,6 +6035,18 @@ init_heartbeat();
6035
6035
  // src/repoRegistry.ts
6036
6036
  init_config();
6037
6037
  import { $ } from "execa";
6038
+ function effectiveRepoPaths(flagRepo, envPaths) {
6039
+ const seen = /* @__PURE__ */ new Set();
6040
+ const out = [];
6041
+ for (const raw of [flagRepo ?? "", ...envPaths]) {
6042
+ if (!raw.trim()) continue;
6043
+ const key = normalizeRepo(raw);
6044
+ if (!key || seen.has(key)) continue;
6045
+ seen.add(key);
6046
+ out.push(key);
6047
+ }
6048
+ return out;
6049
+ }
6038
6050
  function parseRepoFullName(remoteUrl) {
6039
6051
  const m = remoteUrl.trim().match(/^(?:https?:\/\/(?:[^@/]+@)?github\.com\/|git@github\.com:)([^/]+)\/([^/]+?)(\.git)?\/?$/i);
6040
6052
  if (!m) return null;
@@ -9052,7 +9064,7 @@ async function collectRunDiff(worktree, opts = {}) {
9052
9064
  // package.json
9053
9065
  var package_default = {
9054
9066
  name: "@taskless-app/swarm",
9055
- version: "0.4.4",
9067
+ version: "0.4.5",
9056
9068
  type: "module",
9057
9069
  description: "Local control plane for a fleet of AI coding agents (drones), coordinating through Taskless. The overmind runs the swarm.",
9058
9070
  keywords: [
@@ -13251,10 +13263,16 @@ async function makeStore(repo, worktreesDir) {
13251
13263
  onDown: (ms) => console.warn(`[overmind] \u043F\u0440\u043E\u0434-MCP \u043C\u043E\u043B\u0447\u0438\u0442 ${Math.round(ms / 1e3)}\u0441 \u2014 \u0440\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u0432\u0441\u043B\u0435\u043F\u0443\u044E, \u0441\u0434\u0430\u0447\u0438 \u0438 \u0432\u0435\u0440\u0434\u0438\u043A\u0442\u044B \u043D\u0435 \u0434\u043E\u0435\u0437\u0436\u0430\u044E\u0442.`),
13252
13264
  onUp: () => console.warn("[overmind] \u043F\u0440\u043E\u0434-MCP \u0441\u043D\u043E\u0432\u0430 \u043D\u0430 \u0441\u0432\u044F\u0437\u0438.")
13253
13265
  });
13254
- const repoRegistry = await buildRepoRegistry(SWARM_REPO_PATHS);
13255
- if (SWARM_REPO_PATHS.length > 0 && repoRegistry.length < SWARM_REPO_PATHS.length) {
13266
+ const repoPaths = effectiveRepoPaths(repo, SWARM_REPO_PATHS);
13267
+ const repoRegistry = await buildRepoRegistry(repoPaths);
13268
+ if (repoPaths.length > 0 && repoRegistry.length < repoPaths.length) {
13269
+ console.warn(
13270
+ `[overmind] \u0440\u0435\u043F\u043E-\u0440\u0435\u0435\u0441\u0442\u0440: ${repoRegistry.length}/${repoPaths.length} \u043F\u0443\u0442\u0435\u0439 \u0440\u0435\u0437\u043E\u043B\u0432\u043D\u0443\u043B\u0438\u0441\u044C \u0432 repoFullName (\u043E\u0441\u0442\u0430\u043B\u044C\u043D\u044B\u0435 \u2014 \u043D\u0435 git-\u0440\u0435\u043F\u043E \u0438\u043B\u0438 \u0431\u0435\u0437 remote origin)`
13271
+ );
13272
+ }
13273
+ if (repoRegistry.length === 0) {
13256
13274
  console.warn(
13257
- `[overmind] \u0440\u0435\u043F\u043E-\u0440\u0435\u0435\u0441\u0442\u0440: ${repoRegistry.length}/${SWARM_REPO_PATHS.length} \u043F\u0443\u0442\u0435\u0439 \u0440\u0435\u0437\u043E\u043B\u0432\u043D\u0443\u043B\u0438\u0441\u044C \u0432 repoFullName (\u043E\u0441\u0442\u0430\u043B\u044C\u043D\u044B\u0435 \u2014 \u043D\u0435 git-\u0440\u0435\u043F\u043E \u0438\u043B\u0438 \u0431\u0435\u0437 remote origin)`
13275
+ "[overmind] \u0420\u0415\u041F\u041E-\u0420\u0415\u0415\u0421\u0422\u0420 \u041F\u0423\u0421\u0422: \u0441\u0432\u043E\u0431\u043E\u0434\u043D\u044B\u0435 \u043F\u0440\u043E\u0433\u043E\u043D\u044B (\u0442\u0435, \u0447\u0442\u043E \u043D\u0435 \u0437\u0430\u043A\u0440\u0435\u043F\u043B\u0435\u043D\u044B \u0437\u0430 \u044D\u0442\u043E\u0439 \u043C\u0430\u0448\u0438\u043D\u043E\u0439) \u0431\u0440\u0430\u0442\u044C\u0441\u044F \u041D\u0415 \u0431\u0443\u0434\u0443\u0442 \u2014 \u0438\u0445 \u0440\u0435\u043F\u043E\u0437\u0438\u0442\u043E\u0440\u0438\u0439 \u043F\u0440\u0438\u0445\u043E\u0434\u0438\u0442 \u0438\u043C\u0435\u043D\u0435\u043C owner/repo, \u0430 \u0441\u043E\u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0435\u0433\u043E \u0441 \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u043C \u043F\u0443\u0442\u0451\u043C \u043D\u0435\u0447\u0435\u043C. \u0423\u043A\u0430\u0436\u0438 \u043F\u0443\u0442\u044C: swarm start --repo <\u043F\u0443\u0442\u044C \u043A \u0440\u0435\u043F\u043E> (\u0438\u043B\u0438 SWARM_REPO/SWARM_REPOS \u0432 \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u0438)."
13258
13276
  );
13259
13277
  }
13260
13278
  const client = new SwarmClient({ call, outboxPath: SWARM_OUTBOX, defaultRepo: repo, repoRegistry, host });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taskless-app/swarm",
3
- "version": "0.4.4",
3
+ "version": "0.4.5",
4
4
  "type": "module",
5
5
  "description": "Local control plane for a fleet of AI coding agents (drones), coordinating through Taskless. The overmind runs the swarm.",
6
6
  "keywords": [