merge dev into main #49

Merged
8464960 merged 430 commits from dev into main 2026-01-28 10:49:15 +00:00

430 Commits

Author SHA1 Message Date
Pim Hutting
f2953fb1de Merge branch 'feat/use-experiment-logs' into 'dev'
Add useful experiment logs

See merge request ics/sp/2025/n25b/pepperplus-cb!48
2026-01-27 17:45:41 +00:00
Twirre Meulenbelt
4b6980a26e Merge remote-tracking branch 'origin/dev' into feat/use-experiment-logs
# Conflicts:
#	src/control_backend/agents/llm/llm_agent.py
2026-01-27 18:42:18 +01:00
Twirre
0413e0f710 Merge branch 'feat/longer-pauses-possible' into 'dev'
Stop LLM response when user adds something to their message

See merge request ics/sp/2025/n25b/pepperplus-cb!47
2026-01-27 17:34:28 +00:00
Twirre Meulenbelt
941aa00b7b chore: re-addd more silence before speech audio 2026-01-27 18:19:20 +01:00
Twirre
cc09c1b289 Merge branch 'feat/recursive-goals-override' into 'dev'
feat: add recursive goal mapping to UserInterruptAgent

See merge request ics/sp/2025/n25b/pepperplus-cb!46
2026-01-27 17:04:48 +00:00
Twirre Meulenbelt
82aa7c76df test: fix tests
ref: N25B-401
2026-01-27 17:06:13 +01:00
Pim Hutting
bc9045c977 chore: applied feedback 2026-01-27 17:03:36 +01:00
Twirre Meulenbelt
43d81002ec feat: add useful experiment logs
ref: N25B-401
2026-01-27 16:52:18 +01:00
Pim Hutting
1e7c2ba229 chore: added missing tests 2026-01-27 12:05:55 +01:00
Pim Hutting
2404c847ae feat: added recursive goal mapping and tests
ref: N25B-400
2026-01-27 12:05:27 +01:00
Björn Otgaar
7c8a56dfcc Merge branch 'chore/add-missing-tests' into 'dev'
chore: add missing tests

See merge request ics/sp/2025/n25b/pepperplus-cb!45
2026-01-27 10:58:11 +00:00
Pim Hutting
9b040ffc62 chore: applied feedback 2026-01-27 11:51:40 +01:00
Pim Hutting
27f91150e1 fix: look for goals in steps rather than plans
small bugfix, we used to look for goals in plans, but they are part of
a plan.

ref: N25B-400
2026-01-27 11:51:40 +01:00
Pim Hutting
215bafe27f chore: added missing tests 2026-01-27 11:50:26 +01:00
da0f48e96d Merge branch 'feat/reset-experiment-and-phase' into 'dev'
The Big One

See merge request ics/sp/2025/n25b/pepperplus-cb!43
2026-01-26 19:20:44 +00:00
Twirre Meulenbelt
7dd47c9de8 Merge remote-tracking branch 'origin/feat/reset-experiment-and-phase' into feat/reset-experiment-and-phase 2026-01-26 19:55:24 +01:00
Twirre Meulenbelt
4f927bc025 fix: make DOS from other agents impossible
There were some missing value checks. Other agents could cause errors in the User Interrupt agent or the Program Manager agent by sending malformed messages.

ref: N25B-453
2026-01-26 19:51:14 +01:00
bc1fa2ea35 Merge branch 'dev' into feat/reset-experiment-and-phase 2026-01-26 19:44:46 +01:00
650050fa0f chore: move magic numbers to env and cleanup 2026-01-26 19:28:16 +01:00
Twirre Meulenbelt
d8dc558d3e docs: update existing docstrings and add new docs
ref: N25B-453
2026-01-26 16:04:01 +01:00
Björn Otgaar
e7e305c4a3 Merge branch 'feat/experiment-logging' into 'dev'
Experiment log stream, to console, file and UI

See merge request ics/sp/2025/n25b/pepperplus-cb!44
2026-01-26 13:39:58 +00:00
b9df47b7d1 docs: add docstrings to AgentSpeak stuff
ref: N25B-449
2026-01-26 12:21:04 +01:00
Twirre Meulenbelt
a74ecc6c45 docs: add docstrings to dated file handler
ref: N25B-401
2026-01-22 11:48:02 +01:00
230afef16f test: fix tests
ref: N25B-452
2026-01-19 16:06:17 +01:00
1cd5b46f97 fix: should work now
Also added trimming to Windows transcription.

ref: N25B-452
2026-01-19 15:03:59 +01:00
c0789e82a9 feat: add previously interrupted message to current
ref: N25B-452
2026-01-19 14:47:11 +01:00
04d19cee5c feat: (maybe) stop response when new user message
If we get a new message before the LLM is done responding, interrupt it.

ref: N25B-452
2026-01-19 14:08:26 +01:00
Twirre Meulenbelt
58881b5914 test: add test cases
ref: N25B-401
2026-01-19 12:47:59 +01:00
Twirre Meulenbelt
ba79d09c5d feat: log download endpoints
ref: N25B-401
2026-01-16 16:32:51 +01:00
db64eaeb0b fix: failing tests and warnings
ref: N25B-449
2026-01-16 16:18:36 +01:00
7f7e0c542e docs: add missing docs
ref: N25B-115
2026-01-16 15:35:41 +01:00
41bd3ffc50 Merge branch 'test/increase-coverage' into feat/reset-experiment-and-phase 2026-01-16 15:08:34 +01:00
8506c0d9ef chore: remove belief collector and small tweaks 2026-01-16 15:07:44 +01:00
Pim Hutting
7c10c50336 chore: removed resetExperiment from backened
now it happens in UI

ref: N25B-400
2026-01-16 14:29:46 +01:00
Pim Hutting
6d03ba8a41 feat: added extra endpoint for norm pings
also made sure that you cannot skip phase on end phase

ref: N25B-400
2026-01-16 14:28:27 +01:00
b1c18abffd test: bunch of tests
Written with AI, still need to check them

ref: N25B-449
2026-01-16 13:11:41 +01:00
Twirre Meulenbelt
4cda4e5e70 feat: experiment log stream, to file and UI
Adds a few new logging utility classes. One to save to files with a date, one to support optional fields in formats, last to filter partial log messages.

ref: N25B-401
2026-01-15 17:07:49 +01:00
Luijkx,S.O.H. (Storm)
a9df9208bc Merge branch 'feat/multiple-receivers' into 'dev'
feat: able to send to multiple receivers

See merge request ics/sp/2025/n25b/pepperplus-cb!42
2026-01-15 09:26:12 +00:00
Pim Hutting
041fc4ab6e chore: cond_norms unachieve and via belief msg 2026-01-15 09:02:52 +01:00
39e1bb1ead fix: sync issues
ref: N25B-447
2026-01-14 15:28:29 +01:00
8f6662e64a feat: phase transitions
ref: N25B-446
2026-01-14 13:22:51 +01:00
0794c549a8 chore: remove agentspeak file from tracking 2026-01-14 11:27:29 +01:00
ff24ab7a27 fix: default behavior and end phase
ref: N25B-448
2026-01-14 11:24:19 +01:00
43ac8ad69f chore: delete outdated files
ref: N25B-446
2026-01-14 10:58:41 +01:00
Twirre Meulenbelt
d7d697b293 docs: update to docstring
ref: N25B-441
2026-01-13 17:09:26 +01:00
Twirre Meulenbelt
9a55067a13 fix: set sender for internal messages
ref: N25B-441
2026-01-13 17:07:17 +01:00
Twirre Meulenbelt
f7669c021b feat: support force completed goals in semantic belief agent
ref: N25B-427
2026-01-13 17:04:44 +01:00
Björn Otgaar
8f52f8bf0c Merge branch 'feat/monitoringpage-cb' of git.science.uu.nl:ics/sp/2025/n25b/pepperplus-cb into feat/monitoringpage-cb 2026-01-13 14:03:40 +01:00
Björn Otgaar
2a94a45b34 chore: adjust 'phase_id' to 'id' for correct payload 2026-01-13 14:03:37 +01:00
f87651f691 fix: achieved goal in bdi core
ref: N25B-400
2026-01-13 12:26:18 +01:00
Pim Hutting
65e0b2d250 feat: added correct message
ref: N25B-400
2026-01-13 12:05:38 +01:00
177e844349 feat: send achieved goal from interrupt->manager->semantic
ref: N25B-400
2026-01-13 11:46:17 +01:00
Pim Hutting
0df6040444 feat: added sending goal overwrites in Userinter.
ref: N25B-400
2026-01-13 11:26:03 +01:00
Twirre Meulenbelt
af81bd8620 Merge branch 'feat/multiple-receivers' into feat/monitoringpage-cb
# Conflicts:
#	src/control_backend/core/agent_system.py
#	src/control_backend/schemas/internal_message.py
2026-01-13 11:14:18 +01:00
Twirre Meulenbelt
70e05b6c92 test: sending to multiple agents, including remote
ref: N25B-441
2026-01-13 11:10:35 +01:00
c0b8fb8612 feat: able to send to multiple receivers
ref: N25B-441
2026-01-13 11:06:42 +01:00
Pim Hutting
d499111ea4 feat: added pause functionality
Storms code wasnt fully included in Bjorns branch

