Two bugs fixed in the process:
1. X86_REG_BPL is now properly set (previously there were duplicate
X86_REG_BP entries).
2. maxLine is now properly calculated, instead of being set to the
last line value.
Listen for browser paste events and directly inject clipboard text via
AddInputCharactersUTF8. Also suppress character input when Ctrl/Meta is
held to prevent 'v' from being typed on Cmd+V.
This makes the user manual available outside of the LLM context.
The code is also more readable, as splitting the manual into sections and
splitting section content into chunks fit for embeddings is now separated.
A bug has been fixed, where the above splits were mixed up for the last
manual section, producing invalid data.
The unembedded manual contents are no longer held in the memory. The only
use case for this was to calculate the manual contents hash. The hash is
now precalculated and cached.
add_custom_command DEPENDS can only see the output of other commands or targets names, not the targets installation through ExternalProject_Add.
Add the `embed` target (created by `ExternalProject_Add`) as a dependency for commands using the utility
The source is now the markdown text, not latex. Each embedding is now
a single paragraph from the manual. The search now returns whole sections
from the manual matching the query.
The ollama tool_calls do not preserve the context of why the tool was
called. The feature as it is right now doesn't seem to be designed for
the LLM to make queries, but rather to act as an agent that is supposed
to call some functions that will directly provide their output to the
user.
Instead, let's encode the tool calling protocol in the system prompt.