@rpgm-tools/neo-angband-mod-sdk 1.8.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -19,6 +19,36 @@ itself does not have one. This package is that pipeline, with no engine attached
19
19
  so a mod's build script or test can validate a manifest, resolve a load order or
20
20
  compose records without pulling in a game.
21
21
 
22
+ ## Tools
23
+
24
+ Two command-line tools ship in this package. They are the validate and bundle
25
+ halves of authoring, living next to the schema they enforce. There is no
26
+ separate `neo-pack` CLI.
27
+
28
+ ### `neo-angband-mod-check`
29
+
30
+ Runs the same rules the game enforces at install against a folder:
31
+
32
+ ```
33
+ npx neo-angband-mod-check path/to/your-mod
34
+ ```
35
+
36
+ That includes the manifest schema, the capability grammar (`parseCapability` /
37
+ `CapabilitySet.fromManifest`), the engine range, and the file-list rules a
38
+ schema cannot see (a `plugin.js` with no `modApi`, a committed zip that is not
39
+ declared in `payload.archives`). Exit 0 means the game will accept the mod.
40
+
41
+ ### `neo-angband-mod-build`
42
+
43
+ Compiles a mod's TypeScript into the `plugin.js` its folder distributes, and
44
+ enforces the plugin ABI while doing it: no bare imports, one bundled file, a
45
+ default export that looks like a `ModPlugin`. `--check` verifies a committed
46
+ `plugin.js` is current without writing.
47
+
48
+ Scaffolding a new mod repository (CI, license files, GitHub workflows) is not
49
+ a package concern and is not provided here. A new mod is a folder with a
50
+ `manifest.json`; the check is what says whether that folder will install.
51
+
22
52
  ## Exports
23
53
 
24
54
  | Area | Exports |
@@ -10,6 +10,8 @@
10
10
  * got it right when somebody else's install fails. This runs the SAME rules the game
11
11
  * runs at install time - literally the same functions, imported from the SDK - so a
12
12
  * green run here means the game will accept the mod, and a red one names the field.
13
+ * Capability strings go through CapabilitySet.fromManifest, the same function the
14
+ * loader calls, so a typo that used to pass here and fail at load cannot.
13
15
  *
14
16
  * ARCHIVES. If the folder holds committed .zip files, they are read as the payload
15
17
  * the way the installer reads them, so the "does this mod ship plugin.js" questions
@@ -257,8 +257,10 @@ export declare const DEFAULT_PACK_GROUP = "content";
257
257
  * runtime grants only what a `shape: plugin` pack declares and the user
258
258
  * approves; content and tile packs request none. The vocabulary
259
259
  * ("command:add", "event:turn-start", "state:*.read", "network:<host>", ...)
260
- * is enforced by the capability model (P7 phase 5); the manifest only records
261
- * the request, so any string is accepted here.
260
+ * is enforced by parseCapability / CapabilitySet.fromManifest in
261
+ * capabilities.ts. The manifest records the request as strings; checkMod
262
+ * runs that same function, so an unrecognized capability is a check
263
+ * failure rather than a silent accept.
262
264
  */
263
265
  export type Capability = string;
