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.
- package/dist/.src-hash +1 -1
- package/dist/bin.d.ts.map +1 -1
- package/dist/bin.js +9 -1
- package/dist/bin.js.map +1 -1
- package/dist/branch-delivery-wiring.d.ts +41 -0
- package/dist/branch-delivery-wiring.d.ts.map +1 -0
- package/dist/branch-delivery-wiring.js +85 -0
- package/dist/branch-delivery-wiring.js.map +1 -0
- package/dist/branch-delivery.d.ts +275 -0
- package/dist/branch-delivery.d.ts.map +1 -0
- package/dist/branch-delivery.js +659 -0
- package/dist/branch-delivery.js.map +1 -0
- package/dist/config.d.ts +20 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +24 -0
- package/dist/config.js.map +1 -1
- package/dist/coordinator-state.d.ts.map +1 -1
- package/dist/coordinator-state.js +28 -18
- package/dist/coordinator-state.js.map +1 -1
- package/dist/daemon-cmd.d.ts.map +1 -1
- package/dist/daemon-cmd.js +64 -5
- package/dist/daemon-cmd.js.map +1 -1
- package/dist/daemon-lock.d.ts +65 -2
- package/dist/daemon-lock.d.ts.map +1 -1
- package/dist/daemon-lock.js +149 -5
- package/dist/daemon-lock.js.map +1 -1
- package/dist/daemon.d.ts +12 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +23 -3
- package/dist/daemon.js.map +1 -1
- package/dist/deliver-cmd.d.ts +41 -0
- package/dist/deliver-cmd.d.ts.map +1 -0
- package/dist/deliver-cmd.js +189 -0
- package/dist/deliver-cmd.js.map +1 -0
- package/dist/delivery-rules.d.ts +71 -0
- package/dist/delivery-rules.d.ts.map +1 -0
- package/dist/delivery-rules.js +186 -0
- package/dist/delivery-rules.js.map +1 -0
- package/dist/delivery-settings-cache.d.ts +35 -0
- package/dist/delivery-settings-cache.d.ts.map +1 -0
- package/dist/delivery-settings-cache.js +119 -0
- package/dist/delivery-settings-cache.js.map +1 -0
- package/dist/github-api.d.ts +99 -0
- package/dist/github-api.d.ts.map +1 -0
- package/dist/github-api.js +226 -0
- package/dist/github-api.js.map +1 -0
- package/dist/goal-runs.d.ts +2 -2
- package/dist/goal-runs.d.ts.map +1 -1
- package/dist/goal-runs.js +13 -11
- package/dist/goal-runs.js.map +1 -1
- package/dist/machine-settings.d.ts +188 -0
- package/dist/machine-settings.d.ts.map +1 -0
- package/dist/machine-settings.js +658 -0
- package/dist/machine-settings.js.map +1 -0
- package/dist/project-terminal.d.ts +6 -0
- package/dist/project-terminal.d.ts.map +1 -1
- package/dist/project-terminal.js +3 -0
- package/dist/project-terminal.js.map +1 -1
- package/dist/run-ending-locator.d.ts.map +1 -1
- package/dist/run-ending-locator.js +5 -3
- package/dist/run-ending-locator.js.map +1 -1
- package/dist/serve-cmd.d.ts +8 -0
- package/dist/serve-cmd.d.ts.map +1 -1
- package/dist/serve-cmd.js +12 -0
- package/dist/serve-cmd.js.map +1 -1
- package/dist/server-client.d.ts +29 -2
- package/dist/server-client.d.ts.map +1 -1
- package/dist/server-client.js +39 -2
- package/dist/server-client.js.map +1 -1
- package/dist/stale-run-sweep.js +11 -10
- package/dist/stale-run-sweep.js.map +1 -1
- package/dist/untrusted-exec.d.ts +11 -0
- package/dist/untrusted-exec.d.ts.map +1 -1
- package/dist/untrusted-exec.js +1 -0
- package/dist/untrusted-exec.js.map +1 -1
- package/dist/workspace-provisioner.d.ts +8 -0
- package/dist/workspace-provisioner.d.ts.map +1 -1
- package/dist/workspace-provisioner.js +18 -0
- package/dist/workspace-provisioner.js.map +1 -1
- package/dist/workspace.d.ts +33 -13
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +89 -92
- package/dist/workspace.js.map +1 -1
- package/package.json +2 -2
package/dist/untrusted-exec.d.ts
CHANGED
|
@@ -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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"}
|
package/dist/untrusted-exec.js
CHANGED
|
@@ -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":"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"}
|
|
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,
|
|
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":";;;AA0FA,4DAoBC;
|
|
1
|
+
{"version":3,"file":"workspace-provisioner.js","sourceRoot":"","sources":["../src/workspace-provisioner.ts"],"names":[],"mappings":"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"}
|
package/dist/workspace.d.ts
CHANGED
|
@@ -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
|
|
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`
|
|
85
|
-
* turns the check off;
|
|
86
|
-
* the same reason as
|
|
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).
|
|
104
|
-
*
|
|
105
|
-
*
|
|
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
|
|
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
|
*
|
package/dist/workspace.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,SAAS,EAA2C,MAAM,cAAc,CAAC;AAElF,OAAO,EAAwC,KAAK,QAAQ,EAAE,KAAK,OAAO,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AAChH,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
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)(
|
|
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`
|
|
170
|
-
* turns the check off;
|
|
171
|
-
* the same reason as
|
|
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
|
-
|
|
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
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
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).
|
|
226
|
-
*
|
|
227
|
-
*
|
|
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
|
|
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
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
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
|
|
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)(
|
|
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)) {
|