66 Commits

Author SHA1 Message Date
1e40390952 feat(contact-agent): using createContact with an ID field to provide updates 2025-04-17 18:57:13 +01:00
150a43a5dc feat(event-agent): update events function 2025-04-17 18:19:54 +01:00
2b7206c29e feat(location-agent): seperating the tool to allow for replying
This means it makes less mistakes and doesnt get as confused.
2025-04-17 18:09:00 +01:00
7002b05aae fix(location-events): adding location id to the database from agent call 2025-04-17 15:32:50 +01:00
8e73ad6f4e feat(prompts): adding better prompts & restoring tool_stop
Mistral's models seem to do something really strange if you allow for
`tool_choice` to be anything but `any`. They start putting the tool call
inside the `content` instead of an actual tool call. This means that I
need this `stop` mechanism using a tool call instead because I cannot
trust the model to do it by itself.

I quite like this model though, it's cheap, it's fast and it's open
source. And all the answers are pretty good!
2025-04-17 15:24:21 +01:00
4b0ef8b17f feat(orchestrator): removing the end tool call
fix
2025-04-17 13:00:39 +01:00
57c760e7f0 chore: removing unnecessary logging 2025-04-17 13:00:24 +01:00
f5fdaff7c1 wip(orchestrator): improving orchestrator system prompt and tool description 2025-04-17 12:52:54 +01:00
8fff043849 feat(event-location): communicating using tool calls correctly 2025-04-17 11:15:02 +01:00
d1fd2aeaf1 fix(logger): nil pointer error + log debug level clean 2025-04-17 11:07:37 +01:00
1e5028177f refactor(agents): not returning an error on factory method 2025-04-17 11:02:11 +01:00
c4569e925b refactor(agents): encapsulating prompt and calls inside factory method 2025-04-17 10:58:19 +01:00
8fed2f9b9a fix: using correct eventAgent instead of orchestrator bug + better logging 2025-04-17 10:48:30 +01:00
1651926c4d refactor(agents): no need to wrap them in another struct 2025-04-17 10:36:11 +01:00
fa127c2331 feat: event agent calling location agent about location ID
This is pretty nice. We can now have agents spawn other agents and
actually get super cool functionality from it.

The pattern might be a little fragile.
2025-04-16 14:43:07 +01:00
7be669e49e wip(agents): allowing event agent to call location agent 2025-04-15 16:44:00 +01:00
7b6bdf2c7b feat: Adding text message to describe an action3 2025-04-15 16:43:27 +01:00
7b40959125 fix 2025-04-14 20:08:07 +01:00
63201280bb rollback: not using link functions as they are very problematic 2025-04-14 10:59:08 +01:00
64f8aa032e ffix 2025-04-14 10:40:02 +01:00
4ba41258e0 prompt 2025-04-14 10:38:25 +01:00
2e092e5fe4 more prompt 2025-04-14 10:36:21 +01:00
60273c5782 fix more prompt 2025-04-14 10:33:56 +01:00
8e7ee204ce fix: prompts 2025-04-14 10:28:31 +01:00
fca4a6445c chore: removing old agent that was messy and too coupled
chore
2025-04-13 16:30:20 +01:00
17cc12f0c9 feat(event): seperate event agent 2025-04-13 16:30:20 +01:00
b57968b938 feat(location): agent to create locations 2025-04-13 16:30:20 +01:00
0fcdd73a47 feat(sse): very rough events. Not used in the client yet
feat(sse): very rough events. Not used in the client yet
2025-04-13 14:27:59 +01:00
1560d1504e fix: tests 2025-04-12 14:43:01 +01:00
ae9ac1fe4f refactor(agent): main agent loop extracted away
Still not super sure how to represent these agents in code.
It doesn't make the most amount of sense to keep them in structs. A
curried function is more like it, with system prompt and tooling.

Maybe that's what I'll end up doing.
2025-04-12 14:39:16 +01:00
ca8583575e fix(event) 2025-04-12 14:15:07 +01:00
02490c6c84 fix(orchestrator): better describing the note taking agent 2025-04-12 07:53:43 +01:00
36e776789e fix(notes): improving note taking capabilities 2025-04-12 07:48:42 +01:00
70d4411270 feat(contact-agent): linking to existing instead of creating new ones 2025-04-12 07:29:29 +01:00
6b181aac9f fix: removing extra log line 2025-04-12 07:22:35 +01:00
324aac438b feat(log): pretty logging agent responses and tool calls 2025-04-12 07:16:30 +01:00
b0f4a45c40 feat(contact-agent): working contact agent
Built this in under 20 minutes. Getting some really good agents
2025-04-11 21:12:06 +01:00
1a9b707533 feat(orchestrator): async processing and ending the loop3 2025-04-09 15:23:51 +01:00
c35951063a fix(tool-calls): ToolLoop 2025-04-09 15:15:31 +01:00
f294f9cdc0 fix(tools): testing and processing
fix
2025-04-09 13:56:30 +01:00
88fda32125 fix(types): agent processing stuff 2025-04-09 12:12:09 +01:00
5502fc6b19 feat(chat): more simplified chat messages and tool handling 2025-04-09 12:04:44 +01:00
28ee32e2ff fixup(chat): better way to organize agent messages and tool calls 2025-04-06 20:24:40 +01:00
f5f4008034 fix(tools): dont error if AI invested a tool 2025-04-05 15:04:09 +01:00
d474b1700a refactor(tools): removing pointer map
This is not needed
2025-04-05 14:59:50 +01:00
d78f34a7aa feat(tools): return error to agent if any happened 2025-04-05 14:58:38 +01:00
1cafc31e0a test(tools): more robust multiple tool call handling 2025-04-05 14:52:31 +01:00
a1ce96d2e3 test(tools): starting test suite for tools 2025-04-05 14:35:54 +01:00
03e7803467 feat(orchestrator): calling needed agents when it needs to 2025-04-05 11:01:43 +01:00
286a9a8472 fix(tool): raw text not scaling so well ey? 2025-04-04 22:50:19 +01:00