63 Commits

Author SHA1 Message Date
Dominik Jain
8a6848a663 Move prettier configuration to top level 2025-10-11 22:56:57 +02:00
Dominik Jain
0b9404e2a2 Remove obsolete tool: PrintTextTool 2025-10-11 22:56:57 +02:00
Dominik Jain
4cbce1e009 Remove obsolete tool: HelloWorldTool 2025-10-11 22:56:57 +02:00
Dominik Jain
5773b6f404 Update PenpotUtils signatures in system prompt, provide full list of low-level shape types 2025-10-08 00:10:26 +02:00
Dominik Jain
3f7153c7e4 Update lock files 2025-10-08 00:10:26 +02:00
Dominik Jain
66df6d1d45 API docs generation: For each type, list all referencing types in the overview information 2025-10-08 00:10:26 +02:00
Dominik Jain
06accf7c45 Improve README 2025-10-08 00:10:26 +02:00
Dominik Jain
cbac84bab2 Restructuring, improving README structure and npm commands 2025-10-08 00:10:26 +02:00
Dominik Jain
36baab4a06 Change system prompt in an attempt to prevent premature logging 2025-10-08 00:10:26 +02:00
Dominik Jain
1bc309fc5a Provide list of all API types in initial instructions 2025-10-08 00:10:26 +02:00
Dominik Jain
dacd87bbac Add utils for Page handling, improve prompts explaining design structure 2025-10-08 00:10:26 +02:00
Dominik Jain
cf5231db66 Improve prompts 2025-10-08 00:10:25 +02:00
Dominik Jain
649506cc9e Improve ExportShapeTool
* Add support for SVG
  * Add support for shape identifiers
  * Add support for writing result to file
2025-10-08 00:10:25 +02:00
MischaPanch
eda3f855b4 Top level install/start script
Minor readme extension
2025-10-08 00:10:25 +02:00
Dominik Jain
865606b7b0 Add PenpotUtils (utility functions the LLM can make use of) 2025-10-08 00:10:25 +02:00
Dominik Jain
afb00f6033 Switch WebSocket port from 8080 to 4402 2025-10-08 00:10:25 +02:00
Dominik Jain
3da2065a18 Establish proper REPL behaviour with history of inputs and outputs 2025-10-08 00:10:25 +02:00
Dominik Jain
3a1494e18c Move REPL server HTML content to a separate file 2025-10-08 00:10:25 +02:00
Dominik Jain
8552bb4183 Add REPL server 2025-10-08 00:10:25 +02:00
Dominik Jain
ad771ee92f Add ExportShapeTool 2025-10-08 00:10:25 +02:00
Dominik Jain
223d6d50b0 Improve return type definition of ExecuteCodePluginTask 2025-10-08 00:10:25 +02:00
Dominik Jain
77f4a978be Add support for image-based tool responses 2025-10-08 00:10:25 +02:00
Dominik Jain
74ff6a12df Add PenpotApiInfoTool 2025-10-08 00:10:25 +02:00
Dominik Jain
d972e1ed71 Add structured info on Penpot API types and class ApiDocs for its representation 2025-10-08 00:10:25 +02:00
Dominik Jain
5ab14ffb9e Allow code execution to use the console, returning the full log 2025-10-08 00:10:25 +02:00
Dominik Jain
3d29e42251 Improve prompts 2025-10-08 00:10:25 +02:00
Dominik Jain
bc28e116c8 Add HighLevelOverviewTool 2025-10-08 00:10:25 +02:00
Dominik Jain
b94f29fcf1 Switch from low-level Server to McpServer 2025-10-08 00:10:25 +02:00
Dominik Jain
e0efe2b110 Add initial instructions (loaded from yml file) 2025-10-08 00:10:25 +02:00
Dominik Jain
5ffaabd728 Add code execution tool 2025-10-08 00:09:42 +02:00
Dominik Jain
82bd77c9bc Replace console logging with a proper logging system (Pino) 2025-09-17 20:07:26 +02:00
Dominik Jain
ee1ee5317e Fix type parameter issue 2025-09-17 19:52:28 +02:00
Dominik Jain
93e98f5e08 Refactor task handling (adding Task abstraction) 2025-09-17 19:43:21 +02:00
Dominik Jain
23d2270df0 Improve error handling in PluginTask execution 2025-09-12 18:36:13 +02:00
Dominik Jain
736c25ecc2 Refactoring: Separate the plugin bridge (WebSocket server abstraction) from the MCP server 2025-09-12 17:01:32 +02:00
Dominik Jain
48955b67a9 Apply formatter 2025-09-12 16:58:17 +02:00
Dominik Jain
139f77edb2 Split history src/PenpotMcpServer.ts to src/PluginBridge.ts - restore name of source-file 2025-09-12 16:50:11 +02:00
Dominik Jain
cfbc258274 Split history src/PenpotMcpServer.ts to src/PluginBridge.ts - resolve conflict and keep both files 2025-09-12 16:50:11 +02:00
Dominik Jain
e0b1d9078f Split history src/PenpotMcpServer.ts to src/PluginBridge.ts - rename source-file to git-split-temp 2025-09-12 16:50:11 +02:00
Dominik Jain
8961f90cc9 Split history src/PenpotMcpServer.ts to src/PluginBridge.ts - rename file to target-name 2025-09-12 16:50:10 +02:00
Dominik Jain
b7d1171654 Establish return channel when executing plugin tasks
and package 'common' for representations used in both subprojects
2025-09-12 16:42:13 +02:00
Dominik Jain
283f01b0ac Refactoring: Move every concrete plugin task to a separate source file 2025-09-12 13:41:31 +02:00
Dominik Jain
0468381d2b Improve build to not require .js extensions in imports 2025-09-12 13:37:20 +02:00
Dominik Jain
2985bb75c5 Refactoring: Remove interfaces folder (inaccurate naming) 2025-09-12 13:22:02 +02:00
Dominik Jain
f93d2af5c9 Refactoring: Move PenpotMcpServer to its own file 2025-09-12 13:12:27 +02:00
Dominik Jain
c37cccea3e Split history src/index.ts to src/PenpotMcpServer.ts - restore name of source-file 2025-09-12 13:08:15 +02:00
Dominik Jain
f8006b6ea2 Split history src/index.ts to src/PenpotMcpServer.ts - resolve conflict and keep both files 2025-09-12 13:08:15 +02:00
Dominik Jain
a067519778 Split history src/index.ts to src/PenpotMcpServer.ts - rename source-file to git-split-temp 2025-09-12 13:08:15 +02:00
Dominik Jain
358e1401f6 Split history src/index.ts to src/PenpotMcpServer.ts - rename file to target-name 2025-09-12 13:08:14 +02:00
Dominik Jain
6636544f88 Refactoring
* Handle plugin task execution centrally in MCP server
 * Centrally handle exceptions in Tool base class, returning an error message
2025-09-12 13:02:07 +02:00