@kradle/challenges-sdk 0.11.0 → 0.13.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.
Files changed (95) hide show
  1. package/CHANGELOG.md +71 -1
  2. package/LLM_README.md +286 -193
  3. package/MIGRATION-0.13.md +109 -0
  4. package/README.md +98 -90
  5. package/dist/engine.d.ts +8 -0
  6. package/dist/engine.d.ts.map +1 -0
  7. package/dist/engine.js +17 -0
  8. package/dist/engine.js.map +1 -0
  9. package/dist/index.d.ts +19 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +42 -16
  12. package/dist/index.js.map +1 -1
  13. package/dist/runtime/builder.d.ts +33 -0
  14. package/dist/runtime/builder.d.ts.map +1 -0
  15. package/dist/runtime/builder.js +357 -0
  16. package/dist/runtime/builder.js.map +1 -0
  17. package/dist/runtime/errors.d.ts +61 -0
  18. package/dist/runtime/errors.d.ts.map +1 -0
  19. package/dist/runtime/errors.js +71 -0
  20. package/dist/runtime/errors.js.map +1 -0
  21. package/dist/runtime/reducer.d.ts +205 -0
  22. package/dist/runtime/reducer.d.ts.map +1 -0
  23. package/dist/runtime/reducer.js +2025 -0
  24. package/dist/runtime/reducer.js.map +1 -0
  25. package/dist/runtime/rules.d.ts +29 -0
  26. package/dist/runtime/rules.d.ts.map +1 -0
  27. package/dist/runtime/rules.js +23 -0
  28. package/dist/runtime/rules.js.map +1 -0
  29. package/dist/runtime/sandbox.d.ts +2 -1
  30. package/dist/runtime/sandbox.d.ts.map +1 -1
  31. package/dist/runtime/sandbox.js +7 -4
  32. package/dist/runtime/sandbox.js.map +1 -1
  33. package/dist/runtime/time.d.ts +33 -0
  34. package/dist/runtime/time.d.ts.map +1 -0
  35. package/dist/runtime/time.js +53 -0
  36. package/dist/runtime/time.js.map +1 -0
  37. package/dist/runtime/types.d.ts +963 -0
  38. package/dist/runtime/types.d.ts.map +1 -0
  39. package/dist/runtime/types.js +25 -0
  40. package/dist/runtime/types.js.map +1 -0
  41. package/dist/runtime/wire.d.ts +858 -0
  42. package/dist/runtime/wire.d.ts.map +1 -0
  43. package/dist/runtime/wire.js +28 -0
  44. package/dist/runtime/wire.js.map +1 -0
  45. package/dist/runtime/world.d.ts +58 -3
  46. package/dist/runtime/world.d.ts.map +1 -1
  47. package/dist/runtime/world.js +12 -0
  48. package/dist/runtime/world.js.map +1 -1
  49. package/dist/structures.d.ts +119 -0
  50. package/dist/structures.d.ts.map +1 -0
  51. package/dist/structures.js +279 -0
  52. package/dist/structures.js.map +1 -0
  53. package/dist/test/harness.d.ts +280 -0
  54. package/dist/test/harness.d.ts.map +1 -0
  55. package/dist/{runtime → test}/harness.js +193 -68
  56. package/dist/test/harness.js.map +1 -0
  57. package/dist/test/helpers.d.ts +8 -0
  58. package/dist/test/helpers.d.ts.map +1 -0
  59. package/dist/test/helpers.js +12 -0
  60. package/dist/test/helpers.js.map +1 -0
  61. package/dist/test/index.d.ts +3 -0
  62. package/dist/test/index.d.ts.map +1 -0
  63. package/dist/{runtime → test}/index.js +3 -1
  64. package/dist/test/index.js.map +1 -0
  65. package/package.json +31 -16
  66. package/dist/runtime/examples/capture-the-flag.d.ts +0 -33
  67. package/dist/runtime/examples/capture-the-flag.d.ts.map +0 -1
  68. package/dist/runtime/examples/capture-the-flag.js +0 -79
  69. package/dist/runtime/examples/capture-the-flag.js.map +0 -1
  70. package/dist/runtime/examples/climb.d.ts +0 -34
  71. package/dist/runtime/examples/climb.d.ts.map +0 -1
  72. package/dist/runtime/examples/climb.js +0 -54
  73. package/dist/runtime/examples/climb.js.map +0 -1
  74. package/dist/runtime/examples/four-bridges.d.ts +0 -107
  75. package/dist/runtime/examples/four-bridges.d.ts.map +0 -1
  76. package/dist/runtime/examples/four-bridges.js +0 -294
  77. package/dist/runtime/examples/four-bridges.js.map +0 -1
  78. package/dist/runtime/examples/herding.d.ts +0 -59
  79. package/dist/runtime/examples/herding.d.ts.map +0 -1
  80. package/dist/runtime/examples/herding.js +0 -181
  81. package/dist/runtime/examples/herding.js.map +0 -1
  82. package/dist/runtime/examples/skywars.d.ts +0 -116
  83. package/dist/runtime/examples/skywars.d.ts.map +0 -1
  84. package/dist/runtime/examples/skywars.js +0 -253
  85. package/dist/runtime/examples/skywars.js.map +0 -1
  86. package/dist/runtime/harness.d.ts +0 -176
  87. package/dist/runtime/harness.d.ts.map +0 -1
  88. package/dist/runtime/harness.js.map +0 -1
  89. package/dist/runtime/index.d.ts +0 -2
  90. package/dist/runtime/index.d.ts.map +0 -1
  91. package/dist/runtime/index.js.map +0 -1
  92. package/dist/runtime/sdk.d.ts +0 -1038
  93. package/dist/runtime/sdk.d.ts.map +0 -1
  94. package/dist/runtime/sdk.js +0 -1271
  95. package/dist/runtime/sdk.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../src/runtime/wire.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAI5E,iGAAiG;AACjG,MAAM,MAAM,IAAI,GAAG;IAClB,YAAY;IACZ,CAAC,EAAE,MAAM,CAAC;IACV,UAAU;IACV,CAAC,EAAE,MAAM,CAAC;IACV,aAAa;IACb,CAAC,EAAE,MAAM,CAAC;CACV,CAAC;AACF,8GAA8G;AAC9G,MAAM,MAAM,GAAG,GAAG;IACjB,kBAAkB;IAClB,IAAI,EAAE,IAAI,CAAC;IACX,2EAA2E;IAC3E,EAAE,EAAE,IAAI,CAAC;CACT,CAAC;AACF,8EAA8E;AAC9E,MAAM,MAAM,IAAI,GACb,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,IAAI,EAAE;AACR,gCAAgC;GAC9B;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE3B,sGAAsG;AACtG,MAAM,MAAM,OAAO,GAAG,aAAa,MAAM,EAAE,CAAC;AAC5C,uCAAuC;AACvC,MAAM,MAAM,MAAM,GAAG,aAAa,MAAM,EAAE,CAAC;AAC3C,0CAA0C;AAC1C,MAAM,MAAM,YAAY,GAAG,aAAa,MAAM,EAAE,CAAC;AACjD,6CAA6C;AAC7C,MAAM,MAAM,QAAQ,GAAG,aAAa,MAAM,EAAE,CAAC;AAC7C,4CAA4C;AAC5C,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;AAE3E,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG;IACzB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AACF;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG;IACpB,qDAAqD;IACrD,IAAI,EAAE,YAAY,CAAC;IACnB,6BAA6B;IAC7B,EAAE,EAAE,IAAI,CAAC;IACT,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,2BAA2B;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAC;CACf,CAAC;AAEF,kEAAkE;AAClE,MAAM,WAAW,QAAQ;IACxB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5B,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAClD,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AACD,4CAA4C;AAC5C,MAAM,WAAW,SAAU,SAAQ,QAAQ;IAC1C,mBAAmB;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;CACd;AACD,wHAAwH;AACxH,MAAM,MAAM,UAAU,GAAG;IACxB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,GAAG,QAAQ,CAAC;AACb,sHAAsH;AACtH,MAAM,MAAM,aAAa,GAAG;IAC3B,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB,GAAG,QAAQ,CAAC;AACb,uDAAuD;AACvD,MAAM,MAAM,UAAU,GAAG;IACxB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,6HAA6H;AAC7H,MAAM,MAAM,UAAU,GACnB,MAAM,GACN,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,GACP,UAAU,GACV,QAAQ,GACR,OAAO,GACP,OAAO,GACP,MAAM,GAEN,QAAQ,GAER,MAAM,GAEN,WAAW,GAEX,UAAU,GAEV,YAAY,CAAC;AAChB,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,EAAE,UAAU,EAkBxC,CAAC;AAIF,uFAAuF;AACvF,MAAM,MAAM,YAAY,GAAG;IAC1B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,yGAAyG;IACzG,WAAW,EAAE,OAAO,CAAC;IACrB,yEAAyE;IACzE,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,qCAAqC;IACrC,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjC,wCAAwC;IACxC,SAAS,CAAC,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IAC1C,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,8FAA8F;AAC9F,MAAM,MAAM,KAAK;AAChB,oJAAoJ;AAClJ;IACA,IAAI,EAAE,aAAa,CAAC;IACpB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,6FAA6F;IAC7F,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,iCAAiC;IACjC,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7C,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC9B;AACH,4GAA4G;GAC1G;IACA,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,qHAAqH;IACrH,OAAO,CAAC,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IACrC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IACpC,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB;AACH,qFAAqF;GACnF;IACA,IAAI,EAAE,eAAe,CAAC;IACtB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,8BAA8B;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC/B;AACH,oGAAoG;GAClG;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC;AACH,qCAAqC;GACnC;IACA,IAAI,EAAE,aAAa,CAAC;IACpB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,8BAA8B;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvB;AACH,sGAAsG;GACpG;IACA,IAAI,EAAE,cAAc,CAAC;IACrB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,EAAE,EAAE,IAAI,CAAC;CACR;AACH,2EAA2E;GACzE;IACA,IAAI,EAAE,gBAAgB,CAAC;IACvB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AACH,kEAAkE;GAChE;IACA,IAAI,EAAE,aAAa,CAAC;IACpB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AACH,+BAA+B;GAC7B;IACA,IAAI,EAAE,kBAAkB,CAAC;IACzB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;CACZ;AACH,uDAAuD;GACrD;IACA,IAAI,EAAE,gBAAgB,CAAC;IACvB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,EAAE,EAAE,IAAI,CAAC;CACR;AACH,sEAAsE;GACpE;IACA,IAAI,EAAE,WAAW,CAAC;IAClB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,KAAK,EAAE,UAAU,EAAE,CAAC;CACnB;AACH,mGAAmG;GACjG;IACA,IAAI,EAAE,cAAc,CAAC;IACrB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,EAAE,EAAE,IAAI,CAAC;IACT,sCAAsC;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3B;AACH;;;GAGG;GACD;IACA,IAAI,EAAE,cAAc,CAAC;IACrB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,EAAE,EAAE,IAAI,CAAC;IACT,8BAA8B;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,mDAAmD;IACnD,MAAM,CAAC,EACJ,KAAK,CAAC;QACN,0BAA0B;QAC1B,EAAE,EAAE,IAAI,CAAC;QACT,8BAA8B;QAC9B,KAAK,EAAE,OAAO,CAAC;QACf,0DAA0D;QAC1D,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAC9B,CAAC,GACF,SAAS,CAAC;CACZ;AACH,yEAAyE;GACvE;IACA,IAAI,EAAE,YAAY,CAAC;IACnB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,EAAE,EAAE,IAAI,CAAC;IACT,uBAAuB;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB;AACH;;;;GAIG;GACD;IACA,IAAI,EAAE,WAAW,CAAC;IAClB,2BAA2B;IAC3B,EAAE,EAAE,IAAI,CAAC;IACT,gCAAgC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,uEAAuE;IACvE,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,kEAAkE;IAClE,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B;AACH,2DAA2D;GACzD;IACA,IAAI,EAAE,gBAAgB,CAAC;IACvB,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,oBAAoB;IACpB,EAAE,EAAE,IAAI,CAAC;IACT,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5B,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,qCAAqC;IACrC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,eAAe;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,mCAAmC;IACnC,SAAS,CAAC,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IAC1C,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,CAAC,EACN;QACA,6CAA6C;QAC7C,IAAI,EAAE,MAAM,CAAC;QACb,yBAAyB;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,+BAA+B;QAC/B,KAAK,EAAE,MAAM,CAAC;KACb,GACD,SAAS,CAAC;CACZ;AACH,0EAA0E;GACxE;IACA,IAAI,EAAE,gBAAgB,CAAC;IACvB,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5B,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,wCAAwC;IACxC,SAAS,CAAC,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IAC1C,2CAA2C;IAC3C,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,mDAAmD;IACnD,QAAQ,CAAC,EACN;QACA,6CAA6C;QAC7C,IAAI,EAAE,MAAM,CAAC;QACb,yBAAyB;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,+BAA+B;QAC/B,KAAK,EAAE,MAAM,CAAC;KACb,GACD,SAAS,CAAC;CACZ;AACH,6BAA6B;GAC3B;IACA,IAAI,EAAE,WAAW,CAAC;IAClB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,SAAS,EAAE,OAAO,GAAG,WAAW,CAAC;CAChC;AACH,kGAAkG;GAChG;IACA,IAAI,EAAE,gBAAgB,CAAC;IACvB,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AACH,kHAAkH;GAChH,CAAC;IACD,wBAAwB;IACxB,IAAI,EAAE,OAAO,CAAC;CACb,GAAG,YAAY,CAAC;AACnB,2FAA2F;GACzF;IACA,IAAI,EAAE,gBAAgB,CAAC;IACvB,kCAAkC;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,kCAAkC;IAClC,CAAC,EAAE,MAAM,CAAC;CACT;AACH,0LAA0L;GACxL;IACA,IAAI,EAAE,gBAAgB,CAAC;IACvB,gDAAgD;IAChD,OAAO,EAAE,KAAK,CACb,IAAI,GAAG;QACN,2BAA2B;QAC3B,KAAK,EAAE,OAAO,CAAC;QACf,0CAA0C;QAC1C,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC1B,uBAAuB;QACvB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,2CAA2C;QAC3C,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACxB,CACD,CAAC;CACD;AACH,qFAAqF;GACnF;IACA,IAAI,EAAE,eAAe,CAAC;IACtB,6BAA6B;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,2BAA2B;IAC3B,EAAE,EAAE,IAAI,CAAC;IACT,yCAAyC;IACzC,KAAK,EAAE,OAAO,CAAC;CACd;AACH,0BAA0B;GACxB;IACA,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB;AACH;;;;GAIG;GACD;IACA,IAAI,EAAE,cAAc,CAAC;IACrB,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AACH,oGAAoG;GAClG;IACA,IAAI,EAAE,eAAe,CAAC;IACtB,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,yDAAyD;IACzD,EAAE,EAAE,OAAO,CAAC;IACZ,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,sCAAsC;IACtC,MAAM,CAAC,EACJ,KAAK,CAAC;QACN,uCAAuC;QACvC,KAAK,EAAE,MAAM,CAAC;QACd,qBAAqB;QACrB,MAAM,EAAE,MAAM,CAAC;KACd,CAAC,GACF,SAAS,CAAC;CACZ;AACH,mHAAmH;GACjH;IACA,IAAI,EAAE,eAAe,CAAC;IACtB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,+CAA+C;IAC/C,KAAK,CAAC,EACH;QACA,gCAAgC;QAChC,EAAE,EAAE,MAAM,CAAC;QACX,uCAAuC;QACvC,KAAK,EAAE,MAAM,CAAC;KACb,GACD,SAAS,CAAC;CACZ;AACH,kDAAkD;GAChD;IACA,IAAI,EAAE,QAAQ,CAAC;IACf,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,6BAA6B;IAC7B,IAAI,EAAE,IAAI,CAAC;CACV,CAAC;AAIL,iGAAiG;AACjG,MAAM,MAAM,MAAM;AACjB,wCAAwC;AACtC;IACA,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,2BAA2B;IAC3B,EAAE,EAAE,IAAI,CAAC;IACT,oCAAoC;IACpC,KAAK,EAAE,OAAO,CAAC;CACd;AACH,6DAA6D;GAC3D;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,0BAA0B;IAC1B,EAAE,EAAE,IAAI,CAAC;IACT,uBAAuB;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxB;AACH,8DAA8D;GAC5D;IACA,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxB;AACH,0EAA0E;GACxE;IACA,IAAI,EAAE,OAAO,CAAC;IACd,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AACH,sBAAsB;GACpB;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,EAAE,EAAE,IAAI,CAAC;CACR;AACH,6CAA6C;GAC3C;IACA,IAAI,EAAE,QAAQ,CAAC;IACf,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,MAAM,EAAE,QAAQ,CAAC;IACjB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;CACjB;AACH,mDAAmD;GACjD;IACA,IAAI,EAAE,QAAQ,CAAC;IACf,0BAA0B;IAC1B,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa;IACb,EAAE,EAAE,IAAI,CAAC;IACT,wCAAwC;IACxC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxB;AACH,oEAAoE;GAClE;IACA,IAAI,EAAE,eAAe,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;CACrC;AACH,sBAAsB;GACpB;IACA,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;CACd;AACH,iCAAiC;GAC/B;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,IAAI,EAAE,QAAQ,CAAC;CACd;AACH,+BAA+B;GAC7B;IACA,IAAI,EAAE,WAAW,CAAC;IAClB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;CACb;AACH,4BAA4B;GAC1B;IACA,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;CAC5C;AACH,wBAAwB;GACtB;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;CACvB;AACH,8CAA8C;GAC5C;IACA,IAAI,EAAE,OAAO,CAAC;IACd,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,4EAA4E;IAC5E,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC9B;AACH,yDAAyD;GACvD;IACA,IAAI,EAAE,aAAa,CAAC;IACpB,qCAAqC;IACrC,MAAM,CAAC,EACJ;QACA,YAAY;QACZ,CAAC,EAAE,MAAM,CAAC;QACV,aAAa;QACb,CAAC,EAAE,MAAM,CAAC;KACT,GACD,SAAS,CAAC;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AACH,kDAAkD;GAChD;IACA,IAAI,EAAE,WAAW,CAAC;IAClB,2BAA2B;IAC3B,EAAE,EAAE,IAAI,CAAC;IACT,wDAAwD;IACxD,KAAK,EAAE,aAAa,EAAE,CAAC;CACtB;AACH,4BAA4B;GAC1B;IACA,IAAI,EAAE,OAAO,CAAC;IACd,uBAAuB;IACvB,EAAE,EAAE,IAAI,CAAC;CACR;AACH,kCAAkC;GAChC;IACA,IAAI,EAAE,WAAW,CAAC;IAClB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;CACd;AACH,mDAAmD;GACjD;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,gBAAgB;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvB;AACH,gFAAgF;GAC9E;IACA,IAAI,EAAE,SAAS,CAAC;IAChB,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;CACX,CAAC;AAEL,mDAAmD;AACnD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAErE,4HAA4H;AAC5H,MAAM,MAAM,MAAM;AACjB,4CAA4C;AAC1C;IACA,IAAI,EAAE,QAAQ,CAAC;IACf,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;CACd;AACH,mHAAmH;GACjH;IACA,IAAI,EAAE,OAAO,CAAC;IACd,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,OAAO,EAAE,MAAM,EAAE,CAAC;CACjB;AACH,0HAA0H;GACxH;IACA,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,EAAE,EAAE,IAAI,CAAC;IACT,+DAA+D;IAC/D,QAAQ,EAAE,UAAU,GAAG,MAAM,CAAC;CAC7B;AACH,+GAA+G;GAC7G;IACA,IAAI,EAAE,eAAe,CAAC;IACtB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AACH,6CAA6C;GAC3C;IACA,IAAI,EAAE,KAAK,CAAC;IACZ,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,gBAAgB;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACvB;AACH,gGAAgG;GAC9F;IACA,IAAI,EAAE,OAAO,CAAC;IACd,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;CACb;AACH,mHAAmH;GACjH;IACA,IAAI,EAAE,QAAQ,CAAC;IACf,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AACH,8FAA8F;GAC5F;IACA,IAAI,EAAE,YAAY,CAAC;IACnB,gBAAgB;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;CACb;AACH,2EAA2E;GACzE;IACA,IAAI,EAAE,WAAW,CAAC;IAClB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,MAAM,EAAE,SAAS,CAAC;IAClB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;CAC/C,CAAC;AAIL,wGAAwG;AACxG,MAAM,WAAW,YAAY;IAC5B,2GAA2G;IAC3G,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,gDAAgD;IAChD,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,8DAA8D;IAC9D,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,kFAAkF;IAClF,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED,gGAAgG;AAChG,MAAM,WAAW,eAAe;IAC/B,4EAA4E;IAC5E,OAAO,EAAE,CAAC,CAAC;IACX,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,gHAAgH;IAChH,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACjC,2FAA2F;IAC3F,OAAO,CAAC,EACL;QACA,+CAA+C;QAC/C,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,oEAAoE;QACpE,MAAM,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;KACxB,GACD,SAAS,CAAC;IACb,qGAAqG;IACrG,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpC,0GAA0G;IAC1G,MAAM,EAAE,MAAM,CACb,MAAM,EACN;QACC,sBAAsB;QACtB,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QACtC,wCAAwC;QACxC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;KACnC,CACD,CAAC;CACF;AAED,wDAAwD;AACxD,MAAM,MAAM,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEjE,wGAAwG;AACxG,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,iBAAiB,GAAG,yBAAyB,CAAC;AAExF,kGAAkG;AAClG,MAAM,WAAW,eAAe;IAC/B,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,yBAAyB;IACzB,IAAI,IAAI,OAAO,CAAC;IAChB,oEAAoE;IACpE,MAAM,CACL,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,KAAK,GACV;QACF,kDAAkD;QAClD,KAAK,EAAE,OAAO,CAAC;QACf,qDAAqD;QACrD,OAAO,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ // The engine protocol: what the arena feeds a challenge (events) and what a
