@yemi33/minions 0.1.2259 → 0.1.2260

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.
Files changed (2) hide show
  1. package/engine/shared.js +24 -6
  2. package/package.json +1 -1
package/engine/shared.js CHANGED
@@ -5720,14 +5720,32 @@ function resolveProjectRootDir(localPath, minionsDir) {
5720
5720
  * unaffected — it uses GH_TOKEN / the OS credential store, not files under the
5721
5721
  * home — and the operator's real `~/.copilot` (interactive copilot) is untouched.
5722
5722
  *
5723
- * Placed on the MINIONS_DIR volume (copilot's session-store can grow to GBs, so
5724
- * keep it off a possibly-full system drive) but OUTSIDE the repo, at the drive
5725
- * root, so concurrent git branch switches in the working tree can never delete or
5726
- * dirty it. Stable path so copilot session resume (`--resume`) stays consistent
5727
- * across spawns. Falls back to the user home when no minionsDir is given.
5723
+ * Placed OUTSIDE the repo so concurrent git branch switches in the working tree
5724
+ * can never delete or dirty it, on the MINIONS_DIR volume (copilot's session-store
5725
+ * can grow to GBs, so keep it off a possibly-full system drive). Stable path so
5726
+ * copilot session resume (`--resume`) stays consistent across spawns. Falls back
5727
+ * to the user home when no minionsDir is given.
5728
+ *
5729
+ * Base selection is cross-platform (W-copilot-home-posix-root): on Windows the
5730
+ * MINIONS_DIR drive root (`C:\`, `D:\`, or a UNC share root) is user-writable, so
5731
+ * we anchor there. On POSIX the filesystem root (`/`) is NOT user-writable — a
5732
+ * home placed there can never be created (`mkdir` EACCES), `ensureAgentCopilotHome`
5733
+ * fail-opens and returns the uncreatable path anyway, and every spawned
5734
+ * `copilot --acp` / copilot agent then inherits a `COPILOT_HOME` it can't use and
5735
+ * exits code 1 silently (surfaced in CC as "Load failed"). So when the drive root
5736
+ * is the bare POSIX root we fall back to the user home — repo-external, writable,
5737
+ * and on the user's own volume.
5728
5738
  */
5729
5739
  function resolveAgentCopilotHome(minionsDir) {
5730
- const base = minionsDir ? path.parse(path.resolve(String(minionsDir))).root : os.homedir();
5740
+ let base;
5741
+ if (minionsDir) {
5742
+ const root = path.parse(path.resolve(String(minionsDir))).root;
5743
+ // The POSIX filesystem root ('/') is not user-writable; Windows drive/UNC
5744
+ // roots are. Anchor at the user home in the unwritable-root case.
5745
+ base = (root === '/' || root === path.sep) ? os.homedir() : root;
5746
+ } else {
5747
+ base = os.homedir();
5748
+ }
5731
5749
  return path.join(base, '.minions-agent-copilot-home');
5732
5750
  }
5733
5751
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.2259",
3
+ "version": "0.1.2260",
4
4
  "description": "Multi-agent AI dev team that runs from ~/.minions/ — five autonomous agents share a single engine, dashboard, and knowledge base",
5
5
  "bin": {
6
6
  "minions": "bin/minions.js"