@xyo-network/diviner 2.37.5 → 2.38.0-rc.1

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 (35) hide show
  1. package/dist/cjs/Config.d.ts +3 -1
  2. package/dist/cjs/Config.d.ts.map +1 -1
  3. package/dist/cjs/Payload/Archivist/Config.d.ts +1 -1
  4. package/dist/cjs/Payload/Archivist/Config.d.ts.map +1 -1
  5. package/dist/cjs/Payload/Archivist/Diviner.d.ts +2 -3
  6. package/dist/cjs/Payload/Archivist/Diviner.d.ts.map +1 -1
  7. package/dist/cjs/Payload/Archivist/Diviner.js +19 -10
  8. package/dist/cjs/Payload/Archivist/Diviner.js.map +1 -1
  9. package/dist/cjs/Payload/Huri/Config.d.ts +1 -1
  10. package/dist/cjs/Payload/Huri/Config.d.ts.map +1 -1
  11. package/dist/cjs/XyoDiviner.d.ts +2 -1
  12. package/dist/cjs/XyoDiviner.d.ts.map +1 -1
  13. package/dist/cjs/XyoDiviner.js +1 -1
  14. package/dist/cjs/XyoDiviner.js.map +1 -1
  15. package/dist/docs.json +16375 -9440
  16. package/dist/esm/Config.d.ts +3 -1
  17. package/dist/esm/Config.d.ts.map +1 -1
  18. package/dist/esm/Payload/Archivist/Config.d.ts +1 -1
  19. package/dist/esm/Payload/Archivist/Config.d.ts.map +1 -1
  20. package/dist/esm/Payload/Archivist/Diviner.d.ts +2 -3
  21. package/dist/esm/Payload/Archivist/Diviner.d.ts.map +1 -1
  22. package/dist/esm/Payload/Archivist/Diviner.js +13 -9
  23. package/dist/esm/Payload/Archivist/Diviner.js.map +1 -1
  24. package/dist/esm/Payload/Huri/Config.d.ts +1 -1
  25. package/dist/esm/Payload/Huri/Config.d.ts.map +1 -1
  26. package/dist/esm/XyoDiviner.d.ts +2 -1
  27. package/dist/esm/XyoDiviner.d.ts.map +1 -1
  28. package/dist/esm/XyoDiviner.js +2 -2
  29. package/dist/esm/XyoDiviner.js.map +1 -1
  30. package/package.json +7 -6
  31. package/src/Config.ts +5 -1
  32. package/src/Payload/Archivist/Config.ts +1 -0
  33. package/src/Payload/Archivist/Diviner.ts +16 -13
  34. package/src/Payload/Huri/Config.ts +1 -0
  35. package/src/XyoDiviner.ts +4 -9
@@ -2,5 +2,7 @@ import { XyoModuleConfig } from '@xyo-network/module';
2
2
  import { XyoPayload } from '@xyo-network/payload';
3
3
  export declare type XyoDivinerConfigSchema = 'network.xyo.diviner.config';
4
4
  export declare const XyoDivinerConfigSchema: XyoDivinerConfigSchema;
5
- export declare type XyoDivinerConfig<TConfig extends XyoPayload = XyoPayload> = XyoModuleConfig<TConfig>;
5
+ export declare type XyoDivinerConfig<TTarget extends XyoPayload = XyoPayload, TConfig extends XyoPayload = XyoPayload> = XyoModuleConfig<TConfig & {
6
+ targetSchema?: TTarget['schema'];
7
+ }>;
6
8
  //# sourceMappingURL=Config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,sBAAsB,GAAG,4BAA4B,CAAA;AACjE,eAAO,MAAM,sBAAsB,EAAE,sBAAqD,CAAA;AAE1F,oBAAY,gBAAgB,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,sBAAsB,GAAG,4BAA4B,CAAA;AACjE,eAAO,MAAM,sBAAsB,EAAE,sBAAqD,CAAA;AAE1F,oBAAY,gBAAgB,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,eAAe,CAC9H,OAAO,GAAG;IACR,YAAY,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;CACjC,CACF,CAAA"}
@@ -2,7 +2,7 @@ import { XyoPayload } from '@xyo-network/payload';
2
2
  import { XyoDivinerConfig } from '../../Config';
