@xyo-network/sentinel 2.76.1 → 2.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/browser/MemorySentinel.d.cts +1 -1
  2. package/dist/browser/MemorySentinel.d.cts.map +1 -1
  3. package/dist/browser/MemorySentinel.d.mts +1 -1
  4. package/dist/browser/MemorySentinel.d.mts.map +1 -1
  5. package/dist/browser/MemorySentinel.d.ts +1 -1
  6. package/dist/browser/MemorySentinel.d.ts.map +1 -1
  7. package/dist/browser/index.cjs +12 -82
  8. package/dist/browser/index.cjs.map +1 -1
  9. package/dist/browser/index.d.cts +1 -1
  10. package/dist/browser/index.d.cts.map +1 -1
  11. package/dist/browser/index.d.mts +1 -1
  12. package/dist/browser/index.d.mts.map +1 -1
  13. package/dist/browser/index.d.ts +1 -1
  14. package/dist/browser/index.d.ts.map +1 -1
  15. package/dist/browser/index.js +7 -79
  16. package/dist/browser/index.js.map +1 -1
  17. package/dist/node/MemorySentinel.d.cts +1 -1
  18. package/dist/node/MemorySentinel.d.cts.map +1 -1
  19. package/dist/node/MemorySentinel.d.mts +1 -1
  20. package/dist/node/MemorySentinel.d.mts.map +1 -1
  21. package/dist/node/MemorySentinel.d.ts +1 -1
  22. package/dist/node/MemorySentinel.d.ts.map +1 -1
  23. package/dist/node/index.d.cts +1 -1
  24. package/dist/node/index.d.cts.map +1 -1
  25. package/dist/node/index.d.mts +1 -1
  26. package/dist/node/index.d.mts.map +1 -1
  27. package/dist/node/index.d.ts +1 -1
  28. package/dist/node/index.d.ts.map +1 -1
  29. package/dist/node/index.js +13 -83
  30. package/dist/node/index.js.map +1 -1
  31. package/dist/node/index.mjs +7 -79
  32. package/dist/node/index.mjs.map +1 -1
  33. package/package.json +18 -20
  34. package/src/MemorySentinel.ts +1 -2
  35. package/src/index.ts +1 -1
  36. package/dist/browser/AbstractSentinel.d.cts +0 -17
  37. package/dist/browser/AbstractSentinel.d.cts.map +0 -1
  38. package/dist/browser/AbstractSentinel.d.mts +0 -17
  39. package/dist/browser/AbstractSentinel.d.mts.map +0 -1
  40. package/dist/browser/AbstractSentinel.d.ts +0 -17
  41. package/dist/browser/AbstractSentinel.d.ts.map +0 -1
  42. package/dist/node/AbstractSentinel.d.cts +0 -17
  43. package/dist/node/AbstractSentinel.d.cts.map +0 -1
  44. package/dist/node/AbstractSentinel.d.mts +0 -17
  45. package/dist/node/AbstractSentinel.d.mts.map +0 -1
  46. package/dist/node/AbstractSentinel.d.ts +0 -17
  47. package/dist/node/AbstractSentinel.d.ts.map +0 -1
  48. package/src/AbstractSentinel.ts +0 -102