ref: N25B-400
2026-01-13 00:52:04 +01:00
Pim Hutting
72c2c57f26 chore: merged button functionality and fix bug
merged björns branch that has the following button functionality
-Pause/resume
-Next phase
-Restart phase
-reset experiment
fix bug where norms where not properly sent to the user interrupt agent

ref: N25B-400
2026-01-12 19:31:50 +01:00
Pim Hutting
4a014b577a Merge remote-tracking branch 'origin/feat/reset-skip-buttons' into feat/monitoringpage-cb 2026-01-12 19:19:31 +01:00
Pim Hutting
c45a258b22 fix: fixed a bug where norms where not updated
Now in UserInterruptAgent we store the norm.norm and not the slugified norm

ref: N25B-400
2026-01-12 19:07:05 +01:00
0f09276477 fix: send norms back to UI
ref: N25B-400
2026-01-12 17:02:39 +01:00
4e113c2d5c fix: default plan and norm force
ref: N25B-400
2026-01-12 16:20:24 +01:00
Pim Hutting
54c835cc0f feat: added force_norm handling in BDI core agent
ref: N25B-400
2026-01-12 15:37:04 +01:00
Pim Hutting
c4ccbcd354 Merge remote-tracking branch 'origin/feat/extra-agentspeak-functionality' into feat/monitoringpage-cb 2026-01-12 15:24:48 +01:00
Pim Hutting
d202abcd1b fix: phases update correctly
there was a bug where phases would not update without restarting cb

ref: N25B-400
2026-01-12 12:51:24 +01:00
Twirre Meulenbelt
4b71981a3e fix: some bugs and some tests
ref: N25B-429
2026-01-12 09:00:50 +01:00
Björn Otgaar
c91b999104 chore: fix bugs and make sure connected robots work 2026-01-08 15:31:44 +01:00
866d7c4958 fix: end phase loop correctly notifies about user_said
ref: N25B-429
2026-01-08 15:13:12 +01:00
Pim Hutting
5e2126fc21 chore: code cleanup
ref: N25B-400
2026-01-08 15:05:43 +01:00
Pim Hutting
500bbc2d82 feat: added goal start sending functionality
ref: N25B-400
2026-01-08 14:52:55 +01:00
133019a928 feat: trigger name and trigger checks on belief update
ref: N25B-429
2026-01-08 14:04:44 +01:00
4d0ba69443 fix: don't re-add user_said upon phase transition
ref: N25B-429
2026-01-08 13:44:25 +01:00
625ef0c365 feat: phase transition waits for all goals
ref: N25B-429
2026-01-08 13:36:03 +01:00
b88758fa76 feat: phase transition independent of response
ref: N25B-429
2026-01-08 13:33:37 +01:00
Björn Otgaar
1360567820 chore: indenting 2026-01-08 13:01:38 +01:00
Björn Otgaar
cc0d5af28c chore: fixing bugs 2026-01-08 12:56:22 +01:00
Pim Hutting
3a8d1730a1 fix: made mapping for conditional norms only
ref: N25B-400
2026-01-08 12:29:16 +01:00
Pim Hutting
b27e5180c4 feat: small implementation change
ref: N25B-400
2026-01-08 11:25:53 +01:00
Pim Hutting
6b34f4b82c fix: small bugfix
ref: N25B-400
2026-01-08 10:59:24 +01:00
Twirre Meulenbelt
45719c580b feat: prepend more silence before speech audio for better transcription beginnings
ref: N25B-429
2026-01-08 10:49:13 +01:00
Pim Hutting
4bf2be6359 feat: added a functionality for monitoring page
ref: N25B-400
2026-01-08 09:56:10 +01:00
Pim Hutting
20e5e46639 Merge remote-tracking branch 'origin/feat/extra-agentspeak-functionality' into feat/monitoringpage-cb 2026-01-07 22:42:40 +01:00
Pim Hutting
365d449666 feat: commit before I can merge new changes
ref: N25B-400
2026-01-07 22:41:59 +01:00
Björn Otgaar
be88323cf7 chore: add one endpoint fo avoid errors 2026-01-07 18:24:35 +01:00
5a61225c6f feat: reset extractor history
ref: N25B-429
2026-01-07 18:10:13 +01:00
a30cea5231 Merge branch 'feat/semantic-beliefs' into feat/extra-agentspeak-functionality 2026-01-07 17:51:30 +01:00
Twirre Meulenbelt
93d67ccb66 feat: add reset functionality to semantic belief extractor
ref: N25B-432
2026-01-07 17:50:47 +01:00
240624f887 Merge branch 'dev' into feat/extra-agentspeak-functionality
# Conflicts:
#	src/control_backend/agents/bdi/bdi_program_manager.py
#	src/control_backend/agents/llm/llm_agent.py
#	test/unit/agents/bdi/test_bdi_program_manager.py
2026-01-07 17:46:48 +01:00
Pim Hutting
be6bbbb849 feat: added endpoint userinterrupt to userinterrupt
ref: N25B-400
2026-01-07 17:42:54 +01:00
8a77e8e1c7 feat: check goals only for this phase
Since conversation history still remains we can still check at a later point.

ref: N25B-429
2026-01-07 17:31:24 +01:00
3b4dccc760 Merge branch 'feat/semantic-beliefs' into feat/extra-agentspeak-functionality
# Conflicts:
#	src/control_backend/agents/bdi/bdi_program_manager.py
2026-01-07 17:20:52 +01:00
3d49e44cf7 fix: complete pipeline working
User interrupts still need to be tested.

ref: N25B-429
2026-01-07 17:13:58 +01:00
Twirre Meulenbelt
aa5b386f65 feat: semantically determine goal completion
ref: N25B-432
2026-01-07 17:08:23 +01:00
Storm
76dfcb23ef feat: added pause functionality
ref: N25B-350
2026-01-07 16:03:49 +01:00
Twirre Meulenbelt
3189b9fee3 fix: let belief extractor send user_said belief
ref: N25B-429
2026-01-07 15:19:23 +01:00
Björn Otgaar
34afca6652 chore: automatically send the experiment controls to the bdi core in the user interupt agent. 2026-01-07 15:07:33 +01:00
Björn Otgaar
324a63e5cc chore: add styles to user_interrupt_agent 2026-01-07 14:45:42 +01:00
07d70cb781 fix: single dispatch order
ref: N25B-429
2026-01-07 13:02:23 +01:00
af832980c8 feat: general slugify method
ref: N25B-429
2026-01-07 12:24:46 +01:00
Twirre Meulenbelt
cabe35cdbd feat: integrate AgentSpeak with semantic belief extraction
ref: N25B-429
2026-01-07 11:44:48 +01:00
Twirre Meulenbelt
de8e829d3e Merge remote-tracking branch 'origin/feat/agentspeak-generation' into feat/semantic-beliefs
# Conflicts:
#	test/unit/agents/bdi/test_bdi_program_manager.py
2026-01-06 15:30:59 +01:00
Twirre Meulenbelt
3406e9ac2f feat: make the pipeline work with Program and AgentSpeak
ref: N25B-429
2026-01-06 15:26:44 +01:00
a357b6990b feat: send program to bdi core
ref: N25B-376
2026-01-06 12:11:37 +01:00
Björn Otgaar
612a96940d Merge branch 'feat/environment-variables' into 'dev'
Docs for environment variables, parameterize some constants

See merge request ics/sp/2025/n25b/pepperplus-cb!38
2026-01-06 09:02:49 +00:00
Pim Hutting
4c20656c75 Merge branch 'feat/program-reset-llm' into 'dev'
feat: made program reset LLM

See merge request ics/sp/2025/n25b/pepperplus-cb!39
2026-01-02 15:13:05 +00:00
Pim Hutting
6ca86e4b81 feat: made program reset LLM 2026-01-02 15:13:04 +00:00
9eea4ee345 feat: new ASL generation
ref: N25B-376
2026-01-02 12:08:20 +01:00
Twirre Meulenbelt
42ee5c76d8 test: create tests for belief extractor agent
Includes changes in schemas. Change type of `norms` in `Program` imperceptibly, big changes in schema of `BeliefMessage` to support deleting beliefs.

ref: N25B-380
2025-12-29 17:12:02 +01:00
Twirre Meulenbelt
7d798f2e77 Merge remote-tracking branch 'origin/dev' into feat/environment-variables
# Conflicts:
#	src/control_backend/core/config.py
#	test/unit/agents/actuation/test_robot_speech_agent.py
2025-12-29 12:40:16 +01:00
Twirre Meulenbelt
5282c2471f Merge remote-tracking branch 'origin/dev' into feat/environment-variables
# Conflicts:
#	src/control_backend/core/config.py
#	test/unit/agents/actuation/test_robot_speech_agent.py
2025-12-29 12:35:39 +01:00
Twirre Meulenbelt
57b1276cb5 test: make tests work again after changing Program schema
ref: N25B-380
2025-12-29 12:31:51 +01:00
Twirre Meulenbelt
7e0dc9ce1c Merge remote-tracking branch 'origin/feat/agentspeak-generation' into feat/semantic-beliefs
# Conflicts:
#	src/control_backend/schemas/program.py
2025-12-23 17:36:39 +01:00
3253760ef1 feat: new AST representation
File names will be changed eventually.

