looply-cli 0.5.8 → 0.5.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.
Files changed (84) hide show
  1. package/dist/.src-hash +1 -1
  2. package/dist/bin.d.ts.map +1 -1
  3. package/dist/bin.js +9 -1
  4. package/dist/bin.js.map +1 -1
  5. package/dist/branch-delivery-wiring.d.ts +41 -0
  6. package/dist/branch-delivery-wiring.d.ts.map +1 -0
  7. package/dist/branch-delivery-wiring.js +85 -0
  8. package/dist/branch-delivery-wiring.js.map +1 -0
  9. package/dist/branch-delivery.d.ts +275 -0
  10. package/dist/branch-delivery.d.ts.map +1 -0
  11. package/dist/branch-delivery.js +659 -0
  12. package/dist/branch-delivery.js.map +1 -0
  13. package/dist/config.d.ts +20 -1
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +24 -0
  16. package/dist/config.js.map +1 -1
  17. package/dist/coordinator-state.d.ts.map +1 -1
  18. package/dist/coordinator-state.js +28 -18
  19. package/dist/coordinator-state.js.map +1 -1
  20. package/dist/daemon-cmd.d.ts.map +1 -1
  21. package/dist/daemon-cmd.js +64 -5
  22. package/dist/daemon-cmd.js.map +1 -1
  23. package/dist/daemon-lock.d.ts +65 -2
  24. package/dist/daemon-lock.d.ts.map +1 -1
  25. package/dist/daemon-lock.js +149 -5
  26. package/dist/daemon-lock.js.map +1 -1
  27. package/dist/daemon.d.ts +12 -1
  28. package/dist/daemon.d.ts.map +1 -1
  29. package/dist/daemon.js +23 -3
  30. package/dist/daemon.js.map +1 -1
  31. package/dist/deliver-cmd.d.ts +41 -0
  32. package/dist/deliver-cmd.d.ts.map +1 -0
  33. package/dist/deliver-cmd.js +189 -0
  34. package/dist/deliver-cmd.js.map +1 -0
  35. package/dist/delivery-rules.d.ts +71 -0
  36. package/dist/delivery-rules.d.ts.map +1 -0
  37. package/dist/delivery-rules.js +186 -0
  38. package/dist/delivery-rules.js.map +1 -0
  39. package/dist/delivery-settings-cache.d.ts +35 -0
  40. package/dist/delivery-settings-cache.d.ts.map +1 -0
  41. package/dist/delivery-settings-cache.js +119 -0
  42. package/dist/delivery-settings-cache.js.map +1 -0
  43. package/dist/github-api.d.ts +99 -0
  44. package/dist/github-api.d.ts.map +1 -0
  45. package/dist/github-api.js +226 -0
  46. package/dist/github-api.js.map +1 -0
  47. package/dist/goal-runs.d.ts +2 -2
  48. package/dist/goal-runs.d.ts.map +1 -1
  49. package/dist/goal-runs.js +13 -11
  50. package/dist/goal-runs.js.map +1 -1
  51. package/dist/machine-settings.d.ts +188 -0
  52. package/dist/machine-settings.d.ts.map +1 -0
  53. package/dist/machine-settings.js +658 -0
  54. package/dist/machine-settings.js.map +1 -0
  55. package/dist/project-terminal.d.ts +6 -0
  56. package/dist/project-terminal.d.ts.map +1 -1
  57. package/dist/project-terminal.js +3 -0
  58. package/dist/project-terminal.js.map +1 -1
  59. package/dist/run-ending-locator.d.ts.map +1 -1
  60. package/dist/run-ending-locator.js +5 -3
  61. package/dist/run-ending-locator.js.map +1 -1
  62. package/dist/serve-cmd.d.ts +8 -0
  63. package/dist/serve-cmd.d.ts.map +1 -1
  64. package/dist/serve-cmd.js +12 -0
  65. package/dist/serve-cmd.js.map +1 -1
  66. package/dist/server-client.d.ts +29 -2
  67. package/dist/server-client.d.ts.map +1 -1
  68. package/dist/server-client.js +39 -2
  69. package/dist/server-client.js.map +1 -1
  70. package/dist/stale-run-sweep.js +11 -10
  71. package/dist/stale-run-sweep.js.map +1 -1
  72. package/dist/untrusted-exec.d.ts +11 -0
  73. package/dist/untrusted-exec.d.ts.map +1 -1
  74. package/dist/untrusted-exec.js +1 -0
  75. package/dist/untrusted-exec.js.map +1 -1
  76. package/dist/workspace-provisioner.d.ts +8 -0
  77. package/dist/workspace-provisioner.d.ts.map +1 -1
  78. package/dist/workspace-provisioner.js +18 -0
  79. package/dist/workspace-provisioner.js.map +1 -1
  80. package/dist/workspace.d.ts +33 -13
  81. package/dist/workspace.d.ts.map +1 -1
  82. package/dist/workspace.js +89 -92
  83. package/dist/workspace.js.map +1 -1
  84. package/package.json +2 -2