3
+ // challenge returns (actions and effects). The arena's `src/runtime/wire.ts`
4
+ // mirrors this file; the SDK is the authority. Author-facing types live in
5
+ // `types.ts`; this file is what `@kradle/challenges-sdk/engine` exports.
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ALL_CAPABILITIES = void 0;
8
+ /** Every capability. The harness reports them all in `run_started`. */
9
+ exports.ALL_CAPABILITIES = [
10
+ "move",
11
+ "damage",
12
+ "death",
13
+ "pickup",
14
+ "inventory",
15
+ "blocks",
16
+ "zones",
17
+ "entities",
18
+ "custom",
19
+ "batch",
20
+ "query",
21
+ "walk",
22
+ "mirror",
23
+ "chat",
24
+ "lifecycle",
25
+ "requests",
26
+ "containers",
27
+ ];
28
+ //# sourceMappingURL=wire.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wire.js","sourceRoot":"","sources":["../../src/runtime/wire.ts"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,yEAAyE;;;AA2IzE,uEAAuE;AAC1D,QAAA,gBAAgB,GAAiB;IAC7C,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,MAAM;IACN,WAAW;IACX,UAAU;IACV,YAAY;CACZ,CAAC"}
@@ -1,20 +1,30 @@
1
- import type { Block, Box, EntityType, GameMode, Item, Vec3 } from "./sdk.js";
1
+ import type { BlockId as Block, Box, EntityTypeId as EntityType, GameMode, ItemId as Item, Vec3 } from "./wire.js";
2
+ /** The air block id. */
2
3
  export declare const AIR: Block;