ref: N25B-376
2025-12-23 17:30:35 +01:00
Twirre Meulenbelt
71cefdfef3 fix: add types to all config properties
ref: N25B-380
2025-12-23 17:14:49 +01:00
Twirre Meulenbelt
33501093a1 feat: extract semantic beliefs from conversation
ref: N25B-380
2025-12-23 17:09:58 +01:00
Luijkx,S.O.H. (Storm)
adbb7ffd5c Merge branch 'feat/user-interrupt-agent' into 'dev'
create UserInterruptAgent with connection to UI

See merge request ics/sp/2025/n25b/pepperplus-cb!40
2025-12-22 13:56:03 +00:00
Pim Hutting
0501a9fba3 create UserInterruptAgent with connection to UI 2025-12-22 13:56:02 +00:00
756e1f0dc5 feat: persistent rules and stuff
So ugly

ref: N25B-376
2025-12-18 14:33:42 +01:00
Twirre Meulenbelt
f91cec6708 fix: things in AgentSpeak, add custom actions
ref: N25B-376
2025-12-18 11:50:16 +01:00
28262eb27e fix: default case for plans
ref: N25B-376
2025-12-17 16:20:37 +01:00
1d36d2e089 feat: (hopefully) better intermediate representation
ref: N25B-376
2025-12-17 15:33:27 +01:00
742e36b94f chore: non-optional uuid id
ref: N25B-376
2025-12-17 14:30:14 +01:00
Twirre Meulenbelt
57fe3ae3f6 Merge remote-tracking branch 'origin/dev' into feat/agentspeak-generation 2025-12-17 13:20:14 +01:00
e704ec5ed4 feat: basic flow and phase transitions
ref: N25B-376
2025-12-16 17:00:32 +01:00
Twirre Meulenbelt
27f04f0958 style: use yield instead of returning arrays
ref: N25B-376
2025-12-16 16:11:01 +01:00
Twirre Meulenbelt
8cc177041a feat: add a second phase in test_program
ref: N25B-376
2025-12-16 15:12:22 +01:00
4a432a603f fix: separate trigger plan generation
ref: N25B-376
2025-12-16 14:12:04 +01:00
JobvAlewijk
3e7f2ef574 Merge branch 'feat/quiet-llm' into 'dev'
feat: implemented extra log level for LLM token stream

See merge request ics/sp/2025/n25b/pepperplus-cb!37
2025-12-16 11:26:37 +00:00
Luijkx,S.O.H. (Storm)
78abad55d3 feat: implemented extra log level for LLM token stream 2025-12-16 11:26:35 +00:00
bab4800698 feat: add trigger generation
ref: N25B-376
2025-12-16 12:10:52 +01:00
Twirre
4ab6b2a0e6 Merge branch 'feat/cb2ri-gestures' into 'dev'
Gestures in the CB.

See merge request ics/sp/2025/n25b/pepperplus-cb!36
2025-12-16 09:24:25 +00:00
Twirre Meulenbelt
db5504db20 chore: remove redundant check 2025-12-16 10:22:11 +01:00
d043c54336 refactor: program restructure
Also includes some AgentSpeak generation.

ref: N25B-376
2025-12-16 10:21:50 +01:00
Björn Otgaar
f15a518984 fix: tests
ref: N25B-334
2025-12-15 11:52:01 +01:00
Björn Otgaar
71d86f5fb0 Merge branch 'feat/cb2ri-gestures' of git.science.uu.nl:ics/sp/2025/n25b/pepperplus-cb into feat/cb2ri-gestures 2025-12-15 11:36:12 +01:00
Björn Otgaar
daf31ac6a6 fix: change the address to the config, update some logic, seperate the api endpoint, renaming things. yes, the tests don't work right now- this shouldn't be merged yet.
ref: N25B-334
2025-12-15 11:35:56 +01:00
Björn Otgaar
b2d014753d Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Pim Hutting <p.r.p.hutting@students.uu.nl>
2025-12-11 15:08:15 +00:00
Twirre Meulenbelt
0c682d6440 feat: introduce .env.example, docs
The example includes options that are expected to be changed. It also includes a reference to where in the docs you can find a full list of options.

ref: N25B-352
2025-12-11 13:35:19 +01:00
Björn Otgaar
2e472ea292 chore: remove wrong test paths 2025-12-11 12:48:18 +01:00
Björn Otgaar
1c9b722ba3 Merge branch 'dev' into feat/cb2ri-gestures 2025-12-11 12:46:32 +01:00
Twirre Meulenbelt
32d8f20dc9 feat: parameterize RI host
Was "localhost" in RI Communication Agent, now uses configurable setting. Secretly also removing "localhost" from VAD agent, as its socket should be something that's "inproc".

ref: N25B-352
2025-12-11 12:12:15 +01:00
Twirre Meulenbelt
9cc0e39955 fix: failures main tests since VAD agent initialization was changed
The test still expects the VAD agent to be started in main, rather than in the RI Communication Agent.

ref: N25B-356
2025-12-11 12:04:24 +01:00
Björn Otgaar
2366255b92 Merge branch 'fix/correct-vad-starting' into 'dev'
Move VAD agent creation to RI communication agent

See merge request ics/sp/2025/n25b/pepperplus-cb!34
2025-12-09 14:57:09 +00:00
Björn Otgaar
7f34fede81 fix: fix the tests
ref: N25B-334
2025-12-09 15:37:00 +01:00
Luijkx,S.O.H. (Storm)
a9255cb6e7 Merge branch 'test/coverage-max-all' into 'dev'
test: increased cb test coverage

See merge request ics/sp/2025/n25b/pepperplus-cb!32
2025-12-09 13:14:03 +00:00
JobvAlewijk
7f7c658901 test: increased cb test coverage 2025-12-09 13:14:02 +00:00
Björn Otgaar
3d62e7fc0c Merge branch 'feat/cb2ri-gestures' of git.science.uu.nl:ics/sp/2025/n25b/pepperplus-cb into feat/cb2ri-gestures 2025-12-09 14:13:01 +01:00
Björn Otgaar
6034263259 fix: correct the gestures bugs, change gestures socket to request/reply
ref: N25B-334
2025-12-09 14:08:59 +01:00
JobvAlewijk
63897f5969 chore: double tag 2025-12-09 12:33:43 +01:00
JobvAlewijk
a3cf389c05 Merge branch 'dev' of https://git.science.uu.nl/ics/sp/2025/n25b/pepperplus-cb into fix/correct-vad-starting 2025-12-07 23:09:31 +01:00
Björn Otgaar
6d60a8bb40 test: mmooaare tests (like one).
ref: N25B-334
2025-12-04 16:36:15 +01:00
Björn Otgaar
531526f7bc feat: create tests for all currect functionality and add get available tags router
ref: N25B-334
2025-12-04 16:33:27 +01:00
Björn Otgaar
fe4a060188 feat: add tests and better model validation for gesture commands
ref: N25B-334
2025-12-04 15:13:27 +01:00
JobvAlewijk
de2e56ffce Merge branch 'fix/fix-socket-typing' into 'dev'
chore: fix socket typing in robot speech agent

See merge request ics/sp/2025/n25b/pepperplus-cb!33
2025-12-03 14:26:46 +00:00
Twirre Meulenbelt
21e9d05d6e fix: move VAD agent creation to RI communication agent
Previously, it was started in main, but it should use values negotiated by the RI communication agent.

ref: N25B-356
2025-12-03 15:07:29 +01:00
Björn Otgaar
b93c39420e fix: create tests for new ri commands
ref: N25B-334
2025-12-03 13:29:47 +01:00
Björn Otgaar
95c7585bf1 feat: setup gesture agent and adjust command port for the UI
ref: N25B-334
2025-12-02 15:00:10 +01:00
Björn Otgaar
bacc63aa31 chore: fix socket typing in robot speech agent 2025-12-02 14:22:39 +01:00
Twirre
c85753f834 Merge branch 'docs/docs-cb' into 'dev'
Add documentation

See merge request ics/sp/2025/n25b/pepperplus-cb!31
2025-11-27 12:16:11 +00:00
261aea4f46 Merge remote-tracking branch 'origin/docs/docs-cb' into docs/docs-cb 2025-11-25 12:56:33 +01:00
953fde7b0c chore: apply suggestions 2025-11-25 12:56:13 +01:00
Twirre Meulenbelt
78923d3d07 fix: move BDI core agent to make documentation generation better
Previously, the BDI Core Agent wasn't included in the docs.

ref: N25B-299
2025-11-25 12:45:23 +01:00
ae7c7a0236 Merge branch 'dev' into docs/docs-cb 2025-11-25 12:21:20 +01:00
JobvAlewijk
6dc59d0093 Merge branch 'feat/norms-and-goals-program' into 'dev'
Add program manager

See merge request ics/sp/2025/n25b/pepperplus-cb!30
2025-11-25 11:20:51 +00:00
5598c6b8fe Merge branch 'feat/norms-and-goals-program' into docs/docs-cb 2025-11-25 12:04:33 +01:00
Twirre Meulenbelt
6be045666d chore: remove unused variable 2025-11-25 12:04:30 +01:00
Twirre
ce058c3808 fix: correct typing, simplify logs
ref: N25B-299
2025-11-25 10:52:18 +00:00
Twirre Meulenbelt
11b5345ae7 fix: do not await add_behavior anymore
ref: N25B-299
2025-11-25 11:33:35 +01:00
Twirre Meulenbelt
d513111ef3 Merge remote-tracking branch 'origin/dev' into feat/norms-and-goals-program 2025-11-25 11:29:27 +01:00
435f0c25a9 Merge branch 'refactor/remove-spade' into 'dev'
Remove SPADE dependency

