From 448b3d7c44bf5316a9712244f663cedb377a756b Mon Sep 17 00:00:00 2001 From: Lucas Tettamanti Date: Sat, 2 May 2026 17:33:58 -0300 Subject: [PATCH] =?UTF-8?q?last=5Fdelivery:=20reusar=20direcci=C3=B3n/zona?= =?UTF-8?q?=20del=20=C3=BAltimo=20pedido=20+=20retitular=20header?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Persistencia: cuando confirm_order encola create_order y la orden tiene shipping/zona/window, runTurn snapshot a context.last_delivery {is_delivery, shipping_address, matched_zone, pending_location, delivery_window}. pipeline preserva ese campo cuando resetea por stale (>24h), igual que external_customer_id. Agente lo ve via working_memory.last_delivery en cada turno. Nueva tool reuse_last_delivery() que copia shipping_address + matched_zone (+ pending_location) al order actual. Pickup-only sólo setea is_delivery=false. systemPrompt: instrucciones para que el bot proactivamente ofrezca "te lo mandamos al mismo lugar que la última vez (dirección, zona, $)" cuando last_delivery existe y todavía no se eligió método de envío. Cliente puede aceptar (reuse_last_delivery) o pedir otra dirección/retiro. delivery_window NO se asume — siempre se vuelve a preguntar día/hora. Smoke E2E: cliente recurrente con conversación stale 25h+ - 1ra orden: 1kg vacío → location → mar 12h → confirma. - DB: context.last_delivery con zona Centro Test + dirección + ventana. - 2da orden: "hola, 500g bondiola" → bot: "¿al mismo lugar (Av. Corrientes 1234, Centro, $1.500)?" → "sí" → "¿qué día? La última fue mar 12h, puede ser otro" → "jueves 11hs" → orden cerrada sin re-pedir pin. Header: "Bot Ops Console" → "Piaf Console" (index.html + ops-shell). Co-Authored-By: Claude Opus 4.7 (1M context) --- public/components/ops-shell.js | 2 +- public/index.html | 2 +- src/modules/2-identity/services/pipeline.js | 5 +- src/modules/3-turn-engine/agent/runTurn.js | 24 +++++++++ .../3-turn-engine/agent/systemPrompt.js | 15 ++++++ .../3-turn-engine/agent/tools/executor.js | 2 + .../agent/tools/reuseLastDelivery.js | 52 +++++++++++++++++++ .../3-turn-engine/agent/tools/schemas.js | 11 ++++ .../3-turn-engine/agent/workingMemory.js | 2 + 9 files changed, 111 insertions(+), 4 deletions(-) create mode 100644 src/modules/3-turn-engine/agent/tools/reuseLastDelivery.js diff --git a/public/components/ops-shell.js b/public/components/ops-shell.js index 942877d..4579315 100644 --- a/public/components/ops-shell.js +++ b/public/components/ops-shell.js @@ -86,7 +86,7 @@ class OpsShell extends HTMLElement {
-

Bot Ops Console

+

Piaf Console