Commit Graph

52 Commits

Author SHA1 Message Date
mudler
cb15f926e8 fix(tests): wait for API to be available
Signed-off-by: mudler <mudler@localai.io>
2025-04-09 15:26:53 +02:00
Ettore Di Giacinto
5111738b3b Wait for API to be ready 2025-04-08 22:45:15 +02:00
Ettore Di Giacinto
e7111c6554 Rename 2025-04-08 22:18:32 +02:00
Richard Palethorpe
4c40e47e8d chore(prompts): Rename Prompt blocks to Dynamic prompts 2025-04-01 14:36:33 +01:00
Ettore Di Giacinto
c1dcda42ae fix: re-enable nested plannings (#117)
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-03-30 22:18:15 +02:00
Ettore Di Giacinto
dff678fc4e feat(job): add finalizers and save conversation after job is result is released (#114)
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-03-30 18:43:28 +02:00
Ettore Di Giacinto
c940141e61 fix: make new_conversation to work (#112)
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-03-29 00:21:00 +01:00
Ettore Di Giacinto
906b4ebd76 feat: add retries to pickAction
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-03-28 22:04:04 +01:00
Ettore Di Giacinto
0644daa477 feat: retrials (#110)
* feat(jobs): rework next actions

Also attempt to retry when failing at generating parameters

Signed-off-by: mudler <mudler@localai.io>

* feat(retries): add retries for common operations

Signed-off-by: mudler <mudler@localai.io>

---------

Signed-off-by: mudler <mudler@localai.io>
2025-03-28 21:27:34 +01:00
mudler
8ac6f68568 fix(multi-agent): do not allow to call ourselves
Signed-off-by: mudler <mudler@localai.io>
2025-03-28 16:51:07 +01:00
Ettore Di Giacinto
08f5417e96 go fmt 2025-03-27 23:06:33 +01:00
Ettore Di Giacinto
f67ebe8c7a Update agent.go 2025-03-27 00:15:52 +01:00
Ettore Di Giacinto
6ace4ab60d Expire jobs if context is canceled 2025-03-27 00:13:26 +01:00
Ettore Di Giacinto
6e888f6008 Move action context to the job
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-03-26 22:37:25 +01:00
Ettore Di Giacinto
5cd0eaae3f fix: mixed fixups and enhancements (#107)
* chore(Makefile): build react dist if missing

Signed-off-by: mudler <mudler@localai.io>

* fix(planning): don't loose results

Signed-off-by: mudler <mudler@localai.io>

* fix(slack): track user messages when writing on channel

Signed-off-by: mudler <mudler@localai.io>

---------

Signed-off-by: mudler <mudler@localai.io>
2025-03-26 17:05:59 +01:00
Ettore Di Giacinto
fb20bbe5bf Allow slack bots to initiate conversations
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-03-25 22:58:59 +01:00
mudler
e26b55a6a8 Add tests 2025-03-25 17:58:59 +01:00
mudler
ca3420c791 fixup silly mistake
Signed-off-by: mudler <mudler@localai.io>
2025-03-25 17:25:59 +01:00
mudler
abd6d1bbf7 Do not allow to recursively follow plan actions
Signed-off-by: mudler <mudler@localai.io>
2025-03-25 16:59:13 +01:00
Ettore Di Giacinto
d0cfc4c317 feat: track conversations inside connectors (#92)
* switch to observer pattern

Signed-off-by: mudler <mudler@localai.io>

* keep conversation history in telegram and slack

* generalize with conversation tracker

---------

Signed-off-by: mudler <mudler@localai.io>
2025-03-25 16:31:03 +01:00
Ettore Di Giacinto
53c1554d55 fix: do not track an internal currentConversation (#91)
It is prone to races, and does not really track all conversations for
each job

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-03-25 00:36:09 +01:00
mudler
75a8d63e83 Finish moving types 2025-03-23 21:57:09 +01:00
Ettore Di Giacinto
c1ac7b675a feat(api): add endpoint to create group of dedicated agents (#79)
Signed-off-by: mudler <mudler@localai.io>
2025-03-22 18:44:22 +01:00
Ettore Di Giacinto
abb3ffc109 feat: track plan action when is being executed, also tests (#72)
* feat: track plan action when is being executed, also tests

* Update core/agent/agent_test.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update core/agent/actions.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-03-21 16:32:24 +01:00
Ettore Di Giacinto
e5e238efc0 fix(planning): correctly generate a valid JSON schema (#71)
Signed-off-by: mudler <mudler@localai.io>
2025-03-21 15:47:34 +01:00
Ettore Di Giacinto
33483ab4b9 feat(planning): enable agent planning (#68)
* feat(planning): Allow the agent to plan subtasks

Signed-off-by: mudler <mudler@localai.io>

* feat(planning): enable planning toggle in the webui

Signed-off-by: mudler <mudler@localai.io>

* feat(planning): take in consideration the overall goal

Signed-off-by: mudler <mudler@localai.io>

* Update core/action/plan.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Signed-off-by: mudler <mudler@localai.io>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-03-21 12:28:11 +01:00
Ettore Di Giacinto
638eedc2a0 fix: correctly stop agents
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-03-20 22:46:54 +01:00
Ettore Di Giacinto
86d3596f41 Add more logging 2025-03-20 22:35:55 +01:00
Ettore Di Giacinto
e32a569796 try to fixup tests, enable e2e (#53)
* try to fixup tests, enable e2e

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* Generate JSON character data with tools

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* Rework generation of character

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>

* Simplify text

Signed-off-by: mudler <mudler@localai.io>

* Relax some test constraints

Signed-off-by: mudler <mudler@localai.io>

* Fixups

* Properly fit schema generation

* Swap default model

* ci fixups

---------

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Signed-off-by: mudler <mudler@localai.io>
2025-03-18 23:28:02 +01:00
Ettore Di Giacinto
33b5b8c8f4 feat(agent): add MCP integration (#50)
* feat(agent): add MCP integration

Signed-off-by: mudler <mudler@localai.io>

* Update core/agent/mcp.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Hook MCP Server configuration to creation and setting mask

* Allow to specify a bearer token

* Small fixups

---------

Signed-off-by: mudler <mudler@localai.io>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-03-15 23:25:03 +01:00
mudler
0b71d8dc10 feat: make slack process images 2025-03-09 23:34:49 +01:00
mudler
bc60dde94f Enable more logging, only describe image once when walking history
Signed-off-by: mudler <mudler@localai.io>
2025-03-09 23:34:20 +01:00
mudler
3827ebebdf feat: add capability to understand images
Signed-off-by: mudler <mudler@localai.io>
2025-03-08 17:54:35 +01:00
Ettore Di Giacinto
7492a3ab3b Change env vars to be more meaningful 2025-03-05 22:19:07 +01:00
Ettore Di Giacinto
d288755444 Automatically save all conversations 2025-03-04 22:22:16 +01:00
Ettore Di Giacinto
d714c4f80b Page restyling 2025-03-03 23:08:58 +01:00
Ettore Di Giacinto
173eda4fb3 Rework UI by returning error/statuses, some refactorings 2025-03-03 22:34:46 +01:00
Ettore Di Giacinto
5e52383a99 Refactorings 2025-03-02 22:44:54 +01:00
Ettore Di Giacinto
f6e16be170 Allow to specify dynamic prompts 2025-03-02 22:40:37 +01:00
mudler
6c83f3d089 refactorings 2025-03-02 17:45:06 +01:00
mudler
3a7e56cdf1 Cleanup 2025-03-02 17:43:11 +01:00
Ettore Di Giacinto
7a98408336 Fixups, enhance logging 2025-03-01 22:40:42 +01:00
Ettore Di Giacinto
e696c5ae31 Save conversations also at the end 2025-03-01 22:31:49 +01:00
Ettore Di Giacinto
3a7b5e1461 return metadatas and conversations in job results. Consume them in Slack connector to use attachments in responses 2025-03-01 22:10:21 +01:00
mudler
5b4f618ca3 Standardize action results 2025-03-01 17:27:07 +01:00
mudler
a75feaab4e Simplify, no need to add system prompt when asking for reply 2025-03-01 16:17:27 +01:00
Ettore Di Giacinto
0b78956cc4 Enhance logging 2025-02-28 22:38:05 +01:00
Ettore Di Giacinto
43352376e3 Use toolcall to construct current conversation 2025-02-28 22:37:55 +01:00
Ettore Di Giacinto
d3f2126614 Debug 2025-02-28 22:10:28 +01:00
Ettore Di Giacinto
cf112d57a6 Strip bot user from messages received 2025-02-28 22:06:05 +01:00