See merge request ics/sp/2025/n25b/pepperplus-cb!29
2025-11-25 10:26:06 +00:00
e5949a7273 fix: fix test race condition
ref: N25B-301
2025-11-25 11:21:25 +01:00
129d3c4420 docs: add docs to CB
Pretty much every class and method should have documentation now.

ref: N25B-295
2025-11-24 21:58:22 +01:00
Twirre Meulenbelt
54502e441c test: fix tests after changing schema and
ref: N25B-299
2025-11-24 20:53:53 +01:00
Twirre Meulenbelt
3f22b854a7 fix: default norms and goals should be lists
ref: N25B-299
2025-11-24 20:28:34 +01:00
Twirre Meulenbelt
8ea8d4a8d4 feat: support history, norms and goals for LLM
ref: N25B-299
2025-11-24 17:58:44 +01:00
Twirre Meulenbelt
f2a67637c6 feat: add program manager
ref: N25B-299
2025-11-24 17:13:40 +01:00
ef00c03ec5 feat: pydantic models and inter-process messaging
Moved `InternalMessage` into schemas and created a `BeliefMessage`
model. Also added the ability for agents to communicate via ZMQ to
agents on another process.

ref: N25B-316
2025-11-24 14:03:34 +01:00
47a20413c4 chore: fix tests
Fixed the use of `asyncio.Event` in `VADAgent` breaking tests.
2025-11-22 20:06:48 +01:00
8607f9b615 chore: apply suggestions 2025-11-22 19:59:30 +01:00
4d076eac48 perf: improved speed of BDI
By efficiently checking when the next work has to be done, we can
increase performance not having to "busy loop". Time from transcription
-> message to LLM agent is now down to sub 1 millisecond.

ref: N25B-316
2025-11-22 19:53:19 +01:00
1f9926fe00 chore: apply suggestion
Changed `add_background_task` to `add_behavior` and added extra docs.
2025-11-22 10:28:52 +01:00
Twirre
f8f833df64 Merge branch 'refactor/remove-spade-redo-tests' into 'refactor/remove-spade-update-tests'
Redo testing

See merge request ics/sp/2025/n25b/pepperplus-cb!28
2025-11-21 17:16:43 +00:00
1d6781c5b6 Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Twirre <s.a.meulenbelt@students.uu.nl>
2025-11-21 17:05:01 +00:00
b488effddc chore: add back missing test 2025-11-21 17:55:17 +01:00
5a6ff12d8d chore: update dependencies 2025-11-21 17:29:30 +01:00
027b88adf3 chore: update pipeline 2025-11-21 17:19:39 +01:00
359633effc chore: update dependencies 2025-11-21 17:18:53 +01:00
9fdcacc342 chore: update gitlab ci file 2025-11-21 17:10:58 +01:00
24863cb6af chore: update CI/CD testing command 2025-11-21 17:06:04 +01:00
5fb923e20d refactor: testing
Redid testing structure, added tests and changed some tests.

ref: N25B-301
2025-11-21 17:03:40 +01:00
97f5f5c74d Merge branch 'refactor/remove-spade' into refactor/remove-spade-update-tests 2025-11-21 13:31:09 +01:00
2d4f9a3323 chore: remove redundant settings 2025-11-21 13:30:28 +01:00
c02282556f Merge branch 'refactor/remove-spade' into refactor/remove-spade-update-tests 2025-11-21 13:29:14 +01:00
98d087417f docs: document how to use agents
ref: N25B-300
2025-11-21 13:28:37 +01:00
Twirre Meulenbelt
d7353bea8c Merge remote-tracking branch 'origin/refactor/remove-spade' into refactor/remove-spade-update-tests 2025-11-21 13:13:44 +01:00
1c510c661e feat: more robust belief management
ref: N25B-316
2025-11-21 12:08:53 +01:00
92fc73d45b chore: add back agentspeak dependency
This was removed with the removal of SPADE.
2025-11-21 10:04:37 +01:00
Twirre Meulenbelt
5787e3341a test: make integration tests work again
ref: N25B-301
2025-11-20 20:59:41 +01:00
Twirre Meulenbelt
c9186eaf8f test: make some BDI tests work again
ref: N25B-301
2025-11-20 18:03:39 +01:00
67d0284dfb chore: remove metadata field and jid attribute
These weren't used.
2025-11-20 17:32:19 +01:00
Twirre Meulenbelt
0493d390e3 test: make VAD tests work again
ref: N25B-301
2025-11-20 16:33:12 +01:00
610c4b526d fix: incorrect receiver and incorrect belief
ref: N25B-300
2025-11-20 15:04:40 +01:00
bb3f81d2e8 refactor: remove SPADE dependencies
Did not look at tests yet, this is a very non-final commit.

ref: N25B-300
2025-11-20 14:35:28 +01:00
Twirre
6025721866 Merge branch 'docs/gen_documentation' into 'dev'
docs: added auto-generation of documentation

See merge request ics/sp/2025/n25b/pepperplus-cb!27
2025-11-19 17:15:17 +00:00
Storm
9cc44914f8 chore: added to conf.py to correctly load modules for doc generation
ref: N25B-270
2025-11-19 18:04:06 +01:00
Storm
8c209d3adb docs: conf.py is now included, sphinx is properly installed using uv
ref: N25B-270
2025-11-19 17:47:10 +01:00
Twirre
884e03bc44 Merge branch 'refactor/config-file' into 'dev'
refactor: remove constants and put in config file

See merge request ics/sp/2025/n25b/pepperplus-cb!24
2025-11-19 16:31:51 +00:00
Twirre Meulenbelt
64db25c974 Merge remote-tracking branch 'origin/dev' into refactor/config-file
# Conflicts:
#	src/control_backend/agents/ri_communication_agent.py
#	src/control_backend/core/config.py
#	src/control_backend/main.py
2025-11-19 17:30:48 +01:00
Twirre
9963134262 Merge branch 'refactor/agent-naming' into 'dev'
Refactoring agent and behaviour naming and structure.

See merge request ics/sp/2025/n25b/pepperplus-cb!25
2025-11-19 15:37:14 +00:00
Twirre Meulenbelt
5f3d290fb6 fix: use the correct name in the transcription agent
ref: N25B-257
2025-11-19 16:29:13 +01:00
Twirre Meulenbelt
6c401a18b4 Merge remote-tracking branch 'origin/dev' into refactor/agent-naming 2025-11-19 16:00:11 +01:00
Twirre Meulenbelt
efe49c219c feat: apply new agent naming standards
Expanding abbreviations to remove ambiguity, simplifying agent names to reduce repetition.

ref: N25B-257
2025-11-19 15:56:09 +01:00
Björn Otgaar
4fc3c2a1e1 Merge branch 'feat/recieve-programs-ui' into 'dev'
feat: ui program to cb connection

See merge request ics/sp/2025/n25b/pepperplus-cb!26
2025-11-19 14:21:00 +00:00
Storm
7e73baf8be docs: added auto-generation of documentation
ref: N25B-270
2025-11-19 13:44:08 +01:00
JobvAlewijk
964997f801 Merge branch 'dev' of https://git.science.uu.nl/ics/sp/2025/n25b/pepperplus-cb into feat/recieve-programs-ui 2025-11-19 13:16:41 +01:00
Pim Hutting
93b8db03e7 fix: delete personal git history file
Accidentally added a git history file.

close: N25B-236
2025-11-19 13:05:40 +01:00
Pim Hutting
98dd2637c0 Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Twirre <s.a.meulenbelt@students.uu.nl>
2025-11-19 11:50:17 +00:00
Pim Hutting
1372fe89f6 Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Twirre <s.a.meulenbelt@students.uu.nl>
2025-11-19 11:50:07 +00:00
Pim Hutting
6436fc12c8 Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Twirre <s.a.meulenbelt@students.uu.nl>
2025-11-19 11:48:49 +00:00
Pim Hutting
f74efba511 Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Twirre <s.a.meulenbelt@students.uu.nl>
2025-11-19 11:48:31 +00:00
Pim Hutting
7120a7a8aa Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Twirre <s.a.meulenbelt@students.uu.nl>
2025-11-19 11:48:11 +00:00
Pim Hutting
d60df2174c Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Twirre <s.a.meulenbelt@students.uu.nl>
2025-11-19 11:48:02 +00:00
Björn Otgaar
f4dbca5b94 Merge branch 'dev' into refactor/agent-naming 2025-11-18 19:32:15 +01:00
Twirre
df1e891a22 Merge branch 'feat/cb2ui-robot-connections' into 'dev'
fix: wait for req socket send to make sure we dont stay stuck - if there's no...

See merge request ics/sp/2025/n25b/pepperplus-cb!23
2025-11-18 12:24:14 +00:00
JobvAlewijk
39c07dd3cf refactor: made pydantic check the input.
no longer by the code itself.

