@xyo-network/manifest 2.75.0 → 2.75.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/browser/ManifestWrapper.d.cts +22 -0
  2. package/dist/browser/ManifestWrapper.d.cts.map +1 -0
  3. package/dist/browser/ManifestWrapper.js +5 -20
  4. package/dist/browser/ManifestWrapper.js.map +1 -1
  5. package/dist/browser/index.d.cts +4 -0
  6. package/dist/browser/index.d.cts.map +1 -0
  7. package/dist/browser/index.js +2 -97
  8. package/dist/browser/index.js.map +1 -1
  9. package/dist/browser/schema.cjs +237 -0
  10. package/dist/browser/schema.cjs.map +1 -0
  11. package/dist/browser/schema.js +246 -0
  12. package/dist/browser/schema.js.map +1 -0
  13. package/dist/browser/standardCreatableModules.d.cts +3 -0
  14. package/dist/browser/standardCreatableModules.d.cts.map +1 -0
  15. package/dist/browser/standardCreatableModules.js +1 -2
  16. package/dist/browser/standardCreatableModules.js.map +1 -1
  17. package/dist/docs.json +28494 -0
  18. package/dist/node/ManifestWrapper.d.cts +22 -0
  19. package/dist/node/ManifestWrapper.d.cts.map +1 -0
  20. package/dist/node/ManifestWrapper.js +40 -21
  21. package/dist/node/ManifestWrapper.js.map +1 -1
  22. package/dist/node/ManifestWrapper.mjs +30 -12
  23. package/dist/node/ManifestWrapper.mjs.map +1 -1
  24. package/dist/node/index.d.cts +4 -0
  25. package/dist/node/index.d.cts.map +1 -0
  26. package/dist/node/index.js +105 -4
  27. package/dist/node/index.js.map +1 -1
  28. package/dist/node/index.mjs +100 -2
  29. package/dist/node/index.mjs.map +1 -1
  30. package/dist/node/schema.js +247 -0
  31. package/dist/node/schema.js.map +1 -0
  32. package/dist/node/schema.mjs +247 -0
  33. package/dist/node/schema.mjs.map +1 -0
  34. package/dist/node/standardCreatableModules.d.cts +3 -0
  35. package/dist/node/standardCreatableModules.d.cts.map +1 -0
  36. package/dist/node/standardCreatableModules.js +3 -1
  37. package/dist/node/standardCreatableModules.js.map +1 -1
  38. package/dist/node/standardCreatableModules.mjs +2 -1
  39. package/dist/node/standardCreatableModules.mjs.map +1 -1
  40. package/package.json +14 -14
  41. package/dist/browser/schema.json +0 -228
  42. package/dist/node/schema.json +0 -228
@@ -0,0 +1,22 @@
1
+ import { ManifestPayload, ModuleManifest, NodeManifest } from '@xyo-network/manifest-model';
2
+ import { CreatableModuleDictionary, CreatableModuleRegistry, ModuleFactoryLocator, ModuleInstance } from '@xyo-network/module';
3
+ import { MemoryNode } from '@xyo-network/node-memory';
4
+ import { PayloadWrapper } from '@xyo-network/payload-wrapper';
5
+ import { WalletInstance } from '@xyo-network/wallet-model';
6
+ export declare class ManifestWrapper extends PayloadWrapper<ManifestPayload> {
7
+ protected readonly wallet: WalletInstance;
8
+ protected readonly locator: ModuleFactoryLocator;
9
+ constructor(payload: ManifestPayload, wallet: WalletInstance, locator?: ModuleFactoryLocator);
10
+ loadModule(node: MemoryNode, manifest: ModuleManifest, external: boolean, additionalCreatableModules?: CreatableModuleRegistry): Promise<void>;
11
+ loadModule(node: MemoryNode, manifest: ModuleManifest, external: boolean, additionalCreatableModules?: CreatableModuleDictionary): Promise<void>;
12
+ loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>;
13
+ loadNodeFromIndex(index: number, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>;
14
+ loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode>;
15
+ loadNodeFromManifest(manifest: NodeManifest, path: string, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode>;
16
+ loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleRegistry): Promise<MemoryNode[]>;
17
+ loadNodes(node?: MemoryNode, additionalCreatableModules?: CreatableModuleDictionary): Promise<MemoryNode[]>;
18
+ nodeManifest(index: number): NodeManifest;
19
+ registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleRegistry): Promise<ModuleInstance>;
20
+ registerModule(node: MemoryNode, manifest: ModuleManifest, creatableModules?: CreatableModuleDictionary): Promise<ModuleInstance>;
21
+ }
22
+ //# sourceMappingURL=ManifestWrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManifestWrapper.d.ts","sourceRoot":"","sources":["../../src/ManifestWrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC3F,OAAO,EAEL,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EAEf,MAAM,qBAAqB,CAAA;AAC5B,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,eAAe,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB;gBAFhD,OAAO,EAAE,eAAe,EACL,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,oBAAmD;IAK3E,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;IAsBvI,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;CAiBxI"}
@@ -16,18 +16,34 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/ManifestWrapper.ts
19
21
  var ManifestWrapper_exports = {};
