@sharpee/engine 0.9.107 → 0.9.113

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.
@@ -165,7 +165,7 @@ function executeCapabilityValidate(check, context) {
165
165
  };
166
166
  return { valid: true, data };
167
167
  }
168
- // For all-must-pass: same logic as any-blocks (any failure = overall failure)
168
+ // For all-must-pass: same logic one failure = overall failure
169
169
  if (resolution === 'all-must-pass') {
170
170
  for (const claim of claims) {
171
171
  const claimSharedData = {};
@@ -1 +1 @@
1
- {"version":3,"file":"capability-dispatch-helper.js","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/engine/src/capability-dispatch-helper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;AAsEH,0DAUC;AAYD,oEAsEC;AAsBD,8DAoGC;AA0CD,4DAYC;AAKD,0DAkBC;AAKD,4DA4BC;AAvYD,sDAY8B;AAgD9B;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,QAAgB,EAChB,MAA4B;IAE5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,kDAAkD;IAClD,OAAO,4BAA4B,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,4BAA4B,CAC1C,QAAgB,EAChB,QAAkC;IAElC,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAE7E,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,qBAAqB;IACrB,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAA,qCAAuB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,MAAM,OAAO,GAAG,IAAA,gCAAkB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,qDAAqD;YACrD,OAAO,CAAC,IAAI,CACV,8BAA8B,KAAK,CAAC,IAAI,aAAa,QAAQ,IAAI;gBACjE,4DAA4D,CAC7D,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;YACV,MAAM;YACN,KAAK;YACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,kBAAkB,EAAE,OAAO,CAAC,UAAU;SACvC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,mCAAmC;IACnC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE/C,kFAAkF;IAClF,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjF,MAAM,MAAM,GAAG,IAAA,iCAAmB,EAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,aAAa,IAAI,MAAM,CAAC,UAAU,CAAC;IAEtD,wEAAwE;IACxE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,KAAK,YAAY,IAAI,UAAU,KAAK,kBAAkB,EAAE,CAAC;QAC5F,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO;YACL,cAAc,EAAE,IAAI;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM;YACN,UAAU;SACX,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,OAAO;QACL,cAAc,EAAE,IAAI;QACpB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;QACtB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ;QAC5B,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;QACxB,MAAM;QACN,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,OAA2B,EAC3B,OAAsB;IAEtB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,yBAAyB,CACvC,KAA8B,EAC9B,OAAsB;IAEtB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAE9D,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;IAC9D,CAAC;IAED,6DAA6D;IAC7D,MAAM,UAAU,GAAyB,EAAE,CAAC;IAE5C,kFAAkF;IAClF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,UAAU,KAAK,YAAY,IAAI,UAAU,KAAK,kBAAkB,EAAE,CAAC;QACtG,OAAO,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC9E,CAAC;IAED,qDAAqD;IACrD,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,eAAe,GAAyB,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CACpC,KAAK,CAAC,MAAM,EACZ,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,CAAC,EAAE,EACjB,eAAe,CAChB,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClB,oCAAoC;gBACpC,MAAM,IAAI,GAA2B;oBACnC,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;oBACzB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;oBAC7B,UAAU,EAAE,eAAe;iBAC5B,CAAC;gBAEF,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,IAAI;iBACL,CAAC;YACJ,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,MAAM,IAAI,GAA2B;YACnC,KAAK;YACL,QAAQ;YACR,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,UAAU;SACX,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,8EAA8E;IAC9E,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,eAAe,GAAyB,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CACpC,KAAK,CAAC,MAAM,EACZ,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,CAAC,EAAE,EACjB,eAAe,CAChB,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClB,MAAM,IAAI,GAA2B;oBACnC,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;oBACzB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;oBAC7B,UAAU,EAAE,eAAe;iBAC5B,CAAC;gBAEF,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,IAAI;iBACL,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAA2B;YACnC,KAAK;YACL,QAAQ;YACR,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,UAAU;SACX,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,+BAA+B;IAC/B,OAAO,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAC7B,MAAgB,EAChB,KAAa,EACb,QAA4B,EAC5B,OAAsB,EACtB,UAAgC;IAEhC,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CACtC,MAAM,EACN,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,CAAC,EAAE,EACjB,UAAU,CACX,CAAC;IAEF,MAAM,IAAI,GAA2B;QACnC,KAAK;QACL,QAAQ;QACR,QAAQ,EAAE,MAAM,CAAC,EAAE;QACnB,UAAU,EAAE,MAAM,CAAC,IAAI;QACvB,UAAU;KACX,CAAC;IAEF,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,cAAc,CAAC,KAAK;YAC3B,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,IAAI;SACL,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CACtC,OAAsB;IAEtB,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,EAAE,IAA0C,CAAC;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;IAEpD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,iCAAiC;IACjC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACrC,OAAsB;IAEtB,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,EAAE,IAA0C,CAAC;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;IAEpD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,iCAAiC;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClC,MAAM,EACN,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,CAAC,EAAE,EACjB,IAAI,CAAC,UAAU,CAChB,CAAC;IACF,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CACtC,OAAsB,EACtB,MAAwB,EACxB,QAAgB;IAEhB,mDAAmD;IACnD,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAuC,CAAC;IACnG,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;IAEpD,2DAA2D;IAC3D,IAAI,MAAM,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CACnC,MAAM,EACN,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,CAAC,EAAE,EACjB,MAAM,CAAC,KAAK,IAAI,gBAAgB,EAChC,IAAI,CAAC,UAAU,CAChB,CAAC;QACF,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,wDAAwD;IACxD,OAAO;QACL,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE;YAC3C,SAAS,EAAE,MAAM,CAAC,KAAK,IAAI,gBAAgB;YAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;SAC5B,CAAC;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"capability-dispatch-helper.js","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/engine/src/capability-dispatch-helper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;AAsEH,0DAUC;AAYD,oEAsEC;AAsBD,8DAoGC;AA0CD,4DAYC;AAKD,0DAkBC;AAKD,4DA4BC;AAvYD,sDAY8B;AAgD9B;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,QAAgB,EAChB,MAA4B;IAE5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,kDAAkD;IAClD,OAAO,4BAA4B,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,4BAA4B,CAC1C,QAAgB,EAChB,QAAkC;IAElC,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAE7E,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,qBAAqB;IACrB,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAA,qCAAuB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,MAAM,OAAO,GAAG,IAAA,gCAAkB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,qDAAqD;YACrD,OAAO,CAAC,IAAI,CACV,8BAA8B,KAAK,CAAC,IAAI,aAAa,QAAQ,IAAI;gBACjE,4DAA4D,CAC7D,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;YACV,MAAM;YACN,KAAK;YACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,kBAAkB,EAAE,OAAO,CAAC,UAAU;SACvC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,mCAAmC;IACnC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE/C,kFAAkF;IAClF,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjF,MAAM,MAAM,GAAG,IAAA,iCAAmB,EAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,aAAa,IAAI,MAAM,CAAC,UAAU,CAAC;IAEtD,wEAAwE;IACxE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,KAAK,YAAY,IAAI,UAAU,KAAK,kBAAkB,EAAE,CAAC;QAC5F,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO;YACL,cAAc,EAAE,IAAI;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM;YACN,UAAU;SACX,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,OAAO;QACL,cAAc,EAAE,IAAI;QACpB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;QACtB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ;QAC5B,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;QACxB,MAAM;QACN,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,OAA2B,EAC3B,OAAsB;IAEtB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,yBAAyB,CACvC,KAA8B,EAC9B,OAAsB;IAEtB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAE9D,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;IAC9D,CAAC;IAED,6DAA6D;IAC7D,MAAM,UAAU,GAAyB,EAAE,CAAC;IAE5C,kFAAkF;IAClF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,UAAU,KAAK,YAAY,IAAI,UAAU,KAAK,kBAAkB,EAAE,CAAC;QACtG,OAAO,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC9E,CAAC;IAED,qDAAqD;IACrD,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,eAAe,GAAyB,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CACpC,KAAK,CAAC,MAAM,EACZ,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,CAAC,EAAE,EACjB,eAAe,CAChB,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClB,oCAAoC;gBACpC,MAAM,IAAI,GAA2B;oBACnC,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;oBACzB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;oBAC7B,UAAU,EAAE,eAAe;iBAC5B,CAAC;gBAEF,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,IAAI;iBACL,CAAC;YACJ,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,MAAM,IAAI,GAA2B;YACnC,KAAK;YACL,QAAQ;YACR,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,UAAU;SACX,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,gEAAgE;IAChE,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,eAAe,GAAyB,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CACpC,KAAK,CAAC,MAAM,EACZ,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,CAAC,EAAE,EACjB,eAAe,CAChB,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClB,MAAM,IAAI,GAA2B;oBACnC,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;oBACzB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;oBAC7B,UAAU,EAAE,eAAe;iBAC5B,CAAC;gBAEF,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,IAAI;iBACL,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAA2B;YACnC,KAAK;YACL,QAAQ;YACR,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,UAAU;SACX,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,+BAA+B;IAC/B,OAAO,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAC7B,MAAgB,EAChB,KAAa,EACb,QAA4B,EAC5B,OAAsB,EACtB,UAAgC;IAEhC,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CACtC,MAAM,EACN,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,CAAC,EAAE,EACjB,UAAU,CACX,CAAC;IAEF,MAAM,IAAI,GAA2B;QACnC,KAAK;QACL,QAAQ;QACR,QAAQ,EAAE,MAAM,CAAC,EAAE;QACnB,UAAU,EAAE,MAAM,CAAC,IAAI;QACvB,UAAU;KACX,CAAC;IAEF,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,cAAc,CAAC,KAAK;YAC3B,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,IAAI;SACL,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CACtC,OAAsB;IAEtB,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,EAAE,IAA0C,CAAC;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;IAEpD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,iCAAiC;IACjC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACrC,OAAsB;IAEtB,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,EAAE,IAA0C,CAAC;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;IAEpD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,iCAAiC;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClC,MAAM,EACN,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,CAAC,EAAE,EACjB,IAAI,CAAC,UAAU,CAChB,CAAC;IACF,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CACtC,OAAsB,EACtB,MAAwB,EACxB,QAAgB;IAEhB,mDAAmD;IACnD,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAuC,CAAC;IACnG,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;IAEpD,2DAA2D;IAC3D,IAAI,MAAM,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CACnC,MAAM,EACN,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,CAAC,EAAE,EACjB,MAAM,CAAC,KAAK,IAAI,gBAAgB,EAChC,IAAI,CAAC,UAAU,CAChB,CAAC;QACF,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,wDAAwD;IACxD,OAAO;QACL,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE;YAC3C,SAAS,EAAE,MAAM,CAAC,KAAK,IAAI,gBAAgB;YAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;SAC5B,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -15,6 +15,27 @@ import { WorldModel } from "../world-model/index";
15
15
  import { EventProcessor } from "../event-processor/index";
16
16
  import { ActionRegistry } from "../stdlib/index";
17
17
  import { GameContext, TurnResult, EngineConfig } from './types';
18
+ /**
19
+ * Data passed to pre-action hook listeners (ADR-148).
20
+ *
21
+ * Emitted after command validation but before the action's validate phase.
22
+ * Listeners can modify world state (e.g., break concealment before a noisy action).
23
+ */
24
+ export interface BeforeActionHookData {
25
+ /** The action about to execute */
26
+ actionId: string;
27
+ /** The actor performing the action */
28
+ actorId?: string;
29
+ /** Direct object entity ID, if any */
30
+ directObjectId?: string;
31
+ }
32
+ /**
33
+ * Listener for pre-action hooks.
34
+ *
35
+ * @param data - Hook data describing the action about to execute
36
+ * @param world - The world model (mutable — listeners can change state)
37
+ */
38
+ export type BeforeActionHookListener = (data: BeforeActionHookData, world: WorldModel) => void;
18
39
  /**
19
40
  * Transformer function for parsed commands.
20
41
  * Called after parsing but before validation.
@@ -32,6 +53,7 @@ export declare class CommandExecutor {
32
53
  private eventProcessor;
33
54
  private scopeResolver?;
34
55
  private parsedCommandTransformers;
56
+ private beforeActionListeners;
35
57
  constructor(world: WorldModel, actionRegistry: ActionRegistry, eventProcessor: EventProcessor, parser: IParser, systemEvents?: IGenericEventSource<ISystemEvent>);
36
58
  /**
37
59
  * Validate a parsed command against the world model.
@@ -54,6 +76,19 @@ export declare class CommandExecutor {
54
76
  * @returns true if the transformer was found and removed
55
77
  */
56
78
  unregisterParsedCommandTransformer(transformer: ParsedCommandTransformer): boolean;
79
+ /**
80
+ * Register a listener for the pre-action hook (ADR-148).
81
+ *
82
+ * Listeners fire after command context creation but before the action's
83
+ * validate phase. They can modify world state (e.g., break concealment).
84
+ *
85
+ * @param listener - The hook listener to register
86
+ */
87
+ onBeforeAction(listener: BeforeActionHookListener): void;
88
+ /**
89
+ * Emit the pre-action hook to all registered listeners.
90
+ */
91
+ private emitBeforeAction;
57
92
  execute(input: string, world: WorldModel, context: GameContext, config?: EngineConfig): Promise<TurnResult>;
58
93
  }
59
94
  export declare function createCommandExecutor(world: WorldModel, actionRegistry: ActionRegistry, eventProcessor: EventProcessor, parser: IParser, systemEvents?: IGenericEventSource<ISystemEvent>): CommandExecutor;
@@ -1 +1 @@
1
- {"version":3,"file":"command-executor.d.ts","sourceRoot":"","sources":["../../../../../repos/sharpee/packages/engine/src/command-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAkB,YAAY,EAAE,mBAAmB,EAA0B,MAAM,EAAE,MAAM,eAAe,CAAC;AAClH,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGpG,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAEL,cAAc,EAKf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAWhE;;;;;;;;GAQG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,UAAU,KACd,cAAc,CAAC;AAEpB,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,yBAAyB,CAAkC;gBAGjE,KAAK,EAAE,UAAU,EACjB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,OAAO,EACf,YAAY,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC;IAgBlD;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;IAIrF;;;;;OAKG;IACH,gCAAgC,CAAC,WAAW,EAAE,wBAAwB,GAAG,IAAI;IAI7E;;;;;OAKG;IACH,kCAAkC,CAAC,WAAW,EAAE,wBAAwB,GAAG,OAAO;IAS5E,OAAO,CACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,UAAU,CAAC;CA8SvB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,OAAO,EACf,YAAY,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,GAC/C,eAAe,CAEjB"}
1
+ {"version":3,"file":"command-executor.d.ts","sourceRoot":"","sources":["../../../../../repos/sharpee/packages/engine/src/command-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAkB,YAAY,EAAE,mBAAmB,EAA0B,MAAM,EAAE,MAAM,eAAe,CAAC;AAClH,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGpG,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAEL,cAAc,EAKf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAWhE;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAE/F;;;;;;;;GAQG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,UAAU,KACd,cAAc,CAAC;AAEpB,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,yBAAyB,CAAkC;IACnE,OAAO,CAAC,qBAAqB,CAAkC;gBAG7D,KAAK,EAAE,UAAU,EACjB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,OAAO,EACf,YAAY,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC;IAgBlD;;;;;OAKG;IACH,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;IAIrF;;;;;OAKG;IACH,gCAAgC,CAAC,WAAW,EAAE,wBAAwB,GAAG,IAAI;IAI7E;;;;;OAKG;IACH,kCAAkC,CAAC,WAAW,EAAE,wBAAwB,GAAG,OAAO;IASlF;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IAIxD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMlB,OAAO,CACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,WAAW,EACpB,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,UAAU,CAAC;CAqTvB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,OAAO,EACf,YAAY,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,GAC/C,eAAe,CAEjB"}
@@ -26,6 +26,7 @@ class CommandExecutor {
26
26
  eventProcessor;
27
27
  scopeResolver;
28
28
  parsedCommandTransformers = [];
29
+ beforeActionListeners = [];
29
30
  constructor(world, actionRegistry, eventProcessor, parser, systemEvents) {
30
31
  if (!world)
31
32
  throw new Error('World model is required');
@@ -75,6 +76,25 @@ class CommandExecutor {
75
76
  }
76
77
  return false;
77
78
  }
79
+ /**
80
+ * Register a listener for the pre-action hook (ADR-148).
81
+ *
82
+ * Listeners fire after command context creation but before the action's
83
+ * validate phase. They can modify world state (e.g., break concealment).
84
+ *
85
+ * @param listener - The hook listener to register
86
+ */
87
+ onBeforeAction(listener) {
88
+ this.beforeActionListeners.push(listener);
89
+ }
90
+ /**
91
+ * Emit the pre-action hook to all registered listeners.
92
+ */
93
+ emitBeforeAction(data, world) {
94
+ for (const listener of this.beforeActionListeners) {
95
+ listener(data, world);
96
+ }
97
+ }
78
98
  async execute(input, world, context, config) {
79
99
  const turn = context.currentTurn;
80
100
  // Timing tracking
@@ -150,6 +170,12 @@ class CommandExecutor {
150
170
  this.scopeResolver = (0, stdlib_1.createScopeResolver)(world);
151
171
  }
152
172
  const actionContext = (0, action_context_factory_1.createActionContext)(world, context, command, action, this.scopeResolver);
173
+ // Pre-action hook (ADR-148): listeners can modify world state before validation
174
+ this.emitBeforeAction({
175
+ actionId: command.actionId,
176
+ actorId: context.player?.id,
177
+ directObjectId: command.directObject?.entity?.id,
178
+ }, world);
153
179
  // Universal Capability Dispatch: Check if any involved entity has a capability for this action
154
180
  // If so, the entity's behavior handles the action instead of the stdlib default
155
181
  // Check all entities: directObject, indirectObject, and any others
@@ -1 +1 @@
1
- {"version":3,"file":"command-executor.js","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/engine/src/command-executor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AA+ZH,sDAQC;AAraD,wCAAkH;AAElH,yDAAqD;AACrD,yDAAsE;AAGtE,4CAOyB;AAGzB,qEAA+D;AAC/D,6EAOsC;AAgBtC,MAAa,eAAe;IAClB,MAAM,CAAU;IAChB,SAAS,CAAmB;IAC5B,cAAc,CAAiB;IAC/B,cAAc,CAAiB;IAC/B,aAAa,CAAiB;IAC9B,yBAAyB,GAA+B,EAAE,CAAC;IAEnE,YACE,KAAiB,EACjB,cAA8B,EAC9B,cAA8B,EAC9B,MAAe,EACf,YAAgD;QAEhD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACpE,IAAI,CAAC,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAEnD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,yBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC7D,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,OAAuB;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,gCAAgC,CAAC,WAAqC;QACpE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACH,kCAAkC,CAAC,WAAqC;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,OAAO,CACX,KAAa,EACb,KAAiB,EACjB,OAAoB,EACpB,MAAqB;QAErB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;QAEjC,kBAAkB;QAClB,MAAM,SAAS,GAAG,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,IAAI,CAAC;YACH,iDAAiD;YACjD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,MAAM,IAAI,IAAA,kCAAe,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3C,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC1D,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YAChE,CAAC;YAED,iBAAiB;YACjB,MAAM,UAAU,GAAG,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;gBAC1B,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;YACtC,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,iBAAkB,WAAW,CAAC,KAA2B,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC;YAClG,CAAC;YAED,+CAA+C;YAC/C,6DAA6D;YAC7D,IAAI,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC;YACtC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACzD,aAAa,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;YAED,oBAAoB;YACpB,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAChE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC9B,yEAAyE;gBACzE,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBACvD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;oBACrD,MAAM,UAAU,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;oBAEnD,6CAA6C;oBAC7C,MAAM,UAAU,GAAmB;wBACjC,EAAE,EAAE,kBAAkB,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;wBAC1C,IAAI,EAAE,cAAc;wBACpB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;wBACrB,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE;4BACJ,MAAM,EAAE,kBAAW,CAAC,cAAc;4BAClC,IAAI,EAAE,gBAAS,CAAC,cAAc;4BAC9B,SAAS,EAAE,4BAA4B;4BACvC,UAAU,EAAE,UAAU;4BACtB,UAAU,EAAE,OAAO,CAAC,UAAU;4BAC9B,eAAe,EAAE,aAAa;yBAC/B;qBACF,CAAC;oBAEF,kCAAkC;oBAClC,OAAO;wBACL,IAAI;wBACJ,KAAK;wBACL,OAAO,EAAE,KAAK;wBACd,UAAU,EAAE,IAAI;wBAChB,MAAM,EAAE,CAAC,UAAU,CAAC;wBACpB,KAAK,EAAE,uBAAuB;qBAC/B,CAAC;gBACJ,CAAC;gBAED,sCAAsC;gBACtC,MAAM,IAAI,KAAK,CAAC,sBAAsB,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;YAED,gDAAgD;YAChD,MAAM,cAAc,GAAG,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,iBAAiB;YACjB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,IAAI,CAAC,aAAa,GAAG,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,aAAa,GAAG,IAAA,4CAAmB,EAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAE/F,+FAA+F;YAC/F,gFAAgF;YAChF,mEAAmE;YACnE,MAAM,gBAAgB,GAAG;gBACvB,OAAO,CAAC,YAAY,EAAE,MAAM;gBAC5B,OAAO,CAAC,cAAc,EAAE,MAAM;aAC/B,CAAC;YACF,MAAM,eAAe,GAAG,IAAA,yDAA4B,EAClD,OAAO,CAAC,QAAQ,EAChB,gBAAgB,CACjB,CAAC;YAEF,qEAAqE;YACrE,gFAAgF;YAChF,IAAI,gBAAgB,GAAG,eAAe,CAAC,cAAc;gBACnD,CAAC,CAAC,IAAA,sDAAyB,EAAC,eAAe,EAAE,aAAa,CAAC;gBAC3D,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACnC,IAAI,cAAc,GAAG,OAAO,CAAC;YAC7B,IAAI,cAAc,GAAG,aAAa,CAAC;YACnC,IAAI,qBAAqB,GAAG,eAAe,CAAC,cAAc,CAAC;YAE3D,0EAA0E;YAC1E,yCAAyC;YACzC,iCAAiC;YACjC,MAAM,gBAAgB,GAAG,OAAO,CAAC,eAAe,EAAE,SAAS,KAAK,KAAK,CAAC;YACtE,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,MAAM,CAAC,kBAAkB,IAAI,gBAAgB,EAAE,CAAC;gBAC7E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;gBAC1C,uEAAuE;gBACvE,MAAM,gBAAgB,GAAG,YAAY,EAAE,MAA8C,CAAC;gBACtF,MAAM,UAAU,GAAG,gBAAgB,EAAE,UAAU,KAAK,IAAI,CAAC;gBAEzD,IAAI,UAAU,IAAI,YAAY,EAAE,MAAM,EAAE,CAAC;oBACvC,8EAA8E;oBAC9E,gFAAgF;oBAChF,yDAAyD;oBACzD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAc,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAG,CAAC,CAAC;oBAEzE,kCAAkC;oBAClC,MAAM,eAAe,GAAG,IAAA,uBAAc,EACpC,YAAY,CAAC,MAAM,EACnB,UAAU,EACV,MAAM,EACN,aAAa,EACb,KAAK,CACN,CAAC;oBAEF,IAAI,eAAe,CAAC,QAAQ,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC;wBAC/D,qDAAqD;wBACrD,MAAM,eAAe,GAAG;4BACtB,GAAG,OAAO;4BACV,YAAY,EAAE;gCACZ,MAAM,EAAE,eAAe,CAAC,cAAc;gCACtC,MAAM,EAAE;oCACN,GAAG,YAAY,CAAC,MAAM;oCACtB,yCAAyC;oCACzC,IAAI,EAAE,eAAe,CAAC,cAAc,CAAC,IAAI;iCAC1C;6BACF;yBACF,CAAC;wBAEF,2CAA2C;wBAC3C,MAAM,eAAe,GAAG,IAAA,4CAAmB,EACzC,KAAK,EACL,OAAO,EACP,eAAe,EACf,MAAM,EACN,IAAI,CAAC,aAAc,CACpB,CAAC;wBAEF,6DAA6D;wBAC7D,MAAM,UAAU,GAAG,eAAe,CAAC,UAA8B,CAAC;wBAClE,UAAU,CAAC,iCAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;wBACtD,UAAU,CAAC,iCAAc,CAAC,eAAe,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC;wBACjE,UAAU,CAAC,iCAAc,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC;wBAE5E,mDAAmD;wBACnD,MAAM,wBAAwB,GAAG;4BAC/B,eAAe,CAAC,cAAc;4BAC9B,OAAO,CAAC,cAAc,EAAE,MAAM;yBAC/B,CAAC;wBACF,MAAM,uBAAuB,GAAG,IAAA,yDAA4B,EAC1D,OAAO,CAAC,QAAQ,EAChB,wBAAwB,CACzB,CAAC;wBAEF,6EAA6E;wBAC7E,MAAM,eAAe,GAAG,uBAAuB,CAAC,cAAc;4BAC5D,CAAC,CAAC,IAAA,sDAAyB,EAAC,uBAAuB,EAAE,eAAe,CAAC;4BACrE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;wBAErC,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;4BAC1B,iDAAiD;4BACjD,gBAAgB,GAAG,eAAe,CAAC;4BACnC,cAAc,GAAG,eAAe,CAAC;4BACjC,cAAc,GAAG,eAAe,CAAC;4BACjC,qBAAqB,GAAG,uBAAuB,CAAC,cAAc,CAAC;wBACjE,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,uDAAuD;YACvD,uEAAuE;YACtE,cAAiE,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YAEvG,IAAI,MAAwB,CAAC;YAE7B,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,2CAA2C;oBAC3C,IAAA,qDAAwB,EAAC,cAAc,CAAC,CAAC;oBACzC,MAAM,GAAG,IAAA,oDAAuB,EAAC,cAAc,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACN,qCAAqC;oBACrC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;oBAErD,6BAA6B;oBAC7B,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;wBAC1D,oDAAoD;wBACpD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;4BAClB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;wBACzC,CAAC;6BAAM,CAAC;4BACN,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,CAAC,EAAE,sCAAsC,CAAC,CAAC;wBAC7E,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,qCAAqC;wBACrC,MAAM,GAAG,aAAiC,CAAC;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,qDAAqD;gBACrD,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,oDAAoD;oBACpD,MAAM,GAAG,IAAA,qDAAwB,EAAC,cAAc,EAAE,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACxF,CAAC;qBAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC1B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;gBAC5D,CAAC;qBAAM,CAAC;oBACN,kCAAkC;oBAClC,MAAM,GAAG,CAAC;4BACR,EAAE,EAAE,GAAG,IAAI,QAAQ;4BACnB,IAAI,EAAE,cAAc;4BACpB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;4BACrB,IAAI,EAAE;gCACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;gCAC1B,SAAS,EAAE,gBAAgB,CAAC,KAAK,IAAI,mBAAmB;gCACxD,MAAM,EAAE,gBAAgB,CAAC,MAAM,IAAI,EAAE;6BACtC;4BACD,QAAQ,EAAE,EAAE;yBACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;gBAC1B,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;YAC9C,CAAC;YAED,iEAAiE;YACjE,IAAI,SAAS,GAAG,MAAM,CAAC;YACvB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC5D,2CAA2C;gBAC3C,IAAI,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1D,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAe;gBACzB,IAAI;gBACJ,KAAK;gBACL,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;gBACrD,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,aAAa,EAAE,OAAO,CAAC,MAAM;gBAC7B,gBAAgB,EAAE,OAAO;aAC1B,CAAC;YAEF,+BAA+B;YAC/B,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;gBAC1B,MAAM,CAAC,MAAM,GAAG;oBACd,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,aAAa;oBACxB,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBAC9B,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,CAAC;QAEhB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+CAA+C;YAC/C,MAAM,MAAM,GAAe;gBACzB,IAAI;gBACJ,KAAK;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,CAAC;wBACP,EAAE,EAAE,cAAc,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;wBACtC,IAAI,EAAE,gBAAgB;wBACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;wBACrB,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE,EAAE,MAAM,EAAG,KAAe,CAAC,OAAO,EAAE,KAAK,EAAE;qBAClD,CAAC;gBACF,KAAK,EAAG,KAAe,CAAC,OAAO;aAChC,CAAC;YAEF,+CAA+C;YAC/C,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;gBAC1B,MAAM,CAAC,MAAM,GAAG;oBACd,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,aAAa;oBACxB,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBAC9B,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;CACF;AAnXD,0CAmXC;AAED,SAAgB,qBAAqB,CACnC,KAAiB,EACjB,cAA8B,EAC9B,cAA8B,EAC9B,MAAe,EACf,YAAgD;IAEhD,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"command-executor.js","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/engine/src/command-executor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAmdH,sDAQC;AAzdD,wCAAkH;AAElH,yDAAqD;AACrD,yDAAsE;AAGtE,4CAOyB;AAGzB,qEAA+D;AAC/D,6EAOsC;AAuCtC,MAAa,eAAe;IAClB,MAAM,CAAU;IAChB,SAAS,CAAmB;IAC5B,cAAc,CAAiB;IAC/B,cAAc,CAAiB;IAC/B,aAAa,CAAiB;IAC9B,yBAAyB,GAA+B,EAAE,CAAC;IAC3D,qBAAqB,GAA+B,EAAE,CAAC;IAE/D,YACE,KAAiB,EACjB,cAA8B,EAC9B,cAA8B,EAC9B,MAAe,EACf,YAAgD;QAEhD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACpE,IAAI,CAAC,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAEnD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,yBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC7D,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,OAAuB;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,gCAAgC,CAAC,WAAqC;QACpE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACH,kCAAkC,CAAC,WAAqC;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,QAAkC;QAC/C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,IAA0B,EAAE,KAAiB;QACpE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAClD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CACX,KAAa,EACb,KAAiB,EACjB,OAAoB,EACpB,MAAqB;QAErB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;QAEjC,kBAAkB;QAClB,MAAM,SAAS,GAAG,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,IAAI,CAAC;YACH,iDAAiD;YACjD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,MAAM,IAAI,IAAA,kCAAe,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3C,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC1D,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YAChE,CAAC;YAED,iBAAiB;YACjB,MAAM,UAAU,GAAG,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;gBAC1B,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;YACtC,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,iBAAkB,WAAW,CAAC,KAA2B,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC;YAClG,CAAC;YAED,+CAA+C;YAC/C,6DAA6D;YAC7D,IAAI,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC;YACtC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACzD,aAAa,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;YAED,oBAAoB;YACpB,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAChE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC9B,yEAAyE;gBACzE,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBACvD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;oBACrD,MAAM,UAAU,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;oBAEnD,6CAA6C;oBAC7C,MAAM,UAAU,GAAmB;wBACjC,EAAE,EAAE,kBAAkB,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;wBAC1C,IAAI,EAAE,cAAc;wBACpB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;wBACrB,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE;4BACJ,MAAM,EAAE,kBAAW,CAAC,cAAc;4BAClC,IAAI,EAAE,gBAAS,CAAC,cAAc;4BAC9B,SAAS,EAAE,4BAA4B;4BACvC,UAAU,EAAE,UAAU;4BACtB,UAAU,EAAE,OAAO,CAAC,UAAU;4BAC9B,eAAe,EAAE,aAAa;yBAC/B;qBACF,CAAC;oBAEF,kCAAkC;oBAClC,OAAO;wBACL,IAAI;wBACJ,KAAK;wBACL,OAAO,EAAE,KAAK;wBACd,UAAU,EAAE,IAAI;wBAChB,MAAM,EAAE,CAAC,UAAU,CAAC;wBACpB,KAAK,EAAE,uBAAuB;qBAC/B,CAAC;gBACJ,CAAC;gBAED,sCAAsC;gBACtC,MAAM,IAAI,KAAK,CAAC,sBAAsB,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACvE,CAAC;YAED,gDAAgD;YAChD,MAAM,cAAc,GAAG,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,iBAAiB;YACjB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,IAAI,CAAC,aAAa,GAAG,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,aAAa,GAAG,IAAA,4CAAmB,EAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAE/F,gFAAgF;YAChF,IAAI,CAAC,gBAAgB,CAAC;gBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE;gBAC3B,cAAc,EAAE,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE;aACjD,EAAE,KAAK,CAAC,CAAC;YAEV,+FAA+F;YAC/F,gFAAgF;YAChF,mEAAmE;YACnE,MAAM,gBAAgB,GAAG;gBACvB,OAAO,CAAC,YAAY,EAAE,MAAM;gBAC5B,OAAO,CAAC,cAAc,EAAE,MAAM;aAC/B,CAAC;YACF,MAAM,eAAe,GAAG,IAAA,yDAA4B,EAClD,OAAO,CAAC,QAAQ,EAChB,gBAAgB,CACjB,CAAC;YAEF,qEAAqE;YACrE,gFAAgF;YAChF,IAAI,gBAAgB,GAAG,eAAe,CAAC,cAAc;gBACnD,CAAC,CAAC,IAAA,sDAAyB,EAAC,eAAe,EAAE,aAAa,CAAC;gBAC3D,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACnC,IAAI,cAAc,GAAG,OAAO,CAAC;YAC7B,IAAI,cAAc,GAAG,aAAa,CAAC;YACnC,IAAI,qBAAqB,GAAG,eAAe,CAAC,cAAc,CAAC;YAE3D,0EAA0E;YAC1E,yCAAyC;YACzC,iCAAiC;YACjC,MAAM,gBAAgB,GAAG,OAAO,CAAC,eAAe,EAAE,SAAS,KAAK,KAAK,CAAC;YACtE,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,MAAM,CAAC,kBAAkB,IAAI,gBAAgB,EAAE,CAAC;gBAC7E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;gBAC1C,uEAAuE;gBACvE,MAAM,gBAAgB,GAAG,YAAY,EAAE,MAA8C,CAAC;gBACtF,MAAM,UAAU,GAAG,gBAAgB,EAAE,UAAU,KAAK,IAAI,CAAC;gBAEzD,IAAI,UAAU,IAAI,YAAY,EAAE,MAAM,EAAE,CAAC;oBACvC,8EAA8E;oBAC9E,gFAAgF;oBAChF,yDAAyD;oBACzD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAc,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAG,CAAC,CAAC;oBAEzE,kCAAkC;oBAClC,MAAM,eAAe,GAAG,IAAA,uBAAc,EACpC,YAAY,CAAC,MAAM,EACnB,UAAU,EACV,MAAM,EACN,aAAa,EACb,KAAK,CACN,CAAC;oBAEF,IAAI,eAAe,CAAC,QAAQ,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC;wBAC/D,qDAAqD;wBACrD,MAAM,eAAe,GAAG;4BACtB,GAAG,OAAO;4BACV,YAAY,EAAE;gCACZ,MAAM,EAAE,eAAe,CAAC,cAAc;gCACtC,MAAM,EAAE;oCACN,GAAG,YAAY,CAAC,MAAM;oCACtB,yCAAyC;oCACzC,IAAI,EAAE,eAAe,CAAC,cAAc,CAAC,IAAI;iCAC1C;6BACF;yBACF,CAAC;wBAEF,2CAA2C;wBAC3C,MAAM,eAAe,GAAG,IAAA,4CAAmB,EACzC,KAAK,EACL,OAAO,EACP,eAAe,EACf,MAAM,EACN,IAAI,CAAC,aAAc,CACpB,CAAC;wBAEF,6DAA6D;wBAC7D,MAAM,UAAU,GAAG,eAAe,CAAC,UAA8B,CAAC;wBAClE,UAAU,CAAC,iCAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;wBACtD,UAAU,CAAC,iCAAc,CAAC,eAAe,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC;wBACjE,UAAU,CAAC,iCAAc,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC;wBAE5E,mDAAmD;wBACnD,MAAM,wBAAwB,GAAG;4BAC/B,eAAe,CAAC,cAAc;4BAC9B,OAAO,CAAC,cAAc,EAAE,MAAM;yBAC/B,CAAC;wBACF,MAAM,uBAAuB,GAAG,IAAA,yDAA4B,EAC1D,OAAO,CAAC,QAAQ,EAChB,wBAAwB,CACzB,CAAC;wBAEF,6EAA6E;wBAC7E,MAAM,eAAe,GAAG,uBAAuB,CAAC,cAAc;4BAC5D,CAAC,CAAC,IAAA,sDAAyB,EAAC,uBAAuB,EAAE,eAAe,CAAC;4BACrE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;wBAErC,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;4BAC1B,iDAAiD;4BACjD,gBAAgB,GAAG,eAAe,CAAC;4BACnC,cAAc,GAAG,eAAe,CAAC;4BACjC,cAAc,GAAG,eAAe,CAAC;4BACjC,qBAAqB,GAAG,uBAAuB,CAAC,cAAc,CAAC;wBACjE,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,uDAAuD;YACvD,uEAAuE;YACtE,cAAiE,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YAEvG,IAAI,MAAwB,CAAC;YAE7B,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,2CAA2C;oBAC3C,IAAA,qDAAwB,EAAC,cAAc,CAAC,CAAC;oBACzC,MAAM,GAAG,IAAA,oDAAuB,EAAC,cAAc,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACN,qCAAqC;oBACrC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;oBAErD,6BAA6B;oBAC7B,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;wBAC1D,oDAAoD;wBACpD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;4BAClB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;wBACzC,CAAC;6BAAM,CAAC;4BACN,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,CAAC,EAAE,sCAAsC,CAAC,CAAC;wBAC7E,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,qCAAqC;wBACrC,MAAM,GAAG,aAAiC,CAAC;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,qDAAqD;gBACrD,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,oDAAoD;oBACpD,MAAM,GAAG,IAAA,qDAAwB,EAAC,cAAc,EAAE,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACxF,CAAC;qBAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC1B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;gBAC5D,CAAC;qBAAM,CAAC;oBACN,kCAAkC;oBAClC,MAAM,GAAG,CAAC;4BACR,EAAE,EAAE,GAAG,IAAI,QAAQ;4BACnB,IAAI,EAAE,cAAc;4BACpB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;4BACrB,IAAI,EAAE;gCACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;gCAC1B,SAAS,EAAE,gBAAgB,CAAC,KAAK,IAAI,mBAAmB;gCACxD,MAAM,EAAE,gBAAgB,CAAC,MAAM,IAAI,EAAE;6BACtC;4BACD,QAAQ,EAAE,EAAE;yBACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;gBAC1B,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;YAC9C,CAAC;YAED,iEAAiE;YACjE,IAAI,SAAS,GAAG,MAAM,CAAC;YACvB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC5D,2CAA2C;gBAC3C,IAAI,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1D,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAe;gBACzB,IAAI;gBACJ,KAAK;gBACL,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;gBACrD,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,aAAa,EAAE,OAAO,CAAC,MAAM;gBAC7B,gBAAgB,EAAE,OAAO;aAC1B,CAAC;YAEF,+BAA+B;YAC/B,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;gBAC1B,MAAM,CAAC,MAAM,GAAG;oBACd,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,aAAa;oBACxB,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBAC9B,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,CAAC;QAEhB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+CAA+C;YAC/C,MAAM,MAAM,GAAe;gBACzB,IAAI;gBACJ,KAAK;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,CAAC;wBACP,EAAE,EAAE,cAAc,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;wBACtC,IAAI,EAAE,gBAAgB;wBACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;wBACrB,QAAQ,EAAE,EAAE;wBACZ,IAAI,EAAE,EAAE,MAAM,EAAG,KAAe,CAAC,OAAO,EAAE,KAAK,EAAE;qBAClD,CAAC;gBACF,KAAK,EAAG,KAAe,CAAC,OAAO;aAChC,CAAC;YAEF,+CAA+C;YAC/C,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;gBAC1B,MAAM,CAAC,MAAM,GAAG;oBACd,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,aAAa;oBACxB,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBAC9B,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;CACF;AAhZD,0CAgZC;AAED,SAAgB,qBAAqB,CACnC,KAAiB,EACjB,cAA8B,EAC9B,cAA8B,EAC9B,MAAe,EACf,YAAgD;IAEhD,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAC1F,CAAC"}
package/game-engine.d.ts CHANGED
@@ -11,10 +11,10 @@ import { ITextService } from "../text-service/index";
11
11
  import { ITextBlock } from "../text-blocks/index";
12
12
  import { ISemanticEvent, ISaveRestoreHooks, ISemanticEventSource } from "../core/index";
13
13
  import { PluginRegistry } from "../plugins/index";
14
- import { GameContext, TurnResult, EngineConfig, InputModeHandler } from './types';
14
+ import { GameContext, TurnResult, EngineConfig, InputModeHandler, EngineIntrospection } from './types';
15
15
  import { Story } from './story';
16
16
  import { NarrativeSettings } from './narrative';
17
- import { ParsedCommandTransformer } from './command-executor';
17
+ import { ParsedCommandTransformer, BeforeActionHookListener } from './command-executor';
18
18
  /**
19
19
  * Game engine events
20
20
  */
@@ -84,6 +84,14 @@ export declare class GameEngine {
84
84
  * Get the current language provider
85
85
  */
86
86
  getLanguageProvider(): LanguageProvider | undefined;
87
+ /**
88
+ * Returns a serializable snapshot of the engine's internal state for
89
+ * tooling (VS Code extension, CLI --world-json). The engine owns the
90
+ * serialization — callers consume the plain data shape.
91
+ *
92
+ * @returns EngineIntrospection with actions, patterns, and metadata
93
+ */
94
+ introspect(): EngineIntrospection;
87
95
  /**
88
96
  * Start the game engine
89
97
  */
@@ -253,6 +261,16 @@ export declare class GameEngine {
253
261
  * @returns true if the transformer was found and removed
254
262
  */
255
263
  unregisterParsedCommandTransformer(transformer: ParsedCommandTransformer): boolean;
264
+ /**
265
+ * Register a pre-action hook listener (ADR-148).
266
+ *
267
+ * Listeners fire after command context creation but before the action's
268
+ * validate phase. They can modify world state (e.g., break concealment
269
+ * before a noisy action executes).
270
+ *
271
+ * @param listener - The hook listener
272
+ */
273
+ onBeforeAction(listener: BeforeActionHookListener): void;
256
274
  /**
257
275
  * Save game state using registered hooks
258
276
  */
@@ -1 +1 @@
1
- {"version":3,"file":"game-engine.d.ts","sourceRoot":"","sources":["../../../../../repos/sharpee/packages/engine/src/game-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"game-engine.d.ts","sourceRoot":"","sources":["../../../../../repos/sharpee/packages/engine/src/game-engine.ts"],"names":[],"mappings":"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"}
package/game-engine.js CHANGED
@@ -13,6 +13,7 @@ const text_service_1 = require("../text-service/index.js");
13
13
  const text_blocks_1 = require("../text-blocks/index.js");
14
14
  const core_1 = require("../core/index.js");
15
15
  const plugins_1 = require("../plugins/index.js");
16
+ const scene_evaluation_plugin_1 = require("./scene-evaluation-plugin");
16
17
  const types_1 = require("./types");
17
18
  const narrative_1 = require("./narrative");
18
19
  const command_executor_1 = require("./command-executor");
@@ -122,6 +123,7 @@ class GameEngine {
122
123
  });
123
124
  });
124
125
  this.pluginRegistry = new plugins_1.PluginRegistry();
126
+ this.pluginRegistry.register(new scene_evaluation_plugin_1.SceneEvaluationPlugin());
125
127
  this.random = (0, core_1.createSeededRandom)();
126
128
  this.narrativeSettings = (0, narrative_1.buildNarrativeSettings)(); // Default: 2nd person
127
129
  // Initialize extracted services (Phase 4 remediation)
@@ -163,14 +165,6 @@ class GameEngine {
163
165
  const newPlayer = story.createPlayer(this.world);
164
166
  this.context.player = newPlayer;
165
167
  this.world.setPlayer(newPlayer.id);
166
- // Wire direction vocabulary listener (ADR-143)
167
- // When the story calls world.directions().useVocabulary(), the parser
168
- // rebuilds its direction mappings and grammar patterns automatically.
169
- if (this.parser && 'setDirectionVocabulary' in this.parser) {
170
- this.world.directions().onVocabularyChange((vocab) => {
171
- this.parser.setDirectionVocabulary(vocab);
172
- });
173
- }
174
168
  // Initialize story-specific world content (player must exist first)
175
169
  story.initializeWorld(this.world);
176
170
  // Configure language provider with narrative settings (ADR-089)
@@ -232,6 +226,133 @@ class GameEngine {
232
226
  getLanguageProvider() {
233
227
  return this.languageProvider;
234
228
  }
229
+ /**
230
+ * Returns a serializable snapshot of the engine's internal state for
231
+ * tooling (VS Code extension, CLI --world-json). The engine owns the
232
+ * serialization — callers consume the plain data shape.
233
+ *
234
+ * @returns EngineIntrospection with actions, patterns, and metadata
235
+ */
236
+ introspect() {
237
+ const actions = [];
238
+ const lang = this.languageProvider;
239
+ for (const action of this.actionRegistry.getAll()) {
240
+ const patterns = lang?.getActionPatterns(action.id) ?? [];
241
+ const rawHelp = lang?.getActionHelp?.(action.id);
242
+ const help = rawHelp
243
+ ? { description: rawHelp.description, verbs: rawHelp.verbs, examples: rawHelp.examples }
244
+ : null;
245
+ actions.push({
246
+ id: action.id,
247
+ group: action.group ?? null,
248
+ priority: action.priority ?? 0,
249
+ isStandard: action.id.startsWith('if.action.'),
250
+ patterns,
251
+ help,
252
+ });
253
+ }
254
+ // Trait summaries — enumerate all trait types in use across entities
255
+ const traitMap = new Map();
256
+ for (const entity of this.world.getAllEntities()) {
257
+ for (const trait of entity.getTraits()) {
258
+ const type = trait.type;
259
+ const entry = traitMap.get(type);
260
+ if (entry) {
261
+ entry.entityIds.push(entity.id);
262
+ if (!entry.sample)
263
+ entry.sample = trait;
264
+ }
265
+ else {
266
+ traitMap.set(type, { entityIds: [entity.id], sample: trait });
267
+ }
268
+ }
269
+ }
270
+ // Collect capability and interceptor registrations per trait type
271
+ const capsByTrait = new Map();
272
+ for (const [key] of (0, world_model_1.getAllCapabilityBindings)()) {
273
+ const [traitType, capability] = key.split(':');
274
+ const list = capsByTrait.get(traitType) ?? [];
275
+ list.push(capability);
276
+ capsByTrait.set(traitType, list);
277
+ }
278
+ const intsByTrait = new Map();
279
+ for (const [key] of (0, world_model_1.getAllInterceptorBindings)()) {
280
+ const [traitType, actionId] = key.split(':');
281
+ const list = intsByTrait.get(traitType) ?? [];
282
+ list.push(actionId);
283
+ intsByTrait.set(traitType, list);
284
+ }
285
+ const PLATFORM_PREFIXES = ['room', 'identity', 'container', 'supporter', 'openable',
286
+ 'lockable', 'switchable', 'readable', 'scenery', 'actor', 'combatant',
287
+ 'light-source', 'wearable', 'region', 'scene', 'story-info', 'player',
288
+ 'npc', 'portable'];
289
+ const traits = [];
290
+ for (const [type, { entityIds, sample }] of traitMap) {
291
+ const properties = sample
292
+ ? Object.keys(sample).filter(k => k !== 'type')
293
+ : [];
294
+ traits.push({
295
+ type,
296
+ isStandard: PLATFORM_PREFIXES.includes(type) || type.startsWith('if.'),
297
+ entityCount: entityIds.length,
298
+ entityIds,
299
+ properties,
300
+ capabilities: capsByTrait.get(type) ?? [],
301
+ interceptors: intsByTrait.get(type) ?? [],
302
+ });
303
+ }
304
+ // Behavior bindings — capability behaviors and action interceptors
305
+ const behaviors = [];
306
+ for (const [key, binding] of (0, world_model_1.getAllCapabilityBindings)()) {
307
+ const [traitType, capability] = key.split(':');
308
+ const behavior = binding.behavior;
309
+ const phases = [];
310
+ if (typeof behavior.validate === 'function')
311
+ phases.push('validate');
312
+ if (typeof behavior.execute === 'function')
313
+ phases.push('execute');
314
+ if (typeof behavior.report === 'function')
315
+ phases.push('report');
316
+ if (typeof behavior.blocked === 'function')
317
+ phases.push('blocked');
318
+ behaviors.push({
319
+ traitType,
320
+ actionId: capability,
321
+ priority: binding.priority ?? 0,
322
+ phases,
323
+ kind: 'capability',
324
+ });
325
+ }
326
+ for (const [key, binding] of (0, world_model_1.getAllInterceptorBindings)()) {
327
+ const [traitType, actionId] = key.split(':');
328
+ const interceptor = binding.interceptor;
329
+ const phases = [];
330
+ if (typeof interceptor.preValidate === 'function')
331
+ phases.push('preValidate');
332
+ if (typeof interceptor.postValidate === 'function')
333
+ phases.push('postValidate');
334
+ if (typeof interceptor.postExecute === 'function')
335
+ phases.push('postExecute');
336
+ behaviors.push({
337
+ traitType,
338
+ actionId,
339
+ priority: binding.priority ?? 0,
340
+ phases,
341
+ kind: 'interceptor',
342
+ });
343
+ }
344
+ // Language messages — all registered message IDs with text and source
345
+ const messages = [];
346
+ const allMessages = lang?.getAllMessages?.();
347
+ if (allMessages) {
348
+ const PLATFORM_PREFIXES = ['if.', 'core.', 'game.', 'npc.', 'combat.', 'character.'];
349
+ for (const [id, text] of allMessages) {
350
+ const source = PLATFORM_PREFIXES.some(p => id.startsWith(p)) ? 'platform' : 'story';
351
+ messages.push({ id, text, source });
352
+ }
353
+ }
354
+ return { actions, traits, behaviors, messages };
355
+ }
235
356
  /**
236
357
  * Start the game engine
237
358
  */
@@ -1144,6 +1265,18 @@ class GameEngine {
1144
1265
  unregisterParsedCommandTransformer(transformer) {
1145
1266
  return this.commandExecutor.unregisterParsedCommandTransformer(transformer);
1146
1267
  }
1268
+ /**
1269
+ * Register a pre-action hook listener (ADR-148).
1270
+ *
1271
+ * Listeners fire after command context creation but before the action's
1272
+ * validate phase. They can modify world state (e.g., break concealment
1273
+ * before a noisy action executes).
1274
+ *
1275
+ * @param listener - The hook listener
1276
+ */
1277
+ onBeforeAction(listener) {
1278
+ this.commandExecutor.onBeforeAction(listener);
1279
+ }
1147
1280
  /**
1148
1281
  * Save game state using registered hooks
1149
1282
  */