ref: N25B-198
2025-11-18 12:35:44 +01:00
Björn Otgaar
2eefcc4553 chore: fix error messages to be warnings. 2025-11-17 16:09:02 +01:00
Björn Otgaar
41993a902b chore: remove caplog from test cases 2025-11-17 16:04:54 +01:00
JobvAlewijk
2ed2a84f13 style: compacted program and reworked tests
ref: N25B-198
2025-11-12 18:04:39 +01:00
JobvAlewijk
79d3bfb3a6 test: added tests for programs and its scheme
ref: N25B-198
2025-11-12 17:36:00 +01:00
JobvAlewijk
43f3cba1a8 feat: ui program to cb connection
ref: N25B-198
2025-11-12 13:18:56 +01:00
Björn Otgaar
9152985bdb fix: send correct asl path to BDI agent
ref: N25B-257
2025-11-12 12:46:47 +01:00
Björn Otgaar
7a707cf9a0 refactor: change test folder structure, rename functions to account for (non)changing behaviours and clarity
ref: N25B-257
2025-11-12 12:42:54 +01:00
Björn Otgaar
9365f109ab refactor: restructure to make sure the Bel agents are also part of BDI.
ref: N25B-257
2025-11-12 12:01:37 +01:00
Björn Otgaar
dfebe6f772 refactor: make sure that in main the correct names and passwords are called for starting the agents
ref: N25B-257
2025-11-12 11:36:51 +01:00
Björn Otgaar
0e45383027 refactor: rename all agents and improve structure pt1
ref: N25B-257
2025-11-12 11:04:49 +01:00
Björn Otgaar
debc87c0bb fix: Fix up merging request changes and make sure that there is no racing condition errors, and UI always gets correct information.
ref: N25B-256
2025-11-11 10:18:43 +01:00
Pim Hutting
e1918325e2 chore: making tests pass after merge
I had to make use of monkeypatch to simulate using the config file

ref: N25B-236
2025-11-09 14:45:08 +01:00
Björn Otgaar
2d1a25e4ae chore: fixing up logging messages 2025-11-06 14:49:54 +01:00
Björn Otgaar
6cc03efdaf feat: new integration tests for robot, making sure to get 100% code coverage
ref: N25B-256
2025-11-06 14:42:02 +01:00
Björn Otgaar
00d3e893f4 chore: merge dev and make sure vs doesnt cry 2025-11-06 14:27:52 +01:00
Björn Otgaar
be5dc7f04b fix: fixed integration tests due to new change
ref: N25B-256
2025-11-06 14:26:02 +01:00
Björn Otgaar
feb6875a4c fix: make sure that the communication agent reboots propperly.
ref: N25B-256
2025-11-06 14:16:55 +01:00
Luijkx,S.O.H. (Storm)
781a05328f Merge branch 'test/belief_from_text' into 'dev'
test: added tests for text_belief_extractor

See merge request ics/sp/2025/n25b/pepperplus-cb!22
2025-11-06 12:57:09 +00:00
Luijkx,S.O.H. (Storm)
1c756474f2 test: added tests for text_belief_extractor 2025-11-06 12:57:09 +00:00
Björn Otgaar
276ccfbf78 chore: merged dev into branch and updated logging 2025-11-06 13:52:12 +01:00
Pim Hutting
594ad91b6d fix: removed non used values from config
ref: N25B-236
2025-11-05 17:32:26 +01:00
Björn Otgaar
ca8b57fec5 fix: robot pings to router
ref: N25B-256
2025-11-05 16:59:36 +01:00
Pim Hutting
a11527141b chore: merge current dev into refactor/config-file
ref: N25B-236
2025-11-05 16:48:13 +01:00
df7dc8fdf3 fix: no double json
ref: N25B-242
2025-11-05 16:38:03 +01:00
Pim Hutting
6235fcdaf4 Merge branch 'refactor/logging' into 'dev'
Restructure logging

See merge request ics/sp/2025/n25b/pepperplus-cb!21
2025-11-05 15:31:06 +00:00
Björn Otgaar
8638523980 fix: fixed new tests and merged dev into branch
ref: N25B-256
2025-11-05 16:29:56 +01:00
9e7119481c fix: tests pass
ref: N25B-241
ref: N25B-242
2025-11-05 16:08:28 +01:00
Pim Hutting
b15dea9e98 refactor: merge main into config-file
ref: N25B-236
2025-11-05 15:24:44 +01:00
d9fef22090 Merge branch 'dev' into refactor/logging 2025-11-05 15:09:14 +01:00
4d38850a1d Merge branch 'demo' into 'dev'
End to end connected for demo

See merge request ics/sp/2025/n25b/pepperplus-cb!17
2025-11-05 14:01:41 +00:00
Twirre Meulenbelt
262376fb58 fix: break LLM response with fewer types of punctuation
ref: N25B-207
2025-11-05 15:01:01 +01:00
Twirre Meulenbelt
06e9e4fd15 chore: ruff format 2025-11-05 14:15:03 +01:00
220c5c7739 feat: send logs to UI
Added SSE endpoint `/logs/stream` for the UI to listen to logs.

ref: N25B-242
2025-11-05 13:57:51 +01:00
Pim Hutting
da2df94192 chore: merge dev into refactor/config-file
Merged the latest changes from dev into this branch to stay up to date with current development.

ref: N25B-236
2025-11-05 13:49:38 +01:00
Pim Hutting
9e926178da refactor: remove constants and put in config file
removed all constants from all files and put them in src/control_backend/core/config.py
also removed some old mock agents that we don't use anymore

ref: N25B-236
2025-11-05 13:43:57 +01:00
Twirre Meulenbelt
1b58549c2a test: fix expected test value after changing audio token allowance
ref: N25B-209
2025-11-05 12:41:48 +01:00
e49ccb213e Merge branch 'dev' into refactor/logging 2025-11-05 12:40:31 +01:00
Twirre Meulenbelt
689a0d35da Merge remote-tracking branch 'origin/dev' into demo 2025-11-05 12:38:08 +01:00
Twirre
12abf49f55 Merge branch 'refactor/zmq-internal-socket-behaviour' into 'dev'
Refactored ZMQ context implementation

See merge request ics/sp/2025/n25b/pepperplus-cb!16
2025-11-05 11:35:26 +00:00
Twirre Meulenbelt
f854a60e46 style: import order and lines too long
ref: N25B-217
2025-11-05 12:34:30 +01:00
Twirre Meulenbelt
2c867adce2 fix: go back to the working ri command endpoint test
Merged the wrong version because it seemed to solve the same problem. It did not. Now using the one I commited two commits ago.

ref: N25B-217
2025-11-05 12:22:42 +01:00
Twirre Meulenbelt
a1918049e5 Merge remote-tracking branch 'origin/dev' into refactor/zmq-internal-socket-behaviour
# Conflicts:
#	src/control_backend/agents/ri_command_agent.py
#	src/control_backend/agents/ri_communication_agent.py
#	src/control_backend/api/v1/endpoints/command.py
#	src/control_backend/main.py
#	test/integration/api/endpoints/test_command_endpoint.py
2025-11-05 12:16:18 +01:00
Twirre Meulenbelt
b008562554 fix: tests
To work with the new zmq instance context.

ref: N25B-217
2025-11-05 12:08:07 +01:00
Twirre Meulenbelt
5c228df109 fix: allow Whisper to generate more tokens based on audio length
Before, it sometimes cut off the transcription too early.

ref: N25B-209
2025-11-05 10:41:11 +01:00
feff037d3a chore: add new handler in logging config
Not used yet, will be in the future.
2025-11-05 10:38:44 +01:00
c7bdb5aeda chore: run linter and formatter 2025-11-04 21:00:12 +01:00
270df83fab Merge branch 'dev' into refactor/logging 2025-11-04 20:54:03 +01:00
a98018ddda refactor: agents inherit logger from BaseAgent
Created a class `BaseAgent`, from which all agents inherit. They get
assigned a logger with a nice name (something like
`control_backend.agents.AgentName`).

The BDI core takes care of its own logger, as bdi is still a module.

ref: N25B-241
2025-11-04 20:48:55 +01:00
Björn Otgaar
da30c392aa Merge branch 'fix/skip-checking-auto-commits' into 'dev'
Automated commit detection

See merge request ics/sp/2025/n25b/pepperplus-cb!20
2025-11-03 14:35:40 +00:00
cb5457b6be feat: check for squash commits
ref: N25B-241
2025-11-03 15:29:06 +01:00
360f601d00 feat: chore doesn't need ref
If we detect a chore commit, we don't check for the correct ref/close
footer.

ref: N25B-241
2025-11-03 15:23:11 +01:00
e53792b67c Merge branch 'fix/skip-checking-auto-commits' of git.science.uu.nl:ics/sp/2025/n25b/pepperplus-cb into fix/skip-checking-auto-commits 2025-11-03 14:58:56 +01:00
3c8cee54eb fix: pattern matching instead of file existence
The previous method of detecting automated commits was error-prone,
specifically when using VSCode to commit changes. This new method uses a
simple Regex pattern match to see if the commit message matches any
known auto-generated commits.

ref: N25B-241
2025-11-03 14:57:44 +01:00
0d5e198cad fix: pattern matching instead of file existence
The previous method of detecting automated commits was error-prone,
specifically when using VSCode to commit changes. This new method uses a
simple Regex pattern match to see if the commit message matches any
known auto-generated commits.

