|
wxMaxima
|
Pins McpTools (the MCP server's read-only "worksheet context" tools, src/mcp/McpTools.h) against a real, headless Worksheet/Variablespane – no live Maxima, no sockets, no JSON-RPC framing (that's McpServer's job, and it was instead verified live in a real Xvfb session with curl, see AGENTS.md's MCP server entry). More...
#include <wx/app.h>#include <wx/bitmap.h>#include <wx/dcmemory.h>#include <wx/frame.h>#include <wx/log.h>#include <algorithm>#include <vector>#include "Configuration.h"#include "mcp/McpTools.h"#include "sidebars/VariablesPane.h"#include "worksheet/Worksheet.h"#include "cells/EditorCell.h"#include "cells/GroupCell.h"#include "cells/TextCell.h"#include <catch2/catch.hpp>Data Structures | |
| class | TestApp |
Functions | |
| SCENARIO ("McpTools::ListCells() and ReadCell() reflect the real worksheet") | |
| SCENARIO ("McpTools caps a cell's output so one huge cell can't crowd out " "everything else, while still letting an AI read it in full or " "just its tail via read_cell") | |
| SCENARIO ("McpTools flags the current cell and any cell with an error, so an " "AI reading the worksheet can answer \"what's wrong with the " "current cell\" / \"the cell above the cursor\"") | |
| SCENARIO ("McpTools::ReadToc() and ReadSection() follow the same section " "boundaries GroupCell::Fold() does") | |
| SCENARIO ("McpTools' variable watchlist tools only ever touch the sidebar, " "never worksheet content") | |
| SCENARIO ("McpTools::SearchCells() finds cells by plain substring or regex, " "in input and/or output, so an AI can jump straight to a match " "instead of reading every cell") | |
| wxDECLARE_APP (TestApp) | |
| int | main (int argc, char **argv) |
Pins McpTools (the MCP server's read-only "worksheet context" tools, src/mcp/McpTools.h) against a real, headless Worksheet/Variablespane – no live Maxima, no sockets, no JSON-RPC framing (that's McpServer's job, and it was instead verified live in a real Xvfb session with curl, see AGENTS.md's MCP server entry).