@xyo-network/manifest 2.84.2 → 2.84.3

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,8 +1,9 @@
1
1
  import { ModuleManifest, NodeManifest, PackageManifestPayload } from '@xyo-network/manifest-model';
2
- import { CreatableModuleDictionary, CreatableModuleRegistry, ModuleFactoryLocator, ModuleInstance } from '@xyo-network/module-model';
2
+ import { CreatableModuleDictionary, CreatableModuleRegistry, ModuleFactoryLocator } from '@xyo-network/module-model';
3
3
  import { MemoryNode } from '@xyo-network/node-memory';
4
4
  import { PayloadWrapper } from '@xyo-network/payload-wrapper';
5
5
  import { WalletInstance } from '@xyo-network/wallet-model';
6
+ /** Provides functionality that can be performed on a PackageManifest */
6
7
  export declare class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {
7
8
  protected readonly wallet: WalletInstance;
8
9
  protected readonly locator: ModuleFactoryLocator;
@@ -15,10 +16,21 @@ export declare class ManifestWrapper extends PayloadWrapper<PackageManifestPaylo
15
16
  loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>;
16
17
  loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>;
17
18
  loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>;
18
- loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>;
19
- loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>;
19
+ /**
20
+ * Load the nodes that are defined in the wrapped manifest and optionally attach them to a node
21
+ */
22
+ loadNodes(
23
+ /** Node to optionally attach the loaded nodes to */
24
+ node?: MemoryNode,
25
+ /** Additional creatable modules */
26
+ additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>;
27
+ loadNodes(
28
+ /** Node to optionally attach the loaded nodes to */
29
+ node?: MemoryNode,
30
+ /** Additional creatable modules */
31
+ additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>;
20
32
  nodeManifest(index: number): NodeManifest;
21
- registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>;
22
- registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>;
33
+ /** Register a module on a node based on a manifest */
34
+ private registerModule;
23
35
  }
24
36
  //# sourceMappingURL=ManifestWrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManifestWrapper.d.ts","sourceRoot":"","sources":["../../src/ManifestWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,qBAAa,eAAgB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IAChD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,EAAE;IAC3D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,EAAE;gBAJ5D,OAAO,EAAE,sBAAsB,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,oBAAmD,EAC5D,cAAc,GAAE,sBAAsB,EAAO,EAC7C,eAAe,GAAE,sBAAsB,EAAO;IAK7D,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9I,UAAU,CACd,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,OAAO,EACjB,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,IAAI,CAAC;IA4BV,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAC3G,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IAO7G,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IACrI,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6CvI,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IACzG,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAajH,YAAY,CAAC,KAAK,EAAE,MAAM;IAIpB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC;IAC/H,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC;CAqBxI"}
1
+ {"version":3,"file":"ManifestWrapper.d.ts","sourceRoot":"","sources":["../../src/ManifestWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EAGrB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,wEAAwE;AACxE,qBAAa,eAAgB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IAChD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,EAAE;IAC3D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,EAAE;gBAJ5D,OAAO,EAAE,sBAAsB,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,oBAAmD,EAC5D,cAAc,GAAE,sBAAsB,EAAO,EAC7C,eAAe,GAAE,sBAAsB,EAAO;IAK7D,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9I,UAAU,CACd,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,OAAO,EACjB,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,IAAI,CAAC;IA4BV,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAC3G,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IAO7G,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IACrI,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6C7I;;OAEG;IACG,SAAS;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,UAAU;IACjB,mCAAmC;IACnC,0BAA0B,CAAC,EAAE,uBAAuB,GACnD,OAAO,CAAC,UAAU,EAAE,CAAC;IAClB,SAAS;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,UAAU;IACjB,mCAAmC;IACnC,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,UAAU,EAAE,CAAC;IAaxB,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B,sDAAsD;YACxC,cAAc;CAsB7B"}
@@ -1,8 +1,9 @@
1
1
  import { ModuleManifest, NodeManifest, PackageManifestPayload } from '@xyo-network/manifest-model';
2
- import { CreatableModuleDictionary, CreatableModuleRegistry, ModuleFactoryLocator, ModuleInstance } from '@xyo-network/module-model';
2
+ import { CreatableModuleDictionary, CreatableModuleRegistry, ModuleFactoryLocator } from '@xyo-network/module-model';
3
3
  import { MemoryNode } from '@xyo-network/node-memory';
4
4
  import { PayloadWrapper } from '@xyo-network/payload-wrapper';
5
5
  import { WalletInstance } from '@xyo-network/wallet-model';
6
+ /** Provides functionality that can be performed on a PackageManifest */
6
7
  export declare class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {
7
8
  protected readonly wallet: WalletInstance;
8
9
  protected readonly locator: ModuleFactoryLocator;
@@ -15,10 +16,21 @@ export declare class ManifestWrapper extends PayloadWrapper<PackageManifestPaylo
15
16
  loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>;
16
17
  loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>;
17
18
  loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>;
18
- loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>;
19
- loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>;
19
+ /**
20
+ * Load the nodes that are defined in the wrapped manifest and optionally attach them to a node
21
+ */
22
+ loadNodes(
23
+ /** Node to optionally attach the loaded nodes to */
24
+ node?: MemoryNode,
25
+ /** Additional creatable modules */
26
+ additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>;
27
+ loadNodes(
28
+ /** Node to optionally attach the loaded nodes to */
29
+ node?: MemoryNode,
30
+ /** Additional creatable modules */
31
+ additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>;
20
32
  nodeManifest(index: number): NodeManifest;
21
- registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>;
22
- registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>;
33
+ /** Register a module on a node based on a manifest */
34
+ private registerModule;
23
35
  }
24
36
  //# sourceMappingURL=ManifestWrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManifestWrapper.d.ts","sourceRoot":"","sources":["../../src/ManifestWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,qBAAa,eAAgB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IAChD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,EAAE;IAC3D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,EAAE;gBAJ5D,OAAO,EAAE,sBAAsB,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,oBAAmD,EAC5D,cAAc,GAAE,sBAAsB,EAAO,EAC7C,eAAe,GAAE,sBAAsB,EAAO;IAK7D,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9I,UAAU,CACd,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,OAAO,EACjB,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,IAAI,CAAC;IA4BV,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAC3G,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IAO7G,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IACrI,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6CvI,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IACzG,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAajH,YAAY,CAAC,KAAK,EAAE,MAAM;IAIpB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC;IAC/H,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC;CAqBxI"}
1
+ {"version":3,"file":"ManifestWrapper.d.ts","sourceRoot":"","sources":["../../src/ManifestWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EAGrB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,wEAAwE;AACxE,qBAAa,eAAgB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IAChD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,EAAE;IAC3D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,EAAE;gBAJ5D,OAAO,EAAE,sBAAsB,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,oBAAmD,EAC5D,cAAc,GAAE,sBAAsB,EAAO,EAC7C,eAAe,GAAE,sBAAsB,EAAO;IAK7D,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9I,UAAU,CACd,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,OAAO,EACjB,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,IAAI,CAAC;IA4BV,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAC3G,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IAO7G,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IACrI,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6C7I;;OAEG;IACG,SAAS;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,UAAU;IACjB,mCAAmC;IACnC,0BAA0B,CAAC,EAAE,uBAAuB,GACnD,OAAO,CAAC,UAAU,EAAE,CAAC;IAClB,SAAS;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,UAAU;IACjB,mCAAmC;IACnC,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,UAAU,EAAE,CAAC;IAaxB,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B,sDAAsD;YACxC,cAAc;CAsB7B"}
@@ -1,8 +1,9 @@
1
1
  import { ModuleManifest, NodeManifest, PackageManifestPayload } from '@xyo-network/manifest-model';
2
- import { CreatableModuleDictionary, CreatableModuleRegistry, ModuleFactoryLocator, ModuleInstance } from '@xyo-network/module-model';
2
+ import { CreatableModuleDictionary, CreatableModuleRegistry, ModuleFactoryLocator } from '@xyo-network/module-model';
3
3
  import { MemoryNode } from '@xyo-network/node-memory';
4
4
  import { PayloadWrapper } from '@xyo-network/payload-wrapper';
5
5
  import { WalletInstance } from '@xyo-network/wallet-model';
6
+ /** Provides functionality that can be performed on a PackageManifest */
6
7
  export declare class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {
7
8
  protected readonly wallet: WalletInstance;
8
9
  protected readonly locator: ModuleFactoryLocator;
@@ -15,10 +16,21 @@ export declare class ManifestWrapper extends PayloadWrapper<PackageManifestPaylo
15
16
  loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>;
16
17
  loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>;
17
18
  loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>;
18
- loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>;
19
- loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>;
19
+ /**
20
+ * Load the nodes that are defined in the wrapped manifest and optionally attach them to a node
21
+ */
22
+ loadNodes(
23
+ /** Node to optionally attach the loaded nodes to */
24
+ node?: MemoryNode,
25
+ /** Additional creatable modules */
26
+ additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>;
27
+ loadNodes(
28
+ /** Node to optionally attach the loaded nodes to */
29
+ node?: MemoryNode,
30
+ /** Additional creatable modules */
31
+ additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>;
20
32
  nodeManifest(index: number): NodeManifest;
21
- registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>;
22
- registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>;
33
+ /** Register a module on a node based on a manifest */
34
+ private registerModule;
23
35
  }
24
36
  //# sourceMappingURL=ManifestWrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManifestWrapper.d.ts","sourceRoot":"","sources":["../../src/ManifestWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,qBAAa,eAAgB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IAChD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,EAAE;IAC3D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,EAAE;gBAJ5D,OAAO,EAAE,sBAAsB,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,oBAAmD,EAC5D,cAAc,GAAE,sBAAsB,EAAO,EAC7C,eAAe,GAAE,sBAAsB,EAAO;IAK7D,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9I,UAAU,CACd,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,OAAO,EACjB,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,IAAI,CAAC;IA4BV,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAC3G,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IAO7G,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IACrI,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6CvI,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IACzG,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAajH,YAAY,CAAC,KAAK,EAAE,MAAM;IAIpB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC;IAC/H,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC;CAqBxI"}
1
+ {"version":3,"file":"ManifestWrapper.d.ts","sourceRoot":"","sources":["../../src/ManifestWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EAGrB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,wEAAwE;AACxE,qBAAa,eAAgB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IAChD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,EAAE;IAC3D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,EAAE;gBAJ5D,OAAO,EAAE,sBAAsB,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,oBAAmD,EAC5D,cAAc,GAAE,sBAAsB,EAAO,EAC7C,eAAe,GAAE,sBAAsB,EAAO;IAK7D,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9I,UAAU,CACd,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,OAAO,EACjB,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,IAAI,CAAC;IA4BV,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAC3G,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IAO7G,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IACrI,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6C7I;;OAEG;IACG,SAAS;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,UAAU;IACjB,mCAAmC;IACnC,0BAA0B,CAAC,EAAE,uBAAuB,GACnD,OAAO,CAAC,UAAU,EAAE,CAAC;IAClB,SAAS;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,UAAU;IACjB,mCAAmC;IACnC,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,UAAU,EAAE,CAAC;IAaxB,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B,sDAAsD;YACxC,cAAc;CAsB7B"}
@@ -123,7 +123,7 @@ var ManifestWrapper = class _ManifestWrapper extends import_payload_wrapper.Payl
123
123
  return result;
124
124
  }
125
125
  nodeManifest(index) {
126
- return this.payload().nodes?.[index];
126
+ return this.jsonPayload().nodes?.[index];
127
127
  }
128
128
  async registerModule(node, manifest, creatableModules) {
129
129
  const registry = (0, import_module_model2.toCreatableModuleRegistry)(creatableModules ?? {});
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/ManifestWrapper.ts","../../src/standardCreatableModules.ts"],"sourcesContent":["export * from './ManifestWrapper'\nexport * from './standardCreatableModules'\nexport * from '@xyo-network/manifest-model'\n","import { assertEx } from '@xylabs/assert'\nimport { Account } from '@xyo-network/account'\nimport { ModuleManifest, NodeManifest, PackageManifestPayload } from '@xyo-network/manifest-model'\nimport {\n assignCreatableModuleRegistry,\n CreatableModuleDictionary,\n CreatableModuleRegistry,\n ModuleFactoryLocator,\n ModuleInstance,\n toCreatableModuleRegistry,\n} from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\nimport { WalletInstance } from '@xyo-network/wallet-model'\n\nimport { standardCreatableModules } from './standardCreatableModules'\n\nexport class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {\n constructor(\n payload: PackageManifestPayload,\n protected readonly wallet: WalletInstance,\n protected readonly locator: ModuleFactoryLocator = new ModuleFactoryLocator({}),\n protected readonly publicChildren: PackageManifestPayload[] = [],\n protected readonly privateChildren: PackageManifestPayload[] = [],\n ) {\n super(payload)\n }\n\n async loadModule(node: MemoryNode, manifest: ModuleManifest, external: boolean, additionalCreatableModules?: CreatableModuleRegistry): Promise<void>\n async loadModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n external: boolean,\n additionalCreatableModules?: CreatableModuleDictionary,\n ): Promise<void>\n async loadModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n external = true,\n additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<void> {\n const collision = async (node: NodeInstance, name: string, external: boolean) => {\n const externalConflict = external ? (await node.resolve({ name: [name] }, { direction: external ? 'all' : 'down' })).length !== 0 : false\n return externalConflict || (await node.resolve({ name: [name] }, { direction: 'down' })).length !== 0\n }\n\n const creatableModules = assignCreatableModuleRegistry(\n {},\n toCreatableModuleRegistry(standardCreatableModules),\n toCreatableModuleRegistry(additionalCreatableModules ?? {}),\n )\n if (!(await collision(node, manifest.config.name, external))) {\n if (manifest.config.language && manifest.config.language === 'javascript') {\n assertEx(\n (manifest.config.name && (await node.attach(manifest.config.name, external))) ??\n (await node.attach((await this.registerModule(node, manifest, creatableModules)).address, external)),\n `No module with config schema [${manifest.config.name}] registered`,\n )\n }\n }\n }\n\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode> {\n const manifest = assertEx(this.nodeManifest(index), 'Failed to find Node Manifest')\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n return await this.loadNodeFromManifest(manifest, manifest.config.accountPath ?? `${index}'`, registry)\n }\n\n async loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>\n async loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>\n async loadNodeFromManifest(\n manifest: NodeManifest,\n path?: string,\n additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<MemoryNode> {\n const wallet = path ? await this.wallet.derivePath(path) : undefined\n const account = path ? undefined : Account.randomSync()\n const node = await MemoryNode.create({ account, config: manifest.config, wallet })\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n // Load Private Modules\n const privateModules =\n manifest.modules?.private?.map(async (moduleManifest) => {\n await this.loadModule(node, moduleManifest, false, registry)\n }) ?? []\n // Load Public Modules\n const publicModules =\n manifest.modules?.public?.map(async (moduleManifest) => {\n await this.loadModule(node, moduleManifest, true, registry)\n }) ?? []\n await Promise.all([...privateModules, ...publicModules])\n\n await Promise.all(\n this.privateChildren.map(async (child) => {\n const wrapper = new ManifestWrapper(child, this.wallet, this.locator)\n const subNodes = await wrapper.loadNodes(node)\n subNodes.forEach((subNode) => {\n node.attach(subNode.address, false)\n })\n }),\n )\n\n await Promise.all(\n this.publicChildren.map(async (child) => {\n const wrapper = new ManifestWrapper(child, this.wallet, this.locator)\n const subNodes = await wrapper.loadNodes(node)\n subNodes.forEach((subNode) => {\n node.attach(subNode.address, true)\n })\n }),\n )\n\n return node\n }\n\n async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>\n async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>\n async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode[]> {\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n const result = await Promise.all(\n this.jsonPayload().nodes?.map(async (nodeManifest, index) => {\n const subNode = await this.loadNodeFromManifest(nodeManifest, nodeManifest.config.accountPath ?? `${index}'`, registry)\n await node?.register(subNode)\n return subNode\n }),\n )\n return result\n }\n\n nodeManifest(index: number) {\n return this.payload().nodes?.[index]\n }\n\n async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>\n async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>\n async registerModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n creatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<ModuleInstance> {\n const registry = toCreatableModuleRegistry(creatableModules ?? {})\n const creatableModule = new ModuleFactoryLocator(this.locator.registry)\n .registerMany(registry)\n .locate(manifest.config.schema, manifest.config.labels)\n const path = manifest.config.accountPath\n const wallet = path ? await this.wallet.derivePath(path) : undefined\n const account = path ? undefined : Account.randomSync()\n const module = await creatableModule.create({\n account,\n config: assertEx(manifest.config, 'Missing config'),\n wallet,\n })\n await node.register(module)\n return module\n }\n}\n","import { HttpBridge } from '@xyo-network/http-bridge'\nimport { MemoryArchivist } from '@xyo-network/memory-archivist'\nimport { CreatableModuleDictionary, ModuleFactory } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { MemorySentinel } from '@xyo-network/sentinel'\n\nexport const standardCreatableModules: CreatableModuleDictionary = {\n 'network.xyo.archivist.config': MemoryArchivist,\n 'network.xyo.bridge.http.config': ModuleFactory.withParams(HttpBridge, { config: { schema: HttpBridge.configSchema } }),\n 'network.xyo.node.config': MemoryNode,\n 'network.xyo.sentinel.config': MemorySentinel,\n}\n"],"mappings":"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","names":["import_module_model","import_node_memory","node","external","module"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/ManifestWrapper.ts","../../src/standardCreatableModules.ts"],"sourcesContent":["export * from './ManifestWrapper'\nexport * from './standardCreatableModules'\nexport * from '@xyo-network/manifest-model'\n","import { assertEx } from '@xylabs/assert'\nimport { Account } from '@xyo-network/account'\nimport { ModuleManifest, NodeManifest, PackageManifestPayload } from '@xyo-network/manifest-model'\nimport {\n assignCreatableModuleRegistry,\n CreatableModuleDictionary,\n CreatableModuleRegistry,\n ModuleFactoryLocator,\n ModuleInstance,\n toCreatableModuleRegistry,\n} from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\nimport { WalletInstance } from '@xyo-network/wallet-model'\n\nimport { standardCreatableModules } from './standardCreatableModules'\n\n/** Provides functionality that can be performed on a PackageManifest */\nexport class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {\n constructor(\n payload: PackageManifestPayload,\n protected readonly wallet: WalletInstance,\n protected readonly locator: ModuleFactoryLocator = new ModuleFactoryLocator({}),\n protected readonly publicChildren: PackageManifestPayload[] = [],\n protected readonly privateChildren: PackageManifestPayload[] = [],\n ) {\n super(payload)\n }\n\n async loadModule(node: MemoryNode, manifest: ModuleManifest, external: boolean, additionalCreatableModules?: CreatableModuleRegistry): Promise<void>\n async loadModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n external: boolean,\n additionalCreatableModules?: CreatableModuleDictionary,\n ): Promise<void>\n async loadModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n external = true,\n additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<void> {\n const collision = async (node: NodeInstance, name: string, external: boolean) => {\n const externalConflict = external ? (await node.resolve({ name: [name] }, { direction: external ? 'all' : 'down' })).length !== 0 : false\n return externalConflict || (await node.resolve({ name: [name] }, { direction: 'down' })).length !== 0\n }\n\n const creatableModules = assignCreatableModuleRegistry(\n {},\n toCreatableModuleRegistry(standardCreatableModules),\n toCreatableModuleRegistry(additionalCreatableModules ?? {}),\n )\n if (!(await collision(node, manifest.config.name, external))) {\n if (manifest.config.language && manifest.config.language === 'javascript') {\n assertEx(\n (manifest.config.name && (await node.attach(manifest.config.name, external))) ??\n (await node.attach((await this.registerModule(node, manifest, creatableModules)).address, external)),\n `No module with config schema [${manifest.config.name}] registered`,\n )\n }\n }\n }\n\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode> {\n const manifest = assertEx(this.nodeManifest(index), 'Failed to find Node Manifest')\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n return await this.loadNodeFromManifest(manifest, manifest.config.accountPath ?? `${index}'`, registry)\n }\n\n async loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>\n async loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>\n async loadNodeFromManifest(\n manifest: NodeManifest,\n path?: string,\n additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<MemoryNode> {\n const wallet = path ? await this.wallet.derivePath(path) : undefined\n const account = path ? undefined : Account.randomSync()\n const node = await MemoryNode.create({ account, config: manifest.config, wallet })\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n // Load Private Modules\n const privateModules =\n manifest.modules?.private?.map(async (moduleManifest) => {\n await this.loadModule(node, moduleManifest, false, registry)\n }) ?? []\n // Load Public Modules\n const publicModules =\n manifest.modules?.public?.map(async (moduleManifest) => {\n await this.loadModule(node, moduleManifest, true, registry)\n }) ?? []\n await Promise.all([...privateModules, ...publicModules])\n\n await Promise.all(\n this.privateChildren.map(async (child) => {\n const wrapper = new ManifestWrapper(child, this.wallet, this.locator)\n const subNodes = await wrapper.loadNodes(node)\n subNodes.forEach((subNode) => {\n node.attach(subNode.address, false)\n })\n }),\n )\n\n await Promise.all(\n this.publicChildren.map(async (child) => {\n const wrapper = new ManifestWrapper(child, this.wallet, this.locator)\n const subNodes = await wrapper.loadNodes(node)\n subNodes.forEach((subNode) => {\n node.attach(subNode.address, true)\n })\n }),\n )\n\n return node\n }\n\n /**\n * Load the nodes that are defined in the wrapped manifest and optionally attach them to a node\n */\n async loadNodes(\n /** Node to optionally attach the loaded nodes to */\n node?: MemoryNode,\n /** Additional creatable modules */\n additionalCreatableModules?: CreatableModuleRegistry,\n ): Promise<MemoryNode[]>\n async loadNodes(\n /** Node to optionally attach the loaded nodes to */\n node?: MemoryNode,\n /** Additional creatable modules */\n additionalCreatableModules?: CreatableModuleDictionary,\n ): Promise<MemoryNode[]>\n async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode[]> {\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n const result = await Promise.all(\n this.jsonPayload().nodes?.map(async (nodeManifest, index) => {\n const subNode = await this.loadNodeFromManifest(nodeManifest, nodeManifest.config.accountPath ?? `${index}'`, registry)\n await node?.register(subNode)\n return subNode\n }),\n )\n return result\n }\n\n nodeManifest(index: number) {\n return this.jsonPayload().nodes?.[index]\n }\n\n /** Register a module on a node based on a manifest */\n private async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>\n private async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>\n private async registerModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n creatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<ModuleInstance> {\n const registry = toCreatableModuleRegistry(creatableModules ?? {})\n const creatableModule = new ModuleFactoryLocator(this.locator.registry)\n .registerMany(registry)\n .locate(manifest.config.schema, manifest.config.labels)\n const path = manifest.config.accountPath\n const wallet = path ? await this.wallet.derivePath(path) : undefined\n const account = path ? undefined : Account.randomSync()\n const module = await creatableModule.create({\n account,\n config: assertEx(manifest.config, 'Missing config'),\n wallet,\n })\n await node.register(module)\n return module\n }\n}\n","import { HttpBridge } from '@xyo-network/http-bridge'\nimport { MemoryArchivist } from '@xyo-network/memory-archivist'\nimport { CreatableModuleDictionary, ModuleFactory } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { MemorySentinel } from '@xyo-network/sentinel'\n\nexport const standardCreatableModules: CreatableModuleDictionary = {\n 'network.xyo.archivist.config': MemoryArchivist,\n 'network.xyo.bridge.http.config': ModuleFactory.withParams(HttpBridge, { config: { schema: HttpBridge.configSchema } }),\n 'network.xyo.node.config': MemoryNode,\n 'network.xyo.sentinel.config': MemorySentinel,\n}\n"],"mappings":"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","names":["import_module_model","import_node_memory","node","external","module"]}
@@ -99,7 +99,7 @@ var ManifestWrapper = class _ManifestWrapper extends PayloadWrapper {
99
99
  return result;
100
100
  }
101
101
  nodeManifest(index) {
102
- return this.payload().nodes?.[index];
102
+ return this.jsonPayload().nodes?.[index];
103
103
  }
104
104
  async registerModule(node, manifest, creatableModules) {
105
105
  const registry = toCreatableModuleRegistry(creatableModules ?? {});
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ManifestWrapper.ts","../../src/standardCreatableModules.ts","../../src/index.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { Account } from '@xyo-network/account'\nimport { ModuleManifest, NodeManifest, PackageManifestPayload } from '@xyo-network/manifest-model'\nimport {\n assignCreatableModuleRegistry,\n CreatableModuleDictionary,\n CreatableModuleRegistry,\n ModuleFactoryLocator,\n ModuleInstance,\n toCreatableModuleRegistry,\n} from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\nimport { WalletInstance } from '@xyo-network/wallet-model'\n\nimport { standardCreatableModules } from './standardCreatableModules'\n\nexport class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {\n constructor(\n payload: PackageManifestPayload,\n protected readonly wallet: WalletInstance,\n protected readonly locator: ModuleFactoryLocator = new ModuleFactoryLocator({}),\n protected readonly publicChildren: PackageManifestPayload[] = [],\n protected readonly privateChildren: PackageManifestPayload[] = [],\n ) {\n super(payload)\n }\n\n async loadModule(node: MemoryNode, manifest: ModuleManifest, external: boolean, additionalCreatableModules?: CreatableModuleRegistry): Promise<void>\n async loadModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n external: boolean,\n additionalCreatableModules?: CreatableModuleDictionary,\n ): Promise<void>\n async loadModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n external = true,\n additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<void> {\n const collision = async (node: NodeInstance, name: string, external: boolean) => {\n const externalConflict = external ? (await node.resolve({ name: [name] }, { direction: external ? 'all' : 'down' })).length !== 0 : false\n return externalConflict || (await node.resolve({ name: [name] }, { direction: 'down' })).length !== 0\n }\n\n const creatableModules = assignCreatableModuleRegistry(\n {},\n toCreatableModuleRegistry(standardCreatableModules),\n toCreatableModuleRegistry(additionalCreatableModules ?? {}),\n )\n if (!(await collision(node, manifest.config.name, external))) {\n if (manifest.config.language && manifest.config.language === 'javascript') {\n assertEx(\n (manifest.config.name && (await node.attach(manifest.config.name, external))) ??\n (await node.attach((await this.registerModule(node, manifest, creatableModules)).address, external)),\n `No module with config schema [${manifest.config.name}] registered`,\n )\n }\n }\n }\n\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode> {\n const manifest = assertEx(this.nodeManifest(index), 'Failed to find Node Manifest')\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n return await this.loadNodeFromManifest(manifest, manifest.config.accountPath ?? `${index}'`, registry)\n }\n\n async loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>\n async loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>\n async loadNodeFromManifest(\n manifest: NodeManifest,\n path?: string,\n additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<MemoryNode> {\n const wallet = path ? await this.wallet.derivePath(path) : undefined\n const account = path ? undefined : Account.randomSync()\n const node = await MemoryNode.create({ account, config: manifest.config, wallet })\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n // Load Private Modules\n const privateModules =\n manifest.modules?.private?.map(async (moduleManifest) => {\n await this.loadModule(node, moduleManifest, false, registry)\n }) ?? []\n // Load Public Modules\n const publicModules =\n manifest.modules?.public?.map(async (moduleManifest) => {\n await this.loadModule(node, moduleManifest, true, registry)\n }) ?? []\n await Promise.all([...privateModules, ...publicModules])\n\n await Promise.all(\n this.privateChildren.map(async (child) => {\n const wrapper = new ManifestWrapper(child, this.wallet, this.locator)\n const subNodes = await wrapper.loadNodes(node)\n subNodes.forEach((subNode) => {\n node.attach(subNode.address, false)\n })\n }),\n )\n\n await Promise.all(\n this.publicChildren.map(async (child) => {\n const wrapper = new ManifestWrapper(child, this.wallet, this.locator)\n const subNodes = await wrapper.loadNodes(node)\n subNodes.forEach((subNode) => {\n node.attach(subNode.address, true)\n })\n }),\n )\n\n return node\n }\n\n async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>\n async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>\n async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode[]> {\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n const result = await Promise.all(\n this.jsonPayload().nodes?.map(async (nodeManifest, index) => {\n const subNode = await this.loadNodeFromManifest(nodeManifest, nodeManifest.config.accountPath ?? `${index}'`, registry)\n await node?.register(subNode)\n return subNode\n }),\n )\n return result\n }\n\n nodeManifest(index: number) {\n return this.payload().nodes?.[index]\n }\n\n async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>\n async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>\n async registerModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n creatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<ModuleInstance> {\n const registry = toCreatableModuleRegistry(creatableModules ?? {})\n const creatableModule = new ModuleFactoryLocator(this.locator.registry)\n .registerMany(registry)\n .locate(manifest.config.schema, manifest.config.labels)\n const path = manifest.config.accountPath\n const wallet = path ? await this.wallet.derivePath(path) : undefined\n const account = path ? undefined : Account.randomSync()\n const module = await creatableModule.create({\n account,\n config: assertEx(manifest.config, 'Missing config'),\n wallet,\n })\n await node.register(module)\n return module\n }\n}\n","import { HttpBridge } from '@xyo-network/http-bridge'\nimport { MemoryArchivist } from '@xyo-network/memory-archivist'\nimport { CreatableModuleDictionary, ModuleFactory } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { MemorySentinel } from '@xyo-network/sentinel'\n\nexport const standardCreatableModules: CreatableModuleDictionary = {\n 'network.xyo.archivist.config': MemoryArchivist,\n 'network.xyo.bridge.http.config': ModuleFactory.withParams(HttpBridge, { config: { schema: HttpBridge.configSchema } }),\n 'network.xyo.node.config': MemoryNode,\n 'network.xyo.sentinel.config': MemorySentinel,\n}\n","export * from './ManifestWrapper'\nexport * from './standardCreatableModules'\nexport * from '@xyo-network/manifest-model'\n"],"mappings":"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","names":["MemoryNode","node","external","MemoryNode"]}
1
+ {"version":3,"sources":["../../src/ManifestWrapper.ts","../../src/standardCreatableModules.ts","../../src/index.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { Account } from '@xyo-network/account'\nimport { ModuleManifest, NodeManifest, PackageManifestPayload } from '@xyo-network/manifest-model'\nimport {\n assignCreatableModuleRegistry,\n CreatableModuleDictionary,\n CreatableModuleRegistry,\n ModuleFactoryLocator,\n ModuleInstance,\n toCreatableModuleRegistry,\n} from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\nimport { WalletInstance } from '@xyo-network/wallet-model'\n\nimport { standardCreatableModules } from './standardCreatableModules'\n\n/** Provides functionality that can be performed on a PackageManifest */\nexport class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {\n constructor(\n payload: PackageManifestPayload,\n protected readonly wallet: WalletInstance,\n protected readonly locator: ModuleFactoryLocator = new ModuleFactoryLocator({}),\n protected readonly publicChildren: PackageManifestPayload[] = [],\n protected readonly privateChildren: PackageManifestPayload[] = [],\n ) {\n super(payload)\n }\n\n async loadModule(node: MemoryNode, manifest: ModuleManifest, external: boolean, additionalCreatableModules?: CreatableModuleRegistry): Promise<void>\n async loadModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n external: boolean,\n additionalCreatableModules?: CreatableModuleDictionary,\n ): Promise<void>\n async loadModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n external = true,\n additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<void> {\n const collision = async (node: NodeInstance, name: string, external: boolean) => {\n const externalConflict = external ? (await node.resolve({ name: [name] }, { direction: external ? 'all' : 'down' })).length !== 0 : false\n return externalConflict || (await node.resolve({ name: [name] }, { direction: 'down' })).length !== 0\n }\n\n const creatableModules = assignCreatableModuleRegistry(\n {},\n toCreatableModuleRegistry(standardCreatableModules),\n toCreatableModuleRegistry(additionalCreatableModules ?? {}),\n )\n if (!(await collision(node, manifest.config.name, external))) {\n if (manifest.config.language && manifest.config.language === 'javascript') {\n assertEx(\n (manifest.config.name && (await node.attach(manifest.config.name, external))) ??\n (await node.attach((await this.registerModule(node, manifest, creatableModules)).address, external)),\n `No module with config schema [${manifest.config.name}] registered`,\n )\n }\n }\n }\n\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode> {\n const manifest = assertEx(this.nodeManifest(index), 'Failed to find Node Manifest')\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n return await this.loadNodeFromManifest(manifest, manifest.config.accountPath ?? `${index}'`, registry)\n }\n\n async loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>\n async loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>\n async loadNodeFromManifest(\n manifest: NodeManifest,\n path?: string,\n additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<MemoryNode> {\n const wallet = path ? await this.wallet.derivePath(path) : undefined\n const account = path ? undefined : Account.randomSync()\n const node = await MemoryNode.create({ account, config: manifest.config, wallet })\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n // Load Private Modules\n const privateModules =\n manifest.modules?.private?.map(async (moduleManifest) => {\n await this.loadModule(node, moduleManifest, false, registry)\n }) ?? []\n // Load Public Modules\n const publicModules =\n manifest.modules?.public?.map(async (moduleManifest) => {\n await this.loadModule(node, moduleManifest, true, registry)\n }) ?? []\n await Promise.all([...privateModules, ...publicModules])\n\n await Promise.all(\n this.privateChildren.map(async (child) => {\n const wrapper = new ManifestWrapper(child, this.wallet, this.locator)\n const subNodes = await wrapper.loadNodes(node)\n subNodes.forEach((subNode) => {\n node.attach(subNode.address, false)\n })\n }),\n )\n\n await Promise.all(\n this.publicChildren.map(async (child) => {\n const wrapper = new ManifestWrapper(child, this.wallet, this.locator)\n const subNodes = await wrapper.loadNodes(node)\n subNodes.forEach((subNode) => {\n node.attach(subNode.address, true)\n })\n }),\n )\n\n return node\n }\n\n /**\n * Load the nodes that are defined in the wrapped manifest and optionally attach them to a node\n */\n async loadNodes(\n /** Node to optionally attach the loaded nodes to */\n node?: MemoryNode,\n /** Additional creatable modules */\n additionalCreatableModules?: CreatableModuleRegistry,\n ): Promise<MemoryNode[]>\n async loadNodes(\n /** Node to optionally attach the loaded nodes to */\n node?: MemoryNode,\n /** Additional creatable modules */\n additionalCreatableModules?: CreatableModuleDictionary,\n ): Promise<MemoryNode[]>\n async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode[]> {\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n const result = await Promise.all(\n this.jsonPayload().nodes?.map(async (nodeManifest, index) => {\n const subNode = await this.loadNodeFromManifest(nodeManifest, nodeManifest.config.accountPath ?? `${index}'`, registry)\n await node?.register(subNode)\n return subNode\n }),\n )\n return result\n }\n\n nodeManifest(index: number) {\n return this.jsonPayload().nodes?.[index]\n }\n\n /** Register a module on a node based on a manifest */\n private async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>\n private async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>\n private async registerModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n creatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<ModuleInstance> {\n const registry = toCreatableModuleRegistry(creatableModules ?? {})\n const creatableModule = new ModuleFactoryLocator(this.locator.registry)\n .registerMany(registry)\n .locate(manifest.config.schema, manifest.config.labels)\n const path = manifest.config.accountPath\n const wallet = path ? await this.wallet.derivePath(path) : undefined\n const account = path ? undefined : Account.randomSync()\n const module = await creatableModule.create({\n account,\n config: assertEx(manifest.config, 'Missing config'),\n wallet,\n })\n await node.register(module)\n return module\n }\n}\n","import { HttpBridge } from '@xyo-network/http-bridge'\nimport { MemoryArchivist } from '@xyo-network/memory-archivist'\nimport { CreatableModuleDictionary, ModuleFactory } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { MemorySentinel } from '@xyo-network/sentinel'\n\nexport const standardCreatableModules: CreatableModuleDictionary = {\n 'network.xyo.archivist.config': MemoryArchivist,\n 'network.xyo.bridge.http.config': ModuleFactory.withParams(HttpBridge, { config: { schema: HttpBridge.configSchema } }),\n 'network.xyo.node.config': MemoryNode,\n 'network.xyo.sentinel.config': MemorySentinel,\n}\n","export * from './ManifestWrapper'\nexport * from './standardCreatableModules'\nexport * from '@xyo-network/manifest-model'\n"],"mappings":"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","names":["MemoryNode","node","external","MemoryNode"]}
@@ -1,8 +1,9 @@
1
1
  import { ModuleManifest, NodeManifest, PackageManifestPayload } from '@xyo-network/manifest-model';
2
- import { CreatableModuleDictionary, CreatableModuleRegistry, ModuleFactoryLocator, ModuleInstance } from '@xyo-network/module-model';
2
+ import { CreatableModuleDictionary, CreatableModuleRegistry, ModuleFactoryLocator } from '@xyo-network/module-model';
3
3
  import { MemoryNode } from '@xyo-network/node-memory';
4
4
  import { PayloadWrapper } from '@xyo-network/payload-wrapper';
5
5
  import { WalletInstance } from '@xyo-network/wallet-model';
6
+ /** Provides functionality that can be performed on a PackageManifest */
6
7
  export declare class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {
7
8
  protected readonly wallet: WalletInstance;
8
9
  protected readonly locator: ModuleFactoryLocator;
@@ -15,10 +16,21 @@ export declare class ManifestWrapper extends PayloadWrapper<PackageManifestPaylo
15
16
  loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>;
16
17
  loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>;
17
18
  loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>;
18
- loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>;
19
- loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>;
19
+ /**
20
+ * Load the nodes that are defined in the wrapped manifest and optionally attach them to a node
21
+ */
22
+ loadNodes(
23
+ /** Node to optionally attach the loaded nodes to */
24
+ node?: MemoryNode,
25
+ /** Additional creatable modules */
26
+ additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>;
27
+ loadNodes(
28
+ /** Node to optionally attach the loaded nodes to */
29
+ node?: MemoryNode,
30
+ /** Additional creatable modules */
31
+ additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>;
20
32
  nodeManifest(index: number): NodeManifest;
21
- registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>;
22
- registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>;
33
+ /** Register a module on a node based on a manifest */
34
+ private registerModule;
23
35
  }
24
36
  //# sourceMappingURL=ManifestWrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManifestWrapper.d.ts","sourceRoot":"","sources":["../../src/ManifestWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,qBAAa,eAAgB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IAChD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,EAAE;IAC3D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,EAAE;gBAJ5D,OAAO,EAAE,sBAAsB,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,oBAAmD,EAC5D,cAAc,GAAE,sBAAsB,EAAO,EAC7C,eAAe,GAAE,sBAAsB,EAAO;IAK7D,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9I,UAAU,CACd,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,OAAO,EACjB,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,IAAI,CAAC;IA4BV,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAC3G,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IAO7G,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IACrI,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6CvI,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IACzG,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAajH,YAAY,CAAC,KAAK,EAAE,MAAM;IAIpB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC;IAC/H,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC;CAqBxI"}
1
+ {"version":3,"file":"ManifestWrapper.d.ts","sourceRoot":"","sources":["../../src/ManifestWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EAGrB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,wEAAwE;AACxE,qBAAa,eAAgB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IAChD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,EAAE;IAC3D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,EAAE;gBAJ5D,OAAO,EAAE,sBAAsB,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,oBAAmD,EAC5D,cAAc,GAAE,sBAAsB,EAAO,EAC7C,eAAe,GAAE,sBAAsB,EAAO;IAK7D,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9I,UAAU,CACd,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,OAAO,EACjB,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,IAAI,CAAC;IA4BV,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAC3G,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IAO7G,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IACrI,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6C7I;;OAEG;IACG,SAAS;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,UAAU;IACjB,mCAAmC;IACnC,0BAA0B,CAAC,EAAE,uBAAuB,GACnD,OAAO,CAAC,UAAU,EAAE,CAAC;IAClB,SAAS;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,UAAU;IACjB,mCAAmC;IACnC,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,UAAU,EAAE,CAAC;IAaxB,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B,sDAAsD;YACxC,cAAc;CAsB7B"}
@@ -1,8 +1,9 @@
1
1
  import { ModuleManifest, NodeManifest, PackageManifestPayload } from '@xyo-network/manifest-model';
2
- import { CreatableModuleDictionary, CreatableModuleRegistry, ModuleFactoryLocator, ModuleInstance } from '@xyo-network/module-model';
2
+ import { CreatableModuleDictionary, CreatableModuleRegistry, ModuleFactoryLocator } from '@xyo-network/module-model';
3
3
  import { MemoryNode } from '@xyo-network/node-memory';
4
4
  import { PayloadWrapper } from '@xyo-network/payload-wrapper';
5
5
  import { WalletInstance } from '@xyo-network/wallet-model';
6
+ /** Provides functionality that can be performed on a PackageManifest */
6
7
  export declare class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {
7
8
  protected readonly wallet: WalletInstance;
8
9
  protected readonly locator: ModuleFactoryLocator;
@@ -15,10 +16,21 @@ export declare class ManifestWrapper extends PayloadWrapper<PackageManifestPaylo
15
16
  loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>;
16
17
  loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>;
17
18
  loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>;
18
- loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>;
19
- loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>;
19
+ /**
20
+ * Load the nodes that are defined in the wrapped manifest and optionally attach them to a node
21
+ */
22
+ loadNodes(
23
+ /** Node to optionally attach the loaded nodes to */
24
+ node?: MemoryNode,
25
+ /** Additional creatable modules */
26
+ additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>;
27
+ loadNodes(
28
+ /** Node to optionally attach the loaded nodes to */
29
+ node?: MemoryNode,
30
+ /** Additional creatable modules */
31
+ additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>;
20
32
  nodeManifest(index: number): NodeManifest;
21
- registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>;
22
- registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>;
33
+ /** Register a module on a node based on a manifest */
34
+ private registerModule;
23
35
  }
24
36
  //# sourceMappingURL=ManifestWrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManifestWrapper.d.ts","sourceRoot":"","sources":["../../src/ManifestWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,qBAAa,eAAgB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IAChD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,EAAE;IAC3D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,EAAE;gBAJ5D,OAAO,EAAE,sBAAsB,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,oBAAmD,EAC5D,cAAc,GAAE,sBAAsB,EAAO,EAC7C,eAAe,GAAE,sBAAsB,EAAO;IAK7D,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9I,UAAU,CACd,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,OAAO,EACjB,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,IAAI,CAAC;IA4BV,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAC3G,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IAO7G,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IACrI,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6CvI,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IACzG,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAajH,YAAY,CAAC,KAAK,EAAE,MAAM;IAIpB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC;IAC/H,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC;CAqBxI"}
1
+ {"version":3,"file":"ManifestWrapper.d.ts","sourceRoot":"","sources":["../../src/ManifestWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EAGrB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,wEAAwE;AACxE,qBAAa,eAAgB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IAChD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,EAAE;IAC3D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,EAAE;gBAJ5D,OAAO,EAAE,sBAAsB,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,oBAAmD,EAC5D,cAAc,GAAE,sBAAsB,EAAO,EAC7C,eAAe,GAAE,sBAAsB,EAAO;IAK7D,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9I,UAAU,CACd,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,OAAO,EACjB,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,IAAI,CAAC;IA4BV,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAC3G,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IAO7G,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IACrI,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6C7I;;OAEG;IACG,SAAS;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,UAAU;IACjB,mCAAmC;IACnC,0BAA0B,CAAC,EAAE,uBAAuB,GACnD,OAAO,CAAC,UAAU,EAAE,CAAC;IAClB,SAAS;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,UAAU;IACjB,mCAAmC;IACnC,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,UAAU,EAAE,CAAC;IAaxB,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B,sDAAsD;YACxC,cAAc;CAsB7B"}
@@ -1,8 +1,9 @@
1
1
  import { ModuleManifest, NodeManifest, PackageManifestPayload } from '@xyo-network/manifest-model';
2
- import { CreatableModuleDictionary, CreatableModuleRegistry, ModuleFactoryLocator, ModuleInstance } from '@xyo-network/module-model';
2
+ import { CreatableModuleDictionary, CreatableModuleRegistry, ModuleFactoryLocator } from '@xyo-network/module-model';
3
3
  import { MemoryNode } from '@xyo-network/node-memory';
4
4
  import { PayloadWrapper } from '@xyo-network/payload-wrapper';
5
5
  import { WalletInstance } from '@xyo-network/wallet-model';
6
+ /** Provides functionality that can be performed on a PackageManifest */
6
7
  export declare class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {
7
8
  protected readonly wallet: WalletInstance;
8
9
  protected readonly locator: ModuleFactoryLocator;
@@ -15,10 +16,21 @@ export declare class ManifestWrapper extends PayloadWrapper<PackageManifestPaylo
15
16
  loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>;
16
17
  loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>;
17
18
  loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>;
18
- loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>;
19
- loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>;
19
+ /**
20
+ * Load the nodes that are defined in the wrapped manifest and optionally attach them to a node
21
+ */
22
+ loadNodes(
23
+ /** Node to optionally attach the loaded nodes to */
24
+ node?: MemoryNode,
25
+ /** Additional creatable modules */
26
+ additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>;
27
+ loadNodes(
28
+ /** Node to optionally attach the loaded nodes to */
29
+ node?: MemoryNode,
30
+ /** Additional creatable modules */
31
+ additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>;
20
32
  nodeManifest(index: number): NodeManifest;
21
- registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>;
22
- registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>;
33
+ /** Register a module on a node based on a manifest */
34
+ private registerModule;
23
35
  }
24
36
  //# sourceMappingURL=ManifestWrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ManifestWrapper.d.ts","sourceRoot":"","sources":["../../src/ManifestWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,qBAAa,eAAgB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IAChD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,EAAE;IAC3D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,EAAE;gBAJ5D,OAAO,EAAE,sBAAsB,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,oBAAmD,EAC5D,cAAc,GAAE,sBAAsB,EAAO,EAC7C,eAAe,GAAE,sBAAsB,EAAO;IAK7D,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9I,UAAU,CACd,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,OAAO,EACjB,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,IAAI,CAAC;IA4BV,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAC3G,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IAO7G,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IACrI,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6CvI,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IACzG,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAajH,YAAY,CAAC,KAAK,EAAE,MAAM;IAIpB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC;IAC/H,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC;CAqBxI"}
1
+ {"version":3,"file":"ManifestWrapper.d.ts","sourceRoot":"","sources":["../../src/ManifestWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EAGrB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,wEAAwE;AACxE,qBAAa,eAAgB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAGvE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IAChD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,EAAE;IAC3D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,EAAE;gBAJ5D,OAAO,EAAE,sBAAsB,EACZ,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,oBAAmD,EAC5D,cAAc,GAAE,sBAAsB,EAAO,EAC7C,eAAe,GAAE,sBAAsB,EAAO;IAK7D,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9I,UAAU,CACd,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,OAAO,EACjB,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,IAAI,CAAC;IA4BV,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAC3G,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IAO7G,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IACrI,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6C7I;;OAEG;IACG,SAAS;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,UAAU;IACjB,mCAAmC;IACnC,0BAA0B,CAAC,EAAE,uBAAuB,GACnD,OAAO,CAAC,UAAU,EAAE,CAAC;IAClB,SAAS;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,UAAU;IACjB,mCAAmC;IACnC,0BAA0B,CAAC,EAAE,yBAAyB,GACrD,OAAO,CAAC,UAAU,EAAE,CAAC;IAaxB,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B,sDAAsD;YACxC,cAAc;CAsB7B"}
@@ -126,7 +126,7 @@ var ManifestWrapper = class _ManifestWrapper extends import_payload_wrapper.Payl
126
126
  }
127
127
  nodeManifest(index) {
128
128
  var _a;
129
- return (_a = this.payload().nodes) == null ? void 0 : _a[index];
129
+ return (_a = this.jsonPayload().nodes) == null ? void 0 : _a[index];
130
130
  }
131
131
  async registerModule(node, manifest, creatableModules) {
132
132
  const registry = (0, import_module_model2.toCreatableModuleRegistry)(creatableModules ?? {});
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/ManifestWrapper.ts","../../src/standardCreatableModules.ts"],"sourcesContent":["export * from './ManifestWrapper'\nexport * from './standardCreatableModules'\nexport * from '@xyo-network/manifest-model'\n","import { assertEx } from '@xylabs/assert'\nimport { Account } from '@xyo-network/account'\nimport { ModuleManifest, NodeManifest, PackageManifestPayload } from '@xyo-network/manifest-model'\nimport {\n assignCreatableModuleRegistry,\n CreatableModuleDictionary,\n CreatableModuleRegistry,\n ModuleFactoryLocator,\n ModuleInstance,\n toCreatableModuleRegistry,\n} from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\nimport { WalletInstance } from '@xyo-network/wallet-model'\n\nimport { standardCreatableModules } from './standardCreatableModules'\n\nexport class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {\n constructor(\n payload: PackageManifestPayload,\n protected readonly wallet: WalletInstance,\n protected readonly locator: ModuleFactoryLocator = new ModuleFactoryLocator({}),\n protected readonly publicChildren: PackageManifestPayload[] = [],\n protected readonly privateChildren: PackageManifestPayload[] = [],\n ) {\n super(payload)\n }\n\n async loadModule(node: MemoryNode, manifest: ModuleManifest, external: boolean, additionalCreatableModules?: CreatableModuleRegistry): Promise<void>\n async loadModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n external: boolean,\n additionalCreatableModules?: CreatableModuleDictionary,\n ): Promise<void>\n async loadModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n external = true,\n additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<void> {\n const collision = async (node: NodeInstance, name: string, external: boolean) => {\n const externalConflict = external ? (await node.resolve({ name: [name] }, { direction: external ? 'all' : 'down' })).length !== 0 : false\n return externalConflict || (await node.resolve({ name: [name] }, { direction: 'down' })).length !== 0\n }\n\n const creatableModules = assignCreatableModuleRegistry(\n {},\n toCreatableModuleRegistry(standardCreatableModules),\n toCreatableModuleRegistry(additionalCreatableModules ?? {}),\n )\n if (!(await collision(node, manifest.config.name, external))) {\n if (manifest.config.language && manifest.config.language === 'javascript') {\n assertEx(\n (manifest.config.name && (await node.attach(manifest.config.name, external))) ??\n (await node.attach((await this.registerModule(node, manifest, creatableModules)).address, external)),\n `No module with config schema [${manifest.config.name}] registered`,\n )\n }\n }\n }\n\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode> {\n const manifest = assertEx(this.nodeManifest(index), 'Failed to find Node Manifest')\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n return await this.loadNodeFromManifest(manifest, manifest.config.accountPath ?? `${index}'`, registry)\n }\n\n async loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>\n async loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>\n async loadNodeFromManifest(\n manifest: NodeManifest,\n path?: string,\n additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<MemoryNode> {\n const wallet = path ? await this.wallet.derivePath(path) : undefined\n const account = path ? undefined : Account.randomSync()\n const node = await MemoryNode.create({ account, config: manifest.config, wallet })\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n // Load Private Modules\n const privateModules =\n manifest.modules?.private?.map(async (moduleManifest) => {\n await this.loadModule(node, moduleManifest, false, registry)\n }) ?? []\n // Load Public Modules\n const publicModules =\n manifest.modules?.public?.map(async (moduleManifest) => {\n await this.loadModule(node, moduleManifest, true, registry)\n }) ?? []\n await Promise.all([...privateModules, ...publicModules])\n\n await Promise.all(\n this.privateChildren.map(async (child) => {\n const wrapper = new ManifestWrapper(child, this.wallet, this.locator)\n const subNodes = await wrapper.loadNodes(node)\n subNodes.forEach((subNode) => {\n node.attach(subNode.address, false)\n })\n }),\n )\n\n await Promise.all(\n this.publicChildren.map(async (child) => {\n const wrapper = new ManifestWrapper(child, this.wallet, this.locator)\n const subNodes = await wrapper.loadNodes(node)\n subNodes.forEach((subNode) => {\n node.attach(subNode.address, true)\n })\n }),\n )\n\n return node\n }\n\n async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>\n async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>\n async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode[]> {\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n const result = await Promise.all(\n this.jsonPayload().nodes?.map(async (nodeManifest, index) => {\n const subNode = await this.loadNodeFromManifest(nodeManifest, nodeManifest.config.accountPath ?? `${index}'`, registry)\n await node?.register(subNode)\n return subNode\n }),\n )\n return result\n }\n\n nodeManifest(index: number) {\n return this.payload().nodes?.[index]\n }\n\n async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>\n async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>\n async registerModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n creatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<ModuleInstance> {\n const registry = toCreatableModuleRegistry(creatableModules ?? {})\n const creatableModule = new ModuleFactoryLocator(this.locator.registry)\n .registerMany(registry)\n .locate(manifest.config.schema, manifest.config.labels)\n const path = manifest.config.accountPath\n const wallet = path ? await this.wallet.derivePath(path) : undefined\n const account = path ? undefined : Account.randomSync()\n const module = await creatableModule.create({\n account,\n config: assertEx(manifest.config, 'Missing config'),\n wallet,\n })\n await node.register(module)\n return module\n }\n}\n","import { HttpBridge } from '@xyo-network/http-bridge'\nimport { MemoryArchivist } from '@xyo-network/memory-archivist'\nimport { CreatableModuleDictionary, ModuleFactory } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { MemorySentinel } from '@xyo-network/sentinel'\n\nexport const standardCreatableModules: CreatableModuleDictionary = {\n 'network.xyo.archivist.config': MemoryArchivist,\n 'network.xyo.bridge.http.config': ModuleFactory.withParams(HttpBridge, { config: { schema: HttpBridge.configSchema } }),\n 'network.xyo.node.config': MemoryNode,\n 'network.xyo.sentinel.config': MemorySentinel,\n}\n"],"mappings":"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","names":["import_module_model","import_node_memory","node","external","module"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/ManifestWrapper.ts","../../src/standardCreatableModules.ts"],"sourcesContent":["export * from './ManifestWrapper'\nexport * from './standardCreatableModules'\nexport * from '@xyo-network/manifest-model'\n","import { assertEx } from '@xylabs/assert'\nimport { Account } from '@xyo-network/account'\nimport { ModuleManifest, NodeManifest, PackageManifestPayload } from '@xyo-network/manifest-model'\nimport {\n assignCreatableModuleRegistry,\n CreatableModuleDictionary,\n CreatableModuleRegistry,\n ModuleFactoryLocator,\n ModuleInstance,\n toCreatableModuleRegistry,\n} from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\nimport { WalletInstance } from '@xyo-network/wallet-model'\n\nimport { standardCreatableModules } from './standardCreatableModules'\n\n/** Provides functionality that can be performed on a PackageManifest */\nexport class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {\n constructor(\n payload: PackageManifestPayload,\n protected readonly wallet: WalletInstance,\n protected readonly locator: ModuleFactoryLocator = new ModuleFactoryLocator({}),\n protected readonly publicChildren: PackageManifestPayload[] = [],\n protected readonly privateChildren: PackageManifestPayload[] = [],\n ) {\n super(payload)\n }\n\n async loadModule(node: MemoryNode, manifest: ModuleManifest, external: boolean, additionalCreatableModules?: CreatableModuleRegistry): Promise<void>\n async loadModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n external: boolean,\n additionalCreatableModules?: CreatableModuleDictionary,\n ): Promise<void>\n async loadModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n external = true,\n additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<void> {\n const collision = async (node: NodeInstance, name: string, external: boolean) => {\n const externalConflict = external ? (await node.resolve({ name: [name] }, { direction: external ? 'all' : 'down' })).length !== 0 : false\n return externalConflict || (await node.resolve({ name: [name] }, { direction: 'down' })).length !== 0\n }\n\n const creatableModules = assignCreatableModuleRegistry(\n {},\n toCreatableModuleRegistry(standardCreatableModules),\n toCreatableModuleRegistry(additionalCreatableModules ?? {}),\n )\n if (!(await collision(node, manifest.config.name, external))) {\n if (manifest.config.language && manifest.config.language === 'javascript') {\n assertEx(\n (manifest.config.name && (await node.attach(manifest.config.name, external))) ??\n (await node.attach((await this.registerModule(node, manifest, creatableModules)).address, external)),\n `No module with config schema [${manifest.config.name}] registered`,\n )\n }\n }\n }\n\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode> {\n const manifest = assertEx(this.nodeManifest(index), 'Failed to find Node Manifest')\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n return await this.loadNodeFromManifest(manifest, manifest.config.accountPath ?? `${index}'`, registry)\n }\n\n async loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>\n async loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>\n async loadNodeFromManifest(\n manifest: NodeManifest,\n path?: string,\n additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<MemoryNode> {\n const wallet = path ? await this.wallet.derivePath(path) : undefined\n const account = path ? undefined : Account.randomSync()\n const node = await MemoryNode.create({ account, config: manifest.config, wallet })\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n // Load Private Modules\n const privateModules =\n manifest.modules?.private?.map(async (moduleManifest) => {\n await this.loadModule(node, moduleManifest, false, registry)\n }) ?? []\n // Load Public Modules\n const publicModules =\n manifest.modules?.public?.map(async (moduleManifest) => {\n await this.loadModule(node, moduleManifest, true, registry)\n }) ?? []\n await Promise.all([...privateModules, ...publicModules])\n\n await Promise.all(\n this.privateChildren.map(async (child) => {\n const wrapper = new ManifestWrapper(child, this.wallet, this.locator)\n const subNodes = await wrapper.loadNodes(node)\n subNodes.forEach((subNode) => {\n node.attach(subNode.address, false)\n })\n }),\n )\n\n await Promise.all(\n this.publicChildren.map(async (child) => {\n const wrapper = new ManifestWrapper(child, this.wallet, this.locator)\n const subNodes = await wrapper.loadNodes(node)\n subNodes.forEach((subNode) => {\n node.attach(subNode.address, true)\n })\n }),\n )\n\n return node\n }\n\n /**\n * Load the nodes that are defined in the wrapped manifest and optionally attach them to a node\n */\n async loadNodes(\n /** Node to optionally attach the loaded nodes to */\n node?: MemoryNode,\n /** Additional creatable modules */\n additionalCreatableModules?: CreatableModuleRegistry,\n ): Promise<MemoryNode[]>\n async loadNodes(\n /** Node to optionally attach the loaded nodes to */\n node?: MemoryNode,\n /** Additional creatable modules */\n additionalCreatableModules?: CreatableModuleDictionary,\n ): Promise<MemoryNode[]>\n async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode[]> {\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n const result = await Promise.all(\n this.jsonPayload().nodes?.map(async (nodeManifest, index) => {\n const subNode = await this.loadNodeFromManifest(nodeManifest, nodeManifest.config.accountPath ?? `${index}'`, registry)\n await node?.register(subNode)\n return subNode\n }),\n )\n return result\n }\n\n nodeManifest(index: number) {\n return this.jsonPayload().nodes?.[index]\n }\n\n /** Register a module on a node based on a manifest */\n private async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>\n private async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>\n private async registerModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n creatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<ModuleInstance> {\n const registry = toCreatableModuleRegistry(creatableModules ?? {})\n const creatableModule = new ModuleFactoryLocator(this.locator.registry)\n .registerMany(registry)\n .locate(manifest.config.schema, manifest.config.labels)\n const path = manifest.config.accountPath\n const wallet = path ? await this.wallet.derivePath(path) : undefined\n const account = path ? undefined : Account.randomSync()\n const module = await creatableModule.create({\n account,\n config: assertEx(manifest.config, 'Missing config'),\n wallet,\n })\n await node.register(module)\n return module\n }\n}\n","import { HttpBridge } from '@xyo-network/http-bridge'\nimport { MemoryArchivist } from '@xyo-network/memory-archivist'\nimport { CreatableModuleDictionary, ModuleFactory } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { MemorySentinel } from '@xyo-network/sentinel'\n\nexport const standardCreatableModules: CreatableModuleDictionary = {\n 'network.xyo.archivist.config': MemoryArchivist,\n 'network.xyo.bridge.http.config': ModuleFactory.withParams(HttpBridge, { config: { schema: HttpBridge.configSchema } }),\n 'network.xyo.node.config': MemoryNode,\n 'network.xyo.sentinel.config': MemorySentinel,\n}\n"],"mappings":"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","names":["import_module_model","import_node_memory","node","external","module"]}
@@ -102,7 +102,7 @@ var ManifestWrapper = class _ManifestWrapper extends PayloadWrapper {
102
102
  }
103
103
  nodeManifest(index) {
104
104
  var _a;
105
- return (_a = this.payload().nodes) == null ? void 0 : _a[index];
105
+ return (_a = this.jsonPayload().nodes) == null ? void 0 : _a[index];
106
106
  }
107
107
  async registerModule(node, manifest, creatableModules) {
108
108
  const registry = toCreatableModuleRegistry(creatableModules ?? {});
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ManifestWrapper.ts","../../src/standardCreatableModules.ts","../../src/index.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { Account } from '@xyo-network/account'\nimport { ModuleManifest, NodeManifest, PackageManifestPayload } from '@xyo-network/manifest-model'\nimport {\n assignCreatableModuleRegistry,\n CreatableModuleDictionary,\n CreatableModuleRegistry,\n ModuleFactoryLocator,\n ModuleInstance,\n toCreatableModuleRegistry,\n} from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\nimport { WalletInstance } from '@xyo-network/wallet-model'\n\nimport { standardCreatableModules } from './standardCreatableModules'\n\nexport class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {\n constructor(\n payload: PackageManifestPayload,\n protected readonly wallet: WalletInstance,\n protected readonly locator: ModuleFactoryLocator = new ModuleFactoryLocator({}),\n protected readonly publicChildren: PackageManifestPayload[] = [],\n protected readonly privateChildren: PackageManifestPayload[] = [],\n ) {\n super(payload)\n }\n\n async loadModule(node: MemoryNode, manifest: ModuleManifest, external: boolean, additionalCreatableModules?: CreatableModuleRegistry): Promise<void>\n async loadModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n external: boolean,\n additionalCreatableModules?: CreatableModuleDictionary,\n ): Promise<void>\n async loadModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n external = true,\n additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<void> {\n const collision = async (node: NodeInstance, name: string, external: boolean) => {\n const externalConflict = external ? (await node.resolve({ name: [name] }, { direction: external ? 'all' : 'down' })).length !== 0 : false\n return externalConflict || (await node.resolve({ name: [name] }, { direction: 'down' })).length !== 0\n }\n\n const creatableModules = assignCreatableModuleRegistry(\n {},\n toCreatableModuleRegistry(standardCreatableModules),\n toCreatableModuleRegistry(additionalCreatableModules ?? {}),\n )\n if (!(await collision(node, manifest.config.name, external))) {\n if (manifest.config.language && manifest.config.language === 'javascript') {\n assertEx(\n (manifest.config.name && (await node.attach(manifest.config.name, external))) ??\n (await node.attach((await this.registerModule(node, manifest, creatableModules)).address, external)),\n `No module with config schema [${manifest.config.name}] registered`,\n )\n }\n }\n }\n\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode> {\n const manifest = assertEx(this.nodeManifest(index), 'Failed to find Node Manifest')\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n return await this.loadNodeFromManifest(manifest, manifest.config.accountPath ?? `${index}'`, registry)\n }\n\n async loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>\n async loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>\n async loadNodeFromManifest(\n manifest: NodeManifest,\n path?: string,\n additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<MemoryNode> {\n const wallet = path ? await this.wallet.derivePath(path) : undefined\n const account = path ? undefined : Account.randomSync()\n const node = await MemoryNode.create({ account, config: manifest.config, wallet })\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n // Load Private Modules\n const privateModules =\n manifest.modules?.private?.map(async (moduleManifest) => {\n await this.loadModule(node, moduleManifest, false, registry)\n }) ?? []\n // Load Public Modules\n const publicModules =\n manifest.modules?.public?.map(async (moduleManifest) => {\n await this.loadModule(node, moduleManifest, true, registry)\n }) ?? []\n await Promise.all([...privateModules, ...publicModules])\n\n await Promise.all(\n this.privateChildren.map(async (child) => {\n const wrapper = new ManifestWrapper(child, this.wallet, this.locator)\n const subNodes = await wrapper.loadNodes(node)\n subNodes.forEach((subNode) => {\n node.attach(subNode.address, false)\n })\n }),\n )\n\n await Promise.all(\n this.publicChildren.map(async (child) => {\n const wrapper = new ManifestWrapper(child, this.wallet, this.locator)\n const subNodes = await wrapper.loadNodes(node)\n subNodes.forEach((subNode) => {\n node.attach(subNode.address, true)\n })\n }),\n )\n\n return node\n }\n\n async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>\n async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>\n async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode[]> {\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n const result = await Promise.all(\n this.jsonPayload().nodes?.map(async (nodeManifest, index) => {\n const subNode = await this.loadNodeFromManifest(nodeManifest, nodeManifest.config.accountPath ?? `${index}'`, registry)\n await node?.register(subNode)\n return subNode\n }),\n )\n return result\n }\n\n nodeManifest(index: number) {\n return this.payload().nodes?.[index]\n }\n\n async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>\n async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>\n async registerModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n creatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<ModuleInstance> {\n const registry = toCreatableModuleRegistry(creatableModules ?? {})\n const creatableModule = new ModuleFactoryLocator(this.locator.registry)\n .registerMany(registry)\n .locate(manifest.config.schema, manifest.config.labels)\n const path = manifest.config.accountPath\n const wallet = path ? await this.wallet.derivePath(path) : undefined\n const account = path ? undefined : Account.randomSync()\n const module = await creatableModule.create({\n account,\n config: assertEx(manifest.config, 'Missing config'),\n wallet,\n })\n await node.register(module)\n return module\n }\n}\n","import { HttpBridge } from '@xyo-network/http-bridge'\nimport { MemoryArchivist } from '@xyo-network/memory-archivist'\nimport { CreatableModuleDictionary, ModuleFactory } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { MemorySentinel } from '@xyo-network/sentinel'\n\nexport const standardCreatableModules: CreatableModuleDictionary = {\n 'network.xyo.archivist.config': MemoryArchivist,\n 'network.xyo.bridge.http.config': ModuleFactory.withParams(HttpBridge, { config: { schema: HttpBridge.configSchema } }),\n 'network.xyo.node.config': MemoryNode,\n 'network.xyo.sentinel.config': MemorySentinel,\n}\n","export * from './ManifestWrapper'\nexport * from './standardCreatableModules'\nexport * from '@xyo-network/manifest-model'\n"],"mappings":"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","names":["MemoryNode","node","external","MemoryNode"]}
1
+ {"version":3,"sources":["../../src/ManifestWrapper.ts","../../src/standardCreatableModules.ts","../../src/index.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { Account } from '@xyo-network/account'\nimport { ModuleManifest, NodeManifest, PackageManifestPayload } from '@xyo-network/manifest-model'\nimport {\n assignCreatableModuleRegistry,\n CreatableModuleDictionary,\n CreatableModuleRegistry,\n ModuleFactoryLocator,\n ModuleInstance,\n toCreatableModuleRegistry,\n} from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeInstance } from '@xyo-network/node-model'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\nimport { WalletInstance } from '@xyo-network/wallet-model'\n\nimport { standardCreatableModules } from './standardCreatableModules'\n\n/** Provides functionality that can be performed on a PackageManifest */\nexport class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {\n constructor(\n payload: PackageManifestPayload,\n protected readonly wallet: WalletInstance,\n protected readonly locator: ModuleFactoryLocator = new ModuleFactoryLocator({}),\n protected readonly publicChildren: PackageManifestPayload[] = [],\n protected readonly privateChildren: PackageManifestPayload[] = [],\n ) {\n super(payload)\n }\n\n async loadModule(node: MemoryNode, manifest: ModuleManifest, external: boolean, additionalCreatableModules?: CreatableModuleRegistry): Promise<void>\n async loadModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n external: boolean,\n additionalCreatableModules?: CreatableModuleDictionary,\n ): Promise<void>\n async loadModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n external = true,\n additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<void> {\n const collision = async (node: NodeInstance, name: string, external: boolean) => {\n const externalConflict = external ? (await node.resolve({ name: [name] }, { direction: external ? 'all' : 'down' })).length !== 0 : false\n return externalConflict || (await node.resolve({ name: [name] }, { direction: 'down' })).length !== 0\n }\n\n const creatableModules = assignCreatableModuleRegistry(\n {},\n toCreatableModuleRegistry(standardCreatableModules),\n toCreatableModuleRegistry(additionalCreatableModules ?? {}),\n )\n if (!(await collision(node, manifest.config.name, external))) {\n if (manifest.config.language && manifest.config.language === 'javascript') {\n assertEx(\n (manifest.config.name && (await node.attach(manifest.config.name, external))) ??\n (await node.attach((await this.registerModule(node, manifest, creatableModules)).address, external)),\n `No module with config schema [${manifest.config.name}] registered`,\n )\n }\n }\n }\n\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>\n async loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode> {\n const manifest = assertEx(this.nodeManifest(index), 'Failed to find Node Manifest')\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n return await this.loadNodeFromManifest(manifest, manifest.config.accountPath ?? `${index}'`, registry)\n }\n\n async loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>\n async loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>\n async loadNodeFromManifest(\n manifest: NodeManifest,\n path?: string,\n additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<MemoryNode> {\n const wallet = path ? await this.wallet.derivePath(path) : undefined\n const account = path ? undefined : Account.randomSync()\n const node = await MemoryNode.create({ account, config: manifest.config, wallet })\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n // Load Private Modules\n const privateModules =\n manifest.modules?.private?.map(async (moduleManifest) => {\n await this.loadModule(node, moduleManifest, false, registry)\n }) ?? []\n // Load Public Modules\n const publicModules =\n manifest.modules?.public?.map(async (moduleManifest) => {\n await this.loadModule(node, moduleManifest, true, registry)\n }) ?? []\n await Promise.all([...privateModules, ...publicModules])\n\n await Promise.all(\n this.privateChildren.map(async (child) => {\n const wrapper = new ManifestWrapper(child, this.wallet, this.locator)\n const subNodes = await wrapper.loadNodes(node)\n subNodes.forEach((subNode) => {\n node.attach(subNode.address, false)\n })\n }),\n )\n\n await Promise.all(\n this.publicChildren.map(async (child) => {\n const wrapper = new ManifestWrapper(child, this.wallet, this.locator)\n const subNodes = await wrapper.loadNodes(node)\n subNodes.forEach((subNode) => {\n node.attach(subNode.address, true)\n })\n }),\n )\n\n return node\n }\n\n /**\n * Load the nodes that are defined in the wrapped manifest and optionally attach them to a node\n */\n async loadNodes(\n /** Node to optionally attach the loaded nodes to */\n node?: MemoryNode,\n /** Additional creatable modules */\n additionalCreatableModules?: CreatableModuleRegistry,\n ): Promise<MemoryNode[]>\n async loadNodes(\n /** Node to optionally attach the loaded nodes to */\n node?: MemoryNode,\n /** Additional creatable modules */\n additionalCreatableModules?: CreatableModuleDictionary,\n ): Promise<MemoryNode[]>\n async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode[]> {\n const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})\n const result = await Promise.all(\n this.jsonPayload().nodes?.map(async (nodeManifest, index) => {\n const subNode = await this.loadNodeFromManifest(nodeManifest, nodeManifest.config.accountPath ?? `${index}'`, registry)\n await node?.register(subNode)\n return subNode\n }),\n )\n return result\n }\n\n nodeManifest(index: number) {\n return this.jsonPayload().nodes?.[index]\n }\n\n /** Register a module on a node based on a manifest */\n private async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>\n private async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>\n private async registerModule(\n node: MemoryNode,\n manifest: ModuleManifest,\n creatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,\n ): Promise<ModuleInstance> {\n const registry = toCreatableModuleRegistry(creatableModules ?? {})\n const creatableModule = new ModuleFactoryLocator(this.locator.registry)\n .registerMany(registry)\n .locate(manifest.config.schema, manifest.config.labels)\n const path = manifest.config.accountPath\n const wallet = path ? await this.wallet.derivePath(path) : undefined\n const account = path ? undefined : Account.randomSync()\n const module = await creatableModule.create({\n account,\n config: assertEx(manifest.config, 'Missing config'),\n wallet,\n })\n await node.register(module)\n return module\n }\n}\n","import { HttpBridge } from '@xyo-network/http-bridge'\nimport { MemoryArchivist } from '@xyo-network/memory-archivist'\nimport { CreatableModuleDictionary, ModuleFactory } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { MemorySentinel } from '@xyo-network/sentinel'\n\nexport const standardCreatableModules: CreatableModuleDictionary = {\n 'network.xyo.archivist.config': MemoryArchivist,\n 'network.xyo.bridge.http.config': ModuleFactory.withParams(HttpBridge, { config: { schema: HttpBridge.configSchema } }),\n 'network.xyo.node.config': MemoryNode,\n 'network.xyo.sentinel.config': MemorySentinel,\n}\n","export * from './ManifestWrapper'\nexport * from './standardCreatableModules'\nexport * from '@xyo-network/manifest-model'\n"],"mappings":"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","names":["MemoryNode","node","external","MemoryNode"]}
package/package.json CHANGED
@@ -11,21 +11,21 @@
11
11
  "description": "Primary SDK for using XYO Protocol 2.0",
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.13.20",
14
- "@xyo-network/http-bridge": "~2.84.2",
15
- "@xyo-network/manifest-model": "~2.84.2",
16
- "@xyo-network/memory-archivist": "~2.84.2",
17
- "@xyo-network/module-model": "~2.84.2",
18
- "@xyo-network/node-memory": "~2.84.2",
19
- "@xyo-network/node-model": "~2.84.2",
20
- "@xyo-network/payload-wrapper": "~2.84.2",
21
- "@xyo-network/sentinel": "~2.84.2",
22
- "@xyo-network/wallet-model": "~2.84.2"
14
+ "@xyo-network/http-bridge": "~2.84.3",
15
+ "@xyo-network/manifest-model": "~2.84.3",
16
+ "@xyo-network/memory-archivist": "~2.84.3",
17
+ "@xyo-network/module-model": "~2.84.3",
18
+ "@xyo-network/node-memory": "~2.84.3",
19
+ "@xyo-network/node-model": "~2.84.3",
20
+ "@xyo-network/payload-wrapper": "~2.84.3",
21
+ "@xyo-network/sentinel": "~2.84.3",
22
+ "@xyo-network/wallet-model": "~2.84.3"
23
23
  },
24
24
  "devDependencies": {
25
- "@xylabs/ts-scripts-yarn3": "^3.2.10",
26
- "@xylabs/tsconfig": "^3.2.10",
27
- "@xyo-network/account": "~2.84.2",
28
- "@xyo-network/address-payload-plugin": "^2.83.0",
25
+ "@xylabs/ts-scripts-yarn3": "^3.2.19",
26
+ "@xylabs/tsconfig": "^3.2.19",
27
+ "@xyo-network/account": "~2.84.3",
28
+ "@xyo-network/address-payload-plugin": "^2.84.0",
29
29
  "typescript": "^5.3.3"
30
30
  },
31
31
  "docs": "dist/docs.json",
@@ -71,5 +71,5 @@
71
71
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
72
72
  },
73
73
  "sideEffects": false,
74
- "version": "2.84.2"
74
+ "version": "2.84.3"
75
75
  }
@@ -16,6 +16,7 @@ import { WalletInstance } from '@xyo-network/wallet-model'
16
16
 
17
17
  import { standardCreatableModules } from './standardCreatableModules'
18
18
 
19
+ /** Provides functionality that can be performed on a PackageManifest */
19
20
  export class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {
20
21
  constructor(
21
22
  payload: PackageManifestPayload,
@@ -115,8 +116,21 @@ export class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {
115
116
  return node
116
117
  }
117
118
 
118
- async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>
119
- async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>
119
+ /**
120
+ * Load the nodes that are defined in the wrapped manifest and optionally attach them to a node
121
+ */
122
+ async loadNodes(
123
+ /** Node to optionally attach the loaded nodes to */
124
+ node?: MemoryNode,
125
+ /** Additional creatable modules */
126
+ additionalCreatableModules?: CreatableModuleRegistry,
127
+ ): Promise<MemoryNode[]>
128
+ async loadNodes(
129
+ /** Node to optionally attach the loaded nodes to */
130
+ node?: MemoryNode,
131
+ /** Additional creatable modules */
132
+ additionalCreatableModules?: CreatableModuleDictionary,
133
+ ): Promise<MemoryNode[]>
120
134
  async loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary | CreatableModuleRegistry): Promise<MemoryNode[]> {
121
135
  const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {})
122
136
  const result = await Promise.all(
@@ -130,12 +144,13 @@ export class ManifestWrapper extends PayloadWrapper<PackageManifestPayload> {
130
144
  }
131
145
 
132
146
  nodeManifest(index: number) {
133
- return this.payload().nodes?.[index]
147
+ return this.jsonPayload().nodes?.[index]
134
148
  }
135
149
 
136
- async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>
137
- async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>
138
- async registerModule(
150
+ /** Register a module on a node based on a manifest */
151
+ private async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>
152
+ private async registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>
153
+ private async registerModule(
139
154
  node: MemoryNode,
140
155
  manifest: ModuleManifest,
141
156
  creatableModules?: CreatableModuleDictionary | CreatableModuleRegistry,