ref: N25B-241
2025-11-03 14:51:18 +01:00
020bf55772 fix: automated commit detection
ref: N25B-241
2025-11-02 22:02:32 +01:00
Twirre Meulenbelt
8e4d8f9d1e Merge remote-tracking branch 'origin/dev' into demo
# Conflicts:
#	src/control_backend/agents/bdi/behaviours/receive_llm_resp_behaviour.py
#	src/control_backend/agents/llm/llm.py
#	src/control_backend/agents/ri_command_agent.py
#	src/control_backend/agents/transcription/speech_recognizer.py
2025-11-02 21:07:50 +01:00
Twirre
c6edad0bb4 Merge branch 'build/fix-pre-commit' into 'dev'
Fix pre-commit

See merge request ics/sp/2025/n25b/pepperplus-cb!18
2025-11-02 19:56:31 +00:00
Twirre Meulenbelt
e025b14610 docs: add suggested fix for potential issue
ref: N25B-241
2025-11-02 20:54:38 +01:00
Twirre Meulenbelt
e5bf6fd1cc docs: update README instructions for git hooks
Removed old advice from the README to configure git to add pre-commit hooks manually. We now have `pre-commit` for this, and they conflict. Added the command to install commit message hooks.

ref: N25B-241
2025-11-02 20:40:32 +01:00
Twirre Meulenbelt
460dc5dce8 Merge remote-tracking branch 'origin/dev' into build/fix-pre-commit 2025-11-02 20:24:33 +01:00
Twirre
53d36dec2f Merge branch 'style/fix-linting-formatting' into 'dev'
Make `dev` pass code style guidelines

See merge request ics/sp/2025/n25b/pepperplus-cb!19
2025-11-02 19:19:37 +00:00
48c9746417 style: apply ruff check and format
Made sure all ruff checks pass and formatted all files.

ref: N25B-224
2025-11-02 19:45:01 +01:00
e5782b421f build: fix pre-commit
Moved the git hooks into shell scripts and placed them into the
pre-commit configuration. Also extended robustness of the hooks.

ref: N25B-241
2025-11-02 18:45:57 +01:00
d43cb9394a refactor: improve logging and module structure
Changed some folders to not be modules and organized some `__init__.py`
files.

ref: N25B-223
2025-11-02 11:32:21 +01:00
d66fe07438 refactor: rename logging_config.yaml -> .logging_config.yaml 2025-10-31 21:26:08 +01:00
d5de644828 feat: add colored and formatted logging
Add a custom logging setup function to add custom levels and custom
formatters (partly for future use with extended logging functionality).
Also implemented a basic colored formatter to make our logs nicer.

Also improved the handling of logging in external libraries, so now we
should only get WARNings or above.

ref: N25B-233
2025-10-31 21:22:32 +01:00
Björn Otgaar
1234517d8f fix: merge refactor/zmq-internal-socket-behaviour into feat/cb2ui-robot-connections. (And fixed all ruff/ test issues to commit)
ref: None
2025-10-31 14:16:11 +01:00
20a49eb553 fix: endpoints don't create sockets
ref: N25B-217
2025-10-31 10:36:21 +01:00
Björn Otgaar
30453be4b2 fix: ruff checks is now in order:)
ref: N25B-205
2025-10-30 16:41:35 +01:00
Twirre Meulenbelt
4ffe3b2071 fix: make VAD unit tests work after changes
Namely, the Streamer has to be marked ready.

ref: N25B-216
2025-10-30 16:40:45 +01:00
Björn Otgaar
af3e4ae56a fix: adjusted ping data on ping_stream, and made it so that communication agent is more robust and quick in ping communication.
ref: N25B-142
2025-10-30 13:07:01 +01:00
10deb4bece fix: separate thread for proxy
ref: N25B-217
2025-10-30 12:52:18 +01:00
b92471ff1c refactor: ZMQ context and proxy
Use ZMQ's global context instance and setup an XPUB/XSUB proxy intermediary to allow for easier multi-pubs.

close: N25B-217
2025-10-30 11:40:14 +01:00
Twirre Meulenbelt
86938f79c0 feat: end to end connected for demo
Includes the Transcription agent. Involved updating the RI agent to receive messages from other agents, sending speech commands to the RI agent, and some performance optimizations.

ref: N25B-216
2025-10-30 10:42:25 +01:00
Björn Otgaar
df6a39866b fix: fix unit tests with new feat
ref: N25B-151
2025-10-29 22:05:13 +01:00
Björn Otgaar
4f2d45fb44 feat: fixed socket typing for communication agent and ping router- automatically try to reconnect with robot.
ref: N25B-151
2025-10-29 21:55:23 +01:00
Björn Otgaar
669d0190d6 feat: started ping router and internal messaging for pings
ref: N25B-151
2025-10-29 19:22:06 +01:00
657c300bc7 Merge branch 'feat/transcription-agent' into 'dev'
Create transcriber agent

See merge request ics/sp/2025/n25b/pepperplus-cb!15
2025-10-29 15:51:43 +00:00
Twirre Meulenbelt
a00d7c25db test: I was forced to do this
ref: all
2025-10-29 16:49:00 +01:00
Twirre Meulenbelt
246b2b7ddf test: I was forced to do this
ref: all
2025-10-29 16:47:47 +01:00
Twirre Meulenbelt
2fae230977 feat: incomplete working pipeline
ref: all
2025-10-29 16:43:23 +01:00
Twirre Meulenbelt
696e91a9d3 Merge remote-tracking branch 'origin/dev' into feat/transcription-agent
# Conflicts:
#	src/control_backend/core/config.py
2025-10-29 15:40:19 +01:00
Twirre
2da80010b5 Merge branch 'feat/belief-collector' into 'dev'
Feat: Implement belief collector

See merge request ics/sp/2025/n25b/pepperplus-cb!14
2025-10-29 14:38:52 +00:00
Twirre Meulenbelt
c56fe3e46d Merge remote-tracking branch 'origin/dev' into feat/belief-collector
# Conflicts:
#	src/control_backend/main.py
2025-10-29 15:37:55 +01:00
Twirre
baa0c73469 Merge branch 'feat/belief-from-text' into 'dev'
implemented basic belief-from-text extractor including demo version

See merge request ics/sp/2025/n25b/pepperplus-cb!13
2025-10-29 14:31:36 +00:00
Twirre Meulenbelt
792d360fa4 chore: remove test agent again
ref: N25B-208
2025-10-29 15:30:53 +01:00
Twirre Meulenbelt
d05276b081 Merge remote-tracking branch 'origin/feat/belief-from-text' into feat/belief-from-text
# Conflicts:
#	src/control_backend/agents/bdi/test_agent.py
#	src/control_backend/main.py
2025-10-29 15:29:00 +01:00
Twirre Meulenbelt
889ec1db51 chore: fix merge conflicts and small items
ref: N25B-208
2025-10-29 15:28:15 +01:00
Pim Hutting
3f7ec071b2 Merge remote-tracking branch 'origin/dev' into feat/belief-collector 2025-10-29 15:14:42 +01:00
Twirre Meulenbelt
7744852e88 Merge remote-tracking branch 'origin/dev' into feat/belief-from-text
# Conflicts:
#	src/control_backend/main.py
2025-10-29 15:12:18 +01:00
Storm
041edd4c1e feat: implement demo version for demo
ref: N25B-208
2025-10-29 14:53:14 +01:00
Twirre Meulenbelt
2a5aa57589 test: make VAD integration tests work again with Transcription agent
ref: N25B-209
2025-10-29 14:53:07 +01:00
Twirre Meulenbelt
155c761daa Merge remote-tracking branch 'origin/dev' into feat/transcription-agent
# Conflicts:
#	src/control_backend/core/config.py
2025-10-29 14:00:57 +01:00
Twirre
f260fd6421 Merge branch 'feat/llm-agent' into 'dev'
feat: LLM agent

See merge request ics/sp/2025/n25b/pepperplus-cb!12
2025-10-29 12:58:41 +00:00
Twirre Meulenbelt
7779d3a41c style: another tiny style fixes 2025-10-29 13:58:10 +01:00
Twirre Meulenbelt
5f2fd11a33 style: tiny style fixes 2025-10-29 13:55:18 +01:00
JobvAlewijk
91df16ebbc build: merge bdi improvements
ref: N25B-197
2025-10-29 13:44:57 +01:00
Twirre
37d4155404 Merge branch 'fix/bdi-correct-belief-management' into 'dev'
Fix belief management in BDI

See merge request ics/sp/2025/n25b/pepperplus-cb!11
2025-10-29 12:36:03 +00:00
Björn Otgaar
59c2edc3c6 fix: small fix for testing ping timeouts
ref: N25B-205
2025-10-29 13:33:01 +01:00
Björn Otgaar
b83a362abe fix: wait for req socket send to make sure we dont stay stuck - if there's no REP this would be awaited forever.
ref: N25B-205
2025-10-29 13:31:24 +01:00
814a928ae4 Merge remote-tracking branch 'origin/dev' into fix/bdi-correct-belief-management 2025-10-29 13:25:58 +01:00
2da02946ed chore: remove manual testing function
ref: N25B-197
2025-10-29 13:21:55 +01:00
JobvAlewijk
3661b2a1e6 fix: local host
ref: N25B-208
2025-10-29 13:03:57 +01:00
JobvAlewijk
c7a2effa78 style: linted everything
ref: N25B-207
2025-10-29 13:01:00 +01:00
Twirre Meulenbelt
bec3e57658 feat: limit transcription output length based on input
Using heuristics. Also adds documentation and initial unit tests.