3
4
  /** The id part of a block state string: `minecraft:oak_fence[north=true]` -> `minecraft:oak_fence`. */
4
5
  export declare function blockIdOf(state: Block): Block;
6
+ /** An equipment slot: the hands, then the armor from head to feet. */
5
7
  export type EquipmentSlot = "main" | "off" | "head" | "chest" | "legs" | "feet";
6
8
  /** One equipped item; `color` is the dyed color of leather armor. */
7
9
  export type Equipped = {
10
+ /** The item id. */
8
11
  item: Item;
12
+ /** How many. */
9
13
  count: number;
14
+ /** The dyed color of leather armor. */
10
15
  color?: number | undefined;
11
16
  };
17
+ /** Worn and held items by slot; an absent slot is empty. */
12
18
  export type Equipment = Partial<Record<EquipmentSlot, Equipped>>;
13
19
  /** A changed slot on the wire: no `item` means the slot is empty now. */
14
20
  export type EquipmentChange = {
21
+ /** The slot that changed. */
15
22
  slot: EquipmentSlot;
23
+ /** The item now in the slot; absent when the slot is empty now. */
16
24
  item?: Item | undefined;
25
+ /** How many; default 1. */
17
26
  count?: number | undefined;
27
+ /** The dyed color of leather armor. */
18
28
  color?: number | undefined;
19
29
  };
