@xyo-network/bridge-http 2.103.8 → 2.104.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 (156) hide show
  1. package/dist/browser/{HttpBridge.d.cts → HttpBridgeBase.d.cts} +3 -3
  2. package/dist/browser/HttpBridgeBase.d.cts.map +1 -0
  3. package/dist/browser/{HttpBridge.d.ts → HttpBridgeBase.d.mts} +3 -3
  4. package/dist/browser/HttpBridgeBase.d.mts.map +1 -0
  5. package/dist/browser/{HttpBridge.d.mts → HttpBridgeBase.d.ts} +3 -3
  6. package/dist/browser/HttpBridgeBase.d.ts.map +1 -0
  7. package/dist/browser/HttpBridgeClientOnly.d.cts +9 -0
  8. package/dist/browser/HttpBridgeClientOnly.d.cts.map +1 -0
  9. package/dist/browser/HttpBridgeClientOnly.d.mts +9 -0
  10. package/dist/browser/HttpBridgeClientOnly.d.mts.map +1 -0
  11. package/dist/browser/HttpBridgeClientOnly.d.ts +9 -0
  12. package/dist/browser/HttpBridgeClientOnly.d.ts.map +1 -0
  13. package/dist/browser/HttpBridgeConfig.d.cts +7 -0
  14. package/dist/browser/HttpBridgeConfig.d.cts.map +1 -1
  15. package/dist/browser/HttpBridgeConfig.d.mts +7 -0
  16. package/dist/browser/HttpBridgeConfig.d.mts.map +1 -1
  17. package/dist/browser/HttpBridgeConfig.d.ts +7 -0
  18. package/dist/browser/HttpBridgeConfig.d.ts.map +1 -1
  19. package/dist/browser/HttpBridgeFull.d.cts +29 -0
  20. package/dist/browser/HttpBridgeFull.d.cts.map +1 -0
  21. package/dist/browser/HttpBridgeFull.d.mts +29 -0
  22. package/dist/browser/HttpBridgeFull.d.mts.map +1 -0
  23. package/dist/browser/HttpBridgeFull.d.ts +29 -0
  24. package/dist/browser/HttpBridgeFull.d.ts.map +1 -0
  25. package/dist/browser/HttpBridgeModuleResolver.d.cts.map +1 -1
  26. package/dist/browser/HttpBridgeModuleResolver.d.mts.map +1 -1
  27. package/dist/browser/HttpBridgeModuleResolver.d.ts.map +1 -1
  28. package/dist/browser/{index.cjs → index-browser.cjs} +47 -21
  29. package/dist/browser/index-browser.cjs.map +1 -0
  30. package/dist/browser/index-browser.d.cts +3 -0
  31. package/dist/browser/index-browser.d.cts.map +1 -0
  32. package/dist/browser/index-browser.d.mts +3 -0
  33. package/dist/browser/index-browser.d.mts.map +1 -0
  34. package/dist/browser/index-browser.d.ts +3 -0
  35. package/dist/browser/index-browser.d.ts.map +1 -0
  36. package/dist/browser/{index.js → index-browser.js} +43 -17
  37. package/dist/browser/index-browser.js.map +1 -0
  38. package/dist/browser/index.d.cts +1 -1
  39. package/dist/browser/index.d.cts.map +1 -1
  40. package/dist/browser/index.d.mts +1 -1
  41. package/dist/browser/index.d.mts.map +1 -1
  42. package/dist/browser/index.d.ts +1 -1
  43. package/dist/browser/index.d.ts.map +1 -1
  44. package/dist/neutral/{HttpBridge.d.cts → HttpBridgeBase.d.cts} +3 -3
  45. package/dist/neutral/HttpBridgeBase.d.cts.map +1 -0
  46. package/dist/neutral/HttpBridgeBase.d.mts +43 -0
  47. package/dist/neutral/HttpBridgeBase.d.mts.map +1 -0
  48. package/dist/neutral/HttpBridgeBase.d.ts +43 -0
  49. package/dist/neutral/HttpBridgeBase.d.ts.map +1 -0
  50. package/dist/neutral/HttpBridgeClientOnly.d.cts +9 -0
  51. package/dist/neutral/HttpBridgeClientOnly.d.cts.map +1 -0
  52. package/dist/neutral/HttpBridgeClientOnly.d.mts +9 -0
  53. package/dist/neutral/HttpBridgeClientOnly.d.mts.map +1 -0
  54. package/dist/neutral/HttpBridgeClientOnly.d.ts +9 -0
  55. package/dist/neutral/HttpBridgeClientOnly.d.ts.map +1 -0
  56. package/dist/neutral/HttpBridgeConfig.d.cts +7 -0
  57. package/dist/neutral/HttpBridgeConfig.d.cts.map +1 -1
  58. package/dist/neutral/HttpBridgeConfig.d.mts +7 -0
  59. package/dist/neutral/HttpBridgeConfig.d.mts.map +1 -1
  60. package/dist/neutral/HttpBridgeConfig.d.ts +7 -0
  61. package/dist/neutral/HttpBridgeConfig.d.ts.map +1 -1
  62. package/dist/neutral/HttpBridgeFull.d.cts +29 -0
  63. package/dist/neutral/HttpBridgeFull.d.cts.map +1 -0
  64. package/dist/neutral/HttpBridgeFull.d.mts +29 -0
  65. package/dist/neutral/HttpBridgeFull.d.mts.map +1 -0
  66. package/dist/neutral/HttpBridgeFull.d.ts +29 -0
  67. package/dist/neutral/HttpBridgeFull.d.ts.map +1 -0
  68. package/dist/neutral/HttpBridgeModuleResolver.d.cts.map +1 -1
  69. package/dist/neutral/HttpBridgeModuleResolver.d.mts.map +1 -1
  70. package/dist/neutral/HttpBridgeModuleResolver.d.ts.map +1 -1
  71. package/dist/neutral/{index.cjs → index-browser.cjs} +47 -21
  72. package/dist/neutral/index-browser.cjs.map +1 -0
  73. package/dist/neutral/index-browser.d.cts +3 -0
  74. package/dist/neutral/index-browser.d.cts.map +1 -0
  75. package/dist/neutral/index-browser.d.mts +3 -0
  76. package/dist/neutral/index-browser.d.mts.map +1 -0
  77. package/dist/neutral/index-browser.d.ts +3 -0
  78. package/dist/neutral/index-browser.d.ts.map +1 -0
  79. package/dist/neutral/{index.js → index-browser.js} +43 -17
  80. package/dist/neutral/index-browser.js.map +1 -0
  81. package/dist/neutral/index.d.cts +1 -1
  82. package/dist/neutral/index.d.cts.map +1 -1
  83. package/dist/neutral/index.d.mts +1 -1
  84. package/dist/neutral/index.d.mts.map +1 -1
  85. package/dist/neutral/index.d.ts +1 -1
  86. package/dist/neutral/index.d.ts.map +1 -1
  87. package/dist/node/HttpBridgeBase.d.cts +43 -0
  88. package/dist/node/HttpBridgeBase.d.cts.map +1 -0
  89. package/dist/node/HttpBridgeBase.d.mts +43 -0
  90. package/dist/node/HttpBridgeBase.d.mts.map +1 -0
  91. package/dist/node/HttpBridgeBase.d.ts +43 -0
  92. package/dist/node/HttpBridgeBase.d.ts.map +1 -0
  93. package/dist/node/HttpBridgeClientOnly.d.cts +9 -0
  94. package/dist/node/HttpBridgeClientOnly.d.cts.map +1 -0
  95. package/dist/node/HttpBridgeClientOnly.d.mts +9 -0
  96. package/dist/node/HttpBridgeClientOnly.d.mts.map +1 -0
  97. package/dist/node/HttpBridgeClientOnly.d.ts +9 -0
  98. package/dist/node/HttpBridgeClientOnly.d.ts.map +1 -0
  99. package/dist/node/HttpBridgeConfig.d.cts +7 -0
  100. package/dist/node/HttpBridgeConfig.d.cts.map +1 -1
  101. package/dist/node/HttpBridgeConfig.d.mts +7 -0
  102. package/dist/node/HttpBridgeConfig.d.mts.map +1 -1
  103. package/dist/node/HttpBridgeConfig.d.ts +7 -0
  104. package/dist/node/HttpBridgeConfig.d.ts.map +1 -1
  105. package/dist/node/HttpBridgeFull.d.cts +29 -0
  106. package/dist/node/HttpBridgeFull.d.cts.map +1 -0
  107. package/dist/node/HttpBridgeFull.d.mts +29 -0
  108. package/dist/node/HttpBridgeFull.d.mts.map +1 -0
  109. package/dist/node/HttpBridgeFull.d.ts +29 -0
  110. package/dist/node/HttpBridgeFull.d.ts.map +1 -0
  111. package/dist/node/HttpBridgeModuleResolver.d.cts.map +1 -1
  112. package/dist/node/HttpBridgeModuleResolver.d.mts.map +1 -1
  113. package/dist/node/HttpBridgeModuleResolver.d.ts.map +1 -1
  114. package/dist/node/index-browser.d.cts +3 -0
  115. package/dist/node/index-browser.d.cts.map +1 -0
  116. package/dist/node/index-browser.d.mts +3 -0
  117. package/dist/node/index-browser.d.mts.map +1 -0
  118. package/dist/node/index-browser.d.ts +3 -0
  119. package/dist/node/index-browser.d.ts.map +1 -0
  120. package/dist/node/index.cjs +197 -27
  121. package/dist/node/index.cjs.map +1 -1
  122. package/dist/node/index.d.cts +1 -1
  123. package/dist/node/index.d.cts.map +1 -1
  124. package/dist/node/index.d.mts +1 -1
  125. package/dist/node/index.d.mts.map +1 -1
  126. package/dist/node/index.d.ts +1 -1
  127. package/dist/node/index.d.ts.map +1 -1
  128. package/dist/node/index.js +188 -27
  129. package/dist/node/index.js.map +1 -1
  130. package/package.json +38 -33
  131. package/src/{HttpBridge.ts → HttpBridgeBase.ts} +14 -13
  132. package/src/HttpBridgeClientOnly.ts +10 -0
  133. package/src/HttpBridgeConfig.ts +7 -0
  134. package/src/HttpBridgeFull.ts +143 -0
  135. package/src/HttpBridgeModuleResolver.ts +2 -0
  136. package/src/index-browser.ts +2 -0
  137. package/src/index.ts +1 -1
  138. package/xy.config.ts +17 -0
  139. package/dist/browser/HttpBridge.d.cts.map +0 -1
  140. package/dist/browser/HttpBridge.d.mts.map +0 -1
  141. package/dist/browser/HttpBridge.d.ts.map +0 -1
  142. package/dist/browser/index.cjs.map +0 -1
  143. package/dist/browser/index.js.map +0 -1
  144. package/dist/neutral/HttpBridge.d.cts.map +0 -1
  145. package/dist/neutral/HttpBridge.d.mts +0 -43
  146. package/dist/neutral/HttpBridge.d.mts.map +0 -1
  147. package/dist/neutral/HttpBridge.d.ts +0 -43
  148. package/dist/neutral/HttpBridge.d.ts.map +0 -1
  149. package/dist/neutral/index.cjs.map +0 -1
  150. package/dist/neutral/index.js.map +0 -1
  151. package/dist/node/HttpBridge.d.cts +0 -43
  152. package/dist/node/HttpBridge.d.cts.map +0 -1
  153. package/dist/node/HttpBridge.d.mts +0 -43
  154. package/dist/node/HttpBridge.d.mts.map +0 -1
  155. package/dist/node/HttpBridge.d.ts +0 -43
  156. package/dist/node/HttpBridge.d.ts.map +0 -1
