@xyo-network/bridge-http 2.111.3 → 3.0.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 (171) hide show
  1. package/dist/browser/index-browser.d.ts +105 -3
  2. package/dist/neutral/index-browser.d.ts +105 -3
  3. package/dist/node/index.d.ts +128 -3
  4. package/dist/node/index.mjs +55 -85
  5. package/dist/node/index.mjs.map +1 -1
  6. package/package.json +24 -33
  7. package/dist/browser/HttpBridgeBase.d.cts +0 -45
  8. package/dist/browser/HttpBridgeBase.d.cts.map +0 -1
  9. package/dist/browser/HttpBridgeBase.d.mts +0 -45
  10. package/dist/browser/HttpBridgeBase.d.mts.map +0 -1
  11. package/dist/browser/HttpBridgeBase.d.ts +0 -45
  12. package/dist/browser/HttpBridgeBase.d.ts.map +0 -1
  13. package/dist/browser/HttpBridgeClientOnly.d.cts +0 -9
  14. package/dist/browser/HttpBridgeClientOnly.d.cts.map +0 -1
  15. package/dist/browser/HttpBridgeClientOnly.d.mts +0 -9
  16. package/dist/browser/HttpBridgeClientOnly.d.mts.map +0 -1
  17. package/dist/browser/HttpBridgeClientOnly.d.ts +0 -9
  18. package/dist/browser/HttpBridgeClientOnly.d.ts.map +0 -1
  19. package/dist/browser/HttpBridgeConfig.d.cts +0 -19
  20. package/dist/browser/HttpBridgeConfig.d.cts.map +0 -1
  21. package/dist/browser/HttpBridgeConfig.d.mts +0 -19
  22. package/dist/browser/HttpBridgeConfig.d.mts.map +0 -1
  23. package/dist/browser/HttpBridgeConfig.d.ts +0 -19
  24. package/dist/browser/HttpBridgeConfig.d.ts.map +0 -1
  25. package/dist/browser/HttpBridgeFull.d.cts +0 -35
  26. package/dist/browser/HttpBridgeFull.d.cts.map +0 -1
  27. package/dist/browser/HttpBridgeFull.d.mts +0 -35
  28. package/dist/browser/HttpBridgeFull.d.mts.map +0 -1
  29. package/dist/browser/HttpBridgeFull.d.ts +0 -35
  30. package/dist/browser/HttpBridgeFull.d.ts.map +0 -1
  31. package/dist/browser/HttpBridgeModuleResolver.d.cts +0 -32
  32. package/dist/browser/HttpBridgeModuleResolver.d.cts.map +0 -1
  33. package/dist/browser/HttpBridgeModuleResolver.d.mts +0 -32
  34. package/dist/browser/HttpBridgeModuleResolver.d.mts.map +0 -1
  35. package/dist/browser/HttpBridgeModuleResolver.d.ts +0 -32
  36. package/dist/browser/HttpBridgeModuleResolver.d.ts.map +0 -1
  37. package/dist/browser/ModuleProxy/ModuleProxy.d.cts +0 -27
  38. package/dist/browser/ModuleProxy/ModuleProxy.d.cts.map +0 -1
  39. package/dist/browser/ModuleProxy/ModuleProxy.d.mts +0 -27
  40. package/dist/browser/ModuleProxy/ModuleProxy.d.mts.map +0 -1
  41. package/dist/browser/ModuleProxy/ModuleProxy.d.ts +0 -27
  42. package/dist/browser/ModuleProxy/ModuleProxy.d.ts.map +0 -1
  43. package/dist/browser/ModuleProxy/index.d.cts +0 -2
  44. package/dist/browser/ModuleProxy/index.d.cts.map +0 -1
  45. package/dist/browser/ModuleProxy/index.d.mts +0 -2
  46. package/dist/browser/ModuleProxy/index.d.mts.map +0 -1
  47. package/dist/browser/ModuleProxy/index.d.ts +0 -2
  48. package/dist/browser/ModuleProxy/index.d.ts.map +0 -1
  49. package/dist/browser/index-browser.cjs +0 -416
  50. package/dist/browser/index-browser.cjs.map +0 -1
  51. package/dist/browser/index-browser.d.cts +0 -3
  52. package/dist/browser/index-browser.d.cts.map +0 -1
  53. package/dist/browser/index-browser.d.mts +0 -3
  54. package/dist/browser/index-browser.d.mts.map +0 -1
  55. package/dist/browser/index-browser.d.ts.map +0 -1
  56. package/dist/browser/index.d.cts +0 -3
  57. package/dist/browser/index.d.cts.map +0 -1
  58. package/dist/browser/index.d.mts +0 -3
  59. package/dist/browser/index.d.mts.map +0 -1
  60. package/dist/browser/index.d.ts +0 -3
  61. package/dist/browser/index.d.ts.map +0 -1
  62. package/dist/neutral/HttpBridgeBase.d.cts +0 -45
  63. package/dist/neutral/HttpBridgeBase.d.cts.map +0 -1
  64. package/dist/neutral/HttpBridgeBase.d.mts +0 -45
  65. package/dist/neutral/HttpBridgeBase.d.mts.map +0 -1
  66. package/dist/neutral/HttpBridgeBase.d.ts +0 -45
  67. package/dist/neutral/HttpBridgeBase.d.ts.map +0 -1
  68. package/dist/neutral/HttpBridgeClientOnly.d.cts +0 -9
  69. package/dist/neutral/HttpBridgeClientOnly.d.cts.map +0 -1
  70. package/dist/neutral/HttpBridgeClientOnly.d.mts +0 -9
  71. package/dist/neutral/HttpBridgeClientOnly.d.mts.map +0 -1
  72. package/dist/neutral/HttpBridgeClientOnly.d.ts +0 -9
  73. package/dist/neutral/HttpBridgeClientOnly.d.ts.map +0 -1
  74. package/dist/neutral/HttpBridgeConfig.d.cts +0 -19
  75. package/dist/neutral/HttpBridgeConfig.d.cts.map +0 -1
  76. package/dist/neutral/HttpBridgeConfig.d.mts +0 -19
  77. package/dist/neutral/HttpBridgeConfig.d.mts.map +0 -1
  78. package/dist/neutral/HttpBridgeConfig.d.ts +0 -19
  79. package/dist/neutral/HttpBridgeConfig.d.ts.map +0 -1
  80. package/dist/neutral/HttpBridgeFull.d.cts +0 -35
  81. package/dist/neutral/HttpBridgeFull.d.cts.map +0 -1
  82. package/dist/neutral/HttpBridgeFull.d.mts +0 -35
  83. package/dist/neutral/HttpBridgeFull.d.mts.map +0 -1
  84. package/dist/neutral/HttpBridgeFull.d.ts +0 -35
  85. package/dist/neutral/HttpBridgeFull.d.ts.map +0 -1
  86. package/dist/neutral/HttpBridgeModuleResolver.d.cts +0 -32
  87. package/dist/neutral/HttpBridgeModuleResolver.d.cts.map +0 -1
  88. package/dist/neutral/HttpBridgeModuleResolver.d.mts +0 -32
  89. package/dist/neutral/HttpBridgeModuleResolver.d.mts.map +0 -1
  90. package/dist/neutral/HttpBridgeModuleResolver.d.ts +0 -32
  91. package/dist/neutral/HttpBridgeModuleResolver.d.ts.map +0 -1
  92. package/dist/neutral/ModuleProxy/ModuleProxy.d.cts +0 -27
  93. package/dist/neutral/ModuleProxy/ModuleProxy.d.cts.map +0 -1
  94. package/dist/neutral/ModuleProxy/ModuleProxy.d.mts +0 -27
  95. package/dist/neutral/ModuleProxy/ModuleProxy.d.mts.map +0 -1
  96. package/dist/neutral/ModuleProxy/ModuleProxy.d.ts +0 -27
  97. package/dist/neutral/ModuleProxy/ModuleProxy.d.ts.map +0 -1
  98. package/dist/neutral/ModuleProxy/index.d.cts +0 -2
  99. package/dist/neutral/ModuleProxy/index.d.cts.map +0 -1
  100. package/dist/neutral/ModuleProxy/index.d.mts +0 -2
  101. package/dist/neutral/ModuleProxy/index.d.mts.map +0 -1
  102. package/dist/neutral/ModuleProxy/index.d.ts +0 -2
  103. package/dist/neutral/ModuleProxy/index.d.ts.map +0 -1
  104. package/dist/neutral/index-browser.cjs +0 -416
  105. package/dist/neutral/index-browser.cjs.map +0 -1
  106. package/dist/neutral/index-browser.d.cts +0 -3
  107. package/dist/neutral/index-browser.d.cts.map +0 -1
  108. package/dist/neutral/index-browser.d.mts +0 -3
  109. package/dist/neutral/index-browser.d.mts.map +0 -1
  110. package/dist/neutral/index-browser.d.ts.map +0 -1
  111. package/dist/neutral/index.d.cts +0 -3
  112. package/dist/neutral/index.d.cts.map +0 -1
  113. package/dist/neutral/index.d.mts +0 -3
  114. package/dist/neutral/index.d.mts.map +0 -1
  115. package/dist/neutral/index.d.ts +0 -3
  116. package/dist/neutral/index.d.ts.map +0 -1
  117. package/dist/node/HttpBridgeBase.d.cts +0 -45
  118. package/dist/node/HttpBridgeBase.d.cts.map +0 -1
  119. package/dist/node/HttpBridgeBase.d.mts +0 -45
  120. package/dist/node/HttpBridgeBase.d.mts.map +0 -1
  121. package/dist/node/HttpBridgeBase.d.ts +0 -45
  122. package/dist/node/HttpBridgeBase.d.ts.map +0 -1
  123. package/dist/node/HttpBridgeClientOnly.d.cts +0 -9
  124. package/dist/node/HttpBridgeClientOnly.d.cts.map +0 -1
  125. package/dist/node/HttpBridgeClientOnly.d.mts +0 -9
  126. package/dist/node/HttpBridgeClientOnly.d.mts.map +0 -1
  127. package/dist/node/HttpBridgeClientOnly.d.ts +0 -9
  128. package/dist/node/HttpBridgeClientOnly.d.ts.map +0 -1
  129. package/dist/node/HttpBridgeConfig.d.cts +0 -19
  130. package/dist/node/HttpBridgeConfig.d.cts.map +0 -1
  131. package/dist/node/HttpBridgeConfig.d.mts +0 -19
  132. package/dist/node/HttpBridgeConfig.d.mts.map +0 -1
  133. package/dist/node/HttpBridgeConfig.d.ts +0 -19
  134. package/dist/node/HttpBridgeConfig.d.ts.map +0 -1
  135. package/dist/node/HttpBridgeFull.d.cts +0 -35
  136. package/dist/node/HttpBridgeFull.d.cts.map +0 -1
  137. package/dist/node/HttpBridgeFull.d.mts +0 -35
  138. package/dist/node/HttpBridgeFull.d.mts.map +0 -1
  139. package/dist/node/HttpBridgeFull.d.ts +0 -35
  140. package/dist/node/HttpBridgeFull.d.ts.map +0 -1
  141. package/dist/node/HttpBridgeModuleResolver.d.cts +0 -32
  142. package/dist/node/HttpBridgeModuleResolver.d.cts.map +0 -1
  143. package/dist/node/HttpBridgeModuleResolver.d.mts +0 -32
  144. package/dist/node/HttpBridgeModuleResolver.d.mts.map +0 -1
  145. package/dist/node/HttpBridgeModuleResolver.d.ts +0 -32
  146. package/dist/node/HttpBridgeModuleResolver.d.ts.map +0 -1
  147. package/dist/node/ModuleProxy/ModuleProxy.d.cts +0 -27
  148. package/dist/node/ModuleProxy/ModuleProxy.d.cts.map +0 -1
  149. package/dist/node/ModuleProxy/ModuleProxy.d.mts +0 -27
  150. package/dist/node/ModuleProxy/ModuleProxy.d.mts.map +0 -1
  151. package/dist/node/ModuleProxy/ModuleProxy.d.ts +0 -27
  152. package/dist/node/ModuleProxy/ModuleProxy.d.ts.map +0 -1
  153. package/dist/node/ModuleProxy/index.d.cts +0 -2
  154. package/dist/node/ModuleProxy/index.d.cts.map +0 -1
  155. package/dist/node/ModuleProxy/index.d.mts +0 -2
  156. package/dist/node/ModuleProxy/index.d.mts.map +0 -1
  157. package/dist/node/ModuleProxy/index.d.ts +0 -2
  158. package/dist/node/ModuleProxy/index.d.ts.map +0 -1
  159. package/dist/node/index-browser.d.cts +0 -3
  160. package/dist/node/index-browser.d.cts.map +0 -1
  161. package/dist/node/index-browser.d.mts +0 -3
  162. package/dist/node/index-browser.d.mts.map +0 -1
  163. package/dist/node/index-browser.d.ts +0 -3
  164. package/dist/node/index-browser.d.ts.map +0 -1
  165. package/dist/node/index.cjs +0 -631
  166. package/dist/node/index.cjs.map +0 -1
  167. package/dist/node/index.d.cts +0 -3
  168. package/dist/node/index.d.cts.map +0 -1
  169. package/dist/node/index.d.mts +0 -3
  170. package/dist/node/index.d.mts.map +0 -1
  171. package/dist/node/index.d.ts.map +0 -1
