Commit Graph

56 Commits

Author SHA1 Message Date
Ettore Di Giacinto
12209ab926 feat(browseragent): post screenshot on slack (#81)
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-04-24 23:17:10 +02:00
Richard Palethorpe
ce997d2425 fix: Handle state on agent restart and update observables (#75)
Keep some agent start across restarts, such as the SSE manager and
observer. This allows restarts to be shown on the state page and also
allows avatars to be kept when reconfiguring the agent.

Also observable updates can happen out of order because SSE manager has
multiple workers. For now handle this in the client.

Finally fix an issue with the IRC client to make it disconnect and
handle being assigned a different nickname by the server.

Signed-off-by: Richard Palethorpe <io@richiejp.com>
2025-04-23 15:29:06 +02:00
mudler
59ab91d7df chore: update telegram
Signed-off-by: mudler <mudler@localai.io>
2025-04-16 08:54:17 +02:00
Ettore Di Giacinto
e7111c6554 Rename 2025-04-08 22:18:32 +02:00
mudler
daa7dcd12a fix(discord): make it work
Signed-off-by: mudler <mudler@localai.io>
2025-04-02 19:40:27 +02:00
mudler
b81f34a8f8 Answer if mentioned if not specifying a default channel
Signed-off-by: mudler <mudler@localai.io>
2025-04-02 17:10:03 +02:00
Ettore Di Giacinto
e90c192063 feat(call_agents): merge metadata of results (#126)
* feat(call_agents): merge metadata of results

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

* chore: correct env typo

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

* Update services/actions/callagents.go

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

* chore: add icon to thinking

---------

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-01 21:57:32 +02:00
Ettore Di Giacinto
f3c06b1bfb feat(api): implement stateful responses api (#122)
* feat(api): implement stateful responses api

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

* fix(tests): align client to API changes

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

---------

Signed-off-by: mudler <mudler@localai.io>
2025-04-01 18:00:37 +02:00
Ettore Di Giacinto
7b52b9c22d fix(slack): support multiple threads update (#115)
Signed-off-by: mudler <mudler@localai.io>
2025-03-30 19:20:41 +02:00
Ettore Di Giacinto
68cfdecaee Do not delete message in case of error 2025-03-28 22:11:43 +01:00
mudler
c6ce1c324f feat(slack): respond to channel only on channel mode
Signed-off-by: mudler <mudler@localai.io>
2025-03-28 17:01:24 +01:00
Richard Palethorpe
319caf8e91 chore(ui): Move some field definitions server side 2025-03-26 22:56:29 +00: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
mudler
2713349c75 debug 2025-03-26 18:26:31 +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
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
8e9b87bcb1 chore(Makefile): build react dist if missing
Signed-off-by: mudler <mudler@localai.io>
2025-03-26 16:57:46 +01: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
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
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
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
Ettore Di Giacinto
d54abc3ed0 Revert "Generate connector form based on meta-data (#62)" (#65)
This reverts commit d7cfa7f0b2.
2025-03-20 18:21:19 +01:00
Richard Palethorpe
d7cfa7f0b2 Generate connector form based on meta-data (#62)
* Ignore volumes and exe

* Export form meta-data

* use dynamic metaform for connectors

* fix populating form
2025-03-20 16:00:37 +01:00
Ettore Di Giacinto
f0bd184fbd feat: add twitter action and connector (#58)
* feat: add twitter post action

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

* feat: handle twitter post messages limits

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

* feat: add twitter connector, unify client

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

* make sure answers do not exceed twitter maximum

---------

Signed-off-by: mudler <mudler@localai.io>
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-03-19 22:14:32 +01:00
Ettore Di Giacinto
9ee0d89a6b Add github actions to upload and get files, update github dep
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-03-12 22:50:45 +01:00
Richard Palethorpe
7486e68a17 Add Counter action to count things (#38)
* add host

* fix: make user name explicit in IRC

* feat: Add counter action
2025-03-11 22:54:35 +01:00
Ettore Di Giacinto
d451919414 feat(edit): allow to edit agents (#36) 2025-03-11 22:32:13 +01:00
mudler
0b71d8dc10 feat: make slack process images 2025-03-09 23:34:49 +01:00
Richard Palethorpe
f2e7010297 Add IRC connector 2025-03-07 12:56:24 +00:00
Ettore Di Giacinto
042c1ee65c Uniq results 2025-03-01 22:20: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
Ettore Di Giacinto
4d6b04c6ed Enable optional scaping of messages 2025-03-01 21:30:16 +01:00
Ettore Di Giacinto
70c389ce0b refactors 2025-03-01 21:30:16 +01:00
mudler
8492c95cb6 Convert markdown to slack markdown 2025-03-01 16:33:50 +01:00
Ettore Di Giacinto
76a01994f9 Enable markdown responses in slack 2025-02-28 22:50:44 +01:00
Ettore Di Giacinto
4520d16522 Fixups 2025-02-28 22:48:50 +01:00