@xyo-network/node-abstract 2.110.19 → 2.111.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/AbstractNode.ts","../../src/NodeHelper/attachedPrivateModules.ts","../../src/NodeHelper/attachedPublicModules.ts","../../src/NodeHelper/index.ts"],"sourcesContent":["export * from './AbstractNode.ts'\nexport * from './NodeHelper/index.ts'\n","import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { ModuleManifestPayload, NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport {\n AddressPayload,\n AddressSchema,\n Module,\n ModuleConfig,\n ModuleIdentifier,\n ModuleInstance,\n ModuleQueryHandlerResult,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport {\n AttachableNodeInstance,\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeConfigSchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeModuleEventData,\n NodeParams,\n NodeQueries,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { 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{\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 = { external, id, schema: NodeAttachQuerySchema }\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 = await Promise.all(\n childMods.map((mod) => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build()),\n )\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))\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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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":["AbstractNode","AbstractModuleInstance","configSchemas","NodeConfigSchema","defaultConfigSchema","uniqueName","globallyUnique","isNode","queries","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeAttachedQuerySchema","NodeRegisteredQuerySchema","mod","attach","id","external","_noOverride","attachHandler","attachQuery","account","queryPayload","schema","sendQueryRaw","attached","attachedHandler","attachedPublicModules","map","address","attachedPrivateModules","attachedQuery","certify","certifyHandler","certifyQuery","detach","detachHandler","detachQuery","manifest","maxDepth","ignoreAddresses","manifestHandler","privateChildren","publicChildren","registered","registeredHandler","registeredQuery","resolvePrivate","filter","downResolver","resolve","direction","generateConfigAndAddress","childMods","childModAddresses","Promise","all","PayloadBuilder","AddressSchema","fields","build","cachedResult","_cachedManifests","get","NodeManifestPayloadSchema","newIgnoreAddresses","notThisModule","includes","toManifest","publicModuleManifests","length","modules","public","set","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","getQuery","assertEx","queryable","resultPayloads","payload","push","ChildCertificationSchema","addresses","import_node_model","attachedPrivateModules","node","maxDepth","remainingDepth","mods","publicChildren","privateChildren","push","Promise","all","map","mod","asNodeInstance","children","import_node_model","attachedPublicModules","node","maxDepth","remainingDepth","mods","publicChildren","push","Promise","all","map","mod","asNodeInstance","children","NodeHelper","attachedPrivateModules","attachedPublicModules"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/AbstractNode.ts","../../src/NodeHelper/attachedPrivateModules.ts","../../src/NodeHelper/attachedPublicModules.ts","../../src/NodeHelper/index.ts"],"sourcesContent":["export * from './AbstractNode.ts'\nexport * from './NodeHelper/index.ts'\n","import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { ModuleManifestPayload, NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport {\n AddressPayload,\n AddressSchema,\n Module,\n ModuleConfig,\n ModuleIdentifier,\n ModuleInstance,\n ModuleQueryHandlerResult,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport {\n AttachableNodeInstance,\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeConfigSchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeModuleEventData,\n NodeParams,\n NodeQueries,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { 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 = { external, id, schema: NodeAttachQuerySchema }\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 = await Promise.all(\n childMods.map(mod => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build()),\n )\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))\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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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":["AbstractNode","AbstractModuleInstance","configSchemas","NodeConfigSchema","defaultConfigSchema","uniqueName","globallyUnique","isNode","queries","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeAttachedQuerySchema","NodeRegisteredQuerySchema","mod","attach","id","external","_noOverride","attachHandler","attachQuery","account","queryPayload","schema","sendQueryRaw","attached","attachedHandler","attachedPublicModules","map","address","attachedPrivateModules","attachedQuery","certify","certifyHandler","certifyQuery","detach","detachHandler","detachQuery","manifest","maxDepth","ignoreAddresses","manifestHandler","privateChildren","publicChildren","registered","registeredHandler","registeredQuery","resolvePrivate","filter","downResolver","resolve","direction","generateConfigAndAddress","childMods","childModAddresses","Promise","all","PayloadBuilder","AddressSchema","fields","build","cachedResult","_cachedManifests","get","NodeManifestPayloadSchema","newIgnoreAddresses","notThisModule","includes","toManifest","publicModuleManifests","length","modules","public","set","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","getQuery","assertEx","queryable","resultPayloads","payload","push","ChildCertificationSchema","addresses","import_node_model","attachedPrivateModules","node","maxDepth","remainingDepth","mods","publicChildren","privateChildren","push","Promise","all","map","mod","asNodeInstance","children","import_node_model","attachedPublicModules","node","maxDepth","remainingDepth","mods","publicChildren","push","Promise","all","map","mod","asNodeInstance","children","NodeHelper","attachedPrivateModules","attachedPublicModules"]}
@@ -273,4 +273,4 @@ export {
273
273
  AbstractNode,
274
274
  NodeHelper
275
275
  };
276
- //# sourceMappingURL=index.js.map
276
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +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 { Address } from '@xylabs/hex'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { ModuleManifestPayload, NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport {\n AddressPayload,\n AddressSchema,\n Module,\n ModuleConfig,\n ModuleIdentifier,\n ModuleInstance,\n ModuleQueryHandlerResult,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport {\n AttachableNodeInstance,\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeConfigSchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeModuleEventData,\n NodeParams,\n NodeQueries,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { 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 = { external, id, schema: NodeAttachQuerySchema }\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 = await Promise.all(\n childMods.map(mod => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build()),\n )\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))\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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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":["assertEx","globallyUnique","QueryBoundWitnessWrapper","NodeManifestPayloadSchema","AbstractModuleInstance","AddressSchema","ChildCertificationSchema","NodeAttachedQuerySchema","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeConfigSchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","PayloadBuilder","AbstractNode","AbstractModuleInstance","configSchemas","NodeConfigSchema","defaultConfigSchema","uniqueName","globallyUnique","isNode","queries","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeAttachedQuerySchema","NodeRegisteredQuerySchema","mod","attach","id","external","_noOverride","attachHandler","attachQuery","account","queryPayload","schema","sendQueryRaw","attached","attachedHandler","attachedPublicModules","map","address","attachedPrivateModules","attachedQuery","certify","certifyHandler","certifyQuery","detach","detachHandler","detachQuery","manifest","maxDepth","ignoreAddresses","manifestHandler","privateChildren","publicChildren","registered","registeredHandler","registeredQuery","resolvePrivate","filter","downResolver","resolve","direction","generateConfigAndAddress","childMods","childModAddresses","Promise","all","PayloadBuilder","AddressSchema","fields","build","cachedResult","_cachedManifests","get","NodeManifestPayloadSchema","newIgnoreAddresses","notThisModule","includes","toManifest","publicModuleManifests","length","modules","public","set","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","getQuery","assertEx","queryable","resultPayloads","payload","push","ChildCertificationSchema","addresses","asNodeInstance","attachedPrivateModules","node","maxDepth","remainingDepth","mods","publicChildren","privateChildren","push","Promise","all","map","mod","asNodeInstance","children","asNodeInstance","attachedPublicModules","node","maxDepth","remainingDepth","mods","publicChildren","push","Promise","all","map","mod","asNodeInstance","children","NodeHelper","attachedPrivateModules","attachedPublicModules"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAEnE,OAAO,EAAE,qBAAqB,EAAkD,MAAM,6BAA6B,CAAA;AACnH,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EACL,cAAc,EAEd,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EAWxB,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,UAAU,EAIX,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAE5D,8BAAsB,YAAY,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,UAAU,SAAS,mBAAmB,GAAG,mBAAmB,CACtI,SAAQ,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAClD,YACE,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,EAC3C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,EAC3B,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,EACjC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,EACnC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC;IACjC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA6C;IAC7F,gBAAyB,mBAAmB,EAAE,MAAM,CAAmB;IACvE,gBAAyB,UAAU,SAAsD;IAEzF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAO;IAE9B,IAAa,OAAO,IAAI,MAAM,EAAE,CAS/B;IAED,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO;IAIpB,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAK9E,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAM5H,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAK9B,eAAe,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIrC,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAMpF,OAAO,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAK5E,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAK7G,MAAM,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAK1D,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAM/F,QAAQ,CAAC,QAAQ,SAAK,EAAE,eAAe,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIxF,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAI5C,cAAc,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIpD,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAKhC,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;cAM5E,sBAAsB,CAAC,QAAQ,SAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;cAI/D,qBAAqB,CAAC,QAAQ,SAAI,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;cAIrD,wBAAwB,CAAC,QAAQ,SAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;cAU3D,eAAe,CAAC,QAAQ,SAAK,EAAE,eAAe,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC;cAwB/F,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,wBAAwB,CAAC;IAqDpC,QAAQ,CAAC,aAAa,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;IAEjG,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,gBAAgB,GAAG,UAAU,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAE/F,QAAQ,CAAC,aAAa,CAAC,EAAE,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;IAE7E,QAAQ,CAAC,iBAAiB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;CACpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/AbstractNode.ts","../../src/NodeHelper/attachedPrivateModules.ts","../../src/NodeHelper/attachedPublicModules.ts","../../src/NodeHelper/index.ts"],"sourcesContent":["export * from './AbstractNode.ts'\nexport * from './NodeHelper/index.ts'\n","import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { ModuleManifestPayload, NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport {\n AddressPayload,\n AddressSchema,\n Module,\n ModuleConfig,\n ModuleIdentifier,\n ModuleInstance,\n ModuleQueryHandlerResult,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport {\n AttachableNodeInstance,\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeConfigSchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeModuleEventData,\n NodeParams,\n NodeQueries,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { 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{\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 = { external, id, schema: NodeAttachQuerySchema }\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 = await Promise.all(\n childMods.map((mod) => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build()),\n )\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))\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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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":["AbstractNode","AbstractModuleInstance","configSchemas","NodeConfigSchema","defaultConfigSchema","uniqueName","globallyUnique","isNode","queries","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeAttachedQuerySchema","NodeRegisteredQuerySchema","mod","attach","id","external","_noOverride","attachHandler","attachQuery","account","queryPayload","schema","sendQueryRaw","attached","attachedHandler","attachedPublicModules","map","address","attachedPrivateModules","attachedQuery","certify","certifyHandler","certifyQuery","detach","detachHandler","detachQuery","manifest","maxDepth","ignoreAddresses","manifestHandler","privateChildren","publicChildren","registered","registeredHandler","registeredQuery","resolvePrivate","filter","downResolver","resolve","direction","generateConfigAndAddress","childMods","childModAddresses","Promise","all","PayloadBuilder","AddressSchema","fields","build","cachedResult","_cachedManifests","get","NodeManifestPayloadSchema","newIgnoreAddresses","notThisModule","includes","toManifest","publicModuleManifests","length","modules","public","set","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","getQuery","assertEx","queryable","resultPayloads","payload","push","ChildCertificationSchema","addresses","import_node_model","attachedPrivateModules","node","maxDepth","remainingDepth","mods","publicChildren","privateChildren","push","Promise","all","map","mod","asNodeInstance","children","import_node_model","attachedPublicModules","node","maxDepth","remainingDepth","mods","publicChildren","push","Promise","all","map","mod","asNodeInstance","children","NodeHelper","attachedPrivateModules","attachedPublicModules"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/AbstractNode.ts","../../src/NodeHelper/attachedPrivateModules.ts","../../src/NodeHelper/attachedPublicModules.ts","../../src/NodeHelper/index.ts"],"sourcesContent":["export * from './AbstractNode.ts'\nexport * from './NodeHelper/index.ts'\n","import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { ModuleManifestPayload, NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport {\n AddressPayload,\n AddressSchema,\n Module,\n ModuleConfig,\n ModuleIdentifier,\n ModuleInstance,\n ModuleQueryHandlerResult,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport {\n AttachableNodeInstance,\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeConfigSchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeModuleEventData,\n NodeParams,\n NodeQueries,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { 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 = { external, id, schema: NodeAttachQuerySchema }\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 = await Promise.all(\n childMods.map(mod => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build()),\n )\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))\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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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":["AbstractNode","AbstractModuleInstance","configSchemas","NodeConfigSchema","defaultConfigSchema","uniqueName","globallyUnique","isNode","queries","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeAttachedQuerySchema","NodeRegisteredQuerySchema","mod","attach","id","external","_noOverride","attachHandler","attachQuery","account","queryPayload","schema","sendQueryRaw","attached","attachedHandler","attachedPublicModules","map","address","attachedPrivateModules","attachedQuery","certify","certifyHandler","certifyQuery","detach","detachHandler","detachQuery","manifest","maxDepth","ignoreAddresses","manifestHandler","privateChildren","publicChildren","registered","registeredHandler","registeredQuery","resolvePrivate","filter","downResolver","resolve","direction","generateConfigAndAddress","childMods","childModAddresses","Promise","all","PayloadBuilder","AddressSchema","fields","build","cachedResult","_cachedManifests","get","NodeManifestPayloadSchema","newIgnoreAddresses","notThisModule","includes","toManifest","publicModuleManifests","length","modules","public","set","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","getQuery","assertEx","queryable","resultPayloads","payload","push","ChildCertificationSchema","addresses","import_node_model","attachedPrivateModules","node","maxDepth","remainingDepth","mods","publicChildren","privateChildren","push","Promise","all","map","mod","asNodeInstance","children","import_node_model","attachedPublicModules","node","maxDepth","remainingDepth","mods","publicChildren","push","Promise","all","map","mod","asNodeInstance","children","NodeHelper","attachedPrivateModules","attachedPublicModules"]}
@@ -273,4 +273,4 @@ export {
273
273
  AbstractNode,
274
274
  NodeHelper
275
275
  };
276
- //# sourceMappingURL=index.js.map
276
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +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 { Address } from '@xylabs/hex'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { ModuleManifestPayload, NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport {\n AddressPayload,\n AddressSchema,\n Module,\n ModuleConfig,\n ModuleIdentifier,\n ModuleInstance,\n ModuleQueryHandlerResult,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport {\n AttachableNodeInstance,\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeConfigSchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeModuleEventData,\n NodeParams,\n NodeQueries,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { 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 = { external, id, schema: NodeAttachQuerySchema }\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 = await Promise.all(\n childMods.map(mod => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build()),\n )\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))\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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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":";;;;AAAA,SAASA,gBAAgB;AAEzB,SAASC,sBAAsB;AAI/B,SAASC,gCAAgC;AACzC,SAAqDC,iCAAiC;AACtF,SAASC,8BAA8B;AACvC,SAEEC,qBAOK;AACP,SAIEC,0BAEAC,yBAEAC,uBAEAC,wBACAC,kBAEAC,uBAOAC,iCACK;AACP,SAASC,sBAAsB;AAGxB,IAAeC,eAAf,MAAeA,sBACZC,uBAAAA;EA7CV,OA6CUA;;;EAOR,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EACvD,OAAyBE,aAAaC,eAAe,gBAAgBN,eAAc,KAAA;EAElEO,SAAS;EAE1B,IAAaC,UAAoB;AAC/B,WAAO;MACLC;MACAC;MACAC;MACAC;MACAC;SACG,MAAML;;EAEb;EAEA,OAAOD,OAAOO,KAAc;AAC1B,WAAQA,IAAqBP;EAC/B;EAEA,MAAMQ,OAAOC,IAAsBC,UAAkD;AACnF,SAAKC,YAAY,QAAA;AACjB,WAAO,MAAM,KAAKC,cAAcH,IAAIC,QAAAA;EACtC;EAEA,MAAMG,YAAYJ,IAAsBC,UAAoBI,SAAuE;AACjI,SAAKH,YAAY,aAAA;AACjB,UAAMI,eAAgC;MAAEL;MAAUD;MAAIO,QAAQd;IAAsB;AACpF,WAAO,MAAM,KAAKe,aAAaF,cAAc,CAAA,GAAID,OAAAA;EACnD;EAEA,MAAMI,WAA+B;AACnC,SAAKP,YAAY,UAAA;AACjB,WAAO,MAAM,KAAKQ,gBAAe;EACnC;EAEA,MAAMA,kBAAsC;AAC1C,WAAO;UAAK,MAAM,KAAKC,sBAAqB,GAAIC,IAAId,CAAAA,QAAOA,IAAIe,OAAO;UAAO,MAAM,KAAKC,uBAAsB,GAAIF,IAAId,CAAAA,QAAOA,IAAIe,OAAO;;EAC1I;EAEA,MAAME,cAAcV,SAAuE;AACzF,SAAKH,YAAY,eAAA;AACjB,UAAMI,eAAkC;MAAEC,QAAQX;IAAwB;AAC1E,WAAO,MAAM,KAAKY,aAAaF,cAAc,CAAA,GAAID,OAAAA;EACnD;EAEA,MAAMW,QAAQhB,IAAqE;AACjF,SAAKE,YAAY,SAAA;AACjB,WAAO,MAAM,KAAKe,eAAejB,EAAAA;EACnC;EAEA,MAAMkB,aAAalB,IAAsBK,SAA2E;AAClH,UAAMC,eAAiC;MAAEN;MAAIO,QAAQb;IAAuB;AAC5E,WAAO,MAAM,KAAKc,aAAaF,cAAc,CAAA,GAAID,OAAAA;EACnD;EAEA,MAAMc,OAAOnB,IAAoD;AAC/D,SAAKE,YAAY,QAAA;AACjB,WAAO,MAAM,KAAKkB,cAAcpB,EAAAA;EAClC;EAEA,MAAMqB,YAAYrB,IAAsBK,SAAuE;AAC7G,SAAKH,YAAY,aAAA;AACjB,UAAMI,eAAgC;MAAEN;MAAIO,QAAQZ;IAAsB;AAC1E,WAAO,MAAM,KAAKa,aAAaF,cAAc,CAAA,GAAID,OAAAA;EACnD;EAEA,MAAeiB,SAASC,WAAW,IAAIC,kBAA6B,CAAA,GAAoC;AACtG,WAAO,MAAM,KAAKC,gBAAgBF,UAAUC,eAAAA;EAC9C;EAEA,MAAeE,kBAA6C;AAC1D,WAAO,MAAM,KAAKZ,uBAAsB;EAC1C;EAEA,MAAea,iBAA4C;AACzD,WAAO,MAAM,KAAKhB,sBAAqB;EACzC;EAEA,MAAMiB,aAAiC;AACrC,SAAK1B,YAAY,YAAA;AACjB,WAAO,MAAM,KAAK2B,kBAAiB;EACrC;EAEA,MAAMC,gBAAgBzB,SAAuE;AAC3F,SAAKH,YAAY,iBAAA;AACjB,UAAMI,eAAoC;MAAEC,QAAQV;IAA0B;AAC9E,WAAO,MAAM,KAAKW,aAAaF,cAAc,CAAA,GAAID,OAAAA;EACnD;EAEA,MAAgBS,uBAAuBS,WAAW,GAA8B;AAC9E,YAAQ,OAAO,KAAKQ,eAAe,KAAK;MAAER;IAAS,CAAA,KAAM,CAAA,IAAKS,OAAOlC,CAAAA,QAAOA,IAAIe,YAAY,KAAKA,OAAO;EAC1G;EAEA,MAAgBF,sBAAsBY,WAAW,GAA8B;AAC7E,YAAQ,OAAO,KAAKU,aAAaC,QAAQ,KAAK;MAAEC,WAAW;MAAQZ;IAAS,CAAA,KAAM,CAAA,IAAKS,OAAOlC,CAAAA,QAAOA,IAAIe,YAAY,KAAKA,OAAO;EACnI;EAEA,MAAyBuB,yBAAyBb,WAAW,IAAwB;AACnF,UAAMc,YAAY,MAAM,KAAK1B,sBAAsBY,QAAAA;AAEnD,UAAMe,oBAAoB,MAAMC,QAAQC,IACtCH,UAAUzB,IAAId,CAAAA,QAAO,IAAI2C,eAA+B;MAAElC,QAAQmC;IAAc,CAAA,EAAGC,OAAO;MAAE9B,SAASf,IAAIe;IAAQ,CAAA,EAAG+B,MAAK,CAAA,CAAA;AAG3H,WAAO;SAAK,MAAM,MAAMR,yBAAyBb,QAAAA;SAAee;;EAClE;EAEA,MAAyBb,gBAAgBF,WAAW,IAAIC,kBAA6B,CAAA,GAAoC;AACvH,UAAMqB,eAAe,KAAKC,iBAAiBC,IAAIxB,QAAAA;AAC/C,QAAIsB,cAAc;AAChB,aAAOA;IACT;AAEA,UAAMvB,WAAgC;MAAE,GAAI,MAAM,MAAMG,gBAAgBF,UAAUC,eAAAA;MAAmBjB,QAAQyC;IAA0B;AACvI,UAAMC,qBAAqB;SAAIzB;MAAiB,KAAKX;;AAErD,UAAMqC,gBAAgB,wBAACpD,QAAwBA,IAAIe,YAAY,KAAKA,WAAW,CAACW,gBAAgB2B,SAASrD,IAAIe,OAAO,GAA9F;AACtB,UAAMuC,aAAa,wBAACtD,QAAwBA,IAAIwB,SAASC,WAAW,GAAG0B,kBAAAA,GAApD;AAEnB,UAAMtB,iBAAiB,MAAM,KAAKA,eAAc;AAChD,UAAM0B,wBAAwB,MAAMd,QAAQC,IAAIb,eAAeK,OAAOkB,aAAAA,EAAetC,IAAIwC,UAAAA,CAAAA;AACzF,QAAIC,sBAAsBC,SAAS,GAAG;AACpChC,eAASiC,UAAUjC,SAASiC,WAAW,CAAC;AACxCjC,eAASiC,QAAQC,SAASH;IAC5B;AAEA,SAAKP,iBAAiBW,IAAIlC,UAAUD,QAAAA;AAEpC,WAAOA;EACT;EAEA,MAAyBoC,aACvBC,OACAC,UACAC,aACmC;AACnC,UAAMC,UAAU,MAAMC,yBAAyBC,WAAwBL,OAAOC,QAAAA;AAC9E,UAAMtD,eAAe,MAAMwD,QAAQG,SAAQ;AAC3CC,aAAS,MAAM,KAAKC,UAAUR,OAAOC,UAAUC,WAAAA,CAAAA;AAC/C,UAAMO,iBAA4B,CAAA;AAClC,YAAQ9D,aAAaC,QAAM;MACzB,KAAKd,uBAAuB;AAC1B,cAAMoB,UAAU,MAAM,KAAKV,cAAcG,aAAaN,IAAIM,aAAaL,QAAQ;AAC/E,YAAIY,SAAS;AACX,gBAAMwD,UAAU,MAAM,IAAI5B,eAA+B;YAAElC,QAAQmC;UAAc,CAAA,EAAGC,OAAO;YAAE9B;UAAQ,CAAA,EAAG+B,MAAK;AAC7GwB,yBAAeE,KAAKD,OAAAA;QACtB;AACA;MACF;MACA,KAAK3E,wBAAwB;AAC3B,cAAMiD,SAAS,MAAM,KAAK1B,eAAeX,aAAaN,EAAE;AACxD,YAAI2C,QAAQ;AACV,gBAAM0B,UAAU,MAAM,IAAI5B,eAAmC;YAAElC,QAAQgE;UAAyB,CAAA,EAAG5B,OAAOA,MAAAA,EAAQC,MAAK;AACvHwB,yBAAeE,KAAKD,OAAAA;QACtB;AACA;MACF;MACA,KAAK1E,uBAAuB;AAC1B,cAAMkB,UAAU,MAAM,KAAKO,cAAcd,aAAaN,EAAE;AACxD,YAAIa,SAAS;AACX,gBAAMwD,UAAU,MAAM,IAAI5B,eAA+B;YAAElC,QAAQmC;UAAc,CAAA,EAAGC,OAAO;YAAE9B;UAAQ,CAAA,EAAG+B,MAAK;AAC7GwB,yBAAeE,KAAKD,OAAAA;QACtB;AACA;MACF;MACA,KAAKzE,yBAAyB;AAC5B,cAAM4E,YAAY,MAAM,KAAK9D,gBAAe;AAC5C,mBAAWG,WAAW2D,WAAW;AAC/B,gBAAMH,UAAU,MAAM,IAAI5B,eAA+B;YAAElC,QAAQmC;UAAc,CAAA,EAAGC,OAAO;YAAE9B;UAAQ,CAAA,EAAG+B,MAAK;AAC7GwB,yBAAeE,KAAKD,OAAAA;QACtB;AACA;MACF;MACA,KAAKxE,2BAA2B;AAC9B,cAAM2E,YAAY,MAAM,KAAK3C,kBAAiB;AAC9C,mBAAWhB,WAAW2D,WAAW;AAC/B,gBAAMH,UAAU,MAAM,IAAI5B,eAA+B;YAAElC,QAAQmC;UAAc,CAAA,EAAGC,OAAO;YAAE9B;UAAQ,CAAA,EAAG+B,MAAK;AAC7GwB,yBAAeE,KAAKD,OAAAA;QACtB;AACA;MACF;MACA,SAAS;AACP,eAAO,MAAM,MAAMX,aAAaC,OAAOC,QAAAA;MACzC;IACF;AACA,WAAOQ;EACT;AASF;;;ACxPA,SAASK,sBAAoC;AAEtC,IAAMC,yBAAyB,8BAAOC,MAAoBC,WAAW,MAAC;AAC3E,QAAMC,iBAAiBD,WAAW;AAClC,QAAME,OAAyB,CAAA;AAC/B,QAAMC,iBAAiB,MAAMJ,KAAKK,gBAAe;AACjDF,OAAKG,KAAI,GAAIF,cAAAA;AAEb,MAAIF,iBAAiB,GAAG;AACtB,UAAMK,QAAQC,IACZJ,eAAeK,IAAI,OAAOC,QAAAA;AACxB,YAAMV,QAAOW,eAAeD,GAAAA;AAC5B,UAAIV,OAAM;AACR,cAAMY,WAAW,MAAMb,uBAAuBC,OAAME,cAAAA;AACpDC,aAAKG,KAAI,GAAIM,QAAAA;MACf;IACF,CAAA,CAAA;EAEJ;AACA,SAAOT;AACT,GAlBsC;;;ACFtC,SAASU,kBAAAA,uBAAoC;AAEtC,IAAMC,wBAAwB,8BAAOC,MAAoBC,WAAW,MAAC;AAC1E,QAAMC,iBAAiBD,WAAW;AAClC,QAAME,OAAyB,CAAA;AAC/B,QAAMC,iBAAiB,MAAMJ,KAAKI,eAAc;AAChDD,OAAKE,KAAI,GAAID,cAAAA;AAEb,MAAIF,iBAAiB,GAAG;AACtB,UAAMI,QAAQC,IACZH,eAAeI,IAAI,OAAOC,QAAAA;AACxB,YAAMT,QAAOU,gBAAeD,GAAAA;AAC5B,UAAIT,OAAM;AACR,cAAMW,WAAW,MAAMZ,sBAAsBC,OAAME,cAAAA;AACnDC,aAAKE,KAAI,GAAIM,QAAAA;MACf;IACF,CAAA,CAAA;EAEJ;AACA,SAAOR;AACT,GAlBqC;;;ACA9B,IAAMS,aAAa;EACxBC;EACAC;AACF;","names":["assertEx","globallyUnique","QueryBoundWitnessWrapper","NodeManifestPayloadSchema","AbstractModuleInstance","AddressSchema","ChildCertificationSchema","NodeAttachedQuerySchema","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeConfigSchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","PayloadBuilder","AbstractNode","AbstractModuleInstance","configSchemas","NodeConfigSchema","defaultConfigSchema","uniqueName","globallyUnique","isNode","queries","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeAttachedQuerySchema","NodeRegisteredQuerySchema","mod","attach","id","external","_noOverride","attachHandler","attachQuery","account","queryPayload","schema","sendQueryRaw","attached","attachedHandler","attachedPublicModules","map","address","attachedPrivateModules","attachedQuery","certify","certifyHandler","certifyQuery","detach","detachHandler","detachQuery","manifest","maxDepth","ignoreAddresses","manifestHandler","privateChildren","publicChildren","registered","registeredHandler","registeredQuery","resolvePrivate","filter","downResolver","resolve","direction","generateConfigAndAddress","childMods","childModAddresses","Promise","all","PayloadBuilder","AddressSchema","fields","build","cachedResult","_cachedManifests","get","NodeManifestPayloadSchema","newIgnoreAddresses","notThisModule","includes","toManifest","publicModuleManifests","length","modules","public","set","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","getQuery","assertEx","queryable","resultPayloads","payload","push","ChildCertificationSchema","addresses","asNodeInstance","attachedPrivateModules","node","maxDepth","remainingDepth","mods","publicChildren","privateChildren","push","Promise","all","map","mod","asNodeInstance","children","asNodeInstance","attachedPublicModules","node","maxDepth","remainingDepth","mods","publicChildren","push","Promise","all","map","mod","asNodeInstance","children","NodeHelper","attachedPrivateModules","attachedPublicModules"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/AbstractNode.ts","../../src/NodeHelper/attachedPrivateModules.ts","../../src/NodeHelper/attachedPublicModules.ts","../../src/NodeHelper/index.ts"],"sourcesContent":["export * from './AbstractNode.ts'\nexport * from './NodeHelper/index.ts'\n","import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { ModuleManifestPayload, NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport {\n AddressPayload,\n AddressSchema,\n Module,\n ModuleConfig,\n ModuleIdentifier,\n ModuleInstance,\n ModuleQueryHandlerResult,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport {\n AttachableNodeInstance,\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeConfigSchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeModuleEventData,\n NodeParams,\n NodeQueries,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { 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{\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 = { external, id, schema: NodeAttachQuerySchema }\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 = await Promise.all(\n childMods.map((mod) => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build()),\n )\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))\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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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":["AbstractNode","AbstractModuleInstance","isNode","queries","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeAttachedQuerySchema","NodeRegisteredQuerySchema","mod","attach","id","external","_noOverride","attachHandler","attachQuery","account","queryPayload","schema","sendQueryRaw","attached","attachedHandler","attachedPublicModules","map","address","attachedPrivateModules","attachedQuery","certify","certifyHandler","certifyQuery","detach","detachHandler","detachQuery","manifest","maxDepth","ignoreAddresses","manifestHandler","privateChildren","publicChildren","registered","registeredHandler","registeredQuery","resolvePrivate","filter","downResolver","resolve","direction","generateConfigAndAddress","childMods","childModAddresses","Promise","all","PayloadBuilder","AddressSchema","fields","build","cachedResult","_cachedManifests","get","NodeManifestPayloadSchema","newIgnoreAddresses","notThisModule","includes","toManifest","publicModuleManifests","length","modules","public","set","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","getQuery","assertEx","queryable","resultPayloads","payload","push","ChildCertificationSchema","addresses","configSchemas","NodeConfigSchema","defaultConfigSchema","uniqueName","globallyUnique","import_node_model","attachedPrivateModules","node","maxDepth","remainingDepth","mods","publicChildren","privateChildren","push","Promise","all","map","mod","asNodeInstance","children","import_node_model","attachedPublicModules","node","maxDepth","remainingDepth","mods","publicChildren","push","Promise","all","map","mod","asNodeInstance","children","NodeHelper","attachedPrivateModules","attachedPublicModules"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/AbstractNode.ts","../../src/NodeHelper/attachedPrivateModules.ts","../../src/NodeHelper/attachedPublicModules.ts","../../src/NodeHelper/index.ts"],"sourcesContent":["export * from './AbstractNode.ts'\nexport * from './NodeHelper/index.ts'\n","import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { ModuleManifestPayload, NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport {\n AddressPayload,\n AddressSchema,\n Module,\n ModuleConfig,\n ModuleIdentifier,\n ModuleInstance,\n ModuleQueryHandlerResult,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport {\n AttachableNodeInstance,\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeConfigSchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeModuleEventData,\n NodeParams,\n NodeQueries,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { 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 = { external, id, schema: NodeAttachQuerySchema }\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 = await Promise.all(\n childMods.map(mod => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build()),\n )\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))\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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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":["AbstractNode","AbstractModuleInstance","isNode","queries","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeAttachedQuerySchema","NodeRegisteredQuerySchema","mod","attach","id","external","_noOverride","attachHandler","attachQuery","account","queryPayload","schema","sendQueryRaw","attached","attachedHandler","attachedPublicModules","map","address","attachedPrivateModules","attachedQuery","certify","certifyHandler","certifyQuery","detach","detachHandler","detachQuery","manifest","maxDepth","ignoreAddresses","manifestHandler","privateChildren","publicChildren","registered","registeredHandler","registeredQuery","resolvePrivate","filter","downResolver","resolve","direction","generateConfigAndAddress","childMods","childModAddresses","Promise","all","PayloadBuilder","AddressSchema","fields","build","cachedResult","_cachedManifests","get","NodeManifestPayloadSchema","newIgnoreAddresses","notThisModule","includes","toManifest","publicModuleManifests","length","modules","public","set","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","getQuery","assertEx","queryable","resultPayloads","payload","push","ChildCertificationSchema","addresses","configSchemas","NodeConfigSchema","defaultConfigSchema","uniqueName","globallyUnique","import_node_model","attachedPrivateModules","node","maxDepth","remainingDepth","mods","publicChildren","privateChildren","push","Promise","all","map","mod","asNodeInstance","children","import_node_model","attachedPublicModules","node","maxDepth","remainingDepth","mods","publicChildren","push","Promise","all","map","mod","asNodeInstance","children","NodeHelper","attachedPrivateModules","attachedPublicModules"]}
@@ -277,4 +277,4 @@ export {
277
277
  AbstractNode,
278
278
  NodeHelper
279
279
  };
280
- //# sourceMappingURL=index.js.map
280
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +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 { Address } from '@xylabs/hex'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { ModuleManifestPayload, NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport {\n AddressPayload,\n AddressSchema,\n Module,\n ModuleConfig,\n ModuleIdentifier,\n ModuleInstance,\n ModuleQueryHandlerResult,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport {\n AttachableNodeInstance,\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeConfigSchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeModuleEventData,\n NodeParams,\n NodeQueries,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { 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 = { external, id, schema: NodeAttachQuerySchema }\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 = await Promise.all(\n childMods.map(mod => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build()),\n )\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))\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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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":["assertEx","globallyUnique","QueryBoundWitnessWrapper","NodeManifestPayloadSchema","AbstractModuleInstance","AddressSchema","ChildCertificationSchema","NodeAttachedQuerySchema","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeConfigSchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","PayloadBuilder","AbstractNode","AbstractModuleInstance","isNode","queries","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeAttachedQuerySchema","NodeRegisteredQuerySchema","mod","attach","id","external","_noOverride","attachHandler","attachQuery","account","queryPayload","schema","sendQueryRaw","attached","attachedHandler","attachedPublicModules","map","address","attachedPrivateModules","attachedQuery","certify","certifyHandler","certifyQuery","detach","detachHandler","detachQuery","manifest","maxDepth","ignoreAddresses","manifestHandler","privateChildren","publicChildren","registered","registeredHandler","registeredQuery","resolvePrivate","filter","downResolver","resolve","direction","generateConfigAndAddress","childMods","childModAddresses","Promise","all","PayloadBuilder","AddressSchema","fields","build","cachedResult","_cachedManifests","get","NodeManifestPayloadSchema","newIgnoreAddresses","notThisModule","includes","toManifest","publicModuleManifests","length","modules","public","set","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","getQuery","assertEx","queryable","resultPayloads","payload","push","ChildCertificationSchema","addresses","configSchemas","NodeConfigSchema","defaultConfigSchema","uniqueName","globallyUnique","asNodeInstance","attachedPrivateModules","node","maxDepth","remainingDepth","mods","publicChildren","privateChildren","push","Promise","all","map","mod","asNodeInstance","children","asNodeInstance","attachedPublicModules","node","maxDepth","remainingDepth","mods","publicChildren","push","Promise","all","map","mod","asNodeInstance","children","NodeHelper","attachedPrivateModules","attachedPublicModules"]}
package/package.json CHANGED
@@ -10,23 +10,23 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/assert": "^3.6.6",
14
- "@xylabs/hex": "^3.6.6",
15
- "@xylabs/object": "^3.6.6",
16
- "@xylabs/promise": "^3.6.6",
17
- "@xyo-network/account-model": "^2.110.19",
18
- "@xyo-network/boundwitness-model": "^2.110.19",
19
- "@xyo-network/boundwitness-wrapper": "^2.110.19",
20
- "@xyo-network/manifest-model": "^2.110.19",
21
- "@xyo-network/module-abstract": "^2.110.19",
22
- "@xyo-network/module-model": "^2.110.19",
23
- "@xyo-network/node-model": "^2.110.19",
24
- "@xyo-network/payload-builder": "^2.110.19",
25
- "@xyo-network/payload-model": "^2.110.19"
13
+ "@xylabs/assert": "^3.6.8",
14
+ "@xylabs/hex": "^3.6.8",
15
+ "@xylabs/object": "^3.6.8",
16
+ "@xylabs/promise": "^3.6.8",
17
+ "@xyo-network/account-model": "^2.111.0",
18
+ "@xyo-network/boundwitness-model": "^2.111.0",
19
+ "@xyo-network/boundwitness-wrapper": "^2.111.0",
20
+ "@xyo-network/manifest-model": "^2.111.0",
21
+ "@xyo-network/module-abstract": "^2.111.0",
22
+ "@xyo-network/module-model": "^2.111.0",
23
+ "@xyo-network/node-model": "^2.111.0",
24
+ "@xyo-network/payload-builder": "^2.111.0",
25
+ "@xyo-network/payload-model": "^2.111.0"
26
26
  },
27
27
  "devDependencies": {
28
- "@xylabs/ts-scripts-yarn3": "^3.14.1",
29
- "@xylabs/tsconfig": "^3.14.1",
28
+ "@xylabs/ts-scripts-yarn3": "^3.15.5",
29
+ "@xylabs/tsconfig": "^3.15.5",
30
30
  "typescript": "^5.5.4"
31
31
  },
32
32
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "import": {
42
42
  "types": "./dist/browser/index.d.mts",
43
- "default": "./dist/browser/index.js"
43
+ "default": "./dist/browser/index.mjs"
44
44
  }
45
45
  },
46
46
  "node": {
@@ -50,14 +50,14 @@
50
50
  },
51
51
  "import": {
52
52
  "types": "./dist/node/index.d.mts",
53
- "default": "./dist/node/index.js"
53
+ "default": "./dist/node/index.mjs"
54
54
  }
55
55
  }
56
56
  },
57
57
  "./package.json": "./package.json"
58
58
  },
59
59
  "main": "dist/node/index.cjs",
60
- "module": "dist/node/index.js",
60
+ "module": "dist/node/index.mjs",
61
61
  "homepage": "https://xyo.network",
62
62
  "license": "LGPL-3.0-only",
63
63
  "publishConfig": {
@@ -68,6 +68,6 @@
68
68
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
69
69
  },
70
70
  "sideEffects": false,
71
- "version": "2.110.19",
71
+ "version": "2.111.0",
72
72
  "type": "module"
73
73
  }
@@ -49,8 +49,7 @@ export abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEve
49
49
  Module<TParams, TEventData>,
50
50
  NodeInstance<TParams, TEventData>,
51
51
  ModuleInstance<TParams, TEventData>,
52
- NodeModule<TParams, TEventData>
53
- {
52
+ NodeModule<TParams, TEventData> {
54
53
  static override readonly configSchemas: Schema[] = [...super.configSchemas, NodeConfigSchema]
55
54
  static override readonly defaultConfigSchema: Schema = NodeConfigSchema
56
55
  static override readonly uniqueName = globallyUnique('AbstractNode', AbstractNode, 'xyo')
@@ -89,7 +88,7 @@ export abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEve
89
88
  }
90
89
 
91
90
  async attachedHandler(): Promise<Address[]> {
92
- return [...(await this.attachedPublicModules()).map((mod) => mod.address), ...(await this.attachedPrivateModules()).map((mod) => mod.address)]
91
+ return [...(await this.attachedPublicModules()).map(mod => mod.address), ...(await this.attachedPrivateModules()).map(mod => mod.address)]
93
92
  }
94
93
 
95
94
  async attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {
@@ -143,18 +142,18 @@ export abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEve
143
142
  }
144
143
 
145
144
  protected async attachedPrivateModules(maxDepth = 1): Promise<ModuleInstance[]> {
146
- return (await (this.resolvePrivate('*', { maxDepth }) ?? [])).filter((mod) => mod.address !== this.address)
145
+ return (await (this.resolvePrivate('*', { maxDepth }) ?? [])).filter(mod => mod.address !== this.address)
147
146
  }
148
147
 
149
148
  protected async attachedPublicModules(maxDepth = 1): Promise<ModuleInstance[]> {
150
- return (await (this.downResolver.resolve('*', { direction: 'down', maxDepth }) ?? [])).filter((mod) => mod.address !== this.address)
149
+ return (await (this.downResolver.resolve('*', { direction: 'down', maxDepth }) ?? [])).filter(mod => mod.address !== this.address)
151
150
  }
152
151
 
153
152
  protected override async generateConfigAndAddress(maxDepth = 10): Promise<Payload[]> {
154
153
  const childMods = await this.attachedPublicModules(maxDepth)
155
- //console.log(`childMods: ${toJsonString(childMods)}`)
154
+ // console.log(`childMods: ${toJsonString(childMods)}`)
156
155
  const childModAddresses = await Promise.all(
157
- childMods.map((mod) => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build()),
156
+ childMods.map(mod => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build()),
158
157
  )
159
158
 
160
159
  return [...(await super.generateConfigAndAddress(maxDepth)), ...childModAddresses]
@@ -1 +0,0 @@
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 { Address } from '@xylabs/hex'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { ModuleManifestPayload, NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport {\n AddressPayload,\n AddressSchema,\n Module,\n ModuleConfig,\n ModuleIdentifier,\n ModuleInstance,\n ModuleQueryHandlerResult,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport {\n AttachableNodeInstance,\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeConfigSchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeModuleEventData,\n NodeParams,\n NodeQueries,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { 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{\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 = { external, id, schema: NodeAttachQuerySchema }\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 = await Promise.all(\n childMods.map((mod) => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build()),\n )\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))\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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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":["assertEx","globallyUnique","QueryBoundWitnessWrapper","NodeManifestPayloadSchema","AbstractModuleInstance","AddressSchema","ChildCertificationSchema","NodeAttachedQuerySchema","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeConfigSchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","PayloadBuilder","AbstractNode","AbstractModuleInstance","configSchemas","NodeConfigSchema","defaultConfigSchema","uniqueName","globallyUnique","isNode","queries","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeAttachedQuerySchema","NodeRegisteredQuerySchema","mod","attach","id","external","_noOverride","attachHandler","attachQuery","account","queryPayload","schema","sendQueryRaw","attached","attachedHandler","attachedPublicModules","map","address","attachedPrivateModules","attachedQuery","certify","certifyHandler","certifyQuery","detach","detachHandler","detachQuery","manifest","maxDepth","ignoreAddresses","manifestHandler","privateChildren","publicChildren","registered","registeredHandler","registeredQuery","resolvePrivate","filter","downResolver","resolve","direction","generateConfigAndAddress","childMods","childModAddresses","Promise","all","PayloadBuilder","AddressSchema","fields","build","cachedResult","_cachedManifests","get","NodeManifestPayloadSchema","newIgnoreAddresses","notThisModule","includes","toManifest","publicModuleManifests","length","modules","public","set","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","getQuery","assertEx","queryable","resultPayloads","payload","push","ChildCertificationSchema","addresses","asNodeInstance","attachedPrivateModules","node","maxDepth","remainingDepth","mods","publicChildren","privateChildren","push","Promise","all","map","mod","asNodeInstance","children","asNodeInstance","attachedPublicModules","node","maxDepth","remainingDepth","mods","publicChildren","push","Promise","all","map","mod","asNodeInstance","children","NodeHelper","attachedPrivateModules","attachedPublicModules"]}
@@ -1 +0,0 @@
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 { Address } from '@xylabs/hex'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { ModuleManifestPayload, NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport {\n AddressPayload,\n AddressSchema,\n Module,\n ModuleConfig,\n ModuleIdentifier,\n ModuleInstance,\n ModuleQueryHandlerResult,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport {\n AttachableNodeInstance,\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeConfigSchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeModuleEventData,\n NodeParams,\n NodeQueries,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { 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{\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 = { external, id, schema: NodeAttachQuerySchema }\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 = await Promise.all(\n childMods.map((mod) => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build()),\n )\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))\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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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":["assertEx","globallyUnique","QueryBoundWitnessWrapper","NodeManifestPayloadSchema","AbstractModuleInstance","AddressSchema","ChildCertificationSchema","NodeAttachedQuerySchema","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeConfigSchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","PayloadBuilder","AbstractNode","AbstractModuleInstance","configSchemas","NodeConfigSchema","defaultConfigSchema","uniqueName","globallyUnique","isNode","queries","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeAttachedQuerySchema","NodeRegisteredQuerySchema","mod","attach","id","external","_noOverride","attachHandler","attachQuery","account","queryPayload","schema","sendQueryRaw","attached","attachedHandler","attachedPublicModules","map","address","attachedPrivateModules","attachedQuery","certify","certifyHandler","certifyQuery","detach","detachHandler","detachQuery","manifest","maxDepth","ignoreAddresses","manifestHandler","privateChildren","publicChildren","registered","registeredHandler","registeredQuery","resolvePrivate","filter","downResolver","resolve","direction","generateConfigAndAddress","childMods","childModAddresses","Promise","all","PayloadBuilder","AddressSchema","fields","build","cachedResult","_cachedManifests","get","NodeManifestPayloadSchema","newIgnoreAddresses","notThisModule","includes","toManifest","publicModuleManifests","length","modules","public","set","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","getQuery","assertEx","queryable","resultPayloads","payload","push","ChildCertificationSchema","addresses","asNodeInstance","attachedPrivateModules","node","maxDepth","remainingDepth","mods","publicChildren","privateChildren","push","Promise","all","map","mod","asNodeInstance","children","asNodeInstance","attachedPublicModules","node","maxDepth","remainingDepth","mods","publicChildren","push","Promise","all","map","mod","asNodeInstance","children","NodeHelper","attachedPrivateModules","attachedPublicModules"]}
@@ -1 +0,0 @@
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 { Address } from '@xylabs/hex'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { ModuleManifestPayload, NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport {\n AddressPayload,\n AddressSchema,\n Module,\n ModuleConfig,\n ModuleIdentifier,\n ModuleInstance,\n ModuleQueryHandlerResult,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport {\n AttachableNodeInstance,\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeConfigSchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeModuleEventData,\n NodeParams,\n NodeQueries,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { 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{\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 = { external, id, schema: NodeAttachQuerySchema }\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 = await Promise.all(\n childMods.map((mod) => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build()),\n )\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))\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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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 { ModuleInstance } from '@xyo-network/module-model'\nimport { asNodeInstance, NodeInstance } 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":["assertEx","globallyUnique","QueryBoundWitnessWrapper","NodeManifestPayloadSchema","AbstractModuleInstance","AddressSchema","ChildCertificationSchema","NodeAttachedQuerySchema","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeConfigSchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","PayloadBuilder","AbstractNode","AbstractModuleInstance","isNode","queries","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeAttachedQuerySchema","NodeRegisteredQuerySchema","mod","attach","id","external","_noOverride","attachHandler","attachQuery","account","queryPayload","schema","sendQueryRaw","attached","attachedHandler","attachedPublicModules","map","address","attachedPrivateModules","attachedQuery","certify","certifyHandler","certifyQuery","detach","detachHandler","detachQuery","manifest","maxDepth","ignoreAddresses","manifestHandler","privateChildren","publicChildren","registered","registeredHandler","registeredQuery","resolvePrivate","filter","downResolver","resolve","direction","generateConfigAndAddress","childMods","childModAddresses","Promise","all","PayloadBuilder","AddressSchema","fields","build","cachedResult","_cachedManifests","get","NodeManifestPayloadSchema","newIgnoreAddresses","notThisModule","includes","toManifest","publicModuleManifests","length","modules","public","set","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","getQuery","assertEx","queryable","resultPayloads","payload","push","ChildCertificationSchema","addresses","configSchemas","NodeConfigSchema","defaultConfigSchema","uniqueName","globallyUnique","asNodeInstance","attachedPrivateModules","node","maxDepth","remainingDepth","mods","publicChildren","privateChildren","push","Promise","all","map","mod","asNodeInstance","children","asNodeInstance","attachedPublicModules","node","maxDepth","remainingDepth","mods","publicChildren","push","Promise","all","map","mod","asNodeInstance","children","NodeHelper","attachedPrivateModules","attachedPublicModules"]}