- Use trimEnd() instead of trim() in git() to preserve leading whitespace
in porcelain output (fixes status parsing for ' M file' lines)
- Remove unused 'untracked' from FileChange status union
- Use repository.rootUri.fsPath instead of workspaceFolders[0]
- Add explicit null-check for client after try/catch
- Fix test mocks: add isActive/activate, use mockImplementation to throw,
fix expected error message to match production code
The mockGitContext variable was declared without a type annotation,
causing TypeScript to infer a narrow type from the initial assignment
(status: "modified"). This made reassignment with status: "added"
fail with TS2322. Adding the GitContext type allows all valid status
values.
Set the HEADER_TASKID (X-KILOCODE-TASKID) header on outgoing requests
to the Kilo provider, using the session ID as the task identifier.
This follows the same pattern as the existing project ID and machine ID
headers.
Add gitUrl and gitBranch fields to kilo_meta so shared sessions
include repository context. Resolves the best remote (origin > single
available > upstream) and fetches the URL with a 10s in-flight cache.
Introduce X-KILOCODE-FEATURE header for tracking request origin
across different entry points (CLI, VSCode extension, autocomplete).
- Add HEADER_FEATURE, DEFAULT_FEATURE, and ENV_FEATURE constants
- Add getFeatureHeader() helper reading from KILOCODE_FEATURE env var
- Include feature header in buildKiloHeaders() when env var is set
- Set feature to "autocomplete" for FIM/completion requests
- Set KILOCODE_FEATURE="vscode-extension" when spawning CLI from VSCode
- Default to "cli" feature in opencode entry point
- Add unit tests for feature header logic
- Add POST /telemetry/capture endpoint to CLI server
- Add TelemetryProxy singleton in extension (forwards to CLI)
- Add webview telemetry helper (postMessage → extension → CLI)
- Pass telemetry env vars (level, editor_name, platform, machineId) to CLI
- Wire up KiloProvider as TelemetryPropertiesProvider
- Replace TelemetryStub with real TelemetryProxy in autocomplete
- 53 telemetry events covering tasks, LLM, tools, UI, autocomplete, etc.