264
266
  /** How code declared by a plugin-facet pack is executed. */
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AASnD,0EAA0E;AAC1E,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,UAAU,CACxB,QAAgD;IAEhD,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,QAAQ,CACtB,QAAgD,EAChD,KAAgB;IAEhB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAuID,iEAAiE;AACjE,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,OAAO;IACP,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;CACP,CAAC;AA4BF,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,aAAa;IACb,eAAe;IACf,WAAW;IACX,SAAS;CACV,CAAC;AAgCF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,WAAW,EAAE,iCAAiC;IAC9C,UAAU,EAAE,iCAAiC;IAC7C,SAAS,EAAE,8BAA8B;IACzC,UAAU,EAAE,2BAA2B;IACvC,QAAQ,EAAE,wCAAwC;IAClD,WAAW,EAAE,wBAAwB;IACrC,UAAU,EAAE,uBAAuB;IACnC,MAAM,EAAE,gDAAgD;CACzD,CAAC;AAEF,qDAAqD;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAkS5C,MAAM,KAAK,GAAG,mBAAmB,CAAC;AAClC,MAAM,UAAU,GAAG,qCAAqC,CAAC;AAEzD,MAAM,OAAO,aAAc,SAAQ,KAAK;CAAG;AAE3C,+DAA+D;AAC/D,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,aAAa,CAAC,4BAA4B,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,aAAa,CACrB,6CAA6C,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAC/D,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,aAAa,CACrB,YAAY,CAAC,CAAC,IAAI,CAAC,iCAAiC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAC3E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAc,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,aAAa,CACrB,YAAY,CAAC,CAAC,IAAI,CAAC,0BAA0B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtE,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAW,CAAC;IAC7B,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAc,CAAC,CAAC;IACzD,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;IACtD,cAAc,CAAC,CAAC,CAAC,sBAAsB,CAAC,EAAE,EAAE,EAAE,sBAAsB,CAAC,CAAC;IACtE,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;IAChD,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,6CAA6C,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,cAAc,CAAC,KAAK,SAAS,EAAE,CAAC;QACpC,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACjC,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EACpD,CAAC;YACD,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,gCAAgC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,2BAA2B,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAc,EAAE,CAAC;YAC3C,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClE,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,gCAAgC,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,CAAC,GAAG,GAA8B,CAAC;YACzC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;YACvB;;;4EAGgE;YAChE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClE,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,sDAAsD;oBAClE,qCAAqC,EAAE,WAAW,CACrD,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,YAAY,IAAI,kBAAkB,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YACzB,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACrB,KAAK,CAAC,MAAM,KAAK,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,EACpD,CAAC;gBACD,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,YAAY,IAAI,sCAAsC;oBAClE,iDAAiD,CACpD,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;YACvB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAiB,CAAC,EAAE,CAAC;gBACnE,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,YAAY,IAAI,eAAe,MAAM,CAAC,IAAI,CAAC,KAAK;oBAC5D,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9C,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAU,EAAE,CAAC;gBAC7C,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACvD,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,YAAY,IAAI,KAAK,GAAG,mBAAmB,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QACtB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,kEAAkE,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7F,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,4CAA4C,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;QAC/B,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YACrB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YACpB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,EAC7E,CAAC;YACD,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,sDAAsD,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,sCAAsC,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,iCAAiC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,sCAAsC,CAAC,CAAC;IAChF,CAAC;IACD,IACE,CAAC,CAAC,kBAAkB,CAAC,KAAK,SAAS;QACnC,OAAO,CAAC,CAAC,kBAAkB,CAAC,KAAK,SAAS,EAC1C,CAAC;QACD,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,sCAAsC,CAAC,CAAC;IAChF,CAAC;IACD,IACE,CAAC,CAAC,iBAAiB,CAAC,KAAK,SAAS;QAClC,OAAO,CAAC,CAAC,iBAAiB,CAAC,KAAK,SAAS,EACzC,CAAC;QACD,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,qCAAqC,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,wBAAwB,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IAClE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9B,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IAC5C,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI;QAChB,QAAQ;QACR,YAAY;QACZ,WAAW;QACX,aAAa;QACb,QAAQ;QACR,SAAS;KACD,EAAE,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,KAAK,GAAG,mBAAmB,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IACD,OAAO,CAA4B,CAAC;AACtC,CAAC;AAED,2EAA2E;AAC3E,SAAS,cAAc,CAAC,IAAa,EAAE,EAAU,EAAE,KAAa;IAC9D,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,KAAK,KAAK,gBAAgB,CAAC,CAAC;IACpE,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,SAAS,KAAK,OAAO,GAAG,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,KAAK,KAAK,IAAI,GAAG,8BAA8B,CAC9D,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,KAAc,EAAE,EAAU;IAC/C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,+BAA+B,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,CAAC,GAAG,KAAgC,CAAC;QAC3C,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,wCAAwC,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACpB,IAAI,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAC/B,KAAc,EACd,EAAU,EACV,SAA8B;IAE9B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,kCAAkC,CAAC,CAAC;IAC5E,CAAC;IACD,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,+CAA+C,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YAClD,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,sBAAsB,OAAO,0CAA0C,CACtF,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,sBAAsB,OAAO,iCAAiC,CAC7E,CAAC;QACJ,CAAC;QACD,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,sBAAsB,OAAO,sCAAsC,CAClF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,sBAAsB,OAAO,YAAY,OAAO,gCAAgC,CAC/F,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CACvB,KAAc,EACd,EAAU,EACV,SAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,6BAA6B,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,SAAS,CAAC,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,kCAAkC,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,CAAC,GAAG,KAAgC,CAAC;QAC3C,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,kDAAkD,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAClF,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,0BAA0B,GAAG,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,IAAI,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,aAAa,GAAG,mCAAmC,CAClE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3E,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,aAAa,GAAG,+BAA+B,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;YACpE,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,aAAa,GAAG,4BAA4B,CAAC,CAAC;QACtF,CAAC;QACD,IACE,CAAC,CAAC,UAAU,CAAC,KAAK,SAAS;YAC3B,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAgB,CAAC,EACrD,CAAC;YACD,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,aAAa,GAAG,4BAA4B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CACnH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACzF,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,aAAa,GAAG,kCAAkC,CACjE,CAAC;QACJ,CAAC;QACD,2BAA2B,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAI,CAAC,CAAC,MAAM,CAAwB,IAAI,GAAG,CAAC;QACtD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB;sFAC0E;YAC1E,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACjE,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,aAAa,GAAG,qBAAqB,IAAI,WAAW,KAAK,mBAAmB,CAC3F,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAS,2BAA2B,CAAC,KAAc,EAAE,EAAU,EAAE,SAAiB;IAChF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,aAAa,SAAS,uCAAuC,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,aAAa,SAAS,wDAAwD,CAC7F,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,aAAa,SAAS,gCAAgC,OAAO,EAAE,CAC9E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,SAAS,aAAa,CAAC,KAAc,EAAE,EAAU;IAC/C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D;;;yEAGiE;QACjE,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,0BAA0B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CACvF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,SAAS,cAAc,CAAC,KAAc,EAAE,EAAU,EAAE,UAA+B;IACjF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,2BAA2B,CAAC,CAAC;IACrE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,uCAAuC,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,CAAC,GAAG,KAAgC,CAAC;QAC3C,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,0CAA0C,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAC5E,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,sCAAsC,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAgB,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,iBAAiB,KAAK,yBAAyB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CACnH,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,iBAAiB,KAAK,kDAAkD,CACvF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/D,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,iBAAiB,KAAK,yBAAyB,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC7B;;qFAEqE;gBACrE,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,iBAAiB,KAAK,2FAA2F,CAChI,CAAC;YACJ,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,iBAAiB,KAAK,oDAAoD,CACzF,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,KAAiB,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,iBAAiB,KAAK,YAAY,CAAC,6CAA6C,CAC/F,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,qDAAqD;AACrD,MAAM,YAAY,GAAsB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAElE;;;;;;;;;GASG;AACH;;;;;;;;;;;;GAYG;AACH,SAAS,eAAe,CAAC,KAAc,EAAE,EAAU;IACjD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,6BAA6B,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAU,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,aAAa,GAAG,mBAAmB,CAAC,CAAC;QAC7E,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBAC9C,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,aAAa,GAAG,oCAAoC,CACnE,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,0DAA0D;YACtE,oCAAoC,CACvC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,EAAU;IACnD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,8BAA8B,CAAC,CAAC;IACxE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,0CAA0C,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,CAAC,GAAG,KAAgC,CAAC;QAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,0DAA0D,MAAM,CAAC,IAAI,CAAC,EAAE,CACvF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAW,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,qCAAqC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CACzG,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrE,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,uCAAuC,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;YACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,mCAAmC,CAAC,CAAC;YAC7E,CAAC;YACD,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrE,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,qBAAqB,IAAI,mEAAmE,CAC3G,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,qBAAqB,IAAI,mCAAmC,CAC3E,CAAC;YACJ,CAAC;QACH,CAAC;QACD,yBAAyB,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,SAAS,yBAAyB,CAAC,KAAc,EAAE,EAAU;IAC3D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,yCAAyC,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,CAAU,EAAE,CAAC;QACjF,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;YAC1D,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,yBAAyB,GAAG,6BAA6B,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC;QAC3J,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,uEAAuE,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACrH,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,6DAA6D,CAAC,CAAC;IACvG,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,CAAU,EAAE,CAAC;QACrF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YACpG,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAI,MAAM,CAAC,WAAW,CAAe,CAAC,EAAE,CAAC;QAC5E,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxI,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,4DAA4D,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CAAC,KAAc,EAAE,EAAU;IACnD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,8BAA8B,CAAC,CAAC;IACxE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,IAAI;YAAE,MAAM,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,SAAS,cAAc,CAAC,KAAc,EAAE,EAAU,EAAE,KAAa;IAC/D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,KAAK,KAAK,mBAAmB,CAAC,CAAC;IACvE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,SAAS,KAAK,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,KAAc,EAAE,EAAU,EAAE,KAAgB;IAClE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,yCAAyC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAkB,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,0BAA0B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CACvF,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,YAAY,KAAK,mBAAmB,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,aAAa,CACrB,YAAY,EAAE,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,4BAA4B,KAAK,GAAG,CACpF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,OAAO,CAAC,MAAc,EAAE,IAAY;IAClD,OAAO,GAAG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
@@ -15,10 +15,13 @@
15
15
  * cannot describe a rule that is not enforced or omit one that is.
