litmus-cli 1.4.72 → 1.4.73
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/README.md +13 -0
- package/dist/commands/connect.d.ts +17 -1
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +51 -4
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/forward.d.ts +3 -0
- package/dist/commands/forward.d.ts.map +1 -1
- package/dist/commands/forward.js +81 -8
- package/dist/commands/forward.js.map +1 -1
- package/dist/lib/api.d.ts +7 -1
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +38 -8
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/auto-forward.d.ts +3 -1
- package/dist/lib/auto-forward.d.ts.map +1 -1
- package/dist/lib/auto-forward.js +32 -3
- package/dist/lib/auto-forward.js.map +1 -1
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/connection-attempt.d.ts +13 -2
- package/dist/lib/connection-attempt.d.ts.map +1 -1
- package/dist/lib/connection-attempt.js +16 -3
- package/dist/lib/connection-attempt.js.map +1 -1
- package/dist/lib/hook-logger.cjs +54 -3
- package/dist/lib/hosted-capture.d.ts +21 -0
- package/dist/lib/hosted-capture.d.ts.map +1 -0
- package/dist/lib/hosted-capture.js +229 -0
- package/dist/lib/hosted-capture.js.map +1 -0
- package/dist/lib/hosted-watcher.d.ts +2 -0
- package/dist/lib/hosted-watcher.d.ts.map +1 -0
- package/dist/lib/hosted-watcher.js +176 -0
- package/dist/lib/hosted-watcher.js.map +1 -0
- package/dist/lib/session-state.d.ts +61 -0
- package/dist/lib/session-state.d.ts.map +1 -0
- package/dist/lib/session-state.js +92 -0
- package/dist/lib/session-state.js.map +1 -0
- package/dist/lib/ssh-client.d.ts +5 -1
- package/dist/lib/ssh-client.d.ts.map +1 -1
- package/dist/lib/ssh-client.js +22 -3
- package/dist/lib/ssh-client.js.map +1 -1
- package/dist/lib/tracker.d.ts.map +1 -1
- package/dist/lib/tracker.js +7 -2
- package/dist/lib/tracker.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-forward.js","sourceRoot":"","sources":["../../src/lib/auto-forward.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auto-forward.js","sourceRoot":"","sources":["../../src/lib/auto-forward.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts
CHANGED
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IAOnB,UAAU,CAAC,EAAE,MAAM,CAAA;IAQnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,MAAM,GAAG,IAAI,CAStH;AAKD,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAC9E,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,IAAI,CASf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACtF,KAAK,EAAE,MAAM,GACZ;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAsBtF;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAe/C;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB;;;kCAG8B;IAC9B,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,mBAAmB,CAiDpF;AAED;;;GAGG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAwB/D"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,cAAc,CAAA;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IAOnB,UAAU,CAAC,EAAE,MAAM,CAAA;IAQnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,MAAM,GAAG,IAAI,CAStH;AAKD,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAC9E,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,IAAI,CASf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACtF,KAAK,EAAE,MAAM,GACZ;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAsBtF;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAe/C;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB;;;kCAG8B;IAC9B,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,mBAAmB,CAiDpF;AAED;;;GAGG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAwB/D"}
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,IAAI,CAAA;AAC5C,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { reportEvent } from "./errors.js";
|
|
2
|
-
export type ConnectionStage = "authentication" | "selection" | "skills" | "ssh_key" | "workspace_start" | "workspace_ready" | "ssh_config" | "ssh_preflight" | "editor_resolution" | "extensions" | "editor_launch" | "editor_verify" | "browser_open" | "ssh_handoff" | "diagnostic_collection";
|
|
3
|
-
export type ConnectionResult = "incomplete" | "failed" | "stopped" | "server_detected" | "unverified" | "not_connected" | "browser_requested" | "ssh_ready" | "extension_conflict" | "launch_failed" | "diagnostic_collected";
|
|
2
|
+
export type ConnectionStage = "authentication" | "selection" | "skills" | "ssh_key" | "workspace_start" | "workspace_ready" | "ssh_config" | "ssh_preflight" | "editor_resolution" | "extensions" | "editor_launch" | "editor_verify" | "browser_open" | "ssh_handoff" | "diagnostic_collection" | "tunnel";
|
|
3
|
+
export type ConnectionResult = "incomplete" | "failed" | "stopped" | "server_detected" | "unverified" | "not_connected" | "browser_requested" | "ssh_ready" | "extension_conflict" | "launch_failed" | "diagnostic_collected" | "session_ended" | "tunnel_failed";
|
|
4
|
+
export type SessionStateFact = "open" | "submitted" | "over" | "locked" | "unknown";
|
|
4
5
|
/** Only structured evidence goes over the wire; raw logs, paths and credentials never do. */
|
|
5
6
|
export declare class ConnectionAttempt {
|
|
6
7
|
private readonly send;
|
|
@@ -14,10 +15,20 @@ export declare class ConnectionAttempt {
|
|
|
14
15
|
private signals;
|
|
15
16
|
private facts;
|
|
16
17
|
fact(key: string, value: unknown): void;
|
|
18
|
+
/**
|
|
19
|
+
* ENG-3265: capped at the day the server accepts (`parseConnectionAttempt`), because a
|
|
20
|
+
* `litmus forward` reports its outcome on the attempt that opened it, and a work trial's
|
|
21
|
+
* forward can stay up for longer than that. Past the cap the snapshot would be refused
|
|
22
|
+
* whole, losing the outcome along with the duration.
|
|
23
|
+
*/
|
|
24
|
+
private elapsed;
|
|
17
25
|
constructor(send?: typeof reportEvent);
|
|
18
26
|
stage(stage: ConnectionStage): void;
|
|
19
27
|
editor(route: string, version?: string | null): void;
|
|
20
28
|
finish(result: ConnectionResult): void;
|
|
29
|
+
get outcome(): ConnectionResult;
|
|
30
|
+
/** The fixed labels `evidence` has classified so far. */
|
|
31
|
+
get signalLabels(): readonly string[];
|
|
21
32
|
get needsSupport(): boolean;
|
|
22
33
|
evidence(text: string | null | undefined): void;
|
|
23
34
|
checkpoint(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-attempt.d.ts","sourceRoot":"","sources":["../../src/lib/connection-attempt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,YAAY,GAAG,eAAe,GAAG,mBAAmB,GAAG,YAAY,GAAG,eAAe,GAAG,eAAe,GAAG,cAAc,GAAG,aAAa,GAAG,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"connection-attempt.d.ts","sourceRoot":"","sources":["../../src/lib/connection-attempt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,YAAY,GAAG,eAAe,GAAG,mBAAmB,GAAG,YAAY,GAAG,eAAe,GAAG,eAAe,GAAG,cAAc,GAAG,aAAa,GAAG,uBAAuB,GAAG,QAAQ,CAAA;AAI3S,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,iBAAiB,GAAG,YAAY,GAAG,eAAe,GAAG,mBAAmB,GAAG,WAAW,GAAG,oBAAoB,GAAG,eAAe,GAAG,sBAAsB,GAAG,eAAe,GAAG,eAAe,CAAA;AACjQ,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;AAKnF,6FAA6F;AAC7F,qBAAa,iBAAiB;IAiChB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAhCjC,QAAQ,CAAC,EAAE,sDAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,KAAK,CAAsD;IACnE,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,KAAK,CAAuC;IACpD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAgBvC;;;;;OAKG;IACH,OAAO,CAAC,OAAO;gBACc,IAAI,qBAAc;IAC/C,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAGnC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIpD,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IACtC,IAAI,OAAO,IAAI,gBAAgB,CAAuB;IACtD,yDAAyD;IACzD,IAAI,YAAY,IAAI,SAAS,MAAM,EAAE,CAAwB;IAC7D,IAAI,YAAY,IAAI,OAAO,CAE1B;IACD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAgB/C,UAAU,IAAI,IAAI;IAMZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { randomUUID } from "crypto";
|
|
2
2
|
import { reportEvent } from "./errors.js";
|
|
3
|
+
/** The longest duration `frontend/lib/connection-attempt.ts` accepts. */
|
|
4
|
+
const MAX_ELAPSED_MS = 86400000;
|
|
3
5
|
/** Only structured evidence goes over the wire; raw logs, paths and credentials never do. */
|
|
4
6
|
export class ConnectionAttempt {
|
|
5
7
|
fact(key, value) {
|
|
@@ -10,6 +12,7 @@ export class ConnectionAttempt {
|
|
|
10
12
|
extensionSetup: ["present", "installed", "failed"],
|
|
11
13
|
sshSelection: ["path", "editor-setting"],
|
|
12
14
|
logEvidence: ["classified", "unavailable", "not-requested"],
|
|
15
|
+
sessionState: ["open", "submitted", "over", "locked", "unknown"],
|
|
13
16
|
};
|
|
14
17
|
if (["editorFound", "conflictingExtension", "wsl"].includes(key) && typeof value === "boolean")
|
|
15
18
|
this.facts[key] = value;
|
|
@@ -22,6 +25,13 @@ export class ConnectionAttempt {
|
|
|
22
25
|
if (key === "editorCommit" && /^[a-f0-9]{40}$/i.test(value))
|
|
23
26
|
this.facts[key] = value;
|
|
24
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* ENG-3265: capped at the day the server accepts (`parseConnectionAttempt`), because a
|
|
30
|
+
* `litmus forward` reports its outcome on the attempt that opened it, and a work trial's
|
|
31
|
+
* forward can stay up for longer than that. Past the cap the snapshot would be refused
|
|
32
|
+
* whole, losing the outcome along with the duration.
|
|
33
|
+
*/
|
|
34
|
+
elapsed() { return Math.min(Date.now() - this.started, MAX_ELAPSED_MS); }
|
|
25
35
|
constructor(send = reportEvent) {
|
|
26
36
|
this.send = send;
|
|
27
37
|
this.id = randomUUID();
|
|
@@ -38,15 +48,18 @@ export class ConnectionAttempt {
|
|
|
38
48
|
}
|
|
39
49
|
stage(stage) {
|
|
40
50
|
if (this.steps.length < 24)
|
|
41
|
-
this.steps.push({ stage, elapsedMs:
|
|
51
|
+
this.steps.push({ stage, elapsedMs: this.elapsed() });
|
|
42
52
|
}
|
|
43
53
|
editor(route, version) {
|
|
44
54
|
this.route = ["cursor", "vscode", "ssh", "browser"].includes(route) ? route : "unknown";
|
|
45
55
|
this.version = version && /^\d+\.\d+\.\d+(?:[-+][\w.-]+)?$/.test(version) ? version : null;
|
|
46
56
|
}
|
|
47
57
|
finish(result) { this.result = result; }
|
|
58
|
+
get outcome() { return this.result; }
|
|
59
|
+
/** The fixed labels `evidence` has classified so far. */
|
|
60
|
+
get signalLabels() { return this.signals; }
|
|
48
61
|
get needsSupport() {
|
|
49
|
-
return ["failed", "stopped", "unverified", "not_connected", "extension_conflict", "launch_failed"].includes(this.result);
|
|
62
|
+
return ["failed", "stopped", "unverified", "not_connected", "extension_conflict", "launch_failed", "tunnel_failed"].includes(this.result);
|
|
50
63
|
}
|
|
51
64
|
evidence(text) {
|
|
52
65
|
// Classify known diagnostics locally. Even an arbitrary vendor log cannot upload
|
|
@@ -70,7 +83,7 @@ export class ConnectionAttempt {
|
|
|
70
83
|
if (this.pending.length >= 4)
|
|
71
84
|
return;
|
|
72
85
|
const hint = JSON.stringify({ schemaVersion: 1, attemptId: this.id, route: this.route, editorVersion: this.version,
|
|
73
|
-
result: this.result, elapsedMs:
|
|
86
|
+
result: this.result, elapsedMs: this.elapsed(), steps: this.steps, signals: this.signals, facts: this.facts });
|
|
74
87
|
this.pending.push(Promise.resolve(this.send("info", "Workspace connection attempt", hint, "connection_attempt")).catch(() => { }));
|
|
75
88
|
}
|
|
76
89
|
async flush() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-attempt.js","sourceRoot":"","sources":["../../src/lib/connection-attempt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"connection-attempt.js","sourceRoot":"","sources":["../../src/lib/connection-attempt.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/hook-logger.cjs
CHANGED
|
@@ -1876,7 +1876,26 @@ function claimPrompt(generationId) {
|
|
|
1876
1876
|
* session's) and is the only pointer left once a copied explicit path has
|
|
1877
1877
|
* been rejected.
|
|
1878
1878
|
*/
|
|
1879
|
+
// Hosted capture is explicitly machine-wide for the disclosed assessment
|
|
1880
|
+
// window. An expired lease never falls back to this registration's credentials.
|
|
1881
|
+
function hostedCaptureWindow(now = Date.now()) {
|
|
1882
|
+
try {
|
|
1883
|
+
const window = JSON.parse(fs.readFileSync(path.join(os.homedir(), ".litmus", "hosted-capture.json"), "utf8"))
|
|
1884
|
+
if (typeof window.projectDir !== "string" || !Number.isFinite(window.startedAt)
|
|
1885
|
+
|| !Number.isFinite(window.expiresAt) || now < window.startedAt
|
|
1886
|
+
|| now >= window.expiresAt || window.expiresAt - now > 10000) return null
|
|
1887
|
+
const dir = path.join(window.projectDir, ".litmus")
|
|
1888
|
+
if (sessionOverMarked(dir)) return null
|
|
1889
|
+
const config = readConfig(dir)
|
|
1890
|
+
if (!config || config.captureMode !== "hosted-local") return null
|
|
1891
|
+
if (tokenDigest(config.token) !== window.tokenKey) return null
|
|
1892
|
+
return { ...window, litmusDir: dir }
|
|
1893
|
+
} catch { return null }
|
|
1894
|
+
}
|
|
1895
|
+
|
|
1879
1896
|
function resolveAssessmentDir(parsed, workspaceRoots) {
|
|
1897
|
+
const hosted = hostedCaptureWindow()
|
|
1898
|
+
if (hosted) return hosted.litmusDir
|
|
1880
1899
|
const sessionDirs = [
|
|
1881
1900
|
...(workspaceRoots || []),
|
|
1882
1901
|
...(parsed && typeof parsed.cwd === "string" && parsed.cwd ? [parsed.cwd] : []),
|
|
@@ -1886,7 +1905,10 @@ function resolveAssessmentDir(parsed, workspaceRoots) {
|
|
|
1886
1905
|
const hintDirs = trustExplicit
|
|
1887
1906
|
? [explicitAssessmentDir, ...sessionDirs]
|
|
1888
1907
|
: sessionDirs
|
|
1889
|
-
|
|
1908
|
+
const found = findLitmusDir(hintDirs)
|
|
1909
|
+
// Folder lookup must not resurrect an expired hosted window.
|
|
1910
|
+
if (found && readConfig(found)?.captureMode === "hosted-local") return null
|
|
1911
|
+
return found
|
|
1890
1912
|
}
|
|
1891
1913
|
|
|
1892
1914
|
async function main() {
|
|
@@ -1914,6 +1936,19 @@ async function main() {
|
|
|
1914
1936
|
const earlyRoots = parsed && Array.isArray(parsed.workspace_roots) ? parsed.workspace_roots : []
|
|
1915
1937
|
const earlyLitmusDir = resolveAssessmentDir(parsed, earlyRoots)
|
|
1916
1938
|
if (earlyLitmusDir && sessionOverMarked(earlyLitmusDir)) return
|
|
1939
|
+
const hostedAtStart = hostedCaptureWindow()
|
|
1940
|
+
// Bind occurrence time to the SAME receipt before potentially slow transcript
|
|
1941
|
+
// settling. Renewal during the read must not move this event past its grant.
|
|
1942
|
+
const hostedCapturedAt = hostedAtStart
|
|
1943
|
+
? hostedAtStart.serverTime + Date.now() - hostedAtStart.leaseResponseReceivedAt
|
|
1944
|
+
: null
|
|
1945
|
+
// Responses must have an observed prompt in THIS capture window. Do not
|
|
1946
|
+
// read/import a transcript for a conversation that predates setup.
|
|
1947
|
+
if (hostedAtStart && isResponseEvent(parsed)) {
|
|
1948
|
+
const id = parsed && (parsed.session_id || parsed.sessionId || parsed.conversation_id)
|
|
1949
|
+
const turn = currentTurnRecord(id)
|
|
1950
|
+
if (!turn || !turn.turnId || turn.ts < hostedAtStart.startedAt) return
|
|
1951
|
+
}
|
|
1917
1952
|
|
|
1918
1953
|
// ENG-2477: a capture SELF-TEST probe. `litmus init` (and `litmus doctor`)
|
|
1919
1954
|
// run this script the way the tool would — the tool's own payload shape, on
|
|
@@ -2004,6 +2039,7 @@ async function main() {
|
|
|
2004
2039
|
|
|
2005
2040
|
const litmusDir = resolveAssessmentDir(parsed, workspaceRoots)
|
|
2006
2041
|
if (!litmusDir) return
|
|
2042
|
+
if (hostedAtStart && hostedCaptureWindow()?.litmusDir !== hostedAtStart.litmusDir) return
|
|
2007
2043
|
if (litmusDir !== earlyLitmusDir && sessionOverMarked(litmusDir)) return
|
|
2008
2044
|
|
|
2009
2045
|
// Claim as LATE as possible — only once we know we have content and somewhere
|
|
@@ -2068,6 +2104,11 @@ async function main() {
|
|
|
2068
2104
|
// no second mechanism; and it survives hostd's `strip_credentials`, whose key
|
|
2069
2105
|
// list would have deleted anything spelled session/token/secret.
|
|
2070
2106
|
event.id = crypto.randomUUID()
|
|
2107
|
+
if (hostedAtStart) {
|
|
2108
|
+
event.capture_location = "local"
|
|
2109
|
+
event.capture_receipt = hostedAtStart.receipt
|
|
2110
|
+
event.ts = new Date(hostedCapturedAt).toISOString()
|
|
2111
|
+
}
|
|
2071
2112
|
if (sessionId) event.sessionId = sessionId
|
|
2072
2113
|
if (turnId) event.turnId = turnId
|
|
2073
2114
|
// ENG-2344: the files Cursor's `afterFileEdit` hook reported the agent
|
|
@@ -2100,6 +2141,7 @@ async function main() {
|
|
|
2100
2141
|
const MAX_SERIALIZED_BYTES = 60000
|
|
2101
2142
|
const bodyField = responseEvent ? "text" : "prompt"
|
|
2102
2143
|
if (!fullCursorPrompt) trimEventToBytes(event, bodyField, MAX_SERIALIZED_BYTES)
|
|
2144
|
+
else if (hostedAtStart && !trimEventToBytes(event, bodyField, 6_010_000)) return
|
|
2103
2145
|
|
|
2104
2146
|
// Record that this turn's reply is captured, so the sibling `stop` hook
|
|
2105
2147
|
// doesn't record it a second time (IDE only — see the claim helpers).
|
|
@@ -2107,6 +2149,9 @@ async function main() {
|
|
|
2107
2149
|
markCursorResponseCaptured(cursorConversation)
|
|
2108
2150
|
}
|
|
2109
2151
|
|
|
2152
|
+
// Recheck after transcript reads/settling: teardown may have happened meanwhile.
|
|
2153
|
+
if (hostedAtStart && hostedCaptureWindow()?.litmusDir !== litmusDir) return
|
|
2154
|
+
|
|
2110
2155
|
// 1. Append to activity.jsonl (for submission ZIP)
|
|
2111
2156
|
const logPath = path.join(litmusDir, "activity.jsonl")
|
|
2112
2157
|
let logged = false
|
|
@@ -2131,7 +2176,12 @@ async function main() {
|
|
|
2131
2176
|
// cannot edit or delete it afterwards (ENG-1962). Additive — step 1 above
|
|
2132
2177
|
// stays the submission-zip path, so a container whose drain lane is down
|
|
2133
2178
|
// still grades exactly as it does today.
|
|
2134
|
-
emitToDrain(event, parsed && parsed.hook_event_name)
|
|
2179
|
+
if (!hostedAtStart) emitToDrain(event, parsed && parsed.hook_event_name)
|
|
2180
|
+
|
|
2181
|
+
// Hosted hooks only append to the private local outbox. The supervisor
|
|
2182
|
+
// batches uploads below the activity endpoint's rate limit and persists its
|
|
2183
|
+
// acknowledged cursor. Never spend one HTTP request for each agent call.
|
|
2184
|
+
if (hostedAtStart) return
|
|
2135
2185
|
|
|
2136
2186
|
// 2. Upload to the server. Awaited, bounded — see uploadEvent.
|
|
2137
2187
|
const config = readConfig(litmusDir)
|
|
@@ -2149,7 +2199,7 @@ async function main() {
|
|
|
2149
2199
|
// work — this is a courtesy, and it must never cost the prompt anything.
|
|
2150
2200
|
// Not on a self-test probe: init is about to start the tracker itself, and
|
|
2151
2201
|
// doctor has already dealt with it.
|
|
2152
|
-
if (!selftestNonce) maybeReviveWatcher(litmusDir, config)
|
|
2202
|
+
if (!selftestNonce && !hostedAtStart) maybeReviveWatcher(litmusDir, config)
|
|
2153
2203
|
|
|
2154
2204
|
// No explicit process.exit() — the event loop drains naturally once the upload
|
|
2155
2205
|
// has settled and its timers are cleared (the revival spawn is unref'd).
|
|
@@ -2157,6 +2207,7 @@ async function main() {
|
|
|
2157
2207
|
|
|
2158
2208
|
// Exported for unit tests only; every hook invocation runs this file directly.
|
|
2159
2209
|
module.exports = {
|
|
2210
|
+
hostedCaptureWindow,
|
|
2160
2211
|
nativeSessionPath,
|
|
2161
2212
|
watcherPresumedDead,
|
|
2162
2213
|
isFinalRefusal,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { InitMetadata } from "./schemas.js";
|
|
2
|
+
export declare const HOSTED_CAPTURE_DISCLOSURE_VERSION = "hosted_local_v1";
|
|
3
|
+
export declare const HOSTED_CAPTURE_DISCLOSURE = "During this assessment, Litmus records prompts and responses from supported AI agents on this computer, across all folders and projects, alongside activity captured on the Litmus workspace. The hiring company can review these conversations. Capture stops when the coding session ends; if this computer loses contact with Litmus, capture pauses within ten seconds. Browser AI, Copilot and unsupported tools are not covered. Restart any already running local AI tools after setup so they load the capture hooks.";
|
|
4
|
+
export declare const HOSTED_CAPTURE_FILE: string;
|
|
5
|
+
export declare function atomicPrivateJson(file: string, value: unknown): void;
|
|
6
|
+
export declare function captureLease(backendUrl: string, token: string, accept?: boolean): Promise<{
|
|
7
|
+
active: boolean;
|
|
8
|
+
leaseSeconds: number;
|
|
9
|
+
receipt?: string;
|
|
10
|
+
serverTime?: number;
|
|
11
|
+
receivedAt: number;
|
|
12
|
+
}>;
|
|
13
|
+
export declare function acquireCaptureLock(lock: string): () => void;
|
|
14
|
+
/** OS-owned exclusion makes stale-file recovery a serialized operation.
|
|
15
|
+
* The loopback guard carries no protocol/data and is released by the OS on crash.
|
|
16
|
+
* A fixed per-lock port ensures contenders cannot bind independent guards.
|
|
17
|
+
*/
|
|
18
|
+
export declare function acquireCaptureSetupLock(lock: string): Promise<() => Promise<void>>;
|
|
19
|
+
export declare function askCaptureConsent(): Promise<string>;
|
|
20
|
+
export declare function startHostedCapture(meta: InitMetadata, token: string, apiBase: string): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=hosted-capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hosted-capture.d.ts","sourceRoot":"","sources":["../../src/lib/hosted-capture.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAIhD,eAAO,MAAM,iCAAiC,oBAAoB,CAAA;AAClE,eAAO,MAAM,yBAAyB,kgBAAkgB,CAAA;AACxiB,eAAO,MAAM,mBAAmB,QAA4D,CAAA;AAC5F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAKpE;AACD,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAC,CAAC,CAWjM;AACD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,IAAI,CA6B3D;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAgBxF;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAqBzD;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD1G"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { CLI_VERSION } from "./version.js";
|
|
2
|
+
import { createHash, randomUUID } from "crypto";
|
|
3
|
+
import { mkdirSync, readFileSync, writeFileSync, renameSync, existsSync, rmSync } from "fs";
|
|
4
|
+
import os from "os";
|
|
5
|
+
import path from "path";
|
|
6
|
+
import readline from "readline";
|
|
7
|
+
import tty from "tty";
|
|
8
|
+
import { createServer } from "net";
|
|
9
|
+
import { openSync, linkSync, unlinkSync, realpathSync } from "fs";
|
|
10
|
+
import { startTracker, waitForTrackerReady, isTrackerHealthy } from "./tracker.js";
|
|
11
|
+
import { setupAiTracking } from "../commands/init.js";
|
|
12
|
+
import { releaseAiTrackingForAssessment, readRegistrySnapshot } from "./ai-tracking.js";
|
|
13
|
+
import { retireAiCaptureForEndedSession, sessionOverMarked } from "./session-over.js";
|
|
14
|
+
export const HOSTED_CAPTURE_DISCLOSURE_VERSION = "hosted_local_v1";
|
|
15
|
+
export const HOSTED_CAPTURE_DISCLOSURE = "During this assessment, Litmus records prompts and responses from supported AI agents on this computer, across all folders and projects, alongside activity captured on the Litmus workspace. The hiring company can review these conversations. Capture stops when the coding session ends; if this computer loses contact with Litmus, capture pauses within ten seconds. Browser AI, Copilot and unsupported tools are not covered. Restart any already running local AI tools after setup so they load the capture hooks.";
|
|
16
|
+
export const HOSTED_CAPTURE_FILE = path.join(os.homedir(), ".litmus", "hosted-capture.json");
|
|
17
|
+
export function atomicPrivateJson(file, value) {
|
|
18
|
+
mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
|
|
19
|
+
const temp = `${file}.${randomUUID()}.tmp`;
|
|
20
|
+
try {
|
|
21
|
+
writeFileSync(temp, JSON.stringify(value), { mode: 0o600, flag: "wx" });
|
|
22
|
+
renameSync(temp, file);
|
|
23
|
+
}
|
|
24
|
+
finally {
|
|
25
|
+
rmSync(temp, { force: true });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export async function captureLease(backendUrl, token, accept = false) {
|
|
29
|
+
const response = await fetch(`${backendUrl}/cli/capture-session${accept ? "/accept" : ""}`, {
|
|
30
|
+
method: accept ? "POST" : "GET", redirect: "error", headers: { Authorization: `Bearer ${token}`, "Content-Type": "application/json" },
|
|
31
|
+
...(accept ? { body: JSON.stringify({ disclosureVersion: HOSTED_CAPTURE_DISCLOSURE_VERSION }) } : {}),
|
|
32
|
+
signal: AbortSignal.timeout(4000),
|
|
33
|
+
});
|
|
34
|
+
if (!response.ok)
|
|
35
|
+
throw new Error(`Local capture authorization failed (${response.status})`);
|
|
36
|
+
const value = await response.json();
|
|
37
|
+
if (typeof value.active !== "boolean" || typeof value.leaseSeconds !== "number" || value.leaseSeconds < 0 || value.leaseSeconds > 10)
|
|
38
|
+
throw new Error("Invalid capture authorization");
|
|
39
|
+
if (value.active && (typeof value.receipt !== "string" || value.receipt.length > 2048 || typeof value.serverTime !== "number" || !Number.isFinite(value.serverTime)))
|
|
40
|
+
throw new Error("Missing local capture receipt");
|
|
41
|
+
return { active: value.active, leaseSeconds: value.leaseSeconds, receipt: value.receipt, serverTime: value.serverTime, receivedAt: Date.now() };
|
|
42
|
+
}
|
|
43
|
+
export function acquireCaptureLock(lock) {
|
|
44
|
+
const nonce = randomUUID();
|
|
45
|
+
const temp = `${lock}.${nonce}.tmp`;
|
|
46
|
+
writeFileSync(temp, JSON.stringify({ pid: process.pid, nonce }), { mode: 0o600, flag: "wx" });
|
|
47
|
+
try {
|
|
48
|
+
for (let attempt = 0; attempt < 3; attempt++) {
|
|
49
|
+
try {
|
|
50
|
+
// Publish a COMPLETE owner record atomically, including on Windows.
|
|
51
|
+
linkSync(temp, lock);
|
|
52
|
+
return () => {
|
|
53
|
+
try {
|
|
54
|
+
if (JSON.parse(readFileSync(lock, "utf8")).nonce === nonce)
|
|
55
|
+
unlinkSync(lock);
|
|
56
|
+
}
|
|
57
|
+
catch { /* replaced */ }
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
if (error.code !== "EEXIST")
|
|
62
|
+
throw error;
|
|
63
|
+
let owner;
|
|
64
|
+
try {
|
|
65
|
+
owner = JSON.parse(readFileSync(lock, "utf8"));
|
|
66
|
+
}
|
|
67
|
+
catch (readError) {
|
|
68
|
+
if (readError.code === "ENOENT")
|
|
69
|
+
continue;
|
|
70
|
+
throw new Error("Local capture setup has an invalid lock. Contact support.");
|
|
71
|
+
}
|
|
72
|
+
if (!Number.isInteger(owner.pid) || owner.pid <= 0 || typeof owner.nonce !== "string")
|
|
73
|
+
throw new Error("Invalid capture setup owner. Contact support.");
|
|
74
|
+
try {
|
|
75
|
+
process.kill(owner.pid, 0);
|
|
76
|
+
throw new Error("Local capture setup is already running. Retry connect.");
|
|
77
|
+
}
|
|
78
|
+
catch (probe) {
|
|
79
|
+
if (probe.code !== "ESRCH")
|
|
80
|
+
throw probe;
|
|
81
|
+
try {
|
|
82
|
+
if (JSON.parse(readFileSync(lock, "utf8")).nonce === owner.nonce)
|
|
83
|
+
unlinkSync(lock);
|
|
84
|
+
}
|
|
85
|
+
catch { /* another recoverer won */ }
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
throw new Error("Could not recover local capture setup. Retry connect.");
|
|
90
|
+
}
|
|
91
|
+
finally {
|
|
92
|
+
rmSync(temp, { force: true });
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/** OS-owned exclusion makes stale-file recovery a serialized operation.
|
|
96
|
+
* The loopback guard carries no protocol/data and is released by the OS on crash.
|
|
97
|
+
* A fixed per-lock port ensures contenders cannot bind independent guards.
|
|
98
|
+
*/
|
|
99
|
+
export async function acquireCaptureSetupLock(lock) {
|
|
100
|
+
const port = 49152 + parseInt(createHash("sha256").update(path.join(realpathSync(path.dirname(lock)), path.basename(lock))).digest("hex").slice(0, 8), 16) % 16384;
|
|
101
|
+
const guard = createServer(socket => socket.destroy());
|
|
102
|
+
try {
|
|
103
|
+
await new Promise((resolve, reject) => {
|
|
104
|
+
guard.once("error", reject);
|
|
105
|
+
guard.listen({ host: "127.0.0.1", port, exclusive: true }, () => { guard.removeListener("error", reject); resolve(); });
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
throw new Error("Capture setup is already running, or its local coordination port is occupied. Retry after the other setup or application closes.");
|
|
110
|
+
}
|
|
111
|
+
let releaseFile;
|
|
112
|
+
try {
|
|
113
|
+
releaseFile = acquireCaptureLock(lock);
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
await new Promise(resolve => guard.close(() => resolve()));
|
|
117
|
+
throw error;
|
|
118
|
+
}
|
|
119
|
+
return async () => {
|
|
120
|
+
try {
|
|
121
|
+
releaseFile();
|
|
122
|
+
}
|
|
123
|
+
finally {
|
|
124
|
+
await new Promise(resolve => guard.close(() => resolve()));
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
export async function askCaptureConsent() {
|
|
129
|
+
let input = process.stdin;
|
|
130
|
+
let output = process.stdout;
|
|
131
|
+
let inputFd, outputFd;
|
|
132
|
+
try {
|
|
133
|
+
if (!process.stdin.isTTY) {
|
|
134
|
+
// stdin may already have carried `connect -`'s token. Consent is a separate
|
|
135
|
+
// interaction with the controlling terminal, never the token pipe.
|
|
136
|
+
inputFd = openSync(process.platform === "win32" ? "CONIN$" : "/dev/tty", "r");
|
|
137
|
+
input = new tty.ReadStream(inputFd);
|
|
138
|
+
outputFd = openSync(process.platform === "win32" ? "CONOUT$" : "/dev/tty", "w");
|
|
139
|
+
output = new tty.WriteStream(outputFd);
|
|
140
|
+
}
|
|
141
|
+
output.write(`\n${HOSTED_CAPTURE_DISCLOSURE}\n\n`);
|
|
142
|
+
const rl = readline.createInterface({ input, output, terminal: false });
|
|
143
|
+
return await new Promise(resolve => { rl.once("close", () => resolve("")); rl.question("Allow local AI capture for this assessment? [y/N] ", resolve); }).finally(() => rl.close());
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
throw new Error("Open an interactive terminal to review local AI capture, then retry litmus connect.");
|
|
147
|
+
}
|
|
148
|
+
finally {
|
|
149
|
+
if (inputFd !== undefined) {
|
|
150
|
+
input.destroy();
|
|
151
|
+
}
|
|
152
|
+
if (outputFd !== undefined) {
|
|
153
|
+
output.destroy();
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
export async function startHostedCapture(meta, token, apiBase) {
|
|
158
|
+
const key = createHash("sha256").update(token).digest("hex");
|
|
159
|
+
const projectDir = path.join(os.homedir(), ".litmus", "hosted-sessions", key);
|
|
160
|
+
// One machine-wide window: never silently mix two candidates' conversations.
|
|
161
|
+
const lock = `${HOSTED_CAPTURE_FILE}.lock`;
|
|
162
|
+
mkdirSync(path.dirname(lock), { recursive: true, mode: 0o700 });
|
|
163
|
+
const releaseLock = await acquireCaptureSetupLock(lock);
|
|
164
|
+
try {
|
|
165
|
+
let prior = {};
|
|
166
|
+
try {
|
|
167
|
+
prior = JSON.parse(readFileSync(HOSTED_CAPTURE_FILE, "utf8"));
|
|
168
|
+
}
|
|
169
|
+
catch { /* none */ }
|
|
170
|
+
if (prior.projectDir && sessionOverMarked(prior.projectDir)) {
|
|
171
|
+
// Cleanup may have been interrupted after deleting old credentials but
|
|
172
|
+
// before removing the expired routing record. The ended marker survives.
|
|
173
|
+
releaseAiTrackingForAssessment(prior.projectDir);
|
|
174
|
+
rmSync(HOSTED_CAPTURE_FILE, { force: true });
|
|
175
|
+
prior = {};
|
|
176
|
+
}
|
|
177
|
+
if (prior.projectDir && prior.tokenKey !== key) {
|
|
178
|
+
const oldConfig = JSON.parse(readFileSync(path.join(prior.projectDir, ".litmus", "config.json"), "utf8"));
|
|
179
|
+
const oldLease = await captureLease(oldConfig.backendUrl, oldConfig.token);
|
|
180
|
+
if (oldLease.active)
|
|
181
|
+
throw new Error("Another assessment is active on this computer. Finish it before starting this one.");
|
|
182
|
+
// Confirmed server closure, not mere lease expiry, permits replacing a window.
|
|
183
|
+
retireAiCaptureForEndedSession(prior.projectDir, oldConfig.token);
|
|
184
|
+
rmSync(HOSTED_CAPTURE_FILE, { force: true });
|
|
185
|
+
}
|
|
186
|
+
const otherSessions = (readRegistrySnapshot() ?? []).filter(dir => dir !== projectDir && dir !== prior.projectDir);
|
|
187
|
+
if (otherSessions.length)
|
|
188
|
+
throw new Error("Another local assessment is registered on this computer. Finish its capture session before starting hosted local capture.");
|
|
189
|
+
if (prior.projectDir === projectDir && isTrackerHealthy(projectDir))
|
|
190
|
+
return;
|
|
191
|
+
const answer = await askCaptureConsent();
|
|
192
|
+
if (!/^y(es)?$/i.test(answer.trim()))
|
|
193
|
+
throw new Error("Local capture was not enabled. No local prompts have been recorded.");
|
|
194
|
+
const requestStarted = Date.now();
|
|
195
|
+
const lease = await captureLease(meta.backendUrl, token, true);
|
|
196
|
+
if (!lease.active)
|
|
197
|
+
throw new Error("The assessment coding session has ended.");
|
|
198
|
+
mkdirSync(path.join(projectDir, ".litmus"), { recursive: true, mode: 0o700 });
|
|
199
|
+
atomicPrivateJson(path.join(projectDir, ".litmus", "config.json"), { ...meta, apiBase, token, cliVersion: CLI_VERSION, captureMode: "hosted-local" });
|
|
200
|
+
// A setup failure from an earlier attempt is not a terminal session marker.
|
|
201
|
+
const endedMarker = path.join(projectDir, ".litmus", "session-over");
|
|
202
|
+
if (existsSync(endedMarker))
|
|
203
|
+
throw new Error("This local capture session is already retired");
|
|
204
|
+
// Only enable the routing window after consent is persisted by the server.
|
|
205
|
+
atomicPrivateJson(HOSTED_CAPTURE_FILE, { projectDir, tokenKey: key, startedAt: requestStarted, expiresAt: requestStarted + lease.leaseSeconds * 1000, receipt: lease.receipt, serverTime: lease.serverTime, leaseRequestStarted: requestStarted, leaseResponseReceivedAt: lease.receivedAt });
|
|
206
|
+
try {
|
|
207
|
+
const hooks = setupAiTracking(projectDir);
|
|
208
|
+
if (hooks.mode !== "user")
|
|
209
|
+
throw new Error("User-level AI hooks could not be installed");
|
|
210
|
+
startTracker(projectDir);
|
|
211
|
+
if (await waitForTrackerReady(projectDir) !== "ready")
|
|
212
|
+
throw new Error("Local capture watcher did not become ready");
|
|
213
|
+
const missing = [!hooks.codexInstalled && "Codex", !hooks.geminiInstalled && "Gemini"].filter(Boolean);
|
|
214
|
+
if (missing.length)
|
|
215
|
+
console.log(`Capture hooks could not be installed for: ${missing.join(", ")}. Use another supported tool or contact support.`);
|
|
216
|
+
console.log("Local hooks enabled for Claude Code, Codex, Cursor and Gemini where supported. Copilot and browser AI are not covered by this local window. Restart already running local AI tools to load their hooks.");
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
atomicPrivateJson(HOSTED_CAPTURE_FILE, { projectDir, tokenKey: key, expiresAt: 0 });
|
|
220
|
+
releaseAiTrackingForAssessment(projectDir);
|
|
221
|
+
rmSync(HOSTED_CAPTURE_FILE, { force: true });
|
|
222
|
+
throw error;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
finally {
|
|
226
|
+
await releaseLock();
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=hosted-capture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hosted-capture.js","sourceRoot":"","sources":["../../src/lib/hosted-capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AAC3F,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvF,OAAO,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErF,MAAM,CAAC,MAAM,iCAAiC,GAAG,iBAAiB,CAAA;AAClE,MAAM,CAAC,MAAM,yBAAyB,GAAG,+fAA+f,CAAA;AACxiB,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAA;AAC5F,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,KAAc;IAC5D,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC/D,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,UAAU,EAAE,MAAM,CAAA;IAC1C,IAAI,CAAC;QAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAAC,CAAC;YAC/F,CAAC;QAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAAC,CAAC;AAC3C,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAAkB,EAAE,KAAa,EAAE,MAAM,GAAG,KAAK;IAClF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,uBAAuB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;QAC1F,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QACrI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,iCAAiC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;KAClC,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;IAC5F,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAyF,CAAA;IAC1H,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,GAAG,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IACtL,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IACtN,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,OAA6B,EAAE,UAAU,EAAE,KAAK,CAAC,UAAgC,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;AAC7L,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,KAAK,GAAG,UAAU,EAAE,CAAA;IAC1B,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,KAAK,MAAM,CAAA;IACnC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7F,IAAI,CAAC;QACH,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,oEAAoE;gBACpE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACpB,OAAO,GAAG,EAAE;oBACV,IAAI,CAAC;wBAAC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK;4BAAE,UAAU,CAAC,IAAI,CAAC,CAAA;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;gBAC/G,CAAC,CAAA;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,KAAK,CAAA;gBACnE,IAAI,KAAmC,CAAA;gBACvC,IAAI,CAAC;oBAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;gBAAC,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACxE,IAAK,SAAmC,CAAC,IAAI,KAAK,QAAQ;wBAAE,SAAQ;oBACpE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;gBAC9E,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;gBACvJ,IAAI,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAAC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;gBAAC,CAAC;gBAC7G,OAAO,KAAK,EAAE,CAAC;oBACb,IAAK,KAA+B,CAAC,IAAI,KAAK,OAAO;wBAAE,MAAM,KAAK,CAAA;oBAClE,IAAI,CAAC;wBAAC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;4BAAE,UAAU,CAAC,IAAI,CAAC,CAAA;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;gBAClI,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC1E,CAAC;YAAS,CAAC;QAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAAY;IACxD,MAAM,IAAI,GAAG,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,GAAG,KAAK,CAAA;IAC/J,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IACtD,IAAI,CAAC;QACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAC,MAAM,EAAE,EAAE;YACzC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAC,MAAM,CAAC,CAAA;YAC1B,KAAK,CAAC,MAAM,CAAC,EAAC,IAAI,EAAC,WAAW,EAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,EAAC,GAAE,EAAE,GAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAC,MAAM,CAAC,CAAC,CAAA,OAAO,EAAE,CAAA,CAAA,CAAC,CAAC,CAAA;QAC3G,CAAC,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,kIAAkI,CAAC,CAAA;IAAC,CAAC;IAC/J,IAAI,WAAuB,CAAA;IAC3B,IAAI,CAAC;QAAC,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAAC,CAAC;IAC9C,OAAM,KAAK,EAAE,CAAC;QAAC,MAAM,IAAI,OAAO,CAAO,OAAO,CAAA,EAAE,CAAA,KAAK,CAAC,KAAK,CAAC,GAAE,EAAE,CAAA,OAAO,EAAE,CAAC,CAAC,CAAC;QAAC,MAAM,KAAK,CAAA;IAAC,CAAC;IAC1F,OAAO,KAAK,IAAI,EAAE;QAChB,IAAI,CAAC;YAAC,WAAW,EAAE,CAAA;QAAC,CAAC;gBACb,CAAC;YAAC,MAAM,IAAI,OAAO,CAAO,OAAO,CAAA,EAAE,CAAA,KAAK,CAAC,KAAK,CAAC,GAAE,EAAE,CAAA,OAAO,EAAE,CAAC,CAAC,CAAA;QAAC,CAAC;IAC1E,CAAC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,KAAK,GAA0B,OAAO,CAAC,KAAK,CAAA;IAChD,IAAI,MAAM,GAA0B,OAAO,CAAC,MAAM,CAAA;IAClD,IAAI,OAA2B,EAAE,QAA4B,CAAA;IAC7D,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,4EAA4E;YAC5E,mEAAmE;YACnE,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;YAC7E,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YACnC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;YAC/E,MAAM,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QACxC,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,KAAK,yBAAyB,MAAM,CAAC,CAAA;QAClD,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;QACvE,OAAO,MAAM,IAAI,OAAO,CAAS,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,oDAAoD,EAAE,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAA;IAC5L,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAA;IAAC,CAAC;YAC1G,CAAC;QACP,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAAE,KAAwB,CAAC,OAAO,EAAE,CAAA;QAAC,CAAC;QAClE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAAE,MAA0B,CAAC,OAAO,EAAE,CAAA;QAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAkB,EAAE,KAAa,EAAE,OAAe;IACzF,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAA;IAC7E,6EAA6E;IAC7E,MAAM,IAAI,GAAG,GAAG,mBAAmB,OAAO,CAAA;IAC1C,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC/D,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAA;IACvD,IAAI,CAAC;QACH,IAAI,KAAK,GAAiE,EAAE,CAAA;QAC5E,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QAC1F,IAAI,KAAK,CAAC,UAAU,IAAI,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,uEAAuE;YACvE,yEAAyE;YACzE,8BAA8B,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YAChD,MAAM,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAC5C,KAAK,GAAG,EAAE,CAAA;QACZ,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;YACzG,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;YAC1E,IAAI,QAAQ,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAA;YAC1H,+EAA+E;YAC/E,8BAA8B,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;YACjE,MAAM,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9C,CAAC;QACD,MAAM,aAAa,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,KAAK,CAAC,UAAU,CAAC,CAAA;QAClH,IAAI,aAAa,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,2HAA2H,CAAC,CAAA;QACtK,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,IAAI,gBAAgB,CAAC,UAAU,CAAC;YAAE,OAAM;QAC3E,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAA;QACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAA;QAC5H,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QAC9D,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC9E,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC7E,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAA;QACrJ,4EAA4E;QAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,CAAA;QACpE,IAAI,UAAU,CAAC,WAAW,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAC7F,2EAA2E;QAC3E,iBAAiB,CAAC,mBAAmB,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,uBAAuB,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAA;QAC7R,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;YACzC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;YACxF,YAAY,CAAC,UAAU,CAAC,CAAA;YACxB,IAAI,MAAM,mBAAmB,CAAC,UAAU,CAAC,KAAK,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;YACpH,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,IAAI,OAAO,EAAE,CAAC,KAAK,CAAC,eAAe,IAAI,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACtG,IAAI,OAAO,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,6CAA6C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAA;YAClJ,OAAO,CAAC,GAAG,CAAC,yMAAyM,CAAC,CAAA;QACxN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAiB,CAAC,mBAAmB,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAA;YACnF,8BAA8B,CAAC,UAAU,CAAC,CAAA;YAC1C,MAAM,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAC5C,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;YAAS,CAAC;QAAC,MAAM,WAAW,EAAE,CAAA;IAAC,CAAC;AACnC,CAAC"}
|