3
3
  export declare type XyoArchivistPayloadDivinerConfigSchema = 'network.xyo.diviner.payload.archivist.config';
4
4
  export declare const XyoArchivistPayloadDivinerConfigSchema: XyoArchivistPayloadDivinerConfigSchema;
5
- export declare type XyoArchivistPayloadDivinerConfig<T extends XyoPayload = XyoPayload> = XyoDivinerConfig<T & {
5
+ export declare type XyoArchivistPayloadDivinerConfig<T extends XyoPayload = XyoPayload> = XyoDivinerConfig<XyoPayload, T & {
6
6
  schema: XyoArchivistPayloadDivinerConfigSchema;
7
7
  archivist?: string;
8
8
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Archivist/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,oBAAY,sCAAsC,GAAG,8CAA8C,CAAA;AACnG,eAAO,MAAM,sCAAsC,EAAE,sCAAuF,CAAA;AAE5I,oBAAY,gCAAgC,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,gBAAgB,CAChG,CAAC,GAAG;IACF,MAAM,EAAE,sCAAsC,CAAA;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CACF,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Archivist/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,oBAAY,sCAAsC,GAAG,8CAA8C,CAAA;AACnG,eAAO,MAAM,sCAAsC,EAAE,sCAAuF,CAAA;AAE5I,oBAAY,gCAAgC,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,gBAAgB,CAChG,UAAU,EACV,CAAC,GAAG;IACF,MAAM,EAAE,sCAAsC,CAAA;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CACF,CAAA"}
@@ -1,12 +1,11 @@
1
1
  import { PayloadArchivist } from '@xyo-network/archivist';
2
- import { PartialModuleConfig, XyoModuleResolverFunc } from '@xyo-network/module';
3
2
  import { XyoPayloads } from '@xyo-network/payload';
4
3
  import { XyoPayloadDiviner } from '../XyoPayloadDiviner';
5
4
  import { XyoArchivistPayloadDivinerConfig } from './Config';
6
5
  export declare class XyoArchivistPayloadDiviner extends XyoPayloadDiviner<XyoArchivistPayloadDivinerConfig> {
7
- protected readonly archivist?: PayloadArchivist | null;
8
- constructor(config?: PartialModuleConfig<XyoArchivistPayloadDivinerConfig>, archivist?: PayloadArchivist, resolver?: XyoModuleResolverFunc);
6
+ protected archivist?: PayloadArchivist | null;
9
7
  queries(): string[];
8
+ start(): Promise<this>;
10
9
  divine(payloads?: XyoPayloads): Promise<XyoPayloads>;
11
10
  }
12
11
  //# sourceMappingURL=Diviner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAyE,MAAM,wBAAwB,CAAA;AAChI,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,EAAwB,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,gCAAgC,EAA0C,MAAM,UAAU,CAAA;AAEnG,qBAAa,0BAA2B,SAAQ,iBAAiB,CAAC,gCAAgC,CAAC;IACjG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;gBAE1C,MAAM,CAAC,EAAE,mBAAmB,CAAC,gCAAgC,CAAC,EAAE,SAAS,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,qBAAqB;IAUjI,OAAO;IAIH,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAclE"}
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAyE,MAAM,wBAAwB,CAAA;AAChI,OAAO,EAAwB,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAA;AAE3D,qBAAa,0BAA2B,SAAQ,iBAAiB,CAAC,gCAAgC,CAAC;IACjG,SAAS,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAEpC,OAAO;IAID,KAAK;IAcP,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAclE"}
@@ -4,20 +4,24 @@ import { Huri, PayloadWrapper } from '@xyo-network/payload';
4
4
  import { XyoDivinerDivineQuerySchema } from '../../Queries';
5
5
  import { XyoHuriSchema } from '../XyoHuriPayload';
6
6
  import { XyoPayloadDiviner } from '../XyoPayloadDiviner';
7
- import { XyoArchivistPayloadDivinerConfigSchema } from './Config';
8
7
  export class XyoArchivistPayloadDiviner extends XyoPayloadDiviner {
9
8
  archivist;
10
- constructor(config, archivist, resolver) {
11
- super({ ...config, schema: XyoArchivistPayloadDivinerConfigSchema }, undefined, resolver);
12
- const configArchivistAddress = config?.archivist;
13
- const resolvedArchivist = archivist ?? (configArchivistAddress ? this.resolver?.(configArchivistAddress) ?? null : null);
14
- if (resolvedArchivist) {
15
- this.archivist = resolvedArchivist ? new XyoArchivistWrapper(resolvedArchivist) : null;
16
- }
17
- }
18
9
  queries() {
19
10
  return [XyoDivinerDivineQuerySchema, ...super.queries()];
20
11
  }
12
+ async start() {
13
+ await super.start();
14
+ const configArchivistAddress = this.config?.archivist;
15
+ if (configArchivistAddress) {
16
+ const resolvedArchivist = configArchivistAddress
17
+ ? (this.resolver?.fromAddress([configArchivistAddress])).shift() ?? null
18
+ : null;
19
+ if (resolvedArchivist) {
20
+ this.archivist = resolvedArchivist ? new XyoArchivistWrapper({ module: resolvedArchivist }) : null;
21
+ }
22
+ }
23
+ return this;
24
+ }
21
25
  async divine(payloads) {
22
26
  const huriPayloads = assertEx(payloads?.filter((payload) => payload?.schema === XyoHuriSchema), `no huri payloads provided: ${JSON.stringify(payloads, null, 2)}`);
23
27
  const hashes = huriPayloads.map((huriPayload) => huriPayload.huri.map((huri) => new Huri(huri).hash)).flat();
@@ -1 +1 @@
1
- {"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../../src/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAA0C,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAEhI,OAAO,EAAE,IAAI,EAAE,cAAc,EAAe,MAAM,sBAAsB,CAAA;AAExE,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAkB,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAoC,sCAAsC,EAAE,MAAM,UAAU,CAAA;AAEnG,MAAM,OAAO,0BAA2B,SAAQ,iBAAmD;IAC9E,SAAS,CAA0B;IAEtD,YAAY,MAA8D,EAAE,SAA4B,EAAE,QAAgC;QACxI,KAAK,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,sCAAsC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;QACzF,MAAM,sBAAsB,GAAG,MAAM,EAAE,SAAS,CAAA;QAChD,MAAM,iBAAiB,GACrB,SAAS,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,sBAAsB,CAAiC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACjI,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;SACvF;IACH,CAAC;IAEQ,OAAO;QACd,OAAO,CAAC,2BAA2B,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1D,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,QAAsB;QACxC,MAAM,YAAY,GAAG,QAAQ,CAC3B,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,EAA6B,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,aAAa,CAAC,EAC3F,8BAA8B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAClE,CAAA;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5G,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAA;QACtC,IAAI,eAAe,EAAE;YACnB,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAuB,EAAE,MAAM,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAA;YAC/G,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;YAChD,OAAO,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SAC5D;QACD,OAAO,EAAE,CAAA;IACX,CAAC;CACF"}
1
+ {"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../../src/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAA0C,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAChI,OAAO,EAAE,IAAI,EAAE,cAAc,EAAe,MAAM,sBAAsB,CAAA;AAExE,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAkB,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAGxD,MAAM,OAAO,0BAA2B,SAAQ,iBAAmD;IACvF,SAAS,CAA0B;IAEpC,OAAO;QACd,OAAO,CAAC,2BAA2B,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1D,CAAC;IAEQ,KAAK,CAAC,KAAK;QAClB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QACnB,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAA;QACrD,IAAI,sBAAsB,EAAE;YAC1B,MAAM,iBAAiB,GAA4B,sBAAsB;gBACvE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,sBAAsB,CAAC,CAAmC,CAAA,CAAC,KAAK,EAAE,IAAI,IAAI;gBACzG,CAAC,CAAC,IAAI,CAAA;YACR,IAAI,iBAAiB,EAAE;gBACrB,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;aACnG;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,QAAsB;QACxC,MAAM,YAAY,GAAG,QAAQ,CAC3B,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,EAA6B,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,aAAa,CAAC,EAC3F,8BAA8B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAClE,CAAA;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5G,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAA;QACtC,IAAI,eAAe,EAAE;YACnB,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAuB,EAAE,MAAM,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAA;YAC/G,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;YAChD,OAAO,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SAC5D;QACD,OAAO,EAAE,CAAA;IACX,CAAC;CACF"}
@@ -2,7 +2,7 @@ import { HuriOptions, XyoPayload } from '@xyo-network/payload';
2
2
  import { XyoDivinerConfig } from '../../Config';
3
3
  export declare type XyoHuriPayloadDivinerConfigSchema = 'network.xyo.diviner.payload.huri.config';
4
4
  export declare const XyoHuriPayloadDivinerConfigSchema: XyoHuriPayloadDivinerConfigSchema;
5
- export declare type XyoHuriPayloadDivinerConfig<T extends XyoPayload = XyoPayload> = XyoDivinerConfig<T & {
5
+ export declare type XyoHuriPayloadDivinerConfig<T extends XyoPayload = XyoPayload> = XyoDivinerConfig<XyoPayload, T & {
6
6
  schema: XyoHuriPayloadDivinerConfigSchema;
7
7
  options?: HuriOptions;
8
8
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Huri/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,oBAAY,iCAAiC,GAAG,yCAAyC,CAAA;AACzF,eAAO,MAAM,iCAAiC,EAAE,iCAA6E,CAAA;AAE7H,oBAAY,2BAA2B,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,gBAAgB,CAC3F,CAAC,GAAG;IACF,MAAM,EAAE,iCAAiC,CAAA;IACzC,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB,CACF,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../../src/Payload/Huri/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,oBAAY,iCAAiC,GAAG,yCAAyC,CAAA;AACzF,eAAO,MAAM,iCAAiC,EAAE,iCAA6E,CAAA;AAE7H,oBAAY,2BAA2B,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,gBAAgB,CAC3F,UAAU,EACV,CAAC,GAAG;IACF,MAAM,EAAE,iCAAiC,CAAA;IACzC,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB,CACF,CAAA"}
@@ -1,8 +1,9 @@
1
- import { ModuleQueryResult, XyoModule, XyoQueryBoundWitness } from '@xyo-network/module';
1
+ import { ModuleQueryResult, XyoModule, XyoModuleParams, XyoQueryBoundWitness } from '@xyo-network/module';
2
2
  import { XyoPayload, XyoPayloads } from '@xyo-network/payload';
3
3
  import { Promisable } from '@xyo-network/promise';
4
4
  import { XyoDivinerConfig } from './Config';
5
5
  import { DivinerModule } from './Diviner';
6
+ export declare type XyoDivinerParams = XyoModuleParams;
6
7
  export declare abstract class XyoDiviner<TConfig extends XyoDivinerConfig = XyoDivinerConfig> extends XyoModule<TConfig> implements DivinerModule {
7
8
  abstract divine(payloads?: XyoPayloads): Promisable<XyoPayloads>;
8
9
  queries(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"XyoDiviner.d.ts","sourceRoot":"","sources":["../../src/XyoDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAEjB,SAAS,EAGT,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAGzC,8BAAsB,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,SAAS,CAAC,OAAO,CAAE,YAAW,aAAa;IACvI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAEhD,OAAO,IAAI,MAAM,EAAE;IAIpB,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EACxE,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,UAAU,EAAE,GACtB,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;CAiB1C;AAED,8BAAsB,mBAAmB,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,UAAU,CAAC,OAAO,CAAC;CAAG;AAE7H,wCAAwC;AACxC,8BAAsB,kBAAkB,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,UAAU,CAAC,OAAO,CAAC;CAAG;AAE5H,wCAAwC;AACxC,8BAAsB,2BAA2B,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;CAAG"}
1
+ {"version":3,"file":"XyoDiviner.d.ts","sourceRoot":"","sources":["../../src/XyoDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAA4B,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AACnI,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAGzC,oBAAY,gBAAgB,GAAG,eAAe,CAAA;AAE9C,8BAAsB,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,SAAS,CAAC,OAAO,CAAE,YAAW,aAAa;IACvI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAEhD,OAAO,IAAI,MAAM,EAAE;IAIpB,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EACxE,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,UAAU,EAAE,GACtB,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;CAiB1C;AAED,8BAAsB,mBAAmB,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,UAAU,CAAC,OAAO,CAAC;CAAG;AAE7H,wCAAwC;AACxC,8BAAsB,kBAAkB,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,UAAU,CAAC,OAAO,CAAC;CAAG;AAE5H,wCAAwC;AACxC,8BAAsB,2BAA2B,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,mBAAmB,CAAC,OAAO,CAAC;CAAG"}
@@ -1,10 +1,10 @@
1
1
  import { assertEx } from '@xylabs/assert';
2
2
  import { XyoAccount } from '@xyo-network/account';
3
- import { QueryBoundWitnessWrapper, XyoModule, XyoModuleInitializeQuerySchema, XyoModuleShutdownQuerySchema, } from '@xyo-network/module';
3
+ import { QueryBoundWitnessWrapper, XyoModule } from '@xyo-network/module';
4
4
  import { XyoDivinerDivineQuerySchema } from './Queries';
5
5
  export class XyoDiviner extends XyoModule {
6
6
  queries() {
7
- return [XyoModuleInitializeQuerySchema, XyoModuleShutdownQuerySchema, XyoDivinerDivineQuerySchema];
7
+ return [XyoDivinerDivineQuerySchema, ...super.queries()];
8
8
  }
9
9
  async query(query, payloads) {
10
10
  const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
@@ -1 +1 @@
1
- {"version":3,"file":"XyoDiviner.js","sourceRoot":"","sources":["../../src/XyoDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAEL,wBAAwB,EACxB,SAAS,EACT,8BAA8B,EAC9B,4BAA4B,GAE7B,MAAM,qBAAqB,CAAA;AAM5B,OAAO,EAAE,2BAA2B,EAAmB,MAAM,WAAW,CAAA;AAExE,MAAM,OAAgB,UAAgE,SAAQ,SAAkB;IAG9F,OAAO;QACrB,OAAO,CAAC,8BAA8B,EAAE,4BAA4B,EAAE,2BAA2B,CAAC,CAAA;IACpG,CAAC;IAEQ,KAAK,CAAC,KAAK,CAClB,KAAQ,EACR,QAAuB;QAEvB,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAkB,KAAK,EAAE,QAAQ,CAAC,CAAA;QACrF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;QAEzD,MAAM,YAAY,GAAG,IAAI,UAAU,EAAE,CAAA;QAErC,MAAM,cAAc,GAAgB,EAAE,CAAA;QACtC,QAAQ,UAAU,CAAC,UAAU,EAAE;YAC7B,KAAK,2BAA2B;gBAC9B,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBACrD,MAAK;YACP;gBACE,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;SACtC;QACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IAC5D,CAAC;CACF;AAED,MAAM,OAAgB,mBAAyE,SAAQ,UAAmB;CAAG;AAE7H,wCAAwC;AACxC,MAAM,OAAgB,kBAAwE,SAAQ,UAAmB;CAAG;AAE5H,wCAAwC;AACxC,MAAM,OAAgB,2BAAiF,SAAQ,mBAA4B;CAAG"}
1
+ {"version":3,"file":"XyoDiviner.js","sourceRoot":"","sources":["../../src/XyoDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAqB,wBAAwB,EAAE,SAAS,EAAyC,MAAM,qBAAqB,CAAA;AAMnI,OAAO,EAAE,2BAA2B,EAAmB,MAAM,WAAW,CAAA;AAIxE,MAAM,OAAgB,UAAgE,SAAQ,SAAkB;IAG9F,OAAO;QACrB,OAAO,CAAC,2BAA2B,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1D,CAAC;IAEQ,KAAK,CAAC,KAAK,CAClB,KAAQ,EACR,QAAuB;QAEvB,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAkB,KAAK,EAAE,QAAQ,CAAC,CAAA;QACrF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;QAEzD,MAAM,YAAY,GAAG,IAAI,UAAU,EAAE,CAAA;QAErC,MAAM,cAAc,GAAgB,EAAE,CAAA;QACtC,QAAQ,UAAU,CAAC,UAAU,EAAE;YAC7B,KAAK,2BAA2B;gBAC9B,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBACrD,MAAK;YACP;gBACE,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;SACtC;QACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IAC5D,CAAC;CACF;AAED,MAAM,OAAgB,mBAAyE,SAAQ,UAAmB;CAAG;AAE7H,wCAAwC;AACxC,MAAM,OAAgB,kBAAwE,SAAQ,UAAmB;CAAG;AAE5H,wCAAwC;AACxC,MAAM,OAAgB,2BAAiF,SAAQ,mBAA4B;CAAG"}
package/package.json CHANGED
@@ -11,11 +11,11 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.6.9",
14
- "@xyo-network/account": "^2.37.5",
15
- "@xyo-network/archivist": "^2.37.5",
16
- "@xyo-network/module": "^2.37.5",
17
- "@xyo-network/payload": "^2.37.5",
18
- "@xyo-network/promise": "^2.37.5",
14
+ "@xyo-network/account": "^2.38.0-rc.1",
15
+ "@xyo-network/archivist": "^2.38.0-rc.1",
16
+ "@xyo-network/module": "^2.38.0-rc.1",
17
+ "@xyo-network/payload": "^2.38.0-rc.1",
18
+ "@xyo-network/promise": "^2.38.0-rc.1",
19
19
  "lodash": "^4.17.21",
20
20
  "tslib": "^2.4.0"
21
21
  },
@@ -52,5 +52,6 @@
52
52
  },
53
53
  "sideEffects": false,
54
54
  "types": "dist/esm/index.d.ts",
55
- "version": "2.37.5"
55
+ "version": "2.38.0-rc.1",
56
+ "stableVersion": "2.37.6"
56
57
  }
package/src/Config.ts CHANGED
@@ -4,4 +4,8 @@ import { XyoPayload } from '@xyo-network/payload'
4
4
  export type XyoDivinerConfigSchema = 'network.xyo.diviner.config'
5
5
  export const XyoDivinerConfigSchema: XyoDivinerConfigSchema = 'network.xyo.diviner.config'
6
6
 
7
- export type XyoDivinerConfig<TConfig extends XyoPayload = XyoPayload> = XyoModuleConfig<TConfig>
7
+ export type XyoDivinerConfig<TTarget extends XyoPayload = XyoPayload, TConfig extends XyoPayload = XyoPayload> = XyoModuleConfig<
8
+ TConfig & {
9
+ targetSchema?: TTarget['schema']
10
+ }
11
+ >
@@ -6,6 +6,7 @@ export type XyoArchivistPayloadDivinerConfigSchema = 'network.xyo.diviner.payloa
6
6
  export const XyoArchivistPayloadDivinerConfigSchema: XyoArchivistPayloadDivinerConfigSchema = 'network.xyo.diviner.payload.archivist.config'
7
7
 
8
8
  export type XyoArchivistPayloadDivinerConfig<T extends XyoPayload = XyoPayload> = XyoDivinerConfig<
9
+ XyoPayload,
9
10
  T & {
10
11
  schema: XyoArchivistPayloadDivinerConfigSchema
11
12
  archivist?: string
@@ -1,30 +1,33 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
2
  import { PayloadArchivist, XyoArchivistGetQuery, XyoArchivistGetQuerySchema, XyoArchivistWrapper } from '@xyo-network/archivist'
3
- import { PartialModuleConfig, XyoModuleResolverFunc } from '@xyo-network/module'
4
3
  import { Huri, PayloadWrapper, XyoPayloads } from '@xyo-network/payload'
5
4
 
6
5
  import { XyoDivinerDivineQuerySchema } from '../../Queries'
7
6
  import { XyoHuriPayload, XyoHuriSchema } from '../XyoHuriPayload'
8
7
  import { XyoPayloadDiviner } from '../XyoPayloadDiviner'
9
- import { XyoArchivistPayloadDivinerConfig, XyoArchivistPayloadDivinerConfigSchema } from './Config'
8
+ import { XyoArchivistPayloadDivinerConfig } from './Config'
10
9
 
11
10
  export class XyoArchivistPayloadDiviner extends XyoPayloadDiviner<XyoArchivistPayloadDivinerConfig> {
12
- protected readonly archivist?: PayloadArchivist | null
13
-
14
- constructor(config?: PartialModuleConfig<XyoArchivistPayloadDivinerConfig>, archivist?: PayloadArchivist, resolver?: XyoModuleResolverFunc) {
15
- super({ ...config, schema: XyoArchivistPayloadDivinerConfigSchema }, undefined, resolver)
16
- const configArchivistAddress = config?.archivist
17
- const resolvedArchivist: PayloadArchivist | null =
18
- archivist ?? (configArchivistAddress ? (this.resolver?.(configArchivistAddress) as unknown as PayloadArchivist) ?? null : null)
19
- if (resolvedArchivist) {
20
- this.archivist = resolvedArchivist ? new XyoArchivistWrapper(resolvedArchivist) : null
21
- }
22
- }
11
+ protected archivist?: PayloadArchivist | null
23
12
 
24
13
  override queries() {
25
14
  return [XyoDivinerDivineQuerySchema, ...super.queries()]
26
15
  }
27
16
 
17
+ override async start() {
18
+ await super.start()
19
+ const configArchivistAddress = this.config?.archivist
20
+ if (configArchivistAddress) {
21
+ const resolvedArchivist: PayloadArchivist | null = configArchivistAddress
22
+ ? (this.resolver?.fromAddress([configArchivistAddress]) as unknown as PayloadArchivist[]).shift() ?? null
23
+ : null
24
+ if (resolvedArchivist) {
25
+ this.archivist = resolvedArchivist ? new XyoArchivistWrapper({ module: resolvedArchivist }) : null
26
+ }
27
+ }
28
+ return this
29
+ }
30
+
28
31
  public async divine(payloads?: XyoPayloads): Promise<XyoPayloads> {
29
32
  const huriPayloads = assertEx(
30
33
  payloads?.filter((payload): payload is XyoHuriPayload => payload?.schema === XyoHuriSchema),
@@ -6,6 +6,7 @@ export type XyoHuriPayloadDivinerConfigSchema = 'network.xyo.diviner.payload.hur
6
6
  export const XyoHuriPayloadDivinerConfigSchema: XyoHuriPayloadDivinerConfigSchema = 'network.xyo.diviner.payload.huri.config'
7
7
 
8
8
  export type XyoHuriPayloadDivinerConfig<T extends XyoPayload = XyoPayload> = XyoDivinerConfig<
9
+ XyoPayload,
9
10
  T & {
10
11
  schema: XyoHuriPayloadDivinerConfigSchema
11
12
  options?: HuriOptions
package/src/XyoDiviner.ts CHANGED
@@ -1,13 +1,6 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
2
  import { XyoAccount } from '@xyo-network/account'
3
- import {
4
- ModuleQueryResult,
5
- QueryBoundWitnessWrapper,
6
- XyoModule,
7
- XyoModuleInitializeQuerySchema,
8
- XyoModuleShutdownQuerySchema,
9
- XyoQueryBoundWitness,
10
- } from '@xyo-network/module'
3
+ import { ModuleQueryResult, QueryBoundWitnessWrapper, XyoModule, XyoModuleParams, XyoQueryBoundWitness } from '@xyo-network/module'
11
4
  import { XyoPayload, XyoPayloads } from '@xyo-network/payload'
12
5
  import { Promisable } from '@xyo-network/promise'
13
6
 
@@ -15,11 +8,13 @@ import { XyoDivinerConfig } from './Config'
15
8
  import { DivinerModule } from './Diviner'
16
9
  import { XyoDivinerDivineQuerySchema, XyoDivinerQuery } from './Queries'
17
10
 
11
+ export type XyoDivinerParams = XyoModuleParams
12
+
18
13
  export abstract class XyoDiviner<TConfig extends XyoDivinerConfig = XyoDivinerConfig> extends XyoModule<TConfig> implements DivinerModule {
19
14
  abstract divine(payloads?: XyoPayloads): Promisable<XyoPayloads>
20
15
 
21
16
  public override queries(): string[] {
22
- return [XyoModuleInitializeQuerySchema, XyoModuleShutdownQuerySchema, XyoDivinerDivineQuerySchema]
17
+ return [XyoDivinerDivineQuerySchema, ...super.queries()]
23
18
  }
24
19
 
25
20
  override async query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(