16
16
  *
17
17
  * WHAT IT DOES NOT DUPLICATE. Everything validateManifest already decides is
18
- * delegated to validateManifest. This module adds only the rules that need to see
19
- * something the manifest validator cannot: the FILE LIST. That is not a small
20
- * addition - two of the rules below are defects this project actually shipped, both
21
- * invisible to a validator with no files to look at:
18
+ * delegated to validateManifest. Capability grammar is the same: this module
19
+ * calls CapabilitySet.fromManifest rather than restating parseCapability's
20
+ * patterns. What it adds is the rules that need to see something those two
21
+ * cannot: the FILE LIST, and the join between a validated manifest and the
22
+ * capability model (validateManifest cannot import capabilities.ts without a
23
+ * cycle). Two of the file-list rules below are defects this project actually
24
+ * shipped, both invisible to a validator with no files to look at:
22
25
  *
23
26
  * - `modApi` is documented as REQUIRED of any pack shipping plugin.js, and nothing
24
27
  * enforced it, because validateManifest never sees whether plugin.js is there.
@@ -1 +1 @@
1
- {"version":3,"file":"standards.d.ts","sourceRoot":"","sources":["../src/standards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAKH,uDAAuD;AACvD,eAAO,MAAM,WAAW,cAAc,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuB5D;AAED,wFAAwF;AACxF,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,aAAa,CAAC;AAE1D,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;CAC1G;AAED,MAAM,WAAW,WAAW;IAC1B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;CACtB;AAkBD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,WAAW,EA0QlD,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,CAoBvD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAmC7C"}
1
+ {"version":3,"file":"standards.d.ts","sourceRoot":"","sources":["../src/standards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAMH,uDAAuD;AACvD,eAAO,MAAM,WAAW,cAAc,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuB5D;AAED,wFAAwF;AACxF,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,aAAa,CAAC;AAE1D,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;CAC1G;AAED,MAAM,WAAW,WAAW;IAC1B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;CACtB;AAkBD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,WAAW,EA0SlD,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,CAoBvD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAmC7C"}
package/dist/standards.js CHANGED
@@ -15,10 +15,13 @@
15
15
  * cannot describe a rule that is not enforced or omit one that is.
16
16
  *
17
17
  * WHAT IT DOES NOT DUPLICATE. Everything validateManifest already decides is
18
- * delegated to validateManifest. This module adds only the rules that need to see
19
- * something the manifest validator cannot: the FILE LIST. That is not a small
20
- * addition - two of the rules below are defects this project actually shipped, both
21
- * invisible to a validator with no files to look at:
18
+ * delegated to validateManifest. Capability grammar is the same: this module
19
+ * calls CapabilitySet.fromManifest rather than restating parseCapability's
20
+ * patterns. What it adds is the rules that need to see something those two
21
+ * cannot: the FILE LIST, and the join between a validated manifest and the
22
+ * capability model (validateManifest cannot import capabilities.ts without a
23
+ * cycle). Two of the file-list rules below are defects this project actually
24
+ * shipped, both invisible to a validator with no files to look at:
22
25
  *
23
26
  * - `modApi` is documented as REQUIRED of any pack shipping plugin.js, and nothing
24
27
  * enforced it, because validateManifest never sees whether plugin.js is there.
@@ -31,8 +34,9 @@
31
34
  * "warning" tier that sometimes blocks is how a check becomes something authors
32
35
  * learn to ignore.
33
36
  */
34
- import { compareSemver, satisfies } from "./semver.js";
37
+ import { CapabilitySet } from "./capabilities.js";
35
38
  import { ManifestError, hasFacet, validateManifest } from "./manifest.js";
39
+ import { compareSemver, satisfies } from "./semver.js";
36
40
  /** The file a mod's code lives in, when it has any. */
37
41
  export const PLUGIN_FILE = "plugin.js";
38
42
  /**
@@ -250,6 +254,40 @@ export const MOD_REQUIREMENTS = [
250
254
  }
251
255
  },
252
256
  },
257
+ {
258
+ id: "capabilities-recognized",
259
+ level: "required",
260
+ title: "Request only capabilities the game knows",
261
+ why: "A capability string is the consent surface a player reads and the gate the " +
262
+ "runtime actually opens. An unrecognized string, or a capability on a pack " +
263
+ "that cannot execute, is refused when the game loads the plugin - after the " +
264
+ "player has already installed it. This check is CapabilitySet.fromManifest, " +
265
+ "the same function the loader calls, so a typo that used to pass here and " +
266
+ "fail there cannot.",
267
+ check: (mod) => {
268
+ const m = manifestObject(mod);
269
+ if (m === null)
270
+ return null;
271
+ let manifest;
272
+ try {
273
+ /* validateManifest first, so this rule never re-describes the schema. A
274
+ * malformed capabilities field (not an array of strings) belongs to
275
+ * manifest-fields; this rule only speaks once there is a PackManifest
276
+ * to hand to the capability model. */
277
+ manifest = validateManifest(m);
278
+ }
279
+ catch {
280
+ return null;
281
+ }
282
+ try {
283
+ CapabilitySet.fromManifest(manifest);
284
+ return null;
285
+ }
286
+ catch (e) {
287
+ return e instanceof Error ? e.message : String(e);
288
+ }
289
+ },
290
+ },
253
291
  {
254
292
  id: "plugin-declares-modapi",
255
293
  level: "required",
@@ -1 +1 @@
1
- {"version":3,"file":"standards.js","sourceRoot":"","sources":["../src/standards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standards.js","sourceRoot":"","sources":["../src/standards.ts"],"names":[],"mappings":"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"}
package/docs/AUTHORING.md CHANGED
@@ -639,14 +639,16 @@ without retaining live game state.
639
639
 
640
640
  Input follows the same staged rule. `UiInput` is available to host code through
641
641
  the one input door and can represent a continuous direction (vector, magnitude,
642
- angle) without translating it to a keyboard arrow. A front-end member DOES
643
- exist - `ModPlugin.frontend?(ctx)`, gated by `display:replace`, and pointer input
644
- arrives per region through `RegionDeclaration.input` - so what is still absent is
645
- narrower than "no seam": there is no plugin member for rebinding KEYS, and
646
- `input-door.ts` is host infrastructure rather than a capability. Do not build on
647
- key rebinding until it has one. Player keymaps keep precedence over any later
648
- input consumer while the root owns input; an active modal, score screen, or run
649
- interruption continues to receive the player's literal key first.
642
+ angle) without translating it to a keyboard arrow. A plugin declaring
643
+ `keymap:write` receives `ctx.keymaps` during a live game: `bind(trigger, action)`
644
+ claims a free keyboard trigger, `entries()` lists only that mod's claims, and
645
+ `rebind()` and `remove()` operate only on those claims. It cannot inspect,
646
+ replace, or remove player bindings or another mod's bindings. A player edit takes
647
+ ownership back, and host teardown removes bindings still owned by a mod before it
648
+ is disabled or reloaded. `input-door.ts` remains host infrastructure rather than
649
+ a capability. Player keymaps keep precedence over any later input consumer while
650
+ the root owns input; an active modal, score screen, or run interruption continues
651
+ to receive the player's literal key first.
650
652
 
651
653
  ## Knowing which mod a record came from
652
654
 
@@ -7,11 +7,13 @@ The short answer, and the target the rest of this document explains:
7
7
 
8
8
  > A mod that is pure data should survive engine releases without being
9
9
  > republished. A mod that ships code should survive patch and minor releases,
10
- > and get a release's warning before an ABI change strands it.
10
+ > and get a release's warning before an ABI change strands it. That ABI includes
11
+ > a named subset of `ctx.core`; the rest of that namespace is an escape hatch.
11
12
 
12
13
  Written down on 2026-08-02, after measuring how the four gates actually behaved.
13
14
  Three of the four were stricter than they needed to be, and the fourth did not
14
- exist.
15
+ exist. The fourth is `ctx.core`. A named subset of that namespace is part of the
16
+ promise; the rest of it is an escape hatch.
15
17
 
16
18
  ## The four things that can strand a mod
17
19
 
@@ -20,7 +22,7 @@ exist.
20
22
  | 1 | `engine` | a semver range over `ENGINE_VERSION` | **warns** for data, **refuses** code |
21
23
  | 2 | `modApi` | the plugin ABI, an integer | refuses outside the accepted window |
22
24
  | 3 | a patch target | one `patches` / `fieldPatches` / `removes` ref | **skips that op**, keeps the mod |
23
- | 4 | `ctx.core` | any of the engine's ~1950 exports | nothing. See below. |
25
+ | 4 | `ctx.core` | a guaranteed name disappearing; any other export a plugin actually calls | the loader still does nothing at load time; a guaranteed name cannot be removed from the engine without an alias or a two-release ABI bump. See below. |
24
26
 
25
27
  ### 1. `engine` is a label on data and a gate on code
26
28
 
@@ -231,10 +233,10 @@ instead of `values`, say) took down the whole pack, or every installed mod when
231
233
  the raw error named none of them; it is now refused the same way a missing
