litmus-cli 1.4.83 → 1.4.84-desktop.2

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.
@@ -119,38 +119,13 @@ const CODEX_ROLLOUT_NAME = /^rollout-.+\.jsonl(\.zst)?$/;
119
119
  // match too. New unknown wrappers fail open here and are then caught by the
120
120
  // source gate + isSystemInjectedPrompt; genuinely new injection shapes are an
121
121
  // accepted under-capture, never a mis-attribution.
122
- const CODEX_CONTEXTUAL_PREFIXES = [
123
- "# AGENTS.md instructions",
124
- "<user_instructions>",
125
- "<environment_context>",
126
- "<environments_instructions>",
127
- "<apps_instructions>",
128
- "<skills_instructions>",
129
- "<plugins_instructions>",
130
- "<tools>",
131
- "<collaboration_mode>",
132
- "<multi_agent_mode>",
133
- "<multi_agent_role>",
134
- "<context_window>",
135
- "<context_window_guidance>",
136
- "<realtime_conversation>",
137
- "<user_shell_command>",
138
- "<turn_aborted>",
139
- "<subagent_notification>",
140
- "<codex_internal_context",
141
- "<goal_context>",
142
- "<permissions instructions>",
143
- "<model_switch>",
144
- "<token_budget>",
145
- "<rollout_budget>",
146
- ];
122
+ const codexContextualText = createRequire(import.meta.url)("./hook-logger.cjs").isCodexContextualText;
147
123
  // Codex sometimes prepends model context to the typed message in one text,
148
124
  // separated by this marker (codex-rs protocol USER_MESSAGE_BEGIN); everything
149
125
  // before it is plumbing, the candidate typed what follows.
150
126
  const CODEX_USER_MESSAGE_BEGIN = "## My request for Codex:";
151
127
  export function isCodexContextualText(text) {
152
- const trimmed = text.trimStart();
153
- return CODEX_CONTEXTUAL_PREFIXES.some((prefix) => trimmed.slice(0, prefix.length).toLowerCase() === prefix.toLowerCase());
128
+ return codexContextualText(text);
154
129
  }
155
130
  /** The candidate-typed text of a Codex user message, or null when it is plumbing. */