@@ -1,7 +1,10 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
 
4
- // src/HttpBridge.ts
4
+ // src/HttpBridgeClientOnly.ts
5
+ import { creatableModule as creatableModule2 } from "@xyo-network/module-model";
6
+
7
+ // src/HttpBridgeBase.ts
5
8
  import { assertEx as assertEx2 } from "@xylabs/assert";
6
9
  import { AxiosJson } from "@xylabs/axios";
7
10
  import { exists } from "@xylabs/exists";
@@ -90,6 +93,8 @@ var HttpBridgeModuleResolver = class extends AbstractBridgeModuleResolver {
90
93
  },
91
94
  host: this,
92
95
  moduleAddress,
96
+ onQuerySendFinished: this.params.onQuerySendFinished,
97
+ onQuerySendStarted: this.params.onQuerySendStarted,
93
98
  querySender: this.querySender
94
99
  };
95
100
  this.logger?.debug(`creating HttpProxy [${moduleAddress}] ${id}`);
@@ -119,7 +124,7 @@ var HttpBridgeModuleResolver = class extends AbstractBridgeModuleResolver {
119
124
  }
120
125
  };
121
126
 
122
- // src/HttpBridge.ts
127
+ // src/HttpBridgeBase.ts
123
128
  function _ts_decorate(decorators, target, key, desc) {
124
129
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
125
130
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
@@ -131,9 +136,9 @@ function _ts_decorate(decorators, target, key, desc) {
131
136
  return c > 3 && r && Object.defineProperty(target, key, r), r;
132
137
  }
133
138
  __name(_ts_decorate, "_ts_decorate");
134
- var HttpBridge = class _HttpBridge extends AbstractBridge {
139
+ var HttpBridgeBase = class _HttpBridgeBase extends AbstractBridge {
135
140
  static {
136
- __name(this, "HttpBridge");
141
+ __name(this, "HttpBridgeBase");
137
142
  }
138
143
  static configSchemas = [
139
144
  ...super.configSchemas,
@@ -147,7 +152,7 @@ var HttpBridge = class _HttpBridge extends AbstractBridge {
147
152
  _axios;
148
153
  _discoverRootsMutex = new Mutex();
149
154
  _failureTimeCache = new LRUCache({
150
- max: _HttpBridge.maxFailureCacheSize
155
+ max: _HttpBridgeBase.maxFailureCacheSize
151
156
  });
152
157
  _querySemaphore;
153
158
  _resolver;
@@ -155,17 +160,17 @@ var HttpBridge = class _HttpBridge extends AbstractBridge {
155
160
  this._axios = this._axios ?? new AxiosJson();
156
161
  return this._axios;
157
162
  }
163
+ get clientUrl() {
164
+ return assertEx2(this.config.client?.url ?? this.config.nodeUrl, () => "No Url Set");
165
+ }
158
166
  get failureRetryTime() {
159
- return this.config.failureRetryTime ?? _HttpBridge.defaultFailureRetryTime;
167
+ return this.config.failureRetryTime ?? _HttpBridgeBase.defaultFailureRetryTime;
160
168
  }
161
169
  get maxConnections() {
162
- return this.config.maxConnections ?? _HttpBridge.defaultMaxConnections;
170
+ return this.config.maxConnections ?? _HttpBridgeBase.defaultMaxConnections;
163
171
  }
164
172
  get maxPayloadSizeWarning() {
165
- return this.config.maxPayloadSizeWarning ?? _HttpBridge.defaultMaxPayloadSizeWarning;
166
- }
167
- get nodeUrl() {
168
- return assertEx2(this.config.nodeUrl, () => "No Url Set");
173
+ return this.config.maxPayloadSizeWarning ?? _HttpBridgeBase.defaultMaxPayloadSizeWarning;
169
174
  }
170
175
  get querySemaphore() {
171
176
  this._querySemaphore = this._querySemaphore ?? new Semaphore(this.maxConnections);
@@ -193,7 +198,7 @@ var HttpBridge = class _HttpBridge extends AbstractBridge {
193
198
  },
194
199
  querySender: this,
195
200
  root: this,
196
- rootUrl: this.nodeUrl,
201
+ rootUrl: this.clientUrl,
197
202
  wrapperAccount: this.account
198
203
  });
199
204
  return this._resolver;
@@ -222,7 +227,7 @@ var HttpBridge = class _HttpBridge extends AbstractBridge {
222
227
  });
223
228
  }
224
229
  moduleUrl(address) {
225
- return new URL(address, this.nodeUrl);
230
+ return new URL(address, this.clientUrl);
226
231
  }
227
232
  async sendBridgeQuery(targetAddress, query, payloads) {
228
233
  const lastFailureTime = this._failureTimeCache.get(targetAddress);
@@ -273,7 +278,7 @@ var HttpBridge = class _HttpBridge extends AbstractBridge {
273
278
  };
274
279
  const boundQuery = await this.bindQuery(queryPayload);
275
280
  try {
276
- const response = await this.axios.post(this.nodeUrl.toString(), boundQuery);
281
+ const response = await this.axios.post(this.clientUrl.toString(), boundQuery);
277
282
  if (response.status === 404) {
278
283
  return [];
279
284
  }
@@ -284,7 +289,7 @@ var HttpBridge = class _HttpBridge extends AbstractBridge {
284
289
  return payloads;
285
290
  } catch (ex) {
286
291
  const error = ex;
287
- this.logger?.warn(`Unable to connect to remote node: ${error.message} [${this.nodeUrl}]`);
292
+ this.logger?.warn(`Unable to connect to remote node: ${error.message} [${this.clientUrl}]`);
288
293
  }
289
294
  }
290
295
  async resolveRootNode(nodeManifest) {
@@ -301,11 +306,32 @@ var HttpBridge = class _HttpBridge extends AbstractBridge {
301
306
  return [];
302
307
  }
303
308
  };
304
- HttpBridge = _ts_decorate([
309
+ HttpBridgeBase = _ts_decorate([
305
310
  creatableModule()
311
+ ], HttpBridgeBase);
312
+
313
+ // src/HttpBridgeClientOnly.ts
314
+ function _ts_decorate2(decorators, target, key, desc) {
315
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
316
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
317
+ r = Reflect.decorate(decorators, target, key, desc);
318
+ else
319
+ for (var i = decorators.length - 1; i >= 0; i--)
320
+ if (d = decorators[i])
321
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
322
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
323
+ }
324
+ __name(_ts_decorate2, "_ts_decorate");
325
+ var HttpBridge = class extends HttpBridgeBase {
326
+ static {
327
+ __name(this, "HttpBridge");
328
+ }
329
+ };
330
+ HttpBridge = _ts_decorate2([
331
+ creatableModule2()
306
332
  ], HttpBridge);
307
333
  export {
308
334
  HttpBridge,
309
335
  HttpBridgeConfigSchema
310
336
  };
311
- //# sourceMappingURL=index.js.map
337
+ //# sourceMappingURL=index-browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/HttpBridgeClientOnly.ts","../../src/HttpBridgeBase.ts","../../src/HttpBridgeConfig.ts","../../src/HttpBridgeModuleResolver.ts","../../src/ModuleProxy/ModuleProxy.ts"],"sourcesContent":["import { BridgeParams } from '@xyo-network/bridge-model'\nimport { AnyConfigSchema, creatableModule } from '@xyo-network/module-model'\n\nimport { HttpBridgeBase } from './HttpBridgeBase'\nimport { HttpBridgeConfig } from './HttpBridgeConfig'\n\nexport interface HttpBridgeParams extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {}\n\n@creatableModule()\nexport class HttpBridge<TParams extends HttpBridgeParams> extends HttpBridgeBase<TParams> {}\n","import { assertEx } from '@xylabs/assert'\nimport { AxiosError, AxiosJson } from '@xylabs/axios'\nimport { exists } from '@xylabs/exists'\nimport { forget } from '@xylabs/forget'\nimport { Address } from '@xylabs/hex'\nimport { toJsonString } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { ApiEnvelope } from '@xyo-network/api-models'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { AbstractBridge } from '@xyo-network/bridge-abstract'\nimport {\n BridgeExposeOptions,\n BridgeModule,\n BridgeParams,\n BridgeUnexposeOptions,\n QuerySendFinishedEventArgs,\n QuerySendStartedEventArgs,\n} from '@xyo-network/bridge-model'\nimport { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport {\n AnyConfigSchema,\n creatableModule,\n ModuleInstance,\n ModuleQueryResult,\n ModuleResolverInstance,\n ModuleStateQuery,\n ModuleStateQuerySchema,\n} from '@xyo-network/module-model'\nimport { asAttachableNodeInstance } from '@xyo-network/node-model'\nimport { isPayloadOfSchemaType, Payload, Schema, WithMeta } from '@xyo-network/payload-model'\nimport { Mutex, Semaphore } from 'async-mutex'\nimport { LRUCache } from 'lru-cache'\n\nimport { HttpBridgeConfig, HttpBridgeConfigSchema } from './HttpBridgeConfig'\nimport { HttpBridgeModuleResolver } from './HttpBridgeModuleResolver'\nimport { BridgeQuerySender } from './ModuleProxy'\n\nexport interface HttpBridgeParams extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {}\n\n@creatableModule()\nexport class HttpBridgeBase<TParams extends HttpBridgeParams> extends AbstractBridge<TParams> implements BridgeModule<TParams>, BridgeQuerySender {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, HttpBridgeConfigSchema]\n static override readonly defaultConfigSchema: Schema = HttpBridgeConfigSchema\n static defaultFailureRetryTime = 1000 * 60\n static defaultMaxConnections = 4\n static defaultMaxPayloadSizeWarning = 256 * 256\n static maxFailureCacheSize = 1000\n\n private _axios?: AxiosJson\n private _discoverRootsMutex = new Mutex()\n private _failureTimeCache = new LRUCache<Address, number>({ max: HttpBridgeBase.maxFailureCacheSize })\n private _querySemaphore?: Semaphore\n private _resolver?: HttpBridgeModuleResolver\n\n get axios() {\n this._axios = this._axios ?? new AxiosJson()\n return this._axios\n }\n\n get clientUrl() {\n // eslint-disable-next-line deprecation/deprecation\n return assertEx(this.config.client?.url ?? this.config.nodeUrl, () => 'No Url Set')\n }\n\n get failureRetryTime() {\n return this.config.failureRetryTime ?? HttpBridgeBase.defaultFailureRetryTime\n }\n\n get maxConnections() {\n return this.config.maxConnections ?? HttpBridgeBase.defaultMaxConnections\n }\n\n get maxPayloadSizeWarning() {\n return this.config.maxPayloadSizeWarning ?? HttpBridgeBase.defaultMaxPayloadSizeWarning\n }\n\n get querySemaphore() {\n this._querySemaphore = this._querySemaphore ?? new Semaphore(this.maxConnections)\n return this._querySemaphore\n }\n\n override get resolver() {\n this._resolver =\n this._resolver ??\n new HttpBridgeModuleResolver({\n additionalSigners: this.additionalSigners,\n archiving: { ...this.archiving, resolveArchivists: this.resolveArchivingArchivists.bind(this) },\n bridge: this,\n onQuerySendFinished: (args: Omit<QuerySendFinishedEventArgs, 'module'>) => {\n forget(this.emit('querySendFinished', { module: this, ...args }))\n },\n onQuerySendStarted: (args: Omit<QuerySendStartedEventArgs, 'module'>) => {\n forget(this.emit('querySendStarted', { module: this, ...args }))\n },\n querySender: this,\n root: this,\n rootUrl: this.clientUrl,\n wrapperAccount: this.account,\n })\n return this._resolver\n }\n\n override exposeHandler(_id: string, _options?: BridgeExposeOptions | undefined): Promisable<ModuleInstance[]> {\n throw new Error('Unsupported')\n }\n\n override exposedHandler(): Promisable<Address[]> {\n throw new Error('Unsupported')\n }\n\n async getRoots(force?: boolean): Promise<ModuleInstance[]> {\n return await this._discoverRootsMutex.runExclusive(async () => {\n if (this._roots === undefined || force) {\n const state = await this.getRootState()\n this.logger?.debug(`HttpBridge:discoverRoots.state [${state?.length}]`)\n const nodeManifest = state?.find(isPayloadOfSchemaType<WithMeta<NodeManifestPayload>>(NodeManifestPayloadSchema))\n if (nodeManifest) {\n const mods = (await this.resolveRootNode(nodeManifest)).filter(exists)\n this.logger?.debug(`HttpBridge:discoverRoots [${mods.length}]`)\n this._roots = mods\n } else {\n this._roots = []\n }\n }\n return this._roots\n })\n }\n\n moduleUrl(address: Address) {\n return new URL(address, this.clientUrl)\n }\n\n async sendBridgeQuery<TOut extends Payload = Payload, TQuery extends QueryBoundWitness = QueryBoundWitness, TIn extends Payload = Payload>(\n targetAddress: Address,\n query: TQuery,\n payloads?: TIn[],\n ): Promise<ModuleQueryResult<TOut>> {\n const lastFailureTime = this._failureTimeCache.get(targetAddress)\n if (lastFailureTime !== undefined) {\n const now = Date.now()\n const timeSincePreviousFailure = now - lastFailureTime\n if (timeSincePreviousFailure > this.failureRetryTime) {\n throw new Error(`target module failed recently [${targetAddress}] [${timeSincePreviousFailure}ms ago]`)\n }\n this._failureTimeCache.delete(targetAddress)\n }\n try {\n await this.querySemaphore.acquire()\n const payloadSize = JSON.stringify([query, payloads]).length\n if (payloadSize > this.maxPayloadSizeWarning) {\n this.logger?.warn(\n `Large targetQuery being sent: ${payloadSize} bytes [${this.address}][${this.moduleAddress}] [${query.schema}] [${payloads?.length}]`,\n )\n }\n const moduleUrl = this.moduleUrl(targetAddress).href\n const result = await this.axios.post<ApiEnvelope<ModuleQueryResult<TOut>>>(moduleUrl, [query, payloads])\n if (result.status === 404) {\n throw `target module not found [${moduleUrl}] [${result.status}]`\n }\n if (result.status >= 400) {\n this.logger?.error(`targetQuery failed [${moduleUrl}]`)\n throw `targetQuery failed [${moduleUrl}] [${result.status}]`\n }\n return result.data?.data\n } catch (ex) {\n const error = ex as AxiosError\n this.logger?.error(`Error: ${toJsonString(error)}`)\n throw error\n } finally {\n this.querySemaphore.release()\n }\n }\n\n override unexposeHandler(_id: string, _options?: BridgeUnexposeOptions | undefined): Promisable<ModuleInstance[]> {\n throw new Error('Unsupported')\n }\n\n private async getRootState() {\n const queryPayload: ModuleStateQuery = { schema: ModuleStateQuerySchema }\n const boundQuery = await this.bindQuery(queryPayload)\n try {\n const response = await this.axios.post<ApiEnvelope<ModuleQueryResult>>(this.clientUrl.toString(), boundQuery)\n if (response.status === 404) {\n return []\n }\n const [, payloads, errors] = response.data.data\n if (errors.length > 0) {\n throw new Error(`getRootState failed: ${JSON.stringify(errors, null, 2)}`)\n }\n return payloads\n } catch (ex) {\n const error = ex as Error\n this.logger?.warn(`Unable to connect to remote node: ${error.message} [${this.clientUrl}]`)\n }\n }\n\n private async resolveRootNode(nodeManifest: NodeManifestPayload): Promise<ModuleInstance[]> {\n const rootModule = assertEx(\n (await this.resolver.resolveHandler(assertEx(nodeManifest.status?.address, () => 'Root has no address'))).at(0),\n () => `Root not found [${nodeManifest.status?.address}]`,\n )\n assertEx(rootModule.constructor.name !== 'HttpModuleProxy', () => 'rootModule is not a Wrapper')\n const rootNode = asAttachableNodeInstance(rootModule, 'Root modules is not a node')\n if (rootNode) {\n this.logger.debug(`rootNode: ${rootNode.id}`)\n this.downResolver.addResolver(rootNode as unknown as ModuleResolverInstance)\n return [rootNode]\n }\n return []\n }\n}\n","import { EmptyObject } from '@xylabs/object'\nimport { BridgeConfig } from '@xyo-network/bridge-model'\n\nexport type HttpBridgeConfigSchema = 'network.xyo.bridge.http.config'\nexport const HttpBridgeConfigSchema: HttpBridgeConfigSchema = 'network.xyo.bridge.http.config'\n\nexport type HttpBridgeConfig<TConfig extends EmptyObject = EmptyObject, TSchema extends string | void = void> = BridgeConfig<\n {\n client?: BridgeConfig['client'] & {\n url: string\n }\n failureRetryTime?: number\n failureTimeCacheMax?: number\n host?: {\n port: number\n }\n maxConnections?: number\n maxPayloadSizeWarning?: number\n /** @deprecated use client.url instead */\n nodeUrl?: string\n schema: HttpBridgeConfigSchema\n } & TConfig,\n TSchema extends string ? TSchema : HttpBridgeConfigSchema\n>\n","import { assertEx } from '@xylabs/assert'\nimport { Address, isAddress } from '@xylabs/hex'\nimport { Account } from '@xyo-network/account'\nimport { AbstractBridgeModuleResolver, BridgeModuleResolverParams, wrapModuleWithType } from '@xyo-network/bridge-abstract'\nimport { ConfigPayload, ConfigSchema } from '@xyo-network/config-payload-plugin'\nimport {\n asModuleInstance,\n ModuleConfig,\n ModuleConfigSchema,\n ModuleFilterOptions,\n ModuleIdentifier,\n ModuleInstance,\n ResolveHelper,\n} from '@xyo-network/module-model'\n\nimport { BridgeQuerySender, HttpModuleProxy, HttpModuleProxyParams } from './ModuleProxy'\n\nexport interface HttpBridgeModuleResolverParams extends BridgeModuleResolverParams {\n querySender: BridgeQuerySender\n rootUrl: string\n}\n\nexport class HttpBridgeModuleResolver<\n T extends HttpBridgeModuleResolverParams = HttpBridgeModuleResolverParams,\n> extends AbstractBridgeModuleResolver<T> {\n get querySender() {\n return this.params.querySender\n }\n\n moduleUrl(address: Address) {\n return new URL(address, this.params.rootUrl)\n }\n\n override async resolveHandler<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T[]> {\n const parentResult = await super.resolveHandler(id, options)\n if (parentResult.length > 0) {\n return parentResult\n }\n if (id === '*') {\n return []\n }\n const idParts = id.split(':')\n const untransformedFirstPart = assertEx(idParts.shift(), () => `Invalid module identifier: ${id}`)\n const firstPart = await ResolveHelper.transformModuleIdentifier(untransformedFirstPart)\n const moduleAddress = firstPart as Address\n assertEx(isAddress(firstPart), () => `Invalid module address: ${firstPart}`)\n const remainderParts = idParts.join(':')\n const params: HttpModuleProxyParams = {\n account: Account.randomSync(),\n additionalSigners: this.params.additionalSigners,\n archiving: this.params.archiving,\n config: { schema: ModuleConfigSchema },\n host: this,\n moduleAddress,\n onQuerySendFinished: this.params.onQuerySendFinished,\n onQuerySendStarted: this.params.onQuerySendStarted,\n querySender: this.querySender,\n }\n\n this.logger?.debug(`creating HttpProxy [${moduleAddress}] ${id}`)\n\n const proxy = new HttpModuleProxy<T, HttpModuleProxyParams>(params)\n //calling state here to get the config\n if (proxy) {\n const state = await proxy.state()\n if (state) {\n const configSchema = (state.find((payload) => payload.schema === ConfigSchema) as ConfigPayload | undefined)?.config\n const config = assertEx(\n state.find((payload) => payload.schema === configSchema),\n () => 'Unable to locate config',\n ) as ModuleConfig\n proxy.setConfig(config)\n }\n }\n\n await proxy.start()\n\n const wrapped = assertEx(wrapModuleWithType(proxy, Account.randomSync()) as unknown as T, () => `Failed to wrapModuleWithType [${id}]`)\n const instance = assertEx(asModuleInstance<T>(wrapped, {}), () => `Failed to asModuleInstance [${id}]`)\n proxy.upResolver.add(instance)\n proxy.downResolver.add(instance)\n\n if (remainderParts.length > 0) {\n const result = await wrapped.resolve<T>(remainderParts, options)\n return result ? [result] : []\n }\n\n //console.log(`resolved: ${proxy.address} [${wrapped.constructor.name}] [${as.constructor.name}]`)\n return [instance]\n }\n}\n","import { forget } from '@xylabs/forget'\nimport { Address } from '@xylabs/hex'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { AbstractModuleProxy, ModuleProxyParams } from '@xyo-network/bridge-abstract'\nimport { AttachableModuleInstance, ModuleInstance, ModuleQueryResult } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport interface BridgeQuerySender {\n sendBridgeQuery: <TOut extends Payload = Payload, TQuery extends QueryBoundWitness = QueryBoundWitness, TIn extends Payload = Payload>(\n targetAddress: Address,\n query: TQuery,\n payloads?: TIn[],\n ) => Promise<ModuleQueryResult<TOut>>\n}\n\nexport type HttpModuleProxyParams = ModuleProxyParams & {\n querySender: BridgeQuerySender\n}\n\nexport class HttpModuleProxy<\n TWrappedModule extends ModuleInstance = ModuleInstance,\n TParams extends Omit<HttpModuleProxyParams, 'config'> & { config: TWrappedModule['config'] } = Omit<HttpModuleProxyParams, 'config'> & {\n config: TWrappedModule['config']\n },\n >\n extends AbstractModuleProxy<TWrappedModule, TParams>\n implements AttachableModuleInstance<TParams, TWrappedModule['eventData']>\n{\n static createCount = 0\n\n constructor(params: TParams) {\n HttpModuleProxy.createCount = HttpModuleProxy.createCount + 1\n if (Math.floor(HttpModuleProxy.createCount / 10) === HttpModuleProxy.createCount / 10) {\n console.log(`HttpModuleProxy.createCount: ${HttpModuleProxy.createCount}`)\n }\n super(params)\n }\n\n async proxyQueryHandler<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads: Payload[] = []): Promise<ModuleQueryResult> {\n if (this.archiving && this.isAllowedArchivingQuery(query.schema)) {\n forget(this.storeToArchivists([query, ...(payloads ?? [])]))\n }\n const result = await this.params.querySender.sendBridgeQuery(this.params.moduleAddress, query, payloads)\n if (this.archiving && this.isAllowedArchivingQuery(query.schema)) {\n forget(this.storeToArchivists(result.flat()))\n }\n return result\n }\n}\n"],"mappings":"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","names":["creatableModule","assertEx","AxiosJson","exists","forget","toJsonString","AbstractBridge","NodeManifestPayloadSchema","creatableModule","ModuleStateQuerySchema","asAttachableNodeInstance","isPayloadOfSchemaType","Mutex","Semaphore","LRUCache","HttpBridgeConfigSchema","assertEx","isAddress","Account","AbstractBridgeModuleResolver","wrapModuleWithType","ConfigSchema","asModuleInstance","ModuleConfigSchema","ResolveHelper","forget","AbstractModuleProxy","HttpModuleProxy","AbstractModuleProxy","createCount","constructor","params","Math","floor","console","log","proxyQueryHandler","query","payloads","archiving","isAllowedArchivingQuery","schema","forget","storeToArchivists","result","querySender","sendBridgeQuery","moduleAddress","flat","HttpBridgeModuleResolver","AbstractBridgeModuleResolver","querySender","params","moduleUrl","address","URL","rootUrl","resolveHandler","id","options","parentResult","length","idParts","split","untransformedFirstPart","assertEx","shift","firstPart","ResolveHelper","transformModuleIdentifier","moduleAddress","isAddress","remainderParts","join","account","Account","randomSync","additionalSigners","archiving","config","schema","ModuleConfigSchema","host","onQuerySendFinished","onQuerySendStarted","logger","debug","proxy","HttpModuleProxy","state","configSchema","find","payload","ConfigSchema","setConfig","start","wrapped","wrapModuleWithType","instance","asModuleInstance","upResolver","add","downResolver","result","resolve","HttpBridgeBase","AbstractBridge","configSchemas","HttpBridgeConfigSchema","defaultConfigSchema","defaultFailureRetryTime","defaultMaxConnections","defaultMaxPayloadSizeWarning","maxFailureCacheSize","_axios","_discoverRootsMutex","Mutex","_failureTimeCache","LRUCache","max","_querySemaphore","_resolver","axios","AxiosJson","clientUrl","assertEx","config","client","url","nodeUrl","failureRetryTime","maxConnections","maxPayloadSizeWarning","querySemaphore","Semaphore","resolver","HttpBridgeModuleResolver","additionalSigners","archiving","resolveArchivists","resolveArchivingArchivists","bind","bridge","onQuerySendFinished","args","forget","emit","module","onQuerySendStarted","querySender","root","rootUrl","wrapperAccount","account","exposeHandler","_id","_options","Error","exposedHandler","getRoots","force","runExclusive","_roots","undefined","state","getRootState","logger","debug","length","nodeManifest","find","isPayloadOfSchemaType","NodeManifestPayloadSchema","mods","resolveRootNode","filter","exists","moduleUrl","address","URL","sendBridgeQuery","targetAddress","query","payloads","lastFailureTime","get","now","Date","timeSincePreviousFailure","delete","acquire","payloadSize","JSON","stringify","warn","moduleAddress","schema","href","result","post","status","error","data","ex","toJsonString","release","unexposeHandler","queryPayload","ModuleStateQuerySchema","boundQuery","bindQuery","response","toString","errors","message","rootModule","resolveHandler","at","constructor","name","rootNode","asAttachableNodeInstance","id","downResolver","addResolver","creatableModule","HttpBridge","HttpBridgeBase","creatableModule"]}
@@ -1,3 +1,3 @@
1
- export * from './HttpBridge';
2
1
  export * from './HttpBridgeConfig';
2
+ export * from './HttpBridgeFull';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA"}
@@ -1,3 +1,3 @@
1
- export * from './HttpBridge';
2
1
  export * from './HttpBridgeConfig';
2
+ export * from './HttpBridgeFull';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA"}
@@ -1,3 +1,3 @@
1
- export * from './HttpBridge';
2
1
  export * from './HttpBridgeConfig';
2
+ export * from './HttpBridgeFull';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA"}
@@ -12,7 +12,7 @@ import { HttpBridgeModuleResolver } from './HttpBridgeModuleResolver';
12
12
  import { BridgeQuerySender } from './ModuleProxy';
13
13
  export interface HttpBridgeParams extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {
14
14
  }
15
- export declare class HttpBridge<TParams extends HttpBridgeParams> extends AbstractBridge<TParams> implements BridgeModule<TParams>, BridgeQuerySender {
15
+ export declare class HttpBridgeBase<TParams extends HttpBridgeParams> extends AbstractBridge<TParams> implements BridgeModule<TParams>, BridgeQuerySender {
16
16
  static readonly configSchemas: Schema[];
17
17
  static readonly defaultConfigSchema: Schema;
18
18
  static defaultFailureRetryTime: number;
@@ -25,10 +25,10 @@ export declare class HttpBridge<TParams extends HttpBridgeParams> extends Abstra
25
25
  private _querySemaphore?;
26
26
  private _resolver?;
27
27
  get axios(): AxiosJson;
28
+ get clientUrl(): string;
28
29
  get failureRetryTime(): number;
29
30
  get maxConnections(): number;
30
31
  get maxPayloadSizeWarning(): number;
31
- get nodeUrl(): string;
32
32
  get querySemaphore(): Semaphore;
33
33
  get resolver(): HttpBridgeModuleResolver<import("./HttpBridgeModuleResolver").HttpBridgeModuleResolverParams>;
34
34
  exposeHandler(_id: string, _options?: BridgeExposeOptions | undefined): Promisable<ModuleInstance[]>;
@@ -40,4 +40,4 @@ export declare class HttpBridge<TParams extends HttpBridgeParams> extends Abstra
40
40
  private getRootState;
41
41
  private resolveRootNode;
42
42
  }
43
- //# sourceMappingURL=HttpBridge.d.ts.map
43
+ //# sourceMappingURL=HttpBridgeBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpBridgeBase.d.ts","sourceRoot":"","sources":["../../src/HttpBridgeBase.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,SAAS,EAAE,MAAM,eAAe,CAAA;AAGrD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,qBAAqB,EAGtB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,eAAe,EAEf,cAAc,EACd,iBAAiB,EAIlB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAyB,OAAO,EAAE,MAAM,EAAY,MAAM,4BAA4B,CAAA;AAC7F,OAAO,EAAS,SAAS,EAAE,MAAM,aAAa,CAAA;AAG9C,OAAO,EAAE,gBAAgB,EAA0B,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,MAAM,WAAW,gBAAiB,SAAQ,YAAY,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAAG;AAE5F,qBACa,cAAc,CAAC,OAAO,SAAS,gBAAgB,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAE,YAAW,YAAY,CAAC,OAAO,CAAC,EAAE,iBAAiB;IAC/I,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAmD;IACnG,gBAAyB,mBAAmB,EAAE,MAAM,CAAyB;IAC7E,MAAM,CAAC,uBAAuB,SAAY;IAC1C,MAAM,CAAC,qBAAqB,SAAI;IAChC,MAAM,CAAC,4BAA4B,SAAY;IAC/C,MAAM,CAAC,mBAAmB,SAAO;IAEjC,OAAO,CAAC,MAAM,CAAC,CAAW;IAC1B,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,iBAAiB,CAA6E;IACtG,OAAO,CAAC,eAAe,CAAC,CAAW;IACnC,OAAO,CAAC,SAAS,CAAC,CAA0B;IAE5C,IAAI,KAAK,cAGR;IAED,IAAI,SAAS,WAGZ;IAED,IAAI,gBAAgB,WAEnB;IAED,IAAI,cAAc,WAEjB;IAED,IAAI,qBAAqB,WAExB;IAED,IAAI,cAAc,cAGjB;IAED,IAAa,QAAQ,kGAmBpB;IAEQ,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;IAIpG,cAAc,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;IAI1C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAkB1D,SAAS,CAAC,OAAO,EAAE,OAAO;IAIpB,eAAe,CAAC,IAAI,SAAS,OAAO,GAAG,OAAO,EAAE,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,SAAS,OAAO,GAAG,OAAO,EACvI,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,GAAG,EAAE,GACf,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAqC1B,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,SAAS,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;YAInG,YAAY;YAmBZ,eAAe;CAc9B"}
@@ -0,0 +1,43 @@
1
+ import { AxiosJson } from '@xylabs/axios';
2
+ import { Address } from '@xylabs/hex';
3
+ import { Promisable } from '@xylabs/promise';
4
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { AbstractBridge } from '@xyo-network/bridge-abstract';
6
+ import { BridgeExposeOptions, BridgeModule, BridgeParams, BridgeUnexposeOptions } from '@xyo-network/bridge-model';
7
+ import { AnyConfigSchema, ModuleInstance, ModuleQueryResult } from '@xyo-network/module-model';
8
+ import { Payload, Schema } from '@xyo-network/payload-model';
9
+ import { Semaphore } from 'async-mutex';
10
+ import { HttpBridgeConfig } from './HttpBridgeConfig';
11
+ import { HttpBridgeModuleResolver } from './HttpBridgeModuleResolver';
12
+ import { BridgeQuerySender } from './ModuleProxy';
13
+ export interface HttpBridgeParams extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {
14
+ }
15
+ export declare class HttpBridgeBase<TParams extends HttpBridgeParams> extends AbstractBridge<TParams> implements BridgeModule<TParams>, BridgeQuerySender {
16
+ static readonly configSchemas: Schema[];
17
+ static readonly defaultConfigSchema: Schema;
18
+ static defaultFailureRetryTime: number;
19
+ static defaultMaxConnections: number;
20
+ static defaultMaxPayloadSizeWarning: number;
21
+ static maxFailureCacheSize: number;
22
+ private _axios?;
23
+ private _discoverRootsMutex;
24
+ private _failureTimeCache;
25
+ private _querySemaphore?;
26
+ private _resolver?;
27
+ get axios(): AxiosJson;
28
+ get clientUrl(): string;
29
+ get failureRetryTime(): number;
30
+ get maxConnections(): number;
31
+ get maxPayloadSizeWarning(): number;
32
+ get querySemaphore(): Semaphore;
33
+ get resolver(): HttpBridgeModuleResolver<import("./HttpBridgeModuleResolver").HttpBridgeModuleResolverParams>;
34
+ exposeHandler(_id: string, _options?: BridgeExposeOptions | undefined): Promisable<ModuleInstance[]>;
35
+ exposedHandler(): Promisable<Address[]>;
36
+ getRoots(force?: boolean): Promise<ModuleInstance[]>;
37
+ moduleUrl(address: Address): URL;
38
+ sendBridgeQuery<TOut extends Payload = Payload, TQuery extends QueryBoundWitness = QueryBoundWitness, TIn extends Payload = Payload>(targetAddress: Address, query: TQuery, payloads?: TIn[]): Promise<ModuleQueryResult<TOut>>;
39
+ unexposeHandler(_id: string, _options?: BridgeUnexposeOptions | undefined): Promisable<ModuleInstance[]>;
40
+ private getRootState;
41
+ private resolveRootNode;
42
+ }
43
+ //# sourceMappingURL=HttpBridgeBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpBridgeBase.d.ts","sourceRoot":"","sources":["../../src/HttpBridgeBase.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,SAAS,EAAE,MAAM,eAAe,CAAA;AAGrD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,qBAAqB,EAGtB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,eAAe,EAEf,cAAc,EACd,iBAAiB,EAIlB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAyB,OAAO,EAAE,MAAM,EAAY,MAAM,4BAA4B,CAAA;AAC7F,OAAO,EAAS,SAAS,EAAE,MAAM,aAAa,CAAA;AAG9C,OAAO,EAAE,gBAAgB,EAA0B,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,MAAM,WAAW,gBAAiB,SAAQ,YAAY,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAAG;AAE5F,qBACa,cAAc,CAAC,OAAO,SAAS,gBAAgB,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAE,YAAW,YAAY,CAAC,OAAO,CAAC,EAAE,iBAAiB;IAC/I,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAmD;IACnG,gBAAyB,mBAAmB,EAAE,MAAM,CAAyB;IAC7E,MAAM,CAAC,uBAAuB,SAAY;IAC1C,MAAM,CAAC,qBAAqB,SAAI;IAChC,MAAM,CAAC,4BAA4B,SAAY;IAC/C,MAAM,CAAC,mBAAmB,SAAO;IAEjC,OAAO,CAAC,MAAM,CAAC,CAAW;IAC1B,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,iBAAiB,CAA6E;IACtG,OAAO,CAAC,eAAe,CAAC,CAAW;IACnC,OAAO,CAAC,SAAS,CAAC,CAA0B;IAE5C,IAAI,KAAK,cAGR;IAED,IAAI,SAAS,WAGZ;IAED,IAAI,gBAAgB,WAEnB;IAED,IAAI,cAAc,WAEjB;IAED,IAAI,qBAAqB,WAExB;IAED,IAAI,cAAc,cAGjB;IAED,IAAa,QAAQ,kGAmBpB;IAEQ,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;IAIpG,cAAc,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;IAI1C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAkB1D,SAAS,CAAC,OAAO,EAAE,OAAO;IAIpB,eAAe,CAAC,IAAI,SAAS,OAAO,GAAG,OAAO,EAAE,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,SAAS,OAAO,GAAG,OAAO,EACvI,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,GAAG,EAAE,GACf,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAqC1B,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,SAAS,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;YAInG,YAAY;YAmBZ,eAAe;CAc9B"}
@@ -0,0 +1,43 @@
1
+ import { AxiosJson } from '@xylabs/axios';
2
+ import { Address } from '@xylabs/hex';
3
+ import { Promisable } from '@xylabs/promise';
4
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { AbstractBridge } from '@xyo-network/bridge-abstract';
6
+ import { BridgeExposeOptions, BridgeModule, BridgeParams, BridgeUnexposeOptions } from '@xyo-network/bridge-model';
7
+ import { AnyConfigSchema, ModuleInstance, ModuleQueryResult } from '@xyo-network/module-model';
8
+ import { Payload, Schema } from '@xyo-network/payload-model';
9
+ import { Semaphore } from 'async-mutex';
10
+ import { HttpBridgeConfig } from './HttpBridgeConfig';
11
+ import { HttpBridgeModuleResolver } from './HttpBridgeModuleResolver';
12
+ import { BridgeQuerySender } from './ModuleProxy';
13
+ export interface HttpBridgeParams extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {
14
+ }
15
+ export declare class HttpBridgeBase<TParams extends HttpBridgeParams> extends AbstractBridge<TParams> implements BridgeModule<TParams>, BridgeQuerySender {
16
+ static readonly configSchemas: Schema[];
17
+ static readonly defaultConfigSchema: Schema;
18
+ static defaultFailureRetryTime: number;
19
+ static defaultMaxConnections: number;
20
+ static defaultMaxPayloadSizeWarning: number;
21
+ static maxFailureCacheSize: number;
22
+ private _axios?;
23
+ private _discoverRootsMutex;
24
+ private _failureTimeCache;
25
+ private _querySemaphore?;
26
+ private _resolver?;
27
+ get axios(): AxiosJson;
28
+ get clientUrl(): string;
29
+ get failureRetryTime(): number;
30
+ get maxConnections(): number;
31
+ get maxPayloadSizeWarning(): number;
32
+ get querySemaphore(): Semaphore;
33
+ get resolver(): HttpBridgeModuleResolver<import("./HttpBridgeModuleResolver").HttpBridgeModuleResolverParams>;
34
+ exposeHandler(_id: string, _options?: BridgeExposeOptions | undefined): Promisable<ModuleInstance[]>;
35
+ exposedHandler(): Promisable<Address[]>;
36
+ getRoots(force?: boolean): Promise<ModuleInstance[]>;
37
+ moduleUrl(address: Address): URL;
38
+ sendBridgeQuery<TOut extends Payload = Payload, TQuery extends QueryBoundWitness = QueryBoundWitness, TIn extends Payload = Payload>(targetAddress: Address, query: TQuery, payloads?: TIn[]): Promise<ModuleQueryResult<TOut>>;
39
+ unexposeHandler(_id: string, _options?: BridgeUnexposeOptions | undefined): Promisable<ModuleInstance[]>;
40
+ private getRootState;
41
+ private resolveRootNode;
42
+ }
43
+ //# sourceMappingURL=HttpBridgeBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpBridgeBase.d.ts","sourceRoot":"","sources":["../../src/HttpBridgeBase.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,SAAS,EAAE,MAAM,eAAe,CAAA;AAGrD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,qBAAqB,EAGtB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,eAAe,EAEf,cAAc,EACd,iBAAiB,EAIlB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAyB,OAAO,EAAE,MAAM,EAAY,MAAM,4BAA4B,CAAA;AAC7F,OAAO,EAAS,SAAS,EAAE,MAAM,aAAa,CAAA;AAG9C,OAAO,EAAE,gBAAgB,EAA0B,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,MAAM,WAAW,gBAAiB,SAAQ,YAAY,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAAG;AAE5F,qBACa,cAAc,CAAC,OAAO,SAAS,gBAAgB,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAE,YAAW,YAAY,CAAC,OAAO,CAAC,EAAE,iBAAiB;IAC/I,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAmD;IACnG,gBAAyB,mBAAmB,EAAE,MAAM,CAAyB;IAC7E,MAAM,CAAC,uBAAuB,SAAY;IAC1C,MAAM,CAAC,qBAAqB,SAAI;IAChC,MAAM,CAAC,4BAA4B,SAAY;IAC/C,MAAM,CAAC,mBAAmB,SAAO;IAEjC,OAAO,CAAC,MAAM,CAAC,CAAW;IAC1B,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,iBAAiB,CAA6E;IACtG,OAAO,CAAC,eAAe,CAAC,CAAW;IACnC,OAAO,CAAC,SAAS,CAAC,CAA0B;IAE5C,IAAI,KAAK,cAGR;IAED,IAAI,SAAS,WAGZ;IAED,IAAI,gBAAgB,WAEnB;IAED,IAAI,cAAc,WAEjB;IAED,IAAI,qBAAqB,WAExB;IAED,IAAI,cAAc,cAGjB;IAED,IAAa,QAAQ,kGAmBpB;IAEQ,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;IAIpG,cAAc,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;IAI1C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAkB1D,SAAS,CAAC,OAAO,EAAE,OAAO;IAIpB,eAAe,CAAC,IAAI,SAAS,OAAO,GAAG,OAAO,EAAE,MAAM,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,SAAS,OAAO,GAAG,OAAO,EACvI,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,GAAG,EAAE,GACf,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAqC1B,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,SAAS,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;YAInG,YAAY;YAmBZ,eAAe;CAc9B"}
@@ -0,0 +1,9 @@
1
+ import { BridgeParams } from '@xyo-network/bridge-model';
2
+ import { AnyConfigSchema } from '@xyo-network/module-model';
3
+ import { HttpBridgeBase } from './HttpBridgeBase';
4
+ import { HttpBridgeConfig } from './HttpBridgeConfig';
5
+ export interface HttpBridgeParams extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {
6
+ }
7
+ export declare class HttpBridge<TParams extends HttpBridgeParams> extends HttpBridgeBase<TParams> {
8
+ }
9
+ //# sourceMappingURL=HttpBridgeClientOnly.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpBridgeClientOnly.d.ts","sourceRoot":"","sources":["../../src/HttpBridgeClientOnly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAmB,MAAM,2BAA2B,CAAA;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,MAAM,WAAW,gBAAiB,SAAQ,YAAY,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAAG;AAE5F,qBACa,UAAU,CAAC,OAAO,SAAS,gBAAgB,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAC;CAAG"}
@@ -0,0 +1,9 @@
1
+ import { BridgeParams } from '@xyo-network/bridge-model';
2
+ import { AnyConfigSchema } from '@xyo-network/module-model';
3
+ import { HttpBridgeBase } from './HttpBridgeBase';
4
+ import { HttpBridgeConfig } from './HttpBridgeConfig';
5
+ export interface HttpBridgeParams extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {
6
+ }
7
+ export declare class HttpBridge<TParams extends HttpBridgeParams> extends HttpBridgeBase<TParams> {
8
+ }
9
+ //# sourceMappingURL=HttpBridgeClientOnly.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpBridgeClientOnly.d.ts","sourceRoot":"","sources":["../../src/HttpBridgeClientOnly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAmB,MAAM,2BAA2B,CAAA;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,MAAM,WAAW,gBAAiB,SAAQ,YAAY,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAAG;AAE5F,qBACa,UAAU,CAAC,OAAO,SAAS,gBAAgB,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAC;CAAG"}
@@ -0,0 +1,9 @@
1
+ import { BridgeParams } from '@xyo-network/bridge-model';
2
+ import { AnyConfigSchema } from '@xyo-network/module-model';
3
+ import { HttpBridgeBase } from './HttpBridgeBase';
4
+ import { HttpBridgeConfig } from './HttpBridgeConfig';
5
+ export interface HttpBridgeParams extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {
6
+ }
7
+ export declare class HttpBridge<TParams extends HttpBridgeParams> extends HttpBridgeBase<TParams> {
8
+ }
9
+ //# sourceMappingURL=HttpBridgeClientOnly.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpBridgeClientOnly.d.ts","sourceRoot":"","sources":["../../src/HttpBridgeClientOnly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAmB,MAAM,2BAA2B,CAAA;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,MAAM,WAAW,gBAAiB,SAAQ,YAAY,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAAG;AAE5F,qBACa,UAAU,CAAC,OAAO,SAAS,gBAAgB,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAC;CAAG"}
@@ -3,10 +3,17 @@ import { BridgeConfig } from '@xyo-network/bridge-model';
3
3
  export type HttpBridgeConfigSchema = 'network.xyo.bridge.http.config';
4
4
  export declare const HttpBridgeConfigSchema: HttpBridgeConfigSchema;
5
5
  export type HttpBridgeConfig<TConfig extends EmptyObject = EmptyObject, TSchema extends string | void = void> = BridgeConfig<{
6
+ client?: BridgeConfig['client'] & {
7
+ url: string;
8
+ };
6
9
  failureRetryTime?: number;
7
10
  failureTimeCacheMax?: number;
11
+ host?: {
12
+ port: number;
13
+ };
8
14
  maxConnections?: number;
9
15
  maxPayloadSizeWarning?: number;
16
+ /** @deprecated use client.url instead */
10
17
  nodeUrl?: string;
11
18
  schema: HttpBridgeConfigSchema;
12
19
  } & TConfig, TSchema extends string ? TSchema : HttpBridgeConfigSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"HttpBridgeConfig.d.ts","sourceRoot":"","sources":["../../src/HttpBridgeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,MAAM,sBAAsB,GAAG,gCAAgC,CAAA;AACrE,eAAO,MAAM,sBAAsB,EAAE,sBAAyD,CAAA;AAE9F,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,WAAW,GAAG,WAAW,EAAE,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,YAAY,CAC1H;IACE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,sBAAsB,CAAA;CAC/B,GAAG,OAAO,EACX,OAAO,SAAS,MAAM,GAAG,OAAO,GAAG,sBAAsB,CAC1D,CAAA"}
1
+ {"version":3,"file":"HttpBridgeConfig.d.ts","sourceRoot":"","sources":["../../src/HttpBridgeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,MAAM,sBAAsB,GAAG,gCAAgC,CAAA;AACrE,eAAO,MAAM,sBAAsB,EAAE,sBAAyD,CAAA;AAE9F,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,WAAW,GAAG,WAAW,EAAE,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,YAAY,CAC1H;IACE,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG;QAChC,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,sBAAsB,CAAA;CAC/B,GAAG,OAAO,EACX,OAAO,SAAS,MAAM,GAAG,OAAO,GAAG,sBAAsB,CAC1D,CAAA"}
@@ -3,10 +3,17 @@ import { BridgeConfig } from '@xyo-network/bridge-model';
3
3
  export type HttpBridgeConfigSchema = 'network.xyo.bridge.http.config';
4
4
  export declare const HttpBridgeConfigSchema: HttpBridgeConfigSchema;
5
5
  export type HttpBridgeConfig<TConfig extends EmptyObject = EmptyObject, TSchema extends string | void = void> = BridgeConfig<{
6
+ client?: BridgeConfig['client'] & {
7
+ url: string;
8
+ };
6
9
  failureRetryTime?: number;
7
10
  failureTimeCacheMax?: number;
11
+ host?: {
12
+ port: number;
13
+ };
8
14
  maxConnections?: number;
9
15
  maxPayloadSizeWarning?: number;
16
+ /** @deprecated use client.url instead */
10
17
  nodeUrl?: string;
11
18
  schema: HttpBridgeConfigSchema;
12
19
  } & TConfig, TSchema extends string ? TSchema : HttpBridgeConfigSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"HttpBridgeConfig.d.ts","sourceRoot":"","sources":["../../src/HttpBridgeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,MAAM,sBAAsB,GAAG,gCAAgC,CAAA;AACrE,eAAO,MAAM,sBAAsB,EAAE,sBAAyD,CAAA;AAE9F,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,WAAW,GAAG,WAAW,EAAE,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,YAAY,CAC1H;IACE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,sBAAsB,CAAA;CAC/B,GAAG,OAAO,EACX,OAAO,SAAS,MAAM,GAAG,OAAO,GAAG,sBAAsB,CAC1D,CAAA"}
1
+ {"version":3,"file":"HttpBridgeConfig.d.ts","sourceRoot":"","sources":["../../src/HttpBridgeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,MAAM,sBAAsB,GAAG,gCAAgC,CAAA;AACrE,eAAO,MAAM,sBAAsB,EAAE,sBAAyD,CAAA;AAE9F,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,WAAW,GAAG,WAAW,EAAE,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,YAAY,CAC1H;IACE,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG;QAChC,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,sBAAsB,CAAA;CAC/B,GAAG,OAAO,EACX,OAAO,SAAS,MAAM,GAAG,OAAO,GAAG,sBAAsB,CAC1D,CAAA"}
@@ -3,10 +3,17 @@ import { BridgeConfig } from '@xyo-network/bridge-model';
3
3
  export type HttpBridgeConfigSchema = 'network.xyo.bridge.http.config';
4
4
  export declare const HttpBridgeConfigSchema: HttpBridgeConfigSchema;
5
5
  export type HttpBridgeConfig<TConfig extends EmptyObject = EmptyObject, TSchema extends string | void = void> = BridgeConfig<{
6
+ client?: BridgeConfig['client'] & {
7
+ url: string;
8
+ };
6
9
  failureRetryTime?: number;
7
10
  failureTimeCacheMax?: number;
11
+ host?: {
12
+ port: number;
13
+ };
8
14
  maxConnections?: number;
9
15
  maxPayloadSizeWarning?: number;
16
+ /** @deprecated use client.url instead */
10
17
  nodeUrl?: string;
11
18
  schema: HttpBridgeConfigSchema;
12
19
  } & TConfig, TSchema extends string ? TSchema : HttpBridgeConfigSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"HttpBridgeConfig.d.ts","sourceRoot":"","sources":["../../src/HttpBridgeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,MAAM,sBAAsB,GAAG,gCAAgC,CAAA;AACrE,eAAO,MAAM,sBAAsB,EAAE,sBAAyD,CAAA;AAE9F,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,WAAW,GAAG,WAAW,EAAE,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,YAAY,CAC1H;IACE,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,sBAAsB,CAAA;CAC/B,GAAG,OAAO,EACX,OAAO,SAAS,MAAM,GAAG,OAAO,GAAG,sBAAsB,CAC1D,CAAA"}
1
+ {"version":3,"file":"HttpBridgeConfig.d.ts","sourceRoot":"","sources":["../../src/HttpBridgeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,MAAM,sBAAsB,GAAG,gCAAgC,CAAA;AACrE,eAAO,MAAM,sBAAsB,EAAE,sBAAyD,CAAA;AAE9F,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,WAAW,GAAG,WAAW,EAAE,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,YAAY,CAC1H;IACE,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG;QAChC,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,sBAAsB,CAAA;CAC/B,GAAG,OAAO,EACX,OAAO,SAAS,MAAM,GAAG,OAAO,GAAG,sBAAsB,CAC1D,CAAA"}
@@ -0,0 +1,29 @@
1
+ /// <reference types="node" />
2
+ import { Server } from 'node:http';
3
+ import { Address } from '@xylabs/hex';
4
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { BridgeExposeOptions, BridgeParams, BridgeUnexposeOptions } from '@xyo-network/bridge-model';
6
+ import { AnyConfigSchema, ModuleInstance, ModuleQueryResult } from '@xyo-network/module-model';
7
+ import { Payload } from '@xyo-network/payload-model';
8
+ import express, { Application, Request, Response } from 'express';
9
+ import { HttpBridgeBase } from './HttpBridgeBase';
10
+ import { HttpBridgeConfig } from './HttpBridgeConfig';
11
+ export interface HttpBridgeParams extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {
12
+ }
13
+ export declare class HttpBridge<TParams extends HttpBridgeParams> extends HttpBridgeBase<TParams> {
14
+ protected _app?: Application;
15
+ protected _exposedModules: WeakRef<ModuleInstance>[];
16
+ protected _server?: Server;
17
+ get app(): express.Application;
18
+ exposeChild(mod: ModuleInstance, options?: BridgeExposeOptions | undefined): Promise<ModuleInstance[]>;
19
+ exposeHandler(address: Address, options?: BridgeExposeOptions | undefined): Promise<ModuleInstance[]>;
20
+ exposedHandler(): Address[];
21
+ startHandler(): Promise<boolean>;
22
+ stopHandler(_timeout?: number | undefined): Promise<boolean>;
23
+ unexposeHandler(address: Address, options?: BridgeUnexposeOptions | undefined): Promise<ModuleInstance[]>;
24
+ protected callLocalModule(address: Address, query: QueryBoundWitness, payloads: Payload[]): Promise<ModuleQueryResult | null>;
25
+ protected handlePost(req: Request<Payload[]>, res: Response): void;
26
+ protected startHttpServer(): boolean;
27
+ protected stopHttpServer(): boolean;
28
+ }
29
+ //# sourceMappingURL=HttpBridgeFull.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpBridgeFull.d.ts","sourceRoot":"","sources":["../../src/HttpBridgeFull.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAIlC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAGrC,OAAO,EAAuB,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACpG,OAAO,EAAE,eAAe,EAAmB,cAAc,EAAE,iBAAiB,EAA8B,MAAM,2BAA2B,CAAA;AAC3I,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,MAAM,WAAW,gBAAiB,SAAQ,YAAY,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAAG;AAE5F,qBACa,UAAU,CAAC,OAAO,SAAS,gBAAgB,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAC;IACvF,SAAS,CAAC,IAAI,CAAC,EAAE,WAAW,CAAA;IAC5B,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CAAK;IACzD,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IAE1B,IAAI,GAAG,wBAcN;IAEK,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAiB7F,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAa3G,cAAc,IAAI,OAAO,EAAE;IAIrB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5D,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;cAkBxG,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAQnI,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ;IAoB3D,SAAS,CAAC,eAAe;IAQzB,SAAS,CAAC,cAAc;CAMzB"}
@@ -0,0 +1,29 @@
1
+ /// <reference types="node" />
2
+ import { Server } from 'node:http';
3
+ import { Address } from '@xylabs/hex';
4
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { BridgeExposeOptions, BridgeParams, BridgeUnexposeOptions } from '@xyo-network/bridge-model';
6
+ import { AnyConfigSchema, ModuleInstance, ModuleQueryResult } from '@xyo-network/module-model';
7
+ import { Payload } from '@xyo-network/payload-model';
8
+ import express, { Application, Request, Response } from 'express';
9
+ import { HttpBridgeBase } from './HttpBridgeBase';
10
+ import { HttpBridgeConfig } from './HttpBridgeConfig';
11
+ export interface HttpBridgeParams extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {
12
+ }
13
+ export declare class HttpBridge<TParams extends HttpBridgeParams> extends HttpBridgeBase<TParams> {
14
+ protected _app?: Application;
15
+ protected _exposedModules: WeakRef<ModuleInstance>[];
16
+ protected _server?: Server;
17
+ get app(): express.Application;
18
+ exposeChild(mod: ModuleInstance, options?: BridgeExposeOptions | undefined): Promise<ModuleInstance[]>;
19
+ exposeHandler(address: Address, options?: BridgeExposeOptions | undefined): Promise<ModuleInstance[]>;
20
+ exposedHandler(): Address[];
21
+ startHandler(): Promise<boolean>;
22
+ stopHandler(_timeout?: number | undefined): Promise<boolean>;
23
+ unexposeHandler(address: Address, options?: BridgeUnexposeOptions | undefined): Promise<ModuleInstance[]>;
24
+ protected callLocalModule(address: Address, query: QueryBoundWitness, payloads: Payload[]): Promise<ModuleQueryResult | null>;
25
+ protected handlePost(req: Request<Payload[]>, res: Response): void;
26
+ protected startHttpServer(): boolean;
27
+ protected stopHttpServer(): boolean;
28
+ }
29
+ //# sourceMappingURL=HttpBridgeFull.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpBridgeFull.d.ts","sourceRoot":"","sources":["../../src/HttpBridgeFull.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAIlC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAGrC,OAAO,EAAuB,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACpG,OAAO,EAAE,eAAe,EAAmB,cAAc,EAAE,iBAAiB,EAA8B,MAAM,2BAA2B,CAAA;AAC3I,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,MAAM,WAAW,gBAAiB,SAAQ,YAAY,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAAG;AAE5F,qBACa,UAAU,CAAC,OAAO,SAAS,gBAAgB,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAC;IACvF,SAAS,CAAC,IAAI,CAAC,EAAE,WAAW,CAAA;IAC5B,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CAAK;IACzD,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IAE1B,IAAI,GAAG,wBAcN;IAEK,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAiB7F,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAa3G,cAAc,IAAI,OAAO,EAAE;IAIrB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5D,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;cAkBxG,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAQnI,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ;IAoB3D,SAAS,CAAC,eAAe;IAQzB,SAAS,CAAC,cAAc;CAMzB"}
@@ -0,0 +1,29 @@
1
+ /// <reference types="node" />
2
+ import { Server } from 'node:http';
3
+ import { Address } from '@xylabs/hex';
4
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { BridgeExposeOptions, BridgeParams, BridgeUnexposeOptions } from '@xyo-network/bridge-model';
6
+ import { AnyConfigSchema, ModuleInstance, ModuleQueryResult } from '@xyo-network/module-model';
7
+ import { Payload } from '@xyo-network/payload-model';
8
+ import express, { Application, Request, Response } from 'express';
9
+ import { HttpBridgeBase } from './HttpBridgeBase';
10
+ import { HttpBridgeConfig } from './HttpBridgeConfig';
11
+ export interface HttpBridgeParams extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {
12
+ }
13
+ export declare class HttpBridge<TParams extends HttpBridgeParams> extends HttpBridgeBase<TParams> {
14
+ protected _app?: Application;
15
+ protected _exposedModules: WeakRef<ModuleInstance>[];
16
+ protected _server?: Server;
17
+ get app(): express.Application;
18
+ exposeChild(mod: ModuleInstance, options?: BridgeExposeOptions | undefined): Promise<ModuleInstance[]>;
19
+ exposeHandler(address: Address, options?: BridgeExposeOptions | undefined): Promise<ModuleInstance[]>;
20
+ exposedHandler(): Address[];
21
+ startHandler(): Promise<boolean>;
22
+ stopHandler(_timeout?: number | undefined): Promise<boolean>;
23
+ unexposeHandler(address: Address, options?: BridgeUnexposeOptions | undefined): Promise<ModuleInstance[]>;
24
+ protected callLocalModule(address: Address, query: QueryBoundWitness, payloads: Payload[]): Promise<ModuleQueryResult | null>;
25
+ protected handlePost(req: Request<Payload[]>, res: Response): void;
26
+ protected startHttpServer(): boolean;
27
+ protected stopHttpServer(): boolean;
28
+ }
29
+ //# sourceMappingURL=HttpBridgeFull.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpBridgeFull.d.ts","sourceRoot":"","sources":["../../src/HttpBridgeFull.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAIlC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAGrC,OAAO,EAAuB,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACpG,OAAO,EAAE,eAAe,EAAmB,cAAc,EAAE,iBAAiB,EAA8B,MAAM,2BAA2B,CAAA;AAC3I,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,MAAM,WAAW,gBAAiB,SAAQ,YAAY,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAAG;AAE5F,qBACa,UAAU,CAAC,OAAO,SAAS,gBAAgB,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAC;IACvF,SAAS,CAAC,IAAI,CAAC,EAAE,WAAW,CAAA;IAC5B,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CAAK;IACzD,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IAE1B,IAAI,GAAG,wBAcN;IAEK,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAiB7F,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAa3G,cAAc,IAAI,OAAO,EAAE;IAIrB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5D,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;cAkBxG,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAQnI,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ;IAoB3D,SAAS,CAAC,eAAe;IAQzB,SAAS,CAAC,cAAc;CAMzB"}