From e46dad48d4522007fe46a68a15127385c36ccf68 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 9 Apr 2026 22:59:50 +0100 Subject: Refactor, introducing the state-cwd lens. --- kaakaa/tea.scm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/kaakaa/tea.scm b/kaakaa/tea.scm index a5ae456..57526bc 100644 --- a/kaakaa/tea.scm +++ b/kaakaa/tea.scm @@ -105,14 +105,19 @@ (lambda (state session-id _) (values state (list (agent-message-chunk session-id - (focus (compose session-cwd - (key-ref session-id) - state-sessions) + (focus (state-cwd session-id) state))))))) (define %commands `(("cwd" . ,%cwd-command))) +(define (state-cwd session-id) + "Return a lens to focus on current working directory of session with +@var{session-id} in state." + (compose session-cwd + (key-ref session-id) + state-sessions)) + (define (state-messages session-id) "Return a lens to focus on messages of session with @var{session-id} in state." (compose session-messages @@ -397,9 +402,7 @@ and a list of effects. ("toolCallId" . ,call-id) ("status" . "failed")))))))))) (let ((call (spec->tool-call session-id - (focus (compose session-cwd - (key-ref session-id) - state-sessions) + (focus (state-cwd session-id) state) tools call-json)) -- cgit 1.4.1