@xyo-network/node 2.64.3 → 2.64.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  import { assertEx } from '@xylabs/assert';
2
2
  import { Account } from '@xyo-network/account';
3
3
  import { AddressSchema } from '@xyo-network/address-payload-plugin';
4
+ import { handleErrorAsync } from '@xyo-network/error';
4
5
  import { AbstractModule, CompositeModuleResolver, duplicateModules, ModuleErrorBuilder, QueryBoundWitnessWrapper, } from '@xyo-network/module';
5
6
  import { NodeAttachedQuerySchema, NodeAttachQuerySchema, NodeConfigSchema, NodeDetachQuerySchema, NodeRegisteredQuerySchema, } from '@xyo-network/node-model';
6
7
  import { PayloadBuilder } from '@xyo-network/payload-builder';
@@ -36,6 +37,22 @@ export class AbstractNode extends AbstractModule {
36
37
  const childModAddresses = childMods.map((mod) => new PayloadBuilder({ schema: AddressSchema }).fields({ address: mod.address, name: mod.config.name }).build());
37
38
  return [...(await super.discover()), ...childModAddresses];
38
39
  }
40
+ async manifest() {
41
+ const manifest = { ...(await super.manifest()) };
42
+ const notThisModule = (module) => module.address !== this.address;
43
+ const toManifest = (module) => module.manifest();
44
+ const privateModules = await Promise.all((await this.privateResolver.resolve()).filter(notThisModule).map(toManifest));
45
+ if (privateModules.length > 0) {
46
+ manifest.modules = manifest.modules ?? {};
47
+ manifest.modules.private = privateModules;
48
+ }
49
+ const publicModules = await Promise.all((await this.downResolver.resolve()).filter(notThisModule).map(toManifest));
50
+ if (publicModules.length > 0) {
51
+ manifest.modules = manifest.modules ?? {};
52
+ manifest.modules.public = publicModules;
53
+ }
54
+ return manifest;
55
+ }
39
56
  register(_module) {
40
57
  throw new Error('Method not implemented.');
41
58
  }
@@ -94,13 +111,14 @@ export class AbstractNode extends AbstractModule {
94
111
  }
95
112
  }
96
113
  catch (ex) {
97
- const error = ex;
98
- errorPayloads.push(new ModuleErrorBuilder()
99
- .sources([await wrapper.hashAsync()])
100
- .name(this.config.name ?? '<Unknown>')
101
- .query(query.schema)
102
- .message(error.message)
103
- .build());
114
+ await handleErrorAsync(ex, async (error) => {
115
+ errorPayloads.push(new ModuleErrorBuilder()
116
+ .sources([await wrapper.hashAsync()])
117
+ .name(this.config.name ?? '<Unknown>')
118
+ .query(query.schema)
119
+ .message(error.message)
120
+ .build());
121
+ });
104
122
  }
105
123
  return (await this.bindQueryResult(queryPayload, resultPayloads, [queryAccount], errorPayloads))[0];
106
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNode.js","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractNode.js","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { NodeManifest } from '@xyo-network/manifest-model';
1
2
  import { AbstractModule, CompositeModuleResolver, Module, ModuleConfig, ModuleFilter, ModuleQueryResult, QueryBoundWitness } from '@xyo-network/module';
2
3
  import { NodeModule, NodeModuleEventData, NodeModuleParams, NodeQueryBase } from '@xyo-network/node-model';
3
4
  import { Payload } from '@xyo-network/payload-model';
@@ -13,6 +14,7 @@ export declare abstract class AbstractNode<TParams extends NodeModuleParams = No
13
14
  attached(): Promise<string[]>;
14
15
  attachedModules(): Promise<Module[]>;
15
16
  discover(): Promise<Payload[]>;
17
+ manifest(): Promise<NodeManifest>;
16
18
  register(_module: Module): Promisable<this>;
17
19
  registered(): Promisable<string[]>;