232
234
  patch target already was.
233
235
 
234
- ### 4. The handed-in namespaces are not covered by any of the above, and that is the honest gap
236
+ ### 4. `ctx.core` is handed over whole; a named subset of it is guaranteed
235
237
 
236
238
  `ModPluginContext.core` is the **live core module namespace** - the whole engine,
237
- around 1,950 runtime exports, deliberately not a curated slice (decision 18, and
239
+ 1,974 runtime exports, deliberately not a curated slice (decision 18, and
238
240
  because a curated list is the thing that drifts). The count is not maintained by
239
241
  hand: `packages/core/mod-api-surface.json` is the recorded surface and
240
242
  `mod-core-surface.test.ts` fails in BOTH directions against it, so a removal and
@@ -247,12 +249,60 @@ A core function can be renamed without touching any of that, so the one number a
247
249
  mod author checks says nothing about the surface they spend all their time
248
250
  calling.
249
251
 
250
- What exists now is not a fence but a **ratchet**:
252
+ That width is why the whole namespace cannot carry the compatibility promise: a
253
+ ban on removing any of 1,974 names would freeze the port. First-party plugins
254
+ call 23 of those names at runtime, and those 23 are the part of `ctx.core` the
255
+ promise covers.
256
+
257
+ | Export | `typeof` | Called by |
258
+ |---|---|---|
259
+ | `DDGRID` | object | feature-restoration |
260
+ | `FEAT` | object | bug-fixes, borg |
261
+ | `MON_RACE_FLAG_ENTRIES` | object | borg |
262
+ | `MON_SPELL_ENTRIES` | object | borg |
263
+ | `OptionState` | function | qol |
264
+ | `REST_COMPLETE` | number | borg |
265
+ | `RSF` | object | borg |
266
+ | `Rng` | function | borg |
267
+ | `TV` | object | borg |
268
+ | `describeLookGrid` | function | qol |
269
+ | `gearObjectForUse` | function | feature-restoration |
270
+ | `knownPile` | function | qol |
271
+ | `loc` | function | bug-fixes |
272
+ | `movementTunnelTest` | function | qol |
273
+ | `parseTilePrefs` | function | upstream-catchup |
274
+ | `placeStairs` | function | bug-fixes |
275
+ | `playerConfuseDir` | function | feature-restoration |
276
+ | `setPrefErrorPolicy` | function | qol |
277
+ | `squareIsEmpty` | function | bug-fixes |
278
+ | `squareIsNoStairs` | function | bug-fixes |
279
+ | `squareIsVisibleTrap` | function | qol |
280
+ | `squareNumWallsAdjacent` | function | bug-fixes |
281
+ | `tunnelAux` | function | qol |
282
+
283
+ qol 7, bug-fixes 6, borg 7, feature-restoration 3, upstream-catchup 1. linoleum
284
+ and forge call none: linoleum reaches the game through `host.tiles` and
285
+ `ctx.registries`; forge holds `ctx.core` and does not read a name from it.
286
+
287
+ `packages/core/mod-core-guaranteed.json` is the list, and
288
+ `mod-core-guaranteed.test.ts` fails if any of those names is missing from the
289
+ live namespace a plugin receives, or if its `typeof` has changed. Removing one
290
+ is a compatibility break: keep the old name as an alias, or take the two-release
291
+ `modApi` path. Updating `mod-api-surface.json` is not enough.
292
+
293
+ **Everything else on `ctx.core` is the escape hatch.** A plugin may call it. A
294
+ rename or removal of an unguaranteed name is recorded in the table below and can
295
+ ship in the same release. Prefer a seam (`ModHooks`, `ctx.registries`, a
296
+ capability-gated facade) when one exists. Reaching past those into an
297
+ unguaranteed name is coupling to that engine release.
298
+
299
+ What exists for the rest of the namespace is not a fence but a **ratchet**:
251
300
  `packages/core/mod-api-surface.json` records every runtime export, and
252
301
  `mod-core-surface.test.ts` fails when the set changes in either direction.
253
302
 
254
- - A **removal or rename** fails CI with the names, and the fix is either to keep
255
- the old name as an alias or to record the break here and take it knowingly.
303
+ - A **removal or rename** of an unguaranteed name fails CI with the names, and
304
+ the fix is either to keep the old name as an alias or to record the break here
305
+ and take it knowingly. A guaranteed name cannot take that second path.
256
306
  - An **addition** also fails, with a one-line fix
257
307
  (`node tools/api-surface.mjs --update`). That is not pedantry: a baseline that
258
308
  tolerated additions would go stale, an export added in one release and removed
@@ -262,9 +312,10 @@ What exists now is not a fence but a **ratchet**:
262
312
  #### There are two such namespaces now, watched the same way
263
313
 
264
314
  `ctx.authoring` is the mod SDK's public barrel, 94 runtime exports, handed over
265
- whole on exactly the terms `ctx.core` is and for exactly the same reason: a
266
- curated subset of an authoring API is a second list to maintain, and the first
267
- thing that happens to a curated list is that it lags the function somebody needs.
315
+ whole for the same reason `ctx.core` is: a curated subset of an authoring API is
316
+ a second list to maintain, and the first thing that happens to a curated list is
317
+ that it lags the function somebody needs. It is ratchet-only. It is not part of
318
+ the named `ctx.core` subset above.
268
319
 
269
320
  Until it was handed to a plugin, a rename inside the SDK was caught by `tsc -b`
270
321
  over this repository, because every consumer of it was in the repository. That
@@ -294,6 +345,7 @@ here for discoverability rather than as a warning.
294
345
  | unreleased (2026-08-22) | `ctx.reloadGame` | The game's own mod-change reload, so a mod that installed something can apply it: every plugin's `uninstall()` runs, the autoplayer hands the keyboard back, the live character is written down, and the session resumes that character instead of landing on the title screen. Behind `mod:install` rather than a capability of its own, because content composes at load and an install a mod cannot follow with a reload leaves the player holding something the process will never load. Not a permission to reload - a plugin reaches `location` with no grant - it is the four steps a mod cannot take for itself. |
295
346
  | unreleased (2026-08-22) | `ctx.installMod(...).lines` | A field on both arms of the existing install outcome: the wording the Mods screen itself prints for that same outcome, including one row per unmet requirement and the author's advice under them. Added because a mod built in the game must fail a requirement in the same words a downloaded mod fails in; `problem` is unchanged and remains one whole sentence. |
296
347
  | unreleased (2026-09-01) | `ModRegistryHost.menus.addAction` | A capability-gated additive companion to `menus.register`: a plugin declaring `registry:menu` can add one labelled, namespaced callback row to `core:game-menu`. Existing menu transformers keep their behaviour, and an existing plugin neither calls nor observes the new method, so this is a backward-compatible API addition and does not move `MOD_API_VERSION`. |
348
+ | unreleased (2026-09-05) | `ctx.keymaps.entries`, `.rebind`, and `.remove` | The existing `keymap:write` facade now records an owner for each binding it creates. A mod can enumerate, replace, and remove only its own bindings in the active keyset; it cannot learn, overwrite, or remove player bindings or another mod's. Player keymap edits clear a claim, and the mod-change teardown removes claims that remain, so a disabled mod has no surviving keyboard binding. Existing `bind` remains free-trigger-only, so this is a backward-compatible API addition and does not move `MOD_API_VERSION`. |
297
349
  | unreleased (2026-09-02) | API-2 Worker ABI | `modApi: 2` plus `runtime: "worker"` and a mod-relative `workerEntry` selects a dedicated module Worker booted by host code rather than importing `plugin.js` into the renderer. Its independently versioned protocol starts with immutable init data, logs, async preferences, own-asset bytes, bag migration, semantic commands, render-coalesced state and display snapshots, and host-rendered declarative panels. The intended final surface also adds versioned read snapshots, host-cached policies for synchronous paths, async hook decisions with validated patches, declarative registry/content and tile declarations, cached frontend/HUD/region display lists, semantic keymap/debug/wizard/storage operations, and mediated mod lifecycle actions. API-1 is temporarily trusted compatibility code, not a permanent dual-API arrangement; the planned end state is full API-2 cutover for every shipped mod. |
298
350
 
299
351
  #### Removals taken knowingly
@@ -430,12 +482,15 @@ Nothing else about `UiEntryConfig` moved, and a plugin that only calls
430
482
  unaffected: every one of those gained an OPTIONAL trailing registry argument and
431
483
  behaves exactly as before when it is omitted.
432
484
 
433
- **This does not make `ctx.core` stable.** It makes breaking it visible to the
434
- person breaking it, in the repository where it happens, before it reaches a
435
- player's browser. The remaining pressure valve is `ModHooks`, which is a closed
436
- interface of eight members that the bug-fixes mod alone needed six of - if
437
- authors keep reaching past it into `ctx.core`, that is the signal to grow the
438
- seam, not to fence the namespace.
485
+ **The rest of `ctx.core` is not frozen.** The ratchet makes a break visible in
486
+ this repository before it reaches a player's browser. Nested keys on a
487
+ guaranteed object (`FEAT.MORE`, `TV.SWORD`, `RSF.BR_FIRE`) follow the same
488
+ shape-change recording as the rest of the engine: the promise is the top-level
489
+ name and its `typeof`, not every property behind it. The remaining pressure
490
+ valve is `ModHooks`, which is a closed interface of eight members that the
491
+ bug-fixes mod alone needed six of - if authors keep reaching past it into
492
+ unguaranteed `ctx.core` names, that is the signal to grow the seam or to add a
493
+ name to the guaranteed subset, not to fence the namespace.
439
494
 
440
495
  ## What is *not* a compatibility mechanism
441
496
 
@@ -92,6 +92,15 @@ deletion - even of cosmetics - violates the "nothing a player earned vanishes
92
92
  without a trace" guarantee. The prompt is per-save and one-time so it never
93
93
  nags; declining leaves everything quarantined and reversible.
94
94
 
95
+ BUILT. The prompt is put once the game screen is live, keeps first, and
96
+ counts what a purge would destroy; dismissing it keeps, because the question
97
+ has been asked and keeping is the only answer that destroys nothing. The
98
+ answer is recorded in `SavedGame.orphansAcknowledged` and forced to disk
99
+ immediately, so neither answer is re-asked and a purge cannot be undone by a
100
+ crash. `orphanPromptDue` and `purgeOrphans`
101
+ (`packages/core/src/mod/orphan-stash.ts`) are the whole of the engine side;
102
+ purging is the only write in the orphan path.
103
+
95
104
  ### When a mod's content leaves the game (RATIFIED, decision 19)
96
105
 
97
106
  Quarantine is the storage mechanism; these are the player-facing
@@ -108,19 +117,35 @@ uninstalled but SHADOWED - a later mod in the load order `removes` or
108
117
  content as normal on the next descent; no half-loaded mod geometry is
109
118
  ever walked.
110
119
  - Stranded items. Items whose definition came from the missing mod are
111
- not dropped and not deleted. They are moved into the player's HOME
112
- (the game's existing persistent stash) as inert entries - visible,
113
- labelled with their origin mod, but not equippable, usable, or
114
- sellable while the mod is absent. Reinstalling the mod (same major
115
- version) reactivates them in place. This uses the same
116
- `orphans:<id>@<version>` store; the home is just where the player sees
117
- and reclaims them.
120
+ not dropped and not deleted. They are frozen in the
121
+ `orphans:<id>@<version>` store as inert entries - listed, labelled with
122
+ their origin mod, and not equippable, usable or sellable while the mod
123
+ is absent. Reinstalling the mod puts each one back in the slot it came
124
+ out of: an item that was worn returns to that equipment slot when the
125
+ slot is still free, and one that was carried returns to the pack.
126
+ BUILT, and built AS THE STORE rather than as home stock: the frozen
127
+ entry records the gear handle and the equipment slots it was
128
+ quarantined out of (`packages/core/src/mod/save-blocks.ts`), which is
129
+ what makes the exact restore possible. It occupies no home slot, no
130
+ pack slot and no weight while it waits, so it costs the player nothing
131
+ that a home slot would have cost, and the stash view below is where it
132
+ is seen and reclaimed.
118
133
  - The stash view. A dedicated, always-reachable screen lists everything
119
134
  currently quarantined - by uninstall OR by another mod's override -
120
135
  grouped by the mod that owns it, showing what it is, why it is inert
121
- ("frost uninstalled" / "shadowed by bigmonsters"), and what would
122
- restore it ("reinstall frost >=1.0" / "move bigmonsters below frost").
136
+ ("frost is not installed" / "frost is installed but switched off"), and
137
+ what would restore it ("install frost again" / "turn frost back on").
123
138
  Nothing a player earned ever vanishes without a trace they can find.
139
+ BUILT: Mods -> "Set aside by a missing mod", screen id
140
+ `core:mod-orphans` (`packages/web/src/mod-orphans.ts`), over the
141
+ read-only model in `packages/core/src/mod/orphan-stash.ts`. The row
142
+ carries the count, and a load that newly freezes something says so on
143
+ the message line naming what it was. Quarantine is keyed on namespace
144
+ PRESENCE, so the screen derives the reason from what the host can see
145
+ now rather than from a reason the store records; the shadowed case
146
+ reaches the same screen through the same route as soon as quarantine
147
+ produces it, because a shadowed entity's own namespace is present and
148
+ the screen already words that state.
124
149
 
125
150
  These recoveries are graceful degradation, not gameplay rollback: they
126
151
  preserve what the player has against a tooling change, and do not let the
@@ -751,9 +776,10 @@ UI next, marketplace last:
751
776
  marketplace" above), the externally-authored enabled-set/order file, and
752
777
  a Vortex/MO2 extension over the shared on-disk format.
753
778
 
754
- A `neo-pack` CLI (validate + bundle, a sibling of `neo-linoleum`) ships
755
- alongside so authors can check a pack in CI before publishing, and the
756
- repo carries sample mods that CI installs and runs.
779
+ Authors check a pack in CI with `neo-angband-mod-check` (the same rules
780
+ the game enforces at install) and produce a distributable `plugin.js`
781
+ with `neo-angband-mod-build`. Both ship in `@rpgm-tools/neo-angband-mod-sdk`.
782
+ The repo carries sample mods that CI installs and runs.
757
783
 
758
784
  ---
759
785
 
@@ -770,10 +796,17 @@ repo carries sample mods that CI installs and runs.
770
796
  6. Pre-migration snapshot as operational safety, reconciled with the
771
797
  no-save-scum rule. [DECIDED]
772
798
  7. Uninstall recovery: stranded characters return to town, mod items are
773
- quarantined to the player's home and reactivate on reinstall, and a
774
- stash view surfaces everything quarantined or shadowed. [DECIDED]
799
+ quarantined and reactivate in the slot they came out of on reinstall,
800
+ and a stash view surfaces everything quarantined or shadowed. [DECIDED;
801
+ the stash view and the item surfacing are BUILT, see "When a mod's
802
+ content leaves the game" above. The item half is the orphans store
803
+ rather than home stock, because the store records the gear handle and
804
+ equipment slots an item was taken from and the home has no way to carry
805
+ those; the effect a home entry was for - visible, labelled, inert,
806
+ costing no slot - is what the stash view provides. The stranded-location
807
+ half is not built.]
775
808
  8. Orphan policy: quarantine by default with a one-time per-save keep/purge
776
- prompt (keep default); no auto-purge. [DECIDED 2026-07-14]
809
+ prompt (keep default); no auto-purge. [DECIDED 2026-07-14; BUILT]
777
810
  9. Integrate with Vortex and the other popular mod managers, and split the
778
811
  labour with them: the game keeps rudimentary management (enable/disable,
779
812
  per-patch opt-out, a one-step order nudge, conflict report, profiles)
package/docs/MOD_REACH.md CHANGED
@@ -1481,6 +1481,23 @@ Ranked by how much of "the whole game can be made over" each one makes moddable.
1481
1481
 
1482
1482
  ---
1483
1483
 
1484
+ ### Gap 21 current correction, 2026-09-06
1485
+
1486
+ The row above contains historical measurements. The current code-derived record
1487
+ is docs/design/PRESENTATION_OWNER_SEAM.md. Its counts replace the old estimates:
1488
+ the HUD has 3 separately replaceable regions, the terminal has 33 full-screen
1489
+ erase paths plus its 1 compositor repaint, and 40 semantic ScreenView ids are
1490
+ modelled. The full-screen erase ratchet derives 31 region-declared paths, 2
1491
+ pending prompt paths, and 34 including the compositor in
1492
+ packages/web/src/main-regions.test.ts:430 through
1493
+ packages/web/src/main-regions.test.ts:433.
1494
+
1495
+ The presentation owner seam is live for the HUD, menus, and ScreenView paths.
1496
+ Registry:menu still changes rows and now composes with menu presentation rather
1497
+ than replacing it. The two pending prompt paths and screens sharing the
1498
+ core:text fallback remain incomplete. The design records the exact surface list,
1499
+ the host guarantees, and the compatibility fallback rule.
1500
+
1484
1501
  ## The goal: every dispatch point in this document becomes moddable
1485
1502
 
1486
1503
  **A correction, recorded 2026-08-08.** An earlier revision of this page argued
package/docs/MOD_SEAMS.md CHANGED
@@ -610,6 +610,13 @@ Six things about it, and the first two are the ones that will surprise you:
610
610
  action bar does with its buttons. `modal: true` takes the pointer, takes the
611
611
  focus on mount, and gets `role="dialog"`; a plain panel takes neither and gets
612
612
  `role="group"`.
613
+ - **The host fits the container to the visual viewport.** On a phone, opening
614
+ the virtual keyboard can leave the layout viewport at its former height while
615
+ shrinking the visible rectangle. The host follows `visualViewport` for the
616
+ panel and the canvas, including its offset, so a modal panel does not extend
617
+ behind the keyboard. A panel that puts fields near its lower edge should still
618
+ call `element.scrollIntoView({ block: "center" })` when a field receives focus:
619
+ a browser may reserve more of the visible rectangle for its own input chrome.
613
620
  - **The keyboard is decided per keystroke, by where the caret is.** The game's
614
621
  front end has ONE keydown registration - `window`, capture phase, installed at
615
622
  import - and every modal handler behind it calls `stopImmediatePropagation`. So
package/docs/PLUGINS.md CHANGED
@@ -161,7 +161,7 @@ What `ctx` carries:
161
161
  | `api` | the ABI version the **host** implements |
162
162
  | `engine` | the engine version, if you want to adapt rather than refuse |
163
163
  | `flags` | **your** resolved rule toggles: `choices[flag] ?? rule.default`, sliced to the rules your own manifest declares |
164
- | `core` | the live engine namespace: core's entire public API |
164
+ | `core` | the live engine namespace: core's entire public API. A named subset is guaranteed; the rest is an escape hatch. See [MOD_COMPATIBILITY.md](MOD_COMPATIBILITY.md) |
165
165
  | `state` | the live `GameState`. Handed to `register`, `migrateBag`, `controller` and every display seam; **never** to `hooks`, because the host composes hooks before a game exists |
166
166
  | `assetUrl` | `(path) => Promise<string \| null>`, a URL for one of *your* files |
167
167
  | `data` | your own record files, parsed, keyed without `.json` |
@@ -1392,8 +1392,13 @@ absent paths leave the exact glyph sink active.
1392
1392
 
1393
1393
  The same is true of `UiInput` in `packages/web/src/input-door.ts`. It is the
1394
1394
  single device-neutral route by which keyboard and keymap input reaches screens;
1395
- its direction carries an analog vector and angle. It does not grant a plugin a
1396
- binding registry in this phase. Stored player keymaps are evaluated first when
1395
+ its direction carries an analog vector and angle. A plugin that declares and is
1396
+ granted `keymap:write` receives `ctx.keymaps` during a live game. `bind()` claims
1397
+ only a free trigger; `entries()` lists only bindings the calling mod owns; and
1398
+ `rebind()` and `remove()` can change only those owned bindings. A plugin cannot
1399
+ read, overwrite, or remove the player's bindings or another mod's bindings. A
1400
+ player change clears the mod claim, and bindings still owned by a departing mod
1401
+ are removed during host teardown. Stored player keymaps are evaluated first when
1397
1402
  the root owns input; score pages, modals, and run interruption retain their
1398
1403
  existing literal-key gates, so a mod must not use injected input to outrank the
1399
1404
  player's chosen mapping or an active screen.
package/docs/README.md CHANGED
@@ -72,9 +72,9 @@ write down at all.
72
72
  | **Replace the front end**: draw the world yourself, any way you like | **Complete** | gap 9 |
73
73
  | Know **where you may draw**: named regions, in grid cells and CSS pixels, on every frame | **Complete** | gap 9 |
74
74
  | Drive the game programmatically: an autoplayer, a bot, a test harness | **Complete** | `BORG.md`, `ModPlugin.controller` |
75
- | Menus: add, reorder, retitle and re-tag **rows** (`registry:menu`). How a menu is **presented** is not reachable | **WIP** | gap 21 |
76
- | **Replace the UI**: the HUD, the status line, the message area, menu presentation, the ~50 full screens | **Not yet** | gap 21 |
77
- | Own a HUD region (messages, vitals, status) with core drawing the ones you do not claim, or **create a region of your own**: ordered, overlapping, transparent, composited, and owning pointer input on the cells it paints | **WIP** | gap 21 |
75
+ | Menus: add, reorder, retitle and re-tag **rows** (registry:menu), then replace the presentation of a supported question | **WIP** | gap 21, PRESENTATION_OWNER_SEAM.md |
76
+ | **Replace the UI**: the HUD, status line, message area, menu presentation, and full screens | **WIP** | gap 21, PRESENTATION_OWNER_SEAM.md |
77
+ | Own a HUD region (messages, vitals, status) with core drawing the ones you do not claim, or **create a region of your own**: ordered, overlapping, transparent, composited, and owning pointer input on the cells it paints | **WIP** | gap 21, PRESENTATION_OWNER_SEAM.md |
78
78
  | Retitle, regroup, reorder, re-tag or rebind an existing web keypress command (`registry:menu`); the command's closure stays shell-private | **Complete** | `MOD_REACH.md` row 23 |
79
79
  | Rename one of your own rule flags or sections without losing the player's saved choice (`renamedRuleFlags`, `renamedSectionFlags`) | **Complete** | `AUTHORING.md` |
80
80
  | Rebind keys, or add a gamepad: `input-door.ts` is host infrastructure, not a seam | **Not yet** | `MOD_SEAMS.md` |
@@ -157,8 +157,10 @@ that has not been settled.
157
157
  Scope of record; no repository or code exists yet.
158
158
  - Coming as the engine lands them (P7 deliverables): handler registry
159
159
  catalog (effects, commands, room builders), the sandbox capability
160
- reference for scripted plugins, dialog/quest/shop cookbooks, the
161
- `neo-pack` validator/bundler, and publishing guidance.
160
+ reference for scripted plugins, dialog/quest/shop cookbooks, and
161
+ publishing guidance. Validate and bundle are not in that list:
162
+ `neo-angband-mod-check` and `neo-angband-mod-build` already ship in
163
+ `@rpgm-tools/neo-angband-mod-sdk`.
162
164
 
163
165
  ## The first-party mods
164
166
 
@@ -446,8 +448,9 @@ version and are called out in release notes.
446
448
  **`MOD_COMPATIBILITY.md` is the page that answers "will my mod still work".**
447
449
  In one line: a data-only mod should survive engine releases without being
448
450
  republished, and a mod that ships code gets a release's warning before an ABI
449
- change strands it. That page has the mechanisms, the measurements behind them,
450
- and the one place the promise does not yet hold (`ctx.core`).
451
+ change strands it. That ABI includes a named subset of `ctx.core`; the rest of
452
+ that namespace is an escape hatch. That page has the mechanisms, the
453
+ measurements behind them, and the list of guaranteed names.
451
454
 
452
455
  ## Licensing for mod authors
453
456
 
@@ -55,6 +55,12 @@ The game shows it beside the mod's name, so a player can tell two mods of the sa
55
55
 
56
56
  Without it the mod is offered to every version of the game forever, including the one that changes the thing it depends on. With it, a player is told the mod is too old instead of watching it misbehave. This was advice until it was measured: every mod that had shipped declared one, and the mods that did not were the ones nothing had checked.
57
57
 
58
+ ### Request only capabilities the game knows
59
+
60
+ `capabilities-recognized`
61
+
62
+ A capability string is the consent surface a player reads and the gate the runtime actually opens. An unrecognized string, or a capability on a pack that cannot execute, is refused when the game loads the plugin - after the player has already installed it. This check is CapabilitySet.fromManifest, the same function the loader calls, so a typo that used to pass here and fail there cannot.
63
+
58
64
  ### Declare modApi if the mod ships plugin.js
59
65
 
60
66
  `plugin-declares-modapi`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpgm-tools/neo-angband-mod-sdk",
3
- "version": "1.8.0",
3
+ "version": "1.10.0",
4
4
  "description": "Pack schemas, validation, and tooling for Neo Angband mods (content packs, tile packs, scripted plugins)",
5
5
  "license": "GPL-2.0-only",
6
6
  "author": "neostryder (RPGM Tools)",
package/src/manifest.ts CHANGED
@@ -304,8 +304,10 @@ export const DEFAULT_PACK_GROUP = "content";
304
304
  * runtime grants only what a `shape: plugin` pack declares and the user
305
305
  * approves; content and tile packs request none. The vocabulary
306
306
  * ("command:add", "event:turn-start", "state:*.read", "network:<host>", ...)
307
- * is enforced by the capability model (P7 phase 5); the manifest only records
308
- * the request, so any string is accepted here.
307
+ * is enforced by parseCapability / CapabilitySet.fromManifest in
308
+ * capabilities.ts. The manifest records the request as strings; checkMod
309
+ * runs that same function, so an unrecognized capability is a check
310
+ * failure rather than a silent accept.
309
311
  */
310
312
  export type Capability = string;
311
313
 
package/src/standards.ts CHANGED
@@ -15,10 +15,13 @@
15
15
  * cannot describe a rule that is not enforced or omit one that is.
16
16
  *
17
17
  * WHAT IT DOES NOT DUPLICATE. Everything validateManifest already decides is
18
- * delegated to validateManifest. This module adds only the rules that need to see
19
- * something the manifest validator cannot: the FILE LIST. That is not a small
20
- * addition - two of the rules below are defects this project actually shipped, both
21
- * invisible to a validator with no files to look at:
18
+ * delegated to validateManifest. Capability grammar is the same: this module
19
+ * calls CapabilitySet.fromManifest rather than restating parseCapability's
20
+ * patterns. What it adds is the rules that need to see something those two
21
+ * cannot: the FILE LIST, and the join between a validated manifest and the
22
+ * capability model (validateManifest cannot import capabilities.ts without a
23
+ * cycle). Two of the file-list rules below are defects this project actually
24
+ * shipped, both invisible to a validator with no files to look at:
22
25
  *
23
26
  * - `modApi` is documented as REQUIRED of any pack shipping plugin.js, and nothing
24
27
  * enforced it, because validateManifest never sees whether plugin.js is there.
@@ -32,8 +35,9 @@
32
35
  * learn to ignore.
33
36
  */
34
37
 
35
- import { compareSemver, satisfies } from "./semver.js";
38
+ import { CapabilitySet } from "./capabilities.js";
36
39
  import { ManifestError, hasFacet, validateManifest, type PackManifest } from "./manifest.js";
40
+ import { compareSemver, satisfies } from "./semver.js";
37
41
 
38
42
  /** The file a mod's code lives in, when it has any. */
39
43
  export const PLUGIN_FILE = "plugin.js";
@@ -299,6 +303,38 @@ export const MOD_REQUIREMENTS: readonly Requirement[] = [
299
303
  }
300
304
  },
301
305
  },