ref: N25B-209
2025-10-29 12:49:24 +01:00
JobvAlewijk
af789bd459 feat: norms and goals to llm
base goals and norms can be defined in llm_instructions.py
cleaned the code

ref: N25B-215
2025-10-29 12:45:13 +01:00
Twirre Meulenbelt
4d6bac7e2b Merge remote-tracking branch 'origin/dev' into feat/transcription-agent 2025-10-29 12:20:09 +01:00
3b7aeafe5e fix: correct belief management
There was an issue in how we treated beliefs, specifically with multiple beliefs of the same name but different arguments. This is fixed with this commit.

Also implemented correct updating of the "responded" belief, when the user_said belief is updated (when we get a new user message, we state that we have not yet responded to that message)

ref: N25B-197
2025-10-29 11:23:56 +01:00
Pim Hutting
baeef6142d fix: beliefs now adhere to expected format
[
    -before user_said belief was a list of lists of strings, now it's a list of strings
]

[ref]: N25B-206
2025-10-29 11:20:20 +01:00
JobvAlewijk
f163e0ee6c build: merge of VAD
ref: N25B-213
2025-10-29 10:32:43 +01:00
Pim Hutting
f8dee6d878 test: added tests
[
    See test_continuous_collect.py
]

[ref]: N25B-206
2025-10-29 09:58:56 +01:00
Pim Hutting
e36f5fcef4 Merge branch 'feat/vad-agent' into 'dev'
Implement the VAD agent

See merge request ics/sp/2025/n25b/pepperplus-cb!10
2025-10-29 08:15:23 +00:00
Twirre Meulenbelt
2bb008994b feat: implement transcriber agent
Uses speech fragments of the VAD agent, emits transcribed text over SPADE's default communication channel to no recipient for now.

ref: N25B-209
2025-10-28 21:57:25 +01:00
Twirre Meulenbelt
7085719d2f Merge remote-tracking branch 'origin/dev' into feat/transcription-agent 2025-10-28 21:51:09 +01:00
Twirre Meulenbelt
f73f510608 fix: make VAD unit tests work with minimal dependencies
By mocking PyTorch and ZMQ and adding the Numpy dependency.

ref: N25B-213
2025-10-28 18:13:00 +01:00
JobvAlewijk
6846a18b3b build: merge
merge with riAgent

ref: N25B-208
2025-10-28 15:03:47 +01:00
Twirre Meulenbelt
fd1facedd1 chore: update integration test run instructions
No longer `--only-group`, but `--group` so that it also uses the default dependencies.

ref: N25B-213
2025-10-28 15:00:51 +01:00
Twirre Meulenbelt
7a96920db5 Merge remote-tracking branch 'origin/dev' into feat/vad-agent 2025-10-28 14:55:10 +01:00
Twirre
b551e4e042 Merge branch 'feat/cb2ui-robot-connections' into 'dev'
Merge new implementation of robot ri api with unit tests into dev.

