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.
Files changed (45) hide show
  1. package/README.md +13 -0
  2. package/dist/commands/connect.d.ts +17 -1
  3. package/dist/commands/connect.d.ts.map +1 -1
  4. package/dist/commands/connect.js +51 -4
  5. package/dist/commands/connect.js.map +1 -1
  6. package/dist/commands/forward.d.ts +3 -0
  7. package/dist/commands/forward.d.ts.map +1 -1
  8. package/dist/commands/forward.js +81 -8
  9. package/dist/commands/forward.js.map +1 -1
  10. package/dist/lib/api.d.ts +7 -1
  11. package/dist/lib/api.d.ts.map +1 -1
  12. package/dist/lib/api.js +38 -8
  13. package/dist/lib/api.js.map +1 -1
  14. package/dist/lib/auto-forward.d.ts +3 -1
  15. package/dist/lib/auto-forward.d.ts.map +1 -1
  16. package/dist/lib/auto-forward.js +32 -3
  17. package/dist/lib/auto-forward.js.map +1 -1
  18. package/dist/lib/config.d.ts +1 -0
  19. package/dist/lib/config.d.ts.map +1 -1
  20. package/dist/lib/config.js.map +1 -1
  21. package/dist/lib/connection-attempt.d.ts +13 -2
  22. package/dist/lib/connection-attempt.d.ts.map +1 -1
  23. package/dist/lib/connection-attempt.js +16 -3
  24. package/dist/lib/connection-attempt.js.map +1 -1
  25. package/dist/lib/hook-logger.cjs +54 -3
  26. package/dist/lib/hosted-capture.d.ts +21 -0
  27. package/dist/lib/hosted-capture.d.ts.map +1 -0
  28. package/dist/lib/hosted-capture.js +229 -0
  29. package/dist/lib/hosted-capture.js.map +1 -0
  30. package/dist/lib/hosted-watcher.d.ts +2 -0
  31. package/dist/lib/hosted-watcher.d.ts.map +1 -0
  32. package/dist/lib/hosted-watcher.js +176 -0
  33. package/dist/lib/hosted-watcher.js.map +1 -0
  34. package/dist/lib/session-state.d.ts +61 -0
  35. package/dist/lib/session-state.d.ts.map +1 -0
  36. package/dist/lib/session-state.js +92 -0
  37. package/dist/lib/session-state.js.map +1 -0
  38. package/dist/lib/ssh-client.d.ts +5 -1
  39. package/dist/lib/ssh-client.d.ts.map +1 -1
  40. package/dist/lib/ssh-client.js +22 -3
  41. package/dist/lib/ssh-client.js.map +1 -1
  42. package/dist/lib/tracker.d.ts.map +1 -1
  43. package/dist/lib/tracker.js +7 -2
  44. package/dist/lib/tracker.js.map +1 -1
  45. 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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"}
@@ -1,4 +1,5 @@
1
1
  export interface LitmusConfig {
2
+ captureMode?: "hosted-local";
2
3
  assessmentId: string;
3
4
  assessmentName: string;
4
5
  candidateEmail: string;
@@ -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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
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;AAChS,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,CAAA;AAE7N,6FAA6F;AAC7F,qBAAa,iBAAiB;IAyBhB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAxBjC,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;gBAeV,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,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
+ {"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: Date.now() - this.started });
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: Date.now() - this.started, steps: this.steps, signals: this.signals, facts: this.facts });
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":"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"}
1
+ {"version":3,"file":"connection-attempt.js","sourceRoot":"","sources":["../../src/lib/connection-attempt.ts"],"names":[],"mappings":"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"}
@@ -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
- return findLitmusDir(hintDirs)
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":"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"}