Commit Graph

498 Commits

Author SHA1 Message Date
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
mudler
2713349c75 debug 2025-03-26 18:26:31 +01:00
mudler
b6cd62a8a3 Merge branch 'fixups/mixed' 2025-03-26 17:11:38 +01:00
mudler
dd6739cbbf fix: consistently track user message in connector
Signed-off-by: mudler <mudler@localai.io>
2025-03-26 17:11:09 +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
mudler
9d6b81d9c2 fix(slack): track user messages when writing on channel
Signed-off-by: mudler <mudler@localai.io>
2025-03-26 16:59:23 +01:00
mudler
d5df14a714 fix(planning): don't loose results
Signed-off-by: mudler <mudler@localai.io>
2025-03-26 16:58:11 +01:00
mudler
8e9b87bcb1 chore(Makefile): build react dist if missing
Signed-off-by: mudler <mudler@localai.io>
2025-03-26 16:57:46 +01:00
Richard Palethorpe
3e36b09376 fix(ui): Format status result as string 2025-03-26 06:34:32 +00:00
Richard Palethorpe
074aefd0df feat(ui): Add status page to react frontend 2025-03-26 06:34:32 +00:00
Richard Palethorpe
3e1081fc6e fix(ui): Fix MCP form 2025-03-26 06:34:32 +00:00
Richard Palethorpe
73af9538eb feat(ui): Add agent avatar placeholders to agent list 2025-03-26 06:34:32 +00:00
Richard Palethorpe
959dd8c7f3 Update README with hot reloading instructions 2025-03-26 06:34:32 +00:00
Richard Palethorpe
71e66c651c feat(ui): Add React based UI for the vibes at /app
This adds a completely separate frontend based on React because I
found that code gen works better with React once the application gets
bigger. In particular it was getting very hard to move past add
connectors and actions.

The idea is to replace the standard UI with this once it has been
tested. But for now it is available at /app in addition to the
original at /

Signed-off-by: Richard Palethorpe <io@richiejp.com>
2025-03-26 06:34:32 +00:00
Ettore Di Giacinto
438a65caf6 Fixup printing large messages
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-03-25 22:59:08 +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
Ettore Di Giacinto
fa12dba7c2 Better paragraph splitting
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-03-25 22:28:08 +01:00
mudler
54c8bf5f1a Split and preserve message 2025-03-25 20:10:40 +01:00
mudler
7bc44167cf Handle photos results in telegram
Signed-off-by: mudler <mudler@localai.io>
2025-03-25 19:47:34 +01:00
mudler
88933784de Handle long responses
Signed-off-by: mudler <mudler@localai.io>
2025-03-25 19:41:13 +01:00
mudler
d7b503e30c Fixups 2025-03-25 19:18:05 +01:00
mudler
e1e708ee75 Isolate functions 2025-03-25 19:06:55 +01:00
mudler
9d81eb7509 Do not lock on responses
Signed-off-by: mudler <mudler@localai.io>
2025-03-25 19:03:01 +01:00
mudler
ddc7d0e100 handle lock inside goroutine
Signed-off-by: mudler <mudler@localai.io>
2025-03-25 18:48:15 +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
Ettore Di Giacinto
b09749dddb try to resolve user IDs to enable bot to mention users (#89)
Signed-off-by: mudler <mudler@localai.io>
2025-03-24 22:20:25 +01:00
mudler
b199c10ab7 do not re-generate avatar if already existing
Signed-off-by: mudler <mudler@localai.io>
2025-03-24 19:46:56 +01:00
mudler
c8abc5f28f fix(slack): do not convert, mention user when summoned by mentions
Signed-off-by: mudler <mudler@localai.io>
2025-03-24 15:41:57 +01:00
mudler
14948c965d feat(slack): update, improve links and mentions
Signed-off-by: mudler <mudler@localai.io>
2025-03-24 11:11:31 +01:00
Ettore Di Giacinto
558306a841 Update README.md 2025-03-24 10:23:05 +01:00
Richard Palethorpe
fb41663330 fix(ui): Add connector templates to group-create 2025-03-24 08:54:36 +00:00
Richard Palethorpe
84836b8345 feat(ui): Add individual forms for each connector 2025-03-24 08:54:36 +00:00
Ettore Di Giacinto
5f2a2eaa24 feat(slack): show thought process (#83)
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-03-23 22:43:13 +01:00
mudler
75a8d63e83 Finish moving types 2025-03-23 21:57:09 +01:00
mudler
f0b8bfb4f4 no need to defer here
Signed-off-by: mudler <mudler@localai.io>
2025-03-23 11:57:01 +01:00
mudler
fa25e7c077 fixup: pass pointer to pool
Signed-off-by: mudler <mudler@localai.io>
2025-03-23 11:53:36 +01:00
Ettore Di Giacinto
3a9169bdbe feat(agents): Create group of agents (#82)
* feat(ui): add section to create agents in group

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

* Enhance UX and do not display first form section

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

* fixups

* Small fixups on avatar creation

---------

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-03-22 21:41:51 +01:00
Ettore Di Giacinto
3a921f6241 feat(ui): generate avatars (#80)
* feat(ui): generate avatars

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

* Show a placeholder if the image is not ready

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

* feat(avatar): generate prompt first

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

---------

Signed-off-by: mudler <mudler@localai.io>
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-03-22 20:50:31 +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
d689bb4331 feat(actions): add playground to test actions (#74)
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-03-21 23:51:55 +01:00
Ettore Di Giacinto
b42ef27641 feat: change default models (#73)
Signed-off-by: mudler <mudler@localai.io>
2025-03-21 21:44:06 +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