forked from 1b-agent/opencadstudio-upstream
Avoid reserved MCP session argument
This commit is contained in:
1 parent
8922a5a25b
commit
d35a93c6e8
4 files changed
+32
-23
No files matched your search
@@ -17,11 +17,11 @@ The server provides four tools:
|
||||
- `ocs_execute` performs one operation or a sequential batch against the real editor.
|
||||
- `ocs_capture` returns a bounded PNG of the drawing viewport or complete window.
|
||||
|
||||
The normal flow is to call `ocs_sessions`, read the chosen session with `ocs_read`, then pass the returned document state into `ocs_execute`. For example, an undo request has this shape:
|
||||
The normal flow is to call `ocs_sessions`, pass its returned `session_id` as `ocs_session_id` to the other tools, read the chosen session with `ocs_read`, then pass the returned document state into `ocs_execute`. For example, an undo request has this shape:
|
||||
|
||||
```json
|
||||
{
|
||||
"session_id": "SESSION_FROM_OCS_SESSIONS",
|
||||
"ocs_session_id": "SESSION_FROM_OCS_SESSIONS",
|
||||
"request": {
|
||||
"op": "undo",
|
||||
"request_id": "undo-1",
|
||||
@@ -37,7 +37,7 @@ A complete command can be sent with `run`. Prompt answers are separated by space
|
||||
|
||||
```json
|
||||
{
|
||||
"session_id": "SESSION_FROM_OCS_SESSIONS",
|
||||
"ocs_session_id": "SESSION_FROM_OCS_SESSIONS",
|
||||
"request": {
|
||||
"op": "run",
|
||||
"request_id": "polyline-1",
|
||||
@@ -52,7 +52,7 @@ Use `batch` when the steps are already known. OCS supplies each step with the st
|
||||
|
||||
```json
|
||||
{
|
||||
"session_id": "SESSION_FROM_OCS_SESSIONS",
|
||||
"ocs_session_id": "SESSION_FROM_OCS_SESSIONS",
|
||||
"response_detail": "changed_entities",
|
||||
"request": {
|
||||
"op": "batch",
|
||||
@@ -71,7 +71,7 @@ Execute responses use `response_detail: "compact"` by default and return only th
|
||||
|
||||
```json
|
||||
{
|
||||
"session_id": "SESSION_FROM_OCS_SESSIONS",
|
||||
"ocs_session_id": "SESSION_FROM_OCS_SESSIONS",
|
||||
"op": "query",
|
||||
"parameters": {"intersections": ["2A", "31"]}
|
||||
}
|
||||
|
||||
@@ -98,14 +98,14 @@ def main() -> None:
|
||||
if active.get("start"):
|
||||
client.tool(
|
||||
"ocs_execute",
|
||||
{"session_id": session, "request": {"op": "new", "request_id": "eval-new"}},
|
||||
{"ocs_session_id": session, "request": {"op": "new", "request_id": "eval-new"}},
|
||||
)
|
||||
|
||||
base = 1_000_000 + int(time.time()) % 100_000
|
||||
draw = client.tool(
|
||||
"ocs_execute",
|
||||
{
|
||||
"session_id": session,
|
||||
"ocs_session_id": session,
|
||||
"response_detail": "changed_entities",
|
||||
"wait_seconds": 0,
|
||||
"request": {
|
||||
@@ -129,19 +129,19 @@ def main() -> None:
|
||||
|
||||
crossings = client.tool(
|
||||
"ocs_read",
|
||||
{"session_id": session, "op": "query", "parameters": {"intersections": line_handles}},
|
||||
{"ocs_session_id": session, "op": "query", "parameters": {"intersections": line_handles}},
|
||||
)
|
||||
assert crossings["count"] == 1 and crossings["intersections"][0]["point"] == [base, 0.0]
|
||||
|
||||
nearest = client.tool(
|
||||
"ocs_read",
|
||||
{"session_id": session, "op": "query", "parameters": {"near": [base + 20, 0], "handles": handles, "limit": 1}},
|
||||
{"ocs_session_id": session, "op": "query", "parameters": {"near": [base + 20, 0], "handles": handles, "limit": 1}},
|
||||
)
|
||||
assert nearest["entities"][0]["handle"] == circle_handles[0]
|
||||
|
||||
measured = client.tool(
|
||||
"ocs_read",
|
||||
{"session_id": session, "op": "measure", "parameters": {"handles": circle_handles}},
|
||||
{"ocs_session_id": session, "op": "measure", "parameters": {"handles": circle_handles}},
|
||||
)
|
||||
assert abs(measured["measurements"][0]["curve"]["area"] - 12.566370614359172) < 1e-9
|
||||
succeeded = True
|
||||
@@ -151,7 +151,7 @@ def main() -> None:
|
||||
client.tool(
|
||||
"ocs_execute",
|
||||
{
|
||||
"session_id": session,
|
||||
"ocs_session_id": session,
|
||||
"request": {
|
||||
"op": "batch",
|
||||
"request_id": f"eval-clean-{base}",
|
||||
|
||||
@@ -110,7 +110,7 @@ def modern(server: Path) -> None:
|
||||
"params": {
|
||||
"name": "ocs_execute",
|
||||
"arguments": {
|
||||
"session_id": "missing",
|
||||
"ocs_session_id": "missing",
|
||||
"request": {"op": "run", "request_id": "run-1"},
|
||||
},
|
||||
"_meta": meta,
|
||||
@@ -126,7 +126,7 @@ def modern(server: Path) -> None:
|
||||
"method": "tools/call",
|
||||
"params": {
|
||||
"name": "ocs_execute",
|
||||
"arguments": {"session_id": "missing", "request": {"op": "undo"}},
|
||||
"arguments": {"ocs_session_id": "missing", "request": {"op": "undo"}},
|
||||
"_meta": meta,
|
||||
},
|
||||
})
|
||||
|
||||
Reference in new issue
Block a user