desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs
Comment 1, line 1
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:1
//! Built-in Visual Studio GitHub Copilot telemetry adapter. The local JSONL path isComment 2, line 2
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:2
//! <temporary directory>/VSGitHubCopilotLogs/traces/<hex>_VSGitHubCopilot_traces.jsonl:Comment 3, line 3
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:3
//! verified VS 18 components automatically write one OTLP resourceSpans batch per line.Comment 4, line 4
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:4
//! This does not verify all VS 2022/older extensions; see m9-vs-copilot-discovery.md for version limits.Comment 5, line 5
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:5
//!Comment 6, line 6
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:6
//! Format references: read-only local checks on 2026-10-01 using VS 18 CommunityComment 7, line 7
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:7
//! 18.10.1197+4b9e241b86 and DevHub/.NET 10.0.12.Comment 8, line 8
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:8
//! - resource.attributes includes service.name=vs-copilot, service.namespace=visualstudio,Comment 9, line 9
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:9
//! service.version and process.runtime.name=DevHub.Comment 10, line 10
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:10
//! - chat <model> CLIENT spans (kind=3) represent individual LLM requests and containComment 11, line 11
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:11
//! gen_ai.usage.input_tokens/gen_ai.usage.output_tokens,Comment 12, line 12
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:12
//! gen_ai.usage.cache_read.input_tokens with string int64 values such as {intValue:"8697"},Comment 13, line 13
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:13
//! gen_ai.request.model/gen_ai.response.model,Comment 14, line 14
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:14
//! gen_ai.conversation.id (the VSGitHubCopilot session UUID),Comment 15, line 15
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:15
//! copilot_chat.root_request_id and server.address=api.githubcopilot.com.Comment 16, line 16
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:16
//! startTimeUnixNano/endTimeUnixNano are numeric/string nanosecond timestamps.Comment 17, line 17
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:17
//! - invoke_agent GitHub Copilot root spans summarize whole turns without usage.Comment 18, line 18
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:18
//! Read chat spans and skip summaries, following the OTel duplicate-counting warning.Comment 19, line 19
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:19
//! - gen_ai.input.messages/gen_ai.output.messages/gen_ai.tool.definitions containComment 20, line 20
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:20
//! conversation/tool content; read selected usage keys without storing or printing bodies.Comment 21, line 21
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:21
//!Comment 22, line 22
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:22
//! Temporary files can be deleted by users/system cleanup, and VS rolls telemetry files.Comment 23, line 23
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:23
//! Source disappearance retains imported results through framework file-generation rules; history may be incomplete.Comment 24, line 30
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:30
/// Stateless VS Copilot adapter.Comment 25, line 45
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:45
/// FileOutputResolver uses Path.GetTempPath(); Windows resolves TMP before TEMP.Comment 26, line 46
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:46
/// Collect both variables and the observed default user temporary directory without SKU/year filters.Comment 27, line 47
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:47
/// Use only the supplied context so manual_roots_only/isolated tests cannot read host sources.Comment 28, line 62
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:62
// Current-user GetTempPath fallback; do not enumerate Windows/SystemTemp or other users.Comment 29, line 82
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:82
/// Agent name matches resource service.name="vs-copilot".Comment 30, line 83
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:83
/// The otel adapter uses the same name, grouping both formats under the same Agent.Comment 31, line 113
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:113
// Manual roots accept traces, its VSGitHubCopilotLogs parent or the containing temporary directory.Comment 32, line 321
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:321
/// Default discovery builds VSGitHubCopilotLogs/traces under TEMP and enumerates JSONL files.Comment 33, line 349
desktop/src-tauri/crates/core/src/adapters/vs_copilot/mod.rs:349
/// Manual roots accept traces, the VSGitHubCopilotLogs parent or an individual file.