@xyo-network/react-standard-node 2.81.10 → 2.82.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/dist/browser/components/ActiveStandardNode.d.cts +1 -0
  2. package/dist/browser/components/ActiveStandardNode.d.cts.map +1 -1
  3. package/dist/browser/components/ActiveStandardNode.d.mts +1 -0
  4. package/dist/browser/components/ActiveStandardNode.d.mts.map +1 -1
  5. package/dist/browser/components/ActiveStandardNode.d.ts +1 -0
  6. package/dist/browser/components/ActiveStandardNode.d.ts.map +1 -1
  7. package/dist/browser/components/index.d.cts +1 -1
  8. package/dist/browser/components/index.d.cts.map +1 -1
  9. package/dist/browser/components/index.d.mts +1 -1
  10. package/dist/browser/components/index.d.mts.map +1 -1
  11. package/dist/browser/components/index.d.ts +1 -1
  12. package/dist/browser/components/index.d.ts.map +1 -1
  13. package/dist/browser/contexts/StandardRemoteNodes/Context.d.cts +1 -1
  14. package/dist/browser/contexts/StandardRemoteNodes/Context.d.mts +1 -1
  15. package/dist/browser/contexts/StandardRemoteNodes/Context.d.ts +1 -1
  16. package/dist/browser/contexts/StandardRemoteNodes/Providers.d.cts +2 -1
  17. package/dist/browser/contexts/StandardRemoteNodes/Providers.d.cts.map +1 -1
  18. package/dist/browser/contexts/StandardRemoteNodes/Providers.d.mts +2 -1
  19. package/dist/browser/contexts/StandardRemoteNodes/Providers.d.mts.map +1 -1
  20. package/dist/browser/contexts/StandardRemoteNodes/Providers.d.ts +2 -1
  21. package/dist/browser/contexts/StandardRemoteNodes/Providers.d.ts.map +1 -1
  22. package/dist/browser/contexts/StandardRemoteNodes/index.d.cts +4 -4
  23. package/dist/browser/contexts/StandardRemoteNodes/index.d.cts.map +1 -1
  24. package/dist/browser/contexts/StandardRemoteNodes/index.d.mts +4 -4
  25. package/dist/browser/contexts/StandardRemoteNodes/index.d.mts.map +1 -1
  26. package/dist/browser/contexts/StandardRemoteNodes/index.d.ts +4 -4
  27. package/dist/browser/contexts/StandardRemoteNodes/index.d.ts.map +1 -1
  28. package/dist/browser/contexts/StandardRemoteNodes/use.d.cts +1 -1
  29. package/dist/browser/contexts/StandardRemoteNodes/use.d.cts.map +1 -1
  30. package/dist/browser/contexts/StandardRemoteNodes/use.d.mts +1 -1
  31. package/dist/browser/contexts/StandardRemoteNodes/use.d.mts.map +1 -1
  32. package/dist/browser/contexts/StandardRemoteNodes/use.d.ts +1 -1
  33. package/dist/browser/contexts/StandardRemoteNodes/use.d.ts.map +1 -1
  34. package/dist/browser/contexts/index.d.cts +1 -1
  35. package/dist/browser/contexts/index.d.mts +1 -1
  36. package/dist/browser/contexts/index.d.ts +1 -1
  37. package/dist/browser/hooks/index.d.cts +1 -1
  38. package/dist/browser/hooks/index.d.mts +1 -1
  39. package/dist/browser/hooks/index.d.ts +1 -1
  40. package/dist/browser/index.cjs +184 -100
  41. package/dist/browser/index.cjs.map +1 -1
  42. package/dist/browser/index.d.cts +4 -4
  43. package/dist/browser/index.d.mts +4 -4
  44. package/dist/browser/index.d.ts +4 -4
  45. package/dist/browser/{index.js → index.mjs} +179 -103
  46. package/dist/browser/index.mjs.map +1 -0
  47. package/dist/browser/lib/Builders/index.d.cts +3 -3
  48. package/dist/browser/lib/Builders/index.d.mts +3 -3
  49. package/dist/browser/lib/Builders/index.d.ts +3 -3
  50. package/dist/browser/lib/index.d.cts +4 -4
  51. package/dist/browser/lib/index.d.mts +4 -4
  52. package/dist/browser/lib/index.d.ts +4 -4
  53. package/dist/neutral/components/ActiveStandardNode.d.cts +1 -0
  54. package/dist/neutral/components/ActiveStandardNode.d.cts.map +1 -1
  55. package/dist/neutral/components/ActiveStandardNode.d.mts +1 -0
  56. package/dist/neutral/components/ActiveStandardNode.d.mts.map +1 -1
  57. package/dist/neutral/components/ActiveStandardNode.d.ts +1 -0
  58. package/dist/neutral/components/ActiveStandardNode.d.ts.map +1 -1
  59. package/dist/neutral/components/index.d.cts +1 -1
  60. package/dist/neutral/components/index.d.cts.map +1 -1
  61. package/dist/neutral/components/index.d.mts +1 -1
  62. package/dist/neutral/components/index.d.mts.map +1 -1
  63. package/dist/neutral/components/index.d.ts +1 -1
  64. package/dist/neutral/components/index.d.ts.map +1 -1
  65. package/dist/neutral/contexts/StandardRemoteNodes/Context.d.cts +1 -1
  66. package/dist/neutral/contexts/StandardRemoteNodes/Context.d.mts +1 -1
  67. package/dist/neutral/contexts/StandardRemoteNodes/Context.d.ts +1 -1
  68. package/dist/neutral/contexts/StandardRemoteNodes/Providers.d.cts +2 -1
  69. package/dist/neutral/contexts/StandardRemoteNodes/Providers.d.cts.map +1 -1
  70. package/dist/neutral/contexts/StandardRemoteNodes/Providers.d.mts +2 -1
  71. package/dist/neutral/contexts/StandardRemoteNodes/Providers.d.mts.map +1 -1
  72. package/dist/neutral/contexts/StandardRemoteNodes/Providers.d.ts +2 -1
  73. package/dist/neutral/contexts/StandardRemoteNodes/Providers.d.ts.map +1 -1
  74. package/dist/neutral/contexts/StandardRemoteNodes/index.d.cts +4 -4
  75. package/dist/neutral/contexts/StandardRemoteNodes/index.d.cts.map +1 -1
  76. package/dist/neutral/contexts/StandardRemoteNodes/index.d.mts +4 -4
  77. package/dist/neutral/contexts/StandardRemoteNodes/index.d.mts.map +1 -1
  78. package/dist/neutral/contexts/StandardRemoteNodes/index.d.ts +4 -4
  79. package/dist/neutral/contexts/StandardRemoteNodes/index.d.ts.map +1 -1
  80. package/dist/neutral/contexts/StandardRemoteNodes/use.d.cts +1 -1
  81. package/dist/neutral/contexts/StandardRemoteNodes/use.d.cts.map +1 -1
  82. package/dist/neutral/contexts/StandardRemoteNodes/use.d.mts +1 -1
  83. package/dist/neutral/contexts/StandardRemoteNodes/use.d.mts.map +1 -1
  84. package/dist/neutral/contexts/StandardRemoteNodes/use.d.ts +1 -1
  85. package/dist/neutral/contexts/StandardRemoteNodes/use.d.ts.map +1 -1
  86. package/dist/neutral/contexts/index.d.cts +1 -1
  87. package/dist/neutral/contexts/index.d.mts +1 -1
  88. package/dist/neutral/contexts/index.d.ts +1 -1
  89. package/dist/neutral/hooks/index.d.cts +1 -1
  90. package/dist/neutral/hooks/index.d.mts +1 -1
  91. package/dist/neutral/hooks/index.d.ts +1 -1
  92. package/dist/neutral/index.cjs +184 -100
  93. package/dist/neutral/index.cjs.map +1 -1
  94. package/dist/neutral/index.d.cts +4 -4
  95. package/dist/neutral/index.d.mts +4 -4
  96. package/dist/neutral/index.d.ts +4 -4
  97. package/dist/neutral/{index.js → index.mjs} +179 -103
  98. package/dist/neutral/index.mjs.map +1 -0
  99. package/dist/neutral/lib/Builders/index.d.cts +3 -3
  100. package/dist/neutral/lib/Builders/index.d.mts +3 -3
  101. package/dist/neutral/lib/Builders/index.d.ts +3 -3
  102. package/dist/neutral/lib/index.d.cts +4 -4
  103. package/dist/neutral/lib/index.d.mts +4 -4
  104. package/dist/neutral/lib/index.d.ts +4 -4
  105. package/dist/node/components/ActiveStandardNode.d.cts +1 -0
  106. package/dist/node/components/ActiveStandardNode.d.cts.map +1 -1
  107. package/dist/node/components/ActiveStandardNode.d.mts +1 -0
  108. package/dist/node/components/ActiveStandardNode.d.mts.map +1 -1
  109. package/dist/node/components/ActiveStandardNode.d.ts +1 -0
  110. package/dist/node/components/ActiveStandardNode.d.ts.map +1 -1
  111. package/dist/node/components/index.d.cts +1 -1
  112. package/dist/node/components/index.d.cts.map +1 -1
  113. package/dist/node/components/index.d.mts +1 -1
  114. package/dist/node/components/index.d.mts.map +1 -1
  115. package/dist/node/components/index.d.ts +1 -1
  116. package/dist/node/components/index.d.ts.map +1 -1
  117. package/dist/node/contexts/StandardRemoteNodes/Context.d.cts +1 -1
  118. package/dist/node/contexts/StandardRemoteNodes/Context.d.mts +1 -1
  119. package/dist/node/contexts/StandardRemoteNodes/Context.d.ts +1 -1
  120. package/dist/node/contexts/StandardRemoteNodes/Providers.d.cts +2 -1
  121. package/dist/node/contexts/StandardRemoteNodes/Providers.d.cts.map +1 -1
  122. package/dist/node/contexts/StandardRemoteNodes/Providers.d.mts +2 -1
  123. package/dist/node/contexts/StandardRemoteNodes/Providers.d.mts.map +1 -1
  124. package/dist/node/contexts/StandardRemoteNodes/Providers.d.ts +2 -1
  125. package/dist/node/contexts/StandardRemoteNodes/Providers.d.ts.map +1 -1
  126. package/dist/node/contexts/StandardRemoteNodes/index.d.cts +4 -4
  127. package/dist/node/contexts/StandardRemoteNodes/index.d.cts.map +1 -1
  128. package/dist/node/contexts/StandardRemoteNodes/index.d.mts +4 -4
  129. package/dist/node/contexts/StandardRemoteNodes/index.d.mts.map +1 -1
  130. package/dist/node/contexts/StandardRemoteNodes/index.d.ts +4 -4
  131. package/dist/node/contexts/StandardRemoteNodes/index.d.ts.map +1 -1
  132. package/dist/node/contexts/StandardRemoteNodes/use.d.cts +1 -1
  133. package/dist/node/contexts/StandardRemoteNodes/use.d.cts.map +1 -1
  134. package/dist/node/contexts/StandardRemoteNodes/use.d.mts +1 -1
  135. package/dist/node/contexts/StandardRemoteNodes/use.d.mts.map +1 -1
  136. package/dist/node/contexts/StandardRemoteNodes/use.d.ts +1 -1
  137. package/dist/node/contexts/StandardRemoteNodes/use.d.ts.map +1 -1
  138. package/dist/node/contexts/index.d.cts +1 -1
  139. package/dist/node/contexts/index.d.mts +1 -1
  140. package/dist/node/contexts/index.d.ts +1 -1
  141. package/dist/node/hooks/index.d.cts +1 -1
  142. package/dist/node/hooks/index.d.mts +1 -1
  143. package/dist/node/hooks/index.d.ts +1 -1
  144. package/dist/node/index.cjs +187 -106
  145. package/dist/node/index.cjs.map +1 -1
  146. package/dist/node/index.d.cts +4 -4
  147. package/dist/node/index.d.mts +4 -4
  148. package/dist/node/index.d.ts +4 -4
  149. package/dist/node/{index.js → index.mjs} +182 -109
  150. package/dist/node/index.mjs.map +1 -0
  151. package/dist/node/lib/Builders/index.d.cts +3 -3
  152. package/dist/node/lib/Builders/index.d.mts +3 -3
  153. package/dist/node/lib/Builders/index.d.ts +3 -3
  154. package/dist/node/lib/index.d.cts +4 -4
  155. package/dist/node/lib/index.d.mts +4 -4
  156. package/dist/node/lib/index.d.ts +4 -4
  157. package/package.json +29 -29
  158. package/src/components/ActiveStandardNode.tsx +3 -4
  159. package/src/components/index.ts +1 -1
  160. package/src/contexts/StandardRemoteNodes/Context.ts +1 -1
  161. package/src/contexts/StandardRemoteNodes/Providers.tsx +12 -11
  162. package/src/contexts/StandardRemoteNodes/index.ts +4 -4
  163. package/src/contexts/StandardRemoteNodes/{use.tsx → use.ts} +1 -1
  164. package/src/contexts/index.ts +1 -1
  165. package/src/hooks/index.ts +1 -1
  166. package/src/hooks/useActiveNodeAddress.ts +1 -1
  167. package/src/index.ts +4 -4
  168. package/src/lib/Builders/MemoryNodeBuilder.ts +2 -2
  169. package/src/lib/Builders/index.ts +3 -3
  170. package/src/lib/ModuleAccountPaths.ts +1 -1
  171. package/src/lib/buildNodes.ts +5 -5
  172. package/src/lib/index.ts +4 -4
  173. package/dist/browser/index.js.map +0 -1
  174. package/dist/neutral/index.js.map +0 -1
  175. package/dist/node/index.js.map +0 -1
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
9
  var __export = (target, all) => {
7
10
  for (var name in all)
8
11
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -15,6 +18,14 @@ var __copyProps = (to, from, except, desc) => {
15
18
  }
16
19
  return to;
17
20
  };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
