@xyo-network/node-abstract 3.8.0 → 3.8.2

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,3 +1,50 @@
1
- export * from './AbstractNode.ts';
2
- export * from './NodeHelper/index.ts';
3
- //# sourceMappingURL=index.d.ts.map
1
+ import { Address } from '@xylabs/hex';
2
+ import { Promisable } from '@xylabs/promise';
3
+ import { AccountInstance } from '@xyo-network/account-model';
4
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { ModuleManifestPayload } from '@xyo-network/manifest-model';
6
+ import { AbstractModuleInstance } from '@xyo-network/module-abstract';
7
+ import * as _xyo_network_module_model from '@xyo-network/module-model';
8
+ import { Module, ModuleInstance, ModuleIdentifier, ModuleQueryResult, AddressPayload, ModuleConfig, ModuleQueryHandlerResult } from '@xyo-network/module-model';
9
+ import * as _xyo_network_node_model from '@xyo-network/node-model';
10
+ import { NodeParams, NodeModuleEventData, AttachableNodeInstance, NodeInstance, NodeModule, ChildCertificationFields, ChildCertification } from '@xyo-network/node-model';
11
+ import { Schema, Payload } from '@xyo-network/payload-model';
12
+
13
+ declare abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData> extends AbstractModuleInstance<TParams, TEventData> implements AttachableNodeInstance<TParams, TEventData>, Module<TParams, TEventData>, NodeInstance<TParams, TEventData>, ModuleInstance<TParams, TEventData>, NodeModule<TParams, TEventData> {
14
+ static readonly configSchemas: Schema[];
15
+ static readonly defaultConfigSchema: Schema;
16
+ static readonly uniqueName: string;
17
+ private readonly isNode;
18
+ get queries(): Schema[];
19
+ static isNode(mod: unknown): boolean;
20
+ attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined>;
21
+ attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
22
+ attached(): Promise<Address[]>;
23
+ attachedHandler(): Promise<Address[]>;
24
+ attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
25
+ certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined>;
26
+ certifyQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<ChildCertification>>;
27
+ detach(id: ModuleIdentifier): Promise<Address | undefined>;
28
+ detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
29
+ manifest(maxDepth?: number, ignoreAddresses?: Address[]): Promise<ModuleManifestPayload>;
30
+ privateChildren(): Promise<ModuleInstance[]>;
31
+ publicChildren(): Promise<ModuleInstance[]>;
32
+ registered(): Promise<Address[]>;
33
+ registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
34
+ protected attachedPrivateModules(maxDepth?: number): Promise<ModuleInstance[]>;
35
+ protected attachedPublicModules(maxDepth?: number): Promise<ModuleInstance[]>;
36
+ protected generateConfigAndAddress(maxDepth?: number): Promise<Payload[]>;
37
+ protected manifestHandler(maxDepth?: number, ignoreAddresses?: Address[]): Promise<ModuleManifestPayload>;
38
+ protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
39
+ abstract attachHandler(id: ModuleIdentifier, external?: boolean): Promisable<Address | undefined>;
40
+ abstract certifyHandler(id: ModuleIdentifier): Promisable<ChildCertificationFields | undefined>;
41
+ abstract detachHandler(id: ModuleIdentifier): Promisable<Address | undefined>;
42
+ abstract registeredHandler(): Promisable<Address[]>;
43
+ }
44
+
45
+ declare const NodeHelper: {
46
+ attachedPrivateModules: (node: _xyo_network_node_model.NodeInstance, maxDepth?: number) => Promise<_xyo_network_module_model.ModuleInstance[]>;
47
+ attachedPublicModules: (node: _xyo_network_node_model.NodeInstance, maxDepth?: number) => Promise<_xyo_network_module_model.ModuleInstance[]>;
48
+ };
49
+
50
+ export { AbstractNode, NodeHelper };
@@ -123,7 +123,7 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
123
123
  return manifest;
124
124
  }
