|
364 | 364 | (when request-id |
365 | 365 | (go |
366 | 366 | (try |
367 | | - (let [context {:session-id session-id |
368 | | - :message (:message data) |
369 | | - :requested-schema (:requested-schema data) |
370 | | - :mode (:mode data) |
371 | | - :elicitation-source (:elicitation-source data) |
372 | | - :url (:url data)} |
| 367 | + (let [context (cond-> {:session-id session-id |
| 368 | + :message (:message data)} |
| 369 | + (some? (:requested-schema data)) (assoc :requested-schema (:requested-schema data)) |
| 370 | + (some? (:mode data)) (assoc :mode (:mode data)) |
| 371 | + (some? (:elicitation-source data)) (assoc :elicitation-source (:elicitation-source data)) |
| 372 | + (some? (:url data)) (assoc :url (:url data))) |
373 | 373 | result (<! (session/handle-elicitation-request! client session-id context))] |
374 | 374 | (when result |
375 | 375 | (let [conn (:connection-io @(:state client))] |
|
1501 | 1501 | - :infinite-sessions - Infinite session configuration |
1502 | 1502 | - :reasoning-effort - Reasoning effort level: \"low\", \"medium\", \"high\", or \"xhigh\" |
1503 | 1503 | - :on-user-input-request - Handler for ask_user requests |
1504 | | - - :on-elicitation-request - Handler for elicitation requests (upstream PR #908) |
| 1504 | + - :on-elicitation-request - Handler for elicitation requests (upstream PRs #908, #960). |
| 1505 | + Single-arg handler receives an ElicitationContext map with |
| 1506 | + :session-id, :message, :requested-schema, :mode, |
| 1507 | + :elicitation-source, :url. Returns an ElicitationResult map. |
1505 | 1508 | - :hooks - Lifecycle hooks map |
1506 | 1509 | - :on-event - Event handler (1-arg fn) registered before the RPC call. |
1507 | 1510 | Guarantees early events like session.start are not missed. |
|
0 commit comments