From 8cca7ddac05897f1d6f4b1a09bb8eb56caf1907b Mon Sep 17 00:00:00 2001 From: Philip Conrad Date: Fri, 24 Jul 2026 17:35:26 -0400 Subject: [PATCH] Release 0.0.9 Signed-off-by: Philip Conrad --- CHANGELOG.md | 19 +- capabilities/0.0.9.json | 2813 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 2830 insertions(+), 2 deletions(-) create mode 100644 capabilities/0.0.9.json diff --git a/CHANGELOG.md b/CHANGELOG.md index bbf98e95..7aa3cd1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,18 +5,33 @@ project adheres to [Semantic Versioning](http://semver.org/). ## Unreleased -### Swift Tools Version updated to 6.1 +## 0.0.9 + +This release includes small performance improvements, new `object.*` builtins, and upgrades our minimum Swift toolchain and OS versions. + +### object.filter, object.remove, object.subset (#187) + +Swift OPA now supports some new `object.*` builtins: + +- [`object.filter`](https://www.openpolicyagent.org/docs/policy-reference/builtins/object#builtin-object-objectfilter) +- [`object.remove`](https://www.openpolicyagent.org/docs/policy-reference/builtins/object#builtin-object-objectremove) +- [`object.subset`](https://www.openpolicyagent.org/docs/policy-reference/builtins/object#builtin-object-objectsubset) + +Authored by @DFrenkel + +### Swift Tools Version updated to 6.1 (#183) We have updated the [minimum Swift toolchain version](https://docs.swift.org/swiftpm/documentation/packagemanagerdocs/settingswifttoolsversion/) required to build Swift OPA from 6.0 to 6.1. This change gives the project access to [package traits](https://docs.swift.org/swiftpm/documentation/packagemanagerdocs/packagetraits/), which will allow us to separate out optional dependencies better. -### Minimum platform OS versions updated for macOS and iOS +### Minimum platform OS versions updated for macOS and iOS (#185) We have updated the minimum platform OS versions required to build Swift OPA from `.macOS(.v13)` -> `.macOS(.v15)` and `.iOS(.v16)` -> `.iOS(.v18)`. Bumping the OS versions allows us to use [`Mutex`](https://developer.apple.com/documentation/synchronization/mutex) and other newer Swift APIs. + ## 0.0.8 This release is a test for some recent release engineering changes. diff --git a/capabilities/0.0.9.json b/capabilities/0.0.9.json new file mode 100644 index 00000000..cf64a290 --- /dev/null +++ b/capabilities/0.0.9.json @@ -0,0 +1,2813 @@ +{ + "builtins" : [ + { + "decl" : { + "args" : [ + { + "type" : "number" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "abs" + }, + { + "decl" : { + "args" : [ + { + "of" : { + "type" : "any" + }, + "type" : "set" + }, + { + "of" : { + "type" : "any" + }, + "type" : "set" + } + ], + "result" : { + "of" : { + "type" : "any" + }, + "type" : "set" + }, + "type" : "function" + }, + "infix" : "&", + "name" : "and" + }, + { + "decl" : { + "args" : [ + { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + }, + { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + } + ], + "result" : { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + }, + "type" : "function" + }, + "name" : "array.concat" + }, + { + "decl" : { + "args" : [ + { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + } + ], + "result" : { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + }, + "type" : "function" + }, + "name" : "array.reverse" + }, + { + "decl" : { + "args" : [ + { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + }, + { + "type" : "number" + }, + { + "type" : "number" + } + ], + "result" : { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + }, + "type" : "function" + }, + "name" : "array.slice" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "base64.decode" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "base64.encode" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "name" : "base64.is_valid" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "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" : "number" + }, + { + "type" : "number" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "bits.and" + }, + { + "decl" : { + "args" : [ + { + "type" : "number" + }, + { + "type" : "number" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "bits.lsh" + }, + { + "decl" : { + "args" : [ + { + "type" : "number" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "bits.negate" + }, + { + "decl" : { + "args" : [ + { + "type" : "number" + }, + { + "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" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "ceil" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "of" : [ + { + "dynamic" : { + "type" : "string" + }, + "type" : "array" + }, + { + "of" : { + "type" : "string" + }, + "type" : "set" + } + ], + "type" : "any" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "concat" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "name" : "contains" + }, + { + "decl" : { + "args" : [ + { + "of" : [ + { + "type" : "string" + }, + { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + }, + { + "dynamic" : { + "key" : { + "type" : "any" + }, + "value" : { + "type" : "any" + } + }, + "type" : "object" + }, + { + "of" : { + "type" : "any" + }, + "type" : "set" + } + ], + "type" : "any" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "count" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "name" : "crypto.hmac.equal" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "crypto.hmac.md5" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "crypto.hmac.sha1" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "crypto.hmac.sha256" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "crypto.hmac.sha512" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "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" : "number" + }, + { + "type" : "number" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "infix" : "\/", + "name" : "div" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "name" : "endswith" + }, + { + "decl" : { + "args" : [ + { + "type" : "any" + }, + { + "type" : "any" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "infix" : "==", + "name" : "equal" + }, + { + "decl" : { + "args" : [ + { + "type" : "number" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "floor" + }, + { + "decl" : { + "args" : [ + { + "type" : "number" + }, + { + "type" : "number" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "format_int" + }, + { + "decl" : { + "args" : [ + { + "type" : "any" + }, + { + "type" : "any" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "infix" : ">", + "name" : "gt" + }, + { + "decl" : { + "args" : [ + { + "type" : "any" + }, + { + "type" : "any" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "infix" : ">=", + "name" : "gte" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "hex.decode" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "hex.encode" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "indexof" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "dynamic" : { + "type" : "number" + }, + "type" : "array" + }, + "type" : "function" + }, + "name" : "indexof_n" + }, + { + "decl" : { + "args" : [ + { + "type" : "any" + }, + { + "type" : "any" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "infix" : "in", + "name" : "internal.member_2" + }, + { + "decl" : { + "args" : [ + { + "type" : "any" + }, + { + "type" : "any" + }, + { + "type" : "any" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "infix" : "in", + "name" : "internal.member_3" + }, + { + "decl" : { + "args" : [ + { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "internal.template_string" + }, + { + "decl" : { + "args" : [ + { + "of" : { + "of" : { + "type" : "any" + }, + "type" : "set" + }, + "type" : "set" + } + ], + "result" : { + "of" : { + "type" : "any" + }, + "type" : "set" + }, + "type" : "function" + }, + "name" : "intersection" + }, + { + "decl" : { + "args" : [ + { + "type" : "any" + } + ], + "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" : "string" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "name" : "json.is_valid" + }, + { + "decl" : { + "args" : [ + { + "type" : "any" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "json.marshal" + }, + { + "decl" : { + "args" : [ + { + "type" : "any" + }, + { + "dynamic" : { + "key" : { + "type" : "string" + }, + "value" : { + "type" : "any" + } + }, + "static" : [ + { + "key" : "indent", + "value" : { + "type" : "string" + } + }, + { + "key" : "prefix", + "value" : { + "type" : "string" + } + }, + { + "key" : "pretty", + "value" : { + "type" : "boolean" + } + } + ], + "type" : "object" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "json.marshal_with_options" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "any" + }, + "type" : "function" + }, + "name" : "json.unmarshal" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "lower" + }, + { + "decl" : { + "args" : [ + { + "type" : "any" + }, + { + "type" : "any" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "infix" : "<", + "name" : "lt" + }, + { + "decl" : { + "args" : [ + { + "type" : "any" + }, + { + "type" : "any" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "infix" : "<=", + "name" : "lte" + }, + { + "decl" : { + "args" : [ + { + "of" : [ + { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + }, + { + "of" : { + "type" : "any" + }, + "type" : "set" + } + ], + "type" : "any" + } + ], + "result" : { + "type" : "any" + }, + "type" : "function" + }, + "name" : "max" + }, + { + "decl" : { + "args" : [ + { + "of" : [ + { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + }, + { + "of" : { + "type" : "any" + }, + "type" : "set" + } + ], + "type" : "any" + } + ], + "result" : { + "type" : "any" + }, + "type" : "function" + }, + "name" : "min" + }, + { + "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" : "minus" + }, + { + "decl" : { + "args" : [ + { + "type" : "number" + }, + { + "type" : "number" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "infix" : "*", + "name" : "mul" + }, + { + "decl" : { + "args" : [ + { + "type" : "any" + }, + { + "type" : "any" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "infix" : "!=", + "name" : "neq" + }, + { + "decl" : { + "args" : [ + { + "type" : "number" + }, + { + "type" : "number" + } + ], + "result" : { + "dynamic" : { + "type" : "number" + }, + "type" : "array" + }, + "type" : "function" + }, + "name" : "numbers.range" + }, + { + "decl" : { + "args" : [ + { + "type" : "number" + }, + { + "type" : "number" + }, + { + "type" : "number" + } + ], + "result" : { + "dynamic" : { + "type" : "number" + }, + "type" : "array" + }, + "type" : "function" + }, + "name" : "numbers.range_step" + }, + { + "decl" : { + "args" : [ + { + "dynamic" : { + "key" : { + "type" : "any" + }, + "value" : { + "type" : "any" + } + }, + "type" : "object" + }, + { + "of" : [ + { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + }, + { + "dynamic" : { + "key" : { + "type" : "any" + }, + "value" : { + "type" : "any" + } + }, + "type" : "object" + }, + { + "of" : { + "type" : "any" + }, + "type" : "set" + } + ], + "type" : "any" + } + ], + "result" : { + "type" : "any" + }, + "type" : "function" + }, + "name" : "object.filter" + }, + { + "decl" : { + "args" : [ + { + "dynamic" : { + "key" : { + "type" : "any" + }, + "value" : { + "type" : "any" + } + }, + "type" : "object" + }, + { + "type" : "any" + }, + { + "type" : "any" + } + ], + "result" : { + "type" : "any" + }, + "type" : "function" + }, + "name" : "object.get" + }, + { + "decl" : { + "args" : [ + { + "dynamic" : { + "key" : { + "type" : "any" + }, + "value" : { + "type" : "any" + } + }, + "type" : "object" + } + ], + "result" : { + "of" : { + "type" : "any" + }, + "type" : "set" + }, + "type" : "function" + }, + "name" : "object.keys" + }, + { + "decl" : { + "args" : [ + { + "dynamic" : { + "key" : { + "type" : "any" + }, + "value" : { + "type" : "any" + } + }, + "type" : "object" + }, + { + "of" : [ + { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + }, + { + "dynamic" : { + "key" : { + "type" : "any" + }, + "value" : { + "type" : "any" + } + }, + "type" : "object" + }, + { + "of" : { + "type" : "any" + }, + "type" : "set" + } + ], + "type" : "any" + } + ], + "result" : { + "type" : "any" + }, + "type" : "function" + }, + "name" : "object.remove" + }, + { + "decl" : { + "args" : [ + { + "of" : [ + { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + }, + { + "dynamic" : { + "key" : { + "type" : "any" + }, + "value" : { + "type" : "any" + } + }, + "type" : "object" + }, + { + "of" : { + "type" : "any" + }, + "type" : "set" + } + ], + "type" : "any" + }, + { + "of" : [ + { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + }, + { + "dynamic" : { + "key" : { + "type" : "any" + }, + "value" : { + "type" : "any" + } + }, + "type" : "object" + }, + { + "of" : { + "type" : "any" + }, + "type" : "set" + } + ], + "type" : "any" + } + ], + "result" : { + "type" : "any" + }, + "type" : "function" + }, + "name" : "object.subset" + }, + { + "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" : "object.union" + }, + { + "decl" : { + "args" : [ + { + "dynamic" : { + "dynamic" : { + "key" : { + "type" : "any" + }, + "value" : { + "type" : "any" + } + }, + "type" : "object" + }, + "type" : "array" + } + ], + "result" : { + "type" : "any" + }, + "type" : "function" + }, + "name" : "object.union_n" + }, + { + "decl" : { + "args" : [ + { + "of" : { + "type" : "any" + }, + "type" : "set" + }, + { + "of" : { + "type" : "any" + }, + "type" : "set" + } + ], + "result" : { + "of" : { + "type" : "any" + }, + "type" : "set" + }, + "type" : "function" + }, + "infix" : "|", + "name" : "or" + }, + { + "decl" : { + "args" : [ + { + "type" : "number" + }, + { + "type" : "number" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "infix" : "+", + "name" : "plus" + }, + { + "decl" : { + "args" : [ + { + "of" : [ + { + "dynamic" : { + "type" : "number" + }, + "type" : "array" + }, + { + "of" : { + "type" : "number" + }, + "type" : "set" + } + ], + "type" : "any" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "product" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "number" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "rand.intn", + "nondeterministic" : true + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + }, + { + "type" : "number" + } + ], + "result" : { + "dynamic" : { + "dynamic" : { + "type" : "string" + }, + "type" : "array" + }, + "type" : "array" + }, + "type" : "function" + }, + "name" : "regex.find_all_string_submatch_n" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + }, + { + "type" : "number" + } + ], + "result" : { + "dynamic" : { + "type" : "string" + }, + "type" : "array" + }, + "type" : "function" + }, + "name" : "regex.find_n" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "name" : "regex.is_valid" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "name" : "regex.match" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "regex.replace" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "dynamic" : { + "type" : "string" + }, + "type" : "array" + }, + "type" : "function" + }, + "name" : "regex.split" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + }, + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "name" : "regex.template_match" + }, + { + "decl" : { + "args" : [ + { + "type" : "number" + }, + { + "type" : "number" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "infix" : "%", + "name" : "rem" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "replace" + }, + { + "decl" : { + "args" : [ + { + "type" : "number" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "round" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "semver.compare" + }, + { + "decl" : { + "args" : [ + { + "type" : "any" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "name" : "semver.is_valid" + }, + { + "decl" : { + "args" : [ + { + "of" : [ + { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + }, + { + "of" : { + "type" : "any" + }, + "type" : "set" + } + ], + "type" : "any" + } + ], + "result" : { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + }, + "type" : "function" + }, + "name" : "sort" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "dynamic" : { + "type" : "string" + }, + "type" : "array" + }, + "type" : "function" + }, + "name" : "split" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "sprintf" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "name" : "startswith" + }, + { + "decl" : { + "args" : [ + { + "of" : [ + { + "type" : "string" + }, + { + "dynamic" : { + "type" : "string" + }, + "type" : "array" + }, + { + "of" : { + "type" : "string" + }, + "type" : "set" + } + ], + "type" : "any" + }, + { + "of" : [ + { + "type" : "string" + }, + { + "dynamic" : { + "type" : "string" + }, + "type" : "array" + }, + { + "of" : { + "type" : "string" + }, + "type" : "set" + } + ], + "type" : "any" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "name" : "strings.any_prefix_match" + }, + { + "decl" : { + "args" : [ + { + "of" : [ + { + "type" : "string" + }, + { + "dynamic" : { + "type" : "string" + }, + "type" : "array" + }, + { + "of" : { + "type" : "string" + }, + "type" : "set" + } + ], + "type" : "any" + }, + { + "of" : [ + { + "type" : "string" + }, + { + "dynamic" : { + "type" : "string" + }, + "type" : "array" + }, + { + "of" : { + "type" : "string" + }, + "type" : "set" + } + ], + "type" : "any" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "name" : "strings.any_suffix_match" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "strings.count" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "dynamic" : { + "key" : { + "type" : "string" + }, + "value" : { + "type" : "any" + } + }, + "type" : "object" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "strings.render_template" + }, + { + "decl" : { + "args" : [ + { + "dynamic" : { + "key" : { + "type" : "string" + }, + "value" : { + "type" : "string" + } + }, + "type" : "object" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "strings.replace_n" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "strings.reverse" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "number" + }, + { + "type" : "number" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "substring" + }, + { + "decl" : { + "args" : [ + { + "of" : [ + { + "dynamic" : { + "type" : "number" + }, + "type" : "array" + }, + { + "of" : { + "type" : "number" + }, + "type" : "set" + } + ], + "type" : "any" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "sum" + }, + { + "decl" : { + "args" : [ + { + "type" : "number" + }, + { + "type" : "number" + }, + { + "type" : "number" + }, + { + "type" : "number" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "time.add_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.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" + }, + { + "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.diff" + }, + { + "decl" : { + "args" : [ + { + "of" : [ + { + "type" : "number" + }, + { + "static" : [ + { + "type" : "number" + }, + { + "type" : "string" + } + ], + "type" : "array" + }, + { + "static" : [ + { + "type" : "number" + }, + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "type" : "array" + } + ], + "type" : "any" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "time.format" + }, + { + "decl" : { + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "time.now_ns", + "nondeterministic" : true + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "time.parse_duration_ns" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "time.parse_ns" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "time.parse_rfc3339_ns" + }, + { + "decl" : { + "args" : [ + { + "of" : [ + { + "type" : "number" + }, + { + "static" : [ + { + "type" : "number" + }, + { + "type" : "string" + } + ], + "type" : "array" + } + ], + "type" : "any" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "time.weekday" + }, + { + "decl" : { + "args" : [ + { + "of" : [ + { + "type" : "null" + }, + { + "type" : "boolean" + }, + { + "type" : "number" + }, + { + "type" : "string" + } + ], + "type" : "any" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "to_number" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "boolean" + }, + "type" : "function" + }, + "name" : "trace" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "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" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "trim_space" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + }, + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "trim_suffix" + }, + { + "decl" : { + "args" : [ + { + "type" : "any" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "type_name" + }, + { + "decl" : { + "args" : [ + { + "of" : { + "of" : { + "type" : "any" + }, + "type" : "set" + }, + "type" : "set" + } + ], + "result" : { + "of" : { + "type" : "any" + }, + "type" : "set" + }, + "type" : "function" + }, + "name" : "union" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "units.parse" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "number" + }, + "type" : "function" + }, + "name" : "units.parse_bytes" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "upper" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "urlquery.decode" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "dynamic" : { + "key" : { + "type" : "string" + }, + "value" : { + "dynamic" : { + "type" : "string" + }, + "type" : "array" + } + }, + "type" : "object" + }, + "type" : "function" + }, + "name" : "urlquery.decode_object" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "urlquery.encode" + }, + { + "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" : "urlquery.encode_object" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "dynamic" : { + "key" : { + "type" : "string" + }, + "value" : { + "type" : "any" + } + }, + "type" : "object" + }, + "type" : "function" + }, + "name" : "uuid.parse" + }, + { + "decl" : { + "args" : [ + { + "type" : "string" + } + ], + "result" : { + "type" : "string" + }, + "type" : "function" + }, + "name" : "uuid.rfc4122", + "nondeterministic" : true + }, + { + "decl" : { + "args" : [ + { + "type" : "any" + } + ], + "result" : { + "static" : [ + { + "dynamic" : { + "type" : "any" + }, + "type" : "array" + }, + { + "type" : "any" + } + ], + "type" : "array" + }, + "type" : "function" + }, + "name" : "walk", + "relation" : true + } + ], + "features" : [ + "keywords_in_refs", + "rego_v1", + "template_strings" + ] +}