@xyo-network/sentinel 2.66.3 → 2.66.5
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/dist/cjs/AbstractSentinel.js +2 -1
- package/dist/cjs/AbstractSentinel.js.map +1 -1
- package/dist/cjs/SentinelRunner.js.map +1 -1
- package/dist/cjs/Wrapper.js +3 -0
- package/dist/cjs/Wrapper.js.map +1 -1
- package/dist/docs.json +5304 -5485
- package/dist/esm/AbstractSentinel.js +4 -2
- package/dist/esm/AbstractSentinel.js.map +1 -1
- package/dist/esm/SentinelRunner.js.map +1 -1
- package/dist/esm/Wrapper.js +3 -0
- package/dist/esm/Wrapper.js.map +1 -1
- package/dist/types/AbstractSentinel.d.ts +2 -2
- package/dist/types/AbstractSentinel.d.ts.map +1 -1
- package/dist/types/SentinelModel.d.ts +2 -2
- package/dist/types/SentinelModel.d.ts.map +1 -1
- package/dist/types/SentinelRunner.d.ts +3 -3
- package/dist/types/SentinelRunner.d.ts.map +1 -1
- package/dist/types/Wrapper.d.ts +2 -0
- package/dist/types/Wrapper.d.ts.map +1 -1
- package/dist/types/typeChecks.d.ts +5 -5
- package/dist/types/typeChecks.d.ts.map +1 -1
- package/package.json +14 -14
- package/src/AbstractSentinel.ts +7 -3
- package/src/SentinelModel.ts +6 -3
- package/src/SentinelRunner.ts +3 -3
- package/src/Wrapper.ts +3 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
2
|
import { Account } from '@xyo-network/account';
|
|
3
|
-
import { ArchivingModule } from '@xyo-network/archivist';
|
|
3
|
+
import { ArchivingModule, asArchivistInstance } from '@xyo-network/archivist';
|
|
4
4
|
import { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder';
|
|
5
5
|
import { handleErrorAsync } from '@xyo-network/error';
|
|
6
6
|
import { ModuleErrorBuilder } from '@xyo-network/module';
|
|
@@ -31,7 +31,9 @@ export class AbstractSentinel extends ArchivingModule {
|
|
|
31
31
|
}
|
|
32
32
|
async getArchivists() {
|
|
33
33
|
const addresses = this.config?.archivists ? (Array.isArray(this.config.archivists) ? this.config?.archivists : [this.config.archivists]) : [];
|
|
34
|
-
this._archivists =
|
|
34
|
+
this._archivists =
|
|
35
|
+
this._archivists ??
|
|
36
|
+
(await this.resolve({ address: addresses })).map((module) => assertEx(asArchivistInstance(module), 'Tried to resolve a non-archivist as an archivist'));
|
|
35
37
|
if (addresses.length !== this._archivists.length) {
|
|
36
38
|
this.logger?.warn(`Not all archivists found [Requested: ${addresses.length}, Found: ${this._archivists.length}]`);
|
|
37
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSentinel.js","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAE9C,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"AbstractSentinel.js","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SentinelRunner.js","sourceRoot":"","sources":["../../src/SentinelRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAG7D,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAA;AAKvF,MAAM,OAAO,cAAc;IACf,YAAY,GAA8C,EAAE,CAAA;IAC5D,eAAe,CAA2C;IAC1D,QAAQ,
|
|
1
|
+
{"version":3,"file":"SentinelRunner.js","sourceRoot":"","sources":["../../src/SentinelRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAG7D,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAA;AAKvF,MAAM,OAAO,cAAc;IACf,YAAY,GAA8C,EAAE,CAAA;IAC5D,eAAe,CAA2C;IAC1D,QAAQ,CAAkB;IAC1B,SAAS,CAAe;IAElC,YAAY,QAA0B,EAAE,WAAyC,EAAE,eAA+C;QAChI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,WAAW,EAAE,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,IAAY,IAAI;QACd,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAgD,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;YAClH,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC/B,OAAO,OAAO,CAAC,KAAK,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAA;aAC1E;QACH,CAAC,EAAE,SAAS,CAAC,CAAA;IACf,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,UAAqC,EAAE,OAAO,GAAG,IAAI;QAC7D,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QACvD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAA;QACpC,IAAI,OAAO;YAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,IAAY;QACf,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAA;IACjE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,OAAO,GAAG,IAAI;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,OAAO;YAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IACnC,CAAC;IAED,SAAS;QACP,IAAI,CAAC,IAAI,EAAE,CAAA;QACX,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,IAAI,EAAE,CAAA;QACX,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,iBAAiB,CAAC,CAAA;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAA;QAC5B,IAAI,UAAU,EAAE;YACd,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAC3C,IAAI,KAAK,GAAG,CAAC,EAAE;gBACb,+BAA+B;gBAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;aAC/B;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,UAAU,CACzB,KAAK,IAAI,EAAE;oBACT,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;oBAC1B,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;gBACpB,CAAC,EACD,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACtB,CAAA;aACF;SACF;IACH,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;SAC3B;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,UAAqC,EAAE,OAAO,GAAG,IAAI;QAC9E,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC9B,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACjC,IAAI,OAAO;YAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IACnC,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,UAA6C;QACjE,MAAM,OAAO,GAAG,IAAI,iCAAiC,CAAC,UAAU,CAAC,CAAA;QACjE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,CAAA;QACnD,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAA;QACxC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;QAClD,IAAI,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC,CAAA;QACrC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;CACF"}
|
package/dist/esm/Wrapper.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module';
|
|
2
2
|
import { PayloadWrapper } from '@xyo-network/payload-wrapper';
|
|
3
3
|
import { SentinelReportQuerySchema } from './Queries';
|
|
4
|
+
import { isSentinelInstance, isSentinelModule } from './typeChecks';
|
|
4
5
|
constructableModuleWrapper();
|
|
5
6
|
export class SentinelWrapper extends ModuleWrapper {
|
|
7
|
+
static instanceIdentityCheck = isSentinelInstance;
|
|
8
|
+
static moduleIdentityCheck = isSentinelModule;
|
|
6
9
|
static requiredQueries = [SentinelReportQuerySchema, ...super.requiredQueries];
|
|
7
10
|
async report(payloads) {
|
|
8
11
|
const queryPayload = PayloadWrapper.wrap({ schema: SentinelReportQuerySchema });
|
package/dist/esm/Wrapper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../src/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAuB,yBAAyB,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../src/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAuB,yBAAyB,EAAE,MAAM,WAAW,CAAA;AAE1E,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEnE,0BAA0B,EAAE,CAAA;AAC5B,MAAM,OAAO,eAAiE,SAAQ,aAAsB;IAC1G,MAAM,CAAU,qBAAqB,GAAG,kBAAkB,CAAA;IAC1D,MAAM,CAAU,mBAAmB,GAAG,gBAAgB,CAAA;IACtD,MAAM,CAAU,eAAe,GAAG,CAAC,yBAAyB,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,CAAA;IAEvF,KAAK,CAAC,MAAM,CAAC,QAAoB;QAC/B,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAsB,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAA;QACpG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAC3D,OAAO,MAAM,CAAA;IACf,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AccountInstance } from '@xyo-network/account-model';
|
|
2
|
-
import { ArchivingModule,
|
|
2
|
+
import { ArchivingModule, ArchivistInstance } from '@xyo-network/archivist';
|
|
3
3
|
import { QueryBoundWitness } from '@xyo-network/boundwitness-builder';
|
|
4
4
|
import { BoundWitness } from '@xyo-network/boundwitness-model';
|
|
5
5
|
import { AnyConfigSchema, ModuleConfig, ModuleQueryResult } from '@xyo-network/module';
|
|
@@ -17,7 +17,7 @@ export declare abstract class AbstractSentinel<TParams extends SentinelParams<An
|
|
|
17
17
|
protected get _queryAccountPaths(): Record<SentinelQueryBase['schema'], string>;
|
|
18
18
|
addArchivist(address: string[]): void;
|
|
19
19
|
addWitness(address: string[]): void;
|
|
20
|
-
getArchivists(): Promise<
|
|
20
|
+
getArchivists(): Promise<ArchivistInstance[]>;
|
|
21
21
|
getWitnesses(account?: AccountInstance): Promise<WitnessWrapper[]>;
|
|
22
22
|
removeArchivist(address: string[]): void;
|
|
23
23
|
removeWitness(address: string[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSentinel.d.ts","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"AbstractSentinel.d.ts","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAuB,MAAM,wBAAwB,CAAA;AAChG,OAAO,EAAE,iBAAiB,EAA4B,MAAM,mCAAmC,CAAA;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAsB,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC1G,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,cAAc,EAAwB,MAAM,UAAU,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAA6B,MAAM,WAAW,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEzF,8BAAsB,gBAAgB,CAClC,OAAO,SAAS,cAAc,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,GAAG,cAAc,CAAC,cAAc,CAAC,EAChG,UAAU,SAAS,uBAAuB,GAAG,uBAAuB,CAEtE,SAAQ,eAAe,CAAC,OAAO,EAAE,UAAU,CAC3C,YAAW,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC;IAE9C,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAyB;IAEzE,OAAO,EAAE,YAAY,EAAE,CAAK;IAE5B,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,UAAU,CAA8B;IAEhD,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAED,cAAuB,kBAAkB,IAAI,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAIvF;IAED,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE;IAK9B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE;IAKtB,aAAa;IAcb,YAAY,CAAC,OAAO,CAAC,EAAE,eAAe;IAY5C,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE;IAKjC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE;cAKN,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,iBAAiB,CAAC;IAyC7B,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAC1D"}
|
|
@@ -7,7 +7,6 @@ import { SentinelConfig } from './Config';
|
|
|
7
7
|
export interface Sentinel {
|
|
8
8
|
report: (payloads?: Payload[]) => Promisable<Payload[]>;
|
|
9
9
|
}
|
|
10
|
-
export type SentinelInstance = Sentinel;
|
|
11
10
|
export type SentinelReportEndEventArgs = ModuleEventArgs<SentinelModule, {
|
|
12
11
|
boundWitness?: BoundWitness;
|
|
13
12
|
errors?: Error[];
|
|
@@ -26,5 +25,6 @@ export interface SentinelReportStartEventData extends EventData {
|
|
|
26
25
|
export interface SentinelModuleEventData extends SentinelReportEndEventData, SentinelReportStartEventData, ModuleEventData {
|
|
27
26
|
}
|
|
28
27
|
export type SentinelParams<TConfig extends AnyConfigSchema<SentinelConfig> = AnyConfigSchema<SentinelConfig>, TAdditionalParams extends AnyObject | undefined = undefined> = ModuleParams<TConfig, TAdditionalParams>;
|
|
29
|
-
export type SentinelModule<TParams extends SentinelParams = SentinelParams, TEventData extends SentinelModuleEventData = SentinelModuleEventData> = Module<TParams, TEventData
|
|
28
|
+
export type SentinelModule<TParams extends SentinelParams = SentinelParams, TEventData extends SentinelModuleEventData = SentinelModuleEventData> = Module<TParams, TEventData>;
|
|
29
|
+
export type SentinelInstance<TParams extends SentinelParams = SentinelParams, TEventData extends SentinelModuleEventData = SentinelModuleEventData> = SentinelModule<TParams, TEventData> & Sentinel;
|
|
30
30
|
//# sourceMappingURL=SentinelModel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SentinelModel.d.ts","sourceRoot":"","sources":["../../src/SentinelModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACxH,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,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,OAAO,EAAE,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;CACxD;AAED,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"SentinelModel.d.ts","sourceRoot":"","sources":["../../src/SentinelModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACxH,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,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,OAAO,EAAE,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;CACxD;AAED,MAAM,MAAM,0BAA0B,GAAG,eAAe,CACtD,cAAc,EACd;IACE,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,EAAE,CAAA;IACtB,WAAW,EAAE,OAAO,EAAE,CAAA;CACvB,CACF,CAAA;AAED,MAAM,WAAW,0BAA2B,SAAQ,SAAS;IAC3D,SAAS,EAAE,0BAA0B,CAAA;CACtC;AAED,MAAM,MAAM,4BAA4B,GAAG,eAAe,CACxD,cAAc,EACd;IACE,UAAU,CAAC,EAAE,OAAO,EAAE,CAAA;CACvB,CACF,CAAA;AAED,MAAM,WAAW,4BAA6B,SAAQ,SAAS;IAC7D,WAAW,EAAE,4BAA4B,CAAA;CAC1C;AAED,MAAM,WAAW,uBAAwB,SAAQ,0BAA0B,EAAE,4BAA4B,EAAE,eAAe;CAAG;AAE7H,MAAM,MAAM,cAAc,CACxB,OAAO,SAAS,eAAe,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC,EACjF,iBAAiB,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,IACzD,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;AAE5C,MAAM,MAAM,cAAc,CACxB,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,UAAU,SAAS,uBAAuB,GAAG,uBAAuB,IAClE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;AAE/B,MAAM,MAAM,gBAAgB,CAC1B,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,UAAU,SAAS,uBAAuB,GAAG,uBAAuB,IAClE,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAA"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Payload } from '@xyo-network/payload-model';
|
|
3
3
|
import { SentinelAutomationPayload } from './Automation';
|
|
4
|
-
import {
|
|
4
|
+
import { SentinelInstance } from './SentinelModel';
|
|
5
5
|
export type OnSentinelRunnerTriggerResult = (result: Payload[]) => void;
|
|
6
6
|
export declare class SentinelRunner {
|
|
7
7
|
protected _automations: Record<string, SentinelAutomationPayload>;
|
|
8
8
|
protected onTriggerResult: OnSentinelRunnerTriggerResult | undefined;
|
|
9
|
-
protected sentinel:
|
|
9
|
+
protected sentinel: SentinelInstance;
|
|
10
10
|
protected timeoutId?: NodeJS.Timer;
|
|
11
|
-
constructor(sentinel:
|
|
11
|
+
constructor(sentinel: SentinelInstance, automations?: SentinelAutomationPayload[], onTriggerResult?: OnSentinelRunnerTriggerResult);
|
|
12
12
|
get automations(): Record<string, SentinelAutomationPayload>;
|
|
13
13
|
private get next();
|
|
14
14
|
add(automation: SentinelAutomationPayload, restart?: boolean): Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SentinelRunner.d.ts","sourceRoot":"","sources":["../../src/SentinelRunner.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,OAAO,EAAE,yBAAyB,EAAqC,MAAM,cAAc,CAAA;AAE3F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SentinelRunner.d.ts","sourceRoot":"","sources":["../../src/SentinelRunner.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD,OAAO,EAAE,yBAAyB,EAAqC,MAAM,cAAc,CAAA;AAE3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAElD,MAAM,MAAM,6BAA6B,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAEvE,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,gBAAgB,CAAA;IACpC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAA;gBAEtB,QAAQ,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,yBAAyB,EAAE,EAAE,eAAe,CAAC,EAAE,6BAA6B;IAMlI,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"}
|
package/dist/types/Wrapper.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ import { ModuleWrapper } from '@xyo-network/module';
|
|
|
2
2
|
import { Payload } from '@xyo-network/payload-model';
|
|
3
3
|
import { SentinelModule } from './SentinelModel';
|
|
4
4
|
export declare class SentinelWrapper<TModule extends SentinelModule = SentinelModule> extends ModuleWrapper<TModule> implements SentinelModule {
|
|
5
|
+
static instanceIdentityCheck: import("@xyo-network/module").InstanceTypeCheck<import("./SentinelModel").SentinelInstance>;
|
|
6
|
+
static moduleIdentityCheck: import("@xyo-network/module").ModuleTypeCheck<SentinelModule>;
|
|
5
7
|
static requiredQueries: string[];
|
|
6
8
|
report(payloads?: Payload[]): Promise<Payload[]>;
|
|
7
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wrapper.d.ts","sourceRoot":"","sources":["../../src/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIpD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"Wrapper.d.ts","sourceRoot":"","sources":["../../src/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIpD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAIhD,qBAAa,eAAe,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,aAAa,CAAC,OAAO,CAAE,YAAW,cAAc;IACpI,OAAgB,qBAAqB,8FAAqB;IAC1D,OAAgB,mBAAmB,gEAAmB;IACtD,OAAgB,eAAe,WAAwD;IAEjF,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAKvD"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { SentinelModule } from './SentinelModel';
|
|
2
|
-
export declare const isSentinelInstance: import("@xyo-network/module-model").InstanceTypeCheck<
|
|
1
|
+
import { SentinelInstance, SentinelModule } from './SentinelModel';
|
|
2
|
+
export declare const isSentinelInstance: import("@xyo-network/module-model").InstanceTypeCheck<SentinelInstance>;
|
|
3
3
|
export declare const isSentinelModule: import("@xyo-network/module-model").ModuleTypeCheck<SentinelModule>;
|
|
4
4
|
export declare const asSentinelModule: {
|
|
5
5
|
(module: any): SentinelModule | undefined;
|
|
6
6
|
(module: any, assert: string | (() => string)): SentinelModule;
|
|
7
7
|
};
|
|
8
8
|
export declare const asSentinelInstance: {
|
|
9
|
-
(module: any):
|
|
10
|
-
(module: any, assert: string | (() => string)):
|
|
9
|
+
(module: any): SentinelInstance | undefined;
|
|
10
|
+
(module: any, assert: string | (() => string)): SentinelInstance;
|
|
11
11
|
};
|
|
12
12
|
export declare const withSentinelModule: <R>(module: any, closure: (module: SentinelModule) => R) => R | undefined;
|
|
13
|
-
export declare const withSentinelInstance: <R>(module: any, closure: (module:
|
|
13
|
+
export declare const withSentinelInstance: <R>(module: any, closure: (module: SentinelInstance) => R) => R | undefined;
|
|
14
14
|
//# sourceMappingURL=typeChecks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeChecks.d.ts","sourceRoot":"","sources":["../../src/typeChecks.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"typeChecks.d.ts","sourceRoot":"","sources":["../../src/typeChecks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAElE,eAAO,MAAM,kBAAkB,yEAAuF,CAAA;AACtH,eAAO,MAAM,gBAAgB,qEAAsE,CAAA;AAEnG,eAAO,MAAM,gBAAgB;;;CAAqC,CAAA;AAClE,eAAO,MAAM,kBAAkB;;;CAAuC,CAAA;AACtE,eAAO,MAAM,kBAAkB,2EAAuC,CAAA;AACtE,eAAO,MAAM,oBAAoB,6EAAyC,CAAA"}
|
package/package.json
CHANGED
|
@@ -12,19 +12,19 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.9.3",
|
|
14
14
|
"@xylabs/promise": "^2.9.3",
|
|
15
|
-
"@xyo-network/account": "
|
|
16
|
-
"@xyo-network/account-model": "
|
|
17
|
-
"@xyo-network/archivist": "
|
|
18
|
-
"@xyo-network/boundwitness-builder": "
|
|
19
|
-
"@xyo-network/boundwitness-model": "
|
|
20
|
-
"@xyo-network/core": "
|
|
21
|
-
"@xyo-network/error": "
|
|
22
|
-
"@xyo-network/module": "
|
|
23
|
-
"@xyo-network/module-model": "
|
|
24
|
-
"@xyo-network/payload-model": "
|
|
25
|
-
"@xyo-network/payload-wrapper": "
|
|
26
|
-
"@xyo-network/promise": "
|
|
27
|
-
"@xyo-network/witness": "
|
|
15
|
+
"@xyo-network/account": "~2.66.5",
|
|
16
|
+
"@xyo-network/account-model": "~2.66.5",
|
|
17
|
+
"@xyo-network/archivist": "~2.66.5",
|
|
18
|
+
"@xyo-network/boundwitness-builder": "~2.66.5",
|
|
19
|
+
"@xyo-network/boundwitness-model": "~2.66.5",
|
|
20
|
+
"@xyo-network/core": "~2.66.5",
|
|
21
|
+
"@xyo-network/error": "~2.66.5",
|
|
22
|
+
"@xyo-network/module": "~2.66.5",
|
|
23
|
+
"@xyo-network/module-model": "~2.66.5",
|
|
24
|
+
"@xyo-network/payload-model": "~2.66.5",
|
|
25
|
+
"@xyo-network/payload-wrapper": "~2.66.5",
|
|
26
|
+
"@xyo-network/promise": "~2.66.5",
|
|
27
|
+
"@xyo-network/witness": "~2.66.5",
|
|
28
28
|
"lodash": "^4.17.21"
|
|
29
29
|
},
|
|
30
30
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
},
|
|
67
67
|
"sideEffects": false,
|
|
68
68
|
"types": "dist/types/index.d.ts",
|
|
69
|
-
"version": "2.66.
|
|
69
|
+
"version": "2.66.5"
|
|
70
70
|
}
|
package/src/AbstractSentinel.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { Account } from '@xyo-network/account'
|
|
3
3
|
import { AccountInstance } from '@xyo-network/account-model'
|
|
4
|
-
import { ArchivingModule,
|
|
4
|
+
import { ArchivingModule, ArchivistInstance, asArchivistInstance } from '@xyo-network/archivist'
|
|
5
5
|
import { QueryBoundWitness, QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'
|
|
6
6
|
import { BoundWitness } from '@xyo-network/boundwitness-model'
|
|
7
7
|
import { handleErrorAsync } from '@xyo-network/error'
|
|
@@ -25,7 +25,7 @@ export abstract class AbstractSentinel<
|
|
|
25
25
|
|
|
26
26
|
history: BoundWitness[] = []
|
|
27
27
|
|
|
28
|
-
private _archivists:
|
|
28
|
+
private _archivists: ArchivistInstance[] | undefined
|
|
29
29
|
private _witnesses: WitnessWrapper[] | undefined
|
|
30
30
|
|
|
31
31
|
override get queries(): string[] {
|
|
@@ -50,7 +50,11 @@ export abstract class AbstractSentinel<
|
|
|
50
50
|
|
|
51
51
|
async getArchivists() {
|
|
52
52
|
const addresses = this.config?.archivists ? (Array.isArray(this.config.archivists) ? this.config?.archivists : [this.config.archivists]) : []
|
|
53
|
-
this._archivists =
|
|
53
|
+
this._archivists =
|
|
54
|
+
this._archivists ??
|
|
55
|
+
(await this.resolve({ address: addresses })).map((module) =>
|
|
56
|
+
assertEx(asArchivistInstance(module), 'Tried to resolve a non-archivist as an archivist'),
|
|
57
|
+
)
|
|
54
58
|
if (addresses.length !== this._archivists.length) {
|
|
55
59
|
this.logger?.warn(`Not all archivists found [Requested: ${addresses.length}, Found: ${this._archivists.length}]`)
|
|
56
60
|
}
|
package/src/SentinelModel.ts
CHANGED
|
@@ -10,8 +10,6 @@ export interface Sentinel {
|
|
|
10
10
|
report: (payloads?: Payload[]) => Promisable<Payload[]>
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
export type SentinelInstance = Sentinel
|
|
14
|
-
|
|
15
13
|
export type SentinelReportEndEventArgs = ModuleEventArgs<
|
|
16
14
|
SentinelModule,
|
|
17
15
|
{
|
|
@@ -47,4 +45,9 @@ export type SentinelParams<
|
|
|
47
45
|
export type SentinelModule<
|
|
48
46
|
TParams extends SentinelParams = SentinelParams,
|
|
49
47
|
TEventData extends SentinelModuleEventData = SentinelModuleEventData,
|
|
50
|
-
> = Module<TParams, TEventData>
|
|
48
|
+
> = Module<TParams, TEventData>
|
|
49
|
+
|
|
50
|
+
export type SentinelInstance<
|
|
51
|
+
TParams extends SentinelParams = SentinelParams,
|
|
52
|
+
TEventData extends SentinelModuleEventData = SentinelModuleEventData,
|
|
53
|
+
> = SentinelModule<TParams, TEventData> & Sentinel
|
package/src/SentinelRunner.ts
CHANGED
|
@@ -4,17 +4,17 @@ import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
|
4
4
|
|
|
5
5
|
import { SentinelAutomationPayload, SentinelIntervalAutomationPayload } from './Automation'
|
|
6
6
|
import { SentinelIntervalAutomationWrapper } from './SentinelIntervalAutomationWrapper'
|
|
7
|
-
import {
|
|
7
|
+
import { SentinelInstance } from './SentinelModel'
|
|
8
8
|
|
|
9
9
|
export type OnSentinelRunnerTriggerResult = (result: Payload[]) => void
|
|
10
10
|
|
|
11
11
|
export class SentinelRunner {
|
|
12
12
|
protected _automations: Record<string, SentinelAutomationPayload> = {}
|
|
13
13
|
protected onTriggerResult: OnSentinelRunnerTriggerResult | undefined
|
|
14
|
-
protected sentinel:
|
|
14
|
+
protected sentinel: SentinelInstance
|
|
15
15
|
protected timeoutId?: NodeJS.Timer
|
|
16
16
|
|
|
17
|
-
constructor(sentinel:
|
|
17
|
+
constructor(sentinel: SentinelInstance, automations?: SentinelAutomationPayload[], onTriggerResult?: OnSentinelRunnerTriggerResult) {
|
|
18
18
|
this.sentinel = sentinel
|
|
19
19
|
this.onTriggerResult = onTriggerResult
|
|
20
20
|
automations?.forEach((automation) => this.add(automation))
|
package/src/Wrapper.ts
CHANGED
|
@@ -4,9 +4,12 @@ import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
|
4
4
|
|
|
5
5
|
import { SentinelReportQuery, SentinelReportQuerySchema } from './Queries'
|
|
6
6
|
import { SentinelModule } from './SentinelModel'
|
|
7
|
+
import { isSentinelInstance, isSentinelModule } from './typeChecks'
|
|
7
8
|
|
|
8
9
|
constructableModuleWrapper()
|
|
9
10
|
export class SentinelWrapper<TModule extends SentinelModule = SentinelModule> extends ModuleWrapper<TModule> implements SentinelModule {
|
|
11
|
+
static override instanceIdentityCheck = isSentinelInstance
|
|
12
|
+
static override moduleIdentityCheck = isSentinelModule
|
|
10
13
|
static override requiredQueries = [SentinelReportQuerySchema, ...super.requiredQueries]
|
|
11
14
|
|
|
12
15
|
async report(payloads?: Payload[]): Promise<Payload[]> {
|