forked from Kilo-Org/kilocode
-
Notifications
You must be signed in to change notification settings - Fork 1
[pull] main from Kilo-Org:main #362
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Track when a suggestion is shown to the user for the first time. This helps count only the requests that were actually displayed to users. - Add AUTOCOMPLETE_UNIQUE_SUGGESTION_SHOWN to TelemetryEventName enum - Add captureUniqueSuggestionShown method to AutocompleteTelemetry - Track shown suggestions using a Set with text+prefix+suffix as key - Integrate tracking in GhostInlineCompletionProvider for both cache hits and LLM responses - Add comprehensive tests for the new telemetry event
- Add shownToUser flag to FillInAtCursorSuggestion - Update findMatchingSuggestion to return isFirstTimeShown flag - Simplify AutocompleteTelemetry.captureUniqueSuggestionShown signature - Remove ID generation and Set tracking logic - Update tests to match new implementation
Only count suggestions as 'unique shown' if they were visible for at least 300ms, filtering out suggestions that flash briefly when typing quickly. - Add firstShownAt and uniqueTelemetryFired fields to FillInAtCursorSuggestion - Add MIN_VISIBILITY_DURATION_MS constant (300ms) - Add updateVisibilityTracking() helper function - Add shouldFireUniqueTelemetry flag to MatchingSuggestionWithFirstTimeFlag - Add comprehensive tests for visibility duration tracking
…metry The previous implementation relied on subsequent calls to findMatchingSuggestion to check if 300ms had elapsed since the suggestion was first shown. This approach was flawed because there's no guarantee the function would be called again - if the user just stares at the suggestion without typing, no telemetry would fire. This fix implements proper timeout-based tracking: 1. When a suggestion is shown, start a 300ms timer 2. After 300ms, check if the same suggestion is still being displayed 3. If yes, fire AUTOCOMPLETE_UNIQUE_SUGGESTION_SHOWN telemetry 4. If no (different suggestion or dismissed), don't fire Changes: - Added VisibilityTrackingState interface to track current suggestion - Added startVisibilityTracking() and cancelVisibilityTracking() methods - Modified findMatchingSuggestion to return suggestionKey instead of shouldFireUniqueTelemetry - Removed firstShownAt and uniqueTelemetryFired from FillInAtCursorSuggestion type - Updated tests to reflect the new implementation
The isFirstTimeShown flag and shownToUser property were computed but never actually consumed by any code. The visibility-based telemetry system uses suggestionKey and firedUniqueTelemetryKeys Set for deduplication instead. Removed: - isFirstTimeShown property from MatchingSuggestionWithVisibilityKey interface - shownToUser property from FillInAtCursorSuggestion interface - All logic computing and returning isFirstTimeShown in findMatchingSuggestion() - Related test assertions and test data
- Created new documentation page for AGENTS.md files in Agent Behavior section - Covers what AGENTS.md is, syntax, file location, practical examples, and best practices - Explains how AGENTS.md works in Kilo Code and interacts with other configuration systems - Includes troubleshooting, migration guides, and advanced topics - Added page to sidebars.ts navigation under Agent Behavior section - Added changeset for documentation addition
…LineOnly When applyFirstLineOnly truncates a multi-line suggestion to just the first line, the suggestionKey now reflects the truncated text instead of keeping the original key. This ensures visibility tracking correctly identifies the truncated suggestion as different from the full multi-line version. - Extract replaceSuggestionInSuggestionKey helper function - Add tests for suggestionKey update behavior
…g key Move suggestion key serialization from GhostInlineCompletionProvider to AutocompleteTelemetry. The startVisibilityTracking method now accepts the full FillInAtCursorSuggestion object and derives the key internally. - Move getSuggestionKey() to AutocompleteTelemetry and export it - Rename MatchingSuggestionWithVisibilityKey to MatchingSuggestionWithFillIn - Change suggestionKey property to fillInAtCursor - Update applyFirstLineOnly to create new FillInAtCursorSuggestion when truncating - Update all tests to use the new API
…elemetry feat: add AUTOCOMPLETE_UNIQUE_SUGGESTION_SHOWN telemetry event
Changeset version bump
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
This fixes that behaviour, but longterm I will switch away from using text :P
The test now expects fillInAtCursor to be preserved unchanged when truncating multi-line suggestions, ensuring consistent telemetry keys.
Removed multiple practical examples and guidelines related to React, backend API, security, documentation, testing, and project standards from agents-md.md.
when typing into it was counting each letter as a suggestion
…eview-fork-security Revert "docs: update code review docs to clarify fork PRs"
* spike: migrate worktree and git logic from CLI to agent manager * chore: add changeset for worktree migration * docs: document worktree location for parallel mode * chore: increase agent commit timeout to 60s * Simplify changeset * fix: make WorktreeManager tests cross-platform compatible - Add helper to normalize path separators for assertions - Fix tests to handle both / and \ in paths (Windows vs Unix)
* feat(cli): add --append-system-prompt option - Add --append-system-prompt CLI flag to append custom instructions to system prompt - Pass appendSystemPrompt through CLI -> ExtensionService -> ExtensionHost -> ExtensionState - Integrate with system prompt generation in src/core/prompts/system.ts - Add tests for CLI flag parsing and system prompt appending - Add changeset for patch release * fix(cli): add appendSystemPrompt to options type exclusion The appendSystemPrompt property was added to ExtensionServiceOptions but not properly excluded from the Required<> type constraint, causing a TypeScript error. This fix: 1. Adds appendSystemPrompt to the Omit<> list in the options type 2. Adds appendSystemPrompt as an optional property in the type union 3. Spreads appendSystemPrompt into the options object when provided * fix: use proper kilocode_change markers for multi-line block Changed single-line comment to start/end markers for the multi-line appendSystemPrompt block in system.ts as per project conventions. * fix(cli): complete appendSystemPrompt data flow from CLI to system prompt The --append-system-prompt CLI option was not working because the value was not being properly propagated through the full chain: 1. Added appendSystemPrompt to globalSettingsSchema in packages/types so it's recognized as a valid RooCodeSettings key 2. Added sync logic in ExtensionHost.syncConfigurationMessages() to send appendSystemPrompt to the extension via updateSettings message 3. Added appendSystemPrompt to getState() return object in ClineProvider.ts so it's included in ClineProviderState (which is passed to SYSTEM_PROMPT) 4. Added appendSystemPrompt to CLI's ExtensionState interface for type safety The full data flow is now: CLI options -> ExtensionService -> ExtensionHost.syncConfigurationMessages() -> updateSettings message -> contextProxy.setValue() -> getState() -> ClineProviderState -> SYSTEM_PROMPT() -> appended to prompt * chore: remove unnecessary kilocode_change markers from CLI code CLI code is Kilo Code-specific and doesn't need kilocode_change markers since it won't be merged with upstream Roo Code. --------- Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com> Co-authored-by: marius-kilocode <[email protected]>
Reorganize for clarity
Allow null for tool arguments
docs: Add comprehensive AGENTS.md documentation page
Reorganize Skills documentation
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )