nx_mcp_control_gate.nx source
↩ module page · 22 lines · 3602 B
1import "nx_mcp_control.nx"
2import "nx_gate_verdict.nx"
3func main() -> i64 {
4 let c: *i64=gv_ctr()
5 let plan: *i64=gv_plan_new("request\ncancel\nescaped-key\nnested-decoy\nduplicate-id\nduplicate-cancel\nmissing-comma\ntrailing-comma\nwrong-bracket\nfractional-id\ninitialization\ninitialized\n" as *u8)
6 let out: *NxMcpControl=sys_mmap(__size_of(NxMcpControl)) as *NxMcpControl
7 gv_plan_check(plan,"request",mct_read("{\"jsonrpc\":\"2.0\",\"id\":\"x\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"id\":99}}}" as *u8,mr_len("{\"jsonrpc\":\"2.0\",\"id\":\"x\",\"method\":\"tools/call\",\"params\":{\"name\":\"nx_fs\",\"arguments\":{\"id\":99}}}" as *u8),out)==0 && out.method==4 && out.id_kind==7 && out.cancel_kind==0,c)
8 gv_plan_check(plan,"cancel",mct_read("{\"jsonrpc\":\"2.0\",\"method\":\"notifications/cancelled\",\"params\":{\"requestId\":\"x\"}}" as *u8,mr_len("{\"jsonrpc\":\"2.0\",\"method\":\"notifications/cancelled\",\"params\":{\"requestId\":\"x\"}}" as *u8),out)==0 && out.method==3 && out.id_kind==0 && out.cancel_kind==7,c)
9 gv_plan_check(plan,"escaped-key",mct_read("{\"jsonrpc\":\"2.0\",\"method\":\"notifications/cancelled\",\"params\":{\"request\\u0049d\":12}}" as *u8,mr_len("{\"jsonrpc\":\"2.0\",\"method\":\"notifications/cancelled\",\"params\":{\"request\\u0049d\":12}}" as *u8),out)==0 && out.method==3 && out.id_kind==0 && out.cancel_kind==8,c)
10 gv_plan_check(plan,"nested-decoy",mct_read("{\"jsonrpc\":\"2.0\",\"method\":\"notifications/cancelled\",\"params\":{\"nested\":{\"requestId\":\"x\"}}}" as *u8,mr_len("{\"jsonrpc\":\"2.0\",\"method\":\"notifications/cancelled\",\"params\":{\"nested\":{\"requestId\":\"x\"}}}" as *u8),out)==-1,c)
11 gv_plan_check(plan,"duplicate-id",mct_read("{\"jsonrpc\":\"2.0\",\"id\":1,\"id\":2,\"method\":\"x\"}" as *u8,mr_len("{\"jsonrpc\":\"2.0\",\"id\":1,\"id\":2,\"method\":\"x\"}" as *u8),out)==-1,c)
12 gv_plan_check(plan,"duplicate-cancel",mct_read("{\"jsonrpc\":\"2.0\",\"method\":\"notifications/cancelled\",\"params\":{\"requestId\":1,\"requestId\":2}}" as *u8,mr_len("{\"jsonrpc\":\"2.0\",\"method\":\"notifications/cancelled\",\"params\":{\"requestId\":1,\"requestId\":2}}" as *u8),out)==-1,c)
13 gv_plan_check(plan,"missing-comma",mct_read("{\"jsonrpc\":\"2.0\" \"method\":\"x\"}" as *u8,mr_len("{\"jsonrpc\":\"2.0\" \"method\":\"x\"}" as *u8),out)==-1,c)
14 gv_plan_check(plan,"trailing-comma",mct_read("{\"jsonrpc\":\"2.0\",\"method\":\"x\",}" as *u8,mr_len("{\"jsonrpc\":\"2.0\",\"method\":\"x\",}" as *u8),out)==-1,c)
15 gv_plan_check(plan,"wrong-bracket",mct_read("{\"jsonrpc\":\"2.0\",\"method\":\"x\",\"params\":[1}}" as *u8,mr_len("{\"jsonrpc\":\"2.0\",\"method\":\"x\",\"params\":[1}}" as *u8),out)==-1,c)
16 gv_plan_check(plan,"fractional-id",mct_read("{\"jsonrpc\":\"2.0\",\"method\":\"x\",\"id\":1.5}" as *u8,mr_len("{\"jsonrpc\":\"2.0\",\"method\":\"x\",\"id\":1.5}" as *u8),out)==-1,c)
17 gv_plan_check(plan,"initialization",mct_read("{\"jsonrpc\":\"2.0\",\"method\":\"initialize\",\"id\":1}" as *u8,mr_len("{\"jsonrpc\":\"2.0\",\"method\":\"initialize\",\"id\":1}" as *u8),out)==0 && out.method==1 && out.id_kind==8 && out.cancel_kind==0,c)
18 gv_plan_check(plan,"initialized",mct_read("{\"jsonrpc\":\"2.0\",\"method\":\"notifications/initialized\"}" as *u8,mr_len("{\"jsonrpc\":\"2.0\",\"method\":\"notifications/initialized\"}" as *u8),out)==0 && out.method==2 && out.id_kind==0 && out.cancel_kind==0,c)
19 sys_munmap(out as *u8,__size_of(NxMcpControl))
20 gv_plan_finish(plan,c)
21 return gv_verdict("MCP-CONTROL" as *u8,c,"Borrowed control metadata; bounded scratch released after every scan." as *u8)
22}