{
  "schema_version": "4",
  "document": "project",
  "generator": "DreamWeave Mod Template 0.3.0",
  "project": {
    "id": "f8c45ec3-cbbf-4bec-9202-859088a8c0a0",
    "name": "openmw-workbench",
    "summary": "A workbench over OpenMW data on Jess: plugins, saves, models and the VFS, queried through JessQL, in Luau.",
    "type": "library",
    "status": "active",
    "versioning": "numeric",
    "game": "morrowind",
    "tags": [
      "Jess",
      "Luau",
      "OpenMW"
    ],
    "maintainers": [
      {
        "name": "DreamWeave",
        "url": "https://github.com/DreamWeave-MP"
      }
    ],
    "links": {
      "issues": "https://github.com/DreamWeave-MP/openmw-workbench/issues",
      "page": "https://dreamweave-mp.github.io/openmw-workbench/home/",
      "source": "https://github.com/DreamWeave-MP/openmw-workbench"
    },
    "integrations": {},
    "media": [],
    "credits": []
  },
  "channels": {
    "development": {
      "version": "0.7.2-dev.12"
    },
    "stable": {
      "version": "0.7.1"
    }
  },
  "releases": [
    {
      "version": "0.7.2-dev.12",
      "channel": "development",
      "date": "2026-10-24",
      "status": "available",
      "source": {
        "repository": "https://github.com/DreamWeave-MP/openmw-workbench",
        "release": "development",
        "revision": "227bab843d85d21fbd7da5def59b7f10b8ef17d3"
      },
      "runtimes": {},
      "platforms": [],
      "provides": [],
      "relationships": [],
      "components": [
        {
          "id": "main",
          "name": "openmw-workbench",
          "path": ".",
          "required": true,
          "default": true,
          "requires": [],
          "conflicts": [],
          "suggested_with": []
        }
      ],
      "groups": [],
      "extensions": {},
      "critical_extensions": [],
      "artifacts": [
        {
          "id": "jpk",
          "format": "jpk",
          "filename": "org.dreamweave.openmw-workbench-0.7.2-dev.12.jpk",
          "media_type": "application/vnd.jess.jpk",
          "size": 156615,
          "digests": {
            "sha256": "6c8aa1a7c5966ab0a9ac2915234222ff3a5bfd470006b73ec23c5ff5481017ac"
          },
          "jess": {
            "package": "org.dreamweave.openmw-workbench",
            "jess_api": "1",
            "content_digest": "3f4ef40abcbf7a4b62177043e485d00ed67723478ba02e68b3fadb84d58d0bec",
            "dependencies": {
              "org.dreamweave.esm": "0.1",
              "org.dreamweave.jessql": "0.1.4",
              "org.dreamweave.nif": "0.1",
              "org.dreamweave.tes3-saves": "0.1",
              "org.dreamweave.vfs": "2"
            }
          },
          "sources": [
            {
              "url": "https://github.com/DreamWeave-MP/openmw-workbench/releases/download/development/org.dreamweave.openmw-workbench-0.7.2-dev.12.jpk",
              "kind": "publisher"
            }
          ],
          "signatures": []
        }
      ]
    },
    {
      "version": "0.7.1",
      "channel": "stable",
      "date": "2026-10-24",
      "status": "available",
      "source": {
        "repository": "https://github.com/DreamWeave-MP/openmw-workbench",
        "tag": "openmw_workbench-0.7.1",
        "revision": "3cd3179fbdcdbb2e9a7766abfdf4a45c71f33e69"
      },
      "notes": {
        "summary": "`self.ATTACK_TYPE` and nearby's enum tables are public API, and the contract that says so is generated from OpenMW's source.",
        "added": [
          "`tools/contract.jsl` writes `src/contract.jsl` from an OpenMW source tree: the Lua API spec, the C++ that installs packages and engine handlers, the builtin manifests, and the builtin Lua. The contract had no generator; this one reproduces it, and lists as engine-internal only the members the review's own reading can meet."
        ],
        "fixed": [
          "`self.ATTACK_TYPE`, `nearby.NAVIGATOR_FLAGS`, `nearby.COLLISION_SHAPE_TYPE` and `nearby.FIND_PATH_STATUS` are members, not engine-internal: the spec declares them as types without a field attaching them, and the C++ installs each on its package by that name. A review no longer warns that using them leans on undocumented API."
        ]
      },
      "runtimes": {},
      "platforms": [],
      "provides": [],
      "relationships": [],
      "components": [
        {
          "id": "main",
          "name": "openmw-workbench",
          "path": ".",
          "required": true,
          "default": true,
          "requires": [],
          "conflicts": [],
          "suggested_with": []
        }
      ],
      "groups": [],
      "extensions": {},
      "critical_extensions": [],
      "artifacts": [
        {
          "id": "jpk",
          "format": "jpk",
          "filename": "org.dreamweave.openmw-workbench-0.7.1.jpk",
          "media_type": "application/vnd.jess.jpk",
          "size": 156608,
          "digests": {
            "sha256": "68f7ce20b3b065e4295991a4c140a4bf7357fc28c45637bffd579e0e0ed9bbf9"
          },
          "jess": {
            "package": "org.dreamweave.openmw-workbench",
            "jess_api": "1",
            "content_digest": "35b939a3430810c00f45ae03fadfeda0805ec521a976fb662fc4f3666ef6597a",
            "dependencies": {
              "org.dreamweave.esm": "0.1",
              "org.dreamweave.jessql": "0.1.4",
              "org.dreamweave.nif": "0.1",
              "org.dreamweave.tes3-saves": "0.1",
              "org.dreamweave.vfs": "2"
            }
          },
          "sources": [
            {
              "url": "https://github.com/DreamWeave-MP/openmw-workbench/releases/download/openmw_workbench-0.7.1/org.dreamweave.openmw-workbench-0.7.1.jpk",
              "kind": "publisher"
            }
          ],
          "signatures": []
        }
      ]
    },
    {
      "version": "0.7.0",
      "channel": "stable",
      "date": "2026-10-23",
      "status": "available",
      "source": {
        "repository": "https://github.com/DreamWeave-MP/openmw-workbench",
        "tag": "openmw_workbench-0.7.0",
        "revision": "023dae9732c50a4ed9bd573f6d385b0b54129ce6"
      },
      "notes": {
        "summary": "The workbench has a command: `openmw-workbench [folder...]` reviews an OpenMW Lua mod's scripts.",
        "added": [
          "The `openmw-workbench` command: a review of the Lua mod in each folder, the working directory when none is named, as text or JSON, with `--profile` and `--content`. It exits 1 when the review found an error, so CI can stop on one.",
          "`@openmw-install/workbench/commands`: the same review as a typed request and a typed result."
        ]
      },
      "runtimes": {},
      "platforms": [],
      "provides": [],
      "relationships": [],
      "components": [
        {
          "id": "main",
          "name": "openmw-workbench",
          "path": ".",
          "required": true,
          "default": true,
          "requires": [],
          "conflicts": [],
          "suggested_with": []
        }
      ],
      "groups": [],
      "extensions": {},
      "critical_extensions": [],
      "artifacts": [
        {
          "id": "jpk",
          "format": "jpk",
          "filename": "org.dreamweave.openmw-workbench-0.7.0.jpk",
          "media_type": "application/vnd.jess.jpk",
          "size": 156642,
          "digests": {
            "sha256": "8c5ff0c3f1c4d2be096c0c3d307d58f29bf665b39896471c846929ad8cceb23e"
          },
          "jess": {
            "package": "org.dreamweave.openmw-workbench",
            "jess_api": "1",
            "content_digest": "de511283e7e9309964dbeb4184a61655f80951ca30f48a22bb60308dfd9190c8",
            "dependencies": {
              "org.dreamweave.esm": "0.1",
              "org.dreamweave.jessql": "0.1.4",
              "org.dreamweave.nif": "0.1",
              "org.dreamweave.tes3-saves": "0.1",
              "org.dreamweave.vfs": "2"
            }
          },
          "sources": [
            {
              "url": "https://github.com/DreamWeave-MP/openmw-workbench/releases/download/openmw_workbench-0.7.0/org.dreamweave.openmw-workbench-0.7.0.jpk",
              "kind": "publisher"
            }
          ],
          "signatures": []
        }
      ]
    },
    {
      "version": "0.6.0",
      "channel": "stable",
      "date": "2026-10-21",
      "status": "available",
      "source": {
        "repository": "https://github.com/DreamWeave-MP/openmw-workbench",
        "tag": "openmw_workbench-0.6.0",
        "revision": "62c74f71736288624a3a0afd3465a4782d4ea3f9"
      },
      "notes": {
        "summary": "First release published as a DreamWeave project."
      },
      "runtimes": {},
      "platforms": [],
      "provides": [],
      "relationships": [],
      "components": [
        {
          "id": "main",
          "name": "openmw-workbench",
          "path": ".",
          "required": true,
          "default": true,
          "requires": [],
          "conflicts": [],
          "suggested_with": []
        }
      ],
      "groups": [],
      "extensions": {},
      "critical_extensions": [],
      "artifacts": [
        {
          "id": "jpk",
          "format": "jpk",
          "filename": "org.dreamweave.openmw-workbench-0.6.0.jpk",
          "media_type": "application/vnd.jess.jpk",
          "size": 150918,
          "digests": {
            "sha256": "5fd7d4807a9c2909b915450168d875a63db04ee2de0cdcb9b451ed461cd04c4a"
          },
          "jess": {
            "package": "org.dreamweave.openmw-workbench",
            "jess_api": "1",
            "content_digest": "4486f62658148af44d65d8fd8250f0ee9e6b0fb0035265900c25276fbaa650a8",
            "dependencies": {
              "org.dreamweave.esm": "0.1",
              "org.dreamweave.jessql": "0.1.4",
              "org.dreamweave.nif": "0.1",
              "org.dreamweave.tes3-saves": "0.1",
              "org.dreamweave.vfs": "2"
            }
          },
          "sources": [
            {
              "url": "https://github.com/DreamWeave-MP/openmw-workbench/releases/download/openmw_workbench-0.6.0/org.dreamweave.openmw-workbench-0.6.0.jpk",
              "kind": "publisher"
            }
          ],
          "signatures": []
        }
      ]
    }
  ]
}
