@xyo-network/sentinel 2.49.5 → 2.50.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 (38) hide show
  1. package/dist/cjs/AbstractSentinel.js +4 -18
  2. package/dist/cjs/AbstractSentinel.js.map +1 -1
  3. package/dist/cjs/Config.js.map +1 -1
  4. package/dist/cjs/SentinelRunner.js +1 -1
  5. package/dist/cjs/SentinelRunner.js.map +1 -1
  6. package/dist/cjs/Wrapper.js +40 -0
  7. package/dist/cjs/Wrapper.js.map +1 -0
  8. package/dist/cjs/index.js +1 -0
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/docs.json +9204 -9484
  11. package/dist/esm/AbstractSentinel.js +4 -15
  12. package/dist/esm/AbstractSentinel.js.map +1 -1
  13. package/dist/esm/Config.js.map +1 -1
  14. package/dist/esm/SentinelRunner.js +1 -1
  15. package/dist/esm/SentinelRunner.js.map +1 -1
  16. package/dist/esm/Wrapper.js +31 -0
  17. package/dist/esm/Wrapper.js.map +1 -0
  18. package/dist/esm/index.js +1 -0
  19. package/dist/esm/index.js.map +1 -1
  20. package/dist/types/AbstractSentinel.d.ts +3 -5
  21. package/dist/types/AbstractSentinel.d.ts.map +1 -1
  22. package/dist/types/Config.d.ts +0 -6
  23. package/dist/types/Config.d.ts.map +1 -1
  24. package/dist/types/SentinelModel.d.ts +3 -6
  25. package/dist/types/SentinelModel.d.ts.map +1 -1
  26. package/dist/types/SentinelRunner.d.ts +1 -2
  27. package/dist/types/SentinelRunner.d.ts.map +1 -1
  28. package/dist/types/Wrapper.d.ts +13 -0
  29. package/dist/types/Wrapper.d.ts.map +1 -0
  30. package/dist/types/index.d.ts +1 -0
  31. package/dist/types/index.d.ts.map +1 -1
  32. package/package.json +12 -12
  33. package/src/AbstractSentinel.ts +19 -25
  34. package/src/Config.ts +0 -6
  35. package/src/SentinelModel.ts +3 -5
  36. package/src/SentinelRunner.ts +2 -3
  37. package/src/Wrapper.ts +39 -0
  38. package/src/index.ts +1 -0