18
20
  registeredModules(): Promisable<Module[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EACd,uBAAuB,EAEvB,MAAM,EACN,YAAY,EAGZ,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAKL,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAEhB,aAAa,EAEd,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,8BAAsB,YAAY,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EAAE,UAAU,SAAS,mBAAmB,GAAG,mBAAmB,CAClJ,SAAQ,cAAc,CAAC,OAAO,EAAE,UAAU,CAC1C,YAAW,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;IAEvE,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAqB;IAErE,SAAS,CAAC,QAAQ,CAAC,eAAe,0BAAgC;IAElE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAO;IAE9B,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAED,cAAuB,kBAAkB,IAAI,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAOnF;IAED,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO;IAIvB,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAS7C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;IAI3C,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;IAIlC,iBAAiB,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;IAIzC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;cAIpB,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,iBAAiB,CAAC;cA0DJ,OAAO,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI5G,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1F,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;CACvE"}
1
+ {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EACL,cAAc,EACd,uBAAuB,EAEvB,MAAM,EACN,YAAY,EAGZ,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAKL,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAEhB,aAAa,EAEd,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,8BAAsB,YAAY,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EAAE,UAAU,SAAS,mBAAmB,GAAG,mBAAmB,CAClJ,SAAQ,cAAc,CAAC,OAAO,EAAE,UAAU,CAC1C,YAAW,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;IAEvE,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAqB;IAErE,SAAS,CAAC,QAAQ,CAAC,eAAe,0BAAgC;IAElE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAO;IAE9B,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAED,cAAuB,kBAAkB,IAAI,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAOnF;IAED,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO;IAIvB,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAS9B,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAqBhD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;IAI3C,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;IAIlC,iBAAiB,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;IAIzC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;cAIpB,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,iBAAiB,CAAC;cA2DJ,OAAO,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI5G,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1F,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;CACvE"}
package/package.json CHANGED
@@ -13,14 +13,16 @@
13
13
  "@xylabs/assert": "^2.9.3",
14
14
  "@xylabs/exists": "^2.9.3",
15
15
  "@xylabs/promise": "^2.9.3",
16
- "@xyo-network/account": "^2.64.3",
17
- "@xyo-network/address-payload-plugin": "^2.64.3",
18
- "@xyo-network/module": "^2.64.3",
19
- "@xyo-network/node-model": "^2.64.3",
20
- "@xyo-network/node-wrapper": "^2.64.3",
21
- "@xyo-network/payload-builder": "^2.64.3",
22
- "@xyo-network/payload-model": "^2.64.3",
23
- "@xyo-network/promise": "^2.64.3",
16
+ "@xyo-network/account": "^2.64.5",
17
+ "@xyo-network/address-payload-plugin": "^2.64.5",
18
+ "@xyo-network/error": "^2.64.5",
19
+ "@xyo-network/manifest-model": "^2.64.5",
20
+ "@xyo-network/module": "^2.64.5",
21
+ "@xyo-network/node-model": "^2.64.5",
22
+ "@xyo-network/node-wrapper": "^2.64.5",
23
+ "@xyo-network/payload-builder": "^2.64.5",
24
+ "@xyo-network/payload-model": "^2.64.5",
25
+ "@xyo-network/promise": "^2.64.5",
24
26
  "lodash": "^4.17.21"
25
27
  },
26
28
  "devDependencies": {
@@ -62,5 +64,5 @@
62
64
  },
63
65
  "sideEffects": false,
64
66
  "types": "dist/types/index.d.ts",
65
- "version": "2.64.3"
67
+ "version": "2.64.5"
66
68
  }
@@ -1,6 +1,8 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
2
  import { Account } from '@xyo-network/account'
3
3
  import { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plugin'
4
+ import { handleErrorAsync } from '@xyo-network/error'
5
+ import { NodeManifest } from '@xyo-network/manifest-model'
4
6
  import {
5
7
  AbstractModule,
6
8
  CompositeModuleResolver,
@@ -78,6 +80,27 @@ export abstract class AbstractNode<TParams extends NodeModuleParams = NodeModule
78
80
  return [...(await super.discover()), ...childModAddresses]
79
81
  }
80
82
 
83
+ override async manifest(): Promise<NodeManifest> {
84
+ const manifest: NodeManifest = { ...(await super.manifest()) }
85
+
86
+ const notThisModule = (module: Module) => module.address !== this.address
87
+ const toManifest = (module: Module) => module.manifest()
88
+
89
+ const privateModules = await Promise.all((await this.privateResolver.resolve()).filter(notThisModule).map(toManifest))
90
+ if (privateModules.length > 0) {
91
+ manifest.modules = manifest.modules ?? {}
92
+ manifest.modules.private = privateModules
93
+ }
94
+
95
+ const publicModules = await Promise.all((await this.downResolver.resolve()).filter(notThisModule).map(toManifest))
96
+ if (publicModules.length > 0) {
97
+ manifest.modules = manifest.modules ?? {}
98
+ manifest.modules.public = publicModules
99
+ }
100
+
101
+ return manifest
102
+ }
103
+
81
104
  register(_module: Module): Promisable<this> {
82
105
  throw new Error('Method not implemented.')
83
106
  }
@@ -143,15 +166,16 @@ export abstract class AbstractNode<TParams extends NodeModuleParams = NodeModule
143
166
  return await super.queryHandler(query, payloads)
144
167
  }
145
168
  } catch (ex) {
146
- const error = ex as Error
147
- errorPayloads.push(
148
- new ModuleErrorBuilder()
149
- .sources([await wrapper.hashAsync()])
150
- .name(this.config.name ?? '<Unknown>')
151
- .query(query.schema)
152
- .message(error.message)
153
- .build(),
154
- )
169
+ await handleErrorAsync(ex, async (error) => {
170
+ errorPayloads.push(
171
+ new ModuleErrorBuilder()
172
+ .sources([await wrapper.hashAsync()])
173
+ .name(this.config.name ?? '<Unknown>')
174
+ .query(query.schema)
175
+ .message(error.message)
176
+ .build(),
177
+ )
178
+ })
155
179
  }
156
180
  return (await this.bindQueryResult(queryPayload, resultPayloads, [queryAccount], errorPayloads))[0]
157
181
  }