Dhanji R. Prasanna
347513b04c
Add comprehensive stress tests for streaming markdown formatter
...
Add 10 stress tests covering:
- Nested formatting (bold in italic, italic in bold)
- Empty/minimal content edge cases
- Escape sequences and special characters
- Lists with complex inline formatting
- Links with various content types
- Tables with formatting in cells
- Code blocks (should not format contents)
- Mixed block elements (headers, quotes, rules)
- Nested lists (3+ levels, mixed types)
- Pathological/adversarial inputs (unbalanced delimiters, unicode, long lines)
All 45 tests pass.
2026-01-08 20:27:28 +11:00
Dhanji R. Prasanna
775bcd10a5
chore: remove g3-console crate entirely
...
The g3-console crate was not referenced by any other crate in the
workspace and appears to be an abandoned web console implementation.
Removed:
- crates/g3-console/ (entire directory)
- Workspace member entry in Cargo.toml
Agent: fowler
2026-01-07 10:41:46 +11:00
Dhanji R. Prasanna
3601cc0547
Enhance read_image tool with magic byte detection and multi-image support
...
- Fix media type detection using magic bytes instead of file extension
- Correctly identifies JPEG files with .png extension (and vice versa)
- Supports PNG, JPEG, GIF, and WebP formats
- Add multi-image support with file_paths array parameter
- Load multiple images in a single tool call
- All images queued for LLM analysis
- Enhanced CLI output:
- Inline image preview via iTerm2 imgcat protocol (height=5)
- Dimmed info line showing: path | dimensions | media type | file size
- Proper │ prefix alignment with tool output boxing
- Human-readable file sizes (bytes, KB, MB)
- Add image dimension extraction from file headers
- PNG, JPEG, GIF, WebP dimension parsing
- Add comprehensive tests for magic byte detection and dimensions
2025-12-26 11:19:37 +11:00
Dhanji R. Prasanna
01a5284d6d
Move fixed_filter_json from g3-core to g3-cli
...
Properly separates UI display concern from core library:
- fixed_filter_json module now lives in g3-cli (UI layer)
- UiWriter trait gains filter_json_tool_calls() and reset_json_filter() methods
- g3-core delegates filtering to UI layer via trait methods
- Different UiWriter implementations can choose their own filtering behavior
- ConsoleUiWriter filters JSON tool calls for clean terminal display
- MachineUiWriter/NullUiWriter use default pass-through
Benefits:
- Proper separation of concerns
- Core stays clean without display-specific logic
- Testability - filter can be tested independently in g3-cli
2025-12-22 10:32:21 +11:00
Jochen
ff8b3e7c7b
Implement planning mode
2025-12-09 17:03:53 +11:00
Jochen
0327a6dfdf
make sure coach feedback is extracted.
2025-12-02 22:00:58 +11:00
Jochen
52f78653b4
add context window monitor
...
Writes the current context window to logs/current_context_window (uses a symlink to a session ID).
This PR was unfortunately generated by a different LLM and did a ton of superficial reformating, it's actually a fairly small and benign change, but I don't want to roll back everything. Hope that's ok.
2025-11-27 21:00:02 +11:00
Jochen
93dc4acf86
generate internal id (debugging only)
...
NOT set to provider... Anthropic will reject a message with id
2025-11-27 18:30:42 +11:00
Dhanji Prasanna
4cfa0147ca
first cut of horizontal partitioning
...
# Conflicts:
# Cargo.lock
# Conflicts:
# Cargo.lock
# crates/g3-cli/src/lib.rs
2025-11-26 17:12:07 +11:00
Jochen
1e1702001c
Add logging for discovery
2025-11-26 10:41:35 +11:00
Jochen
ad198a8501
add code exploration fast start
...
This tries to short-circuit multiple round-trips to llm for reading code.
It's a precursor to trying to context engineer tailored to specific tasks.
In initial experiments, it's only marginally faster than regular mode, and burns more tokens.
2025-11-25 22:51:32 +11:00
Jochen
28a83d2dcf
check for stale TODOs
...
on by default, can be disabled
2025-11-21 12:09:01 +11:00
Jochen
09dbad2d68
allow multiple tool calls, log warnings if there are duplicate calls.
...
controlled via a flag to the agent config:
allow_multiple_tool_calls = true
2025-11-21 10:49:15 +11:00
Jochen
7f73b664a3
system prompt now includes code style guide
2025-11-18 18:21:16 +11:00
Dhanji Prasanna
aaf918828f
g3 console initial cut + error doesnt kill auto
2025-11-07 09:27:13 +11:00
Dhanji R. Prasanna
8eda691cb1
todo persistence
2025-11-06 15:24:57 +11:00
Dhanji R. Prasanna
53c8245942
fixes for scheme+haskell
2025-11-05 14:33:12 +11:00
Dhanji R. Prasanna
4327c839a9
added scheme and kotlin to code_search
2025-11-05 14:17:15 +11:00
Dhanji R. Prasanna
fa38439a06
adding more languages to tree-sitter (java, go, cpp,..)
2025-11-05 14:07:50 +11:00
Dhanji R. Prasanna
f25a3d5e06
tree-sitter replaces ast-grep
2025-11-05 13:56:23 +11:00
Jochen
ad9ba5e5d8
added ast-grep use
...
g3 tool use of ast-grep command with batching for faster code exploration.
2025-11-01 14:59:55 +11:00
Michael Neale
aa4a0267ea
can interrupt now
2025-10-29 13:29:03 +11:00
Dhanji Prasanna
4b1694b308
machine mode
2025-10-28 14:51:32 +11:00
Dhanji Prasanna
61d748034d
replace tesseract with apple vision
2025-10-24 15:35:47 +11:00
Dhanji Prasanna
3ec65e38ee
macax tools
2025-10-23 06:53:42 +11:00
Jochen
010a43d203
coach/player provider split + add OpenAI
...
Allows coach and player LLM providers to be separately specified.
Also adds OpenAI provider
2025-10-21 16:59:13 +11:00
Dhanji Prasanna
393826ae02
webdriver tools
2025-10-21 14:34:41 +11:00
Dhanji Prasanna
9d35449be8
~ expansion for read_file and str_replace
2025-10-18 16:01:15 +11:00
Dhanji Prasanna
da652bf287
computer control tools
2025-10-18 14:16:50 +11:00
Dhanji Prasanna
627fdcd9bf
streaming tool call attempt 1
2025-10-13 20:25:12 +11:00
Dhanji Prasanna
e6cec5ef0f
retry on errors
2025-10-07 11:20:19 +11:00
Dhanji Prasanna
9b7c228134
scroll hack
2025-10-04 15:05:06 +10:00
Dhanji Prasanna
57b1b51e65
retro mode ui!
2025-10-02 14:47:19 +10:00
Dhanji Prasanna
e324ddd99d
hopefully a bit better tool call detection
2025-10-02 10:27:58 +10:00
Dhanji Prasanna
046b54c49b
move embedded provider to a better crate
2025-10-01 15:19:37 +10:00
Dhanji Prasanna
1621d081ec
tui lib for nicer cli
2025-10-01 11:19:34 +10:00
Dhanji Prasanna
5f642061de
error handling in autonomous mode
2025-10-01 11:01:23 +10:00
Dhanji Prasanna
4e64555008
max tokens fix for databricks
2025-09-29 06:45:53 +10:00
Dhanji Prasanna
c490228824
databricks support
2025-09-27 17:28:02 +10:00
Dhanji Prasanna
2b561516b6
cleanup
2025-09-27 15:16:42 +10:00
Dhanji Prasanna
e82821189b
write/read file support
2025-09-27 13:43:09 +10:00
Dhanji Prasanna
7595ee083e
logging optimization
2025-09-27 12:18:27 +10:00
Dhanji Prasanna
fb114cfcf5
imrpv
2025-09-27 06:29:33 +10:00
Dhanji Prasanna
58052fd0fe
autonomous mode
2025-09-26 22:34:47 +10:00
Dhanji Prasanna
6ec596ae4d
minor
2025-09-26 21:55:15 +10:00
Dhanji Prasanna
9a5486f2a8
Fix for tool use
2025-09-20 20:17:50 +10:00
Dhanji Prasanna
444245d7dd
Readd the anthropic provider
2025-09-20 18:40:51 +10:00
Michael Neale
8e821d0a5b
auto setup
2025-09-15 13:19:02 -07:00
Dhanji Prasanna
45970824d9
cleaned up logging
2025-09-15 09:07:12 +10:00
Dhanji Prasanna
fa34755851
tool calling support for anthropic
2025-09-15 09:07:12 +10:00