From 215c3d7f95dae1d0f5f6eea8356dcba4f3106863 Mon Sep 17 00:00:00 2001 From: Chelsea Date: Fri, 20 Feb 2026 20:04:35 +0000 Subject: [PATCH] fix yesterdays schedule blocking todays --- .../__pycache__/adaptive_meds.cpython-312.pyc | Bin 0 -> 7954 bytes .../__pycache__/medications.cpython-312.pyc | Bin 0 -> 32720 bytes .../__pycache__/routines.cpython-312.pyc | Bin 0 -> 34146 bytes bot/data/dbt_knowledge.text.json | 4657 +++++++++++++++++ core/adaptive_meds.py | 16 +- regenerate_embeddings.py | 56 + 6 files changed, 4724 insertions(+), 5 deletions(-) create mode 100644 api/routes/__pycache__/adaptive_meds.cpython-312.pyc create mode 100644 api/routes/__pycache__/medications.cpython-312.pyc create mode 100644 api/routes/__pycache__/routines.cpython-312.pyc create mode 100644 bot/data/dbt_knowledge.text.json create mode 100644 regenerate_embeddings.py diff --git a/api/routes/__pycache__/adaptive_meds.cpython-312.pyc b/api/routes/__pycache__/adaptive_meds.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f0f01218eebb1daaaa04b7455b19737bae5da94a GIT binary patch literal 7954 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 R%&+t|jcbR#snz7x{QqmW{zL!( literal 0 HcmV?d00001 diff --git a/api/routes/__pycache__/medications.cpython-312.pyc b/api/routes/__pycache__/medications.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7e5639140eaff5d7d13548bba172f78e6bca50e4 GIT binary patch literal 32720 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 literal 0 HcmV?d00001 diff --git a/api/routes/__pycache__/routines.cpython-312.pyc b/api/routes/__pycache__/routines.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..631fb6507aec80fd5085a6a8ccfe6e4d297b4908 GIT binary patch literal 34146 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