@xyo-network/module-model 2.65.5 → 2.66.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":";;;AAOA,qDAA0B;AAC1B,qDAA0B;AAC1B,qDAA0B;AAC1B,0DAA+B;AAC/B,sDAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":";;;AAQA,qDAA0B;AAC1B,qDAA0B;AAC1B,qDAA0B;AAC1B,0DAA+B;AAC/B,sDAA2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":"AAOA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":"AAQA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA"}
@@ -7,14 +7,14 @@ import { Promisable } from '@xyo-network/promise';
7
7
  import { AnyConfigSchema, ModuleConfig } from './Config';
8
8
  import { ModuleBusyEventData, ModuleQueriedEventData } from './Events';
9
9
  import { ModuleDescription } from './ModuleDescription';
10
- import { ModuleFilter } from './ModuleFilter';
10
+ import { ModuleFilter, ModuleFilterOptions } from './ModuleFilter';
11
11
  import { ModuleParams } from './ModuleParams';
12
12
  import { ModuleQueryResult } from './ModuleQueryResult';
13
13
  import { AddressPreviousHashPayload } from './Queries';
14
14
  export interface ResolveFunctions {
15
- resolve<TModule extends Module = Module>(filter?: ModuleFilter): Promisable<TModule[]>;
16
- resolve<TModule extends Module = Module>(nameOrAddress: string): Promisable<TModule | undefined>;
17
- resolve<TModule extends Module = Module>(nameOrAddressOrFilter?: ModuleFilter | string): Promisable<TModule | TModule[] | undefined>;
15
+ resolve<TModule extends Module = Module>(filter?: ModuleFilter, options?: ModuleFilterOptions): Promisable<TModule[]>;
16
+ resolve<TModule extends Module = Module>(nameOrAddress: string, options?: ModuleFilterOptions): Promisable<TModule | undefined>;
17
+ resolve<TModule extends Module = Module>(nameOrAddressOrFilter?: ModuleFilter | string, options?: ModuleFilterOptions): Promisable<TModule | TModule[] | undefined>;
18
18
  }
19
19
  export interface ModuleResolver extends ResolveFunctions {
20
20
  addResolver: (resolver: ModuleResolver) => this;
@@ -44,11 +44,12 @@ export type ModuleFields<TParams extends ModuleParams<AnyConfigSchema<ModuleConf
44
44
  queries: string[];
45
45
  query: <T extends QueryBoundWitness = QueryBoundWitness, TConf extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConf) => Promisable<ModuleQueryResult>;
46
46
  queryable: <T extends QueryBoundWitness = QueryBoundWitness, TConf extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConf) => Promisable<boolean>;
47
- start?: () => Promisable<void>;
47
+ start?: () => Promisable<boolean>;
48
+ stop?: () => Promisable<boolean>;
48
49
  readonly upResolver: ModuleResolver;
49
50
  };
50
- export type IndirectModule<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>, TEventData extends ModuleEventData = ModuleEventData> = ModuleFields<TParams> & EventFunctions<TEventData>;
51
- export type DirectModule<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>, TEventData extends ModuleEventData = ModuleEventData> = IndirectModule<TParams, TEventData> & ModuleQueryFunctions & ResolveFunctions;
51
+ export type IndirectModule<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>, TEventData extends ModuleEventData = ModuleEventData> = ModuleFields<TParams> & EventFunctions<TEventData> & ResolveFunctions;
52
+ export type DirectModule<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>, TEventData extends ModuleEventData = ModuleEventData> = IndirectModule<TParams, TEventData> & ModuleQueryFunctions;
52
53
  export type ModuleInstance<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>, TEventData extends ModuleEventData = ModuleEventData> = DirectModule<TParams, TEventData>;
53
54
  export type Module<TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>, TEventData extends ModuleEventData = ModuleEventData> = IndirectModule<TParams, TEventData>;
54
55
  //# sourceMappingURL=Module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../../src/Module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Module.d.ts","sourceRoot":"","sources":["../../src/Module.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,16 @@
