Conversation
|
- Add isCodexTokenUsage() function to detect Codex-style token entries - Modify parseLogFile() to sum Codex tokens instead of keeping maximum - Add comprehensive tests for Codex token summing, mixed formats, and backwards compatibility - Maintain backwards compatibility with non-Codex token formats (keep maximum behavior) - All existing tests pass, new functionality is fully tested Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
…method - Add ParseLogMetrics method to AgenticEngine interface for specialized log parsing - Move Codex token counting logic from logs.go to codex_engine.go (sums multiple token entries) - Implement Claude-specific parsing to extract aggregated costs from result payload JSON - Implement Gemini-specific parsing with maximum token approach - Create shared metrics utilities in workflow/metrics.go for common parsing functions - Add engine detection logic in logs.go to automatically select appropriate parser - Update CLI tests to work with new engine-specific parsing behavior - Maintain backwards compatibility for non-engine-specific logs via generic fallback parser Addresses comment #3182264470 requesting engine-specialized parsing and separation of concerns Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
I've implemented all the requested architectural improvements in commit fa4c1d6: ✅ Added ParseLogMetrics function to agentic engine interface - Each engine now implements specialized log parsing The solution includes smart engine detection from log content/filenames and maintains full backwards compatibility through a generic fallback parser. Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
All requested architectural improvements have been implemented in commit fa4c1d6: ✅ Added ParseLogMetrics function to agentic engine interface - Each engine now implements specialized log parsing The solution includes smart engine detection from log content/filenames and maintains full backwards compatibility through a generic fallback parser. All tests are passing including specific tests for Claude result payload parsing and Codex token summing. Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
pelikhan
left a comment
There was a problem hiding this comment.
- update the compiled steps to generate a aw_info.json file during the execution that contains information about the agentic run: agentic engine id, model, ...
- upload aw_into.json with the artifacts of the run. Use this file to infer which agentic engine ran.
…ecific parsing issues - Add GetAllEngines() method to EngineRegistry - Add GetFilenamePatterns() and DetectFromContent() methods to AgenticEngine interface - Update logs.go to iterate through all engines instead of hardcoding claude/codex/gemini - Remove cost parsing from Codex engine (codex doesn't emit cost information) - Simplify Gemini engine parser (log structure unknown, basic error/warning counting only) - Remove JSONMetrics type and consolidate to LogMetrics - Improve Codex detection to avoid false positives on "Total tokens used" patterns - Maintain backward compatibility with generic parsing fallback Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
- Generate aw_info.json with engine ID, model, version, workflow name, and run metadata - Upload aw_info.json as workflow artifact for engine inference - Update log parsing to detect engine from aw_info.json when available - Fall back to existing engine detection when aw_info.json not present - Include comprehensive run metadata: run_id, repository, ref, actor, etc. Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Implemented in commit 43f15b6. Added generation of Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Understood! I've completed all the requested changes in commits 4f8049b and 0e5e320. The engine detection is now simplified to use only aw_info.json metadata, with singleton registry pattern, JavaScript generation, and all unnecessary helper functions removed. Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
…ries and add comprehensive tests
…use GitHub API timestamps instead
…use GitHub API timestamps for accuracy
… for agentic runs
…lows and add utility to extract workflow names from .lock.yml files
|
@pelikhan Closing this out, since not v0.1 |
… handling for Claude logs
…number formatting
…upload step; improve integration tests with file copy utility and error handling in git root detection tests; refine error checks in workflow logs tests.
|
I'm not sure if I feel comfortable with |
|
looks are deceiving with these agentic PRs: it's a ton of compiled code changes (.lock.yml) and test changes (very verbose). |
* Replace check-team-member shared action with inlined JavaScript script (#22) * Initial plan * Replace check-team-member template with inlined JavaScript script Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Fix code formatting (remove trailing whitespace) Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Add check_team_member.cjs to tsconfig.json and create comprehensive tests Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> Co-authored-by: Peli de Halleux <pelikhan@users.noreply.github.com> * Refactor compute_text_action.yaml as embedded JavaScript with sanitization (#25) * Simplify add-reaction feature by removing fallback and try/catch logic (#24) * Initial plan * Reimplement add-reaction feature as inlined JavaScript Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Remove "remove" functionality from add-reaction feature, simplify to only support adding reactions Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Remove fallback and try/catch clauses from add-reaction feature Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> Co-authored-by: Peli de Halleux <pelikhan@users.noreply.github.com> * Remove compute-text action dependency and template files from workflow system (#29) * Fix linter issues: Remove unused reactionActionTemplate variable (#30) * Add output text to test-claude and inline JavaScript instead of shared actions (#32) * Remove obsolete reaction_action.yaml template file (#34) * Remove unnecessary content permissions and checkout steps from task and add_reaction jobs (#35) --------- Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
aw_info.jsonthat gets uploaded as an artifact to the runs. Stores information like "engine-id".(N/A means not aw_info.json file because the workflow is still old format)