@claudexor/workspace 5.0.1 → 5.1.0
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/cleanup-fault.d.ts +9 -0
- package/dist/cleanup-fault.d.ts.map +1 -1
- package/dist/cleanup-fault.js +21 -0
- package/dist/cleanup-fault.js.map +1 -1
- package/dist/continuation-evidence.d.ts +66 -8
- package/dist/continuation-evidence.d.ts.map +1 -1
- package/dist/continuation-evidence.js +32 -14
- package/dist/continuation-evidence.js.map +1 -1
- package/dist/continuation-sources.d.ts +1 -1
- package/dist/directory-workspace.d.ts +6 -1
- package/dist/directory-workspace.d.ts.map +1 -1
- package/dist/directory-workspace.js +20 -0
- package/dist/directory-workspace.js.map +1 -1
- package/dist/envelope-recovery.d.ts +25 -0
- package/dist/envelope-recovery.d.ts.map +1 -1
- package/dist/envelope-recovery.js +61 -1
- package/dist/envelope-recovery.js.map +1 -1
- package/dist/git.d.ts +10 -3
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +39 -10
- package/dist/git.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/isolated-clone-content.d.ts +29 -0
- package/dist/isolated-clone-content.d.ts.map +1 -0
- package/dist/isolated-clone-content.js +103 -0
- package/dist/isolated-clone-content.js.map +1 -0
- package/dist/lanes.d.ts +4 -4
- package/dist/lanes.d.ts.map +1 -1
- package/dist/lanes.js +7 -7
- package/dist/lanes.js.map +1 -1
- package/dist/manager.d.ts +5 -11
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +21 -33
- package/dist/manager.js.map +1 -1
- package/dist/object-store-retire.d.ts +17 -0
- package/dist/object-store-retire.d.ts.map +1 -0
- package/dist/object-store-retire.js +74 -0
- package/dist/object-store-retire.js.map +1 -0
- package/dist/object-store.d.ts +4 -0
- package/dist/object-store.d.ts.map +1 -1
- package/dist/object-store.js +13 -2
- package/dist/object-store.js.map +1 -1
- package/dist/raw-patch.d.ts +19 -1
- package/dist/raw-patch.d.ts.map +1 -1
- package/dist/raw-patch.js +47 -24
- package/dist/raw-patch.js.map +1 -1
- package/dist/retained-envelopes.d.ts.map +1 -1
- package/dist/retained-envelopes.js +6 -2
- package/dist/retained-envelopes.js.map +1 -1
- package/package.json +5 -5
package/dist/cleanup-fault.d.ts
CHANGED
|
@@ -15,4 +15,13 @@ export interface HeldScratch {
|
|
|
15
15
|
* threw: its fault is noted beside that outcome ({@link noteCleanupFault}).
|
|
16
16
|
*/
|
|
17
17
|
export declare function withDisposableScratch<T>(body: (held: HeldScratch) => Promise<T>): Promise<T>;
|
|
18
|
+
/**
|
|
19
|
+
* An envelope whose creation failed before it was returned never started: no harness
|
|
20
|
+
* ran in it, and no caller holds it to dispose of. Its creator, which made `base` in
|
|
21
|
+
* this same call, removes it whole (#501); the orphan sweeper keeps a directory whose
|
|
22
|
+
* creating process is alive, so nothing else would. A removal that fails leaves it,
|
|
23
|
+
* keeps `refusal` as the outcome and says so: the fault is noted beside it and named
|
|
24
|
+
* after its message. Returns what to throw.
|
|
25
|
+
*/
|
|
26
|
+
export declare function discardUnstartedEnvelope(base: string, refusal: unknown): unknown;
|
|
18
27
|
//# sourceMappingURL=cleanup-fault.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup-fault.d.ts","sourceRoot":"","sources":["../src/cleanup-fault.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAQvE;AAED,uEAAuE;AACvE,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GACtC,OAAO,CAAC,CAAC,CAAC,CAeZ"}
|
|
1
|
+
{"version":3,"file":"cleanup-fault.d.ts","sourceRoot":"","sources":["../src/cleanup-fault.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAQvE;AAED,uEAAuE;AACvE,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GACtC,OAAO,CAAC,CAAC,CAAC,CAeZ;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAWhF"}
|
package/dist/cleanup-fault.js
CHANGED
|
@@ -42,4 +42,25 @@ export async function withDisposableScratch(body) {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* An envelope whose creation failed before it was returned never started: no harness
|
|
47
|
+
* ran in it, and no caller holds it to dispose of. Its creator, which made `base` in
|
|
48
|
+
* this same call, removes it whole (#501); the orphan sweeper keeps a directory whose
|
|
49
|
+
* creating process is alive, so nothing else would. A removal that fails leaves it,
|
|
50
|
+
* keeps `refusal` as the outcome and says so: the fault is noted beside it and named
|
|
51
|
+
* after its message. Returns what to throw.
|
|
52
|
+
*/
|
|
53
|
+
export function discardUnstartedEnvelope(base, refusal) {
|
|
54
|
+
try {
|
|
55
|
+
rmSync(base, { recursive: true, force: true });
|
|
56
|
+
}
|
|
57
|
+
catch (fault) {
|
|
58
|
+
noteCleanupFault(refusal, fault);
|
|
59
|
+
if (refusal instanceof Error) {
|
|
60
|
+
const why = fault instanceof Error ? fault.message : String(fault);
|
|
61
|
+
refusal.message = `${refusal.message}; its never-started envelope ${base} could not be removed: ${why}`;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return refusal;
|
|
65
|
+
}
|
|
45
66
|
//# sourceMappingURL=cleanup-fault.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup-fault.js","sourceRoot":"","sources":["../src/cleanup-fault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,KAAc;IAC/D,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO;IACnF,IAAI,cAAc,IAAI,OAAO;QAAE,OAAO;IACtC,IAAI,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;AACH,CAAC;AAOD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAuC;IAEvC,MAAM,IAAI,GAAgB,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACxC,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,KAAK,CAAC;QAChB,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,GAAG;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"cleanup-fault.js","sourceRoot":"","sources":["../src/cleanup-fault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,KAAc;IAC/D,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO;IACnF,IAAI,cAAc,IAAI,OAAO;QAAE,OAAO;IACtC,IAAI,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;AACH,CAAC;AAOD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAuC;IAEvC,MAAM,IAAI,GAAgB,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACxC,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,KAAK,CAAC;QAChB,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,GAAG;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY,EAAE,OAAgB;IACrE,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjC,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO,CAAC,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,gCAAgC,IAAI,0BAA0B,GAAG,EAAE,CAAC;QAC1G,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -10,14 +10,18 @@ interface HeldSession {
|
|
|
10
10
|
* Recorded assistant output that what a run carries forward does not
|
|
11
11
|
* represent, each block once under its attempt and native try (its process
|
|
12
12
|
* session). The represented try is the last accepted try of
|
|
13
|
-
* `representedAttempt`, whose answer or report is carried: its last typed
|
|
14
|
-
* final (AnswerAssembly's answer)
|
|
15
|
-
* its other narration and earlier
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
13
|
+
* `representedAttempt`, whose answer or report is carried: only its last typed
|
|
14
|
+
* final (AnswerAssembly's answer) is left out, as one block with its own keyed
|
|
15
|
+
* and exact adjacent streamed forms; its other narration and earlier
|
|
16
|
+
* native-turn finals stay (with no typed final its joined narration is the
|
|
17
|
+
* carried answer, so the whole try is left out). Identity decides, never text:
|
|
18
|
+
* equal or contained words elsewhere stay, and without a represented try
|
|
19
|
+
* nothing is left out. Read from events the caller already holds.
|
|
20
|
+
*
|
|
21
|
+
* `_carried`, the carried text earlier callers pass, is accepted so they still
|
|
22
|
+
* compile and is ignored: that prose identifies no recorded event (#568).
|
|
19
23
|
*/
|
|
20
|
-
export declare function unrepresentedOutput(events: readonly RunEvent[], facts: RunExecutionFacts, representedAttempt: string | null,
|
|
24
|
+
export declare function unrepresentedOutput(events: readonly RunEvent[], facts: RunExecutionFacts, representedAttempt: string | null, _carried?: string): string | null;
|
|
21
25
|
/**
|
|
22
26
|
* Whether a run is its own continuation source: it declared a terminal block,
|
|
23
27
|
* holds a carrying session or recorded its own work. The successor's planner
|
|
@@ -29,6 +33,21 @@ export declare function ownsContinuationSource(evidence: {
|
|
|
29
33
|
held: HeldSession | null;
|
|
30
34
|
hasEvidence: boolean;
|
|
31
35
|
}): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* A run's recorded assistant output, by one rule for every reader that carries
|
|
38
|
+
* it forward (a `continueFrom` successor, a thread's next lane): its
|
|
39
|
+
* `final/retained-output.md` exactly as stored, else the same projection of its
|
|
40
|
+
* event log, for a run whose terminal never wrote that file (an engine restart
|
|
41
|
+
* interrupted it, or the write failed). `source` is the file the text is read
|
|
42
|
+
* or rendered from; null when neither holds any output.
|
|
43
|
+
*/
|
|
44
|
+
export declare function recordedOutput(runDir: string, log?: () => {
|
|
45
|
+
events: RunEvent[];
|
|
46
|
+
malformed: number;
|
|
47
|
+
}): {
|
|
48
|
+
text: string;
|
|
49
|
+
source: string;
|
|
50
|
+
} | null;
|
|
32
51
|
/**
|
|
33
52
|
* The source a status projection names, by the planner's own rule: the
|
|
34
53
|
* carrying session and whether the run is its own source. A declared terminal
|
|
@@ -42,7 +61,7 @@ export declare function continuationSource(runDir: string, facts?: () => RunExec
|
|
|
42
61
|
};
|
|
43
62
|
export declare function readContinuationEvidence(runDir: string): {
|
|
44
63
|
resumable: {
|
|
45
|
-
cause: "cancelled" | "context_exhausted" | "host_restart" | "input_required" | "other" | "permission_denied" | "pinned_limit" | "pool_exhausted" | "transport" | "vendor_limit" | "wall_clock";
|
|
64
|
+
cause: "cancelled" | "context_exhausted" | "host_restart" | "input_required" | "other" | "permission_denied" | "pinned_limit" | "pool_exhausted" | "transport" | "turn_limit" | "vendor_limit" | "wall_clock";
|
|
46
65
|
resetsAt: string | null;
|
|
47
66
|
limitWindow: string | null;
|
|
48
67
|
limitEvidence: "unspecified" | "window" | null;
|
|
@@ -90,6 +109,10 @@ export declare function readContinuationEvidence(runDir: string): {
|
|
|
90
109
|
native_code: "grok_credential_source_unconfirmed";
|
|
91
110
|
source: "grok_init";
|
|
92
111
|
reported_source: string;
|
|
112
|
+
} | {
|
|
113
|
+
kind: "vendor_not_retryable";
|
|
114
|
+
source: "agy_stderr";
|
|
115
|
+
error_id: string | null;
|
|
93
116
|
} | undefined;
|
|
94
117
|
effort_resolution?: {
|
|
95
118
|
requested: string | null;
|
|
@@ -170,10 +193,23 @@ export declare function readContinuationEvidence(runDir: string): {
|
|
|
170
193
|
satisfied: boolean;
|
|
171
194
|
status: "attempted" | "failed" | "none" | "satisfied" | "unverified";
|
|
172
195
|
verification: "dispatched" | "none" | "verified";
|
|
196
|
+
verified_content: "page" | "search_results" | null;
|
|
173
197
|
tool: string | null;
|
|
174
198
|
target: string | null;
|
|
175
199
|
error_summary: string | null;
|
|
200
|
+
observation: {
|
|
201
|
+
evidence: "tool_calls";
|
|
202
|
+
network: "not_measured";
|
|
203
|
+
};
|
|
176
204
|
};
|
|
205
|
+
route_controls?: {
|
|
206
|
+
web_mechanism: "native" | "none" | "tools" | "uncontrolled";
|
|
207
|
+
access: "full" | "inherit_native" | "readonly" | "workspace_write";
|
|
208
|
+
native_access: string | null;
|
|
209
|
+
access_mechanism: "fs_sandbox" | "native_settings" | "none" | "permission_deny" | "tool_allowlist" | "tool_policy";
|
|
210
|
+
} | undefined;
|
|
211
|
+
native_session_started?: boolean | undefined;
|
|
212
|
+
harness_home_isolated?: boolean | undefined;
|
|
177
213
|
tool_errors: {
|
|
178
214
|
tool: string;
|
|
179
215
|
kind: "command" | "file" | "mcp" | "other" | "search" | "web";
|
|
@@ -184,6 +220,23 @@ export declare function readContinuationEvidence(runDir: string): {
|
|
|
184
220
|
}[];
|
|
185
221
|
tool_errors_total: number;
|
|
186
222
|
unrecovered_tool_errors: number;
|
|
223
|
+
reported_command_outcomes?: {
|
|
224
|
+
total: number;
|
|
225
|
+
recent: {
|
|
226
|
+
tool: string;
|
|
227
|
+
target: string | null;
|
|
228
|
+
tool_use_id: string;
|
|
229
|
+
command_outcome: {
|
|
230
|
+
state: "backgrounded" | "completion_reported" | "exited" | "timed_out" | "unknown";
|
|
231
|
+
signal?: string | undefined;
|
|
232
|
+
timeout_ms?: number | undefined;
|
|
233
|
+
background_reason?: "requested" | "timeout" | undefined;
|
|
234
|
+
shell_id?: string | undefined;
|
|
235
|
+
pid?: number | undefined;
|
|
236
|
+
completion_status?: "aborted" | "error" | "success" | undefined;
|
|
237
|
+
};
|
|
238
|
+
}[];
|
|
239
|
+
} | undefined;
|
|
187
240
|
statusless_tool_results: number;
|
|
188
241
|
dropped_events: number;
|
|
189
242
|
transient_failures: {
|
|
@@ -228,6 +281,11 @@ export declare function readContinuationEvidence(runDir: string): {
|
|
|
228
281
|
satisfied: boolean;
|
|
229
282
|
failed: boolean;
|
|
230
283
|
unused: boolean;
|
|
284
|
+
startup?: {
|
|
285
|
+
status: "cancelled" | "failed" | "not_observed" | "ready" | "starting";
|
|
286
|
+
waited_ms: number;
|
|
287
|
+
error: string | null;
|
|
288
|
+
} | undefined;
|
|
231
289
|
} | undefined;
|
|
232
290
|
usage: {
|
|
233
291
|
input_tokens: number | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continuation-evidence.d.ts","sourceRoot":"","sources":["../src/continuation-evidence.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAgB,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG9F,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAO5E;AAYD,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,cAAc,CAAC;CACzB;AA2DD
|
|
1
|
+
{"version":3,"file":"continuation-evidence.d.ts","sourceRoot":"","sources":["../src/continuation-evidence.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAgB,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG9F,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAO5E;AAYD,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,cAAc,CAAC;CACzB;AA2DD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,QAAQ,EAAE,EAC3B,KAAK,EAAE,iBAAiB,EACxB,kBAAkB,EAAE,MAAM,GAAG,IAAI,EACjC,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAQf;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE;IAC/C,SAAS,EAAE,YAAY,GAAG,SAAS,CAAC;IACpC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB,GAAG,OAAO,CAEV;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,GAAG,GAAE,MAAM;IAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CACL,GAC5C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAOzC;AAwBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,iBAAiB,GAC9B;IAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAgB7C;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CtD"}
|
|
@@ -3,7 +3,7 @@ import { existsSync, readdirSync } from "node:fs";
|
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { parse as yamlParse } from "yaml";
|
|
5
5
|
import { RunResumable, RunTelemetry, SessionCapsule } from "@claudexor/schema";
|
|
6
|
-
import { readRunEvents, retainedOutput } from "@claudexor/event-log";
|
|
6
|
+
import { RETAINED_OUTPUT_PATH, readRunEvents, retainedOutput } from "@claudexor/event-log";
|
|
7
7
|
import { readTextSafe } from "@claudexor/util";
|
|
8
8
|
import { carryingAttempt, recordedSessionMemory, runExecutionFacts, uncoveredAttempts, } from "./continuation-facts.js";
|
|
9
9
|
import { readContinuationSources } from "./continuation-sources.js";
|
|
@@ -77,23 +77,24 @@ function terminalRecords(runDir) {
|
|
|
77
77
|
* Recorded assistant output that what a run carries forward does not
|
|
78
78
|
* represent, each block once under its attempt and native try (its process
|
|
79
79
|
* session). The represented try is the last accepted try of
|
|
80
|
-
* `representedAttempt`, whose answer or report is carried: its last typed
|
|
81
|
-
* final (AnswerAssembly's answer)
|
|
82
|
-
* its other narration and earlier
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
80
|
+
* `representedAttempt`, whose answer or report is carried: only its last typed
|
|
81
|
+
* final (AnswerAssembly's answer) is left out, as one block with its own keyed
|
|
82
|
+
* and exact adjacent streamed forms; its other narration and earlier
|
|
83
|
+
* native-turn finals stay (with no typed final its joined narration is the
|
|
84
|
+
* carried answer, so the whole try is left out). Identity decides, never text:
|
|
85
|
+
* equal or contained words elsewhere stay, and without a represented try
|
|
86
|
+
* nothing is left out. Read from events the caller already holds.
|
|
87
|
+
*
|
|
88
|
+
* `_carried`, the carried text earlier callers pass, is accepted so they still
|
|
89
|
+
* compile and is ignored: that prose identifies no recorded event (#568).
|
|
86
90
|
*/
|
|
87
|
-
export function unrepresentedOutput(events, facts, representedAttempt,
|
|
91
|
+
export function unrepresentedOutput(events, facts, representedAttempt, _carried) {
|
|
88
92
|
const session = facts.accepted
|
|
89
93
|
.filter((start) => start.attemptId === representedAttempt)
|
|
90
94
|
.at(-1)?.sessionId;
|
|
91
95
|
const represented = representedAttempt !== null && session ? { attempt: representedAttempt, session } : undefined;
|
|
92
96
|
const harness = events.filter((event) => event.type === "harness.event");
|
|
93
|
-
return
|
|
94
|
-
text: carried,
|
|
95
|
-
...(represented ? { represented } : {}),
|
|
96
|
-
})?.trim() || null);
|
|
97
|
+
return retainedOutput(harness, 0, false, represented ? { represented } : {})?.trim() || null;
|
|
97
98
|
}
|
|
98
99
|
/**
|
|
99
100
|
* Whether a run is its own continuation source: it declared a terminal block,
|
|
@@ -104,6 +105,23 @@ export function unrepresentedOutput(events, facts, representedAttempt, carried)
|
|
|
104
105
|
export function ownsContinuationSource(evidence) {
|
|
105
106
|
return evidence.resumable !== undefined || evidence.held !== null || evidence.hasEvidence;
|
|
106
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* A run's recorded assistant output, by one rule for every reader that carries
|
|
110
|
+
* it forward (a `continueFrom` successor, a thread's next lane): its
|
|
111
|
+
* `final/retained-output.md` exactly as stored, else the same projection of its
|
|
112
|
+
* event log, for a run whose terminal never wrote that file (an engine restart
|
|
113
|
+
* interrupted it, or the write failed). `source` is the file the text is read
|
|
114
|
+
* or rendered from; null when neither holds any output.
|
|
115
|
+
*/
|
|
116
|
+
export function recordedOutput(runDir, log = () => readRunEvents(join(runDir, "events.jsonl"))) {
|
|
117
|
+
const stored = join(runDir, RETAINED_OUTPUT_PATH);
|
|
118
|
+
const text = readTextSafe(stored);
|
|
119
|
+
if (text?.trim())
|
|
120
|
+
return { text, source: stored };
|
|
121
|
+
const { events, malformed } = log();
|
|
122
|
+
const rendered = retainedOutput(events, malformed);
|
|
123
|
+
return rendered ? { text: rendered, source: join(runDir, "events.jsonl") } : null;
|
|
124
|
+
}
|
|
107
125
|
/** A run's own work outside its events: the source attempt's patch, its final answer and retained output. */
|
|
108
126
|
function sourceFiles(runDir, attemptId) {
|
|
109
127
|
const finalDir = join(runDir, "final");
|
|
@@ -161,12 +179,12 @@ export function readContinuationEvidence(runDir) {
|
|
|
161
179
|
// winning try's other narration and earlier native-turn finals) stays beside
|
|
162
180
|
// it as evidence, once under its attempt and try.
|
|
163
181
|
const winner = telemetry?.final_attempt_id ?? null;
|
|
164
|
-
const unrepresented = answer ? unrepresentedOutput(events.events, facts, winner
|
|
182
|
+
const unrepresented = answer ? unrepresentedOutput(events.events, facts, winner) : null;
|
|
165
183
|
const output = answer
|
|
166
184
|
? unrepresented
|
|
167
185
|
? `Final answer (final/answer.md${winner ? `, attempt ${winner}` : ""}):\n\n${answer}\n\n${unrepresented}`
|
|
168
186
|
: answer
|
|
169
|
-
: retained ||
|
|
187
|
+
: retained || recordedOutput(runDir, () => events)?.text || "";
|
|
170
188
|
return {
|
|
171
189
|
resumable,
|
|
172
190
|
held,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continuation-evidence.js","sourceRoot":"","sources":["../src/continuation-evidence.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAiB,MAAM,mBAAmB,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"continuation-evidence.js","sourceRoot":"","sources":["../src/continuation-evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ export declare function retainedEnvelopeInChain(sources: ContinuationSources): {
|
|
|
26
26
|
dirty_policy: "refuse" | "snapshot";
|
|
27
27
|
created_at: string;
|
|
28
28
|
};
|
|
29
|
-
cause: "cancelled" | "context_exhausted" | "host_restart" | "input_required" | "other" | "permission_denied" | "pinned_limit" | "pool_exhausted" | "transport" | "vendor_limit" | "wall_clock" | null;
|
|
29
|
+
cause: "cancelled" | "context_exhausted" | "host_restart" | "input_required" | "other" | "permission_denied" | "pinned_limit" | "pool_exhausted" | "transport" | "turn_limit" | "vendor_limit" | "wall_clock" | null;
|
|
30
30
|
retained_at: string | null;
|
|
31
31
|
bytes: number | null;
|
|
32
32
|
} | null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { WorkspaceFilesManifest, WorkspaceEnvelope, type AccessProfile } from "@claudexor/schema";
|
|
1
|
+
import { WorkspaceFilesManifest, WorkspaceEnvelope, type AccessProfile, type WorkspacePreparedPayload } from "@claudexor/schema";
|
|
2
2
|
export declare function createDirectoryEnvelope(input: {
|
|
3
3
|
sourceRoot: string;
|
|
4
4
|
envelopeRoot: string;
|
|
@@ -19,6 +19,11 @@ export declare function prepareDirectoryWorkspace(input: {
|
|
|
19
19
|
scopePaths: string[];
|
|
20
20
|
inPlace: boolean;
|
|
21
21
|
}): Promise<void>;
|
|
22
|
+
/** What an isolated copy held when it was prepared, read from its own baseline
|
|
23
|
+
* (never a second source scan); null for live directory work. A selected path
|
|
24
|
+
* is missing only when no entry of that exact path was recorded: a copied empty
|
|
25
|
+
* directory or symbolic link is present, and `.` names the source root itself. */
|
|
26
|
+
export declare function directoryPreparation(env: WorkspaceEnvelope): Promise<Omit<WorkspacePreparedPayload, "attempt_id"> | null>;
|
|
22
27
|
export interface CapturedWorkspaceFiles {
|
|
23
28
|
manifest: WorkspaceFilesManifest;
|
|
24
29
|
manifestPath: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory-workspace.d.ts","sourceRoot":"","sources":["../src/directory-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"directory-workspace.d.ts","sourceRoot":"","sources":["../src/directory-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,aAAa,EAGlB,KAAK,wBAAwB,EAC9B,MAAM,mBAAmB,CAAC;AAkB3B,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA8B7B;AAED,mFAAmF;AACnF,wBAAsB,yBAAyB,CAAC,KAAK,EAAE;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BhB;AAED;;;kFAGkF;AAClF,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,iBAAiB,GACrB,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,CAe9D;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3B;AAED;;oEAEoE;AACpE,wBAAsB,yBAAyB,CAAC,KAAK,EAAE;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA0FlC"}
|
|
@@ -2,6 +2,7 @@ import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
|
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { WorkspaceFilesManifest, WorkspaceEnvelope, } from "@claudexor/schema";
|
|
4
4
|
import { nowIso, sha256 } from "@claudexor/util";
|
|
5
|
+
import { envelopeBaseOf } from "./envelope-custody.js";
|
|
5
6
|
import { directoryInventory, materializeWorkspaceFile, readWorkspaceFile, sameWorkspaceFile, workspaceFilePath, } from "./files-io.js";
|
|
6
7
|
export async function createDirectoryEnvelope(input) {
|
|
7
8
|
const executionRoot = input.inPlace ? input.sourceRoot : join(input.envelopeRoot, "tree");
|
|
@@ -57,6 +58,25 @@ export async function prepareDirectoryWorkspace(input) {
|
|
|
57
58
|
};
|
|
58
59
|
await writeFile(join(envelopeRoot, "directory-baseline.json"), JSON.stringify(baseline) + "\n");
|
|
59
60
|
}
|
|
61
|
+
/** What an isolated copy held when it was prepared, read from its own baseline
|
|
62
|
+
* (never a second source scan); null for live directory work. A selected path
|
|
63
|
+
* is missing only when no entry of that exact path was recorded: a copied empty
|
|
64
|
+
* directory or symbolic link is present, and `.` names the source root itself. */
|
|
65
|
+
export async function directoryPreparation(env) {
|
|
66
|
+
if (env.workspace_kind !== "directory" || env.worktree_path === env.repo_root)
|
|
67
|
+
return null;
|
|
68
|
+
const baseline = JSON.parse(await readFile(join(envelopeBaseOf(env), "directory-baseline.json"), "utf8"));
|
|
69
|
+
if (baseline.isolation !== "envelope")
|
|
70
|
+
return null;
|
|
71
|
+
const present = new Set(baseline.entries.map((entry) => entry.path));
|
|
72
|
+
const count = (kind) => baseline.entries.filter((entry) => entry.state.kind === kind).length;
|
|
73
|
+
return {
|
|
74
|
+
source_root: baseline.sourceRoot,
|
|
75
|
+
scope_paths: baseline.scopePaths,
|
|
76
|
+
copied: { files: count("file"), directories: count("directory"), symlinks: count("symlink") },
|
|
77
|
+
missing_paths: baseline.scopePaths.filter((path) => path !== "." && !present.has(path)),
|
|
78
|
+
};
|
|
79
|
+
}
|
|
60
80
|
/** Complete bytes live under the run artifact tree; a preview is never apply input.
|
|
61
81
|
* The manifest's source is the tree its baseline was read from (a delegated
|
|
62
82
|
* run's bound execution root), never a caller-supplied identity. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory-workspace.js","sourceRoot":"","sources":["../src/directory-workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"directory-workspace.js","sourceRoot":"","sources":["../src/directory-workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import type { WorkspaceEnvelope } from "@claudexor/schema";
|
|
1
2
|
export interface EnvelopeRecoveryRecord {
|
|
2
3
|
envelopeId: string;
|
|
3
4
|
workspaceMode: "in_place" | "isolated";
|
|
4
5
|
workspaceKind?: "git" | "directory";
|
|
6
|
+
/** The tree Git ran in, recorded at creation (#503); absent in legacy records. */
|
|
7
|
+
executionRoot?: string;
|
|
5
8
|
}
|
|
6
9
|
/** Read only the identity needed to dispose a crashed envelope. The caller
|
|
7
10
|
* decides whether missing legacy data is safe to fall back from. */
|
|
@@ -10,4 +13,26 @@ export declare function readEnvelopeRecoveryRecord(base: string): EnvelopeRecove
|
|
|
10
13
|
* equality is the recycling-proof liveness identity for envelope owners
|
|
11
14
|
* (command names/titles mutate; the kernel start time never does). */
|
|
12
15
|
export declare function processStartTime(pid: number): string | null;
|
|
16
|
+
/**
|
|
17
|
+
* The engine-owned runtime namespace an envelope base lives in, from its own
|
|
18
|
+
* recorded path (`<runtime>/workspaces/<task>/<attempt>`): a project namespace
|
|
19
|
+
* `projects/<sha256>` or the one-shot namespace (#503). Null for any other
|
|
20
|
+
* path, so a caller falls back to the legacy execution-root namespace and
|
|
21
|
+
* never removes anything outside an engine-owned workspaces directory.
|
|
22
|
+
*/
|
|
23
|
+
export declare function envelopeRuntimeRoot(base: string): string | null;
|
|
24
|
+
/**
|
|
25
|
+
* The scoped envelope base for a task/attempt under `workspacesDir`: the sole
|
|
26
|
+
* on-disk root dispose deletes, so the ids MUST be path-safe segments and the
|
|
27
|
+
* resolved base MUST stay inside the workspaces dir (a crafted `../` id could
|
|
28
|
+
* otherwise turn dispose() into an arbitrary recursive delete).
|
|
29
|
+
*/
|
|
30
|
+
export declare function envelopeBaseIn(workspacesDir: string, taskId: string, attemptId: string): string;
|
|
31
|
+
/**
|
|
32
|
+
* Where an envelope physically is: the base its own scoped HOME records, when
|
|
33
|
+
* that is an engine-owned `<runtime>/workspaces/<task>/<attempt>` of exactly
|
|
34
|
+
* these ids (an adopted envelope keeps its path whichever run holds it, #503);
|
|
35
|
+
* else the manager's own namespace (legacy records, foreign paths).
|
|
36
|
+
*/
|
|
37
|
+
export declare function physicalEnvelopeBase(env: Pick<WorkspaceEnvelope, "home_dir" | "task_id" | "attempt_id">, fallbackWorkspacesDir: string): string;
|
|
13
38
|
//# sourceMappingURL=envelope-recovery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope-recovery.d.ts","sourceRoot":"","sources":["../src/envelope-recovery.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,UAAU,GAAG,UAAU,CAAC;IACvC,aAAa,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"envelope-recovery.d.ts","sourceRoot":"","sources":["../src/envelope-recovery.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,UAAU,GAAG,UAAU,CAAC;IACvC,aAAa,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC;IACpC,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;oEACoE;AACpE,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAyBtF;AAED;;sEAEsE;AACtE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS3D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAe/F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC,EACnE,qBAAqB,EAAE,MAAM,GAC5B,MAAM,CAQR"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { execFileSync } from "node:child_process";
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
|
-
import { join } from "node:path";
|
|
3
|
+
import { basename, dirname, isAbsolute, join, sep } from "node:path";
|
|
4
|
+
import { WorkspaceError } from "@claudexor/core";
|
|
5
|
+
import { oneShotRuntimeDir, userConfigDir } from "@claudexor/util";
|
|
4
6
|
/** Read only the identity needed to dispose a crashed envelope. The caller
|
|
5
7
|
* decides whether missing legacy data is safe to fall back from. */
|
|
6
8
|
export function readEnvelopeRecoveryRecord(base) {
|
|
@@ -14,6 +16,9 @@ export function readEnvelopeRecoveryRecord(base) {
|
|
|
14
16
|
envelopeId: parsed.envelope_id,
|
|
15
17
|
workspaceMode: parsed.workspace_mode,
|
|
16
18
|
...(parsed.workspace_kind === "directory" ? { workspaceKind: "directory" } : {}),
|
|
19
|
+
...(typeof parsed.execution_root === "string" && isAbsolute(parsed.execution_root)
|
|
20
|
+
? { executionRoot: parsed.execution_root }
|
|
21
|
+
: {}),
|
|
17
22
|
};
|
|
18
23
|
}
|
|
19
24
|
catch {
|
|
@@ -34,4 +39,59 @@ export function processStartTime(pid) {
|
|
|
34
39
|
return null;
|
|
35
40
|
}
|
|
36
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* The engine-owned runtime namespace an envelope base lives in, from its own
|
|
44
|
+
* recorded path (`<runtime>/workspaces/<task>/<attempt>`): a project namespace
|
|
45
|
+
* `projects/<sha256>` or the one-shot namespace (#503). Null for any other
|
|
46
|
+
* path, so a caller falls back to the legacy execution-root namespace and
|
|
47
|
+
* never removes anything outside an engine-owned workspaces directory.
|
|
48
|
+
*/
|
|
49
|
+
export function envelopeRuntimeRoot(base) {
|
|
50
|
+
const workspaces = dirname(dirname(base));
|
|
51
|
+
if (basename(workspaces) !== "workspaces")
|
|
52
|
+
return null;
|
|
53
|
+
const runtime = dirname(workspaces);
|
|
54
|
+
const projects = join(userConfigDir(), "projects");
|
|
55
|
+
if (runtime === oneShotRuntimeDir())
|
|
56
|
+
return runtime;
|
|
57
|
+
return dirname(runtime) === projects && /^[0-9a-f]{64}$/.test(basename(runtime)) ? runtime : null;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* The scoped envelope base for a task/attempt under `workspacesDir`: the sole
|
|
61
|
+
* on-disk root dispose deletes, so the ids MUST be path-safe segments and the
|
|
62
|
+
* resolved base MUST stay inside the workspaces dir (a crafted `../` id could
|
|
63
|
+
* otherwise turn dispose() into an arbitrary recursive delete).
|
|
64
|
+
*/
|
|
65
|
+
export function envelopeBaseIn(workspacesDir, taskId, attemptId) {
|
|
66
|
+
const idPattern = /^[A-Za-z0-9._-]+$/;
|
|
67
|
+
for (const [label, id] of [
|
|
68
|
+
["taskId", taskId],
|
|
69
|
+
["attemptId", attemptId],
|
|
70
|
+
]) {
|
|
71
|
+
if (!idPattern.test(id) || id === "." || id === "..") {
|
|
72
|
+
throw new WorkspaceError(`${label} '${id}' is not a safe path segment`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const base = join(workspacesDir, taskId, attemptId);
|
|
76
|
+
if (!base.startsWith(workspacesDir + sep)) {
|
|
77
|
+
throw new WorkspaceError(`envelope base escapes the workspaces dir: ${base}`);
|
|
78
|
+
}
|
|
79
|
+
return base;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Where an envelope physically is: the base its own scoped HOME records, when
|
|
83
|
+
* that is an engine-owned `<runtime>/workspaces/<task>/<attempt>` of exactly
|
|
84
|
+
* these ids (an adopted envelope keeps its path whichever run holds it, #503);
|
|
85
|
+
* else the manager's own namespace (legacy records, foreign paths).
|
|
86
|
+
*/
|
|
87
|
+
export function physicalEnvelopeBase(env, fallbackWorkspacesDir) {
|
|
88
|
+
const recorded = dirname(env.home_dir);
|
|
89
|
+
const runtime = envelopeRuntimeRoot(recorded);
|
|
90
|
+
if (runtime) {
|
|
91
|
+
const base = envelopeBaseIn(join(runtime, "workspaces"), env.task_id, env.attempt_id);
|
|
92
|
+
if (base === recorded)
|
|
93
|
+
return base;
|
|
94
|
+
}
|
|
95
|
+
return envelopeBaseIn(fallbackWorkspacesDir, env.task_id, env.attempt_id);
|
|
96
|
+
}
|
|
37
97
|
//# sourceMappingURL=envelope-recovery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope-recovery.js","sourceRoot":"","sources":["../src/envelope-recovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"envelope-recovery.js","sourceRoot":"","sources":["../src/envelope-recovery.ts"],"names":[],"mappings":"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"}
|
package/dist/git.d.ts
CHANGED
|
@@ -33,9 +33,16 @@ export declare function materializePatchTree(repo: string, baseSha: string, diff
|
|
|
33
33
|
export declare function worktreeAdd(repo: string, path: string, branch: string, baseSha: string): Promise<void>;
|
|
34
34
|
/** Disposable candidate checkout with private refs/index/objects. The source
|
|
35
35
|
* repository is only an object alternate, so harness `git add`/`commit` cannot
|
|
36
|
-
* write candidate blobs or refs into the user's repository.
|
|
37
|
-
*
|
|
38
|
-
*
|
|
36
|
+
* write candidate blobs or refs into the user's repository. That alternate is
|
|
37
|
+
* the FIRST one whatever the source's depth: `--shared` writes it only when Git
|
|
38
|
+
* clones the path locally, and a shallow source Git silently clones through its
|
|
39
|
+
* transport instead (#501), so it is written here, keeping what only the source
|
|
40
|
+
* holds (a dirty snapshot, a delivery's composed tree) readable in the clone.
|
|
41
|
+
* A shallow source Git copies locally keeps its history boundary (see
|
|
42
|
+
* keepShallowBoundary), and a copy or checkout that cannot be complete is refused
|
|
43
|
+
* naming what the source lacks (isolated-clone-content.ts); nothing is fetched.
|
|
44
|
+
* Claudexor's own clone lists the project object store as a SECOND alternate
|
|
45
|
+
* (#535 D2): a dirty base resolves after the user's prune; the user repo never gets it. */
|
|
39
46
|
export declare function isolatedCloneAdd(repo: string, path: string, branch: string, baseSha: string, storeObjects?: string): Promise<void>;
|
|
40
47
|
/** Recreate a worktree for an EXISTING branch (recovery: dir lost, branch survived). */
|
|
41
48
|
export declare function worktreeAddExisting(repo: string, path: string, branch: string): Promise<void>;
|
package/dist/git.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
|