{
  "$schema": "rulealize/registry/plugin/v1",
  "id": "Rulealize.Plugin.Record",
  "namespace": "rec",
  "prefix": null,
  "admitted": "1.0.0",
  "latest": "1.0.1",
  "description": "Records in Rulealize state: rec.of, rec.map, and the vocabulary for reading and writing a key that is computed rather than written down.",
  "repository": "https://github.com/reny-develop/Rulealize.Plugin.Record",
  "license": "Apache-2.0",
  "specification": "https://raw.githubusercontent.com/reny-develop/Rulealize.Plugin.Record/main/doc/specification.md",
  "forms": {
    "rec.at": "{ \u0022op\u0022: \u0022rec.at\u0022, \u0022record\u0022: \u003Cexpression\u003E, \u0022key\u0022: \u003Cexpression:Text\u003E }",
    "rec.has": "{ \u0022op\u0022: \u0022rec.has\u0022, \u0022record\u0022: \u003Cexpression\u003E, \u0022key\u0022: \u003Cexpression:Text\u003E }",
    "rec.keys": "{ \u0022op\u0022: \u0022rec.keys\u0022, \u0022of\u0022: \u003Cexpression\u003E }",
    "rec.map": "{ \u0022op\u0022: \u0022rec.map\u0022, \u0022keys\u0022: [\u0022\u003Ckey\u003E\u0022, …], \u0022value\u0022: \u003Cschema\u003E }",
    "rec.of": "{ \u0022op\u0022: \u0022rec.of\u0022, \u0022fields\u0022: { \u0022\u003Ckey\u003E\u0022: \u003Cschema\u003E, … } }",
    "rec.set": "{ \u0022op\u0022: \u0022rec.set\u0022, \u0022target\u0022: \u003Cstate field\u003E, \u0022key\u0022: \u003Cexpression\u003E, \u0022value\u0022: \u003Cexpression\u003E }",
    "rec.update": "{ \u0022op\u0022: \u0022rec.update\u0022, \u0022target\u0022: \u003Cstate field\u003E, \u0022key\u0022: \u003Cexpression\u003E, \u0022as\u0022: \u0022\u003Cname\u003E\u0022, \u0022value\u0022: \u003Cexpression\u003E }",
    "rec.with": "{ \u0022op\u0022: \u0022rec.with\u0022, \u0022record\u0022: \u003Cexpression\u003E, \u0022key\u0022: \u003Cexpression\u003E, \u0022value\u0022: \u003Cexpression\u003E }"
  },
  "versions": [
    {
      "version": "1.0.0",
      "abstraction": "0.3.0",
      "framework": "net10.0",
      "operations": {
        "expression": [
          "rec.at",
          "rec.has",
          "rec.keys",
          "rec.with"
        ],
        "effect": [
          "rec.set",
          "rec.update"
        ],
        "schema": [
          "rec.map",
          "rec.of"
        ],
        "draw": []
      }
    },
    {
      "version": "1.0.1",
      "abstraction": "0.4.0",
      "framework": "net10.0",
      "operations": {
        "expression": [
          "rec.at",
          "rec.has",
          "rec.keys",
          "rec.with"
        ],
        "effect": [
          "rec.set",
          "rec.update"
        ],
        "schema": [
          "rec.map",
          "rec.of"
        ],
        "draw": []
      }
    }
  ]
}