See merge request ics/sp/2025/n25b/pepperplus-cb!6
2025-10-28 13:49:40 +00:00
Björn Otgaar
158911b134 fix: change conftest place
ref: N25B-205
2025-10-28 14:38:31 +01:00
Björn Otgaar
2b8a396766 fix: just dont do integration tests. :(
ref: N25B-205
2025-10-28 14:27:46 +01:00
Björn Otgaar
bea6bf2a60 fix: Reverted to different branch and updated gitlab cicd for this branch
ref: N25B-205
2025-10-28 14:18:55 +01:00
Pim Hutting
2efce93a37 fix: made beliefs a dict of lists
[
    Before it was a list of a dict of lists of lists of strings
    now it is a dict of lists of lists of strings as prescribed by architecture (knowledge base)
    *also added some tests, but will have to add some more
]

[ref]: N25B-206
2025-10-28 14:17:07 +01:00
Björn Otgaar
e196609e64 Revert "fix: fix only group integration testing to exclude missing dependencies"
This reverts commit c75f5de97c.
2025-10-28 14:16:58 +01:00
Björn Otgaar
fd11e63b78 Revert "fix: unit test refactoring with conftest and more mocks"
This reverts commit 423309e063.
2025-10-28 14:16:39 +01:00
Björn Otgaar
437b21a6d6 Revert "fix: quick fix for pydantic import for tests"
This reverts commit acb6a69467.
2025-10-28 14:16:15 +01:00
Björn Otgaar
a1b8a7a05e Revert "fix: quick fix for fastapi import for tests"
This reverts commit 3730943b9e.
2025-10-28 14:14:33 +01:00
JobvAlewijk
f44413ca1e style: typo
ref: N25B-207
2025-10-28 13:47:48 +01:00
JobvAlewijk
f8d08ac7ca chore: moved behavoir
moved recieve llm behavoir into a the behavoir folder

ref: N25B-207
2025-10-28 13:44:28 +01:00
Twirre Meulenbelt
1cfefc8f8c fix: reduce debug log message amount when no audio received
Used to be every `timeout` time that we'd get the message that no audio data is received. Now only the first time since no data is received.

ref: N25B-213
2025-10-28 13:30:45 +01:00
Björn Otgaar
3730943b9e fix: quick fix for fastapi import for tests
ref: N25B-205
2025-10-28 13:30:15 +01:00
Storm
a43e5111db fix: quick first fix in preparation of merge
ref: N25B-208
2025-10-28 13:28:42 +01:00
Björn Otgaar
acb6a69467 fix: quick fix for pydantic import for tests
Ref: N25B-205
2025-10-28 13:28:38 +01:00
Björn Otgaar
423309e063 fix: unit test refactoring with conftest and more mocks
ref: N25B-205
2025-10-28 13:26:33 +01:00
Pim Hutting
1f34b14dfa Feat: Implement belief collector
[
    - Currently implements belief collection from text-based mock agent.
    - The beliefs communicated by this agent look like this:

        {
            "type": "belief_extraction_text",
            "beliefs": [
                {"user_said": [["hello"],["Can you help me?"],["stop talking to me"],["No"],["Pepper do a dance"]]}
            ]
        }
    * have yet to add tests (but we want to merge into Dev. asap)
]

[ref]: N25B-206
2025-10-28 13:07:49 +01:00
Björn Otgaar
c75f5de97c fix: fix only group integration testing to exclude missing dependencies
ref: N25B-205
2025-10-28 12:20:43 +01:00
Björn Otgaar
473c0fdce1 fix: fix gitlab ci pipeline
ref: N25B-205
2025-10-28 12:07:42 +01:00
JobvAlewijk
281bc57b6e chore: cleanup
made bdi match incoming messages
changed llm from test agent to llm agent in config.

ref: N25B-207
2025-10-28 12:03:30 +01:00
Björn Otgaar
47a87d0b4a fix: unit tests fixes and ruff formating
N25B-205
2025-10-28 11:31:05 +01:00
Björn Otgaar
52faa59184 Merge remote-tracking branch 'origin/dev' into feat/cb2ui-robot-connections 2025-10-28 11:09:23 +01:00
JobvAlewijk
17056da832 chore: cleanup
made llm get url from settings
cleanup uneceserry fstring

ref: N25B-207
2025-10-28 11:07:28 +01:00
Björn Otgaar
149d20e77b chore: apply recommended changes for merging 2025-10-28 11:05:27 +01:00
Twirre Meulenbelt
833dd6c9d4 feat: allow no audio input while robot is speaking
The VAD agent will discard its current buffer and retry receiving data.

ref: N25B-213
2025-10-28 10:58:28 +01:00
Twirre Meulenbelt
a44df4781b Merge remote-tracking branch 'origin/dev' into feat/vad-agent
# Conflicts:
#	pyproject.toml
#	src/control_backend/main.py
#	uv.lock
2025-10-28 10:44:03 +01:00
Twirre
dc811fd625 Merge branch 'style/fix-style' into 'dev'
Fix style and add linting/formatting pre-commits

See merge request ics/sp/2025/n25b/pepperplus-cb!9
2025-10-28 09:32:11 +00:00
65cfdda7d9 docs: add linting/formatting pre-commit entry to the README 2025-10-27 15:20:04 +01:00
4859c3ac04 style: fix style 2025-10-27 15:10:31 +01:00
JobvAlewijk
c5b71450fc feat: LLM agent
body:   added the llmAgent class and made it run at the start.
        modified the bdi_core to send a test message and recieve an awnser from LLM agent
        Added a connection to a local llm via lmstudio.

        Tests are Tba.

ref: N25B-207
2025-10-27 14:21:18 +01:00
Storm
bece44bf7d feat: implemented basic belief-from-text extractor
The communication with other agents has been tested with mock data as the other agents (transcriber and belief collector) are not yet implemented.

ref: N25B-208
2025-10-24 17:25:25 +02:00
Twirre Meulenbelt
d47074d091 test: complete VAD unit and integration tests
Including an integration test with real voice audio.

ref: N25B-213
2025-10-23 21:17:41 +02:00
Twirre Meulenbelt
ca5e59d029 test: add first unit test for VAD agent
Mocking audio input probabilities, checking whether it publishes audio data on the output socket.

ref: N25B-213
2025-10-23 17:40:47 +02:00
Björn Otgaar
31e77de26b chore: fix style guide max characters 2025-10-23 17:12:49 +02:00
Björn Otgaar
c1217a9017 fix: fixed duplicate entry in uv.lock
ref: N25B-205
2025-10-23 17:02:17 +02:00
Björn Otgaar
87bd12d7a5 fix: restructure tests for integration
ref: N25B-205
2025-10-23 16:54:25 +02:00
Björn Otgaar
d599f71c8a Merge remote-tracking branch 'origin/dev' into feat/cb2ui-robot-connections 2025-10-23 16:48:04 +02:00
Björn Otgaar
a2a04740e5 chore: add unit test for router and implement command router
ref: N25B-205
2025-10-23 16:45:41 +02:00
Twirre Meulenbelt
6391af883a feat: implement VAD agent
Listens to audio from the RI, does voice activity detection, sends voice fragments.

ref: N25B-213
2025-10-23 14:54:57 +02:00
Björn Otgaar
1f8d769762 chore: adjust message/command structure and write unit tests
ref: N25B-205
2025-10-23 12:54:53 +02:00
Luijkx,S.O.H. (Storm)
9b36982bf2 Merge branch 'feat/agentic-architecture' into 'dev'
Add basic BDI agent

See merge request ics/sp/2025/n25b/pepperplus-cb!8
2025-10-23 10:39:41 +00:00
a01b3c3b14 fix: mock correct libraries before tests 2025-10-22 15:21:15 +02:00
675320a051 chore: remove test_tempy.py 2025-10-22 14:54:01 +02:00
1b896ee2da Merge branch 'dev' into feat/agentic-architecture 2025-10-22 14:51:37 +02:00
e057cf3003 test: add unit tests to BeliefCollector
ref: N25B-197
2025-10-22 14:51:20 +02:00
7e7d98a2fc fix: set PYTHONPATH variable for pytest 2025-10-22 12:46:32 +00:00
cd0b3ee9a0 Merge branch 'dev' into feat/agentic-architecture 2025-10-22 14:20:43 +02:00
a3000f1e48 Merge branch 'feat/automatic-testing' into 'dev'
Automatic testing

See merge request ics/sp/2025/n25b/pepperplus-cb!7
2025-10-22 12:13:18 +00:00
2069ac1a93 feat: automatic testing
This commit adds a .gitlab-ci.yml file, which is responsible for
defining jobs to be run (in this case only running the test suite)

ref: N25B-65
2025-10-22 14:05:45 +02:00
Björn Otgaar
530fc42c50 fix: router changes + hopefully gitignore
ref: N25B-205
2025-10-22 12:50:29 +02:00
Björn Otgaar
d71cb60523 fix: gitignore + testing map structure
ref: N25B-205
2025-10-22 12:41:47 +02:00
Björn Otgaar
77c6704632 fix: unit tests changes to account for address changes
ref: N25B-205
2025-10-22 11:12:58 +02:00
Björn Otgaar
63590bd5a3 fix: change address based on binding, bind ports dont use localhost.
ref: N25B-205
2025-10-22 11:09:58 +02:00
Björn Otgaar
4638980b31 Merge branch'origin/dev' into feat/cb2ui-robot-connections 2025-10-22 10:34:36 +02:00
Björn Otgaar
154719bf84 chore: add extra function description 2025-10-22 10:32:41 +02:00
Björn Otgaar
3d7ef2b874 feat: agent structure and implementation new
architecture with unit tests

ref: N25B-205
2025-10-22 10:28:48 +02:00
Storm
4cf1e5aaf7 docs: added docstrings to bdi_core and BeliefSetter behaviour
ref: N25B-197
2025-10-21 12:33:47 +02:00
31882f8d63 feat: add BDI core agent
Main BDI brain structure implemented. Still some TODOs left, and very
basic implementation (only one belief "user_said(Message)" and every
message is sent straight to a function which is responsible for getting
an LLM response.

ref: N25B-197
2025-10-18 17:50:17 +02:00
8812c5f5f9 chore: update .gitignore
A MacOS specific ignore
2025-10-18 13:48:15 +02:00
63e116dc44 Merge branch 'dev' into feat/agentic-architecture 2025-10-18 13:47:41 +02:00
2584433
e8f89e2fad Merge branch 'fix/githooks-mac' into 'dev'
fix: githooks mac

See merge request ics/sp/2025/n25b/pepperplus-cb!4
2025-10-17 14:35:55 +00:00
2584433
35cd263ed0 fix: githooks mac 2025-10-17 14:35:55 +00:00
Björn Otgaar
2cacf17023 Merge remote-tracking branch 'origin/feat/agentic-architecture' into feat/cb2ui-robot-connections 2025-10-15 12:23:35 +02:00
1eb414ea0d feat: add agent that is able to receive messages from UI
Inside the `/message` enpoint we put a message onto the internal event
queue, which gets read by TestAgent. This agent, in turn, logs the
message (temporary behaviour until we implement RI integration).

The name TestAgent is of course temporary, this is just for exploratory
purposes.

ref: N25B-165
2025-10-08 18:27:24 +02:00
2584433
71ddb5072b Merge branch 'chore/correct-branch-name-regex' into 'dev'
Correct branch hook regex

See merge request ics/sp/2025/n25b/pepperplus-cb!3
2025-10-08 15:05:48 +00:00
Twirre Meulenbelt
8b4cdd9fdb chore: correct commit hook regex
Previously all branch names had to have two dashes. Now it can have one to six words.

ref: N25B-89
2025-10-08 16:25:26 +02:00
Twirre
55f6d45228 Merge branch 'chore/project-structure' into 'dev'
Change project structure

See merge request ics/sp/2025/n25b/pepperplus-cb!2
2025-10-08 13:29:47 +00:00
80d03de3c8 fix: correct cross-origin handling 2025-10-08 15:27:06 +02:00
7a8bd4393e fix: typo 2025-10-08 15:15:52 +02:00
826907643c docs: update README
Add an instruction for running the development server.
2025-10-08 15:05:39 +02:00
1229df70b0 chore: filled in project structure
Added some example basic files containing a functioning /message
endpoint which logs the received message to INFO.

ref: N25B-144
2025-10-08 15:02:11 +02:00
Björn Otgaar
6ebdde3836 feat: automatically pings RI for disconnection,
handles disconnection events and sends
disconenction messages to UI.

ref: N25B-151
2025-10-08 14:33:23 +02:00
9e96d57b6c chore: add test/ directory
Directory for tests. Should mirror src/ structure eventually.

ref: N25B-144
2025-10-08 13:30:35 +02:00
7ba40b0bf8 chore: add basic project structure
Empty files everywhere, basic module structure created with __init__.py
files.

ref: N25B-144
2025-10-08 13:29:04 +02:00
0b3731314b chore: initialized UV repository
Also added the initial packages necessary for audio transcription.

ref: N25B-144
2025-10-08 13:23:52 +02:00
5518763ad5 chore: add .gitignore and README base
Very basic README, to be expanded in the future.

ref: N25B-144
2025-10-08 13:17:53 +02:00
Björn Otgaar
ed064b2477 fix: doesn't crash your entire WSL system when
running.
2025-10-07 18:30:39 +02:00
2584433
0e014c3dba Merge branch 'feat/git-automatic-hooks' into 'dev'
Added githooks

See merge request ics/sp/2025/n25b/pepperplus-cb!1
2025-10-07 14:49:11 +00:00
2584433
ae10d11141 Added githooks 2025-10-07 14:49:11 +00:00
Björn Otgaar
9c7e3cd0dc feat: initial setup of SUB/PUB ports with json
handling of sub messages and message queue to UI

ref: N25B-151.
2025-10-07 16:23:37 +02:00
6e7c78e888 docs: add comments 2025-09-27 10:36:59 +02:00
Kasper
116ca3dd10 chore: update dependencies
Removed the dependency on sse_starlette, as it was no longer needed.
2025-09-27 10:20:23 +02:00
Kasper
6b50ffba6a refactor: use StreamingResponse instead of EventSourceResponse
Use FastAPI's native `StreamingResponse` for less dependencies. This
initially didn't work because I didn't include the additional header
specifying the content type, which is an event stream.

ref: N25B-110
2025-09-27 10:18:39 +02:00
Kasper
fb9cbc5ab9 chore: add .gitignore
Uses a template for Python .gitignore files found
[here](https://github.com/github/gitignore/blob/main/Python.gitignore).
The only change from default is adding the .idea/ folder to the ignored
list (which might not be preferred, we will have to find out).
2025-09-27 10:06:12 +02:00
Kasper
349fcb5ac1 feat: add basic UI2CB and CB2UI communication
The Python application exposes an endpoint /message for the UI to send
messages to.

It also exposes an SSE endpoint /sse for the UI to listen to. Every
second, the CB sends the current time to UI.

ref: N25B-107
ref: N25B-110
2025-09-26 21:44:48 +02:00
Kasper
cc9bfbb777 chore: update dependencies 2025-09-26 21:42:35 +02:00
Kasper
028ec20043 chore: initialize UV repository 2025-09-26 20:36:06 +02:00