156
131
  export function codexTypedPrompt(text) {
@@ -1 +1 @@
1
- {"version":3,"file":"backfill-tools.js","sourceRoot":"","sources":["../../src/lib/backfill-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backfill-tools.js","sourceRoot":"","sources":["../../src/lib/backfill-tools.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ export class ConnectionAttempt {
51
51
  this.steps.push({ stage, elapsedMs: this.elapsed() });
52
52
  }
53
53
  editor(route, version) {
54
- this.route = ["cursor", "vscode", "ssh", "browser"].includes(route) ? route : "unknown";
54
+ this.route = ["cursor", "vscode", "ssh", "browser", "codex", "claude"].includes(route) ? route : "unknown";
55
55
  this.version = version && /^\d+\.\d+\.\d+(?:[-+][\w.-]+)?$/.test(version) ? version : null;
56
56
  }
57
57
  finish(result) { this.result = result; }
@@ -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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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Native desktop sessions execute inside the hosted workspace over its SSH alias.
3
+ * Connection contracts (verified 2026-10-21):
4
+ * https://learn.chatgpt.com/docs/remote-connections#connect-to-an-ssh-host
5
+ * https://code.claude.com/docs/en/desktop#open-an-ssh-session-from-a-link
6
+ */
7
+ export type DesktopApp = "codex" | "claude";
8
+ export declare const DESKTOP_WORKSPACE_FOLDER = "/home/candidate/workspace";
9
+ export declare function claudeDesktopUrl(alias: string): string;
10
+ export declare function desktopAppInstructions(app: DesktopApp, alias: string): string[];
11
+ /** Read only configuration presence; never print credentials or candidate files. */
12
+ export declare function desktopAppProbeCommand(app: DesktopApp): string;
13
+ //# sourceMappingURL=desktop-app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop-app.d.ts","sourceRoot":"","sources":["../../src/lib/desktop-app.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAA;AAC3C,eAAO,MAAM,wBAAwB,8BAA8B,CAAA;AAEnE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAc/E;AAED,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAI9D"}
@@ -0,0 +1,30 @@
1
+ export const DESKTOP_WORKSPACE_FOLDER = "/home/candidate/workspace";
2
+ export function claudeDesktopUrl(alias) {
3
+ if (!/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(alias))
4
+ throw new Error("Invalid SSH host alias");
5
+ return `claude://code/new?ssh_host=${encodeURIComponent(alias)}&ssh_folder=${encodeURIComponent(DESKTOP_WORKSPACE_FOLDER)}`;
6
+ }
7
+ export function desktopAppInstructions(app, alias) {
8
+ if (app === "claude")
9
+ return [
10
+ "Open Claude Desktop (v2.110.0 or later), sign in, and confirm this SSH connection in the Code tab:",
11
+ claudeDesktopUrl(alias),
12
+ `SSH host: ${alias}`,
13
+ `Project folder: ${DESKTOP_WORKSPACE_FOLDER}`,
14
+ "Use the project folder directly rather than creating a worktree. Submit from your Litmus assessment page.",
15
+ ];
16
+ return [
17
+ "Open Codex App, then Settings > Connections > SSH.",
18
+ `Add or enable SSH host: ${alias}`,
19
+ `Choose project folder: ${DESKTOP_WORKSPACE_FOLDER}`,
20
+ "Start a chat in that remote project. Submit from your Litmus assessment page.",
21
+ ];
22
+ }
23
+ /** Read only configuration presence; never print credentials or candidate files. */
24
+ export function desktopAppProbeCommand(app) {
25
+ if (app === "codex")
26
+ return "bash -lc 'command -v codex >/dev/null && codex app-server --help >/dev/null 2>&1 && test -r ~/.codex/config.toml && test -r /etc/codex/hooks.json && test -r /etc/codex/requirements.toml && test -r /opt/litmus/lib/hook-logger.cjs && printf ready'";
27
+ // Desktop uploads its own runtime and reads remote user settings, including hooks.
28
+ return `python3 -c 'import json,pathlib; p=pathlib.Path.home()/".claude/settings.json"; s=json.loads(p.read_text()); h=s.get("hooks",{}); assert all(any(e.get("command","").split()[:3] == ["node","/opt/litmus/lib/hook-logger.cjs","claude"] for g in h.get(k,[]) for e in g.get("hooks",[])) for k in ("UserPromptSubmit","Stop")); assert isinstance(s.get("env"),dict); print("ready")'`;
29
+ }
30
+ //# sourceMappingURL=desktop-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop-app.js","sourceRoot":"","sources":["../../src/lib/desktop-app.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,wBAAwB,GAAG,2BAA2B,CAAA;AAEnE,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC1F,OAAO,8BAA8B,kBAAkB,CAAC,KAAK,CAAC,eAAe,kBAAkB,CAAC,wBAAwB,CAAC,EAAE,CAAA;AAC7H,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAe,EAAE,KAAa;IACnE,IAAI,GAAG,KAAK,QAAQ;QAAE,OAAO;YAC3B,oGAAoG;YACpG,gBAAgB,CAAC,KAAK,CAAC;YACvB,aAAa,KAAK,EAAE;YACpB,mBAAmB,wBAAwB,EAAE;YAC7C,2GAA2G;SAC5G,CAAA;IACD,OAAO;QACL,oDAAoD;QACpD,2BAA2B,KAAK,EAAE;QAClC,0BAA0B,wBAAwB,EAAE;QACpD,+EAA+E;KAChF,CAAA;AACH,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,sBAAsB,CAAC,GAAe;IACpD,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,uPAAuP,CAAA;IACnR,mFAAmF;IACnF,OAAO,uXAAuX,CAAA;AAChY,CAAC"}
@@ -740,10 +740,10 @@ const TRUNCATION_MARKER = "...[truncated]"
740
740
  * a character cap can be far over a byte one in CJK, Devanagari, emoji, or
741
741
  * heavily escaped text.
742
742
  */
743
- function trimEventToBytes(event, field, maxBytes) {
743
+ function trimEventToBytes(event, field, maxBytes, measureBytes) {
744
744
  const full = typeof event[field] === "string" ? event[field] : ""
745
745
  let kept = full.length
746
- while (Buffer.byteLength(JSON.stringify(event), "utf8") > maxBytes) {
746
+ while ((measureBytes ? measureBytes(event) : Buffer.byteLength(JSON.stringify(event), "utf8")) > maxBytes) {
747
747
  if (kept === 0) return false // the non-body fields alone blow the cap
748
748
  kept = Math.floor(kept / 2)
749
749
  event[field] = kept ? full.slice(0, kept) + TRUNCATION_MARKER : ""
@@ -804,10 +804,11 @@ function buildDrainFrame(event, hookEventName) {
804
804
  if (event.file_writes && typeof event.file_writes === "object") {
805
805
  frame.file_writes = event.file_writes
806
806
  }
807
+ if (event.tool_calls?.trace) frame.tool_calls = event.tool_calls
807
808
  frame.text = body
808
- if (event.type === "ai_prompt" && event.tool === "cursor") {
809
+ if ((event.type === "ai_prompt" && event.tool === "cursor") || event.tool_calls?.trace) {
809
810
  const encoded = JSON.stringify(frame)
810
- return body && Buffer.byteLength(encoded, "utf8") <= MAX_CURSOR_FRAME_BYTES
811
+ return (body || event.tool_calls?.trace) && Buffer.byteLength(encoded, "utf8") <= MAX_CURSOR_FRAME_BYTES
811
812
  ? encoded : null
812
813
  }
813
814
  // Trim the BODY only, so the metering and the pairing ids always survive —
@@ -990,8 +991,9 @@ function isResponseEvent(data) {
990
991
  return RESPONSE_HOOK_EVENTS.has(data.hook_event_name)
991
992
  }
992
993
 
993
- function readTranscriptRaw(transcriptPath) {
994
- const size = fs.statSync(transcriptPath).size
994
+ function readTranscriptRaw(transcriptPath, endOffset) {
995
+ const fileSize = fs.statSync(transcriptPath).size
996
+ const size = Number.isSafeInteger(endOffset) ? Math.min(fileSize, Math.max(0, endOffset)) : fileSize
995
997
  if (size > MAX_TRANSCRIPT_BYTES) {
996
998
  const fd = fs.openSync(transcriptPath, "r")
997
999
  try {
@@ -1005,6 +1007,14 @@ function readTranscriptRaw(transcriptPath) {
1005
1007
  fs.closeSync(fd)
1006
1008
  }
1007
1009
  }
1010
+ if (Number.isSafeInteger(endOffset)) {
1011
+ const fd = fs.openSync(transcriptPath, "r")
1012
+ try {
1013
+ const buf = Buffer.alloc(size)
1014
+ const count = fs.readSync(fd, buf, 0, size, 0)
1015
+ return buf.subarray(0, count).toString("utf8")
1016
+ } finally { fs.closeSync(fd) }
1017
+ }
1008
1018
  return fs.readFileSync(transcriptPath, "utf8")
1009
1019
  }
1010
1020
 
@@ -2101,7 +2111,14 @@ async function main() {
2101
2111
  // isSystemInjectedPrompt.
2102
2112
  if (isSystemInjectedPrompt(content)) return
2103
2113
  }
2104
- if (!content) return
2114
+ let toolTrace = null
2115
+ if (responseEvent && !selftestNonce && typeof parsed?.transcript_path === "string"
2116
+ && (hostedWorkspaceHome || hostedAtStart?.disclosureVersion === "hosted_local_v2")) {
2117
+ try { toolTrace = parseToolEvidence(readTranscriptRaw(parsed.transcript_path), effectiveTool) }
2118
+ catch { toolTrace = { version: 1, records: [], complete: false, reason: "transcript_unavailable", dropped: 0 } }
2119
+ }
2120
+ if (!content && !toolTrace?.records?.length) return
2121
+ content = content || ""
2105
2122
 
2106
2123
  const litmusDir = resolveAssessmentDir(parsed, workspaceRoots)
2107
2124
  if (!litmusDir) return
@@ -2185,6 +2202,7 @@ async function main() {
2185
2202
  editLedger = takeCursorFileEdits(sessionId, turnRecord ? turnRecord.ts : null)
2186
2203
  if (editLedger) event.file_writes = editLedger.writes
2187
2204
  }
2205
+ if (toolTrace) event.tool_calls = { trace: toolTrace }
2188
2206
  // The turn's model and token counts (ENG-1956). Attached BEFORE the byte-cap
2189
2207
  // loop below so their bytes are counted against the same budget the body is
2190
2208
  // trimmed to fit — otherwise a reply trimmed to exactly the cap could be
@@ -2206,7 +2224,7 @@ async function main() {
2206
2224
  // still the final storage bound.
2207
2225
  const MAX_SERIALIZED_BYTES = 60000
2208
2226
  const bodyField = responseEvent ? "text" : "prompt"
2209
- if (!fullCursorPrompt) trimEventToBytes(event, bodyField, MAX_SERIALIZED_BYTES)
2227
+ if (!fullCursorPrompt) trimEventToBytes(event, bodyField, MAX_SERIALIZED_BYTES, toolTrace ? storageBytes : undefined)
2210
2228
  else if (hostedAtStart && !trimEventToBytes(event, bodyField, 6_010_000)) return
2211
2229
 
2212
2230
  // Record that this turn's reply is captured, so the sibling `stop` hook
@@ -2271,8 +2289,116 @@ async function main() {
2271
2289
  // has settled and its timers are cleared (the revival spawn is unref'd).
2272
2290
  }
2273
2291
 
2292
+ // Structured tool records only. Never collect reasoning or assistant prose here.
2293
+
2294
+ // Shared with backfill-tools.ts: injected context is never a new human turn.
2295
+ const CODEX_CONTEXTUAL_PREFIXES = [
2296
+ "# AGENTS.md instructions",
2297
+ "<user_instructions>",
2298
+ "<environment_context>",
2299
+ "<environments_instructions>",
2300
+ "<apps_instructions>",
2301
+ "<skills_instructions>",
2302
+ "<plugins_instructions>",
2303
+ "<tools>",
2304
+ "<collaboration_mode>",
2305
+ "<multi_agent_mode>",
2306
+ "<multi_agent_role>",
2307
+ "<context_window>",
2308
+ "<context_window_guidance>",
2309
+ "<realtime_conversation>",
2310
+ "<user_shell_command>",
2311
+ "<turn_aborted>",
2312
+ "<subagent_notification>",
2313
+ "<codex_internal_context",
2314
+ "<goal_context>",
2315
+ "<permissions instructions>",
2316
+ "<model_switch>",
2317
+ "<token_budget>",
2318
+ "<rollout_budget>",
2319
+ ]
2320
+ function isCodexContextualText(text) {
2321
+ const trimmed = typeof text === "string" ? text.trimStart().toLowerCase() : ""
2322
+ return CODEX_CONTEXTUAL_PREFIXES.some(prefix => trimmed.startsWith(prefix.toLowerCase()))
2323
+ }
2324
+ // Python's ingest filter budgets JSON with ensure_ascii=True. Bound the same
2325
+ // representation here; UTF-8 alone undercounts CJK and surrogate-pair output.
2326
+ function storageBytes(value) {
2327
+ const json = JSON.stringify(value).replace(/[^\x00-\x7f]/g, c => "\\u" + c.charCodeAt(0).toString(16).padStart(4, "0"))
2328
+ return Buffer.byteLength(json, "utf8")
2329
+ }
2330
+
2331
+ const MAX_RECORDS = 128
2332
+ const MAX_BYTES = 48000
2333
+ function boundedText(value, cap) {
2334
+ const full = typeof value === 'string' ? value : JSON.stringify(value ?? null)
2335
+ let text = full
2336
+ while (storageBytes(text) > cap) text = text.slice(0, Math.floor(text.length * 0.9))
2337
+ if (text && /[\uD800-\uDBFF]$/.test(text)) text = text.slice(0, -1)
2338
+ return { text, bytes: Buffer.byteLength(full, 'utf8'), retainedBytes: Buffer.byteLength(text, 'utf8'), sha256: crypto.createHash('sha256').update(full).digest('hex') }
2339
+ }
2340
+
2341
+ /** Only the final genuine user turn is in scope. A bounded tail without its
2342
+ * boundary is unavailable, never a license to import historical tool output. */
2343
+ function parseToolEvidence(raw, tool) {
2344
+ let records = [], boundary = false, seen = new Set(), dropped = 0
2345
+ for (const [lineIndex, line] of raw.split('\n').entries()) {
2346
+ let row
2347
+ try { row = JSON.parse(line) } catch { continue }
2348
+ if (!row || row.isMeta || row.isSidechain) continue
2349
+ const content = row.message?.content
2350
+ const user = row.type === 'user' || row.role === 'user'
2351
+ const prompt = user && (typeof content === 'string' || (Array.isArray(content) && content.some(b => b?.type === 'text') && !content.some(b => b?.type === 'tool_result')))
2352
+ if (row.type === 'event_msg' && row.payload?.type === 'user_message') {
2353
+ if ((row.payload.kind !== undefined && row.payload.kind !== 'plain') || isCodexContextualText(row.payload.message)) continue
2354
+ }
2355
+ if (row.type === 'response_item' && row.payload?.type === 'message' && row.payload.role === 'user'
2356
+ && Array.isArray(row.payload.content) && row.payload.content.some(b => b?.type === 'input_text' && isCodexContextualText(b.text))) continue
2357
+ const codexPrompt = (row.type === 'event_msg' && row.payload?.type === 'user_message') || (row.type === 'response_item' && row.payload?.type === 'message' && row.payload.role === 'user' && Array.isArray(row.payload.content) && row.payload.content.some(b => b?.type === 'input_text'))
2358
+ if (prompt || codexPrompt) { records = []; boundary = true; seen = new Set(); dropped = 0; continue }
2359
+ if (!boundary) continue
2360
+ let candidates = []
2361
+ if ((row.type === 'assistant' || row.role === 'assistant') && Array.isArray(content)) {
2362
+ // Native Cursor omits call IDs. The explicit local namespace identifies
2363
+ // transcript positions, without asserting a vendor ID or a result match.
2364
+ candidates = content.flatMap((b, blockIndex) => b?.type === 'tool_use' ? [{ kind: 'call',
2365
+ id: b.id ?? (tool === 'cursor' ? `local-cursor:${crypto.createHash('sha256').update(line).digest('hex').slice(0, 16)}:${lineIndex}:${blockIndex}` : undefined),
2366
+ name: b.name, input: b.input }] : [])
2367
+ } else if (user && Array.isArray(content)) {
2368
+ candidates = content.filter(b => b?.type === 'tool_result').map(b => ({ kind: 'result', id: b.tool_use_id, output: b.content, ok: b.is_error !== true }))
2369
+ } else if (row.type === 'response_item') {
2370
+ const p = row.payload || {}
2371
+ if (['function_call', 'custom_tool_call'].includes(p.type)) candidates = [{ kind: 'call', id: p.call_id, name: p.name, input: p.arguments ?? p.input }]
2372
+ if (['function_call_output', 'custom_tool_call_output'].includes(p.type)) candidates = [{ kind: 'result', id: p.call_id, output: p.output }]
2373
+ }
2374
+ for (const record of candidates) {
2375
+ if (typeof record.id !== 'string' || !record.id || record.id.length > 128) continue
2376
+ if (record.kind === 'call' && (typeof record.name !== 'string' || !record.name || record.name.length > 128)) continue
2377
+ const key = record.kind + ':' + record.id
2378
+ if (seen.has(key)) continue
2379
+ seen.add(key)
2380
+ if (records.length >= MAX_RECORDS) { dropped++; continue }
2381
+ const field = record.kind === 'call' ? 'input' : 'output'
2382
+ records.push({ kind: record.kind, id: record.id, ...(record.name ? { name: record.name } : {}), ...(typeof record.ok === 'boolean' ? { ok: record.ok } : {}), [field]: boundedText(record[field], 40000) })
2383
+ }
2384
+ }
2385
+ while (storageBytes(records) > MAX_BYTES) { records.pop(); dropped++ }
2386
+ const clipped = records.some(r => [r.input, r.output].some(v => v && v.bytes !== v.retainedBytes))
2387
+ const results = new Set(records.filter(r => r.kind === 'result').map(r => r.id))
2388
+ const missing = records.some(r => r.kind === 'call' && !results.has(r.id))
2389
+ return { version: 1, records, complete: boundary && tool !== 'cursor' && !clipped && !dropped && !missing,
2390
+ reason: !boundary ? 'turn_boundary_unavailable' : tool === 'cursor' ? 'tool_results_not_provided' : dropped ? 'record_budget' : clipped ? 'output_preview_limit' : missing ? 'tool_results_missing' : 'complete', dropped }
2391
+ }
2392
+
2393
+
2394
+
2274
2395
  // Exported for unit tests only; every hook invocation runs this file directly.
2275
2396
  module.exports = {
2397
+ parseToolEvidence,
2398
+ storageBytes,
2399
+ isCodexContextualText,
2400
+ readTranscriptRaw,
2401
+ boundedText,
2276
2402
  hostedCaptureWindow,
2277
2403
  nativeSessionPath,
2278
2404
  watcherPresumedDead,
@@ -1,6 +1,6 @@
1
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 tools across this computer, including outside this workspace. The hiring company can review them alongside workspace activity. Capture ends with the coding session or pauses within ten seconds if offline. Browser AI and Copilot are not captured. Restart open AI tools to load capture hooks.";
2
+ export declare const HOSTED_CAPTURE_DISCLOSURE_VERSION = "hosted_local_v2";
3
+ export declare const HOSTED_CAPTURE_DISCLOSURE = "During this assessment, Litmus records prompts, responses, tool calls and their results from supported AI tools across this computer, including outside this workspace. The hiring company can review them alongside workspace activity. Capture ends with the coding session or pauses within ten seconds if offline. Browser AI and Copilot are not captured. Restart open AI tools to load capture hooks.";
4
4
  export declare const HOSTED_CAPTURE_FILE: string;
5
5
  export declare function atomicPrivateJson(file: string, value: unknown): void;
6
6
  export declare function captureLease(backendUrl: string, token: string, accept?: boolean): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-capture.d.ts","sourceRoot":"","sources":["../../src/lib/hosted-capture.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAMhD,eAAO,MAAM,iCAAiC,oBAAoB,CAAA;AAClE,eAAO,MAAM,yBAAyB,sXAAsX,CAAA;AAC5Z,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;;GAEG;AACH,wBAAsB,kCAAkC,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC1F;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD1G"}
1
+ {"version":3,"file":"hosted-capture.d.ts","sourceRoot":"","sources":["../../src/lib/hosted-capture.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAMhD,eAAO,MAAM,iCAAiC,oBAAoB,CAAA;AAClE,eAAO,MAAM,yBAAyB,iZAAiZ,CAAA;AACvb,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;;GAEG;AACH,wBAAsB,kCAAkC,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC1F;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD1G"}
@@ -11,8 +11,8 @@ import { releaseAiTrackingForAssessment, readRegistrySnapshot, pruneOrphanedCapt
11
11
  import { retireAiCaptureForEndedSession, sessionOverMarked } from "./session-over.js";
12
12
  import { findShadowConfigForDir } from "./shadow.js";
13
13
  import { prepareHostedTranscripts } from "./hosted-transcripts.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 tools across this computer, including outside this workspace. The hiring company can review them alongside workspace activity. Capture ends with the coding session or pauses within ten seconds if offline. Browser AI and Copilot are not captured. Restart open AI tools to load capture hooks.";
14
+ export const HOSTED_CAPTURE_DISCLOSURE_VERSION = "hosted_local_v2";
15
+ export const HOSTED_CAPTURE_DISCLOSURE = "During this assessment, Litmus records prompts, responses, tool calls and their results from supported AI tools across this computer, including outside this workspace. The hiring company can review them alongside workspace activity. Capture ends with the coding session or pauses within ten seconds if offline. Browser AI and Copilot are not captured. Restart open AI tools to load capture hooks.";
16
16
  export const HOSTED_CAPTURE_FILE = path.join(os.homedir(), ".litmus", "hosted-capture.json");
17
17
  export function atomicPrivateJson(file, value) {
18
18
  mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
@@ -228,7 +228,7 @@ export async function startHostedCapture(meta, token, apiBase) {
228
228
  throw new Error("This local capture session is already retired");
229
229
  prepareHostedTranscripts(projectDir, requestStarted);
230
230
  // Only enable the routing window after consent is persisted by the server.
231
- 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 });
231
+ atomicPrivateJson(HOSTED_CAPTURE_FILE, { disclosureVersion: HOSTED_CAPTURE_DISCLOSURE_VERSION, projectDir, tokenKey: key, startedAt: requestStarted, expiresAt: requestStarted + lease.leaseSeconds * 1000, receipt: lease.receipt, serverTime: lease.serverTime, leaseRequestStarted: requestStarted, leaseResponseReceivedAt: lease.receivedAt });
232
232
  try {
233
233
  const hooks = setupAiTracking(projectDir);
234
234
  if (hooks.mode !== "user")