@@ -1,17 +0,0 @@
1
- import { BoundWitness, QueryBoundWitness } from '@xyo-network/boundwitness-model';
2
- import { AbstractModuleInstance } from '@xyo-network/module-abstract';
3
- import { ModuleConfig, ModuleQueryHandlerResult } from '@xyo-network/module-model';
4
- import { Payload } from '@xyo-network/payload-model';
5
- import { CustomSentinelInstance, SentinelInstance, SentinelJob, SentinelModuleEventData, SentinelParams, SentinelQueryBase } from '@xyo-network/sentinel-model';
6
- export declare abstract class AbstractSentinel<TParams extends SentinelParams = SentinelParams, TEventData extends SentinelModuleEventData<SentinelInstance<TParams>> = SentinelModuleEventData<SentinelInstance<TParams>>> extends AbstractModuleInstance<TParams, TEventData> implements CustomSentinelInstance<TParams, TEventData> {
7
- history: BoundWitness[];
8
- private _jobPromise?;
9
- get jobPromise(): Promise<SentinelJob>;
10
- get queries(): string[];
11
- protected get _queryAccountPaths(): Record<SentinelQueryBase['schema'], string>;
12
- report(inPayloads?: Payload[]): Promise<Payload[]>;
13
- protected generateJob(): Promise<SentinelJob>;
14
- protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
15
- abstract reportHandler(payloads?: Payload[]): Promise<Payload[]>;
16
- }
17
- //# sourceMappingURL=AbstractSentinel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractSentinel.d.ts","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAmC,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAClH,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EACL,sBAAsB,EAEtB,gBAAgB,EAChB,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EAElB,MAAM,6BAA6B,CAAA;AAEpC,8BAAsB,gBAAgB,CAClC,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,UAAU,SAAS,uBAAuB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAE5H,SAAQ,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAClD,YAAW,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC;IAEtD,OAAO,EAAE,YAAY,EAAE,CAAK;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAsB;IAE1C,IAAI,UAAU,yBAGb;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAED,cAAuB,kBAAkB,IAAI,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAIvF;IAEK,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;cAYxC,WAAW;cAyBF,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,wBAAwB,CAAC;IAiBpC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CACjE"}
@@ -1,17 +0,0 @@
1
- import { BoundWitness, QueryBoundWitness } from '@xyo-network/boundwitness-model';
2
- import { AbstractModuleInstance } from '@xyo-network/module-abstract';
3
- import { ModuleConfig, ModuleQueryHandlerResult } from '@xyo-network/module-model';
4
- import { Payload } from '@xyo-network/payload-model';
5
- import { CustomSentinelInstance, SentinelInstance, SentinelJob, SentinelModuleEventData, SentinelParams, SentinelQueryBase } from '@xyo-network/sentinel-model';
6
- export declare abstract class AbstractSentinel<TParams extends SentinelParams = SentinelParams, TEventData extends SentinelModuleEventData<SentinelInstance<TParams>> = SentinelModuleEventData<SentinelInstance<TParams>>> extends AbstractModuleInstance<TParams, TEventData> implements CustomSentinelInstance<TParams, TEventData> {
7
- history: BoundWitness[];
8
- private _jobPromise?;
9
- get jobPromise(): Promise<SentinelJob>;
10
- get queries(): string[];
11
- protected get _queryAccountPaths(): Record<SentinelQueryBase['schema'], string>;
12
- report(inPayloads?: Payload[]): Promise<Payload[]>;
13
- protected generateJob(): Promise<SentinelJob>;
14
- protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
15
- abstract reportHandler(payloads?: Payload[]): Promise<Payload[]>;
16
- }
17
- //# sourceMappingURL=AbstractSentinel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractSentinel.d.ts","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAmC,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAClH,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EACL,sBAAsB,EAEtB,gBAAgB,EAChB,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EAElB,MAAM,6BAA6B,CAAA;AAEpC,8BAAsB,gBAAgB,CAClC,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,UAAU,SAAS,uBAAuB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAE5H,SAAQ,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAClD,YAAW,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC;IAEtD,OAAO,EAAE,YAAY,EAAE,CAAK;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAsB;IAE1C,IAAI,UAAU,yBAGb;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAED,cAAuB,kBAAkB,IAAI,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAIvF;IAEK,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;cAYxC,WAAW;cAyBF,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,wBAAwB,CAAC;IAiBpC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CACjE"}
@@ -1,17 +0,0 @@
1
- import { BoundWitness, QueryBoundWitness } from '@xyo-network/boundwitness-model';
2
- import { AbstractModuleInstance } from '@xyo-network/module-abstract';
3
- import { ModuleConfig, ModuleQueryHandlerResult } from '@xyo-network/module-model';
4
- import { Payload } from '@xyo-network/payload-model';
5
- import { CustomSentinelInstance, SentinelInstance, SentinelJob, SentinelModuleEventData, SentinelParams, SentinelQueryBase } from '@xyo-network/sentinel-model';
6
- export declare abstract class AbstractSentinel<TParams extends SentinelParams = SentinelParams, TEventData extends SentinelModuleEventData<SentinelInstance<TParams>> = SentinelModuleEventData<SentinelInstance<TParams>>> extends AbstractModuleInstance<TParams, TEventData> implements CustomSentinelInstance<TParams, TEventData> {
7
- history: BoundWitness[];
8
- private _jobPromise?;
9
- get jobPromise(): Promise<SentinelJob>;
10
- get queries(): string[];
11
- protected get _queryAccountPaths(): Record<SentinelQueryBase['schema'], string>;
12
- report(inPayloads?: Payload[]): Promise<Payload[]>;
13
- protected generateJob(): Promise<SentinelJob>;
14
- protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
15
- abstract reportHandler(payloads?: Payload[]): Promise<Payload[]>;
16
- }
17
- //# sourceMappingURL=AbstractSentinel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractSentinel.d.ts","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAmC,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAClH,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EACL,sBAAsB,EAEtB,gBAAgB,EAChB,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EAElB,MAAM,6BAA6B,CAAA;AAEpC,8BAAsB,gBAAgB,CAClC,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,UAAU,SAAS,uBAAuB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAE5H,SAAQ,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAClD,YAAW,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC;IAEtD,OAAO,EAAE,YAAY,EAAE,CAAK;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAsB;IAE1C,IAAI,UAAU,yBAGb;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAED,cAAuB,kBAAkB,IAAI,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAIvF;IAEK,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;cAYxC,WAAW;cAyBF,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,wBAAwB,CAAC;IAiBpC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CACjE"}
@@ -1,17 +0,0 @@
1
- import { BoundWitness, QueryBoundWitness } from '@xyo-network/boundwitness-model';
2
- import { AbstractModuleInstance } from '@xyo-network/module-abstract';
3
- import { ModuleConfig, ModuleQueryHandlerResult } from '@xyo-network/module-model';
4
- import { Payload } from '@xyo-network/payload-model';
5
- import { CustomSentinelInstance, SentinelInstance, SentinelJob, SentinelModuleEventData, SentinelParams, SentinelQueryBase } from '@xyo-network/sentinel-model';
6
- export declare abstract class AbstractSentinel<TParams extends SentinelParams = SentinelParams, TEventData extends SentinelModuleEventData<SentinelInstance<TParams>> = SentinelModuleEventData<SentinelInstance<TParams>>> extends AbstractModuleInstance<TParams, TEventData> implements CustomSentinelInstance<TParams, TEventData> {
7
- history: BoundWitness[];
8
- private _jobPromise?;
9
- get jobPromise(): Promise<SentinelJob>;
10
- get queries(): string[];
11
- protected get _queryAccountPaths(): Record<SentinelQueryBase['schema'], string>;
12
- report(inPayloads?: Payload[]): Promise<Payload[]>;
13
- protected generateJob(): Promise<SentinelJob>;
14
- protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
15
- abstract reportHandler(payloads?: Payload[]): Promise<Payload[]>;
16
- }
17
- //# sourceMappingURL=AbstractSentinel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractSentinel.d.ts","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAmC,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAClH,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EACL,sBAAsB,EAEtB,gBAAgB,EAChB,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EAElB,MAAM,6BAA6B,CAAA;AAEpC,8BAAsB,gBAAgB,CAClC,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,UAAU,SAAS,uBAAuB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAE5H,SAAQ,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAClD,YAAW,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC;IAEtD,OAAO,EAAE,YAAY,EAAE,CAAK;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAsB;IAE1C,IAAI,UAAU,yBAGb;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAED,cAAuB,kBAAkB,IAAI,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAIvF;IAEK,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;cAYxC,WAAW;cAyBF,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,wBAAwB,CAAC;IAiBpC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CACjE"}
@@ -1,17 +0,0 @@
1
- import { BoundWitness, QueryBoundWitness } from '@xyo-network/boundwitness-model';
2
- import { AbstractModuleInstance } from '@xyo-network/module-abstract';
3
- import { ModuleConfig, ModuleQueryHandlerResult } from '@xyo-network/module-model';
4
- import { Payload } from '@xyo-network/payload-model';
5
- import { CustomSentinelInstance, SentinelInstance, SentinelJob, SentinelModuleEventData, SentinelParams, SentinelQueryBase } from '@xyo-network/sentinel-model';
6
- export declare abstract class AbstractSentinel<TParams extends SentinelParams = SentinelParams, TEventData extends SentinelModuleEventData<SentinelInstance<TParams>> = SentinelModuleEventData<SentinelInstance<TParams>>> extends AbstractModuleInstance<TParams, TEventData> implements CustomSentinelInstance<TParams, TEventData> {
7
- history: BoundWitness[];
8
- private _jobPromise?;
9
- get jobPromise(): Promise<SentinelJob>;
10
- get queries(): string[];
11
- protected get _queryAccountPaths(): Record<SentinelQueryBase['schema'], string>;
12
- report(inPayloads?: Payload[]): Promise<Payload[]>;
13
- protected generateJob(): Promise<SentinelJob>;
14
- protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
15
- abstract reportHandler(payloads?: Payload[]): Promise<Payload[]>;
16
- }
17
- //# sourceMappingURL=AbstractSentinel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractSentinel.d.ts","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAmC,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAClH,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EACL,sBAAsB,EAEtB,gBAAgB,EAChB,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EAElB,MAAM,6BAA6B,CAAA;AAEpC,8BAAsB,gBAAgB,CAClC,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,UAAU,SAAS,uBAAuB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAE5H,SAAQ,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAClD,YAAW,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC;IAEtD,OAAO,EAAE,YAAY,EAAE,CAAK;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAsB;IAE1C,IAAI,UAAU,yBAGb;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAED,cAAuB,kBAAkB,IAAI,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAIvF;IAEK,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;cAYxC,WAAW;cAyBF,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,wBAAwB,CAAC;IAiBpC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CACjE"}
@@ -1,102 +0,0 @@
1
- import { assertEx } from '@xylabs/assert'
2
- import { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'
3
- import { BoundWitness, isBoundWitness, notBoundWitness, QueryBoundWitness } from '@xyo-network/boundwitness-model'
4
- import { AbstractModuleInstance } from '@xyo-network/module-abstract'
5
- import { ModuleConfig, ModuleQueryHandlerResult } from '@xyo-network/module-model'
6
- import { Payload } from '@xyo-network/payload-model'
7
- import {
8
- CustomSentinelInstance,
9
- ResolvedSentinelTask,
10
- SentinelInstance,
11
- SentinelJob,
12
- SentinelModuleEventData,
13
- SentinelParams,
14
- SentinelQueryBase,
15
- SentinelReportQuerySchema,
16
- } from '@xyo-network/sentinel-model'
17
-
18
- export abstract class AbstractSentinel<
19
- TParams extends SentinelParams = SentinelParams,
20
- TEventData extends SentinelModuleEventData<SentinelInstance<TParams>> = SentinelModuleEventData<SentinelInstance<TParams>>,
21
- >
22
- extends AbstractModuleInstance<TParams, TEventData>
23
- implements CustomSentinelInstance<TParams, TEventData>
24
- {
25
- history: BoundWitness[] = []
26
- private _jobPromise?: Promise<SentinelJob>
27
-
28
- get jobPromise() {
29
- this._jobPromise = this._jobPromise ?? this.generateJob()
30
- return this._jobPromise
31
- }
32
-
33
- override get queries(): string[] {
34
- return [SentinelReportQuerySchema, ...super.queries]
35
- }
36
-
37
- protected override get _queryAccountPaths(): Record<SentinelQueryBase['schema'], string> {
38
- return {
39
- 'network.xyo.query.sentinel.report': '1/1',
40
- }
41
- }
42
-
43
- async report(inPayloads?: Payload[]): Promise<Payload[]> {
44
- this._noOverride('report')
45
- await this.emit('reportStart', { inPayloads, module: this })
46
- const payloads = await this.reportHandler(inPayloads)
47
- //this.logger?.debug(`report:payloads: ${JSON.stringify(payloads, null, 2)}`)
48
- const boundwitnesses = payloads.filter(isBoundWitness)
49
- const outPayloads = payloads.filter(notBoundWitness)
50
- const boundwitness = boundwitnesses.find((bw) => bw.addresses.includes(this.address))
51
- await this.emit('reportEnd', { boundwitness, inPayloads, module: this, outPayloads })
52
- return payloads
53
- }
54
-
55
- protected async generateJob() {
56
- const job: SentinelJob = { tasks: [] }
57
- let tasks: ResolvedSentinelTask[] = await Promise.all(
58
- this.config.tasks.map(async (task) => ({
59
- input: task.input ?? false,
60
- module: assertEx(await this.resolve(task.module), `Unable to resolve task module [${task.module}]`),
61
- })),
62
- )
63
- while (tasks.length) {
64
- const previousTasks = job.tasks.length ? job.tasks[job.tasks.length - 1] : []
65
- const newList =
66
- //add all tasks that either require no previous input or have the previous input module already added
67
- tasks.filter(
68
- (task) =>
69
- typeof task.input === 'boolean' ||
70
- previousTasks.find((prevTask) => prevTask.module.address === task.input || prevTask.module.config.name === task.input),
71
- )
72
- assertEx(newList.length > 0, `Unable to generateJob [${tasks.length}]`)
73
- job.tasks.push(newList)
74
- //remove the tasks we just added
75
- tasks = tasks.filter((task) => !newList.includes(task))
76
- }
77
- return job
78
- }
79
-
80
- protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(
81
- query: T,
82
- payloads?: Payload[],
83
- queryConfig?: TConfig,
84
- ): Promise<ModuleQueryHandlerResult> {
85
- const wrapper = QueryBoundWitnessWrapper.parseQuery<SentinelQueryBase>(query, payloads)
86
- const queryPayload = await wrapper.getQuery()
87
- assertEx(this.queryable(query, payloads, queryConfig))
88
- const resultPayloads: Payload[] = []
89
- switch (queryPayload.schema) {
90
- case SentinelReportQuerySchema: {
91
- resultPayloads.push(...(await this.report(payloads)))
92
- break
93
- }
94
- default: {
95
- return super.queryHandler(query, payloads)
96
- }
97
- }
98
- return resultPayloads
99
- }
100
-
101
- abstract reportHandler(payloads?: Payload[]): Promise<Payload[]>
102
- }