@@ -222,6 +222,17 @@ interface HelperReply {
222
222
  * escaping reason above.
223
223
  */
224
224
  export declare function systemRoot(env?: Record<string, string | undefined>): string;
225
+ /**
226
+ * The interpreter, by absolute path rather than by PATH lookup.
227
+ *
228
+ * PowerShell lives in a SUBDIRECTORY of System32, so a process whose PATH was
229
+ * deliberately narrowed — which is every process Looply builds an environment
230
+ * for — cannot resolve the bare name. The tool bridge is exactly that case: it
231
+ * is trusted code, but it is launched by the provider transport and inherits
232
+ * the transport's minimal PATH, and the failure it produced was an unreadable
233
+ * "containment unavailable" rather than anything about containment.
234
+ */
235
+ export declare function powershellPath(): string;
225
236
  /**
226
237
  * Where the helper records the drive letters it has mapped, one claim file per
227
238
  * letter. Shared by every looply process on the machine, because a drive
@@ -1 +1 @@
1
- {"version":3,"file":"untrusted-exec.d.ts","sourceRoot":"","sources":["../src/untrusted-exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"untrusted-exec.d.ts","sourceRoot":"","sources":["../src/untrusted-exec.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ exports.containerName = containerName;
5
5
  exports.windowsCommandLine = windowsCommandLine;
6
6
  exports.systemEnv = systemEnv;
7
7
  exports.systemRoot = systemRoot;
8
+ exports.powershellPath = powershellPath;
8
9
  exports.driveLedgerDir = driveLedgerDir;
9
10
  exports.helperCeilingMs = helperCeilingMs;
10
11
  exports.windowsPowerShellEnv = windowsPowerShellEnv;
@@ -1 +1 @@
1
- {"version":3,"file":"untrusted-exec.js","sourceRoot":"","sources":["../src/untrusted-exec.ts"],"names":[],"mappings":";;;AAiKA,sCAIC;AASD,gDAqBC;AAYD,8BAYC;AAiFD,gCAKC;AAuBD,wCAEC;AA6CD,0CAEC;AA4PD,oDAWC;AAhoBD,2DAA2C;AAC3C,6CAAyC;AACzC,qCAAsG;AACtG,qCAA0C;AAC1C,yCAAwC;AA8BxC;;;;;;;;;;;;;GAaG;AACU,QAAA,0BAA0B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AA0G1D;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,IAAmB,EAAE,UAAkB;IACnE,MAAM,MAAM,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5D,OAAO,UAAU,MAAM,IAAI,MAAM,EAAE,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,GAAW,EAAE,IAAuB;IACrE,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE;QAClC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QAChD,IAAI,GAAG,GAAG,GAAG,CAAC;QACd,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YACnB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC,CAAC;gBACb,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC1C,OAAO,GAAG,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjC,OAAO,GAAG,CAAC,CAAC;QACd,CAAC;QACD,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC;IAC9C,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,SAAS,CAAC,GAA2B;IACnD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,qBAAa,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IACD,4EAA4E;IAC5E,6BAA6B;IAC7B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACU,QAAA,aAAa,GAAsB;IAC9C,YAAY;IACZ,QAAQ;IACR,aAAa;IACb,MAAM;IACN,SAAS;IACT,SAAS;IACT,sBAAsB;IACtB,wBAAwB;IACxB,IAAI;IACJ,aAAa;IACb,SAAS;IACT,cAAc;IACd,iBAAiB;IACjB,aAAa;IACb,cAAc;IACd,MAAM;IACN,KAAK;CACN,CAAC;AAYF,2EAA2E;AAC3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,SAAgB,UAAU,CAAC,MAA0C,OAAO,CAAC,GAAG;IAC9E,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IACnC,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,IAAI,iBAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC5E,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,iBAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,cAAc;IACrB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,OAAO,IAAA,gBAAI,EAAC,GAAG,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc;IAC5B,OAAO,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,UAAU;IACjB,4EAA4E;IAC5E,OAAO,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;AAC1D,CAAC;AAUD;;;;;;;;GAQG;AACH,+EAA+E;AAClE,QAAA,oBAAoB,GAAG,KAAK,CAAC;AAE7B,QAAA,uBAAuB,GAAG,MAAM,CAAC;AAE9C;;;;;GAKG;AACU,QAAA,iBAAiB,GAAG,+BAAuB,CAAC;AAEzD;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,cAAc,GAAG,CAAC;IAChD,OAAO,+BAAuB,GAAG,cAAc,CAAC;AAClD,CAAC;AAED,MAAa,mBAAmB;IACD;IAA7B,YAA6B,OAAyB,EAAE;QAA3B,SAAI,GAAJ,IAAI,CAAuB;IAAG,CAAC;IAEpD,IAAI,CAAC,OAAgC,EAAE,cAAc,GAAG,CAAC;QAC/D,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QAChD;;;;;;;;;;;;;;;;WAgBG;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,EAAE;YAC1C,oEAAoE;YACpE,uDAAuD;YACvD,MAAM,KAAK,GAAG,IAAA,0BAAK,EACjB,cAAc,EAAE,EAChB,CAAC,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;YAChF,gEAAgE;YAChE,iEAAiE;YACjE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,oBAAoB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CACpF,CAAC;YACF,MAAM,MAAM,GAAG,CAAC,KAAkB,EAAQ,EAAE;gBAC1C,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,MAAM,CAAC,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC;YACF,MAAM,QAAQ,GAAgB;gBAC5B,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,QAAQ;gBACf,KAAK,EACH,gDAAgD,SAAS,MAAM;oBAC/D,gEAAgE;aACnE,CAAC;YACF;;;;;;;;;;eAUG;YACH,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC7B,IAAI,OAAO;oBAAE,OAAO;gBACpB,IAAI,CAAC;oBACH,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,CAAC;gBAAC,MAAM,CAAC;oBACP,8DAA8D;gBAChE,CAAC;gBACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,IAAI,OAAO;wBAAE,OAAO;oBACpB,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC,EAAE,4BAAoB,CAAC,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;oBACvB,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,IAAI,OAAO;wBAAE,OAAO;oBACpB,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,MAAM,GAAG,GAAa,EAAE,CAAC;YACzB,MAAM,GAAG,GAAa,EAAE,CAAC;YACzB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CACtB,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,2CAA2C,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CACvG,CAAC;YACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAC,CAAC;gBAC1C,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC;wBACL,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,QAAQ;wBACf,KAAK,EAAE,qDAAqD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG;qBACjG,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;QACtG,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/F,OAAO,KAAK,CAAC,EAAE;YACb,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE;YAC9C,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAA4B;QACpC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,yBAAyB;gBACjC,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,kEAAkE;aAC5E,CAAC;QACJ,CAAC;QACD,yEAAyE;QACzE,yEAAyE;QACzE,yBAAyB;QACzB,MAAM,GAAG,GAAG,IAAA,qBAAW,EAAC,IAAA,gBAAI,EAAC,IAAA,gBAAM,GAAE,EAAE,YAAY,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpC,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,SAAS,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC5B,IAAA,uBAAa,EAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;gBAC5B,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;gBAClD,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;gBACxB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,WAAW,EAAE,IAAI,CAAC,cAAc,IAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;gBAClF,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC3E,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;gBAC3B,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS;oBAC9B,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,cAAc,EAAE,EAAE,CAAC;gBAC1F,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU;gBACV,UAAU;gBACV,SAAS;gBACT,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B;YACD,+DAA+D;YAC/D,IAAI,CAAC,SAAS,CAAC,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC;gBACvC,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;wBAC7F,CAAC,CAAC,yBAAyB;wBAC3B,CAAC,CAAC,2BAA2B;oBAC/B,KAAK;oBACL,OAAO,EAAE,KAAK,CAAC,KAAK,IAAI,uCAAuC;iBAChE,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE;gBACjC,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC9B,IAAI,IAAI,IAAI,kCAA0B,EAAE,CAAC;wBACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACjC,MAAM,EAAE,GAAG,IAAA,kBAAQ,EAAC,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC5B,IAAI,CAAC;4BACH,IAAA,kBAAQ,EAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;wBAClC,CAAC;gCAAS,CAAC;4BACT,IAAA,mBAAS,EAAC,EAAE,CAAC,CAAC;wBAChB,CAAC;wBACD,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAChC,CAAC;oBACD;;;;;uBAKG;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,kCAA0B,GAAG,CAAC,CAAC,CAAC;oBACxD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChC,MAAM,EAAE,GAAG,IAAA,kBAAQ,EAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC5B,IAAI,CAAC;wBACH,IAAA,kBAAQ,EAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;wBAC/B,IAAA,kBAAQ,EAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;oBAC3C,CAAC;4BAAS,CAAC;wBACT,IAAA,mBAAS,EAAC,EAAE,CAAC,CAAC;oBAChB,CAAC;oBACD,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;oBAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,OAAO,mDAAmD,IAAI,oBAAoB,kCAA0B,kBAAkB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9L,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC;YACF,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC;gBAC7B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC;gBACxB,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC;gBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,KAAK,IAAI;gBACjC,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7F,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT;;;;;;;eAOG;YACH,IAAI,CAAC;gBACH,IAAA,gBAAM,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;YAChF,CAAC;YAAC,MAAM,CAAC;gBACP,qEAAqE;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,MAAM,CAAC,IAAmB,EAAE,UAAkB;QAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9F,OAAO,KAAK,CAAC,EAAE,CAAC;IAClB,CAAC;CACF;AApOD,kDAoOC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,oBAAoB;IAClC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG;QACnB,IAAI,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;QACrE,IAAA,gBAAI,EAAC,IAAI,EAAE,eAAe,EAAE,mBAAmB,EAAE,SAAS,CAAC;QAC3D,IAAA,gBAAI,EAAC,GAAG,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,CAAC;KAC9D;SACE,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;SACtC,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"untrusted-exec.js","sourceRoot":"","sources":["../src/untrusted-exec.ts"],"names":[],"mappings":"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"}
@@ -89,6 +89,14 @@ export declare class ProvisionBackoff {
89
89
  succeeded(): void;
90
90
  }
91
91
  export interface ProvisionGuard {
92
+ /**
93
+ * The last no-room sentence said, so a full drive is one line until the
94
+ * reason changes rather than one a minute. Built once per daemon, as the
95
+ * backoff is.
96
+ */
97
+ readonly noRoom?: {
98
+ said: string | null;
99
+ };
92
100
  /**
93
101
  * 🔴 A PERSON'S HOLD. `looply pause` writes the project's control file and
94
102
  * the autonomy tick reads it — but the checkout the tick asked for was made
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-provisioner.d.ts","sourceRoot":"","sources":["../src/workspace-provisioner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAA0B,MAAM,cAAc,CAAC;AAKjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,qFAAqF;IACrF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,qFAAqF;IACrF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;IAChC,oFAAoF;IACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IACzC,sGAAsG;IACtG,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CAC3C;AAuBD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,oBAAoB,CAoBtG;AAeD,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAEvF;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,gBAAgB;IAKzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,KAAK,CAAuB;gBAGjB,MAAM,SAAS,EACf,KAAK,SAAY;IAGpC,0EAA0E;IAC1E,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAInC,4EAA4E;IAC5E,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAO3B,SAAS,IAAI,IAAI;CAIlB;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAChC,WAAW,EAAE,oBAAoB,GAAG,IAAI,EACxC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC3B,KAAK,GAAE,cAAmB,GACzB,OAAO,CAAC;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAsC7D"}
1
+ {"version":3,"file":"workspace-provisioner.d.ts","sourceRoot":"","sources":["../src/workspace-provisioner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAA0B,MAAM,cAAc,CAAC;AAKjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,qFAAqF;IACrF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,qFAAqF;IACrF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;IAChC,oFAAoF;IACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IACzC,sGAAsG;IACtG,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CAC3C;AAuBD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,oBAAoB,CAoBtG;AAeD,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAEvF;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,gBAAgB;IAKzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,KAAK,CAAuB;gBAGjB,MAAM,SAAS,EACf,KAAK,SAAY;IAGpC,0EAA0E;IAC1E,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAInC,4EAA4E;IAC5E,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAO3B,SAAS,IAAI,IAAI;CAIlB;AAED,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC1C;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAChC,WAAW,EAAE,oBAAoB,GAAG,IAAI,EACxC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC3B,KAAK,GAAE,cAAmB,GACzB,OAAO,CAAC;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAqD7D"}
@@ -149,11 +149,29 @@ async function provisionOnce(request, provisioner, log, guard = {}) {
149
149
  try {
150
150
  const path = await provisioner();
151
151
  guard.backoff?.succeeded();
152
+ if (guard.noRoom)
153
+ guard.noRoom.said = null;
152
154
  log(`daemon : provisioned workspace ${path} ${request.because}`);
153
155
  // The path comes back so the caller can keep the reaper off it this cadence (M4-4).
154
156
  return { outcome: 'provisioned', path };
155
157
  }
156
158
  catch (e) {
159
+ /**
160
+ * ⚠️ NO ROOM IS NOT A FAILED ATTEMPT. Nothing was made, so nothing is left
161
+ * behind, and the backoff must not grow: once a person frees space, raises
162
+ * the cap or moves the folder, the very next cadence should make the
163
+ * checkout. The heartbeat carries the same sentence to the ticket.
164
+ */
165
+ if (e instanceof workspace_1.NoRoomForCheckoutError) {
166
+ if (guard.noRoom?.said !== e.message) {
167
+ log(`daemon : no new checkout ${request.because} — ${e.message}`);
168
+ if (guard.noRoom)
169
+ guard.noRoom.said = e.message;
170
+ }
171
+ return { outcome: 'deferred', path: null };
172
+ }
173
+ if (guard.noRoom)
174
+ guard.noRoom.said = null;
157
175
  const next = guard.backoff?.failed(now());
158
176
  const after = next === undefined ? '' : ` — not tried again until ${new Date(next).toISOString()}`;
159
177
  log(`daemon : could not provision a workspace ${request.because} — ${e.message}${after}`);
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-provisioner.js","sourceRoot":"","sources":["../src/workspace-provisioner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-provisioner.js","sourceRoot":"","sources":["../src/workspace-provisioner.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { GitDriver } from './git-driver';
2
2
  import { type Liveness, type ProbeFn as LeaseProbeFn } from './run-lease';
3
3
  import { type ControlKind } from './control-file';
4
4
  import type { LedgerFs } from './ledger-store';
5
+ import { DEFAULT_MIN_FREE_GB, MACHINE_SETTINGS_FILE } from './machine-settings';
5
6
  /**
6
7
  * WHERE A SECOND EXECUTION LIVES, AND WHO IS ALLOWED TO SAY SO.
7
8
  *
@@ -77,17 +78,18 @@ export declare function workspacesRoot(cwd: string, home?: string): string;
77
78
  */
78
79
  export declare function carryProjectConfig(projectRoot: string, checkoutDir: string): boolean;
79
80
  /** The machine-level settings file: `<home>/.looply/machine-settings.json`. */
80
- export declare const MACHINE_SETTINGS_FILE = "machine-settings.json";
81
- /** No new checkout is made when its drive has less free space than this (GB). */
82
- export declare const DEFAULT_MIN_FREE_GB = 20;
81
+ export { MACHINE_SETTINGS_FILE, DEFAULT_MIN_FREE_GB };
83
82
  /**
84
- * `minFreeGb` from the machine settings, else {@link DEFAULT_MIN_FREE_GB}. Zero
85
- * turns the check off; anything that is not a non-negative number throws, for
86
- * the same reason as `workspacesBase`.
83
+ * `minFreeGb` in effect: the machine's own file, else the remote machine
84
+ * setting, else {@link DEFAULT_MIN_FREE_GB}. Zero turns the check off; a local
85
+ * value that is not a non-negative number throws, for the same reason as
86
+ * `workspacesBase`.
87
87
  */
88
88
  export declare function minFreeGb(home?: string): number;
89
89
  /**
90
- * Why no checkout may be made under `root` right now, or `null` when one may.
90
+ * Why no checkout may be made under `root` right now, or `null` when one may:
91
+ * too little free space on its drive, or the checkouts cap reached
92
+ * (`machine-settings.ts`, `checkoutRoomProblem`).
91
93
  *
92
94
  * 🔴 A CHECKOUT IS ~0.8 GB AND THE DRIVE WAS NOT ASKED. On 2026-10-16 checkouts
93
95
  * kept being made until C: had 0 bytes, which also took down every other process
@@ -96,22 +98,37 @@ export declare function minFreeGb(home?: string): number;
96
98
  */
97
99
  export declare function roomForCheckout(root: string, home?: string, freeBytes?: (dir: string) => number): string | null;
98
100
  /**
99
- * The directory every project's workspaces root sits under.
101
+ * The directory every project's workspaces root sits under — where NEW
102
+ * checkouts go.
100
103
  *
101
104
  * 🔴 A CHECKOUT IS THE SIZE OF THE PROJECT PLUS ITS `node_modules` (Tabsy:
102
105
  * ~0.8 GB each), and it always landed on the home drive. On 2026-10-16 that
103
- * filled the owner's C: (about 100 GB of checkouts). `workspacesRoot` in
104
- * `<home>/.looply/machine-settings.json` moves them to another drive, e.g.
105
- * `{ "workspacesRoot": "D:\\looply-home\\workspaces" }`.
106
+ * filled the owner's C: (about 100 GB of checkouts). Precedence
107
+ * (`machine-settings.ts`): `LOOPLY_WORKSPACES_ROOT`, then `workspacesRoot` in
108
+ * `<home>/.looply/machine-settings.json`, then the folder the machine's owner
109
+ * set remotely (once this machine checked it), then `~/.looply/workspaces`.
106
110
  *
107
111
  * ⚠️ READ FROM THE HOME, NEVER FROM THE REPOSITORY. `.looply/config.yaml` lives
108
112
  * inside the worktree the model may edit, and this path is created, copied into
109
113
  * and deleted recursively.
110
114
  *
111
- * ⚠️ AN UNUSABLE SETTING THROWS. Falling back to the home drive silently is the
112
- * exact outcome the setting exists to prevent.
115
+ * ⚠️ AN UNUSABLE LOCAL SETTING THROWS. Falling back to the home drive silently
116
+ * is the exact outcome the setting exists to prevent. A refused REMOTE folder
117
+ * does not throw: the previous folder stays, and the refusal is reported.
118
+ *
119
+ * ⚠️ WHERE CHECKOUTS ALREADY ARE is `workspacesRoots`, not this: a change of
120
+ * folder applies to new checkouts only.
113
121
  */
114
122
  export declare function workspacesBase(home?: string): string;
123
+ /**
124
+ * Every folder this project's checkouts may sit in: where new ones go first,
125
+ * then every folder checkouts were made in before a change of setting. The
126
+ * reaper, the scheduler and the run locators look in all of them, so a change
127
+ * of folder never hides a checkout that is still running or left behind.
128
+ */
129
+ export declare function workspacesRoots(cwd: string, home?: string): string[];
130
+ /** The workspaces root that holds a checkout directory called `name`, current first. */
131
+ export declare function rootHolding(cwd: string, name: string, home?: string): string;
115
132
  /**
116
133
  * One live execution, as the project can see it.
117
134
  *
@@ -191,6 +208,9 @@ export type ProbeFn = LeaseProbeFn;
191
208
  export declare const nodeProbe: ProbeFn;
192
209
  export declare class WorkspaceError extends Error {
193
210
  }
211
+ /** Thrown when there is no room for a new checkout. Nothing was made, so nothing is left behind. */
212
+ export declare class NoRoomForCheckoutError extends WorkspaceError {
213
+ }
194
214
  /**
195
215
  * The registry of live executions for one project.
196
216
  *
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
package/dist/workspace.js CHANGED
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RunRegistry = exports.WorkspaceError = exports.nodeProbe = exports.DEFAULT_MIN_FREE_GB = exports.MACHINE_SETTINGS_FILE = exports.WORKSPACES_DIR = void 0;
3
+ exports.RunRegistry = exports.NoRoomForCheckoutError = exports.WorkspaceError = exports.nodeProbe = exports.DEFAULT_MIN_FREE_GB = exports.MACHINE_SETTINGS_FILE = exports.WORKSPACES_DIR = void 0;
4
4
  exports.forgetCreationMarker = forgetCreationMarker;
5
5
  exports.workspacesRoot = workspacesRoot;
6
6
  exports.carryProjectConfig = carryProjectConfig;
7
7
  exports.minFreeGb = minFreeGb;
8
8
  exports.roomForCheckout = roomForCheckout;
9
9
  exports.workspacesBase = workspacesBase;
10
+ exports.workspacesRoots = workspacesRoots;
11
+ exports.rootHolding = rootHolding;
10
12
  exports.requestControlEverywhere = requestControlEverywhere;
11
13
  exports.createWorkspace = createWorkspace;
12
14
  exports.reapableCheckout = reapableCheckout;
@@ -31,6 +33,9 @@ const run_lease_1 = require("./run-lease");
31
33
  const control_file_1 = require("./control-file");
32
34
  const workspace_residue_sweep_1 = require("./workspace-residue-sweep");
33
35
  const workspace_quarantine_1 = require("./workspace-quarantine");
36
+ const machine_settings_1 = require("./machine-settings");
37
+ Object.defineProperty(exports, "DEFAULT_MIN_FREE_GB", { enumerable: true, get: function () { return machine_settings_1.DEFAULT_MIN_FREE_GB; } });
38
+ Object.defineProperty(exports, "MACHINE_SETTINGS_FILE", { enumerable: true, get: function () { return machine_settings_1.MACHINE_SETTINGS_FILE; } });
34
39
  /**
35
40
  * WHERE A SECOND EXECUTION LIVES, AND WHO IS ALLOWED TO SAY SO.
36
41
  *
@@ -83,7 +88,7 @@ function forgetCreationMarker(cwd, name) {
83
88
  if (name === '' || name === '.' || name === '..' || /[\/]/.test(name)) {
84
89
  throw new WorkspaceError(`${JSON.stringify(name)} is not the name of a workspace`);
85
90
  }
86
- const at = (0, node_path_1.join)(workspacesRoot(cwd), name, git_driver_1.STATE_DIR, 'state', CREATING);
91
+ const at = (0, node_path_1.join)(rootHolding(cwd, name), name, git_driver_1.STATE_DIR, 'state', CREATING);
87
92
  try {
88
93
  (0, node_fs_1.unlinkSync)(at);
89
94
  return true;
@@ -161,42 +166,19 @@ function carryProjectConfig(projectRoot, checkoutDir) {
161
166
  (0, node_fs_1.cpSync)(from, to);
162
167
  return true;
163
168
  }
164
- /** The machine-level settings file: `<home>/.looply/machine-settings.json`. */
165
- exports.MACHINE_SETTINGS_FILE = 'machine-settings.json';
166
- /** No new checkout is made when its drive has less free space than this (GB). */
167
- exports.DEFAULT_MIN_FREE_GB = 20;
168
169
  /**
169
- * `minFreeGb` from the machine settings, else {@link DEFAULT_MIN_FREE_GB}. Zero
170
- * turns the check off; anything that is not a non-negative number throws, for
171
- * the same reason as `workspacesBase`.
170
+ * `minFreeGb` in effect: the machine's own file, else the remote machine
171
+ * setting, else {@link DEFAULT_MIN_FREE_GB}. Zero turns the check off; a local
172
+ * value that is not a non-negative number throws, for the same reason as
173
+ * `workspacesBase`.
172
174
  */
173
175
  function minFreeGb(home = (0, node_os_1.homedir)()) {
174
- const file = (0, node_path_1.join)(home, '.looply', exports.MACHINE_SETTINGS_FILE);
175
- let raw;
176
- try {
177
- raw = (0, node_fs_1.readFileSync)(file, 'utf8');
178
- }
179
- catch (e) {
180
- if (e.code === 'ENOENT')
181
- return exports.DEFAULT_MIN_FREE_GB;
182
- throw e;
183
- }
184
- let value;
185
- try {
186
- value = JSON.parse(raw)?.minFreeGb;
187
- }
188
- catch {
189
- throw new Error(`${file} is not valid JSON`);
190
- }
191
- if (value === undefined)
192
- return exports.DEFAULT_MIN_FREE_GB;
193
- if (typeof value !== 'number' || !Number.isFinite(value) || value < 0) {
194
- throw new Error(`${file}: "minFreeGb" must be a number of GB, 0 or more`);
195
- }
196
- return value;
176
+ return (0, machine_settings_1.effectiveWorkspaces)(home).minFreeGb;
197
177
  }
198
178
  /**
199
- * Why no checkout may be made under `root` right now, or `null` when one may.
179
+ * Why no checkout may be made under `root` right now, or `null` when one may:
180
+ * too little free space on its drive, or the checkouts cap reached
181
+ * (`machine-settings.ts`, `checkoutRoomProblem`).
200
182
  *
201
183
  * 🔴 A CHECKOUT IS ~0.8 GB AND THE DRIVE WAS NOT ASKED. On 2026-10-16 checkouts
202
184
  * kept being made until C: had 0 bytes, which also took down every other process
@@ -207,63 +189,62 @@ function roomForCheckout(root, home = (0, node_os_1.homedir)(), freeBytes = (dir
207
189
  const s = (0, node_fs_1.statfsSync)(dir);
208
190
  return Number(s.bavail) * Number(s.bsize);
209
191
  }) {
210
- const min = minFreeGb(home);
211
- if (min === 0)
212
- return null;
213
- const free = freeBytes(root) / 1e9;
214
- if (free >= min)
215
- return null;
216
- return (`not enough disk space for a new checkout: ${free.toFixed(1)} GB free where checkouts go (${root}), ` +
217
- `and at least ${min} GB must stay free. Free some space, or move checkouts to another drive ` +
218
- `("workspacesRoot" in ~/.looply/${exports.MACHINE_SETTINGS_FILE}).`);
192
+ return (0, machine_settings_1.checkoutRoomProblem)(root, (0, machine_settings_1.effectiveWorkspaces)(home), {
193
+ freeGb: (dir) => freeBytes(dir) / 1e9,
194
+ usage: (0, machine_settings_1.readCheckoutsUsage)(home),
195
+ });
219
196
  }
220
197
  /**
221
- * The directory every project's workspaces root sits under.
198
+ * The directory every project's workspaces root sits under — where NEW
199
+ * checkouts go.
222
200
  *
223
201
  * 🔴 A CHECKOUT IS THE SIZE OF THE PROJECT PLUS ITS `node_modules` (Tabsy:
224
202
  * ~0.8 GB each), and it always landed on the home drive. On 2026-10-16 that
225
- * filled the owner's C: (about 100 GB of checkouts). `workspacesRoot` in
226
- * `<home>/.looply/machine-settings.json` moves them to another drive, e.g.
227
- * `{ "workspacesRoot": "D:\\looply-home\\workspaces" }`.
203
+ * filled the owner's C: (about 100 GB of checkouts). Precedence
204
+ * (`machine-settings.ts`): `LOOPLY_WORKSPACES_ROOT`, then `workspacesRoot` in
205
+ * `<home>/.looply/machine-settings.json`, then the folder the machine's owner
206
+ * set remotely (once this machine checked it), then `~/.looply/workspaces`.
228
207
  *
229
208
  * ⚠️ READ FROM THE HOME, NEVER FROM THE REPOSITORY. `.looply/config.yaml` lives
230
209
  * inside the worktree the model may edit, and this path is created, copied into
231
210
  * and deleted recursively.
232
211
  *
233
- * ⚠️ AN UNUSABLE SETTING THROWS. Falling back to the home drive silently is the
234
- * exact outcome the setting exists to prevent.
212
+ * ⚠️ AN UNUSABLE LOCAL SETTING THROWS. Falling back to the home drive silently
213
+ * is the exact outcome the setting exists to prevent. A refused REMOTE folder
214
+ * does not throw: the previous folder stays, and the refusal is reported.
215
+ *
216
+ * ⚠️ WHERE CHECKOUTS ALREADY ARE is `workspacesRoots`, not this: a change of
217
+ * folder applies to new checkouts only.
235
218
  */
236
219
  function workspacesBase(home = (0, node_os_1.homedir)()) {
237
- // `LOOPLY_WORKSPACES_ROOT` wins over the file, for a machine whose home is not writable or is shared.
238
- const fromEnv = process.env.LOOPLY_WORKSPACES_ROOT;
239
- if (fromEnv !== undefined && fromEnv !== '') {
240
- if (!(0, node_path_1.isAbsolute)(fromEnv))
241
- throw new Error('LOOPLY_WORKSPACES_ROOT must be an absolute path');
242
- return fromEnv;
243
- }
244
- const file = (0, node_path_1.join)(home, '.looply', exports.MACHINE_SETTINGS_FILE);
245
- let raw;
246
- try {
247
- raw = (0, node_fs_1.readFileSync)(file, 'utf8');
248
- }
249
- catch (e) {
250
- if (e.code === 'ENOENT')
251
- return (0, node_path_1.join)(home, '.looply', exports.WORKSPACES_DIR);
252
- throw e;
253
- }
254
- let value;
255
- try {
256
- value = JSON.parse(raw)?.workspacesRoot;
257
- }
258
- catch {
259
- throw new Error(`${file} is not valid JSON, so where workspaces go is unknown`);
260
- }
261
- if (value === undefined)
262
- return (0, node_path_1.join)(home, '.looply', exports.WORKSPACES_DIR);
263
- if (typeof value !== 'string' || !(0, node_path_1.isAbsolute)(value)) {
264
- throw new Error(`${file}: "workspacesRoot" must be an absolute path`);
220
+ return (0, machine_settings_1.effectiveWorkspaces)(home).base;
221
+ }
222
+ /**
223
+ * Every folder this project's checkouts may sit in: where new ones go first,
224
+ * then every folder checkouts were made in before a change of setting. The
225
+ * reaper, the scheduler and the run locators look in all of them, so a change
226
+ * of folder never hides a checkout that is still running or left behind.
227
+ */
228
+ function workspacesRoots(cwd, home = (0, node_os_1.homedir)()) {
229
+ const current = workspacesRoot(cwd, home);
230
+ const key = (0, node_path_1.basename)(current);
231
+ const out = [current];
232
+ const seen = new Set([(0, node_path_1.resolve)(current).toLowerCase()]);
233
+ for (const base of (0, machine_settings_1.knownWorkspacesBases)(home)) {
234
+ const root = (0, node_path_1.join)(base, key);
235
+ const k = (0, node_path_1.resolve)(root).toLowerCase();
236
+ if (seen.has(k))
237
+ continue;
238
+ seen.add(k);
239
+ if ((0, node_fs_1.existsSync)(root))
240
+ out.push(root);
265
241
  }
266
- return value;
242
+ return out;
243
+ }
244
+ /** The workspaces root that holds a checkout directory called `name`, current first. */
245
+ function rootHolding(cwd, name, home = (0, node_os_1.homedir)()) {
246
+ const roots = workspacesRoots(cwd, home);
247
+ return roots.find((r) => (0, node_fs_1.existsSync)((0, node_path_1.join)(r, name))) ?? roots[0];
267
248
  }
268
249
  exports.nodeProbe = run_lease_1.nodeProbe;
269
250
  /**
@@ -308,6 +289,10 @@ function safeRunId(runId) {
308
289
  class WorkspaceError extends Error {
309
290
  }
310
291
  exports.WorkspaceError = WorkspaceError;
292
+ /** Thrown when there is no room for a new checkout. Nothing was made, so nothing is left behind. */
293
+ class NoRoomForCheckoutError extends WorkspaceError {
294
+ }
295
+ exports.NoRoomForCheckoutError = NoRoomForCheckoutError;
311
296
  /**
312
297
  * The registry of live executions for one project.
313
298
  *
@@ -1284,9 +1269,18 @@ carry = []) {
1284
1269
  if ((0, node_fs_1.existsSync)(path)) {
1285
1270
  throw new WorkspaceError(`a workspace already exists at ${path} — refusing to reuse it`);
1286
1271
  }
1272
+ /**
1273
+ * 🔴 THE CAP NEEDS A RECENT MEASUREMENT. The heartbeat's is up to ten minutes
1274
+ * old; a cap is checked against one at most two minutes old, measured here
1275
+ * when it is older (it walks every checkout, so it is not done otherwise).
1276
+ */
1277
+ if ((0, machine_settings_1.effectiveWorkspaces)(home).capGb !== null)
1278
+ await (0, machine_settings_1.refreshCheckoutsUsage)(home, { maxAgeMs: 2 * 60_000 });
1287
1279
  const room = roomForCheckout(root, home);
1288
1280
  if (room !== null)
1289
- throw new WorkspaceError(room);
1281
+ throw new NoRoomForCheckoutError(room);
1282
+ // Remembered BEFORE the checkout exists, so a change of folder later can never hide it from the reaper.
1283
+ (0, machine_settings_1.rememberWorkspacesBase)((0, node_path_1.dirname)(root), home);
1290
1284
  await git.addWorktree(path, branch, baseSha);
1291
1285
  /**
1292
1286
  * Immediately after the checkout and BEFORE the claim below, so a workspace is
@@ -1527,10 +1521,11 @@ home = (0, node_os_1.homedir)()) {
1527
1521
  * on macOS `/var` is a link to `/private/var`, and comparing a resolved child
1528
1522
  * against an unresolved parent would refuse every legitimate reap there.
1529
1523
  */
1530
- const rootReal = realpathDeep(workspacesRoot(cwd, home));
1524
+ // Any folder this project's checkouts were made in: a change of setting applies to new checkouts only.
1525
+ const rootsReal = workspacesRoots(cwd, home).map(realpathDeep);
1531
1526
  const declared = (0, node_path_1.resolve)(record.workspace);
1532
1527
  const ws = realpathDeep(declared);
1533
- if (!contains(rootReal, ws)) {
1528
+ if (!rootsReal.some((rootReal) => contains(rootReal, ws))) {
1534
1529
  return {
1535
1530
  ok: false,
1536
1531
  because: (ws === declared
@@ -1925,21 +1920,24 @@ carried = []) {
1925
1920
  * which is the person's and which nothing here may ever remove.
1926
1921
  */
1927
1922
  function abandonedWorkspaces(cwd, registry, probe = exports.nodeProbe, home = (0, node_os_1.homedir)()) {
1928
- const root = workspacesRoot(cwd, home);
1929
- let names;
1930
- try {
1931
- names = (0, node_fs_1.readdirSync)(root);
1932
- }
1933
- catch {
1934
- return { abandoned: [], busy: [] };
1923
+ // Every folder this project's checkouts were made in, so a change of setting
1924
+ // leaves the old ones to be reaped where they are.
1925
+ const paths = [];
1926
+ for (const root of workspacesRoots(cwd, home)) {
1927
+ try {
1928
+ for (const name of (0, node_fs_1.readdirSync)(root))
1929
+ paths.push((0, node_path_1.join)(root, name));
1930
+ }
1931
+ catch {
1932
+ /* a root that is not there holds nothing */
1933
+ }
1935
1934
  }
1936
1935
  const busy = [];
1937
1936
  const claimed = new Set(registry
1938
1937
  .list()
1939
1938
  .flatMap((e) => (e.kind === 'unreadable' ? [] : [(0, node_path_1.resolve)(e.record.workspace).toLowerCase()])));
1940
1939
  const out = [];
1941
- for (const name of names) {
1942
- const path = (0, node_path_1.join)(root, name);
1940
+ for (const path of paths) {
1943
1941
  try {
1944
1942
  if (!(0, node_fs_1.lstatSync)(path).isDirectory())
1945
1943
  continue;
@@ -2070,7 +2068,7 @@ function creationMarkerHolder(cwd, name, probe = exports.nodeProbe) {
2070
2068
  if (name === '' || /[\/]/.test(name))
2071
2069
  return null;
2072
2070
  try {
2073
- const at = (0, node_path_1.join)(workspacesRoot(cwd), name, git_driver_1.STATE_DIR, 'state', CREATING);
2071
+ const at = (0, node_path_1.join)(rootHolding(cwd, name), name, git_driver_1.STATE_DIR, 'state', CREATING);
2074
2072
  const pid = JSON.parse((0, node_fs_1.readFileSync)(at, 'utf8')).pid;
2075
2073
  return typeof pid === 'number' ? { pid, liveness: probe(pid) } : null;
2076
2074
  }
@@ -2138,9 +2136,8 @@ async function reapAbandoned(git, cwd, path, probe = exports.nodeProbe, gitInWor
2138
2136
  * itself. Passed through to `workspaceResidue`, which explains why.
2139
2137
  */
2140
2138
  carried = []) {
2141
- const rootReal = realpathDeep(workspacesRoot(cwd, home));
2142
2139
  const real = realpathDeep(path);
2143
- if (!contains(rootReal, real)) {
2140
+ if (!workspacesRoots(cwd, home).map(realpathDeep).some((rootReal) => contains(rootReal, real))) {
2144
2141
  return { reaped: false, because: `${path} is not under this project's workspaces root` };
2145
2142
  }
2146
2143
  if (checkoutBusy((0, node_path_1.join)(path, git_driver_1.STATE_DIR, 'state'), probe)) {