@sharpee/core 0.9.56-beta
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/LICENSE +21 -0
- package/README.md +48 -0
- package/dist/constants/attributes.d.ts +32 -0
- package/dist/constants/attributes.d.ts.map +1 -0
- package/dist/constants/attributes.js +53 -0
- package/dist/constants/attributes.js.map +1 -0
- package/dist/constants/core-events.d.ts +37 -0
- package/dist/constants/core-events.d.ts.map +1 -0
- package/dist/constants/core-events.js +50 -0
- package/dist/constants/core-events.js.map +1 -0
- package/dist/constants/entity-types.d.ts +15 -0
- package/dist/constants/entity-types.d.ts.map +1 -0
- package/dist/constants/entity-types.js +27 -0
- package/dist/constants/entity-types.js.map +1 -0
- package/dist/constants/index.d.ts +22 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +41 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/relationships.d.ts +25 -0
- package/dist/constants/relationships.d.ts.map +1 -0
- package/dist/constants/relationships.js +55 -0
- package/dist/constants/relationships.js.map +1 -0
- package/dist/debug/index.d.ts +5 -0
- package/dist/debug/index.d.ts.map +1 -0
- package/dist/debug/index.js +21 -0
- package/dist/debug/index.js.map +1 -0
- package/dist/debug/types.d.ts +65 -0
- package/dist/debug/types.d.ts.map +1 -0
- package/dist/debug/types.js +39 -0
- package/dist/debug/types.js.map +1 -0
- package/dist/events/event-factory.d.ts +81 -0
- package/dist/events/event-factory.d.ts.map +1 -0
- package/dist/events/event-factory.js +74 -0
- package/dist/events/event-factory.js.map +1 -0
- package/dist/events/event-helpers.d.ts +118 -0
- package/dist/events/event-helpers.d.ts.map +1 -0
- package/dist/events/event-helpers.js +151 -0
- package/dist/events/event-helpers.js.map +1 -0
- package/dist/events/event-registry.d.ts +154 -0
- package/dist/events/event-registry.d.ts.map +1 -0
- package/dist/events/event-registry.js +24 -0
- package/dist/events/event-registry.js.map +1 -0
- package/dist/events/event-source.d.ts +39 -0
- package/dist/events/event-source.d.ts.map +1 -0
- package/dist/events/event-source.js +57 -0
- package/dist/events/event-source.js.map +1 -0
- package/dist/events/event-system.d.ts +27 -0
- package/dist/events/event-system.d.ts.map +1 -0
- package/dist/events/event-system.js +64 -0
- package/dist/events/event-system.js.map +1 -0
- package/dist/events/game-events.d.ts +245 -0
- package/dist/events/game-events.d.ts.map +1 -0
- package/dist/events/game-events.js +250 -0
- package/dist/events/game-events.js.map +1 -0
- package/dist/events/index.d.ts +19 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +51 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/platform-events.d.ts +161 -0
- package/dist/events/platform-events.d.ts.map +1 -0
- package/dist/events/platform-events.js +135 -0
- package/dist/events/platform-events.js.map +1 -0
- package/dist/events/semantic-event-source.d.ts +85 -0
- package/dist/events/semantic-event-source.d.ts.map +1 -0
- package/dist/events/semantic-event-source.js +147 -0
- package/dist/events/semantic-event-source.js.map +1 -0
- package/dist/events/standard-events.d.ts +26 -0
- package/dist/events/standard-events.d.ts.map +1 -0
- package/dist/events/standard-events.js +27 -0
- package/dist/events/standard-events.js.map +1 -0
- package/dist/events/system-event.d.ts +62 -0
- package/dist/events/system-event.d.ts.map +1 -0
- package/dist/events/system-event.js +55 -0
- package/dist/events/system-event.js.map +1 -0
- package/dist/events/typed-event.d.ts +69 -0
- package/dist/events/typed-event.d.ts.map +1 -0
- package/dist/events/typed-event.js +20 -0
- package/dist/events/typed-event.js.map +1 -0
- package/dist/events/types.d.ts +105 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +4 -0
- package/dist/events/types.js.map +1 -0
- package/dist/execution/index.d.ts +2 -0
- package/dist/execution/index.d.ts.map +1 -0
- package/dist/execution/index.js +23 -0
- package/dist/execution/index.js.map +1 -0
- package/dist/execution/types.d.ts +117 -0
- package/dist/execution/types.d.ts.map +1 -0
- package/dist/execution/types.js +4 -0
- package/dist/execution/types.js.map +1 -0
- package/dist/extensions/index.d.ts +3 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +20 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/registry.d.ts +61 -0
- package/dist/extensions/registry.d.ts.map +1 -0
- package/dist/extensions/registry.js +153 -0
- package/dist/extensions/registry.js.map +1 -0
- package/dist/extensions/types.d.ts +84 -0
- package/dist/extensions/types.d.ts.map +1 -0
- package/dist/extensions/types.js +15 -0
- package/dist/extensions/types.js.map +1 -0
- package/dist/ifid/ifid.d.ts +30 -0
- package/dist/ifid/ifid.d.ts.map +1 -0
- package/dist/ifid/ifid.js +52 -0
- package/dist/ifid/ifid.js.map +1 -0
- package/dist/ifid/index.d.ts +2 -0
- package/dist/ifid/index.d.ts.map +1 -0
- package/dist/ifid/index.js +9 -0
- package/dist/ifid/index.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/metadata/index.d.ts +2 -0
- package/dist/metadata/index.d.ts.map +1 -0
- package/dist/metadata/index.js +3 -0
- package/dist/metadata/index.js.map +1 -0
- package/dist/metadata/story-metadata.d.ts +64 -0
- package/dist/metadata/story-metadata.d.ts.map +1 -0
- package/dist/metadata/story-metadata.js +5 -0
- package/dist/metadata/story-metadata.js.map +1 -0
- package/dist/query/index.d.ts +9 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +25 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/query-manager.d.ts +86 -0
- package/dist/query/query-manager.d.ts.map +1 -0
- package/dist/query/query-manager.js +391 -0
- package/dist/query/query-manager.js.map +1 -0
- package/dist/query/types.d.ts +188 -0
- package/dist/query/types.d.ts.map +1 -0
- package/dist/query/types.js +106 -0
- package/dist/query/types.js.map +1 -0
- package/dist/random/index.d.ts +5 -0
- package/dist/random/index.d.ts.map +1 -0
- package/dist/random/index.js +9 -0
- package/dist/random/index.js.map +1 -0
- package/dist/random/seeded-random.d.ts +32 -0
- package/dist/random/seeded-random.d.ts.map +1 -0
- package/dist/random/seeded-random.js +62 -0
- package/dist/random/seeded-random.js.map +1 -0
- package/dist/rules/compatibility.d.ts +46 -0
- package/dist/rules/compatibility.d.ts.map +1 -0
- package/dist/rules/compatibility.js +62 -0
- package/dist/rules/compatibility.js.map +1 -0
- package/dist/rules/condition-builder.d.ts +23 -0
- package/dist/rules/condition-builder.d.ts.map +1 -0
- package/dist/rules/condition-builder.js +16 -0
- package/dist/rules/condition-builder.js.map +1 -0
- package/dist/rules/helpers.d.ts +51 -0
- package/dist/rules/helpers.d.ts.map +1 -0
- package/dist/rules/helpers.js +111 -0
- package/dist/rules/helpers.js.map +1 -0
- package/dist/rules/index.d.ts +12 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +34 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/rules/rule-system.d.ts +6 -0
- package/dist/rules/rule-system.d.ts.map +1 -0
- package/dist/rules/rule-system.js +10 -0
- package/dist/rules/rule-system.js.map +1 -0
- package/dist/rules/rule-world-adapter.d.ts +43 -0
- package/dist/rules/rule-world-adapter.d.ts.map +1 -0
- package/dist/rules/rule-world-adapter.js +74 -0
- package/dist/rules/rule-world-adapter.js.map +1 -0
- package/dist/rules/simple-rule-system.d.ts +36 -0
- package/dist/rules/simple-rule-system.d.ts.map +1 -0
- package/dist/rules/simple-rule-system.js +135 -0
- package/dist/rules/simple-rule-system.js.map +1 -0
- package/dist/rules/types.d.ts +64 -0
- package/dist/rules/types.d.ts.map +1 -0
- package/dist/rules/types.js +6 -0
- package/dist/rules/types.js.map +1 -0
- package/dist/types/attribute.d.ts +40 -0
- package/dist/types/attribute.d.ts.map +1 -0
- package/dist/types/attribute.js +4 -0
- package/dist/types/attribute.js.map +1 -0
- package/dist/types/entity.d.ts +47 -0
- package/dist/types/entity.d.ts.map +1 -0
- package/dist/types/entity.js +4 -0
- package/dist/types/entity.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +27 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/relationship.d.ts +44 -0
- package/dist/types/relationship.d.ts.map +1 -0
- package/dist/types/relationship.js +4 -0
- package/dist/types/relationship.js.map +1 -0
- package/dist/types/result.d.ts +81 -0
- package/dist/types/result.d.ts.map +1 -0
- package/dist/types/result.js +79 -0
- package/dist/types/result.js.map +1 -0
- package/dist/types/save-data.d.ts +264 -0
- package/dist/types/save-data.d.ts.map +1 -0
- package/dist/types/save-data.js +6 -0
- package/dist/types/save-data.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"game-events.js","sourceRoot":"","sources":["../../src/events/game-events.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAoNH,kCAEC;AAKD,4DASC;AAKD,wDASC;AAiBD,0CAWC;AAID,kEAIC;AAED,gEAIC;AAED,0DAIC;AAED,wDAKC;AAED,0DAKC;AAED,wDAiBC;AAED,sDASC;AAED,oDAgBC;AAED,gDAeC;AAED,kDAeC;AAED,kDAcC;AAED,wDAkBC;AAOD,gDAEC;AAED,4CAEC;AAED,wCAEC;AAED,0CAEC;AAED,0CAEC;AAED,gDAEC;AA1RD,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF;;GAEG;AACU,QAAA,aAAa,GAAG;IAC3B,oBAAoB;IACpB,iBAAiB,EAAE,mBAAmB,EAAS,uBAAuB;IACtE,gBAAgB,EAAE,kBAAkB,EAAW,6BAA6B;IAC5E,aAAa,EAAE,oBAAoB,EAAY,wBAAwB;IACvE,YAAY,EAAE,mBAAmB,EAAc,4BAA4B;IAC3E,aAAa,EAAE,eAAe,EAAiB,yBAAyB;IACxE,YAAY,EAAE,cAAc,EAAmB,oCAAoC;IAEnF,oBAAoB;IACpB,WAAW,EAAE,aAAa,EAAqB,uBAAuB;IACtE,UAAU,EAAE,YAAY,EAAuB,0BAA0B;IACzE,QAAQ,EAAE,UAAU,EAA2B,0BAA0B;IACzE,SAAS,EAAE,WAAW,EAAyB,sBAAsB;IACrE,SAAS,EAAE,WAAW,EAAyB,uBAAuB;IACtE,YAAY,EAAE,cAAc,EAAmB,wBAAwB;IAEvE,iBAAiB;IACjB,cAAc,EAAE,qBAAqB,EAAU,mBAAmB;IAClE,aAAa,EAAE,oBAAoB,EAAY,iBAAiB;IAChE,iBAAiB,EAAE,wBAAwB,EAAI,wBAAwB;IACvE,gBAAgB,EAAE,uBAAuB,EAAM,oBAAoB;IAEnE,eAAe;IACf,qBAAqB,EAAE,4BAA4B;IACnD,iBAAiB,EAAE,wBAAwB;IAC3C,WAAW,EAAE,kBAAkB;CACvB,CAAC;AAKX;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAqB;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAA0B,CAAC,CAAC;AACjF,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,KAAqB;IAC5D,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,iBAAiB;QAC9C,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,gBAAgB;QAC7C,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,aAAa;QAC1C,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,YAAY;QACzC,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,aAAa;QAC1C,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,YAAY,CAC1C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,KAAqB;IAC1D,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,WAAW;QACxC,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,UAAU;QACvC,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,QAAQ;QACrC,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,SAAS;QACtC,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,SAAS;QACtC,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,YAAY,CAC1C,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;AAEhF;;GAEG;AACH,SAAS,eAAe;IACtB,OAAO,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAC7B,IAAwB,EACxB,IAAQ;IAER,OAAO;QACL,EAAE,EAAE,eAAe,EAAE;QACrB,IAAI;QACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,IAAI,IAAI,EAAE;KACjB,CAAC;AACJ,CAAC;AAED,sEAAsE;AAEtE,SAAgB,2BAA2B;IACzC,OAAO,eAAe,CAAgC,qBAAa,CAAC,iBAAiB,EAAE;QACrF,SAAS,EAAE,cAAc;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,0BAA0B;IACxC,OAAO,eAAe,CAA+B,qBAAa,CAAC,gBAAgB,EAAE;QACnF,SAAS,EAAE,OAAO;KACnB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,uBAAuB,CAAC,OAAgB;IACtD,OAAO,eAAe,CAAgC,qBAAa,CAAC,aAAa,EAAE;QACjF,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;KACvB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,sBAAsB,CAAC,KAAyB;IAC9D,OAAO,eAAe,CAA+B,qBAAa,CAAC,YAAY,EAAE;QAC/E,KAAK;QACL,SAAS,EAAE,OAAO;KACnB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,uBAAuB,CAAC,KAA0B;IAChE,OAAO,eAAe,CAA4B,qBAAa,CAAC,aAAa,EAAE;QAC7E,KAAK;QACL,SAAS,EAAE,OAAO;KACnB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,sBAAsB,CACpC,KAA0B,EAC1B,SAAkB,EAClB,aAAsB,EACtB,aAAsB;IAEtB,OAAO,eAAe,CAA2B,qBAAa,CAAC,YAAY,EAAE;QAC3E,KAAK;QACL,aAAa;QACb,aAAa;QACb,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE;YACP,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YAClC,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;SACT;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,qBAAqB,CACnC,MAAe,EACf,OAA8B;IAE9B,OAAO,eAAe,CAA0B,qBAAa,CAAC,WAAW,EAAE;QACzE,SAAS,EAAE,QAAQ;QACnB,OAAO;QACP,MAAM,EAAE,EAAE,MAAM,EAAE;KACnB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,oBAAoB,CAClC,UAAmD,EACnD,OAA8B,EAC9B,MAAqC;IAErC,OAAO,eAAe,CAAyB,qBAAa,CAAC,UAAU,EAAE;QACvE,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE;YACP,GAAG,OAAO;YACV,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;SACpB;QACD,MAAM,EAAE;YACN,GAAG,MAAM;YACT,IAAI,EAAE,UAAU;SACjB;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,kBAAkB,CAChC,OAA8B,EAC9B,MAAqC;IAErC,OAAO,eAAe,CAAuB,qBAAa,CAAC,QAAQ,EAAE;QACnE,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE;YACP,GAAG,OAAO;YACV,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;SACpB;QACD,MAAM,EAAE;YACN,GAAG,MAAM;YACT,IAAI,EAAE,SAAS;SAChB;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,mBAAmB,CACjC,MAAc,EACd,OAA8B;IAE9B,OAAO,eAAe,CAAwB,qBAAa,CAAC,SAAS,EAAE;QACrE,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE;YACP,GAAG,OAAO;YACV,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;SACpB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,MAAM;SACP;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,mBAAmB,CACjC,OAA8B;IAE9B,OAAO,eAAe,CAAwB,qBAAa,CAAC,SAAS,EAAE;QACrE,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE;YACP,GAAG,OAAO;YACV,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;SACpB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,aAAa;SACtB;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,sBAAsB,CACpC,KAAa,EACb,OAA8B;IAE9B,OAAO,eAAe,CAA2B,qBAAa,CAAC,YAAY,EAAE;QAC3E,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE;YACP,GAAG,OAAO;YACV,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;SACpB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,KAAK;SACd;QACD,KAAK,EAAE;YACL,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,8BAA8B;AAC9B,gFAAgF;AAEhF,6DAA6D;AAC7D,SAAgB,kBAAkB,CAAC,KAAqB;IACtD,OAAO,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,YAAY,CAAC;AACnD,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAqB;IACpD,OAAO,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,UAAU,CAAC;AACjD,CAAC;AAED,SAAgB,cAAc,CAAC,KAAqB;IAClD,OAAO,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,QAAQ,CAAC;AAC/C,CAAC;AAED,SAAgB,eAAe,CAAC,KAAqB;IACnD,OAAO,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,SAAS,CAAC;AAChD,CAAC;AAED,SAAgB,eAAe,CAAC,KAAqB;IACnD,OAAO,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,SAAS,CAAC;AAChD,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAqB;IACtD,OAAO,KAAK,CAAC,IAAI,KAAK,qBAAa,CAAC,YAAY,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core event system
|
|
3
|
+
*
|
|
4
|
+
* Provides a generic event bus and text processing system
|
|
5
|
+
* without knowledge of specific event types
|
|
6
|
+
*/
|
|
7
|
+
export * from './types';
|
|
8
|
+
export * from './standard-events';
|
|
9
|
+
export * from './system-event';
|
|
10
|
+
export * from './platform-events';
|
|
11
|
+
export * from './game-events';
|
|
12
|
+
export * from './event-registry';
|
|
13
|
+
export * from './typed-event';
|
|
14
|
+
export * from './event-factory';
|
|
15
|
+
export * from './event-helpers';
|
|
16
|
+
export { IGenericEventSource, SimpleEventSource, createEventSource as createGenericEventSource } from './event-source';
|
|
17
|
+
export { ISemanticEventSource, SemanticEventSourceImpl, createSemanticEventSource } from './semantic-event-source';
|
|
18
|
+
export { createEvent, EventSourceImpl, createEventSource } from './event-system';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAGH,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAG9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAGhC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,IAAI,wBAAwB,EAC9C,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,WAAW,EACX,eAAe,EACf,iBAAiB,EAClB,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// packages/core/src/events/index.ts
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
|
+
};
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.createEventSource = exports.EventSourceImpl = exports.createEvent = exports.createSemanticEventSource = exports.SemanticEventSourceImpl = exports.createGenericEventSource = exports.SimpleEventSource = void 0;
|
|
19
|
+
/**
|
|
20
|
+
* Core event system
|
|
21
|
+
*
|
|
22
|
+
* Provides a generic event bus and text processing system
|
|
23
|
+
* without knowledge of specific event types
|
|
24
|
+
*/
|
|
25
|
+
// Export types first
|
|
26
|
+
__exportStar(require("./types"), exports);
|
|
27
|
+
__exportStar(require("./standard-events"), exports);
|
|
28
|
+
__exportStar(require("./system-event"), exports);
|
|
29
|
+
__exportStar(require("./platform-events"), exports);
|
|
30
|
+
__exportStar(require("./game-events"), exports);
|
|
31
|
+
// Export typed event system (ADR-082)
|
|
32
|
+
__exportStar(require("./event-registry"), exports);
|
|
33
|
+
__exportStar(require("./typed-event"), exports);
|
|
34
|
+
__exportStar(require("./event-factory"), exports);
|
|
35
|
+
__exportStar(require("./event-helpers"), exports);
|
|
36
|
+
// Export event sources with specific names to avoid conflicts
|
|
37
|
+
var event_source_1 = require("./event-source");
|
|
38
|
+
Object.defineProperty(exports, "SimpleEventSource", { enumerable: true, get: function () { return event_source_1.SimpleEventSource; } });
|
|
39
|
+
Object.defineProperty(exports, "createGenericEventSource", { enumerable: true, get: function () { return event_source_1.createEventSource; } });
|
|
40
|
+
var semantic_event_source_1 = require("./semantic-event-source");
|
|
41
|
+
Object.defineProperty(exports, "SemanticEventSourceImpl", { enumerable: true, get: function () { return semantic_event_source_1.SemanticEventSourceImpl; } });
|
|
42
|
+
Object.defineProperty(exports, "createSemanticEventSource", { enumerable: true, get: function () { return semantic_event_source_1.createSemanticEventSource; } });
|
|
43
|
+
// Export from event-system
|
|
44
|
+
var event_system_1 = require("./event-system");
|
|
45
|
+
Object.defineProperty(exports, "createEvent", { enumerable: true, get: function () { return event_system_1.createEvent; } });
|
|
46
|
+
Object.defineProperty(exports, "EventSourceImpl", { enumerable: true, get: function () { return event_system_1.EventSourceImpl; } });
|
|
47
|
+
Object.defineProperty(exports, "createEventSource", { enumerable: true, get: function () { return event_system_1.createEventSource; } });
|
|
48
|
+
// message-resolver moved to stdlib (uses GameContext)
|
|
49
|
+
// enhanced-text-processor moved to stdlib (uses GameContext)
|
|
50
|
+
// message-builder moved to stdlib (uses GameContext)
|
|
51
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;;AAEpC;;;;;GAKG;AAEH,qBAAqB;AACrB,0CAAwB;AACxB,oDAAkC;AAClC,iDAA+B;AAC/B,oDAAkC;AAClC,gDAA8B;AAE9B,sCAAsC;AACtC,mDAAiC;AACjC,gDAA8B;AAC9B,kDAAgC;AAChC,kDAAgC;AAEhC,8DAA8D;AAC9D,+CAIwB;AAFtB,iHAAA,iBAAiB,OAAA;AACjB,wHAAA,iBAAiB,OAA4B;AAG/C,iEAIiC;AAF/B,gIAAA,uBAAuB,OAAA;AACvB,kIAAA,yBAAyB,OAAA;AAG3B,2BAA2B;AAC3B,+CAIwB;AAHtB,2GAAA,WAAW,OAAA;AACX,+GAAA,eAAe,OAAA;AACf,iHAAA,iBAAiB,OAAA;AAGnB,sDAAsD;AACtD,8DAA8D;AAC9D,qDAAqD"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform events for operations that require client/host intervention
|
|
3
|
+
* These events are processed after turn completion but before text service
|
|
4
|
+
*/
|
|
5
|
+
import { ISemanticEvent } from './types';
|
|
6
|
+
import { IQuitContext, IRestartContext } from '../types/save-data';
|
|
7
|
+
/**
|
|
8
|
+
* Platform event types for save, restore, quit, and restart operations
|
|
9
|
+
*/
|
|
10
|
+
export declare const PlatformEventType: {
|
|
11
|
+
readonly SAVE_REQUESTED: "platform.save_requested";
|
|
12
|
+
readonly RESTORE_REQUESTED: "platform.restore_requested";
|
|
13
|
+
readonly QUIT_REQUESTED: "platform.quit_requested";
|
|
14
|
+
readonly RESTART_REQUESTED: "platform.restart_requested";
|
|
15
|
+
readonly UNDO_REQUESTED: "platform.undo_requested";
|
|
16
|
+
readonly AGAIN_REQUESTED: "platform.again_requested";
|
|
17
|
+
readonly SAVE_COMPLETED: "platform.save_completed";
|
|
18
|
+
readonly RESTORE_COMPLETED: "platform.restore_completed";
|
|
19
|
+
readonly QUIT_CONFIRMED: "platform.quit_confirmed";
|
|
20
|
+
readonly RESTART_COMPLETED: "platform.restart_completed";
|
|
21
|
+
readonly UNDO_COMPLETED: "platform.undo_completed";
|
|
22
|
+
readonly SAVE_FAILED: "platform.save_failed";
|
|
23
|
+
readonly RESTORE_FAILED: "platform.restore_failed";
|
|
24
|
+
readonly QUIT_CANCELLED: "platform.quit_cancelled";
|
|
25
|
+
readonly RESTART_CANCELLED: "platform.restart_cancelled";
|
|
26
|
+
readonly UNDO_FAILED: "platform.undo_failed";
|
|
27
|
+
readonly AGAIN_FAILED: "platform.again_failed";
|
|
28
|
+
};
|
|
29
|
+
export type PlatformEventTypeValue = typeof PlatformEventType[keyof typeof PlatformEventType];
|
|
30
|
+
/**
|
|
31
|
+
* Base interface for all platform events
|
|
32
|
+
*/
|
|
33
|
+
export interface IPlatformEvent extends ISemanticEvent {
|
|
34
|
+
type: PlatformEventTypeValue;
|
|
35
|
+
/**
|
|
36
|
+
* Indicates this event requires client action and should be processed
|
|
37
|
+
* after turn completion but before text service
|
|
38
|
+
*/
|
|
39
|
+
requiresClientAction: true;
|
|
40
|
+
/**
|
|
41
|
+
* Platform-specific context for the operation
|
|
42
|
+
*/
|
|
43
|
+
payload: {
|
|
44
|
+
/**
|
|
45
|
+
* Context specific to the platform operation
|
|
46
|
+
*/
|
|
47
|
+
context?: unknown;
|
|
48
|
+
/**
|
|
49
|
+
* For completion/error events: whether the operation succeeded
|
|
50
|
+
*/
|
|
51
|
+
success?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* For error events: error message or reason
|
|
54
|
+
*/
|
|
55
|
+
error?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Any additional data specific to the platform operation
|
|
58
|
+
*/
|
|
59
|
+
[key: string]: unknown;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Context for save operations
|
|
64
|
+
*/
|
|
65
|
+
export interface ISaveContext {
|
|
66
|
+
/**
|
|
67
|
+
* Optional name for the save
|
|
68
|
+
*/
|
|
69
|
+
saveName?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Save slot identifier
|
|
72
|
+
*/
|
|
73
|
+
slot?: string | number;
|
|
74
|
+
/**
|
|
75
|
+
* Whether this is an autosave
|
|
76
|
+
*/
|
|
77
|
+
autosave?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Additional metadata to store with the save
|
|
80
|
+
*/
|
|
81
|
+
metadata?: Record<string, unknown>;
|
|
82
|
+
/**
|
|
83
|
+
* Timestamp when save was requested
|
|
84
|
+
*/
|
|
85
|
+
timestamp: number;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Context for restore operations
|
|
89
|
+
*/
|
|
90
|
+
export interface IRestoreContext {
|
|
91
|
+
/**
|
|
92
|
+
* Specific save slot to restore
|
|
93
|
+
*/
|
|
94
|
+
slot?: string | number;
|
|
95
|
+
/**
|
|
96
|
+
* List of available saves (if known)
|
|
97
|
+
*/
|
|
98
|
+
availableSaves?: Array<{
|
|
99
|
+
slot: string | number;
|
|
100
|
+
name?: string;
|
|
101
|
+
timestamp: number;
|
|
102
|
+
metadata?: Record<string, unknown>;
|
|
103
|
+
}>;
|
|
104
|
+
/**
|
|
105
|
+
* Information about the last save
|
|
106
|
+
*/
|
|
107
|
+
lastSave?: {
|
|
108
|
+
slot: string | number;
|
|
109
|
+
timestamp: number;
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
export { IQuitContext, IRestartContext };
|
|
113
|
+
/**
|
|
114
|
+
* Type guards for platform events
|
|
115
|
+
*/
|
|
116
|
+
export declare function isPlatformEvent(event: ISemanticEvent): event is IPlatformEvent;
|
|
117
|
+
export declare function isPlatformRequestEvent(event: ISemanticEvent): boolean;
|
|
118
|
+
export declare function isPlatformCompletionEvent(event: ISemanticEvent): boolean;
|
|
119
|
+
/**
|
|
120
|
+
* Helper functions to create platform events
|
|
121
|
+
*/
|
|
122
|
+
export declare function createPlatformEvent(type: PlatformEventTypeValue, context?: unknown, additionalPayload?: Record<string, unknown>): IPlatformEvent;
|
|
123
|
+
export declare function createSaveRequestedEvent(context: ISaveContext): IPlatformEvent;
|
|
124
|
+
export declare function createRestoreRequestedEvent(context: IRestoreContext): IPlatformEvent;
|
|
125
|
+
export declare function createQuitRequestedEvent(context: IQuitContext): IPlatformEvent;
|
|
126
|
+
export declare function createRestartRequestedEvent(context: IRestartContext): IPlatformEvent;
|
|
127
|
+
/**
|
|
128
|
+
* Helper functions for completion events
|
|
129
|
+
*/
|
|
130
|
+
export declare function createSaveCompletedEvent(success: boolean, error?: string): IPlatformEvent;
|
|
131
|
+
export declare function createRestoreCompletedEvent(success: boolean, error?: string): IPlatformEvent;
|
|
132
|
+
export declare function createQuitConfirmedEvent(): IPlatformEvent;
|
|
133
|
+
export declare function createQuitCancelledEvent(): IPlatformEvent;
|
|
134
|
+
export declare function createRestartCompletedEvent(success: boolean): IPlatformEvent;
|
|
135
|
+
/**
|
|
136
|
+
* Context for undo operations
|
|
137
|
+
*/
|
|
138
|
+
export interface IUndoContext {
|
|
139
|
+
/**
|
|
140
|
+
* Number of turns to undo (default 1)
|
|
141
|
+
*/
|
|
142
|
+
turns?: number;
|
|
143
|
+
}
|
|
144
|
+
export declare function createUndoRequestedEvent(context?: IUndoContext): IPlatformEvent;
|
|
145
|
+
export declare function createUndoCompletedEvent(success: boolean, restoredToTurn?: number, error?: string): IPlatformEvent;
|
|
146
|
+
/**
|
|
147
|
+
* Context for again (repeat) operations
|
|
148
|
+
*/
|
|
149
|
+
export interface IAgainContext {
|
|
150
|
+
/**
|
|
151
|
+
* The original command text to repeat
|
|
152
|
+
*/
|
|
153
|
+
command: string;
|
|
154
|
+
/**
|
|
155
|
+
* The action ID of the command to repeat
|
|
156
|
+
*/
|
|
157
|
+
actionId: string;
|
|
158
|
+
}
|
|
159
|
+
export declare function createAgainRequestedEvent(context: IAgainContext): IPlatformEvent;
|
|
160
|
+
export declare function createAgainFailedEvent(error: string): IPlatformEvent;
|
|
161
|
+
//# sourceMappingURL=platform-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-events.d.ts","sourceRoot":"","sources":["../../src/events/platform-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Platform events for operations that require client/host intervention
|
|
4
|
+
* These events are processed after turn completion but before text service
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.PlatformEventType = void 0;
|
|
8
|
+
exports.isPlatformEvent = isPlatformEvent;
|
|
9
|
+
exports.isPlatformRequestEvent = isPlatformRequestEvent;
|
|
10
|
+
exports.isPlatformCompletionEvent = isPlatformCompletionEvent;
|
|
11
|
+
exports.createPlatformEvent = createPlatformEvent;
|
|
12
|
+
exports.createSaveRequestedEvent = createSaveRequestedEvent;
|
|
13
|
+
exports.createRestoreRequestedEvent = createRestoreRequestedEvent;
|
|
14
|
+
exports.createQuitRequestedEvent = createQuitRequestedEvent;
|
|
15
|
+
exports.createRestartRequestedEvent = createRestartRequestedEvent;
|
|
16
|
+
exports.createSaveCompletedEvent = createSaveCompletedEvent;
|
|
17
|
+
exports.createRestoreCompletedEvent = createRestoreCompletedEvent;
|
|
18
|
+
exports.createQuitConfirmedEvent = createQuitConfirmedEvent;
|
|
19
|
+
exports.createQuitCancelledEvent = createQuitCancelledEvent;
|
|
20
|
+
exports.createRestartCompletedEvent = createRestartCompletedEvent;
|
|
21
|
+
exports.createUndoRequestedEvent = createUndoRequestedEvent;
|
|
22
|
+
exports.createUndoCompletedEvent = createUndoCompletedEvent;
|
|
23
|
+
exports.createAgainRequestedEvent = createAgainRequestedEvent;
|
|
24
|
+
exports.createAgainFailedEvent = createAgainFailedEvent;
|
|
25
|
+
/**
|
|
26
|
+
* Platform event types for save, restore, quit, and restart operations
|
|
27
|
+
*/
|
|
28
|
+
exports.PlatformEventType = {
|
|
29
|
+
// Request events - emitted by actions
|
|
30
|
+
SAVE_REQUESTED: 'platform.save_requested',
|
|
31
|
+
RESTORE_REQUESTED: 'platform.restore_requested',
|
|
32
|
+
QUIT_REQUESTED: 'platform.quit_requested',
|
|
33
|
+
RESTART_REQUESTED: 'platform.restart_requested',
|
|
34
|
+
UNDO_REQUESTED: 'platform.undo_requested',
|
|
35
|
+
AGAIN_REQUESTED: 'platform.again_requested',
|
|
36
|
+
// Completion events - emitted by engine after processing
|
|
37
|
+
SAVE_COMPLETED: 'platform.save_completed',
|
|
38
|
+
RESTORE_COMPLETED: 'platform.restore_completed',
|
|
39
|
+
QUIT_CONFIRMED: 'platform.quit_confirmed',
|
|
40
|
+
RESTART_COMPLETED: 'platform.restart_completed',
|
|
41
|
+
UNDO_COMPLETED: 'platform.undo_completed',
|
|
42
|
+
// Error events
|
|
43
|
+
SAVE_FAILED: 'platform.save_failed',
|
|
44
|
+
RESTORE_FAILED: 'platform.restore_failed',
|
|
45
|
+
QUIT_CANCELLED: 'platform.quit_cancelled',
|
|
46
|
+
RESTART_CANCELLED: 'platform.restart_cancelled',
|
|
47
|
+
UNDO_FAILED: 'platform.undo_failed',
|
|
48
|
+
AGAIN_FAILED: 'platform.again_failed'
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Type guards for platform events
|
|
52
|
+
*/
|
|
53
|
+
function isPlatformEvent(event) {
|
|
54
|
+
return 'requiresClientAction' in event && event.requiresClientAction === true;
|
|
55
|
+
}
|
|
56
|
+
function isPlatformRequestEvent(event) {
|
|
57
|
+
return isPlatformEvent(event) && (event.type === exports.PlatformEventType.SAVE_REQUESTED ||
|
|
58
|
+
event.type === exports.PlatformEventType.RESTORE_REQUESTED ||
|
|
59
|
+
event.type === exports.PlatformEventType.QUIT_REQUESTED ||
|
|
60
|
+
event.type === exports.PlatformEventType.RESTART_REQUESTED ||
|
|
61
|
+
event.type === exports.PlatformEventType.UNDO_REQUESTED ||
|
|
62
|
+
event.type === exports.PlatformEventType.AGAIN_REQUESTED);
|
|
63
|
+
}
|
|
64
|
+
function isPlatformCompletionEvent(event) {
|
|
65
|
+
return isPlatformEvent(event) && (event.type === exports.PlatformEventType.SAVE_COMPLETED ||
|
|
66
|
+
event.type === exports.PlatformEventType.RESTORE_COMPLETED ||
|
|
67
|
+
event.type === exports.PlatformEventType.QUIT_CONFIRMED ||
|
|
68
|
+
event.type === exports.PlatformEventType.RESTART_COMPLETED ||
|
|
69
|
+
event.type === exports.PlatformEventType.UNDO_COMPLETED ||
|
|
70
|
+
event.type === exports.PlatformEventType.SAVE_FAILED ||
|
|
71
|
+
event.type === exports.PlatformEventType.RESTORE_FAILED ||
|
|
72
|
+
event.type === exports.PlatformEventType.QUIT_CANCELLED ||
|
|
73
|
+
event.type === exports.PlatformEventType.RESTART_CANCELLED ||
|
|
74
|
+
event.type === exports.PlatformEventType.UNDO_FAILED ||
|
|
75
|
+
event.type === exports.PlatformEventType.AGAIN_FAILED);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Helper functions to create platform events
|
|
79
|
+
*/
|
|
80
|
+
function createPlatformEvent(type, context, additionalPayload) {
|
|
81
|
+
return {
|
|
82
|
+
id: `platform-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
|
|
83
|
+
type,
|
|
84
|
+
timestamp: Date.now(),
|
|
85
|
+
requiresClientAction: true,
|
|
86
|
+
entities: {},
|
|
87
|
+
payload: {
|
|
88
|
+
context,
|
|
89
|
+
...additionalPayload
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
function createSaveRequestedEvent(context) {
|
|
94
|
+
return createPlatformEvent(exports.PlatformEventType.SAVE_REQUESTED, context);
|
|
95
|
+
}
|
|
96
|
+
function createRestoreRequestedEvent(context) {
|
|
97
|
+
return createPlatformEvent(exports.PlatformEventType.RESTORE_REQUESTED, context);
|
|
98
|
+
}
|
|
99
|
+
function createQuitRequestedEvent(context) {
|
|
100
|
+
return createPlatformEvent(exports.PlatformEventType.QUIT_REQUESTED, context);
|
|
101
|
+
}
|
|
102
|
+
function createRestartRequestedEvent(context) {
|
|
103
|
+
return createPlatformEvent(exports.PlatformEventType.RESTART_REQUESTED, context);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Helper functions for completion events
|
|
107
|
+
*/
|
|
108
|
+
function createSaveCompletedEvent(success, error) {
|
|
109
|
+
return createPlatformEvent(success ? exports.PlatformEventType.SAVE_COMPLETED : exports.PlatformEventType.SAVE_FAILED, undefined, { success, error });
|
|
110
|
+
}
|
|
111
|
+
function createRestoreCompletedEvent(success, error) {
|
|
112
|
+
return createPlatformEvent(success ? exports.PlatformEventType.RESTORE_COMPLETED : exports.PlatformEventType.RESTORE_FAILED, undefined, { success, error });
|
|
113
|
+
}
|
|
114
|
+
function createQuitConfirmedEvent() {
|
|
115
|
+
return createPlatformEvent(exports.PlatformEventType.QUIT_CONFIRMED, undefined, { success: true });
|
|
116
|
+
}
|
|
117
|
+
function createQuitCancelledEvent() {
|
|
118
|
+
return createPlatformEvent(exports.PlatformEventType.QUIT_CANCELLED, undefined, { success: false });
|
|
119
|
+
}
|
|
120
|
+
function createRestartCompletedEvent(success) {
|
|
121
|
+
return createPlatformEvent(success ? exports.PlatformEventType.RESTART_COMPLETED : exports.PlatformEventType.RESTART_CANCELLED, undefined, { success });
|
|
122
|
+
}
|
|
123
|
+
function createUndoRequestedEvent(context) {
|
|
124
|
+
return createPlatformEvent(exports.PlatformEventType.UNDO_REQUESTED, context);
|
|
125
|
+
}
|
|
126
|
+
function createUndoCompletedEvent(success, restoredToTurn, error) {
|
|
127
|
+
return createPlatformEvent(success ? exports.PlatformEventType.UNDO_COMPLETED : exports.PlatformEventType.UNDO_FAILED, undefined, { success, restoredToTurn, error });
|
|
128
|
+
}
|
|
129
|
+
function createAgainRequestedEvent(context) {
|
|
130
|
+
return createPlatformEvent(exports.PlatformEventType.AGAIN_REQUESTED, context);
|
|
131
|
+
}
|
|
132
|
+
function createAgainFailedEvent(error) {
|
|
133
|
+
return createPlatformEvent(exports.PlatformEventType.AGAIN_FAILED, undefined, { success: false, error });
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=platform-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-events.js","sourceRoot":"","sources":["../../src/events/platform-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic event source - specialized event source for story events
|
|
3
|
+
* Builds on the generic event source infrastructure
|
|
4
|
+
*/
|
|
5
|
+
import { IGenericEventSource, SimpleEventSource } from './event-source';
|
|
6
|
+
import { ISemanticEvent, IEventEmitter } from './types';
|
|
7
|
+
import { EntityId } from '../types/entity';
|
|
8
|
+
/**
|
|
9
|
+
* Specialized event source for semantic (story) events
|
|
10
|
+
* Provides additional filtering and query capabilities
|
|
11
|
+
*/
|
|
12
|
+
export interface ISemanticEventSource extends IGenericEventSource<ISemanticEvent> {
|
|
13
|
+
/**
|
|
14
|
+
* Add an event to the source
|
|
15
|
+
*/
|
|
16
|
+
addEvent(event: ISemanticEvent): void;
|
|
17
|
+
/**
|
|
18
|
+
* Get all events in the source
|
|
19
|
+
*/
|
|
20
|
+
getAllEvents(): ISemanticEvent[];
|
|
21
|
+
/**
|
|
22
|
+
* Get events of a specific type
|
|
23
|
+
*/
|
|
24
|
+
getEventsByType(type: string): ISemanticEvent[];
|
|
25
|
+
/**
|
|
26
|
+
* Get events involving a specific entity
|
|
27
|
+
*/
|
|
28
|
+
getEventsByEntity(entityId: EntityId): ISemanticEvent[];
|
|
29
|
+
/**
|
|
30
|
+
* Get events with a specific tag
|
|
31
|
+
*/
|
|
32
|
+
getEventsByTag(tag: string): ISemanticEvent[];
|
|
33
|
+
/**
|
|
34
|
+
* Clear all events
|
|
35
|
+
*/
|
|
36
|
+
clearEvents(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Apply a filter to the events
|
|
39
|
+
*/
|
|
40
|
+
filter(predicate: (event: ISemanticEvent) => boolean): ISemanticEvent[];
|
|
41
|
+
/**
|
|
42
|
+
* Get the event emitter associated with this source
|
|
43
|
+
*/
|
|
44
|
+
getEmitter(): IEventEmitter;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Implementation of semantic event source
|
|
48
|
+
*/
|
|
49
|
+
export declare class SemanticEventSourceImpl extends SimpleEventSource<ISemanticEvent> implements ISemanticEventSource {
|
|
50
|
+
private events;
|
|
51
|
+
private eventEmitter;
|
|
52
|
+
private lastProcessedIndex;
|
|
53
|
+
constructor();
|
|
54
|
+
addEvent(event: ISemanticEvent): void;
|
|
55
|
+
getAllEvents(): ISemanticEvent[];
|
|
56
|
+
getEventsByType(type: string): ISemanticEvent[];
|
|
57
|
+
getEventsByEntity(entityId: EntityId): ISemanticEvent[];
|
|
58
|
+
getEventsByTag(tag: string): ISemanticEvent[];
|
|
59
|
+
filter(predicate: (event: ISemanticEvent) => boolean): ISemanticEvent[];
|
|
60
|
+
clearEvents(): void;
|
|
61
|
+
getEmitter(): IEventEmitter;
|
|
62
|
+
/**
|
|
63
|
+
* Get events since a specific event ID
|
|
64
|
+
*/
|
|
65
|
+
getEventsSince(eventId?: string): ISemanticEvent[];
|
|
66
|
+
/**
|
|
67
|
+
* Get unprocessed events and mark them as processed
|
|
68
|
+
*/
|
|
69
|
+
getUnprocessedEvents(): ISemanticEvent[];
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Create a new semantic event source
|
|
73
|
+
*/
|
|
74
|
+
export declare function createSemanticEventSource(): ISemanticEventSource;
|
|
75
|
+
/**
|
|
76
|
+
* Type alias for backwards compatibility
|
|
77
|
+
* @deprecated Use SemanticEventSource instead
|
|
78
|
+
*/
|
|
79
|
+
export type EventSource = ISemanticEventSource;
|
|
80
|
+
/**
|
|
81
|
+
* Create event source for backwards compatibility
|
|
82
|
+
* @deprecated Use createSemanticEventSource instead
|
|
83
|
+
*/
|
|
84
|
+
export declare function createEventSource(): EventSource;
|
|
85
|
+
//# sourceMappingURL=semantic-event-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic-event-source.d.ts","sourceRoot":"","sources":["../../src/events/semantic-event-source.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAiB,MAAM,SAAS,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB,CAAC,cAAc,CAAC;IAC/E;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAEtC;;OAEG;IACH,YAAY,IAAI,cAAc,EAAE,CAAC;IAEjC;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAAC;IAEhD;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,EAAE,CAAC;IAExD;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,CAAC;IAE9C;;OAEG;IACH,WAAW,IAAI,IAAI,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,GAAG,cAAc,EAAE,CAAC;IAExE;;OAEG;IACH,UAAU,IAAI,aAAa,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,iBAAiB,CAAC,cAAc,CAAE,YAAW,oBAAoB;IAC5G,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,kBAAkB,CAAa;;IAYvC,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAKrC,YAAY,IAAI,cAAc,EAAE;IAIhC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE;IAI/C,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,EAAE;IAavD,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE;IAI7C,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,GAAG,cAAc,EAAE;IAIvE,WAAW,IAAI,IAAI;IAInB,UAAU,IAAI,aAAa;IAI3B;;OAEG;IACH,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE;IAalD;;OAEG;IACH,oBAAoB,IAAI,cAAc,EAAE;CAKzC;AA4DD;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,oBAAoB,CAEhE;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAE/C"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Semantic event source - specialized event source for story events
|
|
4
|
+
* Builds on the generic event source infrastructure
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.SemanticEventSourceImpl = void 0;
|
|
8
|
+
exports.createSemanticEventSource = createSemanticEventSource;
|
|
9
|
+
exports.createEventSource = createEventSource;
|
|
10
|
+
const event_source_1 = require("./event-source");
|
|
11
|
+
/**
|
|
12
|
+
* Implementation of semantic event source
|
|
13
|
+
*/
|
|
14
|
+
class SemanticEventSourceImpl extends event_source_1.SimpleEventSource {
|
|
15
|
+
events = [];
|
|
16
|
+
eventEmitter;
|
|
17
|
+
lastProcessedIndex = 0;
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
this.eventEmitter = new EventEmitterImpl();
|
|
21
|
+
// Bridge between generic event source and semantic event emitter
|
|
22
|
+
this.subscribe((event) => {
|
|
23
|
+
this.eventEmitter.emit(event);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
addEvent(event) {
|
|
27
|
+
this.events.push(event);
|
|
28
|
+
this.emit(event);
|
|
29
|
+
}
|
|
30
|
+
getAllEvents() {
|
|
31
|
+
return [...this.events];
|
|
32
|
+
}
|
|
33
|
+
getEventsByType(type) {
|
|
34
|
+
return this.events.filter(event => event.type === type);
|
|
35
|
+
}
|
|
36
|
+
getEventsByEntity(entityId) {
|
|
37
|
+
return this.events.filter(event => {
|
|
38
|
+
const entities = event.entities;
|
|
39
|
+
return (entities.actor === entityId ||
|
|
40
|
+
entities.target === entityId ||
|
|
41
|
+
entities.instrument === entityId ||
|
|
42
|
+
entities.location === entityId ||
|
|
43
|
+
(entities.others && entities.others.includes(entityId)));
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
getEventsByTag(tag) {
|
|
47
|
+
return this.events.filter(event => event.tags && event.tags.includes(tag));
|
|
48
|
+
}
|
|
49
|
+
filter(predicate) {
|
|
50
|
+
return this.events.filter(predicate);
|
|
51
|
+
}
|
|
52
|
+
clearEvents() {
|
|
53
|
+
this.events = [];
|
|
54
|
+
}
|
|
55
|
+
getEmitter() {
|
|
56
|
+
return this.eventEmitter;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get events since a specific event ID
|
|
60
|
+
*/
|
|
61
|
+
getEventsSince(eventId) {
|
|
62
|
+
if (!eventId) {
|
|
63
|
+
return this.getAllEvents();
|
|
64
|
+
}
|
|
65
|
+
const index = this.events.findIndex(e => e.id === eventId);
|
|
66
|
+
if (index === -1) {
|
|
67
|
+
return this.getAllEvents();
|
|
68
|
+
}
|
|
69
|
+
return this.events.slice(index + 1);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get unprocessed events and mark them as processed
|
|
73
|
+
*/
|
|
74
|
+
getUnprocessedEvents() {
|
|
75
|
+
const unprocessed = this.events.slice(this.lastProcessedIndex);
|
|
76
|
+
this.lastProcessedIndex = this.events.length;
|
|
77
|
+
return unprocessed;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.SemanticEventSourceImpl = SemanticEventSourceImpl;
|
|
81
|
+
/**
|
|
82
|
+
* Implementation of the EventEmitter interface
|
|
83
|
+
*/
|
|
84
|
+
class EventEmitterImpl {
|
|
85
|
+
listeners = new Map();
|
|
86
|
+
globalListeners = new Set();
|
|
87
|
+
on(type, listener) {
|
|
88
|
+
if (type === '*') {
|
|
89
|
+
this.globalListeners.add(listener);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (!this.listeners.has(type)) {
|
|
93
|
+
this.listeners.set(type, new Set());
|
|
94
|
+
}
|
|
95
|
+
this.listeners.get(type).add(listener);
|
|
96
|
+
}
|
|
97
|
+
off(type, listener) {
|
|
98
|
+
if (type === '*') {
|
|
99
|
+
this.globalListeners.delete(listener);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
const typeListeners = this.listeners.get(type);
|
|
103
|
+
if (typeListeners) {
|
|
104
|
+
typeListeners.delete(listener);
|
|
105
|
+
if (typeListeners.size === 0) {
|
|
106
|
+
this.listeners.delete(type);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
emit(event) {
|
|
111
|
+
// Emit to specific type listeners
|
|
112
|
+
const typeListeners = this.listeners.get(event.type);
|
|
113
|
+
if (typeListeners) {
|
|
114
|
+
for (const listener of typeListeners) {
|
|
115
|
+
try {
|
|
116
|
+
listener(event);
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
console.error(`Error in event listener for ${event.type}:`, error);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// Emit to global listeners
|
|
124
|
+
for (const listener of this.globalListeners) {
|
|
125
|
+
try {
|
|
126
|
+
listener(event);
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
console.error(`Error in global event listener:`, error);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Create a new semantic event source
|
|
136
|
+
*/
|
|
137
|
+
function createSemanticEventSource() {
|
|
138
|
+
return new SemanticEventSourceImpl();
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Create event source for backwards compatibility
|
|
142
|
+
* @deprecated Use createSemanticEventSource instead
|
|
143
|
+
*/
|
|
144
|
+
function createEventSource() {
|
|
145
|
+
return createSemanticEventSource();
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=semantic-event-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic-event-source.js","sourceRoot":"","sources":["../../src/events/semantic-event-source.ts"],"names":[],"mappings":"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"}
|