wxMaxima
Loading...
Searching...
No Matches
Data Structures | Macros | Functions
test_McpTools.cpp File Reference

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 <memory>
#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>
Include dependency graph for test_McpTools.cpp:

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::EvaluationStatus() reports whether Maxima is actually " "evaluating, and which cell/command/elapsed-time if so")
 
 SCENARIO ("McpTools reports maxima_connected=false when Maxima isn't running " "at all, not just maxima_busy/evaluating=false -- raised directly " "by the maintainer: \"if Maxima isn't running at all and that " "causes a variable query to fail, is the AI informed about that?\"")
 
 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")
 
 SCENARIO ("McpTools' sidebar tools report and change which sidebars are " "visible, and nothing else -- requested by the maintainer: let an " "AI query which sidebars are currently visible, and show/hide " "them")
 
 SCENARIO ("McpTools::ListTools() advertises the sidebar tools, and CallTool() " "dispatches them by name")
 
 wxDECLARE_APP (TestApp)
 
int main (int argc, char **argv)
 

Detailed Description

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).