@@ -1,3 +1,105 @@
1
- export * from './HttpBridgeClientOnly.ts';
2
- export * from './HttpBridgeConfig.ts';
3
- //# sourceMappingURL=index-browser.d.ts.map
1
+ import { BridgeConfig, BridgeModule, BridgeExposeOptions, BridgeUnexposeOptions, BridgeParams } from '@xyo-network/bridge-model';
2
+ import * as _xyo_network_module_model from '@xyo-network/module-model';
3
+ import { ModuleQueryResult, ModuleInstance, ModuleIdentifier, ModuleFilterOptions, AnyConfigSchema } from '@xyo-network/module-model';
4
+ import * as _xyo_network_payload_model from '@xyo-network/payload-model';
5
+ import { Payload, Schema } from '@xyo-network/payload-model';
6
+ import * as _xyo_network_account from '@xyo-network/account';
7
+ import * as _xylabs_object from '@xylabs/object';
8
+ import { EmptyObject } from '@xylabs/object';
9
+ import { Address } from '@xylabs/hex';
10
+ import { ModuleProxyParams, BridgeModuleResolverParams, AbstractBridgeModuleResolver, AbstractBridge } from '@xyo-network/bridge-abstract';
11
+ import { Mutex, Semaphore } from 'async-mutex';
12
+ import { LRUCache } from 'lru-cache';
13
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
14
+ import { AxiosJson } from '@xylabs/axios';
15
+ import { Promisable } from '@xylabs/promise';
16
+
17
+ interface BridgeQuerySender {
18
+ sendBridgeQuery: <TOut extends Payload = Payload, TQuery extends QueryBoundWitness = QueryBoundWitness, TIn extends Payload = Payload>(targetAddress: Address, query: TQuery, payloads?: TIn[]) => Promise<ModuleQueryResult<TOut>>;
19
+ }
20
+ type HttpModuleProxyParams = ModuleProxyParams & {
21
+ querySender: BridgeQuerySender;
22
+ };
23
+
24
+ interface HttpBridgeModuleResolverParams extends BridgeModuleResolverParams {
25
+ querySender: BridgeQuerySender;
26
+ rootUrl: string;
27
+ }
28
+ declare class HttpBridgeModuleResolver<T extends HttpBridgeModuleResolverParams = HttpBridgeModuleResolverParams> extends AbstractBridgeModuleResolver<T> {
29
+ protected _resolvedCache: LRUCache<Lowercase<string>, ModuleInstance<_xylabs_object.BaseParamsFields & {
30
+ account?: _xyo_network_account.AccountInstance | "random";
31
+ addToResolvers?: boolean;
32
+ additionalSigners?: _xyo_network_account.AccountInstance[];
33
+ allowNameResolution?: boolean;
34
+ config: _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & {
35
+ schema: "network.xyo.module.config";
36
+ }, "schema"> & {
37
+ schema: string;
38
+ };
39
+ ephemeralQueryAccountEnabled?: boolean;
40
+ moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
41
+ }, _xyo_network_module_model.ModuleEventData<object>> | {
42
+ notFound: boolean;
43
+ }, unknown>;
44
+ protected _resolvedCacheMutex: Mutex;
45
+ get querySender(): BridgeQuerySender;
46
+ moduleUrl(address: Address): URL;
47
+ resolveHandler<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>, params?: Partial<HttpModuleProxyParams>): Promise<T[]>;
48
+ }
49
+
50
+ type HttpBridgeConfigSchema = 'network.xyo.bridge.http.config';
51
+ declare const HttpBridgeConfigSchema: HttpBridgeConfigSchema;
52
+ type HttpBridgeConfig<TConfig extends EmptyObject = EmptyObject, TSchema extends string | void = void> = BridgeConfig<{
53
+ client?: BridgeConfig['client'] & {
54
+ url: string;
55
+ };
56
+ failureRetryTime?: number;
57
+ failureTimeCacheMax?: number;
58
+ host?: {
59
+ port: number;
60
+ };
61
+ maxConnections?: number;
62
+ maxPayloadSizeWarning?: number;
63
+ nodeUrl?: string;
64
+ schema: HttpBridgeConfigSchema;
65
+ } & TConfig, TSchema extends string ? TSchema : HttpBridgeConfigSchema>;
66
+
67
+ interface HttpBridgeParams$1 extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {
68
+ axios?: AxiosJson;
69
+ }
70
+ declare class HttpBridgeBase<TParams extends HttpBridgeParams$1> extends AbstractBridge<TParams> implements BridgeModule<TParams>, BridgeQuerySender {
71
+ static axios: AxiosJson;
72
+ static readonly configSchemas: Schema[];
73
+ static readonly defaultConfigSchema: Schema;
74
+ static defaultFailureRetryTime: number;
75
+ static defaultMaxConnections: number;
76
+ static defaultMaxPayloadSizeWarning: number;
77
+ static maxFailureCacheSize: number;
78
+ private _axios?;
79
+ private _discoverRootsMutex;
80
+ private _failureTimeCache;
81
+ private _querySemaphore?;
82
+ private _resolver?;
83
+ get axios(): AxiosJson;
84
+ get clientUrl(): string;
85
+ get failureRetryTime(): number;
86
+ get maxConnections(): number;
87
+ get maxPayloadSizeWarning(): number;
88
+ get querySemaphore(): Semaphore;
89
+ get resolver(): HttpBridgeModuleResolver<HttpBridgeModuleResolverParams>;
90
+ exposeHandler(_id: string, _options?: BridgeExposeOptions | undefined): Promisable<ModuleInstance[]>;
91
+ exposedHandler(): Promisable<Address[]>;
92
+ getRoots(force?: boolean): Promise<ModuleInstance[]>;
93
+ moduleUrl(address: Address): URL;
94
+ sendBridgeQuery<TOut extends Payload = Payload, TQuery extends QueryBoundWitness = QueryBoundWitness, TIn extends Payload = Payload>(targetAddress: Address, query: TQuery, payloads?: TIn[]): Promise<ModuleQueryResult<TOut>>;
95
+ unexposeHandler(_id: string, _options?: BridgeUnexposeOptions | undefined): Promisable<ModuleInstance[]>;
96
+ private getRootState;
97
+ private resolveRootNode;
98
+ }
99
+
100
+ interface HttpBridgeParams extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {
101
+ }
102
+ declare class HttpBridge<TParams extends HttpBridgeParams> extends HttpBridgeBase<TParams> {
103
+ }
104
+
105
+ export { HttpBridge, type HttpBridgeConfig, HttpBridgeConfigSchema, type HttpBridgeParams };
@@ -1,3 +1,105 @@
1
- export * from './HttpBridgeClientOnly.ts';
2
- export * from './HttpBridgeConfig.ts';
3
- //# sourceMappingURL=index-browser.d.ts.map
1
+ import { BridgeConfig, BridgeModule, BridgeExposeOptions, BridgeUnexposeOptions, BridgeParams } from '@xyo-network/bridge-model';
2
+ import * as _xyo_network_module_model from '@xyo-network/module-model';
3
+ import { ModuleQueryResult, ModuleInstance, ModuleIdentifier, ModuleFilterOptions, AnyConfigSchema } from '@xyo-network/module-model';
4
+ import * as _xyo_network_payload_model from '@xyo-network/payload-model';
5
+ import { Payload, Schema } from '@xyo-network/payload-model';
6
+ import * as _xyo_network_account from '@xyo-network/account';
7
+ import * as _xylabs_object from '@xylabs/object';
8
+ import { EmptyObject } from '@xylabs/object';
9
+ import { Address } from '@xylabs/hex';
10
+ import { ModuleProxyParams, BridgeModuleResolverParams, AbstractBridgeModuleResolver, AbstractBridge } from '@xyo-network/bridge-abstract';
11
+ import { Mutex, Semaphore } from 'async-mutex';
12
+ import { LRUCache } from 'lru-cache';
13
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
14
+ import { AxiosJson } from '@xylabs/axios';
15
+ import { Promisable } from '@xylabs/promise';
16
+
17
+ interface BridgeQuerySender {
18
+ sendBridgeQuery: <TOut extends Payload = Payload, TQuery extends QueryBoundWitness = QueryBoundWitness, TIn extends Payload = Payload>(targetAddress: Address, query: TQuery, payloads?: TIn[]) => Promise<ModuleQueryResult<TOut>>;
19
+ }
20
+ type HttpModuleProxyParams = ModuleProxyParams & {
21
+ querySender: BridgeQuerySender;
22
+ };
23
+
24
+ interface HttpBridgeModuleResolverParams extends BridgeModuleResolverParams {
25
+ querySender: BridgeQuerySender;
26
+ rootUrl: string;
27
+ }
28
+ declare class HttpBridgeModuleResolver<T extends HttpBridgeModuleResolverParams = HttpBridgeModuleResolverParams> extends AbstractBridgeModuleResolver<T> {
29
+ protected _resolvedCache: LRUCache<Lowercase<string>, ModuleInstance<_xylabs_object.BaseParamsFields & {
30
+ account?: _xyo_network_account.AccountInstance | "random";
31
+ addToResolvers?: boolean;
32
+ additionalSigners?: _xyo_network_account.AccountInstance[];
33
+ allowNameResolution?: boolean;
34
+ config: _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & {
35
+ schema: "network.xyo.module.config";
36
+ }, "schema"> & {
37
+ schema: string;
38
+ };
39
+ ephemeralQueryAccountEnabled?: boolean;
40
+ moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
41
+ }, _xyo_network_module_model.ModuleEventData<object>> | {
42
+ notFound: boolean;
43
+ }, unknown>;
44
+ protected _resolvedCacheMutex: Mutex;
45
+ get querySender(): BridgeQuerySender;
46
+ moduleUrl(address: Address): URL;
47
+ resolveHandler<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>, params?: Partial<HttpModuleProxyParams>): Promise<T[]>;
48
+ }
49
+
50
+ type HttpBridgeConfigSchema = 'network.xyo.bridge.http.config';
51
+ declare const HttpBridgeConfigSchema: HttpBridgeConfigSchema;
52
+ type HttpBridgeConfig<TConfig extends EmptyObject = EmptyObject, TSchema extends string | void = void> = BridgeConfig<{
53
+ client?: BridgeConfig['client'] & {
54
+ url: string;
55
+ };
56
+ failureRetryTime?: number;
57
+ failureTimeCacheMax?: number;
58
+ host?: {
59
+ port: number;
60
+ };
61
+ maxConnections?: number;
62
+ maxPayloadSizeWarning?: number;
63
+ nodeUrl?: string;
64
+ schema: HttpBridgeConfigSchema;
65
+ } & TConfig, TSchema extends string ? TSchema : HttpBridgeConfigSchema>;
66
+
67
+ interface HttpBridgeParams$1 extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {
68
+ axios?: AxiosJson;
69
+ }
70
+ declare class HttpBridgeBase<TParams extends HttpBridgeParams$1> extends AbstractBridge<TParams> implements BridgeModule<TParams>, BridgeQuerySender {
71
+ static axios: AxiosJson;
72
+ static readonly configSchemas: Schema[];
73
+ static readonly defaultConfigSchema: Schema;
74
+ static defaultFailureRetryTime: number;
75
+ static defaultMaxConnections: number;
76
+ static defaultMaxPayloadSizeWarning: number;
77
+ static maxFailureCacheSize: number;
78
+ private _axios?;
79
+ private _discoverRootsMutex;
80
+ private _failureTimeCache;
81
+ private _querySemaphore?;
82
+ private _resolver?;
83
+ get axios(): AxiosJson;
84
+ get clientUrl(): string;
85
+ get failureRetryTime(): number;
86
+ get maxConnections(): number;
87
+ get maxPayloadSizeWarning(): number;
88
+ get querySemaphore(): Semaphore;
89
+ get resolver(): HttpBridgeModuleResolver<HttpBridgeModuleResolverParams>;
90
+ exposeHandler(_id: string, _options?: BridgeExposeOptions | undefined): Promisable<ModuleInstance[]>;
91
+ exposedHandler(): Promisable<Address[]>;
92
+ getRoots(force?: boolean): Promise<ModuleInstance[]>;
93
+ moduleUrl(address: Address): URL;
94
+ sendBridgeQuery<TOut extends Payload = Payload, TQuery extends QueryBoundWitness = QueryBoundWitness, TIn extends Payload = Payload>(targetAddress: Address, query: TQuery, payloads?: TIn[]): Promise<ModuleQueryResult<TOut>>;
95
+ unexposeHandler(_id: string, _options?: BridgeUnexposeOptions | undefined): Promisable<ModuleInstance[]>;
96
+ private getRootState;
97
+ private resolveRootNode;
98
+ }
99
+
100
+ interface HttpBridgeParams extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {
101
+ }
102
+ declare class HttpBridge<TParams extends HttpBridgeParams> extends HttpBridgeBase<TParams> {
103
+ }
104
+
105
+ export { HttpBridge, type HttpBridgeConfig, HttpBridgeConfigSchema, type HttpBridgeParams };
@@ -1,3 +1,128 @@
1
- export * from './HttpBridgeConfig.ts';
2
- export * from './HttpBridgeFull.ts';
3
- //# sourceMappingURL=index.d.ts.map
1
+ import * as _xylabs_object from '@xylabs/object';
2
+ import { EmptyObject } from '@xylabs/object';
3
+ import { BridgeConfig, BridgeModule, BridgeExposeOptions, BridgeUnexposeOptions, BridgeParams } from '@xyo-network/bridge-model';
4
+ import * as _store__types_express_serve_static_core_npm_4_19_5_6a71bb1fe8_package from '.store/@types-express-serve-static-core-npm-4.19.5-6a71bb1fe8/package';
5
+ import { Server } from 'node:http';
6
+ import { Address } from '@xylabs/hex';
7
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
8
+ import * as _xyo_network_module_model from '@xyo-network/module-model';
9
+ import { ModuleQueryResult, ModuleInstance, ModuleIdentifier, ModuleFilterOptions, AnyConfigSchema } from '@xyo-network/module-model';
10
+ import * as _xyo_network_payload_model from '@xyo-network/payload-model';
11
+ import { Payload, Schema } from '@xyo-network/payload-model';
12
+ import express, { Application, Request, Response } from 'express';
13
+ import * as _xyo_network_account from '@xyo-network/account';
14
+ import { ModuleProxyParams, BridgeModuleResolverParams, AbstractBridgeModuleResolver, AbstractBridge } from '@xyo-network/bridge-abstract';
15
+ import { Mutex, Semaphore } from 'async-mutex';
16
+ import { LRUCache } from 'lru-cache';
17
+ import { AxiosJson } from '@xylabs/axios';
18
+ import { Promisable } from '@xylabs/promise';
19
+
20
+ type HttpBridgeConfigSchema = 'network.xyo.bridge.http.config';
21
+ declare const HttpBridgeConfigSchema: HttpBridgeConfigSchema;
22
+ type HttpBridgeConfig<TConfig extends EmptyObject = EmptyObject, TSchema extends string | void = void> = BridgeConfig<{
23
+ client?: BridgeConfig['client'] & {
24
+ url: string;
25
+ };
26
+ failureRetryTime?: number;
27
+ failureTimeCacheMax?: number;
28
+ host?: {
29
+ port: number;
30
+ };
31
+ maxConnections?: number;
32
+ maxPayloadSizeWarning?: number;
33
+ nodeUrl?: string;
34
+ schema: HttpBridgeConfigSchema;
35
+ } & TConfig, TSchema extends string ? TSchema : HttpBridgeConfigSchema>;
36
+
37
+ interface BridgeQuerySender {
38
+ sendBridgeQuery: <TOut extends Payload = Payload, TQuery extends QueryBoundWitness = QueryBoundWitness, TIn extends Payload = Payload>(targetAddress: Address, query: TQuery, payloads?: TIn[]) => Promise<ModuleQueryResult<TOut>>;
39
+ }
40
+ type HttpModuleProxyParams = ModuleProxyParams & {
41
+ querySender: BridgeQuerySender;
42
+ };
43
+
44
+ interface HttpBridgeModuleResolverParams extends BridgeModuleResolverParams {
45
+ querySender: BridgeQuerySender;
46
+ rootUrl: string;
47
+ }
48
+ declare class HttpBridgeModuleResolver<T extends HttpBridgeModuleResolverParams = HttpBridgeModuleResolverParams> extends AbstractBridgeModuleResolver<T> {
49
+ protected _resolvedCache: LRUCache<Lowercase<string>, ModuleInstance<_xylabs_object.BaseParamsFields & {
50
+ account?: _xyo_network_account.AccountInstance | "random";
51
+ addToResolvers?: boolean;
52
+ additionalSigners?: _xyo_network_account.AccountInstance[];
53
+ allowNameResolution?: boolean;
54
+ config: _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & {
55
+ schema: "network.xyo.module.config";
56
+ }, "schema"> & {
57
+ schema: string;
58
+ };
59
+ ephemeralQueryAccountEnabled?: boolean;
60
+ moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
61
+ }, _xyo_network_module_model.ModuleEventData<object>> | {
62
+ notFound: boolean;
63
+ }, unknown>;
64
+ protected _resolvedCacheMutex: Mutex;
65
+ get querySender(): BridgeQuerySender;
66
+ moduleUrl(address: Address): URL;
67
+ resolveHandler<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>, params?: Partial<HttpModuleProxyParams>): Promise<T[]>;
68
+ }
69
+
70
+ interface HttpBridgeParams$1 extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {
71
+ axios?: AxiosJson;
72
+ }
73
+ declare class HttpBridgeBase<TParams extends HttpBridgeParams$1> extends AbstractBridge<TParams> implements BridgeModule<TParams>, BridgeQuerySender {
74
+ static axios: AxiosJson;
75
+ static readonly configSchemas: Schema[];
76
+ static readonly defaultConfigSchema: Schema;
77
+ static defaultFailureRetryTime: number;
78
+ static defaultMaxConnections: number;
79
+ static defaultMaxPayloadSizeWarning: number;
80
+ static maxFailureCacheSize: number;
81
+ private _axios?;
82
+ private _discoverRootsMutex;
83
+ private _failureTimeCache;
84
+ private _querySemaphore?;
85
+ private _resolver?;
86
+ get axios(): AxiosJson;
87
+ get clientUrl(): string;
88
+ get failureRetryTime(): number;
89
+ get maxConnections(): number;
90
+ get maxPayloadSizeWarning(): number;
91
+ get querySemaphore(): Semaphore;
92
+ get resolver(): HttpBridgeModuleResolver<HttpBridgeModuleResolverParams>;
93
+ exposeHandler(_id: string, _options?: BridgeExposeOptions | undefined): Promisable<ModuleInstance[]>;
94
+ exposedHandler(): Promisable<Address[]>;
95
+ getRoots(force?: boolean): Promise<ModuleInstance[]>;
96
+ moduleUrl(address: Address): URL;
97
+ sendBridgeQuery<TOut extends Payload = Payload, TQuery extends QueryBoundWitness = QueryBoundWitness, TIn extends Payload = Payload>(targetAddress: Address, query: TQuery, payloads?: TIn[]): Promise<ModuleQueryResult<TOut>>;
98
+ unexposeHandler(_id: string, _options?: BridgeUnexposeOptions | undefined): Promisable<ModuleInstance[]>;
99
+ private getRootState;
100
+ private resolveRootNode;
101
+ }
102
+
103
+ type AddressPathParams = {
104
+ address: Address;
105
+ };
106
+ type PostAddressRequestBody = [QueryBoundWitness, undefined | Payload[]];
107
+ interface HttpBridgeParams extends BridgeParams<AnyConfigSchema<HttpBridgeConfig>> {
108
+ }
109
+ declare class HttpBridge<TParams extends HttpBridgeParams> extends HttpBridgeBase<TParams> {
110
+ protected _app?: Application;
111
+ protected _exposedModules: WeakRef<ModuleInstance>[];
112
+ protected _server?: Server;
113
+ protected get app(): express.Application;
114
+ exposeChild(mod: ModuleInstance, options?: BridgeExposeOptions | undefined): Promise<ModuleInstance[]>;
115
+ exposeHandler(address: Address, options?: BridgeExposeOptions | undefined): Promise<ModuleInstance[]>;
116
+ exposedHandler(): Address[];
117
+ startHandler(): Promise<boolean>;
118
+ stopHandler(_timeout?: number | undefined): Promise<boolean>;
119
+ unexposeHandler(address: Address, options?: BridgeUnexposeOptions | undefined): Promise<ModuleInstance[]>;
120
+ protected callLocalModule(address: Address, query: QueryBoundWitness, payloads: Payload[]): Promise<ModuleQueryResult | null>;
121
+ protected handleGet(req: Request<AddressPathParams, ModuleQueryResult, PostAddressRequestBody>, res: Response): Promise<void>;
122
+ protected handlePost(req: Request<AddressPathParams, ModuleQueryResult, PostAddressRequestBody>, res: Response): Promise<express.Response<any, Record<string, any>> | undefined>;
123
+ protected initializeApp(): _store__types_express_serve_static_core_npm_4_19_5_6a71bb1fe8_package.Express;
124
+ protected startHttpServer(): Promise<boolean>;
125
+ protected stopHttpServer(): Promise<boolean>;
126
+ }
127
+
128
+ export { HttpBridge, type HttpBridgeConfig, HttpBridgeConfigSchema, type HttpBridgeParams };