20
22
  __export(ManifestWrapper_exports, {
21
23
  ManifestWrapper: () => ManifestWrapper
22
24
  });
23
25
  module.exports = __toCommonJS(ManifestWrapper_exports);
24
26
  var import_assert = require("@xylabs/assert");
27
+ var import_module2 = require("@xyo-network/module");
28
+ var import_node_memory2 = require("@xyo-network/node-memory");
29
+ var import_payload_wrapper = require("@xyo-network/payload-wrapper");
30
+
31
+ // src/standardCreatableModules.ts
32
+ var import_http_bridge = require("@xyo-network/http-bridge");
33
+ var import_memory_archivist = require("@xyo-network/memory-archivist");
25
34
  var import_module = require("@xyo-network/module");
26
35
  var import_node_memory = require("@xyo-network/node-memory");
27
- var import_payload_wrapper = require("@xyo-network/payload-wrapper");
28
- var import_standardCreatableModules = require("./standardCreatableModules");
29
- class ManifestWrapper extends import_payload_wrapper.PayloadWrapper {
30
- constructor(payload, wallet, locator = new import_module.ModuleFactoryLocator({})) {
36
+ var import_sentinel = require("@xyo-network/sentinel");
37
+ var standardCreatableModules = {
38
+ "network.xyo.archivist.config": import_memory_archivist.MemoryArchivist,
39
+ "network.xyo.bridge.http.config": import_module.ModuleFactory.withParams(import_http_bridge.HttpBridge, { config: { schema: import_http_bridge.HttpBridge.configSchema } }),
40
+ "network.xyo.node.config": import_node_memory.MemoryNode,
41
+ "network.xyo.sentinel.config": import_sentinel.MemorySentinel
42
+ };
43
+
44
+ // src/ManifestWrapper.ts
45
+ var ManifestWrapper = class extends import_payload_wrapper.PayloadWrapper {
46
+ constructor(payload, wallet, locator = new import_module2.ModuleFactoryLocator({})) {
31
47
  super(payload);
32
48
  this.wallet = wallet;
33
49
  this.locator = locator;
@@ -37,10 +53,10 @@ class ManifestWrapper extends import_payload_wrapper.PayloadWrapper {
37
53
  const externalConflict = external2 ? (await node2.resolve({ name: [name] }, { direction: external2 ? "all" : "down" })).length !== 0 : false;
38
54
  return externalConflict || (await node2.resolve({ name: [name] }, { direction: "down" })).length !== 0;
39
55
  };
40
- const creatableModules = (0, import_module.assignCreatableModuleRegistry)(
56
+ const creatableModules = (0, import_module2.assignCreatableModuleRegistry)(
41
57
  {},
42
- (0, import_module.toCreatableModuleRegistry)(import_standardCreatableModules.standardCreatableModules),
43
- (0, import_module.toCreatableModuleRegistry)(additionalCreatableModules ?? {})
58
+ (0, import_module2.toCreatableModuleRegistry)(standardCreatableModules),
59
+ (0, import_module2.toCreatableModuleRegistry)(additionalCreatableModules ?? {})
44
60
  );
45
61
  if (!await collision(node, manifest.config.name, external)) {
46
62
  if (manifest.config.language && manifest.config.language === "javascript") {
@@ -53,38 +69,41 @@ class ManifestWrapper extends import_payload_wrapper.PayloadWrapper {
53
69
  }
54
70
  async loadNodeFromIndex(index, additionalCreatableModules) {
55
71
  const manifest = (0, import_assert.assertEx)(this.nodeManifest(index), "Failed to find Node Manifest");
56
- const registry = (0, import_module.toCreatableModuleRegistry)(additionalCreatableModules ?? {});
72
+ const registry = (0, import_module2.toCreatableModuleRegistry)(additionalCreatableModules ?? {});
57
73
  return await this.loadNodeFromManifest(manifest, manifest.config.accountPath ?? `${index}'`, registry);
58
74
  }
59
75
  async loadNodeFromManifest(manifest, path, additionalCreatableModules) {
60
- const node = await import_node_memory.MemoryNode.create({ config: manifest.config, wallet: await this.wallet.derivePath(path) });
61
- const registry = (0, import_module.toCreatableModuleRegistry)(additionalCreatableModules ?? {});
62
- const privateModules = manifest.modules?.private?.map(async (moduleManifest) => {
76
+ var _a, _b, _c, _d;
77
+ const node = await import_node_memory2.MemoryNode.create({ config: manifest.config, wallet: await this.wallet.derivePath(path) });
78
+ const registry = (0, import_module2.toCreatableModuleRegistry)(additionalCreatableModules ?? {});
79
+ const privateModules = ((_b = (_a = manifest.modules) == null ? void 0 : _a.private) == null ? void 0 : _b.map(async (moduleManifest) => {
63
80
  await this.loadModule(node, moduleManifest, false, registry);
64
- }) ?? [];
65
- const publicModules = manifest.modules?.public?.map(async (moduleManifest) => {
81
+ })) ?? [];
82
+ const publicModules = ((_d = (_c = manifest.modules) == null ? void 0 : _c.public) == null ? void 0 : _d.map(async (moduleManifest) => {
66
83
  await this.loadModule(node, moduleManifest, true, registry);
67
- }) ?? [];
84
+ })) ?? [];
68
85
  await Promise.all([...privateModules, ...publicModules]);
69
86
  return node;
70
87
  }
71
88
  async loadNodes(node, additionalCreatableModules) {
72
- const registry = (0, import_module.toCreatableModuleRegistry)(additionalCreatableModules ?? {});
89
+ var _a;
90
+ const registry = (0, import_module2.toCreatableModuleRegistry)(additionalCreatableModules ?? {});
73
91
  const result = await Promise.all(
74
- this.payload().nodes?.map(async (nodeManifest, index) => {
92
+ (_a = this.payload().nodes) == null ? void 0 : _a.map(async (nodeManifest, index) => {
75
93
  const subNode = await this.loadNodeFromManifest(nodeManifest, nodeManifest.config.accountPath ?? `${index}'`, registry);
76
- await node?.register(subNode);
94
+ await (node == null ? void 0 : node.register(subNode));
77
95
  return subNode;
78
96
  })
79
97
  );
80
98
  return result;
81
99
  }
82
100
  nodeManifest(index) {
83
- return this.payload().nodes?.[index];
101
+ var _a;
102
+ return (_a = this.payload().nodes) == null ? void 0 : _a[index];
84
103
  }
85
104
  async registerModule(node, manifest, creatableModules) {
86
- const registry = (0, import_module.toCreatableModuleRegistry)(creatableModules ?? {});
87
- const creatableModule = new import_module.ModuleFactoryLocator(this.locator.registry).registerMany(registry).locate(manifest.config.schema, manifest.config.labels);
105
+ const registry = (0, import_module2.toCreatableModuleRegistry)(creatableModules ?? {});
106
+ const creatableModule = new import_module2.ModuleFactoryLocator(this.locator.registry).registerMany(registry).locate(manifest.config.schema, manifest.config.labels);
88
107
  const module2 = await creatableModule.create({
89
108
  account: manifest.config.accountPath ? await this.wallet.derivePath(manifest.config.accountPath) : this.wallet,
90
109
  config: (0, import_assert.assertEx)(manifest.config, "Missing config")
@@ -92,7 +111,7 @@ class ManifestWrapper extends import_payload_wrapper.PayloadWrapper {
92
111
  await node.register(module2);
93
112
  return module2;
94
113
  }
95
- }
114
+ };
96
115
  // Annotate the CommonJS export names for ESM import in node:
97
116
  0 && (module.exports = {
98
117
  ManifestWrapper
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ManifestWrapper.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { ManifestPayload, ModuleManifest, NodeManifest } from '@xyo-network/manifest-model'\nimport {\n assignCreatableModuleRegistry,\n CreatableModuleDictionary,\n CreatableModuleRegistry,\n ModuleFactoryLocator,\n ModuleInstance,\n toCreatableModuleRegistry,\n} from '@xyo-network/module'\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<ManifestPayload> {\n constructor(\n payload: ManifestPayload,\n protected readonly wallet: WalletInstance,\n protected readonly locator: ModuleFactoryLocator = new ModuleFactoryLocator({}),\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 node = await MemoryNode.create({ config: manifest.config, wallet: await this.wallet.derivePath(path) })\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 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.payload().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 module = await creatableModule.create({\n account: manifest.config.accountPath ? await this.wallet.derivePath(manifest.config.accountPath) : this.wallet,\n config: assertEx(manifest.config, 'Missing config'),\n })\n await node.register(module)\n return module\n }\n}\n"],"mappings":"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","names":["node","external","module"]}
1
+ {"version":3,"sources":["../../src/ManifestWrapper.ts","../../src/standardCreatableModules.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { ManifestPayload, ModuleManifest, NodeManifest } from '@xyo-network/manifest-model'\nimport {\n assignCreatableModuleRegistry,\n CreatableModuleDictionary,\n CreatableModuleRegistry,\n ModuleFactoryLocator,\n ModuleInstance,\n toCreatableModuleRegistry,\n} from '@xyo-network/module'\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<ManifestPayload> {\n constructor(\n payload: ManifestPayload,\n protected readonly wallet: WalletInstance,\n protected readonly locator: ModuleFactoryLocator = new ModuleFactoryLocator({}),\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 node = await MemoryNode.create({ config: manifest.config, wallet: await this.wallet.derivePath(path) })\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 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.payload().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 module = await creatableModule.create({\n account: manifest.config.accountPath ? await this.wallet.derivePath(manifest.config.accountPath) : this.wallet,\n config: assertEx(manifest.config, 'Missing config'),\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'\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","import_node_memory","node","external","module"]}
@@ -1,13 +1,28 @@
1
+ // src/ManifestWrapper.ts
1
2
  import { assertEx } from "@xylabs/assert";
2
3
  import {
3
4
  assignCreatableModuleRegistry,
4
5
  ModuleFactoryLocator,
5
6
  toCreatableModuleRegistry
6
7
  } from "@xyo-network/module";
7
- import { MemoryNode } from "@xyo-network/node-memory";
8
+ import { MemoryNode as MemoryNode2 } from "@xyo-network/node-memory";
8
9
  import { PayloadWrapper } from "@xyo-network/payload-wrapper";
9
- import { standardCreatableModules } from "./standardCreatableModules";
10
- class ManifestWrapper extends PayloadWrapper {
10
+
11
+ // src/standardCreatableModules.ts
12
+ import { HttpBridge } from "@xyo-network/http-bridge";
13
+ import { MemoryArchivist } from "@xyo-network/memory-archivist";
14
+ import { ModuleFactory } from "@xyo-network/module";
15
+ import { MemoryNode } from "@xyo-network/node-memory";
16
+ import { MemorySentinel } from "@xyo-network/sentinel";
17
+ var standardCreatableModules = {
18
+ "network.xyo.archivist.config": MemoryArchivist,
19
+ "network.xyo.bridge.http.config": ModuleFactory.withParams(HttpBridge, { config: { schema: HttpBridge.configSchema } }),
20
+ "network.xyo.node.config": MemoryNode,
21
+ "network.xyo.sentinel.config": MemorySentinel
22
+ };
23
+
24
+ // src/ManifestWrapper.ts
25
+ var ManifestWrapper = class extends PayloadWrapper {
11
26
  constructor(payload, wallet, locator = new ModuleFactoryLocator({})) {
12
27
  super(payload);
13
28
  this.wallet = wallet;
@@ -38,30 +53,33 @@ class ManifestWrapper extends PayloadWrapper {
38
53
  return await this.loadNodeFromManifest(manifest, manifest.config.accountPath ?? `${index}'`, registry);
39
54
  }
40
55
  async loadNodeFromManifest(manifest, path, additionalCreatableModules) {
41
- const node = await MemoryNode.create({ config: manifest.config, wallet: await this.wallet.derivePath(path) });
56
+ var _a, _b, _c, _d;
57
+ const node = await MemoryNode2.create({ config: manifest.config, wallet: await this.wallet.derivePath(path) });
42
58
  const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {});
43
- const privateModules = manifest.modules?.private?.map(async (moduleManifest) => {
59
+ const privateModules = ((_b = (_a = manifest.modules) == null ? void 0 : _a.private) == null ? void 0 : _b.map(async (moduleManifest) => {
44
60
  await this.loadModule(node, moduleManifest, false, registry);
45
- }) ?? [];
46
- const publicModules = manifest.modules?.public?.map(async (moduleManifest) => {
61
+ })) ?? [];
62
+ const publicModules = ((_d = (_c = manifest.modules) == null ? void 0 : _c.public) == null ? void 0 : _d.map(async (moduleManifest) => {
47
63
  await this.loadModule(node, moduleManifest, true, registry);
48
- }) ?? [];
64
+ })) ?? [];
49
65
  await Promise.all([...privateModules, ...publicModules]);
50
66
  return node;
51
67
  }
52
68
  async loadNodes(node, additionalCreatableModules) {
69
+ var _a;
53
70
  const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {});
54
71
  const result = await Promise.all(
55
- this.payload().nodes?.map(async (nodeManifest, index) => {
72
+ (_a = this.payload().nodes) == null ? void 0 : _a.map(async (nodeManifest, index) => {
56
73
  const subNode = await this.loadNodeFromManifest(nodeManifest, nodeManifest.config.accountPath ?? `${index}'`, registry);
57
- await node?.register(subNode);
74
+ await (node == null ? void 0 : node.register(subNode));
58
75
  return subNode;
59
76
  })
60
77
  );
61
78
  return result;
62
79
  }
63
80
  nodeManifest(index) {
64
- return this.payload().nodes?.[index];
81
+ var _a;
82
+ return (_a = this.payload().nodes) == null ? void 0 : _a[index];
65
83
  }
66
84
  async registerModule(node, manifest, creatableModules) {
67
85
  const registry = toCreatableModuleRegistry(creatableModules ?? {});
@@ -73,7 +91,7 @@ class ManifestWrapper extends PayloadWrapper {
73
91
  await node.register(module);
74
92
  return module;
75
93
  }
76
- }
94
+ };
77
95
  export {
78
96
  ManifestWrapper
79
97
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ManifestWrapper.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { ManifestPayload, ModuleManifest, NodeManifest } from '@xyo-network/manifest-model'\nimport {\n assignCreatableModuleRegistry,\n CreatableModuleDictionary,\n CreatableModuleRegistry,\n ModuleFactoryLocator,\n ModuleInstance,\n toCreatableModuleRegistry,\n} from '@xyo-network/module'\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<ManifestPayload> {\n constructor(\n payload: ManifestPayload,\n protected readonly wallet: WalletInstance,\n protected readonly locator: ModuleFactoryLocator = new ModuleFactoryLocator({}),\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 node = await MemoryNode.create({ config: manifest.config, wallet: await this.wallet.derivePath(path) })\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 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.payload().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 module = await creatableModule.create({\n account: manifest.config.accountPath ? await this.wallet.derivePath(manifest.config.accountPath) : this.wallet,\n config: assertEx(manifest.config, 'Missing config'),\n })\n await node.register(module)\n return module\n }\n}\n"],"mappings":"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","names":["node","external"]}
1
+ {"version":3,"sources":["../../src/ManifestWrapper.ts","../../src/standardCreatableModules.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { ManifestPayload, ModuleManifest, NodeManifest } from '@xyo-network/manifest-model'\nimport {\n assignCreatableModuleRegistry,\n CreatableModuleDictionary,\n CreatableModuleRegistry,\n ModuleFactoryLocator,\n ModuleInstance,\n toCreatableModuleRegistry,\n} from '@xyo-network/module'\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<ManifestPayload> {\n constructor(\n payload: ManifestPayload,\n protected readonly wallet: WalletInstance,\n protected readonly locator: ModuleFactoryLocator = new ModuleFactoryLocator({}),\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 node = await MemoryNode.create({ config: manifest.config, wallet: await this.wallet.derivePath(path) })\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 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.payload().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 module = await creatableModule.create({\n account: manifest.config.accountPath ? await this.wallet.derivePath(manifest.config.accountPath) : this.wallet,\n config: assertEx(manifest.config, 'Missing config'),\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'\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":["MemoryNode","node","external","MemoryNode"]}
@@ -0,0 +1,4 @@
1
+ export * from './ManifestWrapper';
2
+ export * from './standardCreatableModules';
3
+ export * from '@xyo-network/manifest-model';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA"}
@@ -3,6 +3,10 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
6
10
  var __copyProps = (to, from, except, desc) => {
7
11
  if (from && typeof from === "object" || typeof from === "function") {
8
12
  for (let key of __getOwnPropNames(from))
@@ -13,15 +17,112 @@ var __copyProps = (to, from, except, desc) => {
13
17
  };
14
18
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
19
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/index.ts
16
22
  var src_exports = {};
23
+ __export(src_exports, {
24
+ ManifestWrapper: () => ManifestWrapper,
25
+ standardCreatableModules: () => standardCreatableModules
26
+ });
17
27
  module.exports = __toCommonJS(src_exports);
18
- __reExport(src_exports, require("./ManifestWrapper"), module.exports);
19
- __reExport(src_exports, require("./standardCreatableModules"), module.exports);
28
+
29
+ // src/ManifestWrapper.ts
30
+ var import_assert = require("@xylabs/assert");
31
+ var import_module2 = require("@xyo-network/module");
32
+ var import_node_memory2 = require("@xyo-network/node-memory");
33
+ var import_payload_wrapper = require("@xyo-network/payload-wrapper");
34
+
35
+ // src/standardCreatableModules.ts
36
+ var import_http_bridge = require("@xyo-network/http-bridge");
37
+ var import_memory_archivist = require("@xyo-network/memory-archivist");
38
+ var import_module = require("@xyo-network/module");
39
+ var import_node_memory = require("@xyo-network/node-memory");
40
+ var import_sentinel = require("@xyo-network/sentinel");
41
+ var standardCreatableModules = {
42
+ "network.xyo.archivist.config": import_memory_archivist.MemoryArchivist,
43
+ "network.xyo.bridge.http.config": import_module.ModuleFactory.withParams(import_http_bridge.HttpBridge, { config: { schema: import_http_bridge.HttpBridge.configSchema } }),
44
+ "network.xyo.node.config": import_node_memory.MemoryNode,
45
+ "network.xyo.sentinel.config": import_sentinel.MemorySentinel
46
+ };
47
+
48
+ // src/ManifestWrapper.ts
49
+ var ManifestWrapper = class extends import_payload_wrapper.PayloadWrapper {
50
+ constructor(payload, wallet, locator = new import_module2.ModuleFactoryLocator({})) {
51
+ super(payload);
52
+ this.wallet = wallet;
53
+ this.locator = locator;
54
+ }
55
+ async loadModule(node, manifest, external = true, additionalCreatableModules) {
56
+ const collision = async (node2, name, external2) => {
57
+ const externalConflict = external2 ? (await node2.resolve({ name: [name] }, { direction: external2 ? "all" : "down" })).length !== 0 : false;
58
+ return externalConflict || (await node2.resolve({ name: [name] }, { direction: "down" })).length !== 0;
59
+ };
60
+ const creatableModules = (0, import_module2.assignCreatableModuleRegistry)(
61
+ {},
62
+ (0, import_module2.toCreatableModuleRegistry)(standardCreatableModules),
63
+ (0, import_module2.toCreatableModuleRegistry)(additionalCreatableModules ?? {})
64
+ );
65
+ if (!await collision(node, manifest.config.name, external)) {
66
+ if (manifest.config.language && manifest.config.language === "javascript") {
67
+ (0, import_assert.assertEx)(
68
+ (manifest.config.name && await node.attach(manifest.config.name, external)) ?? await node.attach((await this.registerModule(node, manifest, creatableModules)).address, external),
69
+ `No module with config schema [${manifest.config.name}] registered`
70
+ );
71
+ }
72
+ }
73
+ }
74
+ async loadNodeFromIndex(index, additionalCreatableModules) {
75
+ const manifest = (0, import_assert.assertEx)(this.nodeManifest(index), "Failed to find Node Manifest");
76
+ const registry = (0, import_module2.toCreatableModuleRegistry)(additionalCreatableModules ?? {});
77
+ return await this.loadNodeFromManifest(manifest, manifest.config.accountPath ?? `${index}'`, registry);
78
+ }
79
+ async loadNodeFromManifest(manifest, path, additionalCreatableModules) {
80
+ var _a, _b, _c, _d;
81
+ const node = await import_node_memory2.MemoryNode.create({ config: manifest.config, wallet: await this.wallet.derivePath(path) });
82
+ const registry = (0, import_module2.toCreatableModuleRegistry)(additionalCreatableModules ?? {});
83
+ const privateModules = ((_b = (_a = manifest.modules) == null ? void 0 : _a.private) == null ? void 0 : _b.map(async (moduleManifest) => {
84
+ await this.loadModule(node, moduleManifest, false, registry);
85
+ })) ?? [];
86
+ const publicModules = ((_d = (_c = manifest.modules) == null ? void 0 : _c.public) == null ? void 0 : _d.map(async (moduleManifest) => {
87
+ await this.loadModule(node, moduleManifest, true, registry);
88
+ })) ?? [];
89
+ await Promise.all([...privateModules, ...publicModules]);
90
+ return node;
91
+ }
92
+ async loadNodes(node, additionalCreatableModules) {
93
+ var _a;
94
+ const registry = (0, import_module2.toCreatableModuleRegistry)(additionalCreatableModules ?? {});
95
+ const result = await Promise.all(
96
+ (_a = this.payload().nodes) == null ? void 0 : _a.map(async (nodeManifest, index) => {
97
+ const subNode = await this.loadNodeFromManifest(nodeManifest, nodeManifest.config.accountPath ?? `${index}'`, registry);
98
+ await (node == null ? void 0 : node.register(subNode));
99
+ return subNode;
100
+ })
101
+ );
102
+ return result;
103
+ }
104
+ nodeManifest(index) {
105
+ var _a;
106
+ return (_a = this.payload().nodes) == null ? void 0 : _a[index];
107
+ }
108
+ async registerModule(node, manifest, creatableModules) {
109
+ const registry = (0, import_module2.toCreatableModuleRegistry)(creatableModules ?? {});
110
+ const creatableModule = new import_module2.ModuleFactoryLocator(this.locator.registry).registerMany(registry).locate(manifest.config.schema, manifest.config.labels);
111
+ const module2 = await creatableModule.create({
112
+ account: manifest.config.accountPath ? await this.wallet.derivePath(manifest.config.accountPath) : this.wallet,
113
+ config: (0, import_assert.assertEx)(manifest.config, "Missing config")
114
+ });
115
+ await node.register(module2);
116
+ return module2;
117
+ }
118
+ };
119
+
120
+ // src/index.ts
20
121
  __reExport(src_exports, require("@xyo-network/manifest-model"), module.exports);
21
122
  // Annotate the CommonJS export names for ESM import in node:
22
123
  0 && (module.exports = {
23
- ...require("./ManifestWrapper"),
24
- ...require("./standardCreatableModules"),
124
+ ManifestWrapper,
125
+ standardCreatableModules,
25
126
  ...require("@xyo-network/manifest-model")
26
127
  });
27
128
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './ManifestWrapper'\nexport * from './standardCreatableModules'\nexport * from '@xyo-network/manifest-model'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,8BAAd;AACA,wBAAc,uCADd;AAEA,wBAAc,wCAFd;","names":[]}
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 { ManifestPayload, ModuleManifest, NodeManifest } from '@xyo-network/manifest-model'\nimport {\n assignCreatableModuleRegistry,\n CreatableModuleDictionary,\n CreatableModuleRegistry,\n ModuleFactoryLocator,\n ModuleInstance,\n toCreatableModuleRegistry,\n} from '@xyo-network/module'\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<ManifestPayload> {\n constructor(\n payload: ManifestPayload,\n protected readonly wallet: WalletInstance,\n protected readonly locator: ModuleFactoryLocator = new ModuleFactoryLocator({}),\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 node = await MemoryNode.create({ config: manifest.config, wallet: await this.wallet.derivePath(path) })\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 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.payload().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 module = await creatableModule.create({\n account: manifest.config.accountPath ? await this.wallet.derivePath(manifest.config.accountPath) : this.wallet,\n config: assertEx(manifest.config, 'Missing config'),\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'\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","import_node_memory","node","external","module"]}
@@ -1,4 +1,102 @@
1
- export * from "./ManifestWrapper";
2
- export * from "./standardCreatableModules";
1
+ // src/ManifestWrapper.ts
2
+ import { assertEx } from "@xylabs/assert";
3
+ import {
4
+ assignCreatableModuleRegistry,
5
+ ModuleFactoryLocator,
6
+ toCreatableModuleRegistry
7
+ } from "@xyo-network/module";
8
+ import { MemoryNode as MemoryNode2 } from "@xyo-network/node-memory";
9
+ import { PayloadWrapper } from "@xyo-network/payload-wrapper";
10
+
11
+ // src/standardCreatableModules.ts
12
+ import { HttpBridge } from "@xyo-network/http-bridge";
13
+ import { MemoryArchivist } from "@xyo-network/memory-archivist";
14
+ import { ModuleFactory } from "@xyo-network/module";
15
+ import { MemoryNode } from "@xyo-network/node-memory";
16
+ import { MemorySentinel } from "@xyo-network/sentinel";
17
+ var standardCreatableModules = {
18
+ "network.xyo.archivist.config": MemoryArchivist,
19
+ "network.xyo.bridge.http.config": ModuleFactory.withParams(HttpBridge, { config: { schema: HttpBridge.configSchema } }),
20
+ "network.xyo.node.config": MemoryNode,
21
+ "network.xyo.sentinel.config": MemorySentinel
22
+ };
23
+
24
+ // src/ManifestWrapper.ts
25
+ var ManifestWrapper = class extends PayloadWrapper {
26
+ constructor(payload, wallet, locator = new ModuleFactoryLocator({})) {
27
+ super(payload);
28
+ this.wallet = wallet;
29
+ this.locator = locator;
30
+ }
31
+ async loadModule(node, manifest, external = true, additionalCreatableModules) {
32
+ const collision = async (node2, name, external2) => {
33
+ const externalConflict = external2 ? (await node2.resolve({ name: [name] }, { direction: external2 ? "all" : "down" })).length !== 0 : false;
34
+ return externalConflict || (await node2.resolve({ name: [name] }, { direction: "down" })).length !== 0;
35
+ };
36
+ const creatableModules = assignCreatableModuleRegistry(
37
+ {},
38
+ toCreatableModuleRegistry(standardCreatableModules),
39
+ toCreatableModuleRegistry(additionalCreatableModules ?? {})
40
+ );
41
+ if (!await collision(node, manifest.config.name, external)) {
42
+ if (manifest.config.language && manifest.config.language === "javascript") {
43
+ assertEx(
44
+ (manifest.config.name && await node.attach(manifest.config.name, external)) ?? await node.attach((await this.registerModule(node, manifest, creatableModules)).address, external),
45
+ `No module with config schema [${manifest.config.name}] registered`
46
+ );
47
+ }
48
+ }
49
+ }
50
+ async loadNodeFromIndex(index, additionalCreatableModules) {
51
+ const manifest = assertEx(this.nodeManifest(index), "Failed to find Node Manifest");
52
+ const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {});
53
+ return await this.loadNodeFromManifest(manifest, manifest.config.accountPath ?? `${index}'`, registry);
54
+ }
55
+ async loadNodeFromManifest(manifest, path, additionalCreatableModules) {
56
+ var _a, _b, _c, _d;
57
+ const node = await MemoryNode2.create({ config: manifest.config, wallet: await this.wallet.derivePath(path) });
58
+ const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {});
59
+ const privateModules = ((_b = (_a = manifest.modules) == null ? void 0 : _a.private) == null ? void 0 : _b.map(async (moduleManifest) => {
60
+ await this.loadModule(node, moduleManifest, false, registry);
61
+ })) ?? [];
62
+ const publicModules = ((_d = (_c = manifest.modules) == null ? void 0 : _c.public) == null ? void 0 : _d.map(async (moduleManifest) => {
63
+ await this.loadModule(node, moduleManifest, true, registry);
64
+ })) ?? [];
65
+ await Promise.all([...privateModules, ...publicModules]);
66
+ return node;
67
+ }
68
+ async loadNodes(node, additionalCreatableModules) {
69
+ var _a;
70
+ const registry = toCreatableModuleRegistry(additionalCreatableModules ?? {});
71
+ const result = await Promise.all(
72
+ (_a = this.payload().nodes) == null ? void 0 : _a.map(async (nodeManifest, index) => {
73
+ const subNode = await this.loadNodeFromManifest(nodeManifest, nodeManifest.config.accountPath ?? `${index}'`, registry);
74
+ await (node == null ? void 0 : node.register(subNode));
75
+ return subNode;
76
+ })
77
+ );
78
+ return result;
79
+ }
80
+ nodeManifest(index) {
81
+ var _a;
82
+ return (_a = this.payload().nodes) == null ? void 0 : _a[index];
83
+ }
84
+ async registerModule(node, manifest, creatableModules) {
85
+ const registry = toCreatableModuleRegistry(creatableModules ?? {});
86
+ const creatableModule = new ModuleFactoryLocator(this.locator.registry).registerMany(registry).locate(manifest.config.schema, manifest.config.labels);
87
+ const module = await creatableModule.create({
88
+ account: manifest.config.accountPath ? await this.wallet.derivePath(manifest.config.accountPath) : this.wallet,
89
+ config: assertEx(manifest.config, "Missing config")
90
+ });
91
+ await node.register(module);
92
+ return module;
93
+ }
94
+ };
95
+
96
+ // src/index.ts
3
97
  export * from "@xyo-network/manifest-model";
98
+ export {
99
+ ManifestWrapper,
100
+ standardCreatableModules
101
+ };
4
102
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './ManifestWrapper'\nexport * from './standardCreatableModules'\nexport * from '@xyo-network/manifest-model'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../src/ManifestWrapper.ts","../../src/standardCreatableModules.ts","../../src/index.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { ManifestPayload, ModuleManifest, NodeManifest } from '@xyo-network/manifest-model'\nimport {\n assignCreatableModuleRegistry,\n CreatableModuleDictionary,\n CreatableModuleRegistry,\n ModuleFactoryLocator,\n ModuleInstance,\n toCreatableModuleRegistry,\n} from '@xyo-network/module'\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<ManifestPayload> {\n constructor(\n payload: ManifestPayload,\n protected readonly wallet: WalletInstance,\n protected readonly locator: ModuleFactoryLocator = new ModuleFactoryLocator({}),\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 node = await MemoryNode.create({ config: manifest.config, wallet: await this.wallet.derivePath(path) })\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 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.payload().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 module = await creatableModule.create({\n account: manifest.config.accountPath ? await this.wallet.derivePath(manifest.config.accountPath) : this.wallet,\n config: assertEx(manifest.config, 'Missing config'),\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'\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"]}