{
  "$schema": "rulealize/registry/plugin/v1",
  "id": "Rulealize.Plugin.Deck",
  "namespace": "deck",
  "prefix": null,
  "admitted": "1.0.0",
  "latest": "1.0.0",
  "description": "Piles of cards for Rulealize rule sets: deck.of, deck.deal, deck.move, deck.count, deck.cards.",
  "repository": "https://github.com/reny-develop/Rulealize.Plugin.Deck",
  "license": "Apache-2.0",
  "specification": "https://raw.githubusercontent.com/reny-develop/Rulealize.Plugin.Deck/main/doc/specification.md",
  "forms": {
    "deck.cards": "{ \u0022op\u0022: \u0022deck.cards\u0022, \u0022of\u0022: \u003Cexpression:pile\u003E }",
    "deck.count": "{ \u0022op\u0022: \u0022deck.count\u0022, \u0022of\u0022: \u003Cexpression:pile\u003E, \u0022card\u0022: \u003Cexpression:Text\u003E }",
    "deck.draw": "{ \u0022op\u0022: \u0022deck.draw\u0022, \u0022of\u0022: \u003Cexpression:pile\u003E }",
    "deck.move": "{ \u0022op\u0022: \u0022deck.move\u0022, \u0022from\u0022: \u003Cstate field:pile\u003E, \u0022to\u0022: \u003Cstate field:pile\u003E, \u0022card\u0022: \u003Cexpression:Text\u003E, \u0022count\u0022: \u003Cexpression:Number\u003E }   // \u0060count\u0060 optional",
    "deck.of": "{ \u0022op\u0022: \u0022deck.of\u0022, \u0022cards\u0022: [\u0022\u003Ccard\u003E\u0022, …] }   // the cards are static",
    "deck.size": "{ \u0022op\u0022: \u0022deck.size\u0022, \u0022of\u0022: \u003Cexpression:pile\u003E }"
  },
  "versions": [
    {
      "version": "1.0.0",
      "abstraction": "0.4.0",
      "framework": "net10.0",
      "operations": {
        "expression": [
          "deck.cards",
          "deck.count",
          "deck.size"
        ],
        "effect": [
          "deck.move"
        ],
        "schema": [
          "deck.of"
        ],
        "draw": [
          "deck.draw"
        ]
      }
    }
  ]
}
