Skip to content

Add Kilo, OpenCode, WorkBuddy, pi-agent, Qwen providers - #8

Merged
akarineren merged 11 commits into
mainfrom
dev
Aug 5, 2026
Merged

Add Kilo, OpenCode, WorkBuddy, pi-agent, Qwen providers#8
akarineren merged 11 commits into
mainfrom
dev

Conversation

@akarineren

Copy link
Copy Markdown
Member

Summary

Adds five usage providers and consolidates the shared package into agentdata/agentdb.

  • Kilo, OpenCode, WorkBuddy, pi-agent, Qwen providers with entry loading and usage tracking
  • OpenCode: model support, project path resolution, rejection logging
  • Codex: patch confirmation and cumulative deltas
  • Removes the shared package, migrating functionality to agentdata and agentdb
  • usage.UnknownProject replaces the "unknown" string across providers
  • Adds TestCompareWithCcusage plus broader cross-provider usage tests

Test plan

  • go vet ./... clean
  • go test -race ./... passes, 28 packages, no failures

Cut as v0.1.6 after merge.

🤖 Generated with Claude Code

…roject for consistency across providers; update related tests
…tive deltas

- Introduced support for tracking file modifications through patches, including confirmation of successful patch applications via new event types.
- Updated token usage calculations to utilize cumulative deltas, ensuring accurate reporting even in cases of counter resets.
- Enhanced the `StableEntryID` function to derive IDs from event details rather than file paths, preventing double-counting during file moves.
- Added tests to validate the new functionality, including handling of patch application success and failure scenarios.
- Implemented relative path handling for uploaded entities and files to obscure local filesystem structure.
- Updated OpenCode message structure to include working directory path.
- Refactored line counting logic to a dedicated function in the usage package.
- Improved project path extraction from CWD, ensuring it handles various edge cases.
- Enhanced OpenCode provider directory resolution for cross-platform compatibility.
- Added comprehensive tests for OpenCode usage scenarios, including token billing and file change tracking.
- Introduced new test cases to validate behavior with user messages and tool interactions.
…unctionality

- Implemented OpenCode provider for loading usage entries from OpenCode data sources.
- Created pi-agent provider to handle usage entries specific to the pi-agent.
- Developed Qwen provider for loading usage entries from Qwen chat files.
- Added shared base functionality for providers to manage paths and filters.
- Implemented entry loading logic for each provider, including parsing and filtering.
- Added unit tests for each provider to ensure correct entry loading and validation.
- Introduced shared utilities for handling file operations and JSON parsing.
…a and agentdb

- Deleted the shared package which contained various utility functions and types.
- Moved relevant functions to the new agentdata package for handling JSON and file operations.
- Introduced agentdb package for SQLite database interactions, including opening connections and querying.
- Added providertest package for shared testing utilities across provider tests.
- Updated usageprovider to utilize new base functionality for entry management.
- Ensured all previous functionalities are preserved and properly integrated into the new structure.
- Introduced tests for the Copilot provider, validating session store entries and usage events.
- Added tests for the Gemini provider, ensuring correct handling of checkpoint formats and message IDs.
- Implemented streaming tests for usage scanning, confirming that appended records are processed correctly.
- Created tests for agent library functionality, verifying upload and scan behaviors without prior state.
- Enhanced parallel sync tests to ensure efficient batching and upload of events during scanning.
The /admin/releases import-and-publish step no longer exists; the update
server reads GitHub Releases directly, so pushing a tag ships to clients
immediately. Also document the tag pattern, asset-name contract, and
ldflags version stamping.
@akarineren
akarineren merged commit 6c11641 into main Aug 5, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant