Ettore Di Giacinto
e4cc5598e3
fixup tests
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-15 23:05:51 +00:00
Ettore Di Giacinto
aa7fa3e148
Drop last message from subtasks in plan execution
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-15 23:05:51 +00:00
Ettore Di Giacinto
7a37056d12
feat: improve control loop
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-02-15 23:05:51 +00:00
Ettore Di Giacinto
ef0538f67c
feat(planning): support multiple reviewers ( #29 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-01-19 22:41:19 +01:00
Ettore Di Giacinto
f195b2553f
feat(todo): add todo-based goal execution similar to cursor agent mode ( #25 )
...
* feat(todo): add todo-based goal execution similar to cursor agent mode
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* reinforce tests
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Bump timeout for tests
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* feat: guided tools
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2026-01-15 21:19:15 +01:00
Ettore Di Giacinto
1a6237e2ec
chore: move logging to its own package so can be shared across repos ( #23 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-12-19 23:02:17 +01:00
Ettore Di Giacinto
5f46a5b9e3
fix: make fragment status a pointer ( #12 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-10-22 17:19:54 +02:00
Ettore Di Giacinto
8b24a604fc
Fixups
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-10-21 22:58:07 +02:00
Ettore Di Giacinto
1f801b9354
fix(plan): always update plan status also in case of error ( #11 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-10-21 22:31:10 +02:00
Ettore Di Giacinto
921ed81d33
Small refactorings
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-10-21 20:00:18 +02:00
Ettore Di Giacinto
a49cf79c2e
feat: re-attempt plans only if enabled, emit ErrgoalNotAchieved
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-10-21 18:49:11 +02:00
Ettore Di Giacinto
6da5735ef0
fix: better error propagation
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-10-21 18:46:33 +02:00
Ettore Di Giacinto
6e542ad1b1
chore: track plan description ( #10 )
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-10-21 16:07:10 +02:00
Ettore Di Giacinto
9c04ac0b45
Correctly handle errors
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-10-21 12:48:53 +02:00
Ettore Di Giacinto
f21710b138
chore(plans): improve planning when no tool calls are called
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-10-20 22:40:43 +02:00
Ettore Di Giacinto
3832318bdf
chore: add debugging calls
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-10-20 22:33:03 +02:00
Ettore Di Giacinto
a22dd87a31
chore(plan): record executed plans
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-10-20 10:04:18 +02:00
Ettore Di Giacinto
2f0f800d95
feat(tools): allow to automatically plan ( #9 )
...
* feat(tools): allow to automatically plan
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* feat(mcp): display MCPs prompts during tool selection
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* feature gate mcp prompts
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Add test
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* fix plans, strict tests
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-10-13 09:11:13 +02:00
Ettore Di Giacinto
6307cdecae
feat(mcp): Support MCP sessions to source available tools ( #8 )
...
* feat(mcp): Support MCP sessions to source available tools
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* chore: docs
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* add e2e test
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* docs
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Update README
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Style cleanup
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-10-08 23:40:41 +02:00
Ettore Di Giacinto
d865935087
Improve planning and add tests ( #4 )
...
* WIP
* Make test pass
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Fixups
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-09-30 23:23:32 +02:00
Ettore Di Giacinto
2f20fcce01
Change LLM to interface, split tests, improve content review loop ( #3 )
...
* Split e2e and unit tests
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Abstract away LLM to an interface
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Update README
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Fixups
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Enhance content improve generation
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Add unit test for reviewer
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Better handling of result status of tool calls
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Fixups
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
* Add tools test file
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-09-29 22:55:43 +02:00
Ettore Di Giacinto
af41faaa19
Initial import
...
Signed-off-by: Ettore Di Giacinto <mudler@localai.io >
2025-09-23 23:24:00 +02:00