1. parse-trigger-spec: strip [condition] from event names, store as "filter" modifier 2. bind-event: native SX filter for key=='X' patterns (extracts key char and checks event.key + not-input guard) 3. bind-event from: modifier: resolve "body"/"document"/"window" to direct DOM references instead of dom-query 4. sx-platform-2.js: global keyboard dispatch — WASM host-callbacks on document/body don't fire, so keyboard triggers with from:body are handled from JS, calling execute-request via K.eval 5. bind-inline-handlers: map afterSwap/beforeRequest to sx: prefix, eval JS bodies via Function constructor Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 line
12 KiB
JSON
1 line
12 KiB
JSON
{"magic":"SXBC","version":1,"hash":"e6ee3442b033cac1","module":{"arity":0,"bytecode":[51,1,0,128,0,0,5,51,3,0,128,2,0,5,1,5,0,51,6,0,1,7,0,51,8,0,1,9,0,51,10,0,1,11,0,51,12,0,1,13,0,51,6,0,1,14,0,51,6,0,1,15,0,51,6,0,1,16,0,51,17,0,1,18,0,51,6,0,1,19,0,51,20,0,1,21,0,51,6,0,1,22,0,51,6,0,1,23,0,51,6,0,1,24,0,51,6,0,1,25,0,51,26,0,1,27,0,51,28,0,1,29,0,51,6,0,1,30,0,51,6,0,1,31,0,51,32,0,1,33,0,51,6,0,1,34,0,51,35,0,1,36,0,51,6,0,1,37,0,51,6,0,1,38,0,51,6,0,1,39,0,51,6,0,1,40,0,51,6,0,1,41,0,51,6,0,65,27,0,128,4,0,5,51,43,0,128,42,0,5,51,45,0,128,44,0,5,51,47,0,128,46,0,5,51,49,0,128,48,0,5,51,51,0,128,50,0,5,51,53,0,128,52,0,5,51,55,0,128,54,0,5,51,57,0,128,56,0,5,51,59,0,128,58,0,5,51,61,0,128,60,0,5,51,63,0,128,62,0,5,51,65,0,128,64,0,5,51,67,0,128,66,0,5,51,69,0,128,68,0,5,51,71,0,128,70,0,5,51,73,0,128,72,0,5,51,75,0,128,74,0,5,51,77,0,128,76,0,50],"constants":[{"t":"s","v":"assert"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,52,0,0,1,33,18,0,20,3,0,6,34,4,0,5,1,4,0,52,2,0,1,32,1,0,2,50],"constants":[{"t":"s","v":"not"},{"t":"s","v":"condition"},{"t":"s","v":"error"},{"t":"s","v":"msg"},{"t":"s","v":"Assertion failed"}]}},{"t":"s","v":"assert="},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,2,0,20,3,0,52,1,0,2,52,0,0,1,33,31,0,20,5,0,6,34,17,0,5,1,7,0,20,3,0,1,8,0,20,2,0,52,6,0,4,52,4,0,1,32,1,0,2,50],"constants":[{"t":"s","v":"not"},{"t":"s","v":"="},{"t":"s","v":"actual"},{"t":"s","v":"expected"},{"t":"s","v":"error"},{"t":"s","v":"msg"},{"t":"s","v":"str"},{"t":"s","v":"Expected "},{"t":"s","v":", got "}]}},{"t":"s","v":"default-platform"},{"t":"s","v":"current-user"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[2,50],"constants":[]}},{"t":"s","v":"csrf-token"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,50],"constants":[{"t":"s","v":"test-csrf-token"}]}},{"t":"s","v":"app-url"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,50],"constants":[{"t":"s","v":"/mock-app-url"}]}},{"t":"s","v":"frag"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,50],"constants":[{"t":"s","v":""}]}},{"t":"s","v":"sleep"},{"t":"s","v":"local-storage-set"},{"t":"s","v":"set-cookie"},{"t":"s","v":"url-for"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,50],"constants":[{"t":"s","v":"/mock-url"}]}},{"t":"s","v":"create-element"},{"t":"s","v":"request-path"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,50],"constants":[{"t":"s","v":"/"}]}},{"t":"s","v":"config"},{"t":"s","v":"set-attr"},{"t":"s","v":"set-text"},{"t":"s","v":"remove-child"},{"t":"s","v":"fetch"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,1,1,0,1,2,0,1,3,0,1,4,0,3,65,3,0,50],"constants":[{"t":"s","v":"status"},{"t":"n","v":200},{"t":"s","v":"body"},{"t":"s","v":""},{"t":"s","v":"ok"}]}},{"t":"s","v":"query"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[52,0,0,0,50],"constants":[{"t":"s","v":"list"}]}},{"t":"s","v":"add-class"},{"t":"s","v":"get-element"},{"t":"s","v":"now"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,50],"constants":[{"t":"n","v":0}]}},{"t":"s","v":"abort"},{"t":"s","v":"action"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,3,65,1,0,50],"constants":[{"t":"s","v":"ok"}]}},{"t":"s","v":"remove-class"},{"t":"s","v":"append-child"},{"t":"s","v":"request-arg"},{"t":"s","v":"emit-dom"},{"t":"s","v":"local-storage-get"},{"t":"s","v":"get-cookie"},{"t":"s","v":"make-harness"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,52,0,0,1,33,6,0,20,2,0,32,10,0,20,2,0,20,1,0,52,3,0,2,17,1,1,4,0,52,5,0,0,1,1,0,20,6,0,1,7,0,1,8,0,65,0,0,1,9,0,65,0,0,1,10,0,2,65,3,0,65,3,0,50],"constants":[{"t":"s","v":"nil?"},{"t":"s","v":"platform"},{"t":"s","v":"default-platform"},{"t":"s","v":"merge"},{"t":"s","v":"log"},{"t":"s","v":"list"},{"t":"s","v":"merged"},{"t":"s","v":"state"},{"t":"s","v":"cookies"},{"t":"s","v":"storage"},{"t":"s","v":"dom"}]}},{"t":"s","v":"harness-reset!"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,1,2,0,52,3,0,0,52,0,0,3,5,20,1,0,1,4,0,1,5,0,65,0,0,1,6,0,65,0,0,1,7,0,2,65,3,0,52,0,0,3,5,20,1,0,50],"constants":[{"t":"s","v":"dict-set!"},{"t":"s","v":"session"},{"t":"s","v":"log"},{"t":"s","v":"list"},{"t":"s","v":"state"},{"t":"s","v":"cookies"},{"t":"s","v":"storage"},{"t":"s","v":"dom"}]}},{"t":"s","v":"harness-log"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,1,2,0,52,0,0,2,17,2,20,4,0,52,3,0,1,33,6,0,20,2,0,32,10,0,51,6,0,20,2,0,52,5,0,2,50],"constants":[{"t":"s","v":"get"},{"t":"s","v":"session"},{"t":"s","v":"log"},{"t":"s","v":"nil?"},{"t":"s","v":"op"},{"t":"s","v":"filter"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,2,0,1,3,0,52,1,0,2,20,3,0,52,0,0,2,50],"constants":[{"t":"s","v":"="},{"t":"s","v":"get"},{"t":"s","v":"entry"},{"t":"s","v":"op"}]}}]}},{"t":"s","v":"harness-get"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,1,2,0,52,0,0,2,20,3,0,52,0,0,2,50],"constants":[{"t":"s","v":"get"},{"t":"s","v":"session"},{"t":"s","v":"state"},{"t":"s","v":"key"}]}},{"t":"s","v":"harness-set!"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,2,0,1,3,0,52,1,0,2,20,4,0,20,5,0,52,0,0,3,5,2,50],"constants":[{"t":"s","v":"dict-set!"},{"t":"s","v":"get"},{"t":"s","v":"session"},{"t":"s","v":"state"},{"t":"s","v":"key"},{"t":"s","v":"value"}]}},{"t":"s","v":"make-interceptor"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[51,0,0,50],"constants":[{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,52,0,0,1,33,8,0,20,2,0,48,0,32,136,0,1,4,0,20,1,0,52,5,0,1,52,3,0,2,33,15,0,20,2,0,20,1,0,52,6,0,1,48,1,32,104,0,1,7,0,20,1,0,52,5,0,1,52,3,0,2,33,25,0,20,2,0,20,1,0,52,6,0,1,20,1,0,1,4,0,52,8,0,2,48,2,32,62,0,1,9,0,20,1,0,52,5,0,1,52,3,0,2,33,35,0,20,2,0,20,1,0,52,6,0,1,20,1,0,1,4,0,52,8,0,2,20,1,0,1,7,0,52,8,0,2,48,3,32,10,0,20,2,0,20,1,0,52,10,0,2,17,1,20,12,0,1,13,0,52,11,0,2,17,2,20,14,0,20,13,0,1,1,0,20,1,0,1,15,0,20,15,0,1,16,0,20,17,0,65,3,0,48,2,5,20,15,0,50],"constants":[{"t":"s","v":"empty?"},{"t":"s","v":"args"},{"t":"s","v":"mock-fn"},{"t":"s","v":"="},{"t":"n","v":1},{"t":"s","v":"len"},{"t":"s","v":"first"},{"t":"n","v":2},{"t":"s","v":"nth"},{"t":"n","v":3},{"t":"s","v":"apply"},{"t":"s","v":"get"},{"t":"s","v":"session"},{"t":"s","v":"log"},{"t":"s","v":"append!"},{"t":"s","v":"result"},{"t":"s","v":"op"},{"t":"s","v":"op-name"}]}}]}},{"t":"s","v":"install-interceptors"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[51,1,0,20,4,0,1,5,0,52,3,0,2,52,2,0,1,52,0,0,2,5,20,6,0,50],"constants":[{"t":"s","v":"for-each"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,1,2,0,52,0,0,2,20,3,0,52,0,0,2,17,1,20,4,0,20,1,0,20,3,0,20,5,0,48,3,17,2,20,6,0,20,7,0,20,3,0,20,8,0,49,3,50],"constants":[{"t":"s","v":"get"},{"t":"s","v":"session"},{"t":"s","v":"platform"},{"t":"s","v":"key"},{"t":"s","v":"make-interceptor"},{"t":"s","v":"mock-fn"},{"t":"s","v":"env-bind!"},{"t":"s","v":"env"},{"t":"s","v":"interceptor"}]}},{"t":"s","v":"keys"},{"t":"s","v":"get"},{"t":"s","v":"session"},{"t":"s","v":"platform"},{"t":"s","v":"env"}]}},{"t":"s","v":"io-calls"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[51,1,0,20,3,0,1,4,0,52,2,0,2,52,0,0,2,50],"constants":[{"t":"s","v":"filter"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,2,0,1,3,0,52,1,0,2,20,4,0,52,0,0,2,50],"constants":[{"t":"s","v":"="},{"t":"s","v":"get"},{"t":"s","v":"entry"},{"t":"s","v":"op"},{"t":"s","v":"op-name"}]}},{"t":"s","v":"get"},{"t":"s","v":"session"},{"t":"s","v":"log"}]}},{"t":"s","v":"io-call-count"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,20,2,0,20,3,0,48,2,52,0,0,1,50],"constants":[{"t":"s","v":"len"},{"t":"s","v":"io-calls"},{"t":"s","v":"session"},{"t":"s","v":"op-name"}]}},{"t":"s","v":"io-call-nth"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,48,2,17,3,20,4,0,20,6,0,52,5,0,1,52,3,0,2,33,13,0,20,6,0,20,4,0,52,7,0,2,32,1,0,2,50],"constants":[{"t":"s","v":"io-calls"},{"t":"s","v":"session"},{"t":"s","v":"op-name"},{"t":"s","v":"<"},{"t":"s","v":"n"},{"t":"s","v":"len"},{"t":"s","v":"calls"},{"t":"s","v":"nth"}]}},{"t":"s","v":"io-call-args"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,20,3,0,48,3,17,3,20,5,0,52,4,0,1,33,4,0,2,32,10,0,20,5,0,1,7,0,52,6,0,2,50],"constants":[{"t":"s","v":"io-call-nth"},{"t":"s","v":"session"},{"t":"s","v":"op-name"},{"t":"s","v":"n"},{"t":"s","v":"nil?"},{"t":"s","v":"call"},{"t":"s","v":"get"},{"t":"s","v":"args"}]}},{"t":"s","v":"io-call-result"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,20,3,0,48,3,17,3,20,5,0,52,4,0,1,33,4,0,2,32,10,0,20,5,0,1,7,0,52,6,0,2,50],"constants":[{"t":"s","v":"io-call-nth"},{"t":"s","v":"session"},{"t":"s","v":"op-name"},{"t":"s","v":"n"},{"t":"s","v":"nil?"},{"t":"s","v":"call"},{"t":"s","v":"get"},{"t":"s","v":"result"}]}},{"t":"s","v":"assert-io-called"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,2,0,20,3,0,20,4,0,48,2,1,5,0,52,1,0,2,1,7,0,20,4,0,1,8,0,52,6,0,3,49,2,50],"constants":[{"t":"s","v":"assert"},{"t":"s","v":">"},{"t":"s","v":"io-call-count"},{"t":"s","v":"session"},{"t":"s","v":"op-name"},{"t":"n","v":0},{"t":"s","v":"str"},{"t":"s","v":"Expected IO operation "},{"t":"s","v":" to be called but it was not"}]}},{"t":"s","v":"assert-no-io"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,2,0,20,3,0,20,4,0,48,2,1,5,0,52,1,0,2,1,7,0,20,4,0,1,8,0,20,2,0,20,3,0,20,4,0,48,2,1,9,0,52,6,0,5,49,2,50],"constants":[{"t":"s","v":"assert"},{"t":"s","v":"="},{"t":"s","v":"io-call-count"},{"t":"s","v":"session"},{"t":"s","v":"op-name"},{"t":"n","v":0},{"t":"s","v":"str"},{"t":"s","v":"Expected IO operation "},{"t":"s","v":" not to be called but it was called "},{"t":"s","v":" time(s)"}]}},{"t":"s","v":"assert-io-count"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,48,2,17,3,20,3,0,20,5,0,20,6,0,52,4,0,2,1,8,0,20,2,0,1,9,0,20,6,0,1,10,0,20,5,0,1,11,0,52,7,0,7,49,2,50],"constants":[{"t":"s","v":"io-call-count"},{"t":"s","v":"session"},{"t":"s","v":"op-name"},{"t":"s","v":"assert"},{"t":"s","v":"="},{"t":"s","v":"actual"},{"t":"s","v":"expected"},{"t":"s","v":"str"},{"t":"s","v":"Expected "},{"t":"s","v":" to be called "},{"t":"s","v":" time(s) but was called "},{"t":"s","v":" time(s)"}]}},{"t":"s","v":"assert-io-args"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,20,3,0,48,3,17,4,20,4,0,20,5,0,20,6,0,20,7,0,48,2,1,9,0,20,3,0,1,10,0,20,2,0,1,11,0,20,7,0,52,8,0,1,1,12,0,20,6,0,52,8,0,1,52,8,0,8,49,2,50],"constants":[{"t":"s","v":"io-call-args"},{"t":"s","v":"session"},{"t":"s","v":"op-name"},{"t":"s","v":"n"},{"t":"s","v":"assert"},{"t":"s","v":"equal?"},{"t":"s","v":"actual"},{"t":"s","v":"expected-args"},{"t":"s","v":"str"},{"t":"s","v":"Expected call "},{"t":"s","v":" to "},{"t":"s","v":" with args "},{"t":"s","v":" but got "}]}},{"t":"s","v":"assert-io-result"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,20,3,0,48,3,17,4,20,4,0,20,5,0,20,6,0,20,7,0,48,2,1,9,0,20,3,0,1,10,0,20,2,0,1,11,0,20,7,0,52,8,0,1,1,12,0,20,6,0,52,8,0,1,52,8,0,8,49,2,50],"constants":[{"t":"s","v":"io-call-result"},{"t":"s","v":"session"},{"t":"s","v":"op-name"},{"t":"s","v":"n"},{"t":"s","v":"assert"},{"t":"s","v":"equal?"},{"t":"s","v":"actual"},{"t":"s","v":"expected"},{"t":"s","v":"str"},{"t":"s","v":"Expected call "},{"t":"s","v":" to "},{"t":"s","v":" to return "},{"t":"s","v":" but got "}]}},{"t":"s","v":"assert-state"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,48,2,17,3,20,3,0,20,4,0,20,5,0,20,6,0,48,2,1,8,0,20,2,0,1,9,0,20,6,0,52,7,0,1,1,10,0,20,5,0,52,7,0,1,52,7,0,6,49,2,50],"constants":[{"t":"s","v":"harness-get"},{"t":"s","v":"session"},{"t":"s","v":"key"},{"t":"s","v":"assert"},{"t":"s","v":"equal?"},{"t":"s","v":"actual"},{"t":"s","v":"expected"},{"t":"s","v":"str"},{"t":"s","v":"Expected state "},{"t":"s","v":" to be "},{"t":"s","v":" but got "}]}}]}} |