20
30
  /** Sections in a 1.20.4 column: world height 384 over a minY of -64. A section the engine did not send is air. */
@@ -34,25 +44,41 @@ export interface Chunk {
34
44
  }
35
45
  /** A non-player entity the engine reported. Positions update every tick. */
36
46
  export interface Entity {
47
+ /** The engine's id for the entity, stable while it exists. */
37
48
  id: string;
49
+ /** The entity type, e.g. `minecraft:pig`. */
38
50
  type: EntityType;
51
+ /** The position, as of the last tick. */
39
52
  pos: Vec3;
53
+ /** The scoreboard tags. */
40
54
  tags: string[];
55
+ /** The custom name, when one is set. */
41
56
  name?: string | undefined;
57
+ /** Half-hearts, for a living entity. */
42
58
  health?: number | undefined;
43
59
  /** Dropped items: what lies there. */
44
60
  item?: Item | undefined;
61
+ /** Dropped items: how many lie there. */
45
62
  count?: number | undefined;
63
+ /** The entity's uuid, when the engine sent it. */
46
64
  uuid?: string | undefined;
47
65
  /** Degrees, Minecraft convention. */
48
66
  yaw?: number | undefined;
67
+ /** Degrees, Minecraft convention. */
49
68
  pitch?: number | undefined;
69
+ /** Degrees, Minecraft convention. */
50
70
  headYaw?: number | undefined;
71
+ /** Worn and held items by slot. */
51
72
  equipment?: Equipment | undefined;
73
+ /** Whether the entity is invisible. */
52
74
  invisible?: boolean | undefined;
75
+ /** A villager's type, profession and level. */
53
76
  villager?: {
77
+ /** The villager type (biome): plains, desert, ... */
54
78
  type: string;
79
+ /** The profession: farmer, librarian, ...; `none` without one. */
55
80
  profession: string;
81
+ /** The trade level, 1 to 5. */
56
82
  level: number;
57
83
  } | undefined;
58
84
  }
