centient 3.2.2 → 3.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +40 -0
- package/dist/tools/memory-bank/pushToMemoryBank.js +1 -0
- package/dist/tools/memory-bank/pushToMemoryBank.js.map +1 -1
- package/dist/utils/rlvr/PythonSandbox.d.ts.map +1 -1
- package/dist/utils/rlvr/PythonSandbox.js +9 -8
- package/dist/utils/rlvr/PythonSandbox.js.map +1 -1
- package/dist/utils/rlvr/TypeScriptSandbox.d.ts.map +1 -1
- package/dist/utils/rlvr/TypeScriptSandbox.js +65 -65
- package/dist/utils/rlvr/TypeScriptSandbox.js.map +1 -1
- package/dist/utils/rlvr/python_executor.py +108 -16
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,46 @@ All notable changes to the MCP Server for Context Engineering.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.2.3] - 2026-01-13
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Memory Bank** - Remove debug markers from `push_to_memory_bank` that were polluting output
|
|
13
|
+
|
|
14
|
+
### Security
|
|
15
|
+
|
|
16
|
+
- **VM Sandbox** - Fix `this.constructor` escape vector (CVE-2026-22812 audit)
|
|
17
|
+
- **Python Sandbox** - Extended safe builtins for better security hardening
|
|
18
|
+
|
|
19
|
+
## [3.2.2] - 2026-01-13
|
|
20
|
+
|
|
21
|
+
### Security
|
|
22
|
+
|
|
23
|
+
- **Python Sandbox Hardening** - Critical security fixes for RLVR execution
|
|
24
|
+
- Block `getattr` in Python sandbox to prevent escape via attribute access
|
|
25
|
+
- Require RestrictedPython as mandatory dependency, remove unsafe fallback mode
|
|
26
|
+
- Prevents potential sandbox escape vectors in skill execution
|
|
27
|
+
|
|
28
|
+
### Documentation
|
|
29
|
+
|
|
30
|
+
- Added Discovery Module documentation (2 tools) to MCP_TOOLS_REFERENCE.md
|
|
31
|
+
- Added Channels Module documentation (5 tools) to MCP_TOOLS_REFERENCE.md
|
|
32
|
+
- Updated tool counts: 98 tools across 18 modules
|
|
33
|
+
- Synced DOCUMENTATION_INDEX.md and CLAUDE.md with current state
|
|
34
|
+
|
|
35
|
+
## [3.2.1] - 2026-01-13
|
|
36
|
+
|
|
37
|
+
### Documentation
|
|
38
|
+
|
|
39
|
+
- Added Discovery Module section to MCP_TOOLS_REFERENCE.md
|
|
40
|
+
- `discover_tools` - Search tools by keyword or category
|
|
41
|
+
- `get_tool_help` - Get detailed documentation for specific tools
|
|
42
|
+
- Added Channels Module section to MCP_TOOLS_REFERENCE.md
|
|
43
|
+
- Full API reference for all 5 channel tools
|
|
44
|
+
- Multi-agent coordination workflow diagram
|
|
45
|
+
- Updated DOCUMENTATION_INDEX.md with corrected counts and ADR-019
|
|
46
|
+
- Updated CLAUDE.md Code Organization section
|
|
47
|
+
|
|
8
48
|
## [3.2.0] - 2026-01-13
|
|
9
49
|
|
|
10
50
|
### Added
|
|
@@ -161,6 +161,7 @@ async function pushToMemoryBank(input) {
|
|
|
161
161
|
let result;
|
|
162
162
|
try {
|
|
163
163
|
result = await runPythonScriptJSON(scriptPath, scriptArgs, { timeout: 120000 });
|
|
164
|
+
console.error("[push_to_memory_bank] Python result:", JSON.stringify(result, null, 2));
|
|
164
165
|
}
|
|
165
166
|
finally {
|
|
166
167
|
prepared.cleanup();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pushToMemoryBank.js","sourceRoot":"","sources":["../../../src/tools/memory-bank/pushToMemoryBank.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pushToMemoryBank.js","sourceRoot":"","sources":["../../../src/tools/memory-bank/pushToMemoryBank.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PythonSandbox.d.ts","sourceRoot":"","sources":["../../../src/utils/rlvr/PythonSandbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PythonSandbox.d.ts","sourceRoot":"","sources":["../../../src/utils/rlvr/PythonSandbox.ts"],"names":[],"mappings":"AAuBA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EAEf,MAAM,YAAY,CAAC;AAMpB,qBAAa,aAAc,YAAW,gBAAgB;IACpD,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IACtC,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;;IAUvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAI1C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAsJ/D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B,OAAO,CAAC,QAAQ;YA4CF,oBAAoB;CAyBnC"}
|
|
@@ -8,10 +8,11 @@ export class PythonSandbox {
|
|
|
8
8
|
language = "python";
|
|
9
9
|
limits = { ...DEFAULT_LIMITS };
|
|
10
10
|
initialized = false;
|
|
11
|
-
pythonPath
|
|
11
|
+
pythonPath;
|
|
12
12
|
executorPath;
|
|
13
13
|
constructor() {
|
|
14
14
|
this.executorPath = path.join(__dirname, "python_executor.py");
|
|
15
|
+
this.pythonPath = process.env.RLVR_PYTHON_PATH || "python3";
|
|
15
16
|
}
|
|
16
17
|
async initialize() {
|
|
17
18
|
try {
|
|
@@ -154,26 +155,26 @@ export class PythonSandbox {
|
|
|
154
155
|
const match = trimmed.match(/^def\s+(\w+)/);
|
|
155
156
|
if (match) {
|
|
156
157
|
const funcName = match[1];
|
|
157
|
-
return `${trimmed}\
|
|
158
|
+
return `${trimmed}\nRLVR_RESULT = ${funcName}(RLVR_INPUT)`;
|
|
158
159
|
}
|
|
159
160
|
}
|
|
160
161
|
return `
|
|
161
|
-
|
|
162
|
-
if callable(
|
|
163
|
-
|
|
162
|
+
rlvr_fn = ${trimmed}
|
|
163
|
+
if callable(rlvr_fn):
|
|
164
|
+
RLVR_RESULT = rlvr_fn(RLVR_INPUT)
|
|
164
165
|
else:
|
|
165
|
-
|
|
166
|
+
RLVR_RESULT = rlvr_fn
|
|
166
167
|
`.trim();
|
|
167
168
|
}
|
|
168
169
|
if (trimmed.startsWith("def ")) {
|
|
169
170
|
const match = trimmed.match(/^def\s+(\w+)/);
|
|
170
171
|
if (match) {
|
|
171
172
|
const funcName = match[1];
|
|
172
|
-
return `${trimmed}\
|
|
173
|
+
return `${trimmed}\nRLVR_RESULT = ${funcName}(RLVR_INPUT)`;
|
|
173
174
|
}
|
|
174
175
|
}
|
|
175
176
|
return `
|
|
176
|
-
input =
|
|
177
|
+
input = RLVR_INPUT
|
|
177
178
|
${code}
|
|
178
179
|
`.trim();
|
|
179
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PythonSandbox.js","sourceRoot":"","sources":["../../../src/utils/rlvr/PythonSandbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PythonSandbox.js","sourceRoot":"","sources":["../../../src/utils/rlvr/PythonSandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeScriptSandbox.d.ts","sourceRoot":"","sources":["../../../src/utils/rlvr/TypeScriptSandbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TypeScriptSandbox.d.ts","sourceRoot":"","sources":["../../../src/utils/rlvr/TypeScriptSandbox.ts"],"names":[],"mappings":"AAuBA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EAGf,MAAM,YAAY,CAAC;AAEpB,qBAAa,iBAAkB,YAAW,gBAAgB;IACxD,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;IAC1C,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,WAAW,CAAS;IAEtB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAI1C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAiI/D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B,OAAO,CAAC,oBAAoB;IA8F5B,OAAO,CAAC,QAAQ;IA6BhB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,mBAAmB;CAQ5B"}
|
|
@@ -117,73 +117,73 @@ export class TypeScriptSandbox {
|
|
|
117
117
|
}
|
|
118
118
|
createSandboxContext(logs, stdoutHandler) {
|
|
119
119
|
const now = Date.now();
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
},
|
|
120
|
+
const sandbox = Object.create(null);
|
|
121
|
+
sandbox.JSON = JSON;
|
|
122
|
+
sandbox.Math = Math;
|
|
123
|
+
sandbox.Date = Date;
|
|
124
|
+
sandbox.Array = Array;
|
|
125
|
+
sandbox.Object = Object;
|
|
126
|
+
sandbox.String = String;
|
|
127
|
+
sandbox.Number = Number;
|
|
128
|
+
sandbox.Boolean = Boolean;
|
|
129
|
+
sandbox.RegExp = RegExp;
|
|
130
|
+
sandbox.Map = Map;
|
|
131
|
+
sandbox.Set = Set;
|
|
132
|
+
sandbox.WeakMap = WeakMap;
|
|
133
|
+
sandbox.WeakSet = WeakSet;
|
|
134
|
+
sandbox.Promise = Promise;
|
|
135
|
+
sandbox.Symbol = Symbol;
|
|
136
|
+
sandbox.Error = Error;
|
|
137
|
+
sandbox.TypeError = TypeError;
|
|
138
|
+
sandbox.RangeError = RangeError;
|
|
139
|
+
sandbox.SyntaxError = SyntaxError;
|
|
140
|
+
sandbox.ReferenceError = ReferenceError;
|
|
141
|
+
sandbox.encodeURIComponent = encodeURIComponent;
|
|
142
|
+
sandbox.decodeURIComponent = decodeURIComponent;
|
|
143
|
+
sandbox.encodeURI = encodeURI;
|
|
144
|
+
sandbox.decodeURI = decodeURI;
|
|
145
|
+
sandbox.setTimeout = undefined;
|
|
146
|
+
sandbox.setInterval = undefined;
|
|
147
|
+
sandbox.setImmediate = undefined;
|
|
148
|
+
sandbox.clearTimeout = undefined;
|
|
149
|
+
sandbox.clearInterval = undefined;
|
|
150
|
+
sandbox.clearImmediate = undefined;
|
|
151
|
+
sandbox.console = {
|
|
152
|
+
log: (...args) => {
|
|
153
|
+
const message = args.map((a) => this.stringify(a)).join(" ");
|
|
154
|
+
logs.push({ level: "log", message, timestamp: Date.now() - now });
|
|
155
|
+
stdoutHandler(message);
|
|
156
|
+
},
|
|
157
|
+
warn: (...args) => {
|
|
158
|
+
const message = args.map((a) => this.stringify(a)).join(" ");
|
|
159
|
+
logs.push({ level: "warn", message, timestamp: Date.now() - now });
|
|
160
|
+
},
|
|
161
|
+
error: (...args) => {
|
|
162
|
+
const message = args.map((a) => this.stringify(a)).join(" ");
|
|
163
|
+
logs.push({ level: "error", message, timestamp: Date.now() - now });
|
|
164
|
+
},
|
|
165
|
+
debug: (...args) => {
|
|
166
|
+
const message = args.map((a) => this.stringify(a)).join(" ");
|
|
167
|
+
logs.push({ level: "debug", message, timestamp: Date.now() - now });
|
|
169
168
|
},
|
|
170
|
-
require: undefined,
|
|
171
|
-
import: undefined,
|
|
172
|
-
module: undefined,
|
|
173
|
-
exports: undefined,
|
|
174
|
-
__dirname: undefined,
|
|
175
|
-
__filename: undefined,
|
|
176
|
-
process: undefined,
|
|
177
|
-
global: undefined,
|
|
178
|
-
globalThis: undefined,
|
|
179
|
-
Buffer: undefined,
|
|
180
|
-
Uint8Array: undefined,
|
|
181
|
-
fetch: undefined,
|
|
182
|
-
XMLHttpRequest: undefined,
|
|
183
|
-
WebSocket: undefined,
|
|
184
|
-
__INPUT__: undefined,
|
|
185
|
-
__RESULT__: undefined,
|
|
186
169
|
};
|
|
170
|
+
sandbox.require = undefined;
|
|
171
|
+
sandbox.import = undefined;
|
|
172
|
+
sandbox.module = undefined;
|
|
173
|
+
sandbox.exports = undefined;
|
|
174
|
+
sandbox.__dirname = undefined;
|
|
175
|
+
sandbox.__filename = undefined;
|
|
176
|
+
sandbox.process = undefined;
|
|
177
|
+
sandbox.global = undefined;
|
|
178
|
+
sandbox.globalThis = undefined;
|
|
179
|
+
sandbox.Buffer = undefined;
|
|
180
|
+
sandbox.Uint8Array = undefined;
|
|
181
|
+
sandbox.fetch = undefined;
|
|
182
|
+
sandbox.XMLHttpRequest = undefined;
|
|
183
|
+
sandbox.WebSocket = undefined;
|
|
184
|
+
sandbox.__INPUT__ = undefined;
|
|
185
|
+
sandbox.__RESULT__ = undefined;
|
|
186
|
+
return sandbox;
|
|
187
187
|
}
|
|
188
188
|
wrapCode(code) {
|
|
189
189
|
const trimmed = code.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeScriptSandbox.js","sourceRoot":"","sources":["../../../src/utils/rlvr/TypeScriptSandbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TypeScriptSandbox.js","sourceRoot":"","sources":["../../../src/utils/rlvr/TypeScriptSandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ Install: pip install RestrictedPython
|
|
|
23
23
|
import sys
|
|
24
24
|
import json
|
|
25
25
|
import io
|
|
26
|
+
import re
|
|
26
27
|
import traceback
|
|
27
28
|
from contextlib import redirect_stdout, redirect_stderr
|
|
28
29
|
from typing import Any, Dict
|
|
@@ -49,17 +50,111 @@ except ImportError as e:
|
|
|
49
50
|
|
|
50
51
|
|
|
51
52
|
def create_safe_globals(input_value: Any) -> Dict[str, Any]:
|
|
52
|
-
"""Create a restricted global namespace for code execution using RestrictedPython.
|
|
53
|
+
"""Create a restricted global namespace for code execution using RestrictedPython.
|
|
54
|
+
|
|
55
|
+
Includes additional safe builtins beyond RestrictedPython defaults:
|
|
56
|
+
- Collection functions: list, dict, set, tuple, frozenset
|
|
57
|
+
- Iteration: range, enumerate, zip, map, filter, reversed, sorted
|
|
58
|
+
- Aggregation: sum, min, max, all, any, len
|
|
59
|
+
- Math: abs, round, pow, divmod
|
|
60
|
+
- Type conversion: int, float, str, bool, bytes
|
|
61
|
+
- Other safe functions: repr, hash, slice, iter, next
|
|
62
|
+
"""
|
|
53
63
|
restricted_globals = dict(safe_globals)
|
|
54
|
-
|
|
64
|
+
|
|
65
|
+
# Start with safe_builtins as base
|
|
66
|
+
extended_builtins = dict(safe_builtins)
|
|
67
|
+
|
|
68
|
+
# Add safe collection constructors
|
|
69
|
+
extended_builtins['list'] = list
|
|
70
|
+
extended_builtins['dict'] = dict
|
|
71
|
+
extended_builtins['set'] = set
|
|
72
|
+
extended_builtins['tuple'] = tuple
|
|
73
|
+
extended_builtins['frozenset'] = frozenset
|
|
74
|
+
|
|
75
|
+
# Add safe iteration functions
|
|
76
|
+
extended_builtins['range'] = range
|
|
77
|
+
extended_builtins['enumerate'] = enumerate
|
|
78
|
+
extended_builtins['zip'] = zip
|
|
79
|
+
extended_builtins['map'] = map
|
|
80
|
+
extended_builtins['filter'] = filter
|
|
81
|
+
extended_builtins['reversed'] = reversed
|
|
82
|
+
extended_builtins['sorted'] = sorted
|
|
83
|
+
|
|
84
|
+
# Add safe aggregation functions
|
|
85
|
+
extended_builtins['sum'] = sum
|
|
86
|
+
extended_builtins['min'] = min
|
|
87
|
+
extended_builtins['max'] = max
|
|
88
|
+
extended_builtins['all'] = all
|
|
89
|
+
extended_builtins['any'] = any
|
|
90
|
+
extended_builtins['len'] = len
|
|
91
|
+
|
|
92
|
+
# Add safe math functions
|
|
93
|
+
extended_builtins['abs'] = abs
|
|
94
|
+
extended_builtins['round'] = round
|
|
95
|
+
extended_builtins['pow'] = pow
|
|
96
|
+
extended_builtins['divmod'] = divmod
|
|
97
|
+
|
|
98
|
+
# Add safe type conversion
|
|
99
|
+
extended_builtins['int'] = int
|
|
100
|
+
extended_builtins['float'] = float
|
|
101
|
+
extended_builtins['str'] = str
|
|
102
|
+
extended_builtins['bool'] = bool
|
|
103
|
+
extended_builtins['bytes'] = bytes
|
|
104
|
+
|
|
105
|
+
# Add other safe functions
|
|
106
|
+
extended_builtins['repr'] = repr
|
|
107
|
+
extended_builtins['hash'] = hash
|
|
108
|
+
extended_builtins['slice'] = slice
|
|
109
|
+
extended_builtins['iter'] = iter
|
|
110
|
+
extended_builtins['next'] = next
|
|
111
|
+
|
|
112
|
+
restricted_globals['__builtins__'] = extended_builtins
|
|
55
113
|
restricted_globals['_getiter_'] = default_guarded_getiter
|
|
56
114
|
restricted_globals['_getitem_'] = default_guarded_getitem
|
|
57
115
|
restricted_globals['_iter_unpack_sequence_'] = guarded_iter_unpack_sequence
|
|
58
|
-
restricted_globals['
|
|
116
|
+
restricted_globals['RLVR_INPUT'] = input_value
|
|
59
117
|
restricted_globals['print'] = print # Allow print for output capture
|
|
60
118
|
return restricted_globals
|
|
61
119
|
|
|
62
120
|
|
|
121
|
+
def wrap_code(code: str) -> str:
|
|
122
|
+
"""Wrap code to capture return value, similar to TypeScript sandbox.
|
|
123
|
+
|
|
124
|
+
Handles:
|
|
125
|
+
- Lambda expressions: wrap to call with RLVR_INPUT
|
|
126
|
+
- Function definitions: wrap to call with RLVR_INPUT
|
|
127
|
+
- Multi-line code: wrap in function to capture result
|
|
128
|
+
- Simple expressions: assign to result
|
|
129
|
+
"""
|
|
130
|
+
trimmed = code.strip()
|
|
131
|
+
|
|
132
|
+
# Lambda expression - call it with input
|
|
133
|
+
if trimmed.startswith('lambda '):
|
|
134
|
+
return f"RLVR_RESULT = ({trimmed})(RLVR_INPUT)"
|
|
135
|
+
|
|
136
|
+
# Function definition - define and call with input
|
|
137
|
+
if trimmed.startswith('def '):
|
|
138
|
+
# Extract function name
|
|
139
|
+
match = re.match(r'def\s+(\w+)\s*\(', trimmed)
|
|
140
|
+
if match:
|
|
141
|
+
func_name = match.group(1)
|
|
142
|
+
return f"{trimmed}\nRLVR_RESULT = {func_name}(RLVR_INPUT)"
|
|
143
|
+
|
|
144
|
+
# Multi-line code or statements - look for result variable
|
|
145
|
+
if '\n' in trimmed or trimmed.endswith(':'):
|
|
146
|
+
return code
|
|
147
|
+
|
|
148
|
+
# Simple expression - if it doesn't have result assignment, wrap it
|
|
149
|
+
if not any(trimmed.startswith(prefix) for prefix in ['result =', 'RLVR_RESULT =', '_result_ =']):
|
|
150
|
+
# Check if it's an expression (no assignment, no statement keywords)
|
|
151
|
+
statement_keywords = ['if ', 'for ', 'while ', 'with ', 'try:', 'class ', 'import ', 'from ', 'raise ', 'assert ']
|
|
152
|
+
if not any(trimmed.startswith(kw) for kw in statement_keywords) and '=' not in trimmed.split('(')[0]:
|
|
153
|
+
return f"RLVR_RESULT = {trimmed}"
|
|
154
|
+
|
|
155
|
+
return code
|
|
156
|
+
|
|
157
|
+
|
|
63
158
|
def execute_code(code: str, input_value: Any) -> Dict[str, Any]:
|
|
64
159
|
"""Execute code in restricted environment using RestrictedPython."""
|
|
65
160
|
stdout_capture = io.StringIO()
|
|
@@ -78,20 +173,17 @@ def execute_code(code: str, input_value: Any) -> Dict[str, Any]:
|
|
|
78
173
|
# Create safe globals
|
|
79
174
|
safe_globals_dict = create_safe_globals(input_value)
|
|
80
175
|
|
|
176
|
+
# Wrap code to capture return value
|
|
177
|
+
wrapped_code = wrap_code(code)
|
|
178
|
+
|
|
81
179
|
# Compile code with RestrictedPython
|
|
82
|
-
|
|
83
|
-
|
|
180
|
+
# Note: compile_restricted returns code object directly in RestrictedPython 8.x
|
|
181
|
+
# Compilation errors are raised as exceptions (SyntaxError, etc.)
|
|
182
|
+
compiled_code = compile_restricted(
|
|
183
|
+
wrapped_code,
|
|
84
184
|
filename='<pattern>',
|
|
85
185
|
mode='exec'
|
|
86
186
|
)
|
|
87
|
-
if byte_code.errors:
|
|
88
|
-
result['status'] = 'error'
|
|
89
|
-
result['error'] = {
|
|
90
|
-
'type': 'CompilationError',
|
|
91
|
-
'message': '\n'.join(byte_code.errors),
|
|
92
|
-
}
|
|
93
|
-
return result
|
|
94
|
-
compiled_code = byte_code.code
|
|
95
187
|
|
|
96
188
|
# Execute with output capture
|
|
97
189
|
# Use same dict for globals and locals to enable recursive functions
|
|
@@ -99,9 +191,9 @@ def execute_code(code: str, input_value: Any) -> Dict[str, Any]:
|
|
|
99
191
|
with redirect_stdout(stdout_capture), redirect_stderr(stderr_capture):
|
|
100
192
|
exec(compiled_code, execution_namespace, execution_namespace)
|
|
101
193
|
|
|
102
|
-
# Get return value (check for
|
|
103
|
-
if '
|
|
104
|
-
result['returnValue'] = execution_namespace['
|
|
194
|
+
# Get return value (check for RLVR_RESULT or last expression)
|
|
195
|
+
if 'RLVR_RESULT' in execution_namespace:
|
|
196
|
+
result['returnValue'] = execution_namespace['RLVR_RESULT']
|
|
105
197
|
elif '_result_' in execution_namespace:
|
|
106
198
|
result['returnValue'] = execution_namespace['_result_']
|
|
107
199
|
elif 'result' in execution_namespace:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "centient",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.3",
|
|
4
4
|
"description": "MCP server for context engineering operations with handoff protocol, health monitoring, session branching with visualization, and query-based artifact loading",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|