18
29
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
30
 
20
31
  // src/index.ts
@@ -42,7 +53,7 @@ module.exports = __toCommonJS(src_exports);
42
53
  var import_react_async_effect = require("@xylabs/react-async-effect");
43
54
  var import_react_network2 = require("@xyo-network/react-network");
44
55
  var import_react_node2 = require("@xyo-network/react-node");
45
- var import_react3 = require("react");
56
+ var import_react3 = __toESM(require("react"), 1);
46
57
 
47
58
  // src/contexts/StandardRemoteNodes/Context.ts
48
59
  var import_react_shared = require("@xyo-network/react-shared");
@@ -52,7 +63,7 @@ var StandardNodesContext = (0, import_react_shared.createContextEx)();
52
63
  var import_react_promise = require("@xylabs/react-promise");
53
64
  var import_react_shared6 = require("@xyo-network/react-shared");
54
65
  var import_react_wallet = require("@xyo-network/react-wallet");
55
- var import_react = require("react");
66
+ var import_react = __toESM(require("react"), 1);
56
67
 
57
68
  // src/lib/Builders/MemoryNodeBuilder.ts
58
69
  var import_archivist_memory = require("@xyo-network/archivist-memory");
@@ -65,12 +76,17 @@ var import_react_shared4 = require("@xyo-network/react-shared");
65
76
  var import_react_shared2 = require("@xyo-network/react-shared");
66
77
  var import_sentinel_memory = require("@xyo-network/sentinel-memory");