125
125
  async queryHandler(query, payloads, queryConfig) {
126
- const wrapper = await QueryBoundWitnessWrapper.parseQuery(query, payloads);
126
+ const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
127
127
  const queryPayload = await wrapper.getQuery();
128
128
  assertEx(await this.queryable(query, payloads, queryConfig), () => "Module is not queryable with the provided query");
129
129
  const resultPayloads = [];
@@ -131,7 +131,7 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
131
131
  case NodeAttachQuerySchema: {
132
132
  const address = await this.attachHandler(queryPayload.id, queryPayload.external);
133
133
  if (address) {
134
- const payload = await new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build();
134
+ const payload = new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build();
135
135
  resultPayloads.push(payload);
136
136
  }
137
137
  break;
@@ -139,7 +139,7 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
139
139
  case NodeCertifyQuerySchema: {
140
140
  const fields = await this.certifyHandler(queryPayload.id);
141
141
  if (fields) {
142
- const payload = await new PayloadBuilder({ schema: ChildCertificationSchema }).fields(fields).build();
142
+ const payload = new PayloadBuilder({ schema: ChildCertificationSchema }).fields(fields).build();
143
143
  resultPayloads.push(payload);
144
144
  }
145
145
  break;
@@ -147,7 +147,7 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
147
147
  case NodeDetachQuerySchema: {
148
148
  const address = await this.detachHandler(queryPayload.id);
149
149
  if (address) {
150
- const payload = await new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build();
150
+ const payload = new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build();
151
151
  resultPayloads.push(payload);
152
152
  }
153
153
  break;
@@ -155,7 +155,7 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
155
155
  case NodeAttachedQuerySchema: {
156
156
  const addresses = await this.attachedHandler();
157
157
  for (const address of addresses) {
158
- const payload = await new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build();
158
+ const payload = new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build();
159
159
  resultPayloads.push(payload);
160
160
  }
161
161
  break;
@@ -163,7 +163,7 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
163
163
  case NodeRegisteredQuerySchema: {
164
164
  const addresses = await this.registeredHandler();
165
165
  for (const address of addresses) {
166
- const payload = await new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build();
166
+ const payload = new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build();
167
167
  resultPayloads.push(payload);
168
168
  }
169
169
  break;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/AbstractNode.ts","../../src/NodeHelper/attachedPrivateModules.ts","../../src/NodeHelper/attachedPublicModules.ts","../../src/NodeHelper/index.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport type { Address } from '@xylabs/hex'\nimport { globallyUnique } from '@xylabs/object'\nimport type { Promisable } from '@xylabs/promise'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport type { ModuleManifestPayload, NodeManifestPayload } from '@xyo-network/manifest-model'\nimport { NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport type {\n AddressPayload,\n Module,\n ModuleConfig,\n ModuleIdentifier,\n ModuleInstance,\n ModuleQueryHandlerResult,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport { AddressSchema } from '@xyo-network/module-model'\nimport type {\n AttachableNodeInstance,\n ChildCertification,\n ChildCertificationFields,\n NodeAttachedQuery,\n NodeAttachQuery,\n NodeCertifyQuery,\n NodeDetachQuery,\n NodeInstance,\n NodeModule,\n NodeModuleEventData,\n NodeParams,\n NodeQueries,\n NodeRegisteredQuery,\n} from '@xyo-network/node-model'\nimport {\n ChildCertificationSchema,\n NodeAttachedQuerySchema,\n NodeAttachQuerySchema,\n NodeCertifyQuerySchema,\n NodeConfigSchema,\n NodeDetachQuerySchema,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\n\nexport abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData>\n extends AbstractModuleInstance<TParams, TEventData>\n implements\n AttachableNodeInstance<TParams, TEventData>,\n Module<TParams, TEventData>,\n NodeInstance<TParams, TEventData>,\n ModuleInstance<TParams, TEventData>,\n NodeModule<TParams, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, NodeConfigSchema]\n static override readonly defaultConfigSchema: Schema = NodeConfigSchema\n static override readonly uniqueName = globallyUnique('AbstractNode', AbstractNode, 'xyo')\n\n private readonly isNode = true\n\n override get queries(): Schema[] {\n return [\n NodeAttachQuerySchema,\n NodeCertifyQuerySchema,\n NodeDetachQuerySchema,\n NodeAttachedQuerySchema,\n NodeRegisteredQuerySchema,\n ...super.queries,\n ]\n }\n\n static isNode(mod: unknown) {\n return (mod as AbstractNode).isNode\n }\n\n async attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined> {\n this._noOverride('attach')\n return await this.attachHandler(id, external)\n }\n\n async attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n this._noOverride('attachQuery')\n const queryPayload: NodeAttachQuery = {\n external, id, schema: NodeAttachQuerySchema,\n }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async attached(): Promise<Address[]> {\n this._noOverride('attached')\n return await this.attachedHandler()\n }\n\n async attachedHandler(): Promise<Address[]> {\n return [...(await this.attachedPublicModules()).map(mod => mod.address), ...(await this.attachedPrivateModules()).map(mod => mod.address)]\n }\n\n async attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n this._noOverride('attachedQuery')\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined> {\n this._noOverride('certify')\n return await this.certifyHandler(id)\n }\n\n async certifyQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<ChildCertification>> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async detach(id: ModuleIdentifier): Promise<Address | undefined> {\n this._noOverride('detach')\n return await this.detachHandler(id)\n }\n\n async detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n this._noOverride('detachQuery')\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n override async manifest(maxDepth = 10, ignoreAddresses: Address[] = []): Promise<ModuleManifestPayload> {\n return await this.manifestHandler(maxDepth, ignoreAddresses)\n }\n\n override async privateChildren(): Promise<ModuleInstance[]> {\n return await this.attachedPrivateModules()\n }\n\n override async publicChildren(): Promise<ModuleInstance[]> {\n return await this.attachedPublicModules()\n }\n\n async registered(): Promise<Address[]> {\n this._noOverride('registered')\n return await this.registeredHandler()\n }\n\n async registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n this._noOverride('registeredQuery')\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n protected async attachedPrivateModules(maxDepth = 1): Promise<ModuleInstance[]> {\n return (await (this.resolvePrivate('*', { maxDepth }) ?? [])).filter(mod => mod.address !== this.address)\n }\n\n protected async attachedPublicModules(maxDepth = 1): Promise<ModuleInstance[]> {\n return (await (this.downResolver.resolve('*', { direction: 'down', maxDepth }) ?? [])).filter(mod => mod.address !== this.address)\n }\n\n protected override async generateConfigAndAddress(maxDepth = 10): Promise<Payload[]> {\n const childMods = await this.attachedPublicModules(maxDepth)\n // console.log(`childMods: ${toJsonString(childMods)}`)\n const childModAddresses = childMods.map(mod => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build())\n\n return [...(await super.generateConfigAndAddress(maxDepth)), ...childModAddresses]\n }\n\n protected override async manifestHandler(maxDepth = 10, ignoreAddresses: Address[] = []): Promise<ModuleManifestPayload> {\n const cachedResult = this._cachedManifests.get(maxDepth)\n if (cachedResult) {\n return cachedResult\n }\n\n const manifest: NodeManifestPayload = { ...(await super.manifestHandler(maxDepth, ignoreAddresses)), schema: NodeManifestPayloadSchema }\n const newIgnoreAddresses = [...ignoreAddresses, this.address]\n\n const notThisModule = (mod: ModuleInstance) => mod.address !== this.address && !ignoreAddresses.includes(mod.address)\n const toManifest = (mod: ModuleInstance) => mod.manifest(maxDepth - 1, newIgnoreAddresses)\n\n const publicChildren = await this.publicChildren()\n const publicModuleManifests = await Promise.all(publicChildren.filter(notThisModule).map(toManifest))\n if (publicModuleManifests.length > 0) {\n manifest.modules = manifest.modules ?? {}\n manifest.modules.public = publicModuleManifests\n }\n\n this._cachedManifests.set(maxDepth, manifest)\n\n return manifest\n }\n\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(\n query: T,\n payloads?: Payload[],\n queryConfig?: TConfig,\n ): Promise<ModuleQueryHandlerResult> {\n const wrapper = await QueryBoundWitnessWrapper.parseQuery<NodeQueries>(query, payloads)\n const queryPayload = await wrapper.getQuery()\n assertEx(await this.queryable(query, payloads, queryConfig), () => 'Module is not queryable with the provided query')\n const resultPayloads: Payload[] = []\n switch (queryPayload.schema) {\n case NodeAttachQuerySchema: {\n const address = await this.attachHandler(queryPayload.id, queryPayload.external)\n if (address) {\n const payload = await new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()\n resultPayloads.push(payload)\n }\n break\n }\n case NodeCertifyQuerySchema: {\n const fields = await this.certifyHandler(queryPayload.id)\n if (fields) {\n const payload = await new PayloadBuilder<ChildCertification>({ schema: ChildCertificationSchema }).fields(fields).build()\n resultPayloads.push(payload)\n }\n break\n }\n case NodeDetachQuerySchema: {\n const address = await this.detachHandler(queryPayload.id)\n if (address) {\n const payload = await new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()\n resultPayloads.push(payload)\n }\n break\n }\n case NodeAttachedQuerySchema: {\n const addresses = await this.attachedHandler()\n for (const address of addresses) {\n const payload = await new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()\n resultPayloads.push(payload)\n }\n break\n }\n case NodeRegisteredQuerySchema: {\n const addresses = await this.registeredHandler()\n for (const address of addresses) {\n const payload = await new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()\n resultPayloads.push(payload)\n }\n break\n }\n default: {\n return await super.queryHandler(query, payloads)\n }\n }\n return resultPayloads\n }\n\n abstract attachHandler(id: ModuleIdentifier, external?: boolean): Promisable<Address | undefined>\n\n abstract certifyHandler(id: ModuleIdentifier): Promisable<ChildCertificationFields | undefined>\n\n abstract detachHandler(id: ModuleIdentifier): Promisable<Address | undefined>\n\n abstract registeredHandler(): Promisable<Address[]>\n}\n","import type { ModuleInstance } from '@xyo-network/module-model'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { asNodeInstance } from '@xyo-network/node-model'\n\nexport const attachedPrivateModules = async (node: NodeInstance, maxDepth = 1): Promise<ModuleInstance[]> => {\n const remainingDepth = maxDepth - 1\n const mods: ModuleInstance[] = []\n const publicChildren = await node.privateChildren()\n mods.push(...publicChildren)\n\n if (remainingDepth > 0) {\n await Promise.all(\n publicChildren.map(async (mod) => {\n const node = asNodeInstance(mod)\n if (node) {\n const children = await attachedPrivateModules(node, remainingDepth)\n mods.push(...children)\n }\n }),\n )\n }\n return mods\n}\n","import type { ModuleInstance } from '@xyo-network/module-model'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { asNodeInstance } from '@xyo-network/node-model'\n\nexport const attachedPublicModules = async (node: NodeInstance, maxDepth = 1): Promise<ModuleInstance[]> => {\n const remainingDepth = maxDepth - 1\n const mods: ModuleInstance[] = []\n const publicChildren = await node.publicChildren()\n mods.push(...publicChildren)\n\n if (remainingDepth > 0) {\n await Promise.all(\n publicChildren.map(async (mod) => {\n const node = asNodeInstance(mod)\n if (node) {\n const children = await attachedPublicModules(node, remainingDepth)\n mods.push(...children)\n }\n }),\n )\n }\n return mods\n}\n","import { attachedPrivateModules } from './attachedPrivateModules.ts'\nimport { attachedPublicModules } from './attachedPublicModules.ts'\n\nexport const NodeHelper = {\n attachedPrivateModules,\n attachedPublicModules,\n}\n"],"mappings":"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","names":["node","asNodeInstance","node"]}
1
+ {"version":3,"sources":["../../src/AbstractNode.ts","../../src/NodeHelper/attachedPrivateModules.ts","../../src/NodeHelper/attachedPublicModules.ts","../../src/NodeHelper/index.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport type { Address } from '@xylabs/hex'\nimport { globallyUnique } from '@xylabs/object'\nimport type { Promisable } from '@xylabs/promise'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport type { ModuleManifestPayload, NodeManifestPayload } from '@xyo-network/manifest-model'\nimport { NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport type {\n AddressPayload,\n Module,\n ModuleConfig,\n ModuleIdentifier,\n ModuleInstance,\n ModuleQueryHandlerResult,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport { AddressSchema } from '@xyo-network/module-model'\nimport type {\n AttachableNodeInstance,\n ChildCertification,\n ChildCertificationFields,\n NodeAttachedQuery,\n NodeAttachQuery,\n NodeCertifyQuery,\n NodeDetachQuery,\n NodeInstance,\n NodeModule,\n NodeModuleEventData,\n NodeParams,\n NodeQueries,\n NodeRegisteredQuery,\n} from '@xyo-network/node-model'\nimport {\n ChildCertificationSchema,\n NodeAttachedQuerySchema,\n NodeAttachQuerySchema,\n NodeCertifyQuerySchema,\n NodeConfigSchema,\n NodeDetachQuerySchema,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\n\nexport abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData>\n extends AbstractModuleInstance<TParams, TEventData>\n implements\n AttachableNodeInstance<TParams, TEventData>,\n Module<TParams, TEventData>,\n NodeInstance<TParams, TEventData>,\n ModuleInstance<TParams, TEventData>,\n NodeModule<TParams, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, NodeConfigSchema]\n static override readonly defaultConfigSchema: Schema = NodeConfigSchema\n static override readonly uniqueName = globallyUnique('AbstractNode', AbstractNode, 'xyo')\n\n private readonly isNode = true\n\n override get queries(): Schema[] {\n return [\n NodeAttachQuerySchema,\n NodeCertifyQuerySchema,\n NodeDetachQuerySchema,\n NodeAttachedQuerySchema,\n NodeRegisteredQuerySchema,\n ...super.queries,\n ]\n }\n\n static isNode(mod: unknown) {\n return (mod as AbstractNode).isNode\n }\n\n async attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined> {\n this._noOverride('attach')\n return await this.attachHandler(id, external)\n }\n\n async attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n this._noOverride('attachQuery')\n const queryPayload: NodeAttachQuery = {\n external, id, schema: NodeAttachQuerySchema,\n }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async attached(): Promise<Address[]> {\n this._noOverride('attached')\n return await this.attachedHandler()\n }\n\n async attachedHandler(): Promise<Address[]> {\n return [...(await this.attachedPublicModules()).map(mod => mod.address), ...(await this.attachedPrivateModules()).map(mod => mod.address)]\n }\n\n async attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n this._noOverride('attachedQuery')\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined> {\n this._noOverride('certify')\n return await this.certifyHandler(id)\n }\n\n async certifyQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<ChildCertification>> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async detach(id: ModuleIdentifier): Promise<Address | undefined> {\n this._noOverride('detach')\n return await this.detachHandler(id)\n }\n\n async detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n this._noOverride('detachQuery')\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n override async manifest(maxDepth = 10, ignoreAddresses: Address[] = []): Promise<ModuleManifestPayload> {\n return await this.manifestHandler(maxDepth, ignoreAddresses)\n }\n\n override async privateChildren(): Promise<ModuleInstance[]> {\n return await this.attachedPrivateModules()\n }\n\n override async publicChildren(): Promise<ModuleInstance[]> {\n return await this.attachedPublicModules()\n }\n\n async registered(): Promise<Address[]> {\n this._noOverride('registered')\n return await this.registeredHandler()\n }\n\n async registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n this._noOverride('registeredQuery')\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n protected async attachedPrivateModules(maxDepth = 1): Promise<ModuleInstance[]> {\n return (await (this.resolvePrivate('*', { maxDepth }) ?? [])).filter(mod => mod.address !== this.address)\n }\n\n protected async attachedPublicModules(maxDepth = 1): Promise<ModuleInstance[]> {\n return (await (this.downResolver.resolve('*', { direction: 'down', maxDepth }) ?? [])).filter(mod => mod.address !== this.address)\n }\n\n protected override async generateConfigAndAddress(maxDepth = 10): Promise<Payload[]> {\n const childMods = await this.attachedPublicModules(maxDepth)\n // console.log(`childMods: ${toJsonString(childMods)}`)\n const childModAddresses = childMods.map(mod => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build())\n\n return [...(await super.generateConfigAndAddress(maxDepth)), ...childModAddresses]\n }\n\n protected override async manifestHandler(maxDepth = 10, ignoreAddresses: Address[] = []): Promise<ModuleManifestPayload> {\n const cachedResult = this._cachedManifests.get(maxDepth)\n if (cachedResult) {\n return cachedResult\n }\n\n const manifest: NodeManifestPayload = { ...(await super.manifestHandler(maxDepth, ignoreAddresses)), schema: NodeManifestPayloadSchema }\n const newIgnoreAddresses = [...ignoreAddresses, this.address]\n\n const notThisModule = (mod: ModuleInstance) => mod.address !== this.address && !ignoreAddresses.includes(mod.address)\n const toManifest = (mod: ModuleInstance) => mod.manifest(maxDepth - 1, newIgnoreAddresses)\n\n const publicChildren = await this.publicChildren()\n const publicModuleManifests = await Promise.all(publicChildren.filter(notThisModule).map(toManifest))\n if (publicModuleManifests.length > 0) {\n manifest.modules = manifest.modules ?? {}\n manifest.modules.public = publicModuleManifests\n }\n\n this._cachedManifests.set(maxDepth, manifest)\n\n return manifest\n }\n\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(\n query: T,\n payloads?: Payload[],\n queryConfig?: TConfig,\n ): Promise<ModuleQueryHandlerResult> {\n const wrapper = QueryBoundWitnessWrapper.parseQuery<NodeQueries>(query, payloads)\n const queryPayload = await wrapper.getQuery()\n assertEx(await this.queryable(query, payloads, queryConfig), () => 'Module is not queryable with the provided query')\n const resultPayloads: Payload[] = []\n switch (queryPayload.schema) {\n case NodeAttachQuerySchema: {\n const address = await this.attachHandler(queryPayload.id, queryPayload.external)\n if (address) {\n const payload = new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()\n resultPayloads.push(payload)\n }\n break\n }\n case NodeCertifyQuerySchema: {\n const fields = await this.certifyHandler(queryPayload.id)\n if (fields) {\n const payload = new PayloadBuilder<ChildCertification>({ schema: ChildCertificationSchema }).fields(fields).build()\n resultPayloads.push(payload)\n }\n break\n }\n case NodeDetachQuerySchema: {\n const address = await this.detachHandler(queryPayload.id)\n if (address) {\n const payload = new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()\n resultPayloads.push(payload)\n }\n break\n }\n case NodeAttachedQuerySchema: {\n const addresses = await this.attachedHandler()\n for (const address of addresses) {\n const payload = new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()\n resultPayloads.push(payload)\n }\n break\n }\n case NodeRegisteredQuerySchema: {\n const addresses = await this.registeredHandler()\n for (const address of addresses) {\n const payload = new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()\n resultPayloads.push(payload)\n }\n break\n }\n default: {\n return await super.queryHandler(query, payloads)\n }\n }\n return resultPayloads\n }\n\n abstract attachHandler(id: ModuleIdentifier, external?: boolean): Promisable<Address | undefined>\n\n abstract certifyHandler(id: ModuleIdentifier): Promisable<ChildCertificationFields | undefined>\n\n abstract detachHandler(id: ModuleIdentifier): Promisable<Address | undefined>\n\n abstract registeredHandler(): Promisable<Address[]>\n}\n","import type { ModuleInstance } from '@xyo-network/module-model'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { asNodeInstance } from '@xyo-network/node-model'\n\nexport const attachedPrivateModules = async (node: NodeInstance, maxDepth = 1): Promise<ModuleInstance[]> => {\n const remainingDepth = maxDepth - 1\n const mods: ModuleInstance[] = []\n const publicChildren = await node.privateChildren()\n mods.push(...publicChildren)\n\n if (remainingDepth > 0) {\n await Promise.all(\n publicChildren.map(async (mod) => {\n const node = asNodeInstance(mod)\n if (node) {\n const children = await attachedPrivateModules(node, remainingDepth)\n mods.push(...children)\n }\n }),\n )\n }\n return mods\n}\n","import type { ModuleInstance } from '@xyo-network/module-model'\nimport type { NodeInstance } from '@xyo-network/node-model'\nimport { asNodeInstance } from '@xyo-network/node-model'\n\nexport const attachedPublicModules = async (node: NodeInstance, maxDepth = 1): Promise<ModuleInstance[]> => {\n const remainingDepth = maxDepth - 1\n const mods: ModuleInstance[] = []\n const publicChildren = await node.publicChildren()\n mods.push(...publicChildren)\n\n if (remainingDepth > 0) {\n await Promise.all(\n publicChildren.map(async (mod) => {\n const node = asNodeInstance(mod)\n if (node) {\n const children = await attachedPublicModules(node, remainingDepth)\n mods.push(...children)\n }\n }),\n )\n }\n return mods\n}\n","import { attachedPrivateModules } from './attachedPrivateModules.ts'\nimport { attachedPublicModules } from './attachedPublicModules.ts'\n\nexport const NodeHelper = {\n attachedPrivateModules,\n attachedPublicModules,\n}\n"],"mappings":"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","names":["node","asNodeInstance","node"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/node-abstract",
3
- "version": "3.8.0",
3
+ "version": "3.8.2",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -33,19 +33,19 @@
33
33
  "@xylabs/hex": "^4.5.1",
34
34
  "@xylabs/object": "^4.5.1",
35
35
  "@xylabs/promise": "^4.5.1",
36
- "@xyo-network/account-model": "^3.8.0",
37
- "@xyo-network/boundwitness-model": "^3.8.0",
38
- "@xyo-network/boundwitness-wrapper": "^3.8.0",
39
- "@xyo-network/manifest-model": "^3.8.0",
40
- "@xyo-network/module-abstract": "^3.8.0",
41
- "@xyo-network/module-model": "^3.8.0",
42
- "@xyo-network/node-model": "^3.8.0",
43
- "@xyo-network/payload-builder": "^3.8.0",
44
- "@xyo-network/payload-model": "^3.8.0"
36
+ "@xyo-network/account-model": "^3.8.2",
37
+ "@xyo-network/boundwitness-model": "^3.8.2",
38
+ "@xyo-network/boundwitness-wrapper": "^3.8.2",
39
+ "@xyo-network/manifest-model": "^3.8.2",
40
+ "@xyo-network/module-abstract": "^3.8.2",
41
+ "@xyo-network/module-model": "^3.8.2",
42
+ "@xyo-network/node-model": "^3.8.2",
43
+ "@xyo-network/payload-builder": "^3.8.2",
44
+ "@xyo-network/payload-model": "^3.8.2"
45
45
  },
46
46
  "devDependencies": {
47
- "@xylabs/ts-scripts-yarn3": "^4.2.6",
48
- "@xylabs/tsconfig": "^4.2.6",
47
+ "@xylabs/ts-scripts-yarn3": "^5.0.22",
48
+ "@xylabs/tsconfig": "^5.0.22",
49
49
  "typescript": "^5.7.3"
50
50
  },
51
51
  "publishConfig": {
@@ -191,7 +191,7 @@ export abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEve
191
191
  payloads?: Payload[],
192
192
  queryConfig?: TConfig,
193
193
  ): Promise<ModuleQueryHandlerResult> {
194
- const wrapper = await QueryBoundWitnessWrapper.parseQuery<NodeQueries>(query, payloads)
194
+ const wrapper = QueryBoundWitnessWrapper.parseQuery<NodeQueries>(query, payloads)
195
195
  const queryPayload = await wrapper.getQuery()
196
196
  assertEx(await this.queryable(query, payloads, queryConfig), () => 'Module is not queryable with the provided query')
197
197
  const resultPayloads: Payload[] = []
@@ -199,7 +199,7 @@ export abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEve
199
199
  case NodeAttachQuerySchema: {
200
200
  const address = await this.attachHandler(queryPayload.id, queryPayload.external)
201
201
  if (address) {
202
- const payload = await new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()
202
+ const payload = new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()
203
203
  resultPayloads.push(payload)
204
204
  }
205
205
  break
@@ -207,7 +207,7 @@ export abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEve
207
207
  case NodeCertifyQuerySchema: {
208
208
  const fields = await this.certifyHandler(queryPayload.id)
209
209
  if (fields) {
210
- const payload = await new PayloadBuilder<ChildCertification>({ schema: ChildCertificationSchema }).fields(fields).build()
210
+ const payload = new PayloadBuilder<ChildCertification>({ schema: ChildCertificationSchema }).fields(fields).build()
211
211
  resultPayloads.push(payload)
212
212
  }
213
213
  break
@@ -215,7 +215,7 @@ export abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEve
215
215
  case NodeDetachQuerySchema: {
216
216
  const address = await this.detachHandler(queryPayload.id)
217
217
  if (address) {
218
- const payload = await new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()
218
+ const payload = new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()
219
219
  resultPayloads.push(payload)
220
220
  }
221
221
  break
@@ -223,7 +223,7 @@ export abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEve
223
223
  case NodeAttachedQuerySchema: {
224
224
  const addresses = await this.attachedHandler()
225
225
  for (const address of addresses) {
226
- const payload = await new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()
226
+ const payload = new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()
227
227
  resultPayloads.push(payload)
228
228
  }
229
229
  break
@@ -231,7 +231,7 @@ export abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEve
231
231
  case NodeRegisteredQuerySchema: {
232
232
  const addresses = await this.registeredHandler()
233
233
  for (const address of addresses) {
234
- const payload = await new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()
234
+ const payload = new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()
235
235
  resultPayloads.push(payload)
236
236
  }
237
237
  break
@@ -1,41 +0,0 @@
1
- import type { Address } from '@xylabs/hex';
2
- import type { Promisable } from '@xylabs/promise';
3
- import type { AccountInstance } from '@xyo-network/account-model';
4
- import type { QueryBoundWitness } from '@xyo-network/boundwitness-model';
5
- import type { ModuleManifestPayload } from '@xyo-network/manifest-model';
6
- import { AbstractModuleInstance } from '@xyo-network/module-abstract';
7
- import type { AddressPayload, Module, ModuleConfig, ModuleIdentifier, ModuleInstance, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model';
8
- import type { AttachableNodeInstance, ChildCertification, ChildCertificationFields, NodeInstance, NodeModule, NodeModuleEventData, NodeParams } from '@xyo-network/node-model';
9
- import type { Payload, Schema } from '@xyo-network/payload-model';
10
- export declare abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData> extends AbstractModuleInstance<TParams, TEventData> implements AttachableNodeInstance<TParams, TEventData>, Module<TParams, TEventData>, NodeInstance<TParams, TEventData>, ModuleInstance<TParams, TEventData>, NodeModule<TParams, TEventData> {
11
- static readonly configSchemas: Schema[];
12
- static readonly defaultConfigSchema: Schema;
13
- static readonly uniqueName: string;
14
- private readonly isNode;
15
- get queries(): Schema[];
16
- static isNode(mod: unknown): boolean;
17
- attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined>;
18
- attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
19
- attached(): Promise<Address[]>;
20
- attachedHandler(): Promise<Address[]>;
21
- attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
22
- certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined>;
23
- certifyQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<ChildCertification>>;
24
- detach(id: ModuleIdentifier): Promise<Address | undefined>;
25
- detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
26
- manifest(maxDepth?: number, ignoreAddresses?: Address[]): Promise<ModuleManifestPayload>;
27
- privateChildren(): Promise<ModuleInstance[]>;
28
- publicChildren(): Promise<ModuleInstance[]>;
29
- registered(): Promise<Address[]>;
30
- registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
31
- protected attachedPrivateModules(maxDepth?: number): Promise<ModuleInstance[]>;
32
- protected attachedPublicModules(maxDepth?: number): Promise<ModuleInstance[]>;
33
- protected generateConfigAndAddress(maxDepth?: number): Promise<Payload[]>;
34
- protected manifestHandler(maxDepth?: number, ignoreAddresses?: Address[]): Promise<ModuleManifestPayload>;
35
- protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
36
- abstract attachHandler(id: ModuleIdentifier, external?: boolean): Promisable<Address | undefined>;
37
- abstract certifyHandler(id: ModuleIdentifier): Promisable<ChildCertificationFields | undefined>;
38
- abstract detachHandler(id: ModuleIdentifier): Promisable<Address | undefined>;
39
- abstract registeredHandler(): Promisable<Address[]>;
40
- }
41
- //# sourceMappingURL=AbstractNode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { ModuleInstance } from '@xyo-network/module-model';
2
- import type { NodeInstance } from '@xyo-network/node-model';
3
- export declare const attachedPrivateModules: (node: NodeInstance, maxDepth?: number) => Promise<ModuleInstance[]>;
4
- //# sourceMappingURL=attachedPrivateModules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attachedPrivateModules.d.ts","sourceRoot":"","sources":["../../../src/NodeHelper/attachedPrivateModules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D,eAAO,MAAM,sBAAsB,SAAgB,YAAY,wBAAiB,OAAO,CAAC,cAAc,EAAE,CAkBvG,CAAA"}
@@ -1,4 +0,0 @@
1
- import type { ModuleInstance } from '@xyo-network/module-model';
2
- import type { NodeInstance } from '@xyo-network/node-model';
3
- export declare const attachedPublicModules: (node: NodeInstance, maxDepth?: number) => Promise<ModuleInstance[]>;
4
- //# sourceMappingURL=attachedPublicModules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attachedPublicModules.d.ts","sourceRoot":"","sources":["../../../src/NodeHelper/attachedPublicModules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D,eAAO,MAAM,qBAAqB,SAAgB,YAAY,wBAAiB,OAAO,CAAC,cAAc,EAAE,CAkBtG,CAAA"}
@@ -1,5 +0,0 @@
1
- export declare const NodeHelper: {
2
- attachedPrivateModules: (node: import("@xyo-network/node-model").NodeInstance, maxDepth?: number) => Promise<import("@xyo-network/module-model").ModuleInstance[]>;
3
- attachedPublicModules: (node: import("@xyo-network/node-model").NodeInstance, maxDepth?: number) => Promise<import("@xyo-network/module-model").ModuleInstance[]>;
4
- };
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/NodeHelper/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU;;;CAGtB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA"}