Files
releases/capabilities.json
Stephan Renatus c0c3cd18a6 wasm: introduce one-off eval function, use it instead (#3627)
* wasm/sdk: check version, call old eval path for ABI 1.1

  Fixes #3146.

* docs/wasm: document addition as ABI 1.2

* wasm-sdk: overwrite previous inputs, don't accumulate them

  There is a little room for optimization here, should the input
  ever grow so large that it eats up too much precious heap space,
  we could look into changing this so that the memory used for it
  can be reclaimed.

* internal/compiler/wasm: commit generated wasm

  I've noticed that since the CI build running on macos-latest doesn't
  have docker installed, it cannot update these files itself at build
  time. We thus end up with macos binaries that have the wasm binary
  data from the main branch, not the PR.

  This can be observed from the test failure:

      Run make ci-binary-smoke-test-wasm BINARY=opa_darwin_amd64
      chmod +x "_release/0.31.0-dev/opa_darwin_amd64"
      "_release/0.31.0-dev/opa_darwin_amd64" eval -t "wasm" 'time.now_ns()'
      make: *** [ci-binary-smoke-test-wasm] Error 2
      {
        "errors": [
          {
            "message": "caller not found: opa_eval (opa_eval)"
          }
        ]
      }
      Error: Process completed with exit code 2.

  Since I had previously commit the CSV data that drives the dead
  code elimination process, that optimization had failed to find a
  function it expected to have.

Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
2021-07-15 09:41:40 +02:00

3513 lines
64 KiB
JSON

{
"builtins": [
{
"name": "abs",
"decl": {
"args": [
{
"type": "number"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "all",
"decl": {
"args": [
{
"of": [
{
"of": {
"type": "any"
},
"type": "set"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "and",
"decl": {
"args": [
{
"of": {
"type": "any"
},
"type": "set"
},
{
"of": {
"type": "any"
},
"type": "set"
}
],
"result": {
"of": {
"type": "any"
},
"type": "set"
},
"type": "function"
},
"infix": "\u0026"
},
{
"name": "any",
"decl": {
"args": [
{
"of": [
{
"of": {
"type": "any"
},
"type": "set"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "array.concat",
"decl": {
"args": [
{
"dynamic": {
"type": "any"
},
"type": "array"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"result": {
"dynamic": {
"type": "any"
},
"type": "array"
},
"type": "function"
}
},
{
"name": "array.slice",
"decl": {
"args": [
{
"dynamic": {
"type": "any"
},
"type": "array"
},
{
"type": "number"
},
{
"type": "number"
}
],
"result": {
"dynamic": {
"type": "any"
},
"type": "array"
},
"type": "function"
}
},
{
"name": "assign",
"decl": {
"args": [
{
"type": "any"
},
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
},
"infix": ":="
},
{
"name": "base64.decode",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "base64.encode",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "base64.is_valid",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "base64url.decode",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "base64url.encode",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "base64url.encode_no_pad",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "bits.and",
"decl": {
"args": [
{
"type": "number"
},
{
"type": "number"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "bits.lsh",
"decl": {
"args": [
{
"type": "number"
},
{
"type": "number"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "bits.negate",
"decl": {
"args": [
{
"type": "number"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "bits.or",
"decl": {
"args": [
{
"type": "number"
},
{
"type": "number"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "bits.rsh",
"decl": {
"args": [
{
"type": "number"
},
{
"type": "number"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "bits.xor",
"decl": {
"args": [
{
"type": "number"
},
{
"type": "number"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "cast_array",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"dynamic": {
"type": "any"
},
"type": "array"
},
"type": "function"
}
},
{
"name": "cast_boolean",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "cast_null",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"type": "null"
},
"type": "function"
}
},
{
"name": "cast_object",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"type": "object"
},
"type": "function"
}
},
{
"name": "cast_set",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"of": {
"type": "any"
},
"type": "set"
},
"type": "function"
}
},
{
"name": "cast_string",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "ceil",
"decl": {
"args": [
{
"type": "number"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "concat",
"decl": {
"args": [
{
"type": "string"
},
{
"of": [
{
"of": {
"type": "string"
},
"type": "set"
},
{
"dynamic": {
"type": "string"
},
"type": "array"
}
],
"type": "any"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "contains",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "count",
"decl": {
"args": [
{
"of": [
{
"of": {
"type": "any"
},
"type": "set"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
},
{
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"type": "object"
},
{
"type": "string"
}
],
"type": "any"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "crypto.md5",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "crypto.sha1",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "crypto.sha256",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "crypto.x509.parse_and_verify_certificates",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"static": [
{
"type": "boolean"
},
{
"dynamic": {
"dynamic": {
"key": {
"type": "string"
},
"value": {
"type": "any"
}
},
"type": "object"
},
"type": "array"
}
],
"type": "array"
},
"type": "function"
}
},
{
"name": "crypto.x509.parse_certificate_request",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"dynamic": {
"key": {
"type": "string"
},
"value": {
"type": "any"
}
},
"type": "object"
},
"type": "function"
}
},
{
"name": "crypto.x509.parse_certificates",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"dynamic": {
"dynamic": {
"key": {
"type": "string"
},
"value": {
"type": "any"
}
},
"type": "object"
},
"type": "array"
},
"type": "function"
}
},
{
"name": "div",
"decl": {
"args": [
{
"type": "number"
},
{
"type": "number"
}
],
"result": {
"type": "number"
},
"type": "function"
},
"infix": "/"
},
{
"name": "endswith",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "eq",
"decl": {
"args": [
{
"type": "any"
},
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
},
"infix": "="
},
{
"name": "equal",
"decl": {
"args": [
{
"type": "any"
},
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
},
"infix": "=="
},
{
"name": "floor",
"decl": {
"args": [
{
"type": "number"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "format_int",
"decl": {
"args": [
{
"type": "number"
},
{
"type": "number"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "glob.match",
"decl": {
"args": [
{
"type": "string"
},
{
"dynamic": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "glob.quote_meta",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "graph.reachable",
"decl": {
"args": [
{
"dynamic": {
"key": {
"type": "any"
},
"value": {
"of": [
{
"of": {
"type": "any"
},
"type": "set"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"type": "any"
}
},
"type": "object"
},
{
"of": [
{
"of": {
"type": "any"
},
"type": "set"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"type": "any"
}
],
"result": {
"of": {
"type": "any"
},
"type": "set"
},
"type": "function"
}
},
{
"name": "gt",
"decl": {
"args": [
{
"type": "any"
},
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
},
"infix": "\u003e"
},
{
"name": "gte",
"decl": {
"args": [
{
"type": "any"
},
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
},
"infix": "\u003e="
},
{
"name": "hex.decode",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "hex.encode",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "http.send",
"decl": {
"args": [
{
"dynamic": {
"key": {
"type": "string"
},
"value": {
"type": "any"
}
},
"type": "object"
}
],
"result": {
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"type": "object"
},
"type": "function"
}
},
{
"name": "indexof",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "intersection",
"decl": {
"args": [
{
"of": {
"of": {
"type": "any"
},
"type": "set"
},
"type": "set"
}
],
"result": {
"of": {
"type": "any"
},
"type": "set"
},
"type": "function"
}
},
{
"name": "io.jwt.decode",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"static": [
{
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"type": "object"
},
{
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"type": "object"
},
{
"type": "string"
}
],
"type": "array"
},
"type": "function"
}
},
{
"name": "io.jwt.decode_verify",
"decl": {
"args": [
{
"type": "string"
},
{
"dynamic": {
"key": {
"type": "string"
},
"value": {
"type": "any"
}
},
"type": "object"
}
],
"result": {
"static": [
{
"type": "boolean"
},
{
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"type": "object"
},
{
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"type": "object"
}
],
"type": "array"
},
"type": "function"
}
},
{
"name": "io.jwt.encode_sign",
"decl": {
"args": [
{
"dynamic": {
"key": {
"type": "string"
},
"value": {
"type": "any"
}
},
"type": "object"
},
{
"dynamic": {
"key": {
"type": "string"
},
"value": {
"type": "any"
}
},
"type": "object"
},
{
"dynamic": {
"key": {
"type": "string"
},
"value": {
"type": "any"
}
},
"type": "object"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "io.jwt.encode_sign_raw",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "io.jwt.verify_es256",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "io.jwt.verify_es384",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "io.jwt.verify_es512",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "io.jwt.verify_hs256",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "io.jwt.verify_hs384",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "io.jwt.verify_hs512",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "io.jwt.verify_ps256",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "io.jwt.verify_ps384",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "io.jwt.verify_ps512",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "io.jwt.verify_rs256",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "io.jwt.verify_rs384",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "io.jwt.verify_rs512",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "is_array",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "is_boolean",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "is_null",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "is_number",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "is_object",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "is_set",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "is_string",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "json.filter",
"decl": {
"args": [
{
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"type": "object"
},
{
"of": [
{
"dynamic": {
"of": [
{
"type": "string"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"type": "any"
},
"type": "array"
},
{
"of": {
"of": [
{
"type": "string"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"type": "any"
},
"type": "set"
}
],
"type": "any"
}
],
"result": {
"type": "any"
},
"type": "function"
}
},
{
"name": "json.is_valid",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "json.marshal",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "json.patch",
"decl": {
"args": [
{
"type": "any"
},
{
"dynamic": {
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"static": [
{
"key": "op",
"value": {
"type": "string"
}
},
{
"key": "path",
"value": {
"type": "any"
}
}
],
"type": "object"
},
"type": "array"
}
],
"result": {
"type": "any"
},
"type": "function"
}
},
{
"name": "json.remove",
"decl": {
"args": [
{
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"type": "object"
},
{
"of": [
{
"dynamic": {
"of": [
{
"type": "string"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"type": "any"
},
"type": "array"
},
{
"of": {
"of": [
{
"type": "string"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"type": "any"
},
"type": "set"
}
],
"type": "any"
}
],
"result": {
"type": "any"
},
"type": "function"
}
},
{
"name": "json.unmarshal",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "any"
},
"type": "function"
}
},
{
"name": "lower",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "lt",
"decl": {
"args": [
{
"type": "any"
},
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
},
"infix": "\u003c"
},
{
"name": "lte",
"decl": {
"args": [
{
"type": "any"
},
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
},
"infix": "\u003c="
},
{
"name": "max",
"decl": {
"args": [
{
"of": [
{
"of": {
"type": "any"
},
"type": "set"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"type": "any"
}
],
"result": {
"type": "any"
},
"type": "function"
}
},
{
"name": "min",
"decl": {
"args": [
{
"of": [
{
"of": {
"type": "any"
},
"type": "set"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"type": "any"
}
],
"result": {
"type": "any"
},
"type": "function"
}
},
{
"name": "minus",
"decl": {
"args": [
{
"of": [
{
"type": "number"
},
{
"of": {
"type": "any"
},
"type": "set"
}
],
"type": "any"
},
{
"of": [
{
"type": "number"
},
{
"of": {
"type": "any"
},
"type": "set"
}
],
"type": "any"
}
],
"result": {
"of": [
{
"type": "number"
},
{
"of": {
"type": "any"
},
"type": "set"
}
],
"type": "any"
},
"type": "function"
},
"infix": "-"
},
{
"name": "mul",
"decl": {
"args": [
{
"type": "number"
},
{
"type": "number"
}
],
"result": {
"type": "number"
},
"type": "function"
},
"infix": "*"
},
{
"name": "neq",
"decl": {
"args": [
{
"type": "any"
},
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
},
"infix": "!="
},
{
"name": "net.cidr_contains",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "net.cidr_contains_matches",
"decl": {
"args": [
{
"of": [
{
"type": "string"
},
{
"dynamic": {
"of": [
{
"type": "string"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"type": "any"
},
"type": "array"
},
{
"of": {
"of": [
{
"type": "string"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"type": "any"
},
"type": "set"
},
{
"dynamic": {
"key": {
"type": "string"
},
"value": {
"of": [
{
"type": "string"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"type": "any"
}
},
"type": "object"
}
],
"type": "any"
},
{
"of": [
{
"type": "string"
},
{
"dynamic": {
"of": [
{
"type": "string"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"type": "any"
},
"type": "array"
},
{
"of": {
"of": [
{
"type": "string"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"type": "any"
},
"type": "set"
},
{
"dynamic": {
"key": {
"type": "string"
},
"value": {
"of": [
{
"type": "string"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"type": "any"
}
},
"type": "object"
}
],
"type": "any"
}
],
"result": {
"of": {
"static": [
{
"type": "any"
},
{
"type": "any"
}
],
"type": "array"
},
"type": "set"
},
"type": "function"
}
},
{
"name": "net.cidr_expand",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"of": {
"type": "string"
},
"type": "set"
},
"type": "function"
}
},
{
"name": "net.cidr_intersects",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "net.cidr_merge",
"decl": {
"args": [
{
"of": [
{
"dynamic": {
"of": [
{
"type": "string"
}
],
"type": "any"
},
"type": "array"
},
{
"of": {
"type": "string"
},
"type": "set"
}
],
"type": "any"
}
],
"result": {
"of": {
"type": "string"
},
"type": "set"
},
"type": "function"
}
},
{
"name": "net.cidr_overlap",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "numbers.range",
"decl": {
"args": [
{
"type": "number"
},
{
"type": "number"
}
],
"result": {
"dynamic": {
"type": "number"
},
"type": "array"
},
"type": "function"
}
},
{
"name": "object.filter",
"decl": {
"args": [
{
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"type": "object"
},
{
"of": [
{
"dynamic": {
"type": "any"
},
"type": "array"
},
{
"of": {
"type": "any"
},
"type": "set"
},
{
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"type": "object"
}
],
"type": "any"
}
],
"result": {
"type": "any"
},
"type": "function"
}
},
{
"name": "object.get",
"decl": {
"args": [
{
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"type": "object"
},
{
"type": "any"
},
{
"type": "any"
}
],
"result": {
"type": "any"
},
"type": "function"
}
},
{
"name": "object.remove",
"decl": {
"args": [
{
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"type": "object"
},
{
"of": [
{
"dynamic": {
"type": "any"
},
"type": "array"
},
{
"of": {
"type": "any"
},
"type": "set"
},
{
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"type": "object"
}
],
"type": "any"
}
],
"result": {
"type": "any"
},
"type": "function"
}
},
{
"name": "object.union",
"decl": {
"args": [
{
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"type": "object"
},
{
"dynamic": {
"key": {
"type": "any"
},
"value": {
"type": "any"
}
},
"type": "object"
}
],
"result": {
"type": "any"
},
"type": "function"
}
},
{
"name": "opa.runtime",
"decl": {
"result": {
"dynamic": {
"key": {
"type": "string"
},
"value": {
"type": "any"
}
},
"type": "object"
},
"type": "function"
}
},
{
"name": "or",
"decl": {
"args": [
{
"of": {
"type": "any"
},
"type": "set"
},
{
"of": {
"type": "any"
},
"type": "set"
}
],
"result": {
"of": {
"type": "any"
},
"type": "set"
},
"type": "function"
},
"infix": "|"
},
{
"name": "plus",
"decl": {
"args": [
{
"type": "number"
},
{
"type": "number"
}
],
"result": {
"type": "number"
},
"type": "function"
},
"infix": "+"
},
{
"name": "product",
"decl": {
"args": [
{
"of": [
{
"of": {
"type": "number"
},
"type": "set"
},
{
"dynamic": {
"type": "number"
},
"type": "array"
}
],
"type": "any"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "rand.intn",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "number"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "re_match",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "regex.find_all_string_submatch_n",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "number"
}
],
"result": {
"dynamic": {
"dynamic": {
"type": "string"
},
"type": "array"
},
"type": "array"
},
"type": "function"
}
},
{
"name": "regex.find_n",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "number"
}
],
"result": {
"dynamic": {
"type": "string"
},
"type": "array"
},
"type": "function"
}
},
{
"name": "regex.globs_match",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "regex.is_valid",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "regex.match",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "regex.split",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"dynamic": {
"type": "string"
},
"type": "array"
},
"type": "function"
}
},
{
"name": "regex.template_match",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "rego.parse_module",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"dynamic": {
"key": {
"type": "string"
},
"value": {
"type": "any"
}
},
"type": "object"
},
"type": "function"
}
},
{
"name": "rem",
"decl": {
"args": [
{
"type": "number"
},
{
"type": "number"
}
],
"result": {
"type": "number"
},
"type": "function"
},
"infix": "%"
},
{
"name": "replace",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "round",
"decl": {
"args": [
{
"type": "number"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "semver.compare",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "semver.is_valid",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "set_diff",
"decl": {
"args": [
{
"of": {
"type": "any"
},
"type": "set"
},
{
"of": {
"type": "any"
},
"type": "set"
}
],
"result": {
"of": {
"type": "any"
},
"type": "set"
},
"type": "function"
}
},
{
"name": "sort",
"decl": {
"args": [
{
"of": [
{
"dynamic": {
"type": "any"
},
"type": "array"
},
{
"of": {
"type": "any"
},
"type": "set"
}
],
"type": "any"
}
],
"result": {
"dynamic": {
"type": "any"
},
"type": "array"
},
"type": "function"
}
},
{
"name": "split",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"dynamic": {
"type": "string"
},
"type": "array"
},
"type": "function"
}
},
{
"name": "sprintf",
"decl": {
"args": [
{
"type": "string"
},
{
"dynamic": {
"type": "any"
},
"type": "array"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "startswith",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "strings.replace_n",
"decl": {
"args": [
{
"dynamic": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "substring",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "number"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "sum",
"decl": {
"args": [
{
"of": [
{
"of": {
"type": "number"
},
"type": "set"
},
{
"dynamic": {
"type": "number"
},
"type": "array"
}
],
"type": "any"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "time.add_date",
"decl": {
"args": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "time.clock",
"decl": {
"args": [
{
"of": [
{
"type": "number"
},
{
"static": [
{
"type": "number"
},
{
"type": "string"
}
],
"type": "array"
}
],
"type": "any"
}
],
"result": {
"static": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
}
],
"type": "array"
},
"type": "function"
}
},
{
"name": "time.date",
"decl": {
"args": [
{
"of": [
{
"type": "number"
},
{
"static": [
{
"type": "number"
},
{
"type": "string"
}
],
"type": "array"
}
],
"type": "any"
}
],
"result": {
"static": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
}
],
"type": "array"
},
"type": "function"
}
},
{
"name": "time.diff",
"decl": {
"args": [
{
"of": [
{
"type": "number"
},
{
"static": [
{
"type": "number"
},
{
"type": "string"
}
],
"type": "array"
}
],
"type": "any"
},
{
"of": [
{
"type": "number"
},
{
"static": [
{
"type": "number"
},
{
"type": "string"
}
],
"type": "array"
}
],
"type": "any"
}
],
"result": {
"static": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
}
],
"type": "array"
},
"type": "function"
}
},
{
"name": "time.now_ns",
"decl": {
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "time.parse_duration_ns",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "time.parse_ns",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "time.parse_rfc3339_ns",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "time.weekday",
"decl": {
"args": [
{
"of": [
{
"type": "number"
},
{
"static": [
{
"type": "number"
},
{
"type": "string"
}
],
"type": "array"
}
],
"type": "any"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "to_number",
"decl": {
"args": [
{
"of": [
{
"type": "number"
},
{
"type": "string"
},
{
"type": "boolean"
},
{
"type": "null"
}
],
"type": "any"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "trace",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "trim",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "trim_left",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "trim_prefix",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "trim_right",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "trim_space",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "trim_suffix",
"decl": {
"args": [
{
"type": "string"
},
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "type_name",
"decl": {
"args": [
{
"of": [
{
"type": "any"
}
],
"type": "any"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "union",
"decl": {
"args": [
{
"of": {
"of": {
"type": "any"
},
"type": "set"
},
"type": "set"
}
],
"result": {
"of": {
"type": "any"
},
"type": "set"
},
"type": "function"
}
},
{
"name": "units.parse_bytes",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "number"
},
"type": "function"
}
},
{
"name": "upper",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "urlquery.decode",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "urlquery.decode_object",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"dynamic": {
"key": {
"type": "string"
},
"value": {
"dynamic": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"type": "function"
}
},
{
"name": "urlquery.encode",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "urlquery.encode_object",
"decl": {
"args": [
{
"dynamic": {
"key": {
"type": "string"
},
"value": {
"of": [
{
"type": "string"
},
{
"dynamic": {
"type": "string"
},
"type": "array"
},
{
"of": {
"type": "string"
},
"type": "set"
}
],
"type": "any"
}
},
"type": "object"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "uuid.rfc4122",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "walk",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"static": [
{
"dynamic": {
"type": "any"
},
"type": "array"
},
{
"type": "any"
}
],
"type": "array"
},
"type": "function"
},
"relation": true
},
{
"name": "yaml.is_valid",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "boolean"
},
"type": "function"
}
},
{
"name": "yaml.marshal",
"decl": {
"args": [
{
"type": "any"
}
],
"result": {
"type": "string"
},
"type": "function"
}
},
{
"name": "yaml.unmarshal",
"decl": {
"args": [
{
"type": "string"
}
],
"result": {
"type": "any"
},
"type": "function"
}
}
],
"wasm_abi_versions": [
{
"version": 1,
"minor_version": 1
},
{
"version": 1,
"minor_version": 2
}
]
}