changedInput schema / allOf
Previous value: -[
- {
- "if": {
- "properties": {
- "operation": {
- "const": "start_process"
- }
- },
- "required": [
- "operation"
- ]
- },
- "then": {
- "properties": {
- "parameters": {
- "additionalProperties": false,
- "properties": {
- "command": {
- "description": "Shell command to run.",
- "type": "string"
- },
- "timeout_ms": {
- "description": "How long to wait for initial output before returning, in milliseconds. Default 1000.",
- "type": "number"
- }
- },
- "required": [
- "command"
- ],
- "type": "object"
- }
- },
- "required": [
- "parameters"
- ]
- }
- },
- {
- "if": {
- "properties": {
- "operation": {
- "const": "read_process_output"
- }
- },
- "required": [
- "operation"
- ]
- },
- "then": {
- "properties": {
- "parameters": {
- "additionalProperties": false,
- "properties": {
- "length": {
- "description": "Maximum number of lines to return.",
- "type": "number"
- },
- "offset": {
- "description": "Zero-based line number to start from, counted across everything the session has produced; a negative value reads the last N lines. Omit for new output. Lines evicted by the buffer cap are no longer available.",
- "type": "number"
- },
- "pid": {
- "description": "Session pid returned by start_process.",
- "type": "number"
- },
- "timeout_ms": {
- "description": "How long to wait for new output when no offset is given, in milliseconds.",
- "type": "number"
- }
- },
- "required": [
- "pid"
- ],
- "type": "object"
- }
- },
- "required": [
- "parameters"
- ]
- }
- },
- {
- "if": {
- "properties": {
- "operation": {
- "const": "interact_with_process"
- }
- },
- "required": [
- "operation"
- ]
- },
- "then": {
- "properties": {
- "parameters": {
- "additionalProperties": false,
- "properties": {
- "input": {
- "description": "Line of input to send; a newline is appended.",
- "type": "string"
- },
- "pid": {
- "description": "Session pid returned by start_process.",
- "type": "number"
- },
- "timeout_ms": {
- "description": "How long to wait for the response, in milliseconds. Default 1000.",
- "type": "number"
- }
- },
- "required": [
- "pid",
- "input"
- ],
- "type": "object"
- }
- },
- "required": [
- "parameters"
- ]
- }
- },
- {
- "if": {
- "properties": {
- "operation": {
- "const": "wait_for_process_output"
- }
- },
- "required": [
- "operation"
- ]
- },
- "then": {
- "properties": {
- "parameters": {
- "additionalProperties": false,
- "properties": {
- "pattern": {
- "description": "Regular expression or literal text to wait for.",
- "type": "string"
- },
- "pid": {
- "description": "Session pid returned by start_process.",
- "type": "number"
- },
- "timeout_ms": {
- "description": "How long to wait before returning the output collected so far, in milliseconds. Default 10000.",
- "type": "number"
- }
- },
- "required": [
- "pid",
- "pattern"
- ],
- "type": "object"
- }
- },
- "required": [
- "parameters"
- ]
- }
- },
- {
- "if": {
- "properties": {
- "operation": {
- "const": "force_terminate"
- }
- },
- "required": [
- "operation"
- ]
- },
- "then": {
- "properties": {
- "parameters": {
- "additionalProperties": false,
- "properties": {
- "pid": {
- "description": "Session pid returned by start_process.",
- "type": "number"
- }
- },
- "required": [
- "pid"
- ],
- "type": "object"
- }
- },
- "required": [
- "parameters"
- ]
- }
- },
- {
- "if": {
- "properties": {
- "operation": {
- "const": "list_sessions"
- }
- },
- "required": [
- "operation"
- ]
- },
- "then": {
- "properties": {
- "parameters": {
- "additionalProperties": false,
- "properties": {},
- "type": "object"
- }
- }
- }
- }
-]New value: +[
+ {
+ "if": {
+ "properties": {
+ "operation": {
+ "const": "start_process"
+ }
+ },
+ "required": [
+ "operation"
+ ]
+ },
+ "then": {
+ "properties": {
+ "parameters": {
+ "additionalProperties": false,
+ "properties": {
+ "command": {
+ "description": "Shell command to run.",
+ "type": "string"
+ },
+ "timeout_ms": {
+ "description": "How long to wait for initial output before returning, in milliseconds. Default 1000.",
+ "type": "number"
+ }
+ },
+ "required": [
+ "command"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "parameters"
+ ]
+ }
+ },
+ {
+ "if": {
+ "properties": {
+ "operation": {
+ "const": "read_process_output"
+ }
+ },
+ "required": [
+ "operation"
+ ]
+ },
+ "then": {
+ "properties": {
+ "parameters": {
+ "additionalProperties": false,
+ "properties": {
+ "length": {
+ "description": "Maximum number of lines to return per call (default 200). Without offset, unreturned lines remain available; use hasMore to fetch the next page.",
+ "type": "number"
+ },
+ "offset": {
+ "description": "Zero-based line number to start from, counted across everything the session has produced; a negative value reads the last N lines. Omit for new output. Lines evicted by the buffer cap are no longer available.",
+ "type": "number"
+ },
+ "pid": {
+ "description": "Session pid returned by start_process.",
+ "type": "number"
+ },
+ "timeout_ms": {
+ "description": "With no offset, wait up to this many milliseconds for output/exit; 0 returns immediately (default). Use 1000–2000 to avoid repeated remote polls when output is expected.",
+ "type": "number"
+ }
+ },
+ "required": [
+ "pid"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "parameters"
+ ]
+ }
+ },
+ {
+ "if": {
+ "properties": {
+ "operation": {
+ "const": "interact_with_process"
+ }
+ },
+ "required": [
+ "operation"
+ ]
+ },
+ "then": {
+ "properties": {
+ "parameters": {
+ "additionalProperties": false,
+ "properties": {
+ "input": {
+ "description": "Line of input to send; a newline is appended.",
+ "type": "string"
+ },
+ "pid": {
+ "description": "Session pid returned by start_process.",
+ "type": "number"
+ },
+ "timeout_ms": {
+ "description": "How long to wait for the response, in milliseconds. Default 1000.",
+ "type": "number"
+ }
+ },
+ "required": [
+ "pid",
+ "input"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "parameters"
+ ]
+ }
+ },
+ {
+ "if": {
+ "properties": {
+ "operation": {
+ "const": "wait_for_process_output"
+ }
+ },
+ "required": [
+ "operation"
+ ]
+ },
+ "then": {
+ "properties": {
+ "parameters": {
+ "additionalProperties": false,
+ "properties": {
+ "pattern": {
+ "description": "Regular expression or literal text to wait for.",
+ "type": "string"
+ },
+ "pid": {
+ "description": "Session pid returned by start_process.",
+ "type": "number"
+ },
+ "timeout_ms": {
+ "description": "How long to wait before returning the output collected so far, in milliseconds. Default 10000.",
+ "type": "number"
+ }
+ },
+ "required": [
+ "pid",
+ "pattern"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "parameters"
+ ]
+ }
+ },
+ {
+ "if": {
+ "properties": {
+ "operation": {
+ "const": "force_terminate"
+ }
+ },
+ "required": [
+ "operation"
+ ]
+ },
+ "then": {
+ "properties": {
+ "parameters": {
+ "additionalProperties": false,
+ "properties": {
+ "pid": {
+ "description": "Session pid returned by start_process.",
+ "type": "number"
+ }
+ },
+ "required": [
+ "pid"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "parameters"
+ ]
+ }
+ },
+ {
+ "if": {
+ "properties": {
+ "operation": {
+ "const": "list_sessions"
+ }
+ },
+ "required": [
+ "operation"
+ ]
+ },
+ "then": {
+ "properties": {
+ "parameters": {
+ "additionalProperties": false,
+ "properties": {},
+ "type": "object"
+ }
+ }
+ }
+ }
+]
changedOutput schema / oneOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "command": {
- "type": "string"
- },
- "exitCode": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "exited": {
- "type": "boolean"
- },
- "lines": {
- "description": "Total output lines produced by the session.",
- "type": "number"
- },
- "output": {
- "type": "string"
- },
- "partial": {
- "type": "string"
- },
- "pid": {
- "description": "Process/session id used by follow-up terminal tools.",
- "type": "number"
- },
- "runtimeMs": {
- "type": "number"
- },
- "signal": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "status": {
- "description": "running or exited, with an exit code/signal when known.",
- "type": "string"
- },
- "warning": {
- "type": "string"
- }
- },
- "required": [
- "pid",
- "status",
- "runtimeMs",
- "lines",
- "exited",
- "exitCode",
- "signal",
- "command",
- "output"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "exitCode": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "exited": {
- "type": "boolean"
- },
- "explicitOffset": {
- "type": "boolean"
- },
- "lines": {
- "description": "Total output lines produced by the session.",
- "type": "number"
- },
- "output": {
- "type": "string"
- },
- "pid": {
- "description": "Process/session id used by follow-up terminal tools.",
- "type": "number"
- },
- "range": {
- "type": "string"
- },
- "runtimeMs": {
- "type": "number"
- },
- "signal": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "status": {
- "description": "running or exited, with an exit code/signal when known.",
- "type": "string"
- }
- },
- "required": [
- "pid",
- "status",
- "runtimeMs",
- "lines",
- "exited",
- "exitCode",
- "signal",
- "range",
- "output",
- "explicitOffset"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "exitCode": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "exited": {
- "type": "boolean"
- },
- "lines": {
- "description": "Total output lines produced by the session.",
- "type": "number"
- },
- "output": {
- "type": "string"
- },
- "pid": {
- "description": "Process/session id used by follow-up terminal tools.",
- "type": "number"
- },
- "runtimeMs": {
- "type": "number"
- },
- "signal": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "status": {
- "description": "running or exited, with an exit code/signal when known.",
- "type": "string"
- }
- },
- "required": [
- "pid",
- "status",
- "runtimeMs",
- "lines",
- "exited",
- "exitCode",
- "signal",
- "output"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "bufferedMatch": {
- "type": "boolean"
- },
- "exitCode": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "exited": {
- "type": "boolean"
- },
- "lines": {
- "description": "Total output lines produced by the session.",
- "type": "number"
- },
- "matched": {
- "type": "boolean"
- },
- "output": {
- "type": "string"
- },
- "pattern": {
- "type": "string"
- },
- "pid": {
- "description": "Process/session id used by follow-up terminal tools.",
- "type": "number"
- },
- "runtimeMs": {
- "type": "number"
- },
- "signal": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "status": {
- "description": "running or exited, with an exit code/signal when known.",
- "type": "string"
- },
- "timeoutMs": {
- "type": "number"
- }
- },
- "required": [
- "pid",
- "status",
- "runtimeMs",
- "lines",
- "exited",
- "exitCode",
- "signal",
- "pattern",
- "matched",
- "bufferedMatch",
- "timeoutMs",
- "output"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "alreadyExited": {
- "type": "boolean"
- },
- "escalated": {
- "type": "boolean"
- },
- "exitCode": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "exited": {
- "type": "boolean"
- },
- "lines": {
- "description": "Total output lines produced by the session.",
- "type": "number"
- },
- "pid": {
- "description": "Process/session id used by follow-up terminal tools.",
- "type": "number"
- },
- "runtimeMs": {
- "type": "number"
- },
- "signal": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "status": {
- "description": "running or exited, with an exit code/signal when known.",
- "type": "string"
- },
- "terminated": {
- "type": "boolean"
- }
- },
- "required": [
- "pid",
- "status",
- "runtimeMs",
- "lines",
- "exited",
- "exitCode",
- "signal",
- "terminated",
- "alreadyExited",
- "escalated"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "sessions": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "blocked": {
- "type": "string"
- },
- "command": {
- "type": "string"
- },
- "exitCode": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ]
- },
- "exited": {
- "type": "boolean"
- },
- "lines": {
- "description": "Total output lines produced by the session.",
- "type": "number"
- },
- "pid": {
- "description": "Process/session id used by follow-up terminal tools.",
- "type": "number"
- },
- "runtimeMs": {
- "type": "number"
- },
- "signal": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "status": {
- "description": "running or exited, with an exit code/signal when known.",
- "type": "string"
- }
- },
- "required": [
- "pid",
- "status",
- "runtimeMs",
- "lines",
- "exited",
- "exitCode",
- "signal",
- "blocked",
- "command"
- ],
- "type": "object"
- },
- "type": "array"
- }
- },
- "required": [
- "sessions"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "command": {
+ "type": "string"
+ },
+ "exitCode": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "exited": {
+ "type": "boolean"
+ },
+ "lines": {
+ "description": "Total output lines produced by the session.",
+ "type": "number"
+ },
+ "output": {
+ "type": "string"
+ },
+ "partial": {
+ "type": "string"
+ },
+ "pid": {
+ "description": "Process/session id used by follow-up terminal tools.",
+ "type": "number"
+ },
+ "runtimeMs": {
+ "type": "number"
+ },
+ "signal": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "status": {
+ "description": "running or exited, with an exit code/signal when known.",
+ "type": "string"
+ },
+ "warning": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "pid",
+ "status",
+ "runtimeMs",
+ "lines",
+ "exited",
+ "exitCode",
+ "signal",
+ "command",
+ "output"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "exitCode": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "exited": {
+ "type": "boolean"
+ },
+ "explicitOffset": {
+ "type": "boolean"
+ },
+ "hasMore": {
+ "type": "boolean"
+ },
+ "lines": {
+ "description": "Total output lines produced by the session.",
+ "type": "number"
+ },
+ "output": {
+ "type": "string"
+ },
+ "pid": {
+ "description": "Process/session id used by follow-up terminal tools.",
+ "type": "number"
+ },
+ "range": {
+ "type": "string"
+ },
+ "runtimeMs": {
+ "type": "number"
+ },
+ "signal": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "status": {
+ "description": "running or exited, with an exit code/signal when known.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "pid",
+ "status",
+ "runtimeMs",
+ "lines",
+ "exited",
+ "exitCode",
+ "signal",
+ "range",
+ "output",
+ "explicitOffset",
+ "hasMore"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "exitCode": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "exited": {
+ "type": "boolean"
+ },
+ "lines": {
+ "description": "Total output lines produced by the session.",
+ "type": "number"
+ },
+ "output": {
+ "type": "string"
+ },
+ "pid": {
+ "description": "Process/session id used by follow-up terminal tools.",
+ "type": "number"
+ },
+ "runtimeMs": {
+ "type": "number"
+ },
+ "signal": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "status": {
+ "description": "running or exited, with an exit code/signal when known.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "pid",
+ "status",
+ "runtimeMs",
+ "lines",
+ "exited",
+ "exitCode",
+ "signal",
+ "output"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "bufferedMatch": {
+ "type": "boolean"
+ },
+ "exitCode": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "exited": {
+ "type": "boolean"
+ },
+ "lines": {
+ "description": "Total output lines produced by the session.",
+ "type": "number"
+ },
+ "matched": {
+ "type": "boolean"
+ },
+ "output": {
+ "type": "string"
+ },
+ "pattern": {
+ "type": "string"
+ },
+ "pid": {
+ "description": "Process/session id used by follow-up terminal tools.",
+ "type": "number"
+ },
+ "runtimeMs": {
+ "type": "number"
+ },
+ "signal": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "status": {
+ "description": "running or exited, with an exit code/signal when known.",
+ "type": "string"
+ },
+ "timeoutMs": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "pid",
+ "status",
+ "runtimeMs",
+ "lines",
+ "exited",
+ "exitCode",
+ "signal",
+ "pattern",
+ "matched",
+ "bufferedMatch",
+ "timeoutMs",
+ "output"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "alreadyExited": {
+ "type": "boolean"
+ },
+ "escalated": {
+ "type": "boolean"
+ },
+ "exitCode": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "exited": {
+ "type": "boolean"
+ },
+ "lines": {
+ "description": "Total output lines produced by the session.",
+ "type": "number"
+ },
+ "pid": {
+ "description": "Process/session id used by follow-up terminal tools.",
+ "type": "number"
+ },
+ "runtimeMs": {
+ "type": "number"
+ },
+ "signal": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "status": {
+ "description": "running or exited, with an exit code/signal when known.",
+ "type": "string"
+ },
+ "terminated": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "pid",
+ "status",
+ "runtimeMs",
+ "lines",
+ "exited",
+ "exitCode",
+ "signal",
+ "terminated",
+ "alreadyExited",
+ "escalated"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "sessions": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "blocked": {
+ "type": "string"
+ },
+ "command": {
+ "type": "string"
+ },
+ "exitCode": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "exited": {
+ "type": "boolean"
+ },
+ "lines": {
+ "description": "Total output lines produced by the session.",
+ "type": "number"
+ },
+ "pid": {
+ "description": "Process/session id used by follow-up terminal tools.",
+ "type": "number"
+ },
+ "runtimeMs": {
+ "type": "number"
+ },
+ "signal": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "status": {
+ "description": "running or exited, with an exit code/signal when known.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "pid",
+ "status",
+ "runtimeMs",
+ "lines",
+ "exited",
+ "exitCode",
+ "signal",
+ "blocked",
+ "command"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "sessions"
+ ],
+ "type": "object"
+ }
+]