33 Commits

Author SHA1 Message Date
130bce86a1 fix: enabling note agent 2025-04-19 10:30:49 +01:00
4da37d1704 feat(events): a better prompt with good integration with location agent 2025-04-19 10:30:29 +01:00
016834ee7d feat(contacts): not creating duplicates 2025-04-19 10:07:51 +01:00
7e7f01447e feat(agents): improving rationality by adding tool to allow the models to think through choices.
This works pretty nicely actually. I'm starting to understand how to
demistify the system prompt and have the tools the agent needs to do a
good job.
2025-04-18 15:06:20 +01:00
dc202189ca wip 2025-04-18 14:21:23 +01:00
1e40390952 feat(contact-agent): using createContact with an ID field to provide updates 2025-04-17 18:57:13 +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
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
f5fdaff7c1 wip(orchestrator): improving orchestrator system prompt and tool description 2025-04-17 12:52:54 +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
7be669e49e wip(agents): allowing event agent to call location agent 2025-04-15 16:44:00 +01:00
7b40959125 fix 2025-04-14 20:08:07 +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
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
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
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
28ee32e2ff fixup(chat): better way to organize agent messages and tool calls 2025-04-06 20:24:40 +01:00
03e7803467 feat(orchestrator): calling needed agents when it needs to 2025-04-05 11:01:43 +01:00
71d4581110 refactor(ai-client): moving tool handling and client into seperate folders 2025-04-04 22:03:46 +01:00
8a165c2042 wip(orchestrator): basic scaffolding for the agent 2025-04-04 20:40:31 +01:00