@xyo-network/module-abstract 2.74.4 → 2.75.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 (166) hide show
  1. package/dist/browser/AbstractModule.cjs +756 -0
  2. package/dist/browser/AbstractModule.cjs.map +1 -0
  3. package/dist/browser/AbstractModule.d.mts.map +1 -0
  4. package/dist/browser/AbstractModule.d.ts.map +1 -0
  5. package/dist/browser/AbstractModule.js +737 -0
  6. package/dist/browser/AbstractModule.js.map +1 -0
  7. package/dist/browser/AbstractModuleInstance.cjs +798 -0
  8. package/dist/browser/AbstractModuleInstance.cjs.map +1 -0
  9. package/dist/browser/AbstractModuleInstance.d.mts.map +1 -0
  10. package/dist/browser/AbstractModuleInstance.d.ts.map +1 -0
  11. package/dist/browser/AbstractModuleInstance.js +779 -0
  12. package/dist/browser/AbstractModuleInstance.js.map +1 -0
  13. package/dist/browser/BaseEmitter.cjs +68 -0
  14. package/dist/browser/BaseEmitter.cjs.map +1 -0
  15. package/dist/browser/BaseEmitter.d.mts.map +1 -0
  16. package/dist/browser/BaseEmitter.d.ts.map +1 -0
  17. package/dist/browser/BaseEmitter.js +49 -0
  18. package/dist/browser/BaseEmitter.js.map +1 -0
  19. package/dist/browser/Error.cjs +68 -0
  20. package/dist/browser/Error.cjs.map +1 -0
  21. package/dist/browser/Error.d.mts.map +1 -0
  22. package/dist/browser/Error.d.ts.map +1 -0
  23. package/dist/browser/Error.js +49 -0
  24. package/dist/browser/Error.js.map +1 -0
  25. package/dist/browser/QueryValidator/ModuleConfigQueryValidator.cjs +83 -0
  26. package/dist/browser/QueryValidator/ModuleConfigQueryValidator.cjs.map +1 -0
  27. package/dist/browser/QueryValidator/ModuleConfigQueryValidator.d.mts.map +1 -0
  28. package/dist/browser/QueryValidator/ModuleConfigQueryValidator.d.ts.map +1 -0
  29. package/dist/browser/QueryValidator/ModuleConfigQueryValidator.js +64 -0
  30. package/dist/browser/QueryValidator/ModuleConfigQueryValidator.js.map +1 -0
  31. package/dist/browser/QueryValidator/QueryValidator.cjs +19 -0
  32. package/dist/browser/QueryValidator/QueryValidator.cjs.map +1 -0
  33. package/dist/browser/QueryValidator/QueryValidator.d.mts.map +1 -0
  34. package/dist/browser/QueryValidator/QueryValidator.d.ts.map +1 -0
  35. package/dist/browser/QueryValidator/QueryValidator.js +1 -0
  36. package/dist/browser/QueryValidator/QueryValidator.js.map +1 -0
  37. package/dist/browser/QueryValidator/SupportedQueryValidator.cjs +47 -0
  38. package/dist/browser/QueryValidator/SupportedQueryValidator.cjs.map +1 -0
  39. package/dist/browser/QueryValidator/SupportedQueryValidator.d.mts.map +1 -0
  40. package/dist/browser/QueryValidator/SupportedQueryValidator.d.ts.map +1 -0
  41. package/dist/browser/QueryValidator/SupportedQueryValidator.js +28 -0
  42. package/dist/browser/QueryValidator/SupportedQueryValidator.js.map +1 -0
  43. package/dist/browser/QueryValidator/index.cjs +108 -0
  44. package/dist/browser/QueryValidator/index.cjs.map +1 -0
  45. package/dist/browser/QueryValidator/index.d.mts.map +1 -0
  46. package/dist/browser/QueryValidator/index.d.ts.map +1 -0
  47. package/dist/browser/QueryValidator/index.js +87 -0
  48. package/dist/browser/QueryValidator/index.js.map +1 -0
  49. package/dist/{index.js → browser/index.cjs} +1 -11
  50. package/dist/browser/index.cjs.map +1 -0
  51. package/dist/browser/index.d.mts.map +1 -0
  52. package/dist/browser/index.d.ts.map +1 -0
  53. package/dist/{index.mjs → browser/index.js} +1 -1
  54. package/dist/browser/index.js.map +1 -0
  55. package/dist/node/AbstractModule.d.mts +84 -0
  56. package/dist/node/AbstractModule.d.mts.map +1 -0
  57. package/dist/node/AbstractModule.d.ts +84 -0
  58. package/dist/node/AbstractModule.d.ts.map +1 -0
  59. package/dist/node/AbstractModule.js +594 -0
  60. package/dist/node/AbstractModule.js.map +1 -0
  61. package/dist/node/AbstractModule.mjs +571 -0
  62. package/dist/node/AbstractModule.mjs.map +1 -0
  63. package/dist/node/AbstractModuleInstance.d.mts +14 -0
  64. package/dist/node/AbstractModuleInstance.d.mts.map +1 -0
  65. package/dist/node/AbstractModuleInstance.d.ts +14 -0
  66. package/dist/node/AbstractModuleInstance.d.ts.map +1 -0
  67. package/dist/node/AbstractModuleInstance.js +68 -0
  68. package/dist/node/AbstractModuleInstance.js.map +1 -0
  69. package/dist/node/AbstractModuleInstance.mjs +45 -0
  70. package/dist/node/AbstractModuleInstance.mjs.map +1 -0
  71. package/dist/node/BaseEmitter.d.mts +17 -0
  72. package/dist/node/BaseEmitter.d.mts.map +1 -0
  73. package/dist/node/BaseEmitter.d.ts +17 -0
  74. package/dist/node/BaseEmitter.d.ts.map +1 -0
  75. package/dist/node/BaseEmitter.js +70 -0
  76. package/dist/node/BaseEmitter.js.map +1 -0
  77. package/dist/node/BaseEmitter.mjs +47 -0
  78. package/dist/node/BaseEmitter.mjs.map +1 -0
  79. package/dist/node/Error.d.mts +15 -0
  80. package/dist/node/Error.d.mts.map +1 -0
  81. package/dist/node/Error.d.ts +15 -0
  82. package/dist/node/Error.d.ts.map +1 -0
  83. package/dist/node/Error.js +70 -0
  84. package/dist/node/Error.js.map +1 -0
  85. package/dist/node/Error.mjs +47 -0
  86. package/dist/node/Error.mjs.map +1 -0
  87. package/dist/node/QueryValidator/ModuleConfigQueryValidator.d.mts +15 -0
  88. package/dist/node/QueryValidator/ModuleConfigQueryValidator.d.mts.map +1 -0
  89. package/dist/node/QueryValidator/ModuleConfigQueryValidator.d.ts +15 -0
  90. package/dist/node/QueryValidator/ModuleConfigQueryValidator.d.ts.map +1 -0
  91. package/dist/node/QueryValidator/ModuleConfigQueryValidator.js +85 -0
  92. package/dist/node/QueryValidator/ModuleConfigQueryValidator.js.map +1 -0
  93. package/dist/node/QueryValidator/ModuleConfigQueryValidator.mjs +62 -0
  94. package/dist/node/QueryValidator/ModuleConfigQueryValidator.mjs.map +1 -0
  95. package/dist/node/QueryValidator/QueryValidator.d.mts +8 -0
  96. package/dist/node/QueryValidator/QueryValidator.d.mts.map +1 -0
  97. package/dist/node/QueryValidator/QueryValidator.d.ts +8 -0
  98. package/dist/node/QueryValidator/QueryValidator.d.ts.map +1 -0
  99. package/dist/node/QueryValidator/QueryValidator.js +17 -0
  100. package/dist/node/QueryValidator/QueryValidator.js.map +1 -0
  101. package/dist/node/QueryValidator/QueryValidator.mjs +1 -0
  102. package/dist/node/QueryValidator/QueryValidator.mjs.map +1 -0
  103. package/dist/node/QueryValidator/SupportedQueryValidator.d.mts +22 -0
  104. package/dist/node/QueryValidator/SupportedQueryValidator.d.mts.map +1 -0
  105. package/dist/node/QueryValidator/SupportedQueryValidator.d.ts +22 -0
  106. package/dist/node/QueryValidator/SupportedQueryValidator.d.ts.map +1 -0
  107. package/dist/node/QueryValidator/SupportedQueryValidator.js +50 -0
  108. package/dist/node/QueryValidator/SupportedQueryValidator.js.map +1 -0
  109. package/dist/node/QueryValidator/SupportedQueryValidator.mjs +26 -0
  110. package/dist/node/QueryValidator/SupportedQueryValidator.mjs.map +1 -0
  111. package/dist/node/QueryValidator/index.d.mts +4 -0
  112. package/dist/node/QueryValidator/index.d.mts.map +1 -0
  113. package/dist/node/QueryValidator/index.d.ts +4 -0
  114. package/dist/node/QueryValidator/index.d.ts.map +1 -0
  115. package/dist/node/QueryValidator/index.js +27 -0
  116. package/dist/node/QueryValidator/index.js.map +1 -0
  117. package/dist/node/QueryValidator/index.mjs +4 -0
  118. package/dist/node/QueryValidator/index.mjs.map +1 -0
  119. package/dist/node/index.d.mts +6 -0
  120. package/dist/node/index.d.mts.map +1 -0
  121. package/dist/node/index.d.ts +6 -0
  122. package/dist/node/index.d.ts.map +1 -0
  123. package/dist/node/index.js +31 -0
  124. package/dist/node/index.js.map +1 -0
  125. package/dist/node/index.mjs +6 -0
  126. package/dist/node/index.mjs.map +1 -0
  127. package/package.json +46 -43
  128. package/dist/AbstractModule.d.mts.map +0 -1
  129. package/dist/AbstractModule.d.ts.map +0 -1
  130. package/dist/AbstractModuleInstance.d.mts.map +0 -1
  131. package/dist/AbstractModuleInstance.d.ts.map +0 -1
  132. package/dist/BaseEmitter.d.mts.map +0 -1
  133. package/dist/BaseEmitter.d.ts.map +0 -1
  134. package/dist/Error.d.mts.map +0 -1
  135. package/dist/Error.d.ts.map +0 -1
  136. package/dist/QueryValidator/ModuleConfigQueryValidator.d.mts.map +0 -1
  137. package/dist/QueryValidator/ModuleConfigQueryValidator.d.ts.map +0 -1
  138. package/dist/QueryValidator/QueryValidator.d.mts.map +0 -1
  139. package/dist/QueryValidator/QueryValidator.d.ts.map +0 -1
  140. package/dist/QueryValidator/SupportedQueryValidator.d.mts.map +0 -1
  141. package/dist/QueryValidator/SupportedQueryValidator.d.ts.map +0 -1
  142. package/dist/QueryValidator/index.d.mts.map +0 -1
  143. package/dist/QueryValidator/index.d.ts.map +0 -1
  144. package/dist/docs.json +0 -42701
  145. package/dist/index.d.mts.map +0 -1
  146. package/dist/index.d.ts.map +0 -1
  147. package/dist/index.js.map +0 -1
  148. package/dist/index.mjs.map +0 -1
  149. /package/dist/{AbstractModule.d.mts → browser/AbstractModule.d.mts} +0 -0
  150. /package/dist/{AbstractModule.d.ts → browser/AbstractModule.d.ts} +0 -0
  151. /package/dist/{AbstractModuleInstance.d.mts → browser/AbstractModuleInstance.d.mts} +0 -0
  152. /package/dist/{AbstractModuleInstance.d.ts → browser/AbstractModuleInstance.d.ts} +0 -0
  153. /package/dist/{BaseEmitter.d.mts → browser/BaseEmitter.d.mts} +0 -0
  154. /package/dist/{BaseEmitter.d.ts → browser/BaseEmitter.d.ts} +0 -0
  155. /package/dist/{Error.d.mts → browser/Error.d.mts} +0 -0
  156. /package/dist/{Error.d.ts → browser/Error.d.ts} +0 -0
  157. /package/dist/{QueryValidator → browser/QueryValidator}/ModuleConfigQueryValidator.d.mts +0 -0
  158. /package/dist/{QueryValidator → browser/QueryValidator}/ModuleConfigQueryValidator.d.ts +0 -0
  159. /package/dist/{QueryValidator → browser/QueryValidator}/QueryValidator.d.mts +0 -0
  160. /package/dist/{QueryValidator → browser/QueryValidator}/QueryValidator.d.ts +0 -0
  161. /package/dist/{QueryValidator → browser/QueryValidator}/SupportedQueryValidator.d.mts +0 -0
  162. /package/dist/{QueryValidator → browser/QueryValidator}/SupportedQueryValidator.d.ts +0 -0
  163. /package/dist/{QueryValidator → browser/QueryValidator}/index.d.mts +0 -0
  164. /package/dist/{QueryValidator → browser/QueryValidator}/index.d.ts +0 -0
  165. /package/dist/{index.d.mts → browser/index.d.mts} +0 -0
  166. /package/dist/{index.d.ts → browser/index.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Error.ts"],"sourcesContent":["import { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { ModuleError, ModuleErrorSchema } from '@xyo-network/payload-model'\n\nexport class ModuleErrorBuilder extends PayloadBuilder {\n _message?: string\n _name?: string\n _query?: string\n _sources?: string[]\n constructor() {\n super({ schema: ModuleErrorSchema })\n }\n\n override build(): ModuleError {\n return {\n message: this._message,\n name: this._name,\n query: this._query,\n schema: ModuleErrorSchema,\n sources: this._sources,\n }\n }\n\n message(message: string) {\n this._message = message\n return this\n }\n\n name(name: string) {\n this._name = name\n return this\n }\n\n query(query: string) {\n this._query = query\n return this\n }\n\n sources(sources: string[]) {\n this._sources = sources\n return this\n }\n}\n"],"mappings":";;AAAA,SAASA,sBAAsB;AAC/B,SAAsBC,yBAAyB;AAExC,MAAMC,2BAA2BF,eAAAA;EAHxC,OAGwCA;;;EACtCG;EACAC;EACAC;EACAC;EACAC,cAAc;AACZ,UAAM;MAAEC,QAAQP;IAAkB,CAAA;EACpC;EAESQ,QAAqB;AAC5B,WAAO;MACLC,SAAS,KAAKP;MACdQ,MAAM,KAAKP;MACXQ,OAAO,KAAKP;MACZG,QAAQP;MACRY,SAAS,KAAKP;IAChB;EACF;EAEAI,QAAQA,SAAiB;AACvB,SAAKP,WAAWO;AAChB,WAAO;EACT;EAEAC,KAAKA,MAAc;AACjB,SAAKP,QAAQO;AACb,WAAO;EACT;EAEAC,MAAMA,OAAe;AACnB,SAAKP,SAASO;AACd,WAAO;EACT;EAEAC,QAAQA,SAAmB;AACzB,SAAKP,WAAWO;AAChB,WAAO;EACT;AACF;","names":["PayloadBuilder","ModuleErrorSchema","ModuleErrorBuilder","_message","_name","_query","_sources","constructor","schema","build","message","name","query","sources"]}
@@ -0,0 +1,15 @@
1
+ import { AddressString, AnyConfigSchema, ModuleConfig, SchemaString } from '@xyo-network/module-model';
2
+ import { Queryable, QueryValidator } from './QueryValidator';
3
+ export type SortedPipedAddressesString = string;
4
+ export declare class ModuleConfigQueryValidator<TConfig extends AnyConfigSchema<ModuleConfig>> implements QueryValidator {
5
+ protected allowed: Record<SchemaString, SortedPipedAddressesString[]>;
6
+ protected disallowed: Record<SchemaString, AddressString[]>;
7
+ protected readonly hasAllowedRules: boolean;
8
+ protected readonly hasDisallowedRules: boolean;
9
+ protected readonly hasRules: boolean;
10
+ constructor(config?: TConfig);
11
+ queryable: Queryable;
12
+ protected queryAllowed: (schema: SchemaString, addresses: string[]) => boolean;
13
+ protected queryDisallowed: (schema: SchemaString, addresses: string[]) => boolean;
14
+ }
15
+ //# sourceMappingURL=ModuleConfigQueryValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleConfigQueryValidator.d.ts","sourceRoot":"","sources":["../../../src/QueryValidator/ModuleConfigQueryValidator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAuB,YAAY,EAAe,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExI,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAE5D,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAA;AAI/C,qBAAa,0BAA0B,CAAC,OAAO,SAAS,eAAe,CAAC,YAAY,CAAC,CAAE,YAAW,cAAc;IAC9G,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,0BAA0B,EAAE,CAAC,CAAK;IAC1E,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC,CAAK;IAChE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IAC3C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IAC9C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;gBAExB,MAAM,CAAC,EAAE,OAAO;IAgB5B,SAAS,EAAE,SAAS,CAOnB;IAED,SAAS,CAAC,YAAY,WAAY,YAAY,aAAa,MAAM,EAAE,KAAG,OAAO,CAU5E;IACD,SAAS,CAAC,eAAe,WAAY,YAAY,aAAa,MAAM,EAAE,KAAG,OAAO,CAG/E;CACF"}
@@ -0,0 +1,15 @@
1
+ import { AddressString, AnyConfigSchema, ModuleConfig, SchemaString } from '@xyo-network/module-model';
2
+ import { Queryable, QueryValidator } from './QueryValidator';
3
+ export type SortedPipedAddressesString = string;
4
+ export declare class ModuleConfigQueryValidator<TConfig extends AnyConfigSchema<ModuleConfig>> implements QueryValidator {
5
+ protected allowed: Record<SchemaString, SortedPipedAddressesString[]>;
6
+ protected disallowed: Record<SchemaString, AddressString[]>;
7
+ protected readonly hasAllowedRules: boolean;
8
+ protected readonly hasDisallowedRules: boolean;
9
+ protected readonly hasRules: boolean;
10
+ constructor(config?: TConfig);
11
+ queryable: Queryable;
12
+ protected queryAllowed: (schema: SchemaString, addresses: string[]) => boolean;
13
+ protected queryDisallowed: (schema: SchemaString, addresses: string[]) => boolean;
14
+ }
15
+ //# sourceMappingURL=ModuleConfigQueryValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleConfigQueryValidator.d.ts","sourceRoot":"","sources":["../../../src/QueryValidator/ModuleConfigQueryValidator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAuB,YAAY,EAAe,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExI,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAE5D,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAA;AAI/C,qBAAa,0BAA0B,CAAC,OAAO,SAAS,eAAe,CAAC,YAAY,CAAC,CAAE,YAAW,cAAc;IAC9G,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,0BAA0B,EAAE,CAAC,CAAK;IAC1E,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC,CAAK;IAChE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IAC3C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IAC9C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;gBAExB,MAAM,CAAC,EAAE,OAAO;IAgB5B,SAAS,EAAE,SAAS,CAOnB;IAED,SAAS,CAAC,YAAY,WAAY,YAAY,aAAa,MAAM,EAAE,KAAG,OAAO,CAU5E;IACD,SAAS,CAAC,eAAe,WAAY,YAAY,aAAa,MAAM,EAAE,KAAG,OAAO,CAG/E;CACF"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var ModuleConfigQueryValidator_exports = {};
21
+ __export(ModuleConfigQueryValidator_exports, {
22
+ ModuleConfigQueryValidator: () => ModuleConfigQueryValidator
23
+ });
24
+ module.exports = __toCommonJS(ModuleConfigQueryValidator_exports);
25
+ var import_boundwitness_builder = require("@xyo-network/boundwitness-builder");
26
+ const delimiter = "";
27
+ class ModuleConfigQueryValidator {
28
+ static {
29
+ __name(this, "ModuleConfigQueryValidator");
30
+ }
31
+ allowed = {};
32
+ disallowed = {};
33
+ hasAllowedRules;
34
+ hasDisallowedRules;
35
+ hasRules;
36
+ constructor(config) {
37
+ if (config?.security?.allowed) {
38
+ Object.entries(config.security?.allowed).forEach(([schema, addresses]) => {
39
+ this.allowed[schema] = addresses.map(toAddressesString);
40
+ });
41
+ }
42
+ if (config?.security?.disallowed) {
43
+ Object.entries(config.security?.disallowed).forEach(([schema, addresses]) => {
44
+ this.disallowed[schema] = addresses.map(toAddressesString);
45
+ });
46
+ }
47
+ this.hasAllowedRules = Object.keys(this.allowed).length > 0;
48
+ this.hasDisallowedRules = Object.keys(this.disallowed).length > 0;
49
+ this.hasRules = this.hasAllowedRules || this.hasDisallowedRules;
50
+ }
51
+ queryable = async (query, payloads) => {
52
+ if (!this.hasRules)
53
+ return true;
54
+ const addresses = query.addresses;
55
+ if (!addresses.length)
56
+ return false;
57
+ const wrapper = import_boundwitness_builder.QueryBoundWitnessWrapper.parseQuery(query, payloads);
58
+ const schema = (await wrapper.getQuery()).schema;
59
+ return this.queryAllowed(schema, addresses) && !this.queryDisallowed(schema, addresses);
60
+ };
61
+ queryAllowed = (schema, addresses) => {
62
+ if (!this.hasAllowedRules)
63
+ return true;
64
+ if (addresses.length > 1) {
65
+ const signatories = toAddressesString(addresses);
66
+ const validCosigners = this.allowed?.[schema]?.includes(signatories);
67
+ if (validCosigners)
68
+ return true;
69
+ }
70
+ return addresses.every((address) => this.allowed?.[schema]?.includes(address) || false);
71
+ };
72
+ queryDisallowed = (schema, addresses) => {
73
+ if (!this.hasDisallowedRules)
74
+ return false;
75
+ return addresses.some((address) => this.disallowed?.[schema]?.includes(address));
76
+ };
77
+ }
78
+ const toAddressesString = /* @__PURE__ */ __name((addresses) => {
79
+ return Array.isArray(addresses) ? addresses.sort().map((address) => address.toLowerCase()).join(delimiter) : addresses.toLowerCase();
80
+ }, "toAddressesString");
81
+ // Annotate the CommonJS export names for ESM import in node:
82
+ 0 && (module.exports = {
83
+ ModuleConfigQueryValidator
84
+ });
85
+ //# sourceMappingURL=ModuleConfigQueryValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/QueryValidator/ModuleConfigQueryValidator.ts"],"sourcesContent":["import { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { AddressString, AnyConfigSchema, CosigningAddressSet, ModuleConfig, ModuleQuery, SchemaString } from '@xyo-network/module-model'\n\nimport { Queryable, QueryValidator } from './QueryValidator'\n\nexport type SortedPipedAddressesString = string\n\nconst delimiter = ''\n\nexport class ModuleConfigQueryValidator<TConfig extends AnyConfigSchema<ModuleConfig>> implements QueryValidator {\n protected allowed: Record<SchemaString, SortedPipedAddressesString[]> = {}\n protected disallowed: Record<SchemaString, AddressString[]> = {}\n protected readonly hasAllowedRules: boolean\n protected readonly hasDisallowedRules: boolean\n protected readonly hasRules: boolean\n\n constructor(config?: TConfig) {\n if (config?.security?.allowed) {\n Object.entries(config.security?.allowed).forEach(([schema, addresses]) => {\n this.allowed[schema] = addresses.map(toAddressesString)\n })\n }\n if (config?.security?.disallowed) {\n Object.entries(config.security?.disallowed).forEach(([schema, addresses]) => {\n this.disallowed[schema] = addresses.map(toAddressesString)\n })\n }\n this.hasAllowedRules = Object.keys(this.allowed).length > 0\n this.hasDisallowedRules = Object.keys(this.disallowed).length > 0\n this.hasRules = this.hasAllowedRules || this.hasDisallowedRules\n }\n\n queryable: Queryable = async (query, payloads) => {\n if (!this.hasRules) return true\n const addresses = query.addresses\n if (!addresses.length) return false\n const wrapper = QueryBoundWitnessWrapper.parseQuery<ModuleQuery>(query, payloads)\n const schema = (await wrapper.getQuery()).schema\n return this.queryAllowed(schema, addresses) && !this.queryDisallowed(schema, addresses)\n }\n\n protected queryAllowed = (schema: SchemaString, addresses: string[]): boolean => {\n if (!this.hasAllowedRules) return true\n // All cosigners must sign\n if (addresses.length > 1) {\n const signatories = toAddressesString(addresses)\n const validCosigners = this.allowed?.[schema]?.includes(signatories)\n if (validCosigners) return true\n }\n // OR all signers have to be allowed individually\n return addresses.every((address) => this.allowed?.[schema]?.includes(address) || false)\n }\n protected queryDisallowed = (schema: SchemaString, addresses: string[]): boolean => {\n if (!this.hasDisallowedRules) return false\n return addresses.some((address) => this.disallowed?.[schema]?.includes(address))\n }\n}\n\n// TODO: Handle 0x prefix\nconst toAddressesString = (addresses: string | CosigningAddressSet): SortedPipedAddressesString => {\n return Array.isArray(addresses)\n ? addresses\n .sort()\n .map((address) => address.toLowerCase())\n .join(delimiter)\n : addresses.toLowerCase()\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;AAAA,kCAAyC;AAOzC,MAAMA,YAAY;AAEX,MAAMC,2BAAAA;EATb,OASaA;;;EACDC,UAA8D,CAAC;EAC/DC,aAAoD,CAAC;EAC5CC;EACAC;EACAC;EAEnBC,YAAYC,QAAkB;AAC5B,QAAIA,QAAQC,UAAUP,SAAS;AAC7BQ,aAAOC,QAAQH,OAAOC,UAAUP,OAAAA,EAASU,QAAQ,CAAC,CAACC,QAAQC,SAAAA,MAAU;AACnE,aAAKZ,QAAQW,MAAAA,IAAUC,UAAUC,IAAIC,iBAAAA;MACvC,CAAA;IACF;AACA,QAAIR,QAAQC,UAAUN,YAAY;AAChCO,aAAOC,QAAQH,OAAOC,UAAUN,UAAAA,EAAYS,QAAQ,CAAC,CAACC,QAAQC,SAAAA,MAAU;AACtE,aAAKX,WAAWU,MAAAA,IAAUC,UAAUC,IAAIC,iBAAAA;MAC1C,CAAA;IACF;AACA,SAAKZ,kBAAkBM,OAAOO,KAAK,KAAKf,OAAO,EAAEgB,SAAS;AAC1D,SAAKb,qBAAqBK,OAAOO,KAAK,KAAKd,UAAU,EAAEe,SAAS;AAChE,SAAKZ,WAAW,KAAKF,mBAAmB,KAAKC;EAC/C;EAEAc,YAAuB,OAAOC,OAAOC,aAAAA;AACnC,QAAI,CAAC,KAAKf;AAAU,aAAO;AAC3B,UAAMQ,YAAYM,MAAMN;AACxB,QAAI,CAACA,UAAUI;AAAQ,aAAO;AAC9B,UAAMI,UAAUC,qDAAyBC,WAAwBJ,OAAOC,QAAAA;AACxE,UAAMR,UAAU,MAAMS,QAAQG,SAAQ,GAAIZ;AAC1C,WAAO,KAAKa,aAAab,QAAQC,SAAAA,KAAc,CAAC,KAAKa,gBAAgBd,QAAQC,SAAAA;EAC/E;EAEUY,eAAe,CAACb,QAAsBC,cAAAA;AAC9C,QAAI,CAAC,KAAKV;AAAiB,aAAO;AAElC,QAAIU,UAAUI,SAAS,GAAG;AACxB,YAAMU,cAAcZ,kBAAkBF,SAAAA;AACtC,YAAMe,iBAAiB,KAAK3B,UAAUW,MAAAA,GAASiB,SAASF,WAAAA;AACxD,UAAIC;AAAgB,eAAO;IAC7B;AAEA,WAAOf,UAAUiB,MAAM,CAACC,YAAY,KAAK9B,UAAUW,MAAAA,GAASiB,SAASE,OAAAA,KAAY,KAAA;EACnF;EACUL,kBAAkB,CAACd,QAAsBC,cAAAA;AACjD,QAAI,CAAC,KAAKT;AAAoB,aAAO;AACrC,WAAOS,UAAUmB,KAAK,CAACD,YAAY,KAAK7B,aAAaU,MAAAA,GAASiB,SAASE,OAAAA,CAAAA;EACzE;AACF;AAGA,MAAMhB,oBAAoB,wBAACF,cAAAA;AACzB,SAAOoB,MAAMC,QAAQrB,SAAAA,IACjBA,UACGsB,KAAI,EACJrB,IAAI,CAACiB,YAAYA,QAAQK,YAAW,CAAA,EACpCC,KAAKtC,SAAAA,IACRc,UAAUuB,YAAW;AAC3B,GAP0B;","names":["delimiter","ModuleConfigQueryValidator","allowed","disallowed","hasAllowedRules","hasDisallowedRules","hasRules","constructor","config","security","Object","entries","forEach","schema","addresses","map","toAddressesString","keys","length","queryable","query","payloads","wrapper","QueryBoundWitnessWrapper","parseQuery","getQuery","queryAllowed","queryDisallowed","signatories","validCosigners","includes","every","address","some","Array","isArray","sort","toLowerCase","join"]}
@@ -0,0 +1,62 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { QueryBoundWitnessWrapper } from "@xyo-network/boundwitness-builder";
4
+ const delimiter = "";
5
+ class ModuleConfigQueryValidator {
6
+ static {
7
+ __name(this, "ModuleConfigQueryValidator");
8
+ }
9
+ allowed = {};
10
+ disallowed = {};
11
+ hasAllowedRules;
12
+ hasDisallowedRules;
13
+ hasRules;
14
+ constructor(config) {
15
+ if (config?.security?.allowed) {
16
+ Object.entries(config.security?.allowed).forEach(([schema, addresses]) => {
17
+ this.allowed[schema] = addresses.map(toAddressesString);
18
+ });
19
+ }
20
+ if (config?.security?.disallowed) {
21
+ Object.entries(config.security?.disallowed).forEach(([schema, addresses]) => {
22
+ this.disallowed[schema] = addresses.map(toAddressesString);
23
+ });
24
+ }
25
+ this.hasAllowedRules = Object.keys(this.allowed).length > 0;
26
+ this.hasDisallowedRules = Object.keys(this.disallowed).length > 0;
27
+ this.hasRules = this.hasAllowedRules || this.hasDisallowedRules;
28
+ }
29
+ queryable = async (query, payloads) => {
30
+ if (!this.hasRules)
31
+ return true;
32
+ const addresses = query.addresses;
33
+ if (!addresses.length)
34
+ return false;
35
+ const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
36
+ const schema = (await wrapper.getQuery()).schema;
37
+ return this.queryAllowed(schema, addresses) && !this.queryDisallowed(schema, addresses);
38
+ };
39
+ queryAllowed = (schema, addresses) => {
40
+ if (!this.hasAllowedRules)
41
+ return true;
42
+ if (addresses.length > 1) {
43
+ const signatories = toAddressesString(addresses);
44
+ const validCosigners = this.allowed?.[schema]?.includes(signatories);
45
+ if (validCosigners)
46
+ return true;
47
+ }
48
+ return addresses.every((address) => this.allowed?.[schema]?.includes(address) || false);
49
+ };
50
+ queryDisallowed = (schema, addresses) => {
51
+ if (!this.hasDisallowedRules)
52
+ return false;
53
+ return addresses.some((address) => this.disallowed?.[schema]?.includes(address));
54
+ };
55
+ }
56
+ const toAddressesString = /* @__PURE__ */ __name((addresses) => {
57
+ return Array.isArray(addresses) ? addresses.sort().map((address) => address.toLowerCase()).join(delimiter) : addresses.toLowerCase();
58
+ }, "toAddressesString");
59
+ export {
60
+ ModuleConfigQueryValidator
61
+ };
62
+ //# sourceMappingURL=ModuleConfigQueryValidator.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/QueryValidator/ModuleConfigQueryValidator.ts"],"sourcesContent":["import { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { AddressString, AnyConfigSchema, CosigningAddressSet, ModuleConfig, ModuleQuery, SchemaString } from '@xyo-network/module-model'\n\nimport { Queryable, QueryValidator } from './QueryValidator'\n\nexport type SortedPipedAddressesString = string\n\nconst delimiter = ''\n\nexport class ModuleConfigQueryValidator<TConfig extends AnyConfigSchema<ModuleConfig>> implements QueryValidator {\n protected allowed: Record<SchemaString, SortedPipedAddressesString[]> = {}\n protected disallowed: Record<SchemaString, AddressString[]> = {}\n protected readonly hasAllowedRules: boolean\n protected readonly hasDisallowedRules: boolean\n protected readonly hasRules: boolean\n\n constructor(config?: TConfig) {\n if (config?.security?.allowed) {\n Object.entries(config.security?.allowed).forEach(([schema, addresses]) => {\n this.allowed[schema] = addresses.map(toAddressesString)\n })\n }\n if (config?.security?.disallowed) {\n Object.entries(config.security?.disallowed).forEach(([schema, addresses]) => {\n this.disallowed[schema] = addresses.map(toAddressesString)\n })\n }\n this.hasAllowedRules = Object.keys(this.allowed).length > 0\n this.hasDisallowedRules = Object.keys(this.disallowed).length > 0\n this.hasRules = this.hasAllowedRules || this.hasDisallowedRules\n }\n\n queryable: Queryable = async (query, payloads) => {\n if (!this.hasRules) return true\n const addresses = query.addresses\n if (!addresses.length) return false\n const wrapper = QueryBoundWitnessWrapper.parseQuery<ModuleQuery>(query, payloads)\n const schema = (await wrapper.getQuery()).schema\n return this.queryAllowed(schema, addresses) && !this.queryDisallowed(schema, addresses)\n }\n\n protected queryAllowed = (schema: SchemaString, addresses: string[]): boolean => {\n if (!this.hasAllowedRules) return true\n // All cosigners must sign\n if (addresses.length > 1) {\n const signatories = toAddressesString(addresses)\n const validCosigners = this.allowed?.[schema]?.includes(signatories)\n if (validCosigners) return true\n }\n // OR all signers have to be allowed individually\n return addresses.every((address) => this.allowed?.[schema]?.includes(address) || false)\n }\n protected queryDisallowed = (schema: SchemaString, addresses: string[]): boolean => {\n if (!this.hasDisallowedRules) return false\n return addresses.some((address) => this.disallowed?.[schema]?.includes(address))\n }\n}\n\n// TODO: Handle 0x prefix\nconst toAddressesString = (addresses: string | CosigningAddressSet): SortedPipedAddressesString => {\n return Array.isArray(addresses)\n ? addresses\n .sort()\n .map((address) => address.toLowerCase())\n .join(delimiter)\n : addresses.toLowerCase()\n}\n"],"mappings":";;AAAA,SAASA,gCAAgC;AAOzC,MAAMC,YAAY;AAEX,MAAMC,2BAAAA;EATb,OASaA;;;EACDC,UAA8D,CAAC;EAC/DC,aAAoD,CAAC;EAC5CC;EACAC;EACAC;EAEnBC,YAAYC,QAAkB;AAC5B,QAAIA,QAAQC,UAAUP,SAAS;AAC7BQ,aAAOC,QAAQH,OAAOC,UAAUP,OAAAA,EAASU,QAAQ,CAAC,CAACC,QAAQC,SAAAA,MAAU;AACnE,aAAKZ,QAAQW,MAAAA,IAAUC,UAAUC,IAAIC,iBAAAA;MACvC,CAAA;IACF;AACA,QAAIR,QAAQC,UAAUN,YAAY;AAChCO,aAAOC,QAAQH,OAAOC,UAAUN,UAAAA,EAAYS,QAAQ,CAAC,CAACC,QAAQC,SAAAA,MAAU;AACtE,aAAKX,WAAWU,MAAAA,IAAUC,UAAUC,IAAIC,iBAAAA;MAC1C,CAAA;IACF;AACA,SAAKZ,kBAAkBM,OAAOO,KAAK,KAAKf,OAAO,EAAEgB,SAAS;AAC1D,SAAKb,qBAAqBK,OAAOO,KAAK,KAAKd,UAAU,EAAEe,SAAS;AAChE,SAAKZ,WAAW,KAAKF,mBAAmB,KAAKC;EAC/C;EAEAc,YAAuB,OAAOC,OAAOC,aAAAA;AACnC,QAAI,CAAC,KAAKf;AAAU,aAAO;AAC3B,UAAMQ,YAAYM,MAAMN;AACxB,QAAI,CAACA,UAAUI;AAAQ,aAAO;AAC9B,UAAMI,UAAUvB,yBAAyBwB,WAAwBH,OAAOC,QAAAA;AACxE,UAAMR,UAAU,MAAMS,QAAQE,SAAQ,GAAIX;AAC1C,WAAO,KAAKY,aAAaZ,QAAQC,SAAAA,KAAc,CAAC,KAAKY,gBAAgBb,QAAQC,SAAAA;EAC/E;EAEUW,eAAe,CAACZ,QAAsBC,cAAAA;AAC9C,QAAI,CAAC,KAAKV;AAAiB,aAAO;AAElC,QAAIU,UAAUI,SAAS,GAAG;AACxB,YAAMS,cAAcX,kBAAkBF,SAAAA;AACtC,YAAMc,iBAAiB,KAAK1B,UAAUW,MAAAA,GAASgB,SAASF,WAAAA;AACxD,UAAIC;AAAgB,eAAO;IAC7B;AAEA,WAAOd,UAAUgB,MAAM,CAACC,YAAY,KAAK7B,UAAUW,MAAAA,GAASgB,SAASE,OAAAA,KAAY,KAAA;EACnF;EACUL,kBAAkB,CAACb,QAAsBC,cAAAA;AACjD,QAAI,CAAC,KAAKT;AAAoB,aAAO;AACrC,WAAOS,UAAUkB,KAAK,CAACD,YAAY,KAAK5B,aAAaU,MAAAA,GAASgB,SAASE,OAAAA,CAAAA;EACzE;AACF;AAGA,MAAMf,oBAAoB,wBAACF,cAAAA;AACzB,SAAOmB,MAAMC,QAAQpB,SAAAA,IACjBA,UACGqB,KAAI,EACJpB,IAAI,CAACgB,YAAYA,QAAQK,YAAW,CAAA,EACpCC,KAAKrC,SAAAA,IACRc,UAAUsB,YAAW;AAC3B,GAP0B;","names":["QueryBoundWitnessWrapper","delimiter","ModuleConfigQueryValidator","allowed","disallowed","hasAllowedRules","hasDisallowedRules","hasRules","constructor","config","security","Object","entries","forEach","schema","addresses","map","toAddressesString","keys","length","queryable","query","payloads","wrapper","parseQuery","getQuery","queryAllowed","queryDisallowed","signatories","validCosigners","includes","every","address","some","Array","isArray","sort","toLowerCase","join"]}
@@ -0,0 +1,8 @@
1
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-builder';
2
+ import { Payload } from '@xyo-network/payload-model';
3
+ import { Promisable } from '@xyo-network/promise';
4
+ export type Queryable<T extends QueryBoundWitness = QueryBoundWitness> = (query: T, payloads?: Payload[]) => Promisable<boolean>;
5
+ export interface QueryValidator<T extends QueryBoundWitness = QueryBoundWitness> {
6
+ queryable: Queryable<T>;
7
+ }
8
+ //# sourceMappingURL=QueryValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryValidator.d.ts","sourceRoot":"","sources":["../../../src/QueryValidator/QueryValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,UAAU,CAAC,OAAO,CAAC,CAAA;AAEhI,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB;IAC7E,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;CACxB"}
@@ -0,0 +1,8 @@
1
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-builder';
2
+ import { Payload } from '@xyo-network/payload-model';
3
+ import { Promisable } from '@xyo-network/promise';
4
+ export type Queryable<T extends QueryBoundWitness = QueryBoundWitness> = (query: T, payloads?: Payload[]) => Promisable<boolean>;
5
+ export interface QueryValidator<T extends QueryBoundWitness = QueryBoundWitness> {
6
+ queryable: Queryable<T>;
7
+ }
8
+ //# sourceMappingURL=QueryValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryValidator.d.ts","sourceRoot":"","sources":["../../../src/QueryValidator/QueryValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,UAAU,CAAC,OAAO,CAAC,CAAA;AAEhI,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB;IAC7E,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;CACxB"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var QueryValidator_exports = {};
16
+ module.exports = __toCommonJS(QueryValidator_exports);
17
+ //# sourceMappingURL=QueryValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/QueryValidator/QueryValidator.ts"],"sourcesContent":["import { QueryBoundWitness } from '@xyo-network/boundwitness-builder'\nimport { Payload } from '@xyo-network/payload-model'\nimport { Promisable } from '@xyo-network/promise'\n\nexport type Queryable<T extends QueryBoundWitness = QueryBoundWitness> = (query: T, payloads?: Payload[]) => Promisable<boolean>\n\nexport interface QueryValidator<T extends QueryBoundWitness = QueryBoundWitness> {\n queryable: Queryable<T>\n}\n"],"mappings":";;;;;;;;;;;;;;AAMA;;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=QueryValidator.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,22 @@
1
+ import { Module } from '@xyo-network/module-model';
2
+ import { Payload } from '@xyo-network/payload-model';
3
+ import { Queryable, QueryValidator } from './QueryValidator';
4
+ export declare const isQuerySupportedByModule: <T extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/boundwitness-model").BoundWitnessFields & {
5
+ query: string;
6
+ resultSet?: string | undefined;
7
+ schema: "network.xyo.boundwitness";
8
+ }, "schema"> & {
9
+ schema: "network.xyo.boundwitness";
10
+ } = import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/boundwitness-model").BoundWitnessFields & {
11
+ query: string;
12
+ resultSet?: string | undefined;
13
+ schema: "network.xyo.boundwitness";
14
+ }, "schema"> & {
15
+ schema: "network.xyo.boundwitness";
16
+ }>(mod: Module, query: T, payloads?: Payload[]) => Promise<boolean>;
17
+ export declare class SupportedQueryValidator implements QueryValidator {
18
+ protected readonly mod: Module;
19
+ constructor(mod: Module);
20
+ queryable: Queryable;
21
+ }
22
+ //# sourceMappingURL=SupportedQueryValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SupportedQueryValidator.d.ts","sourceRoot":"","sources":["../../../src/QueryValidator/SupportedQueryValidator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAe,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAE5D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;QAC9B,MAAM,uBAEA,OAAO,EAAE,KACnB,QAAQ,OAAO,CAIjB,CAAA;AAED,qBAAa,uBAAwB,YAAW,cAAc;IAChD,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAAX,GAAG,EAAE,MAAM;IAC1C,SAAS,EAAE,SAAS,CAEnB;CACF"}
@@ -0,0 +1,22 @@
1
+ import { Module } from '@xyo-network/module-model';
2
+ import { Payload } from '@xyo-network/payload-model';
3
+ import { Queryable, QueryValidator } from './QueryValidator';
4
+ export declare const isQuerySupportedByModule: <T extends import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/boundwitness-model").BoundWitnessFields & {
5
+ query: string;
6
+ resultSet?: string | undefined;
7
+ schema: "network.xyo.boundwitness";
8
+ }, "schema"> & {
9
+ schema: "network.xyo.boundwitness";
10
+ } = import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/boundwitness-model").BoundWitnessFields & {
11
+ query: string;
12
+ resultSet?: string | undefined;
13
+ schema: "network.xyo.boundwitness";
14
+ }, "schema"> & {
15
+ schema: "network.xyo.boundwitness";
16
+ }>(mod: Module, query: T, payloads?: Payload[]) => Promise<boolean>;
17
+ export declare class SupportedQueryValidator implements QueryValidator {
18
+ protected readonly mod: Module;
19
+ constructor(mod: Module);
20
+ queryable: Queryable;
21
+ }
22
+ //# sourceMappingURL=SupportedQueryValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SupportedQueryValidator.d.ts","sourceRoot":"","sources":["../../../src/QueryValidator/SupportedQueryValidator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAe,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAE5D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;QAC9B,MAAM,uBAEA,OAAO,EAAE,KACnB,QAAQ,OAAO,CAIjB,CAAA;AAED,qBAAa,uBAAwB,YAAW,cAAc;IAChD,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAAX,GAAG,EAAE,MAAM;IAC1C,SAAS,EAAE,SAAS,CAEnB;CACF"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var SupportedQueryValidator_exports = {};
21
+ __export(SupportedQueryValidator_exports, {
22
+ SupportedQueryValidator: () => SupportedQueryValidator,
23
+ isQuerySupportedByModule: () => isQuerySupportedByModule
24
+ });
25
+ module.exports = __toCommonJS(SupportedQueryValidator_exports);
26
+ var import_boundwitness_builder = require("@xyo-network/boundwitness-builder");
27
+ const isQuerySupportedByModule = /* @__PURE__ */ __name(async (mod, query, payloads) => {
28
+ const wrapper = import_boundwitness_builder.QueryBoundWitnessWrapper.parseQuery(query, payloads);
29
+ const schema = (await wrapper.getQuery()).schema;
30
+ return mod.queries.includes(schema);
31
+ }, "isQuerySupportedByModule");
32
+ class SupportedQueryValidator {
33
+ static {
34
+ __name(this, "SupportedQueryValidator");
35
+ }
36
+ mod;
37
+ constructor(mod) {
38
+ this.mod = mod;
39
+ this.queryable = (query, payloads) => {
40
+ return isQuerySupportedByModule(this.mod, query, payloads);
41
+ };
42
+ }
43
+ queryable;
44
+ }
45
+ // Annotate the CommonJS export names for ESM import in node:
46
+ 0 && (module.exports = {
47
+ SupportedQueryValidator,
48
+ isQuerySupportedByModule
49
+ });
50
+ //# sourceMappingURL=SupportedQueryValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/QueryValidator/SupportedQueryValidator.ts"],"sourcesContent":["import { QueryBoundWitness, QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { Module, ModuleQuery } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { Queryable, QueryValidator } from './QueryValidator'\n\nexport const isQuerySupportedByModule = async <T extends QueryBoundWitness = QueryBoundWitness>(\n mod: Module,\n query: T,\n payloads?: Payload[],\n): Promise<boolean> => {\n const wrapper = QueryBoundWitnessWrapper.parseQuery<ModuleQuery>(query, payloads)\n const schema = (await wrapper.getQuery()).schema\n return mod.queries.includes(schema)\n}\n\nexport class SupportedQueryValidator implements QueryValidator {\n constructor(protected readonly mod: Module) {}\n queryable: Queryable = (query, payloads) => {\n return isQuerySupportedByModule(this.mod, query, payloads)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;AAAA,kCAA4D;AAMrD,MAAMA,2BAA2B,8BACtCC,KACAC,OACAC,aAAAA;AAEA,QAAMC,UAAUC,qDAAyBC,WAAwBJ,OAAOC,QAAAA;AACxE,QAAMI,UAAU,MAAMH,QAAQI,SAAQ,GAAID;AAC1C,SAAON,IAAIQ,QAAQC,SAASH,MAAAA;AAC9B,GARwC;AAUjC,MAAMI,wBAAAA;EAhBb,OAgBaA;;;;EACXC,YAA+BX,KAAa;SAAbA,MAAAA;SAC/BY,YAAuB,CAACX,OAAOC,aAAAA;AAC7B,aAAOH,yBAAyB,KAAKC,KAAKC,OAAOC,QAAAA;IACnD;EAH6C;EAC7CU;AAGF;","names":["isQuerySupportedByModule","mod","query","payloads","wrapper","QueryBoundWitnessWrapper","parseQuery","schema","getQuery","queries","includes","SupportedQueryValidator","constructor","queryable"]}
@@ -0,0 +1,26 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { QueryBoundWitnessWrapper } from "@xyo-network/boundwitness-builder";
4
+ const isQuerySupportedByModule = /* @__PURE__ */ __name(async (mod, query, payloads) => {
5
+ const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
6
+ const schema = (await wrapper.getQuery()).schema;
7
+ return mod.queries.includes(schema);
8
+ }, "isQuerySupportedByModule");
9
+ class SupportedQueryValidator {
10
+ static {
11
+ __name(this, "SupportedQueryValidator");
12
+ }
13
+ mod;
14
+ constructor(mod) {
15
+ this.mod = mod;
16
+ this.queryable = (query, payloads) => {
17
+ return isQuerySupportedByModule(this.mod, query, payloads);
18
+ };
19
+ }
20
+ queryable;
21
+ }
22
+ export {
23
+ SupportedQueryValidator,
24
+ isQuerySupportedByModule
25
+ };
26
+ //# sourceMappingURL=SupportedQueryValidator.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/QueryValidator/SupportedQueryValidator.ts"],"sourcesContent":["import { QueryBoundWitness, QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'\nimport { Module, ModuleQuery } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { Queryable, QueryValidator } from './QueryValidator'\n\nexport const isQuerySupportedByModule = async <T extends QueryBoundWitness = QueryBoundWitness>(\n mod: Module,\n query: T,\n payloads?: Payload[],\n): Promise<boolean> => {\n const wrapper = QueryBoundWitnessWrapper.parseQuery<ModuleQuery>(query, payloads)\n const schema = (await wrapper.getQuery()).schema\n return mod.queries.includes(schema)\n}\n\nexport class SupportedQueryValidator implements QueryValidator {\n constructor(protected readonly mod: Module) {}\n queryable: Queryable = (query, payloads) => {\n return isQuerySupportedByModule(this.mod, query, payloads)\n }\n}\n"],"mappings":";;AAAA,SAA4BA,gCAAgC;AAMrD,MAAMC,2BAA2B,8BACtCC,KACAC,OACAC,aAAAA;AAEA,QAAMC,UAAUL,yBAAyBM,WAAwBH,OAAOC,QAAAA;AACxE,QAAMG,UAAU,MAAMF,QAAQG,SAAQ,GAAID;AAC1C,SAAOL,IAAIO,QAAQC,SAASH,MAAAA;AAC9B,GARwC;AAUjC,MAAMI,wBAAAA;EAhBb,OAgBaA;;;;EACXC,YAA+BV,KAAa;SAAbA,MAAAA;SAC/BW,YAAuB,CAACV,OAAOC,aAAAA;AAC7B,aAAOH,yBAAyB,KAAKC,KAAKC,OAAOC,QAAAA;IACnD;EAH6C;EAC7CS;AAGF;","names":["QueryBoundWitnessWrapper","isQuerySupportedByModule","mod","query","payloads","wrapper","parseQuery","schema","getQuery","queries","includes","SupportedQueryValidator","constructor","queryable"]}
@@ -0,0 +1,4 @@
1
+ export * from './ModuleConfigQueryValidator';
2
+ export * from './QueryValidator';
3
+ export * from './SupportedQueryValidator';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/QueryValidator/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kBAAkB,CAAA;AAChC,cAAc,2BAA2B,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './ModuleConfigQueryValidator';
2
+ export * from './QueryValidator';
3
+ export * from './SupportedQueryValidator';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/QueryValidator/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kBAAkB,CAAA;AAChC,cAAc,2BAA2B,CAAA"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var QueryValidator_exports = {};
17
+ module.exports = __toCommonJS(QueryValidator_exports);
18
+ __reExport(QueryValidator_exports, require("./ModuleConfigQueryValidator"), module.exports);
19
+ __reExport(QueryValidator_exports, require("./QueryValidator"), module.exports);
20
+ __reExport(QueryValidator_exports, require("./SupportedQueryValidator"), module.exports);
21
+ // Annotate the CommonJS export names for ESM import in node:
22
+ 0 && (module.exports = {
23
+ ...require("./ModuleConfigQueryValidator"),
24
+ ...require("./QueryValidator"),
25
+ ...require("./SupportedQueryValidator")
26
+ });
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/QueryValidator/index.ts"],"sourcesContent":["export * from './ModuleConfigQueryValidator'\nexport * from './QueryValidator'\nexport * from './SupportedQueryValidator'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;mCAAc,yCAAd;AACA,mCAAc,6BADd;AAEA,mCAAc,sCAFd;","names":[]}
@@ -0,0 +1,4 @@
1
+ export * from "./ModuleConfigQueryValidator";
2
+ export * from "./QueryValidator";
3
+ export * from "./SupportedQueryValidator";
4
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/QueryValidator/index.ts"],"sourcesContent":["export * from './ModuleConfigQueryValidator'\nexport * from './QueryValidator'\nexport * from './SupportedQueryValidator'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
@@ -0,0 +1,6 @@
1
+ export * from './AbstractModule';
2
+ export * from './AbstractModuleInstance';
3
+ export * from './BaseEmitter';
4
+ export * from './Error';
5
+ export * from './QueryValidator';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './AbstractModule';
2
+ export * from './AbstractModuleInstance';
3
+ export * from './BaseEmitter';
4
+ export * from './Error';
5
+ export * from './QueryValidator';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var src_exports = {};
17
+ module.exports = __toCommonJS(src_exports);
18
+ __reExport(src_exports, require("./AbstractModule"), module.exports);
19
+ __reExport(src_exports, require("./AbstractModuleInstance"), module.exports);
20
+ __reExport(src_exports, require("./BaseEmitter"), module.exports);
21
+ __reExport(src_exports, require("./Error"), module.exports);
22
+ __reExport(src_exports, require("./QueryValidator"), module.exports);
23
+ // Annotate the CommonJS export names for ESM import in node:
24
+ 0 && (module.exports = {
25
+ ...require("./AbstractModule"),
26
+ ...require("./AbstractModuleInstance"),
27
+ ...require("./BaseEmitter"),
28
+ ...require("./Error"),
29
+ ...require("./QueryValidator")
30
+ });
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './AbstractModule'\nexport * from './AbstractModuleInstance'\nexport * from './BaseEmitter'\nexport * from './Error'\nexport * from './QueryValidator'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;wBAAc,6BAAd;AACA,wBAAc,qCADd;AAEA,wBAAc,0BAFd;AAGA,wBAAc,oBAHd;AAIA,wBAAc,6BAJd;","names":[]}
@@ -0,0 +1,6 @@
1
+ export * from "./AbstractModule";
2
+ export * from "./AbstractModuleInstance";
3
+ export * from "./BaseEmitter";
4
+ export * from "./Error";
5
+ export * from "./QueryValidator";
6
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './AbstractModule'\nexport * from './AbstractModuleInstance'\nexport * from './BaseEmitter'\nexport * from './Error'\nexport * from './QueryValidator'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}