1
- export interface AddressModuleFilter {
1
+ export interface ModuleFilterOptions {
2
+ direction?: 'up' | 'down' | 'all';
3
+ visibility?: 'public' | 'private' | 'all';
4
+ }
5
+ export interface AddressModuleFilter extends ModuleFilterOptions {
2
6
  address: string[];
3
7
  }
4
- export interface NameModuleFilter {
8
+ export interface NameModuleFilter extends ModuleFilterOptions {
5
9
  name: string[];
6
10
  }
7
- export interface QueryModuleFilter {
11
+ export interface QueryModuleFilter extends ModuleFilterOptions {
8
12
  query: string[][];
9
13
  }
10
- export type AllModuleFilter = Record<string, never>;
11
14
  export type AnyModuleFilter = Partial<AddressModuleFilter> & Partial<NameModuleFilter> & Partial<QueryModuleFilter>;
12
- export type ModuleFilter = AllModuleFilter | AddressModuleFilter | NameModuleFilter | QueryModuleFilter;
15
+ export type ModuleFilter = ModuleFilterOptions | AddressModuleFilter | NameModuleFilter | QueryModuleFilter;
13
16
  //# sourceMappingURL=ModuleFilter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleFilter.d.ts","sourceRoot":"","sources":["../../src/ModuleFilter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAA;CAClB;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAEnD,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AACnH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,iBAAiB,CAAA"}
1
+ {"version":3,"file":"ModuleFilter.d.ts","sourceRoot":"","sources":["../../src/ModuleFilter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,KAAK,CAAA;IACjC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAA;CAC1C;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,KAAK,EAAE,MAAM,EAAE,EAAE,CAAA;CAClB;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AACnH,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,iBAAiB,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { Query } from '@xyo-network/payload-model';
2
2
  import { ModuleDescribeQuery } from './Describe';
3
3
  import { ModuleDiscoverQuery } from './Discover';
4
+ import { ModuleManifestQuery } from './Manifest';
4
5
  import { ModuleAddressQuery } from './ModuleAddress';
5
6
  import { ModuleSubscribeQuery } from './Subscribe';
6
7
  export * from './Describe';
@@ -8,6 +9,6 @@ export * from './Discover';
8
9
  export * from './Manifest';
9
10
  export * from './ModuleAddress';
10
11
  export * from './Subscribe';
11
- export type ModuleQueryBase = ModuleDiscoverQuery | ModuleAddressQuery | ModuleSubscribeQuery | ModuleDescribeQuery;
12
+ export type ModuleQueryBase = ModuleDiscoverQuery | ModuleAddressQuery | ModuleSubscribeQuery | ModuleDescribeQuery | ModuleManifestQuery;
12
13
  export type ModuleQuery<T extends Query | void = void> = T extends Query ? ModuleQueryBase | T : ModuleQueryBase;
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAE3B,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,mBAAmB,CAAA;AAEnH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,eAAe,GAAG,CAAC,GAAG,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Queries/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAE3B,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,mBAAmB,CAAA;AAEzI,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,eAAe,GAAG,CAAC,GAAG,eAAe,CAAA"}
package/package.json CHANGED
@@ -11,21 +11,21 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.9.3",
14
- "@xyo-network/account-model": "^2.65.5",
15
- "@xyo-network/address-payload-plugin": "^2.65.5",
16
- "@xyo-network/boundwitness-builder": "^2.65.5",
17
- "@xyo-network/boundwitness-model": "^2.65.5",
18
- "@xyo-network/core": "^2.65.5",
19
- "@xyo-network/manifest-model": "^2.65.5",
20
- "@xyo-network/module-events": "^2.65.5",
21
- "@xyo-network/payload-model": "^2.65.5",
22
- "@xyo-network/promise": "^2.65.5",
23
- "@xyo-network/wallet-model": "^2.65.5",
14
+ "@xyo-network/account-model": "^2.66.0",
15
+ "@xyo-network/address-payload-plugin": "^2.66.0",
16
+ "@xyo-network/boundwitness-builder": "^2.66.0",
17
+ "@xyo-network/boundwitness-model": "^2.66.0",
18
+ "@xyo-network/core": "^2.66.0",
19
+ "@xyo-network/manifest-model": "^2.66.0",
20
+ "@xyo-network/module-events": "^2.66.0",
21
+ "@xyo-network/payload-model": "^2.66.0",
22
+ "@xyo-network/promise": "^2.66.0",
23
+ "@xyo-network/wallet-model": "^2.66.0",
24
24
  "lodash": "^4.17.21"
25
25
  },
26
26
  "devDependencies": {
27
- "@xylabs/ts-scripts-yarn3": "^2.18.10",
28
- "@xylabs/tsconfig": "^2.18.10",
27
+ "@xylabs/ts-scripts-yarn3": "^2.18.11",
28
+ "@xylabs/tsconfig": "^2.18.11",
29
29
  "typescript": "^5.1.6"
30
30
  },
31
31
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -61,5 +61,5 @@
61
61
  },
62
62
  "sideEffects": false,
63
63
  "types": "dist/types/index.d.ts",
64
- "version": "2.65.5"
64
+ "version": "2.66.0"
65
65
  }
package/src/Module.ts CHANGED
@@ -8,15 +8,18 @@ import { Promisable } from '@xyo-network/promise'
8
8
  import { AnyConfigSchema, ModuleConfig } from './Config'
9
9
  import { ModuleBusyEventData, ModuleQueriedEventData } from './Events'
10
10
  import { ModuleDescription } from './ModuleDescription'
11
- import { ModuleFilter } from './ModuleFilter'
11
+ import { ModuleFilter, ModuleFilterOptions } from './ModuleFilter'
12
12
  import { ModuleParams } from './ModuleParams'
13
13
  import { ModuleQueryResult } from './ModuleQueryResult'
14
14
  import { AddressPreviousHashPayload } from './Queries'
15
15
 
16
16
  export interface ResolveFunctions {
17
- resolve<TModule extends Module = Module>(filter?: ModuleFilter): Promisable<TModule[]>
18
- resolve<TModule extends Module = Module>(nameOrAddress: string): Promisable<TModule | undefined>
19
- resolve<TModule extends Module = Module>(nameOrAddressOrFilter?: ModuleFilter | string): Promisable<TModule | TModule[] | undefined>
17
+ resolve<TModule extends Module = Module>(filter?: ModuleFilter, options?: ModuleFilterOptions): Promisable<TModule[]>
18
+ resolve<TModule extends Module = Module>(nameOrAddress: string, options?: ModuleFilterOptions): Promisable<TModule | undefined>
19
+ resolve<TModule extends Module = Module>(
20
+ nameOrAddressOrFilter?: ModuleFilter | string,
21
+ options?: ModuleFilterOptions,
22
+ ): Promisable<TModule | TModule[] | undefined>
20
23
  }
21
24
 
22
25
  export interface ModuleResolver extends ResolveFunctions {
@@ -70,7 +73,8 @@ export type ModuleFields<TParams extends ModuleParams<AnyConfigSchema<ModuleConf
70
73
  queryConfig?: TConf,
71
74
  ) => Promisable<boolean>
72
75
 
73
- start?: () => Promisable<void>
76
+ start?: () => Promisable<boolean>
77
+ stop?: () => Promisable<boolean>
74
78
 
75
79
  /* The resolver is a 'up' resolver. It can resolve the parent or any children of the parent*/
76
80
  /* This is set by a NodeModule when attaching to the module */
@@ -80,12 +84,12 @@ export type ModuleFields<TParams extends ModuleParams<AnyConfigSchema<ModuleConf
80
84
  export type IndirectModule<
81
85
  TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>,
82
86
  TEventData extends ModuleEventData = ModuleEventData,
83
- > = ModuleFields<TParams> & EventFunctions<TEventData>
87
+ > = ModuleFields<TParams> & EventFunctions<TEventData> & ResolveFunctions
84
88
 
85
89
  export type DirectModule<
86
90
  TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>,
87
91
  TEventData extends ModuleEventData = ModuleEventData,
88
- > = IndirectModule<TParams, TEventData> & ModuleQueryFunctions & ResolveFunctions
92
+ > = IndirectModule<TParams, TEventData> & ModuleQueryFunctions
89
93
 
90
94
  export type ModuleInstance<
91
95
  TParams extends ModuleParams<AnyConfigSchema<ModuleConfig>> = ModuleParams<AnyConfigSchema<ModuleConfig>>,
@@ -1,16 +1,19 @@
1
- export interface AddressModuleFilter {
1
+ export interface ModuleFilterOptions {
2
+ direction?: 'up' | 'down' | 'all'
3
+ visibility?: 'public' | 'private' | 'all'
4
+ }
5
+
6
+ export interface AddressModuleFilter extends ModuleFilterOptions {
2
7
  address: string[]
3
8
  }
4
9
 
5
- export interface NameModuleFilter {
10
+ export interface NameModuleFilter extends ModuleFilterOptions {
6
11
  name: string[]
7
12
  }
8
13
 
9
- export interface QueryModuleFilter {
14
+ export interface QueryModuleFilter extends ModuleFilterOptions {
10
15
  query: string[][]
11
16
  }
12
17
 
13
- export type AllModuleFilter = Record<string, never>
14
-
15
18
  export type AnyModuleFilter = Partial<AddressModuleFilter> & Partial<NameModuleFilter> & Partial<QueryModuleFilter>
16
- export type ModuleFilter = AllModuleFilter | AddressModuleFilter | NameModuleFilter | QueryModuleFilter
19
+ export type ModuleFilter = ModuleFilterOptions | AddressModuleFilter | NameModuleFilter | QueryModuleFilter
@@ -2,6 +2,7 @@ import { Query } from '@xyo-network/payload-model'
2
2
 
3
3
  import { ModuleDescribeQuery } from './Describe'
4
4
  import { ModuleDiscoverQuery } from './Discover'
5
+ import { ModuleManifestQuery } from './Manifest'
5
6
  import { ModuleAddressQuery } from './ModuleAddress'
6
7
  import { ModuleSubscribeQuery } from './Subscribe'
7
8
 
@@ -11,6 +12,6 @@ export * from './Manifest'
11
12
  export * from './ModuleAddress'
12
13
  export * from './Subscribe'
13
14
 
14
- export type ModuleQueryBase = ModuleDiscoverQuery | ModuleAddressQuery | ModuleSubscribeQuery | ModuleDescribeQuery
15
+ export type ModuleQueryBase = ModuleDiscoverQuery | ModuleAddressQuery | ModuleSubscribeQuery | ModuleDescribeQuery | ModuleManifestQuery
15
16
 
16
17
  export type ModuleQuery<T extends Query | void = void> = T extends Query ? ModuleQueryBase | T : ModuleQueryBase