@@ -43,8 +43,7 @@ export class AbstractSentinel extends ArchivingModule {
43
43
  try {
44
44
  switch (typedQuery.schemaName) {
45
45
  case SentinelReportQuerySchema: {
46
- const reportResult = await this.report(payloads);
47
- resultPayloads.push(...(reportResult[0], reportResult[1]));
46
+ resultPayloads.push(...(await this.report(payloads)));
48
47
  break;
49
48
  }
50
49
  default:
@@ -67,7 +66,7 @@ export class AbstractSentinel extends ArchivingModule {
67
66
  }
68
67
  async report(payloads = []) {
69
68
  const errors = [];
70
- this.config?.onReportStart?.();
69
+ this.params?.onReportStart?.();
71
70
  const allWitnesses = [...(await this.getWitnesses())];
72
71
  const allPayloads = [];
73
72
  try {
@@ -80,18 +79,8 @@ export class AbstractSentinel extends ArchivingModule {
80
79
  }
81
80
  const [newBoundWitness] = await this.bindResult(allPayloads);
82
81
  this.history.push(assertEx(newBoundWitness));
83
- this.config?.onReportEnd?.(newBoundWitness, errors.length > 0 ? errors : undefined);
84
- return [newBoundWitness, allPayloads];
85
- }
86
- async tryReport(payloads = []) {
87
- try {
88
- return await this.report(payloads);
89
- }
90
- catch (ex) {
91
- const error = ex;
92
- this.logger?.warn(`report failed [${error.message}]`);
93
- return [null, []];
94
- }
82
+ this.params?.onReportEnd?.(newBoundWitness, errors.length > 0 ? errors : undefined);
83
+ return [newBoundWitness, ...allPayloads];
95
84
  }
96
85
  async generatePayloads(witnesses) {
97
86
  return (await Promise.all(witnesses?.map(async (witness) => await witness.observe()))).flat();
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractSentinel.js","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractSentinel.js","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,oBAAoB,GAAyB,2BAA2B,CAAA"}
1
+ {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,oBAAoB,GAAyB,2BAA2B,CAAA"}
@@ -78,7 +78,7 @@ export class SentinelRunner {
78
78
  await this.remove(wrapper.hash, false);
79
79
  wrapper.next();
80
80
  await this.add(wrapper.payload, false);
81
- const triggerResult = await this.sentinel.tryReport();
81
+ const triggerResult = await this.sentinel.report();
82
82
  this.onTriggerResult?.(triggerResult);
83
83
  await this.start();
84
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SentinelRunner.js","sourceRoot":"","sources":["../../src/SentinelRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SentinelRunner.js","sourceRoot":"","sources":["../../src/SentinelRunner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { assertEx } from '@xylabs/assert';
2
+ import { ModuleWrapper } from '@xyo-network/module';
3
+ import { PayloadWrapper } from '@xyo-network/payload-wrapper';
4
+ import { SentinelReportQuerySchema } from './Queries';
5
+ export class SentinelWrapper extends ModuleWrapper {
6
+ static requiredQueries = [SentinelReportQuerySchema, ...super.requiredQueries];
7
+ constructor(module, account) {
8
+ super(module, account);
9
+ assertEx(module.queries.includes(SentinelReportQuerySchema));
10
+ }
11
+ static tryWrap(module, account) {
12
+ if (module) {
13
+ const missingRequiredQueries = this.missingRequiredQueries(module);
14
+ if (missingRequiredQueries.length > 0) {
15
+ console.warn(`Missing queries: ${JSON.stringify(missingRequiredQueries, null, 2)}`);
16
+ }
17
+ else {
18
+ return new SentinelWrapper(module, account);
19
+ }
20
+ }
21
+ }
22
+ static wrap(module, account) {
23
+ return assertEx(this.tryWrap(module, account), 'Unable to wrap module as DivinerWrapper');
24
+ }
25
+ async report(payloads) {
26
+ const queryPayload = PayloadWrapper.parse({ schema: SentinelReportQuerySchema });
27
+ const result = await this.sendQuery(queryPayload, payloads);
28
+ return result;
29
+ }
30
+ }
31
+ //# sourceMappingURL=Wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../src/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAuB,yBAAyB,EAAE,MAAM,WAAW,CAAA;AAG1E,MAAM,OAAO,eAAgB,SAAQ,aAAa;IAChD,MAAM,CAAU,eAAe,GAAG,CAAC,yBAAyB,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,CAAA;IAEvF,YAAY,MAAc,EAAE,OAAiB;QAC3C,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACtB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,CAAU,OAAO,CAAC,MAAe,EAAE,OAAiB;QACxD,IAAI,MAAM,EAAE;YACV,MAAM,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;YAClE,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrC,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;aACpF;iBAAM;gBACL,OAAO,IAAI,eAAe,CAAC,MAAwB,EAAE,OAAO,CAAC,CAAA;aAC9D;SACF;IACH,CAAC;IAED,MAAM,CAAU,IAAI,CAAC,MAAe,EAAE,OAAiB;QACrD,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,yCAAyC,CAAC,CAAA;IAC3F,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAuB;QAClC,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAsB,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAA;QACrG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAC3D,OAAO,MAAM,CAAA;IACf,CAAC"}
package/dist/esm/index.js CHANGED
@@ -5,4 +5,5 @@ export * from './Queries';
5
5
  export * from './SentinelIntervalAutomationWrapper';
6
6
  export * from './SentinelModel';
7
7
  export * from './SentinelRunner';
8
+ export * from './Wrapper';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,qCAAqC,CAAA;AACnD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,qCAAqC,CAAA;AACnD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA"}
@@ -6,14 +6,13 @@ import { XyoPayload } from '@xyo-network/payload-model';
6
6
  import { WitnessWrapper } from '@xyo-network/witness';
7
7
  import { SentinelConfig, SentinelConfigSchema } from './Config';
8
8
  import { SentinelModule } from './SentinelModel';
9
- export type AbstractSentinelConfig = SentinelConfig<{
9
+ export type AbstractSentinelParams<TConfig extends SentinelConfig = SentinelConfig> = ModuleParams<TConfig, {
10
10
  onReportEnd?: (boundWitness?: XyoBoundWitness, errors?: Error[]) => void;
11
11
  onReportStart?: () => void;
12
12
  onWitnessReportEnd?: (witness: WitnessWrapper, error?: Error) => void;
13
13
  onWitnessReportStart?: (witness: WitnessWrapper) => void;
14
- schema: SentinelConfigSchema;
15
14
  }>;
16
- export declare class AbstractSentinel<TConfig extends SentinelConfig = SentinelConfig> extends ArchivingModule<TConfig> implements SentinelModule<TConfig> {
15
+ export declare class AbstractSentinel<TParams extends AbstractSentinelParams = AbstractSentinelParams> extends ArchivingModule<TParams> implements SentinelModule<TParams['config']> {
17
16
  static configSchema: SentinelConfigSchema;
18
17
  history: XyoBoundWitness[];
19
18
  private _archivists;
@@ -26,8 +25,7 @@ export declare class AbstractSentinel<TConfig extends SentinelConfig = SentinelC
26
25
  query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: XyoPayload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
27
26
  removeArchivist(address: string[]): void;
28
27
  removeWitness(address: string[]): void;
29
- report(payloads?: XyoPayload[]): Promise<[XyoBoundWitness, XyoPayload[]]>;
30
- tryReport(payloads?: XyoPayload[]): Promise<[XyoBoundWitness | null, XyoPayload[]]>;
28
+ report(payloads?: XyoPayload[]): Promise<XyoPayload[]>;
31
29
  private generatePayloads;
32
30
  }
33
31
  //# sourceMappingURL=AbstractSentinel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractSentinel.d.ts","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAA6C,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AACpJ,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAmB,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAItE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC;IAClD,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,CAAA;IACxE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;IACrE,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAA;IACxD,MAAM,EAAE,oBAAoB,CAAA;CAC7B,CAAC,CAAA;AAEF,qBAAa,gBAAgB,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAE,YAAW,cAAc,CAAC,OAAO,CAAC;IAChJ,OAAgB,YAAY,EAAE,oBAAoB,CAAA;IAElD,OAAO,EAAE,eAAe,EAAE,CAAK;IAC/B,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,UAAU,CAA8B;IAEhD,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;WAEqB,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIvG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE;IAKtB,aAAa;IAQb,YAAY;IAQH,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EACrH,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,UAAU,EAAE,EACvB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,iBAAiB,CAAC;IAuB7B,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE;IAKjC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE;IAKzB,MAAM,CAAC,QAAQ,GAAE,UAAU,EAAO,GAAG,OAAO,CAAC,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;IAoB7E,SAAS,CAAC,QAAQ,GAAE,UAAU,EAAO,GAAG,OAAO,CAAC,CAAC,eAAe,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YAU/E,gBAAgB;CAG/B"}
1
+ {"version":3,"file":"AbstractSentinel.d.ts","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAA6C,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AACpJ,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAmB,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAItE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,MAAM,MAAM,sBAAsB,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,IAAI,YAAY,CAChG,OAAO,EACP;IACE,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,CAAA;IACxE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;IACrE,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAA;CACzD,CACF,CAAA;AAED,qBAAa,gBAAgB,CAAC,OAAO,SAAS,sBAAsB,GAAG,sBAAsB,CAC3F,SAAQ,eAAe,CAAC,OAAO,CAC/B,YAAW,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5C,OAAgB,YAAY,EAAE,oBAAoB,CAAA;IAElD,OAAO,EAAE,eAAe,EAAE,CAAK;IAC/B,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,UAAU,CAA8B;IAEhD,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;WAEqB,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIvG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE;IAKtB,aAAa;IAQb,YAAY;IAQH,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EACrH,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,UAAU,EAAE,EACvB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,iBAAiB,CAAC;IAsB7B,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE;IAKjC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE;IAKzB,MAAM,CAAC,QAAQ,GAAE,UAAU,EAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YAoBlD,gBAAgB;CAG/B"}
@@ -1,15 +1,9 @@
1
1
  import { ArchivingModuleConfig } from '@xyo-network/archivist';
2
- import { XyoBoundWitness } from '@xyo-network/boundwitness-model';
3
2
  import { ModuleConfig } from '@xyo-network/module';
4
3
  import { XyoPayload } from '@xyo-network/payload-model';
5
- import { WitnessModule } from '@xyo-network/witness';
6
4
  export type SentinelConfigSchema = 'network.xyo.node.sentinel';
7
5
  export declare const SentinelConfigSchema: SentinelConfigSchema;
8
6
  export type SentinelConfig<TConfig extends XyoPayload = XyoPayload> = ModuleConfig<ArchivingModuleConfig & {
9
- onReportEnd?: (boundWitness?: XyoBoundWitness, errors?: Error[]) => void;
10
- onReportStart?: () => void;
11
- onWitnessReportEnd?: (witness: WitnessModule, error?: Error) => void;
12
- onWitnessReportStart?: (witness: WitnessModule) => void;
13
7
  witnesses?: string[];
14
8
  } & TConfig>;
15
9
  //# sourceMappingURL=Config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,MAAM,MAAM,oBAAoB,GAAG,2BAA2B,CAAA;AAC9D,eAAO,MAAM,oBAAoB,EAAE,oBAAkD,CAAA;AAErF,MAAM,MAAM,cAAc,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,YAAY,CAChF,qBAAqB,GAAG;IACtB,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,CAAA;IACxE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;IACpE,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAA;IACvD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB,GAAG,OAAO,CACZ,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,MAAM,MAAM,oBAAoB,GAAG,2BAA2B,CAAA;AAC9D,eAAO,MAAM,oBAAoB,EAAE,oBAAkD,CAAA;AAErF,MAAM,MAAM,cAAc,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,YAAY,CAChF,qBAAqB,GAAG;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB,GAAG,OAAO,CACZ,CAAA"}
@@ -1,12 +1,9 @@
1
- import { ArchivingModule } from '@xyo-network/archivist';
2
- import { XyoBoundWitness } from '@xyo-network/boundwitness-model';
1
+ import { Module } from '@xyo-network/module';
3
2
  import { XyoPayload } from '@xyo-network/payload-model';
4
3
  import { Promisable } from '@xyo-network/promise';
5
4
  import { SentinelConfig } from './Config';
6
5
  export interface Sentinel {
7
- report: (payloads?: XyoPayload[]) => Promisable<[XyoBoundWitness, XyoPayload[]]>;
8
- tryReport: (payloads?: XyoPayload[]) => Promisable<[XyoBoundWitness | null, XyoPayload[]]>;
9
- }
10
- export interface SentinelModule<TConfig extends SentinelConfig = SentinelConfig> extends ArchivingModule<TConfig>, Sentinel {
6
+ report: (payloads?: XyoPayload[]) => Promisable<XyoPayload[]>;
11
7
  }
8
+ export type SentinelModule<TConfig extends SentinelConfig = SentinelConfig> = Module<TConfig> & Sentinel;
12
9
  //# sourceMappingURL=SentinelModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SentinelModel.d.ts","sourceRoot":"","sources":["../../src/SentinelModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEzC,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,UAAU,CAAC,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;IAChF,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,UAAU,CAAC,CAAC,eAAe,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;CAC3F;AAED,MAAM,WAAW,cAAc,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC,EAAE,QAAQ;CAAG"}
1
+ {"version":3,"file":"SentinelModel.d.ts","sourceRoot":"","sources":["../../src/SentinelModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEzC,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC,CAAA;CAC9D;AAED,MAAM,MAAM,cAAc,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAA"}
@@ -1,9 +1,8 @@
1
1
  /// <reference types="node" />
2
- import { XyoBoundWitness } from '@xyo-network/boundwitness-model';
3
2
  import { XyoPayload } from '@xyo-network/payload-model';
4
3
  import { SentinelAutomationPayload } from './Automation';
5
4
  import { SentinelModule } from './SentinelModel';
6
- export type OnSentinelRunnerTriggerResult = (result: [XyoBoundWitness | null, XyoPayload[]]) => void;
5
+ export type OnSentinelRunnerTriggerResult = (result: XyoPayload[]) => void;
7
6
  export declare class SentinelRunner {
8
7
  protected _automations: Record<string, SentinelAutomationPayload>;
9
8
  protected onTriggerResult: OnSentinelRunnerTriggerResult | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"SentinelRunner.d.ts","sourceRoot":"","sources":["../../src/SentinelRunner.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAGvD,OAAO,EAAE,yBAAyB,EAAqC,MAAM,cAAc,CAAA;AAE3F,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,MAAM,MAAM,6BAA6B,GAAG,CAAC,MAAM,EAAE,CAAC,eAAe,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC,KAAK,IAAI,CAAA;AAEpG,qBAAa,cAAc;IACzB,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAK;IACtE,SAAS,CAAC,eAAe,EAAE,6BAA6B,GAAG,SAAS,CAAA;IACpE,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAA;IAClC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAA;gBAEtB,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,yBAAyB,EAAE,EAAE,eAAe,CAAC,EAAE,6BAA6B;IAMhI,IAAI,WAAW,8CAEd;IAED,OAAO,KAAK,IAAI,GAMf;IAEK,GAAG,CAAC,UAAU,EAAE,yBAAyB,EAAE,OAAO,UAAO;IAO/D,IAAI,CAAC,IAAI,EAAE,MAAM;IAIX,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,UAAO;IAKzC,SAAS;IAKH,OAAO;IAKP,KAAK;IAoBX,IAAI;IAOE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,yBAAyB,EAAE,OAAO,UAAO;YAMlE,OAAO;CAStB"}
1
+ {"version":3,"file":"SentinelRunner.d.ts","sourceRoot":"","sources":["../../src/SentinelRunner.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAGvD,OAAO,EAAE,yBAAyB,EAAqC,MAAM,cAAc,CAAA;AAE3F,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,MAAM,MAAM,6BAA6B,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,IAAI,CAAA;AAE1E,qBAAa,cAAc;IACzB,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAK;IACtE,SAAS,CAAC,eAAe,EAAE,6BAA6B,GAAG,SAAS,CAAA;IACpE,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAA;IAClC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAA;gBAEtB,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,yBAAyB,EAAE,EAAE,eAAe,CAAC,EAAE,6BAA6B;IAMhI,IAAI,WAAW,8CAEd;IAED,OAAO,KAAK,IAAI,GAMf;IAEK,GAAG,CAAC,UAAU,EAAE,yBAAyB,EAAE,OAAO,UAAO;IAO/D,IAAI,CAAC,IAAI,EAAE,MAAM;IAIX,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,UAAO;IAKzC,SAAS;IAKH,OAAO;IAKP,KAAK;IAoBX,IAAI;IAOE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,yBAAyB,EAAE,OAAO,UAAO;YAMlE,OAAO;CAStB"}
@@ -0,0 +1,13 @@
1
+ import { Account } from '@xyo-network/account';
2
+ import { ModuleWrapper } from '@xyo-network/module';
3
+ import { Module } from '@xyo-network/module-model';
4
+ import { XyoPayload } from '@xyo-network/payload-model';
5
+ import { Sentinel } from './SentinelModel';
6
+ export declare class SentinelWrapper extends ModuleWrapper implements Sentinel {
7
+ static requiredQueries: string[];
8
+ constructor(module: Module, account?: Account);
9
+ static tryWrap(module?: Module, account?: Account): SentinelWrapper | undefined;
10
+ static wrap(module?: Module, account?: Account): SentinelWrapper;
11
+ report(payloads?: XyoPayload[]): Promise<XyoPayload[]>;
12
+ }
13
+ //# sourceMappingURL=Wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Wrapper.d.ts","sourceRoot":"","sources":["../../src/Wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAIvD,OAAO,EAAE,QAAQ,EAAkB,MAAM,iBAAiB,CAAA;AAE1D,qBAAa,eAAgB,SAAQ,aAAc,YAAW,QAAQ;IACpE,OAAgB,eAAe,WAAwD;gBAE3E,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;WAK7B,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS;WAWxE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe;IAInE,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAK7D"}
@@ -5,4 +5,5 @@ export * from './Queries';
5
5
  export * from './SentinelIntervalAutomationWrapper';
6
6
  export * from './SentinelModel';
7
7
  export * from './SentinelRunner';
8
+ export * from './Wrapper';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,qCAAqC,CAAA;AACnD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,qCAAqC,CAAA;AACnD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA"}
package/package.json CHANGED
@@ -11,17 +11,17 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.7.4",
14
- "@xyo-network/account": "^2.49.5",
15
- "@xyo-network/archivist": "^2.49.5",
16
- "@xyo-network/archivist-wrapper": "^2.49.5",
17
- "@xyo-network/boundwitness-model": "^2.49.5",
18
- "@xyo-network/core": "^2.49.5",
19
- "@xyo-network/module": "^2.49.5",
20
- "@xyo-network/module-model": "^2.49.5",
21
- "@xyo-network/payload-model": "^2.49.5",
22
- "@xyo-network/payload-wrapper": "^2.49.5",
23
- "@xyo-network/promise": "^2.49.5",
24
- "@xyo-network/witness": "^2.49.5",
14
+ "@xyo-network/account": "^2.50.0",
15
+ "@xyo-network/archivist": "^2.50.0",
16
+ "@xyo-network/archivist-wrapper": "^2.50.0",
17
+ "@xyo-network/boundwitness-model": "^2.50.0",
18
+ "@xyo-network/core": "^2.50.0",
19
+ "@xyo-network/module": "^2.50.0",
20
+ "@xyo-network/module-model": "^2.50.0",
21
+ "@xyo-network/payload-model": "^2.50.0",
22
+ "@xyo-network/payload-wrapper": "^2.50.0",
23
+ "@xyo-network/promise": "^2.50.0",
24
+ "@xyo-network/witness": "^2.50.0",
25
25
  "lodash": "^4.17.21"
26
26
  },
27
27
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -63,5 +63,5 @@
63
63
  },
64
64
  "sideEffects": false,
65
65
  "types": "dist/types/index.d.ts",
66
- "version": "2.49.5"
66
+ "version": "2.50.0"
67
67
  }
@@ -13,15 +13,20 @@ import { SentinelConfig, SentinelConfigSchema } from './Config'
13
13
  import { SentinelQuery, SentinelReportQuerySchema } from './Queries'
14
14
  import { SentinelModule } from './SentinelModel'
15
15
 
16
- export type AbstractSentinelConfig = SentinelConfig<{
17
- onReportEnd?: (boundWitness?: XyoBoundWitness, errors?: Error[]) => void
18
- onReportStart?: () => void
19
- onWitnessReportEnd?: (witness: WitnessWrapper, error?: Error) => void
20
- onWitnessReportStart?: (witness: WitnessWrapper) => void
21
- schema: SentinelConfigSchema
22
- }>
23
-
24
- export class AbstractSentinel<TConfig extends SentinelConfig = SentinelConfig> extends ArchivingModule<TConfig> implements SentinelModule<TConfig> {
16
+ export type AbstractSentinelParams<TConfig extends SentinelConfig = SentinelConfig> = ModuleParams<
17
+ TConfig,
18
+ {
19
+ onReportEnd?: (boundWitness?: XyoBoundWitness, errors?: Error[]) => void
20
+ onReportStart?: () => void
21
+ onWitnessReportEnd?: (witness: WitnessWrapper, error?: Error) => void
22
+ onWitnessReportStart?: (witness: WitnessWrapper) => void
23
+ }
24
+ >
25
+
26
+ export class AbstractSentinel<TParams extends AbstractSentinelParams = AbstractSentinelParams>
27
+ extends ArchivingModule<TParams>
28
+ implements SentinelModule<TParams['config']>
29
+ {
25
30
  static override configSchema: SentinelConfigSchema
26
31
 
27
32
  history: XyoBoundWitness[] = []
@@ -70,8 +75,7 @@ export class AbstractSentinel<TConfig extends SentinelConfig = SentinelConfig> e
70
75
  try {
71
76
  switch (typedQuery.schemaName) {
72
77
  case SentinelReportQuerySchema: {
73
- const reportResult = await this.report(payloads)
74
- resultPayloads.push(...(reportResult[0], reportResult[1]))
78
+ resultPayloads.push(...(await this.report(payloads)))
75
79
  break
76
80
  }
77
81
  default:
@@ -94,9 +98,9 @@ export class AbstractSentinel<TConfig extends SentinelConfig = SentinelConfig> e
94
98
  this._witnesses = undefined
95
99
  }
96
100
 
97
- async report(payloads: XyoPayload[] = []): Promise<[XyoBoundWitness, XyoPayload[]]> {
101
+ async report(payloads: XyoPayload[] = []): Promise<XyoPayload[]> {
98
102
  const errors: Error[] = []
99
- this.config?.onReportStart?.()
103
+ this.params?.onReportStart?.()
100
104
  const allWitnesses = [...(await this.getWitnesses())]
101
105
  const allPayloads: XyoPayload[] = []
102
106
 
@@ -110,18 +114,8 @@ export class AbstractSentinel<TConfig extends SentinelConfig = SentinelConfig> e
110
114
 
111
115
  const [newBoundWitness] = await this.bindResult(allPayloads)
112
116
  this.history.push(assertEx(newBoundWitness))
113
- this.config?.onReportEnd?.(newBoundWitness, errors.length > 0 ? errors : undefined)
114
- return [newBoundWitness, allPayloads]
115
- }
116
-
117
- async tryReport(payloads: XyoPayload[] = []): Promise<[XyoBoundWitness | null, XyoPayload[]]> {
118
- try {
119
- return await this.report(payloads)
120
- } catch (ex) {
121
- const error = ex as Error
122
- this.logger?.warn(`report failed [${error.message}]`)
123
- return [null, []]
124
- }
117
+ this.params?.onReportEnd?.(newBoundWitness, errors.length > 0 ? errors : undefined)
118
+ return [newBoundWitness, ...allPayloads]
125
119
  }
126
120
 
127
121
  private async generatePayloads(witnesses: WitnessWrapper[]): Promise<XyoPayload[]> {
package/src/Config.ts CHANGED
@@ -1,18 +1,12 @@
1
1
  import { ArchivingModuleConfig } from '@xyo-network/archivist'
2
- import { XyoBoundWitness } from '@xyo-network/boundwitness-model'
3
2
  import { ModuleConfig } from '@xyo-network/module'
4
3
  import { XyoPayload } from '@xyo-network/payload-model'
5
- import { WitnessModule } from '@xyo-network/witness'
6
4
 
7
5
  export type SentinelConfigSchema = 'network.xyo.node.sentinel'
8
6
  export const SentinelConfigSchema: SentinelConfigSchema = 'network.xyo.node.sentinel'
9
7
 
10
8
  export type SentinelConfig<TConfig extends XyoPayload = XyoPayload> = ModuleConfig<
11
9
  ArchivingModuleConfig & {
12
- onReportEnd?: (boundWitness?: XyoBoundWitness, errors?: Error[]) => void
13
- onReportStart?: () => void
14
- onWitnessReportEnd?: (witness: WitnessModule, error?: Error) => void
15
- onWitnessReportStart?: (witness: WitnessModule) => void
16
10
  witnesses?: string[]
17
11
  } & TConfig
18
12
  >
@@ -1,13 +1,11 @@
1
- import { ArchivingModule } from '@xyo-network/archivist'
2
- import { XyoBoundWitness } from '@xyo-network/boundwitness-model'
1
+ import { Module } from '@xyo-network/module'
3
2
  import { XyoPayload } from '@xyo-network/payload-model'
4
3
  import { Promisable } from '@xyo-network/promise'
5
4
 
6
5
  import { SentinelConfig } from './Config'
7
6
 
8
7
  export interface Sentinel {
9
- report: (payloads?: XyoPayload[]) => Promisable<[XyoBoundWitness, XyoPayload[]]>
10
- tryReport: (payloads?: XyoPayload[]) => Promisable<[XyoBoundWitness | null, XyoPayload[]]>
8
+ report: (payloads?: XyoPayload[]) => Promisable<XyoPayload[]>
11
9
  }
12
10
 
13
- export interface SentinelModule<TConfig extends SentinelConfig = SentinelConfig> extends ArchivingModule<TConfig>, Sentinel {}
11
+ export type SentinelModule<TConfig extends SentinelConfig = SentinelConfig> = Module<TConfig> & Sentinel
@@ -1,5 +1,4 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
- import { XyoBoundWitness } from '@xyo-network/boundwitness-model'
3
2
  import { XyoPayload } from '@xyo-network/payload-model'
4
3
  import { PayloadWrapper } from '@xyo-network/payload-wrapper'
5
4
 
@@ -7,7 +6,7 @@ import { SentinelAutomationPayload, SentinelIntervalAutomationPayload } from './
7
6
  import { SentinelIntervalAutomationWrapper } from './SentinelIntervalAutomationWrapper'
8
7
  import { SentinelModule } from './SentinelModel'
9
8
 
10
- export type OnSentinelRunnerTriggerResult = (result: [XyoBoundWitness | null, XyoPayload[]]) => void
9
+ export type OnSentinelRunnerTriggerResult = (result: XyoPayload[]) => void
11
10
 
12
11
  export class SentinelRunner {
13
12
  protected _automations: Record<string, SentinelAutomationPayload> = {}
@@ -97,7 +96,7 @@ export class SentinelRunner {
97
96
  await this.remove(wrapper.hash, false)
98
97
  wrapper.next()
99
98
  await this.add(wrapper.payload, false)
100
- const triggerResult = await this.sentinel.tryReport()
99
+ const triggerResult = await this.sentinel.report()
101
100
  this.onTriggerResult?.(triggerResult)
102
101
  await this.start()
103
102
  }
package/src/Wrapper.ts ADDED
@@ -0,0 +1,39 @@
1
+ import { assertEx } from '@xylabs/assert'
2
+ import { Account } from '@xyo-network/account'
3
+ import { ModuleWrapper } from '@xyo-network/module'
4
+ import { Module } from '@xyo-network/module-model'
5
+ import { XyoPayload } from '@xyo-network/payload-model'
6
+ import { PayloadWrapper } from '@xyo-network/payload-wrapper'
7
+
8
+ import { SentinelReportQuery, SentinelReportQuerySchema } from './Queries'
9
+ import { Sentinel, SentinelModule } from './SentinelModel'
10
+
11
+ export class SentinelWrapper extends ModuleWrapper implements Sentinel {
12
+ static override requiredQueries = [SentinelReportQuerySchema, ...super.requiredQueries]
13
+
14
+ constructor(module: Module, account?: Account) {
15
+ super(module, account)
16
+ assertEx(module.queries.includes(SentinelReportQuerySchema))
17
+ }
18
+
19
+ static override tryWrap(module?: Module, account?: Account): SentinelWrapper | undefined {
20
+ if (module) {
21
+ const missingRequiredQueries = this.missingRequiredQueries(module)
22
+ if (missingRequiredQueries.length > 0) {
23
+ console.warn(`Missing queries: ${JSON.stringify(missingRequiredQueries, null, 2)}`)
24
+ } else {
25
+ return new SentinelWrapper(module as SentinelModule, account)
26
+ }
27
+ }
28
+ }
29
+
30
+ static override wrap(module?: Module, account?: Account): SentinelWrapper {
31
+ return assertEx(this.tryWrap(module, account), 'Unable to wrap module as DivinerWrapper')
32
+ }
33
+
34
+ async report(payloads?: XyoPayload[]): Promise<XyoPayload[]> {
35
+ const queryPayload = PayloadWrapper.parse<SentinelReportQuery>({ schema: SentinelReportQuerySchema })
36
+ const result = await this.sendQuery(queryPayload, payloads)
37
+ return result
38
+ }
39
+ }
package/src/index.ts CHANGED
@@ -5,3 +5,4 @@ export * from './Queries'
5
5
  export * from './SentinelIntervalAutomationWrapper'
6
6
  export * from './SentinelModel'
7
7
  export * from './SentinelRunner'
8
+ export * from './Wrapper'