about summary refs log tree commit diff
diff options
context:
space:
mode:
authorArun Isaac2026-04-09 22:59:50 +0100
committerArun Isaac2026-04-10 00:24:20 +0100
commite46dad48d4522007fe46a68a15127385c36ccf68 (patch)
treeacc7eb3c66c0870e90ffb931f5a1f3a3dcedb4f6
parent35fc06704b815eceae9de3ea4caa490c00662248 (diff)
downloadkaagum-e46dad48d4522007fe46a68a15127385c36ccf68.tar.gz
kaagum-e46dad48d4522007fe46a68a15127385c36ccf68.tar.lz
kaagum-e46dad48d4522007fe46a68a15127385c36ccf68.zip
Refactor, introducing the state-cwd lens.
-rw-r--r--kaakaa/tea.scm15
1 files 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))