67
78
  var SentinelBuilder = class {
79
+ static {
80
+ __name(this, "SentinelBuilder");
81
+ }
82
+ config;
83
+ account;
84
+ _sentinel;
68
85
  constructor(config, account) {
69
86
  this.config = config;
70
87
  this.account = account;
71
88
  (0, import_react_shared2.assertDefinedEx)(config, "config was not defined");
72
89
  }
73
- _sentinel;
74
90
  get sentinel() {
75
91
  return (0, import_react_shared2.assertDefinedEx)(this._sentinel, "this._sentinel not defined upon create");
76
92
  }
@@ -97,13 +113,19 @@ var import_archivist_storage = require("@xyo-network/archivist-storage");
97
113
  var import_node_model = require("@xyo-network/node-model");
98
114
  var import_react_shared3 = require("@xyo-network/react-shared");
99
115
  var StorageArchivistBuilder = class {
116
+ static {
117
+ __name(this, "StorageArchivistBuilder");
118
+ }
119
+ config;
120
+ account;
121
+ node;
122
+ _archivist;
123
+ remoteArchivist;
100
124
  constructor(config, account, node) {
101
125
  this.config = config;
102
126
  this.account = account;
103
127
  this.node = node;
104
128
  }
105
- _archivist;
106
- remoteArchivist;
107
129
  get archivist() {
108
130
  return (0, import_react_shared3.assertDefinedEx)(this._archivist, "archivist was not defined upon create");
109
131
  }
@@ -115,15 +137,22 @@ var StorageArchivistBuilder = class {
115
137
  }
116
138
  async buildArchivist() {
117
139
  const config = this.buildConfig();
118
- return await import_archivist_storage.StorageArchivist.create({ account: this.account, config });
140
+ return await import_archivist_storage.StorageArchivist.create({
141
+ account: this.account,
142
+ config
143
+ });
119
144
  }
120
145
  buildConfig() {
121
146
  return {
122
147
  name: this.config.name,
123
148
  namespace: this.config.namespace,
124
149
  parents: {
125
- commit: this.remoteArchivist ? [this.remoteArchivist?.address] : void 0,
126
- read: this.remoteArchivist ? [this.remoteArchivist?.address] : void 0
150
+ commit: this.remoteArchivist ? [
151
+ this.remoteArchivist?.address
152
+ ] : void 0,
153
+ read: this.remoteArchivist ? [
154
+ this.remoteArchivist?.address
155
+ ] : void 0
127
156
  },
128
157
  schema: import_archivist_storage.StorageArchivistConfigSchema,
129
158
  storeParentReads: true,
@@ -132,10 +161,18 @@ var StorageArchivistBuilder = class {
132
161
  }
133
162
  async findParentArchivist() {
134
163
  const node = (0, import_node_model.asNodeInstance)(this.node, "node not defined");
135
- const [bridge] = await node.resolve({ name: ["RemoteNodeBridge"] }) ?? [];
164
+ const [bridge] = await node.resolve({
165
+ name: [
166
+ "RemoteNodeBridge"
167
+ ]
168
+ }) ?? [];
136
169
  if (bridge) {
137
170
  try {
138
- const [archivist] = await bridge.resolve({ name: ["Archivist"] }) ?? [];
171
+ const [archivist] = await bridge.resolve({
172
+ name: [
173
+ "Archivist"
174
+ ]
175
+ }) ?? [];
139
176
  return (0, import_archivist_model.asArchivistInstance)(archivist);
140
177
  } catch {
141
178
  console.error("Error Resolving Parent Archivist", this.node?.config.name, this.config);
@@ -146,13 +183,22 @@ var StorageArchivistBuilder = class {
146
183
 
147
184
  // src/lib/Builders/MemoryNodeBuilder.ts
148
185
  var MemoryNodeBuilder = class {
186
+ static {
187
+ __name(this, "MemoryNodeBuilder");
188
+ }
149
189
  _node;
150
190
  get node() {
151
191
  return (0, import_react_shared4.assertDefinedEx)(this._node, "this._node was not defined upon create");
152
192
  }
153
193
  static async create({ name, node }, account) {
154
194
  const instance = new this();
155
- const memoryNode = node ?? await import_node_memory.MemoryNode.create({ account, config: { name, schema: import_node_model2.NodeConfigSchema } });
195
+ const memoryNode = node ?? await import_node_memory.MemoryNode.create({
196
+ account,
197
+ config: {
198
+ name,
199
+ schema: import_node_model2.NodeConfigSchema
200
+ }
201
+ });
156
202
  instance._node = memoryNode;
157
203
  return instance;
158
204
  }
@@ -161,12 +207,21 @@ var MemoryNodeBuilder = class {
161
207
  await this.addArchivistStorage(account, moduleName, namespace);
162
208
  }
163
209
  async addArchivistMemory(moduleName, account) {
164
- const config = { name: moduleName, schema: import_archivist_memory.MemoryArchivistConfigSchema };
165
- const memoryArchivist = await import_archivist_memory.MemoryArchivist.create({ account, config });
210
+ const config = {
211
+ name: moduleName,
212
+ schema: import_archivist_memory.MemoryArchivistConfigSchema
213
+ };
214
+ const memoryArchivist = await import_archivist_memory.MemoryArchivist.create({
215
+ account,
216
+ config
217
+ });
166
218
  await this.attach(memoryArchivist, true);
167
219
  }
168
220
  async addArchivistStorage(account, moduleName, namespace) {
169
- const config = { name: moduleName, namespace };
221
+ const config = {
222
+ name: moduleName,
223
+ namespace
224
+ };
170
225
  const { archivist } = await StorageArchivistBuilder.create(config, account, this.node);
171
226
  await this.attach(archivist, true);
172
227
  }
@@ -174,7 +229,14 @@ var MemoryNodeBuilder = class {
174
229
  try {
175
230
  const bridge = await import_bridge_http.HttpBridge.create({
176
231
  account,
177
- config: { name: moduleName, nodeUrl: `${apiDomain}/node`, schema: import_bridge_http.HttpBridgeConfigSchema, security: { allowAnonymous: true } }
232
+ config: {
233
+ name: moduleName,
234
+ nodeUrl: `${apiDomain}/node`,
235
+ schema: import_bridge_http.HttpBridgeConfigSchema,
236
+ security: {
237
+ allowAnonymous: true
238
+ }
239
+ }
178
240
  });
179
241
  await this.attach(bridge, true);
180
242
  } catch (e) {
@@ -187,25 +249,27 @@ var MemoryNodeBuilder = class {
187
249
  return sentinel;
188
250
  }
189
251
  async addWitnesses(pluginSetResolver, witnesses = []) {
190
- await Promise.all(
191
- pluginSetResolver.witnesses().map(async (pluginSet, index) => {
192
- const witness = await witnesses?.[index]?.();
193
- if (witness) {
194
- try {
195
- await this.witnessCleanup(witness);
196
- await this.node.register(witness);
197
- await this.node.attach(witness.address, true);
198
- } catch (e) {
199
- console.error("Error attaching witness", JSON.stringify(pluginSet, null, 2), e);
200
- }
252
+ await Promise.all(pluginSetResolver.witnesses().map(async (pluginSet, index) => {
253
+ const witness = await witnesses?.[index]?.();
254
+ if (witness) {
255
+ try {
256
+ await this.witnessCleanup(witness);
257
+ await this.node.register(witness);
258
+ await this.node.attach(witness.address, true);
259
+ } catch (e) {
260
+ console.error("Error attaching witness", JSON.stringify(pluginSet, null, 2), e);
201
261
  }
202
- })
203
- );
262
+ }
263
+ }));
204
264
  }
205
265
  async attach(mod, external, safeAttach) {
206
266
  try {
207
267
  if (safeAttach) {
208
- const existingModule = (await this.node.resolve({ address: [mod.address] })).pop();
268
+ const existingModule = (await this.node.resolve({
269
+ address: [
270
+ mod.address
271
+ ]
272
+ })).pop();
209
273
  if (existingModule) {
210
274
  await this.node.detach(existingModule.address);
211
275
  await this.node.unregister(existingModule);
@@ -219,7 +283,11 @@ var MemoryNodeBuilder = class {
219
283
  }
220
284
  async witnessCleanup(witness) {
221
285
  if ((await this.node.registered()).includes(witness.address)) {
222
- const [existingWitness] = await this.node.resolve({ address: [witness.address] });
286
+ const [existingWitness] = await this.node.resolve({
287
+ address: [
288
+ witness.address
289
+ ]
290
+ });
223
291
  await this.node.unregister(existingWitness);
224
292
  }
225
293
  }
@@ -256,7 +324,7 @@ var RemoteNodeArchivistOffsetPaths = {
256
324
  };
257
325
 
258
326
  // src/lib/buildNodes.ts
259
- var knownRemoteNodes = () => {
327
+ var knownRemoteNodes = /* @__PURE__ */ __name(() => {
260
328
  const networkNames = import_react_network.defaultNetworkConfigs.map((config) => config.name);
261
329
  return networkNames.map((networkName) => {
262
330
  const name = (0, import_react_shared5.assertDefinedEx)(networkName, "missing name in network config");
@@ -267,36 +335,37 @@ var knownRemoteNodes = () => {
267
335
  name
268
336
  };
269
337
  });
270
- };
271
- var BuildStandardNodes = async (wallet, onNodeBuilt) => {
338
+ }, "knownRemoteNodes");
339
+ var BuildStandardNodes = /* @__PURE__ */ __name(async (wallet, onNodeBuilt) => {
272
340
  try {
273
- return await Promise.all(
274
- knownRemoteNodes().map(async ({ apiDomain, name }) => {
275
- const remoteNodeOffset = RemoteNodeOffsetPaths[name];
276
- const remoteNodeWallet = await wallet.derivePath?.(remoteNodeOffset);
277
- const memoryNodeBuilder = await MemoryNodeBuilder.create({ name }, await remoteNodeWallet.derivePath?.("0"));
278
- await memoryNodeBuilder.addBridge(apiDomain);
279
- const rootArchivistPath = `${remoteNodeOffset}/${RemoteNodeArchivistOffsetPaths[name][RootStorageArchivist]}`;
280
- const rootArchivistAccount = await wallet.derivePath?.(rootArchivistPath);
281
- await memoryNodeBuilder.addArchivistStorage(rootArchivistAccount, RootStorageArchivist, "root");
282
- const { node } = memoryNodeBuilder;
283
- (0, import_react_shared5.assertDefinedEx)(node, "Memory Node was not built successfully");
284
- onNodeBuilt?.(node);
285
- return node;
286
- })
287
- );
341
+ return await Promise.all(knownRemoteNodes().map(async ({ apiDomain, name }) => {
342
+ const remoteNodeOffset = RemoteNodeOffsetPaths[name];
343
+ const remoteNodeWallet = await wallet.derivePath?.(remoteNodeOffset);
344
+ const memoryNodeBuilder = await MemoryNodeBuilder.create({
345
+ name
346
+ }, await remoteNodeWallet.derivePath?.("0"));
347
+ await memoryNodeBuilder.addBridge(apiDomain);
348
+ const rootArchivistPath = `${remoteNodeOffset}/${RemoteNodeArchivistOffsetPaths[name][RootStorageArchivist]}`;
349
+ const rootArchivistAccount = await wallet.derivePath?.(rootArchivistPath);
350
+ await memoryNodeBuilder.addArchivistStorage(rootArchivistAccount, RootStorageArchivist, "root");
351
+ const { node } = memoryNodeBuilder;
352
+ (0, import_react_shared5.assertDefinedEx)(node, "Memory Node was not built successfully");
353
+ onNodeBuilt?.(node);
354
+ return node;
355
+ }));
288
356
  } catch (e) {
289
357
  throw new Error(`Error Creating Known Remote Nodes: ${e}`);
290
358
  }
291
- };
359
+ }, "BuildStandardNodes");
292
360
 
293
361
  // src/contexts/StandardRemoteNodes/Providers.tsx
294
- var import_jsx_runtime = require("react/jsx-runtime");
295
- var StandardNodesProvider = ({ children, defaultRemoteNodes, wallet }) => {
362
+ var StandardNodesProvider = /* @__PURE__ */ __name(({ children, defaultRemoteNodes, wallet }) => {
296
363
  const [nodes, setNodes] = (0, import_react.useState)(defaultRemoteNodes);
297
364
  (0, import_react.useEffect)(() => {
298
365
  setNodes(defaultRemoteNodes);
299
- }, [defaultRemoteNodes]);
366
+ }, [
367
+ defaultRemoteNodes
368
+ ]);
300
369
  (0, import_react_promise.usePromise)(async () => {
301
370
  if (wallet) {
302
371
  await BuildStandardNodes(wallet, (node) => {
@@ -304,81 +373,96 @@ var StandardNodesProvider = ({ children, defaultRemoteNodes, wallet }) => {
304
373
  if (nodes2?.find((existingNode) => existingNode.config.name === node.config.name)) {
305
374
  return;
306
375
  }
307
- return nodes2 ? [...nodes2, node] : [node];
376
+ return nodes2 ? [
377
+ ...nodes2,
378
+ node
379
+ ] : [
380
+ node
381
+ ];
308
382
  });
309
383
  });
310
384
  }
311
- }, [wallet]);
312
- const findAddressByName = (name) => {
385
+ }, [
386
+ wallet
387
+ ]);
388
+ const findAddressByName = /* @__PURE__ */ __name((name) => {
313
389
  const validNetworkName = (0, import_react_shared6.assertDefinedEx)(name, "name was not defined");
314
390
  return nodes?.find((node) => node.config.name === validNetworkName)?.address;
315
- };
316
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
317
- StandardNodesContext.Provider,
318
- {
319
- value: {
320
- findAddressByName,
321
- nodes,
322
- provided: true
323
- },
324
- children
325
- }
326
- );
327
- };
328
- var StandardNodesProviderWithWallet = (props) => {
391
+ }, "findAddressByName");
392
+ const value = (0, import_react.useMemo)(() => ({
393
+ findAddressByName,
394
+ nodes,
395
+ provided: true
396
+ }), [
397
+ findAddressByName,
398
+ nodes
399
+ ]);
400
+ return /* @__PURE__ */ import_react.default.createElement(StandardNodesContext.Provider, {
401
+ value
402
+ }, children);
403
+ }, "StandardNodesProvider");
404
+ var StandardNodesProviderWithWallet = /* @__PURE__ */ __name((props) => {
329
405
  const { activeAccount } = (0, import_react_wallet.useWalletContext)();
330
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StandardNodesProvider, { wallet: activeAccount, ...props });
331
- };
406
+ return /* @__PURE__ */ import_react.default.createElement(StandardNodesProvider, {
407
+ wallet: activeAccount,
408
+ ...props
409
+ });
410
+ }, "StandardNodesProviderWithWallet");
332
411
 
333
- // src/contexts/StandardRemoteNodes/use.tsx
412
+ // src/contexts/StandardRemoteNodes/use.ts
334
413
  var import_react_shared7 = require("@xyo-network/react-shared");
335
- var useStandardNodes = (required = false) => (0, import_react_shared7.useContextEx)(StandardNodesContext, "StandardNodes", required);
414
+ var useStandardNodes = /* @__PURE__ */ __name((required = false) => (0, import_react_shared7.useContextEx)(StandardNodesContext, "StandardNodes", required), "useStandardNodes");
336
415
 
337
416
  // src/hooks/useActiveNodeAddress.ts
338
417
  var import_react_node = require("@xyo-network/react-node");
339
418
  var import_react2 = require("react");
340
- var useActiveNodeAddress = (networkName) => {
419
+ var useActiveNodeAddress = /* @__PURE__ */ __name((networkName) => {
341
420
  const [node] = (0, import_react_node.useProvidedNode)();
342
421
  const { nodes, findAddressByName } = useStandardNodes();
343
422
  const activeNodeAddress = (0, import_react2.useMemo)(() => {
344
423
  if (node && nodes && findAddressByName && networkName) {
345
424
  return findAddressByName(networkName);
346
425
  }
347
- }, [findAddressByName, networkName, node, nodes]);
426
+ }, [
427
+ findAddressByName,
428
+ networkName,
429
+ node,
430
+ nodes
431
+ ]);
348
432
  return activeNodeAddress;
349
- };
433
+ }, "useActiveNodeAddress");
350
434
 
351
435
  // src/components/ActiveStandardNode.tsx
352
- var import_jsx_runtime2 = require("react/jsx-runtime");
353
- var ActiveStandardNode = ({ children, nodeNameOrAddress }) => {
436
+ var ActiveStandardNode = /* @__PURE__ */ __name(({ children, nodeNameOrAddress }) => {
354
437
  const { network } = (0, import_react_network2.useNetwork)();
355
438
  const [node] = (0, import_react_node2.useWeakNodeFromNode)(nodeNameOrAddress);
356
439
  const [activeRemoteNodeAddress, setActiveRemoteNodeAddress] = (0, import_react3.useState)();
357
440
  const { nodes } = useStandardNodes();
358
441
  const selectedNodeAddress = useActiveNodeAddress(network?.name);
359
- (0, import_react_async_effect.useAsyncEffect)(
360
- // eslint-disable-next-line react-hooks/exhaustive-deps
361
- async (mounted) => {
362
- const nodeInstance = node?.deref();
363
- if (nodeInstance && selectedNodeAddress) {
364
- try {
365
- if ((await nodeInstance?.attached())?.includes(selectedNodeAddress)) {
366
- return;
367
- }
368
- await nodeInstance?.attach(selectedNodeAddress, true);
369
- if (mounted()) {
370
- if (activeRemoteNodeAddress) {
371
- await nodeInstance?.detach(activeRemoteNodeAddress);
372
- }
373
- setActiveRemoteNodeAddress(selectedNodeAddress);
442
+ (0, import_react_async_effect.useAsyncEffect)(async (mounted) => {
443
+ const nodeInstance = node?.deref();
444
+ if (nodeInstance && selectedNodeAddress) {
445
+ try {
446
+ if ((await nodeInstance?.attached())?.includes(selectedNodeAddress)) {
447
+ return;
448
+ }
449
+ await nodeInstance?.attach(selectedNodeAddress, true);
450
+ if (mounted()) {
451
+ if (activeRemoteNodeAddress) {
452
+ await nodeInstance?.detach(activeRemoteNodeAddress);
374
453
  }
375
- } catch (e) {
376
- console.error("Error Attaching Selected Node Address", e);
454
+ setActiveRemoteNodeAddress(selectedNodeAddress);
377
455
  }
456
+ } catch (e) {
457
+ console.error("Error Attaching Selected Node Address", e);
378
458
  }
379
- },
380
- [activeRemoteNodeAddress, node, selectedNodeAddress, nodes]
381
- );
382
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children });
383
- };
459
+ }
460
+ }, [
461
+ activeRemoteNodeAddress,
462
+ node,
463
+ selectedNodeAddress,
464
+ nodes
465
+ ]);
466
+ return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, children);
467
+ }, "ActiveStandardNode");
384
468
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/components/ActiveStandardNode.tsx","../../src/contexts/StandardRemoteNodes/Context.ts","../../src/contexts/StandardRemoteNodes/Providers.tsx","../../src/lib/Builders/MemoryNodeBuilder.ts","../../src/lib/Builders/SentinelBuilder.ts","../../src/lib/Builders/StorageArchivistBuilder.ts","../../src/lib/buildNodes.ts","../../src/lib/ModuleNames.ts","../../src/lib/ModuleAccountPaths.ts","../../src/contexts/StandardRemoteNodes/use.tsx","../../src/hooks/useActiveNodeAddress.ts"],"sourcesContent":["export * from './components/index.js'\nexport * from './contexts/index.js'\nexport * from './hooks/index.js'\nexport * from './lib/index.js'\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { useNetwork } from '@xyo-network/react-network'\nimport { useWeakNodeFromNode } from '@xyo-network/react-node'\nimport { useState } from 'react'\n\nimport { useStandardNodes } from '../contexts/index.js'\nimport { useActiveNodeAddress } from '../hooks/index.js'\n\nexport interface ActiveStandardNodeProps extends WithChildren {\n nodeNameOrAddress?: string\n}\n\nexport const ActiveStandardNode: React.FC<ActiveStandardNodeProps> = ({ children, nodeNameOrAddress }) => {\n const { network } = useNetwork()\n const [node] = useWeakNodeFromNode(nodeNameOrAddress)\n const [activeRemoteNodeAddress, setActiveRemoteNodeAddress] = useState<string>()\n const { nodes } = useStandardNodes()\n\n const selectedNodeAddress = useActiveNodeAddress(network?.name)\n\n // Probably needs to rely on node events rather than provider values to ensure its registered\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async (mounted) => {\n const nodeInstance = node?.deref()\n if (nodeInstance && selectedNodeAddress) {\n try {\n if ((await nodeInstance?.attached())?.includes(selectedNodeAddress)) {\n return\n }\n await nodeInstance?.attach(selectedNodeAddress, true)\n\n if (mounted()) {\n // cleanup\n if (activeRemoteNodeAddress) {\n await nodeInstance?.detach(activeRemoteNodeAddress)\n }\n setActiveRemoteNodeAddress(selectedNodeAddress)\n }\n } catch (e) {\n console.error('Error Attaching Selected Node Address', e)\n }\n }\n },\n [activeRemoteNodeAddress, node, selectedNodeAddress, nodes],\n )\n\n return <>{children}</>\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { StandardNodesState } from './State.js'\n\nexport const StandardNodesContext = createContextEx<StandardNodesState>()\n","import { usePromise } from '@xylabs/react-promise'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { useWalletContext } from '@xyo-network/react-wallet'\nimport { WalletInstance } from '@xyo-network/wallet-model'\nimport { useEffect, useState } from 'react'\n\nimport { BuildStandardNodes } from '../../lib/index.js'\nimport { StandardNodesContext } from './Context.js'\nimport { StandardNodesState } from './State.js'\n\nexport interface StandardNodesProviderProps extends WithChildren {\n defaultRemoteNodes?: StandardNodesState['nodes']\n wallet?: WalletInstance | null\n}\n\nexport const StandardNodesProvider: React.FC<StandardNodesProviderProps> = ({ children, defaultRemoteNodes, wallet }) => {\n const [nodes, setNodes] = useState<StandardNodesState['nodes']>(defaultRemoteNodes)\n\n useEffect(() => {\n setNodes(defaultRemoteNodes)\n }, [defaultRemoteNodes])\n\n usePromise(async () => {\n if (wallet) {\n await BuildStandardNodes(wallet, (node: MemoryNode) => {\n setNodes((nodes) => {\n if (nodes?.find((existingNode) => existingNode.config.name === node.config.name)) {\n return\n }\n return nodes ? [...nodes, node] : [node]\n })\n })\n }\n }, [wallet])\n\n const findAddressByName = (name?: string) => {\n const validNetworkName = assertDefinedEx(name, 'name was not defined')\n return nodes?.find((node) => node.config.name === validNetworkName)?.address\n }\n\n return (\n <StandardNodesContext.Provider\n value={{\n findAddressByName,\n nodes,\n provided: true,\n }}\n >\n {children}\n </StandardNodesContext.Provider>\n )\n}\n\nexport const StandardNodesProviderWithWallet: React.FC<Omit<StandardNodesProviderProps, 'wallet'>> = (props) => {\n const { activeAccount } = useWalletContext()\n return <StandardNodesProvider wallet={activeAccount} {...props} />\n}\n","import { AccountInstance } from '@xyo-network/account-model'\nimport { MemoryArchivist, MemoryArchivistConfig, MemoryArchivistConfigSchema } from '@xyo-network/archivist-memory'\nimport { HttpBridge, HttpBridgeConfigSchema } from '@xyo-network/bridge-http'\nimport { AttachableModuleInstance } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeConfigSchema } from '@xyo-network/node-model'\nimport { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { SentinelConfig } from '@xyo-network/sentinel-model'\nimport { AttachableWitnessInstance, WitnessModule } from '@xyo-network/witness-model'\n\nimport { SentinelBuilder } from './SentinelBuilder.js'\nimport { StorageArchivistBuilder } from './StorageArchivistBuilder.js'\n\nexport interface MemoryNodeBuilderConfig {\n name?: string\n node?: MemoryNode\n}\n\nexport class MemoryNodeBuilder {\n private _node: MemoryNode | undefined\n\n get node() {\n return assertDefinedEx(this._node, 'this._node was not defined upon create')\n }\n\n static async create({ name, node }: MemoryNodeBuilderConfig, account?: AccountInstance): Promise<MemoryNodeBuilder> {\n const instance = new this()\n\n const memoryNode: MemoryNode = node ?? (await MemoryNode.create({ account, config: { name, schema: NodeConfigSchema } }))\n instance._node = memoryNode\n return instance\n }\n\n /** @deprecated - call specific method that corresponds to a type of archivist (i.e. addArchivistStorage) */\n async addArchivist(account: AccountInstance, moduleName?: string, namespace?: string) {\n await this.addArchivistStorage(account, moduleName, namespace)\n }\n\n async addArchivistMemory(moduleName?: string, account?: AccountInstance) {\n const config: MemoryArchivistConfig = { name: moduleName, schema: MemoryArchivistConfigSchema }\n const memoryArchivist = await MemoryArchivist.create({ account, config })\n\n await this.attach(memoryArchivist, true)\n }\n\n async addArchivistStorage(account: AccountInstance, moduleName?: string, namespace?: string) {\n const config = { name: moduleName, namespace }\n const { archivist } = await StorageArchivistBuilder.create(config, account, this.node)\n\n await this.attach(archivist, true)\n }\n\n async addBridge(apiDomain: string, moduleName = 'RemoteNodeBridge', account?: AccountInstance) {\n try {\n const bridge = await HttpBridge.create({\n account,\n config: { name: moduleName, nodeUrl: `${apiDomain}/node`, schema: HttpBridgeConfigSchema, security: { allowAnonymous: true } },\n })\n await this.attach(bridge, true)\n } catch (e) {\n console.error('Error Creating Bridge', e)\n }\n }\n\n async addSentinel(config: SentinelConfig, account: AccountInstance) {\n const { sentinel } = await SentinelBuilder.create(config, account)\n await this.attach(sentinel, true, true)\n return sentinel\n }\n\n async addWitnesses(pluginSetResolver: PayloadSetPluginResolver, witnesses: (() => Promise<AttachableWitnessInstance>)[] = []) {\n await Promise.all(\n pluginSetResolver.witnesses().map(async (pluginSet, index) => {\n // Pass the prebuilt witness at the same index\n const witness = await witnesses?.[index]?.()\n if (witness) {\n try {\n await this.witnessCleanup(witness)\n await this.node.register(witness)\n await this.node.attach(witness.address, true)\n } catch (e) {\n console.error('Error attaching witness', JSON.stringify(pluginSet, null, 2), e)\n }\n }\n }),\n )\n }\n\n async attach(mod: AttachableModuleInstance, external?: boolean, safeAttach?: boolean) {\n try {\n if (safeAttach) {\n const existingModule = (await this.node.resolve({ address: [mod.address] })).pop()\n if (existingModule) {\n await this.node.detach(existingModule.address)\n await this.node.unregister(existingModule)\n }\n }\n await this.node.register(mod)\n await this.node.attach(mod.address, external)\n } catch (e) {\n throw new Error(`Error adding ${mod.config.name ?? mod.address} to MemoryNode: ${e}`)\n }\n }\n\n private async witnessCleanup(witness: WitnessModule) {\n if ((await this.node.registered()).includes(witness.address)) {\n const [existingWitness] = await this.node.resolve({ address: [witness.address] })\n await this.node.unregister(existingWitness)\n }\n }\n}\n","import { AccountInstance } from '@xyo-network/account-model'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { MemorySentinel, MemorySentinelParams } from '@xyo-network/sentinel-memory'\nimport { SentinelConfig } from '@xyo-network/sentinel-model'\n\nexport class SentinelBuilder {\n private _sentinel: MemorySentinel | undefined\n\n protected constructor(\n private config: SentinelConfig,\n private account: AccountInstance,\n ) {\n assertDefinedEx(config, 'config was not defined')\n }\n\n get sentinel() {\n return assertDefinedEx(this._sentinel, 'this._sentinel not defined upon create')\n }\n\n static async create(config: SentinelConfig, account: AccountInstance): Promise<SentinelBuilder> {\n const instance = new this(config, account)\n instance._sentinel = await instance.buildSentinel()\n return instance\n }\n\n async buildSentinel() {\n const params = this.buildParams()\n return (await MemorySentinel.create(params)) as MemorySentinel\n }\n\n private buildParams(): MemorySentinelParams {\n return {\n account: this.account,\n config: this.config,\n }\n }\n}\n","import { AccountInstance } from '@xyo-network/account-model'\nimport { ArchivistModule, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { StorageArchivist, StorageArchivistConfig, StorageArchivistConfigSchema } from '@xyo-network/archivist-storage'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { asNodeInstance } from '@xyo-network/node-model'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\n\nexport interface ArchivistBuilderConfig {\n name?: string\n namespace?: string\n}\nexport class StorageArchivistBuilder {\n private _archivist: StorageArchivist | undefined\n private remoteArchivist: ArchivistModule | undefined\n\n protected constructor(\n private config: ArchivistBuilderConfig,\n private account: AccountInstance,\n private node?: MemoryNode,\n ) {}\n\n get archivist() {\n return assertDefinedEx(this._archivist, 'archivist was not defined upon create')\n }\n\n static async create(config: ArchivistBuilderConfig, account: AccountInstance, node: MemoryNode): Promise<StorageArchivistBuilder> {\n const instance = new this(config, account, node)\n instance.remoteArchivist = await instance.findParentArchivist()\n instance._archivist = await instance.buildArchivist()\n return instance\n }\n\n async buildArchivist() {\n const config = this.buildConfig()\n return (await StorageArchivist.create({ account: this.account, config })) as StorageArchivist\n }\n\n buildConfig(): StorageArchivistConfig {\n return {\n name: this.config.name,\n namespace: this.config.namespace,\n parents: {\n commit: this.remoteArchivist ? [this.remoteArchivist?.address] : undefined,\n read: this.remoteArchivist ? [this.remoteArchivist?.address] : undefined,\n },\n schema: StorageArchivistConfigSchema,\n storeParentReads: true,\n type: 'local',\n }\n }\n\n async findParentArchivist() {\n const node = asNodeInstance(this.node, 'node not defined')\n const [bridge] = (await node.resolve({ name: ['RemoteNodeBridge'] })) ?? []\n if (bridge) {\n try {\n const [archivist] = (await bridge.resolve({ name: ['Archivist'] })) ?? []\n return asArchivistInstance(archivist)\n } catch {\n console.error('Error Resolving Parent Archivist', this.node?.config.name, this.config)\n }\n }\n }\n}\n","import { MemoryNode } from '@xyo-network/node-memory'\nimport { defaultNetworkConfigs } from '@xyo-network/react-network'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { WalletInstance } from '@xyo-network/wallet-model'\n\nimport { MemoryNodeBuilder } from './Builders/index.js'\nimport { RemoteNodeArchivistOffsetPaths, RemoteNodeOffsetPaths } from './ModuleAccountPaths.js'\nimport { RootStorageArchivist } from './ModuleNames.js'\n\nconst knownRemoteNodes = (): { apiDomain: string; name: string }[] => {\n const networkNames = defaultNetworkConfigs.map((config) => config.name)\n return networkNames.map((networkName) => {\n const name = assertDefinedEx<string>(networkName, 'missing name in network config')\n const uri = defaultNetworkConfigs.find((config) => config.name === networkName)?.nodes?.filter((node) => node.type === 'archivist')[0].uri\n const apiDomain = assertDefinedEx<string>(uri, 'missing node type \"archivist\" in network config')\n return {\n apiDomain,\n name,\n }\n })\n}\n\nexport const BuildStandardNodes = async (wallet: WalletInstance, onNodeBuilt?: (node: MemoryNode) => void): Promise<MemoryNode[]> => {\n try {\n return await Promise.all(\n knownRemoteNodes().map(async ({ apiDomain, name }) => {\n const remoteNodeOffset = RemoteNodeOffsetPaths[name]\n const remoteNodeWallet = await wallet.derivePath?.(remoteNodeOffset)\n\n const memoryNodeBuilder = await MemoryNodeBuilder.create({ name }, await remoteNodeWallet.derivePath?.('0'))\n await memoryNodeBuilder.addBridge(apiDomain)\n\n const rootArchivistPath = `${remoteNodeOffset}/${RemoteNodeArchivistOffsetPaths[name][RootStorageArchivist]}`\n const rootArchivistAccount = await wallet.derivePath?.(rootArchivistPath)\n await memoryNodeBuilder.addArchivistStorage(rootArchivistAccount, RootStorageArchivist, 'root')\n\n const { node } = memoryNodeBuilder\n assertDefinedEx(node, 'Memory Node was not built successfully')\n onNodeBuilt?.(node)\n\n return node\n }),\n )\n } catch (e) {\n throw new Error(`Error Creating Known Remote Nodes: ${e}`)\n }\n}\n","export const GlobalNode = 'GlobalNode'\n\nexport const RootStorageArchivist = 'RootStorageArchivist'\n","import { RootStorageArchivist } from './ModuleNames.js'\n\nexport const GlobalNodeOffsetPath = '15'\n\nexport const RemoteNodeOffsetPaths: Record<string, string> = {\n Kerplunk: '112',\n Local: '111',\n Main: '113',\n}\n\nexport const RemoteNodeArchivistOffsetPaths: Record<string, Record<string, string>> = {\n Kerplunk: {\n MemoryNode: '117',\n [RootStorageArchivist]: '119',\n },\n Local: {\n MemoryNode: '114',\n [RootStorageArchivist]: '116',\n },\n Main: {\n MemoryNode: '120',\n [RootStorageArchivist]: '122',\n },\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { StandardNodesContext } from './Context.js'\n\nexport const useStandardNodes = (required = false) => useContextEx(StandardNodesContext, 'StandardNodes', required)\n","import { useProvidedNode } from '@xyo-network/react-node'\nimport { useMemo } from 'react'\n\nimport { useStandardNodes } from '../contexts/index.js'\n\nexport const useActiveNodeAddress = (networkName?: string) => {\n const [node] = useProvidedNode()\n const { nodes, findAddressByName } = useStandardNodes()\n\n const activeNodeAddress = useMemo(() => {\n if (node && nodes && findAddressByName && networkName) {\n return findAddressByName(networkName)\n }\n }, [findAddressByName, networkName, node, nodes])\n\n return activeNodeAddress\n}\n"],"mappings":"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","names":["import_react_network","import_react_node","import_react","import_react_shared","import_node_model","import_react_shared","import_react_shared","import_react_shared","import_react_shared","nodes","import_react_shared","import_react","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/components/ActiveStandardNode.tsx","../../src/contexts/StandardRemoteNodes/Context.ts","../../src/contexts/StandardRemoteNodes/Providers.tsx","../../src/lib/Builders/MemoryNodeBuilder.ts","../../src/lib/Builders/SentinelBuilder.ts","../../src/lib/Builders/StorageArchivistBuilder.ts","../../src/lib/buildNodes.ts","../../src/lib/ModuleNames.ts","../../src/lib/ModuleAccountPaths.ts","../../src/contexts/StandardRemoteNodes/use.ts","../../src/hooks/useActiveNodeAddress.ts"],"sourcesContent":["export * from './components/index.ts'\nexport * from './contexts/index.ts'\nexport * from './hooks/index.ts'\nexport * from './lib/index.ts'\n","import { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { useNetwork } from '@xyo-network/react-network'\nimport { useWeakNodeFromNode } from '@xyo-network/react-node'\nimport React, { useState } from 'react'\n\nimport { useStandardNodes } from '../contexts/index.ts'\nimport { useActiveNodeAddress } from '../hooks/index.ts'\n\nexport interface ActiveStandardNodeProps extends WithChildren {\n nodeNameOrAddress?: string\n}\n\nexport const ActiveStandardNode: React.FC<ActiveStandardNodeProps> = ({ children, nodeNameOrAddress }) => {\n const { network } = useNetwork()\n const [node] = useWeakNodeFromNode(nodeNameOrAddress)\n const [activeRemoteNodeAddress, setActiveRemoteNodeAddress] = useState<string>()\n const { nodes } = useStandardNodes()\n\n const selectedNodeAddress = useActiveNodeAddress(network?.name)\n\n // Probably needs to rely on node events rather than provider values to ensure its registered\n useAsyncEffect(\n async (mounted) => {\n const nodeInstance = node?.deref()\n if (nodeInstance && selectedNodeAddress) {\n try {\n if ((await nodeInstance?.attached())?.includes(selectedNodeAddress)) {\n return\n }\n await nodeInstance?.attach(selectedNodeAddress, true)\n\n if (mounted()) {\n // cleanup\n if (activeRemoteNodeAddress) {\n await nodeInstance?.detach(activeRemoteNodeAddress)\n }\n setActiveRemoteNodeAddress(selectedNodeAddress)\n }\n } catch (e) {\n console.error('Error Attaching Selected Node Address', e)\n }\n }\n },\n [activeRemoteNodeAddress, node, selectedNodeAddress, nodes],\n )\n\n return <>{children}</>\n}\n","import { createContextEx } from '@xyo-network/react-shared'\n\nimport { StandardNodesState } from './State.ts'\n\nexport const StandardNodesContext = createContextEx<StandardNodesState>()\n","import { usePromise } from '@xylabs/react-promise'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { useWalletContext } from '@xyo-network/react-wallet'\nimport { WalletInstance } from '@xyo-network/wallet-model'\nimport React, { useEffect, useMemo, useState } from 'react'\n\nimport { BuildStandardNodes } from '../../lib/index.ts'\nimport { StandardNodesContext } from './Context.ts'\nimport { StandardNodesState } from './State.ts'\n\nexport interface StandardNodesProviderProps extends WithChildren {\n defaultRemoteNodes?: StandardNodesState['nodes']\n wallet?: WalletInstance | null\n}\n\nexport const StandardNodesProvider: React.FC<StandardNodesProviderProps> = ({ children, defaultRemoteNodes, wallet }) => {\n const [nodes, setNodes] = useState<StandardNodesState['nodes']>(defaultRemoteNodes)\n\n useEffect(() => {\n setNodes(defaultRemoteNodes)\n }, [defaultRemoteNodes])\n\n usePromise(async () => {\n if (wallet) {\n await BuildStandardNodes(wallet, (node: MemoryNode) => {\n setNodes((nodes) => {\n if (nodes?.find(existingNode => existingNode.config.name === node.config.name)) {\n return\n }\n return nodes ? [...nodes, node] : [node]\n })\n })\n }\n }, [wallet])\n\n const findAddressByName = (name?: string) => {\n const validNetworkName = assertDefinedEx(name, 'name was not defined')\n return nodes?.find(node => node.config.name === validNetworkName)?.address\n }\n\n const value = useMemo(() => ({ findAddressByName,\n nodes,\n provided: true }), [findAddressByName,\n nodes])\n\n return (\n <StandardNodesContext.Provider\n value={value}\n >\n {children}\n </StandardNodesContext.Provider>\n )\n}\n\nexport const StandardNodesProviderWithWallet: React.FC<Omit<StandardNodesProviderProps, 'wallet'>> = (props) => {\n const { activeAccount } = useWalletContext()\n return <StandardNodesProvider wallet={activeAccount} {...props} />\n}\n","import { AccountInstance } from '@xyo-network/account-model'\nimport { MemoryArchivist, MemoryArchivistConfig, MemoryArchivistConfigSchema } from '@xyo-network/archivist-memory'\nimport { HttpBridge, HttpBridgeConfigSchema } from '@xyo-network/bridge-http'\nimport { AttachableModuleInstance } from '@xyo-network/module-model'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { NodeConfigSchema } from '@xyo-network/node-model'\nimport { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { SentinelConfig } from '@xyo-network/sentinel-model'\nimport { AttachableWitnessInstance, WitnessModule } from '@xyo-network/witness-model'\n\nimport { SentinelBuilder } from './SentinelBuilder.ts'\nimport { StorageArchivistBuilder } from './StorageArchivistBuilder.ts'\n\nexport interface MemoryNodeBuilderConfig {\n name?: string\n node?: MemoryNode\n}\n\nexport class MemoryNodeBuilder {\n private _node: MemoryNode | undefined\n\n get node() {\n return assertDefinedEx(this._node, 'this._node was not defined upon create')\n }\n\n static async create({ name, node }: MemoryNodeBuilderConfig, account?: AccountInstance): Promise<MemoryNodeBuilder> {\n const instance = new this()\n\n const memoryNode: MemoryNode = node ?? (await MemoryNode.create({ account, config: { name, schema: NodeConfigSchema } }))\n instance._node = memoryNode\n return instance\n }\n\n /** @deprecated - call specific method that corresponds to a type of archivist (i.e. addArchivistStorage) */\n async addArchivist(account: AccountInstance, moduleName?: string, namespace?: string) {\n await this.addArchivistStorage(account, moduleName, namespace)\n }\n\n async addArchivistMemory(moduleName?: string, account?: AccountInstance) {\n const config: MemoryArchivistConfig = { name: moduleName, schema: MemoryArchivistConfigSchema }\n const memoryArchivist = await MemoryArchivist.create({ account, config })\n\n await this.attach(memoryArchivist, true)\n }\n\n async addArchivistStorage(account: AccountInstance, moduleName?: string, namespace?: string) {\n const config = { name: moduleName, namespace }\n const { archivist } = await StorageArchivistBuilder.create(config, account, this.node)\n\n await this.attach(archivist, true)\n }\n\n async addBridge(apiDomain: string, moduleName = 'RemoteNodeBridge', account?: AccountInstance) {\n try {\n const bridge = await HttpBridge.create({\n account,\n config: { name: moduleName, nodeUrl: `${apiDomain}/node`, schema: HttpBridgeConfigSchema, security: { allowAnonymous: true } },\n })\n await this.attach(bridge, true)\n } catch (e) {\n console.error('Error Creating Bridge', e)\n }\n }\n\n async addSentinel(config: SentinelConfig, account: AccountInstance) {\n const { sentinel } = await SentinelBuilder.create(config, account)\n await this.attach(sentinel, true, true)\n return sentinel\n }\n\n async addWitnesses(pluginSetResolver: PayloadSetPluginResolver, witnesses: (() => Promise<AttachableWitnessInstance>)[] = []) {\n await Promise.all(\n pluginSetResolver.witnesses().map(async (pluginSet, index) => {\n // Pass the prebuilt witness at the same index\n const witness = await witnesses?.[index]?.()\n if (witness) {\n try {\n await this.witnessCleanup(witness)\n await this.node.register(witness)\n await this.node.attach(witness.address, true)\n } catch (e) {\n console.error('Error attaching witness', JSON.stringify(pluginSet, null, 2), e)\n }\n }\n }),\n )\n }\n\n async attach(mod: AttachableModuleInstance, external?: boolean, safeAttach?: boolean) {\n try {\n if (safeAttach) {\n const existingModule = (await this.node.resolve({ address: [mod.address] })).pop()\n if (existingModule) {\n await this.node.detach(existingModule.address)\n await this.node.unregister(existingModule)\n }\n }\n await this.node.register(mod)\n await this.node.attach(mod.address, external)\n } catch (e) {\n throw new Error(`Error adding ${mod.config.name ?? mod.address} to MemoryNode: ${e}`)\n }\n }\n\n private async witnessCleanup(witness: WitnessModule) {\n if ((await this.node.registered()).includes(witness.address)) {\n const [existingWitness] = await this.node.resolve({ address: [witness.address] })\n await this.node.unregister(existingWitness)\n }\n }\n}\n","import { AccountInstance } from '@xyo-network/account-model'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { MemorySentinel, MemorySentinelParams } from '@xyo-network/sentinel-memory'\nimport { SentinelConfig } from '@xyo-network/sentinel-model'\n\nexport class SentinelBuilder {\n private _sentinel: MemorySentinel | undefined\n\n protected constructor(\n private config: SentinelConfig,\n private account: AccountInstance,\n ) {\n assertDefinedEx(config, 'config was not defined')\n }\n\n get sentinel() {\n return assertDefinedEx(this._sentinel, 'this._sentinel not defined upon create')\n }\n\n static async create(config: SentinelConfig, account: AccountInstance): Promise<SentinelBuilder> {\n const instance = new this(config, account)\n instance._sentinel = await instance.buildSentinel()\n return instance\n }\n\n async buildSentinel() {\n const params = this.buildParams()\n return (await MemorySentinel.create(params)) as MemorySentinel\n }\n\n private buildParams(): MemorySentinelParams {\n return {\n account: this.account,\n config: this.config,\n }\n }\n}\n","import { AccountInstance } from '@xyo-network/account-model'\nimport { ArchivistModule, asArchivistInstance } from '@xyo-network/archivist-model'\nimport { StorageArchivist, StorageArchivistConfig, StorageArchivistConfigSchema } from '@xyo-network/archivist-storage'\nimport { MemoryNode } from '@xyo-network/node-memory'\nimport { asNodeInstance } from '@xyo-network/node-model'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\n\nexport interface ArchivistBuilderConfig {\n name?: string\n namespace?: string\n}\nexport class StorageArchivistBuilder {\n private _archivist: StorageArchivist | undefined\n private remoteArchivist: ArchivistModule | undefined\n\n protected constructor(\n private config: ArchivistBuilderConfig,\n private account: AccountInstance,\n private node?: MemoryNode,\n ) {}\n\n get archivist() {\n return assertDefinedEx(this._archivist, 'archivist was not defined upon create')\n }\n\n static async create(config: ArchivistBuilderConfig, account: AccountInstance, node: MemoryNode): Promise<StorageArchivistBuilder> {\n const instance = new this(config, account, node)\n instance.remoteArchivist = await instance.findParentArchivist()\n instance._archivist = await instance.buildArchivist()\n return instance\n }\n\n async buildArchivist() {\n const config = this.buildConfig()\n return (await StorageArchivist.create({ account: this.account, config })) as StorageArchivist\n }\n\n buildConfig(): StorageArchivistConfig {\n return {\n name: this.config.name,\n namespace: this.config.namespace,\n parents: {\n commit: this.remoteArchivist ? [this.remoteArchivist?.address] : undefined,\n read: this.remoteArchivist ? [this.remoteArchivist?.address] : undefined,\n },\n schema: StorageArchivistConfigSchema,\n storeParentReads: true,\n type: 'local',\n }\n }\n\n async findParentArchivist() {\n const node = asNodeInstance(this.node, 'node not defined')\n const [bridge] = (await node.resolve({ name: ['RemoteNodeBridge'] })) ?? []\n if (bridge) {\n try {\n const [archivist] = (await bridge.resolve({ name: ['Archivist'] })) ?? []\n return asArchivistInstance(archivist)\n } catch {\n console.error('Error Resolving Parent Archivist', this.node?.config.name, this.config)\n }\n }\n }\n}\n","import { MemoryNode } from '@xyo-network/node-memory'\nimport { defaultNetworkConfigs } from '@xyo-network/react-network'\nimport { assertDefinedEx } from '@xyo-network/react-shared'\nimport { WalletInstance } from '@xyo-network/wallet-model'\n\nimport { MemoryNodeBuilder } from './Builders/index.ts'\nimport { RemoteNodeArchivistOffsetPaths, RemoteNodeOffsetPaths } from './ModuleAccountPaths.ts'\nimport { RootStorageArchivist } from './ModuleNames.ts'\n\nconst knownRemoteNodes = (): { apiDomain: string; name: string }[] => {\n const networkNames = defaultNetworkConfigs.map(config => config.name)\n return networkNames.map((networkName) => {\n const name = assertDefinedEx<string>(networkName, 'missing name in network config')\n const uri = defaultNetworkConfigs.find(config => config.name === networkName)?.nodes?.filter(node => node.type === 'archivist')[0].uri\n const apiDomain = assertDefinedEx<string>(uri, 'missing node type \"archivist\" in network config')\n return {\n apiDomain,\n name,\n }\n })\n}\n\nexport const BuildStandardNodes = async (wallet: WalletInstance, onNodeBuilt?: (node: MemoryNode) => void): Promise<MemoryNode[]> => {\n try {\n return await Promise.all(\n knownRemoteNodes().map(async ({ apiDomain, name }) => {\n const remoteNodeOffset = RemoteNodeOffsetPaths[name]\n const remoteNodeWallet = await wallet.derivePath?.(remoteNodeOffset)\n\n const memoryNodeBuilder = await MemoryNodeBuilder.create({ name }, await remoteNodeWallet.derivePath?.('0'))\n await memoryNodeBuilder.addBridge(apiDomain)\n\n const rootArchivistPath = `${remoteNodeOffset}/${RemoteNodeArchivistOffsetPaths[name][RootStorageArchivist]}`\n const rootArchivistAccount = await wallet.derivePath?.(rootArchivistPath)\n await memoryNodeBuilder.addArchivistStorage(rootArchivistAccount, RootStorageArchivist, 'root')\n\n const { node } = memoryNodeBuilder\n assertDefinedEx(node, 'Memory Node was not built successfully')\n onNodeBuilt?.(node)\n\n return node\n }),\n )\n } catch (e) {\n throw new Error(`Error Creating Known Remote Nodes: ${e}`)\n }\n}\n","export const GlobalNode = 'GlobalNode'\n\nexport const RootStorageArchivist = 'RootStorageArchivist'\n","import { RootStorageArchivist } from './ModuleNames.ts'\n\nexport const GlobalNodeOffsetPath = '15'\n\nexport const RemoteNodeOffsetPaths: Record<string, string> = {\n Kerplunk: '112',\n Local: '111',\n Main: '113',\n}\n\nexport const RemoteNodeArchivistOffsetPaths: Record<string, Record<string, string>> = {\n Kerplunk: {\n MemoryNode: '117',\n [RootStorageArchivist]: '119',\n },\n Local: {\n MemoryNode: '114',\n [RootStorageArchivist]: '116',\n },\n Main: {\n MemoryNode: '120',\n [RootStorageArchivist]: '122',\n },\n}\n","import { useContextEx } from '@xyo-network/react-shared'\n\nimport { StandardNodesContext } from './Context.ts'\n\nexport const useStandardNodes = (required = false) => useContextEx(StandardNodesContext, 'StandardNodes', required)\n","import { useProvidedNode } from '@xyo-network/react-node'\nimport { useMemo } from 'react'\n\nimport { useStandardNodes } from '../contexts/index.ts'\n\nexport const useActiveNodeAddress = (networkName?: string) => {\n const [node] = useProvidedNode()\n const { nodes, findAddressByName } = useStandardNodes()\n\n const activeNodeAddress = useMemo(() => {\n if (node && nodes && findAddressByName && networkName) {\n return findAddressByName(networkName)\n }\n }, [findAddressByName, networkName, node, nodes])\n\n return activeNodeAddress\n}\n"],"mappings":"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","names":["import_react_network","import_react_node","import_react","StandardNodesContext","createContextEx","import_react_shared","import_node_model","import_react_shared","import_react_shared","SentinelBuilder","_sentinel","config","account","assertDefinedEx","sentinel","create","instance","buildSentinel","params","buildParams","MemorySentinel","import_react_shared","StorageArchivistBuilder","_archivist","remoteArchivist","config","account","node","archivist","assertDefinedEx","create","instance","findParentArchivist","buildArchivist","buildConfig","StorageArchivist","name","namespace","parents","commit","address","undefined","read","schema","StorageArchivistConfigSchema","storeParentReads","type","asNodeInstance","bridge","resolve","asArchivistInstance","console","error","MemoryNodeBuilder","_node","node","assertDefinedEx","create","name","account","instance","memoryNode","MemoryNode","config","schema","NodeConfigSchema","addArchivist","moduleName","namespace","addArchivistStorage","addArchivistMemory","MemoryArchivistConfigSchema","memoryArchivist","MemoryArchivist","attach","archivist","StorageArchivistBuilder","addBridge","apiDomain","bridge","HttpBridge","nodeUrl","HttpBridgeConfigSchema","security","allowAnonymous","e","console","error","addSentinel","sentinel","SentinelBuilder","addWitnesses","pluginSetResolver","witnesses","Promise","all","map","pluginSet","index","witness","witnessCleanup","register","address","JSON","stringify","mod","external","safeAttach","existingModule","resolve","pop","detach","unregister","Error","registered","includes","existingWitness","import_react_shared","GlobalNode","RootStorageArchivist","GlobalNodeOffsetPath","RemoteNodeOffsetPaths","Kerplunk","Local","Main","RemoteNodeArchivistOffsetPaths","MemoryNode","RootStorageArchivist","knownRemoteNodes","networkNames","defaultNetworkConfigs","map","config","name","networkName","assertDefinedEx","uri","find","nodes","filter","node","type","apiDomain","BuildStandardNodes","wallet","onNodeBuilt","Promise","all","remoteNodeOffset","RemoteNodeOffsetPaths","remoteNodeWallet","derivePath","memoryNodeBuilder","MemoryNodeBuilder","create","addBridge","rootArchivistPath","RemoteNodeArchivistOffsetPaths","RootStorageArchivist","rootArchivistAccount","addArchivistStorage","e","Error","StandardNodesProvider","children","defaultRemoteNodes","wallet","nodes","setNodes","useState","useEffect","usePromise","BuildStandardNodes","node","find","existingNode","config","name","findAddressByName","validNetworkName","assertDefinedEx","address","value","useMemo","provided","React","StandardNodesContext","Provider","StandardNodesProviderWithWallet","props","activeAccount","useWalletContext","import_react_shared","useStandardNodes","required","useContextEx","StandardNodesContext","import_react","useActiveNodeAddress","networkName","node","useProvidedNode","nodes","findAddressByName","useStandardNodes","activeNodeAddress","useMemo","ActiveStandardNode","children","nodeNameOrAddress","network","useNetwork","node","useWeakNodeFromNode","activeRemoteNodeAddress","setActiveRemoteNodeAddress","useState","nodes","useStandardNodes","selectedNodeAddress","useActiveNodeAddress","name","useAsyncEffect","mounted","nodeInstance","deref","attached","includes","attach","detach","e","console","error","React"]}
@@ -1,5 +1,5 @@
1
- export * from './components/index.js';
2
- export * from './contexts/index.js';
3
- export * from './hooks/index.js';
4
- export * from './lib/index.js';
1
+ export * from './components/index.ts';
2
+ export * from './contexts/index.ts';
3
+ export * from './hooks/index.ts';
4
+ export * from './lib/index.ts';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,5 @@
1
- export * from './components/index.js';
2
- export * from './contexts/index.js';
3
- export * from './hooks/index.js';
4
- export * from './lib/index.js';
1
+ export * from './components/index.ts';
2
+ export * from './contexts/index.ts';
3
+ export * from './hooks/index.ts';
4
+ export * from './lib/index.ts';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,5 @@
1
- export * from './components/index.js';
2
- export * from './contexts/index.js';
3
- export * from './hooks/index.js';
4
- export * from './lib/index.js';
1
+ export * from './components/index.ts';
2
+ export * from './contexts/index.ts';
3
+ export * from './hooks/index.ts';
4
+ export * from './lib/index.ts';
5
5
  //# sourceMappingURL=index.d.ts.map