@@ -72,6 +98,7 @@ export interface OtherPlayer {
72
98
  equipment?: Equipment | undefined;
73
99
  invisible?: boolean | undefined;
74
100
  }
101
+ /** The world mirror: the loaded chunks, the entities and the other players, as the engine streams them. */
75
102
  export interface WorldState {
76
103
  /** Block states by palette index (`minecraft:oak_fence[north=true,...]`, or a bare id); index 0 is air. */
77
104
  palette: Block[];
@@ -79,20 +106,35 @@ export interface WorldState {
79
106
  time: number;
80
107
  /** By "cx,cz". */
81
108
  chunks: Record<string, Chunk>;
109
+ /** The non-player entities, by id. */
82
110
  entities: Record<string, Entity>;
111
+ /** The online players who are not participants, by name. */
83
112
  others: Record<string, OtherPlayer>;
84
113
  }
85
114
  /** What the engine sends for one chunk: sections with a local palette; absent sections are air. */
86
115
  export interface ChunkMessage {
116
+ /** The chunk x, in chunks (the block x divided by 16, floored). */
87
117
  x: number;
118
+ /** The chunk z, in chunks. */
88
119
  z: number;
120
+ /** The lowest block Y of the world (-64 in 1.20). */
89
121
  minY: number;
90
- sections: Array<{
122
+ /** The sections that are not air: one block for a uniform section, or a local palette and 4096 indices. */
123
+ sections: Array<
124
+ /** A uniform section: one block state. */
125
+ {
126
+ /** The section's y index (block y >> 4). */
91
127
  y: number;
128
+ /** The block state of every block in the section. */
92
129
  block: Block;
93
- } | {
130
+ }
131
+ /** A mixed section: a local palette and one palette index per block. */
132
+ | {
133
+ /** The section's y index (block y >> 4). */
94
134
  y: number;
135
+ /** The block states the section uses. */
95
136
  palette: Block[];
137
+ /** 4096 palette indices: x varies fastest, then z, then y. */
96
138
  data: number[];
97
139
  }>;
98
140
  }
@@ -100,7 +142,9 @@ export declare const emptyWorld: () => WorldState;
100
142
  export declare const chunkKey: (x: number, z: number) => string;
101
143
  /** Block coordinates of a box, both corners inclusive, ordered. */
102
144
  export declare function bounds(box: Box): {
145
+ /** The smallest x, y and z. */
103
146
  lo: Vec3;
147
+ /** The largest x, y and z. */
104
148
  hi: Vec3;
105
149
  };
106
150
  /** True when the block at `pos` (feet for a player) is inside `box`. */
@@ -117,20 +161,31 @@ export declare function setBlocks(w: WorldState, changes: ReadonlyArray<Vec3 & {
117
161
  }>): WorldState;
118
162
  export declare function fillBlocks(w: WorldState, box: Box, block: Block): WorldState;
119
163
  export type BlockMatch = Block | ((block: Block) => boolean);
164
+ /** True when every chunk that the box covers is in the mirror. */
165
+ export declare function regionLoaded(w: WorldState, box: Box): boolean;
120
166
  export declare function blockCount(w: WorldState, box: Box, match: BlockMatch): number;
121
167
  export declare function findBlocks(w: WorldState, box: Box, match: BlockMatch, limit?: number): Vec3[];
122
168
  export declare function putEntity(w: WorldState, e: Entity): WorldState;
123
169
  export declare function removeEntity(w: WorldState, id: string): WorldState;
170
+ /** One entity's move on the wire, sent with the tick. */
124
171
  export type EntityMove = {
172
+ /** The entity's id. */
125
173
  id: string;
174
+ /** The new position. */
126
175
  pos: Vec3;
176
+ /** Degrees, when it changed. */
127
177
  yaw?: number | undefined;
178
+ /** Degrees, when it changed. */
128
179
  pitch?: number | undefined;
180
+ /** Degrees, when it changed. */
129
181
  headYaw?: number | undefined;
130
182
  };
131
183
  export declare function moveEntities(w: WorldState, moves: ReadonlyArray<EntityMove>): WorldState;
184
+ /** Which entities `g.entities` returns; every field narrows the result. */
132
185
  export interface EntityFilter {
186
+ /** Only the entities whose position is inside the box. */
133
187
  box?: Box | undefined;
188
+ /** Only the entities of this type. */
134
189
  type?: EntityType | undefined;
135
190
  /** Exact tag, or a prefix when it ends with "*". */
136
191
  tag?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/runtime/world.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../src/runtime/world.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ exports.blockStateAt = blockStateAt;
17
17
  exports.blockAt = blockAt;
18
18
  exports.setBlocks = setBlocks;
19
19
  exports.fillBlocks = fillBlocks;
20
+ exports.regionLoaded = regionLoaded;
20
21
  exports.blockCount = blockCount;
21
22
  exports.findBlocks = findBlocks;
22
23
  exports.putEntity = putEntity;
@@ -25,6 +26,7 @@ exports.moveEntities = moveEntities;
25
26
  exports.entitiesIn = entitiesIn;
26
27
  exports.putOther = putOther;
27
28
  exports.removeOther = removeOther;
29
+ /** The air block id. */
28
30
  exports.AIR = "minecraft:air";
29
31
  /** The id part of a block state string: `minecraft:oak_fence[north=true]` -> `minecraft:oak_fence`. */
30
32
  function blockIdOf(state) {
@@ -271,6 +273,16 @@ const matcher = (m) => {
271
273
  return (state) => state === m;
272
274
  return (state) => blockIdOf(state) === m;
273
275
  };
276
+ /** True when every chunk that the box covers is in the mirror. */
277
+ function regionLoaded(w, box) {
278
+ const { lo, hi } = bounds(box);
279
+ for (let cx = lo.x >> 4; cx <= hi.x >> 4; cx++) {
280
+ for (let cz = lo.z >> 4; cz <= hi.z >> 4; cz++)
281
+ if (!w.chunks[(0, exports.chunkKey)(cx, cz)])
282
+ return false;
283
+ }
284
+ return true;
285
+ }
274
286
  function blockCount(w, box, match) {
275
287
  const ok = matcher(match);
276
288
  let n = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"world.js","sourceRoot":"","sources":["../../src/runtime/world.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"world.js","sourceRoot":"","sources":["../../src/runtime/world.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ import type { BlockMatch, BlockPos, BlockSpec, BlockState } from "./runtime/types.js";
2
+ import type { Vec3 } from "./runtime/wire.js";
3
+ /**
4
+ * A yaw rotation of a structure, in degrees, clockwise seen from above. The rotated cells are
5
+ * translated so the structure's minimum x/z corner stays at `origin`: the origin is the anchor
6
+ * corner of the rotated footprint, not a fixed pivot.
7
+ */
8
+ export type Rotation = 0 | 90 | 180 | 270;
9
+ /** One symbol of the palette: the block to place, and how a cell must match (default: `place` itself, its properties included). */
10
+ export interface PaletteEntry {
11
+ /** The block `placeStructure` sets. */
12
+ place: BlockSpec;
13
+ /** How a cell must match in `compareStructure`. Default: the id of `place` with the properties `place` names. */
14
+ match?: BlockMatch;
15
+ }
16
+ /** What `defineStructure` takes. */
17
+ export interface StructureDecl {
18
+ /**
19
+ * The layers from the bottom up. Each layer is a list of rows (z from the origin outward), each row a
20
+ * string of symbols (x from the origin outward). Every row of a layer has the same length.
21
+ */
22
+ layers: ReadonlyArray<ReadonlyArray<string>>;
23
+ /** The symbols. A symbol not in the palette, `air` or `ignore` is a definition error. */
24
+ palette: Readonly<Record<string, PaletteEntry>>;
25
+ /** The symbol of a cell that must be air. Default `"."`. */
26
+ air?: string;
27
+ /** The symbol of a cell the comparison ignores and the placement leaves alone. Default `"?"`. */
28
+ ignore?: string;
29
+ /**
30
+ * Whether the structure may be compared or placed with a rotation. The definition then checks that
31
+ * every directional block property of the palette is one the rotation table knows.
32
+ */
33
+ rotations?: boolean;
34
+ }
35
+ /** One cell of a structure, in structure coordinates. */
36
+ export interface Cell {
37
+ /** Blocks east of the origin. */
38
+ readonly x: number;
39
+ /** Blocks above the origin. */
40
+ readonly y: number;
41
+ /** Blocks south of the origin. */
42
+ readonly z: number;
43
+ /** The block to place; `"minecraft:air"` for an air cell. */
44
+ readonly place: BlockSpec;
45
+ /** How the cell must match; `undefined` means "air". */
46
+ readonly match: BlockMatch | undefined;
47
+ }
48
+ /** A defined structure: its cells and its size. */
49
+ export interface Structure {
50
+ /** Every cell, air cells included, ignored cells excluded. */
51
+ readonly cells: ReadonlyArray<Cell>;
52
+ /** The extent in blocks along x, y and z, before rotation. */
53
+ readonly size: {
54
+ /** Blocks along x. */
55
+ readonly x: number;
56
+ /** Blocks along y. */
57
+ readonly y: number;
58
+ /** Blocks along z. */
59
+ readonly z: number;
60
+ };
61
+ /** Whether a rotated comparison or placement is allowed. */
62
+ readonly rotations: boolean;
63
+ }
64
+ /** What `compareStructure` returns. */
65
+ export interface StructureReport {
66
+ /** True when no cell is unknown and none mismatches. */
67
+ readonly complete: boolean;
68
+ /** Cells that match (ignored cells are not counted). */
69
+ readonly matched: number;
70
+ /** Cells with a wrong block: the position, what was expected, what is there. */
71
+ readonly mismatched: ReadonlyArray<BlockPos & {
72
+ /** The block the cell expects, or air. */
73
+ expected: BlockMatch | "air";
74
+ /** The block state there. */
75
+ actual: BlockState;
76
+ }>;
77
+ /** Cells the mirror does not hold: an unloaded chunk. Never a mismatch. */
78
+ readonly unknown: ReadonlyArray<BlockPos>;
79
+ /** The rotation the report is for. */
80
+ readonly rotation: Rotation;
81
+ }
82
+ /** The reads the structure functions need from a context. */
83
+ export interface StructureReads {
84
+ /** The block with its state at `at`; `undefined` outside the loaded chunks. */
85
+ blockStateAt(at: Vec3): BlockState | undefined;
86
+ }
87
+ /** The effects `placeStructure` needs from a context. */
88
+ export interface StructureEffects {
89
+ /** Sets one block. */
90
+ setBlock(at: Vec3, block: BlockSpec): void;
91
+ }
92
+ /**
93
+ * Builds a structure from text layers and a palette. Throws a definition error on an unknown symbol or a
94
+ * ragged layer. A block state string in the palette is read as `{ id, props }`: its properties rotate with
95
+ * the structure, and a cell matches when the block has those properties (more properties are fine).
96
+ */
97
+ export declare function defineStructure(decl: StructureDecl): Structure;
98
+ /**
99
+ * Compares the structure with the world at `origin`. `rotation: "any"` tries 0, 90, 180 and 270 in that
100
+ * order and returns the first complete report, else the one with the fewest mismatches (the lowest angle on
101
+ * a tie). Unknown cells (an unloaded chunk) are reported, never counted as mismatches.
102
+ */
103
+ export declare function compareStructure(g: StructureReads, s: Structure, origin: Vec3, opts?: {
104
+ /** The rotation to compare with (0 by default), or `any` for the best of the four. */
105
+ rotation?: Rotation | "any";
106
+ }): StructureReport;
107
+ /** Queues one `setBlock` per cell of the structure at `origin`, with the rotation. Ignored cells are left alone. */
108
+ export declare function placeStructure(g: StructureEffects, s: Structure, origin: Vec3, opts?: {
109
+ /** The rotation to place with; 0 by default. */
110
+ rotation?: Rotation;
111
+ }): void;
112
+ /** The world positions of the structure's cells at `origin`, for a bounding box or a zone. */
113
+ export declare function structureBox(s: Structure, origin: Vec3, rotation?: Rotation): {
114
+ /** The minimum corner. */
115
+ from: BlockPos;
116
+ /** The maximum corner. */
117
+ to: BlockPos;
118
+ };
119
+ //# sourceMappingURL=structures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structures.d.ts","sourceRoot":"","sources":["../src/structures.ts"],"names":[],"mappings":"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"}