306
+ {
307
+ id: "capabilities-recognized",
308
+ level: "required",
309
+ title: "Request only capabilities the game knows",
310
+ why:
311
+ "A capability string is the consent surface a player reads and the gate the " +
312
+ "runtime actually opens. An unrecognized string, or a capability on a pack " +
313
+ "that cannot execute, is refused when the game loads the plugin - after the " +
314
+ "player has already installed it. This check is CapabilitySet.fromManifest, " +
315
+ "the same function the loader calls, so a typo that used to pass here and " +
316
+ "fail there cannot.",
317
+ check: (mod) => {
318
+ const m = manifestObject(mod);
319
+ if (m === null) return null;
320
+ let manifest: PackManifest;
321
+ try {
322
+ /* validateManifest first, so this rule never re-describes the schema. A
323
+ * malformed capabilities field (not an array of strings) belongs to
324
+ * manifest-fields; this rule only speaks once there is a PackManifest
325
+ * to hand to the capability model. */
326
+ manifest = validateManifest(m);
327
+ } catch {
328
+ return null;
329
+ }
330
+ try {
331
+ CapabilitySet.fromManifest(manifest);
332
+ return null;
333
+ } catch (e) {
334
+ return e instanceof Error ? e.message : String(e);
335
+ }
336
+ },
337
+ },
302
338
  {
303
339
  id: "plugin-declares-modapi",
304
340
  level: "required",