@nice-code/action 0.17.0 → 0.19.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.
- package/README.md +666 -582
- package/build/{ActionDevtoolsCore-C5XrQI1K.d.mts → ActionDevtoolsCore-CCZXQBAo.d.cts} +2 -2
- package/build/{ActionDevtoolsCore-Dd1qJAwK.d.cts → ActionDevtoolsCore-bjYQ8O2_.d.mts} +2 -2
- package/build/{ActionPayload.types-BchJrBIX.d.mts → ActionPayload.types-Bmkzw2df.d.mts} +93 -2
- package/build/{ActionPayload.types-snDlSIF-.d.cts → ActionPayload.types-CdHOGGZK.d.cts} +93 -2
- package/build/devtools/browser/index.d.cts +1 -1
- package/build/devtools/browser/index.d.mts +1 -1
- package/build/devtools/server/index.d.cts +1 -1
- package/build/devtools/server/index.d.mts +1 -1
- package/build/index.cjs +22 -0
- package/build/index.cjs.map +1 -1
- package/build/index.d.cts +2 -2
- package/build/index.d.mts +2 -2
- package/build/index.mjs +20 -1
- package/build/index.mjs.map +1 -1
- package/build/platform/cloudflare/index.d.cts +1 -1
- package/build/platform/cloudflare/index.d.mts +1 -1
- package/build/react-query/index.d.cts +1 -1
- package/build/react-query/index.d.mts +1 -1
- package/build/wsAcceptorCarrier-CXGlQU_f.mjs.map +1 -1
- package/build/wsAcceptorCarrier-DHRbsY1X.cjs.map +1 -1
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Ir as IRuntimeCoordinate, _ as TActionProgress } from "./ActionPayload.types-CdHOGGZK.cjs";
|
|
2
2
|
//#region ../nice-devtools-shared/src/components/PanelChrome.d.ts
|
|
3
3
|
/** Where a devtools panel is docked. */
|
|
4
4
|
type TDevtoolsPosition = "dock-bottom" | "dock-top" | "dock-left" | "dock-right";
|
|
@@ -76,4 +76,4 @@ declare class ActionDevtoolsCore {
|
|
|
76
76
|
}
|
|
77
77
|
//#endregion
|
|
78
78
|
export { TDevtoolsActionStatus as a, IDevtoolsObservableDomain as i, IActionDevtoolsCoreOptions as n, TDevtoolsListener as o, IDevtoolsActionEntry as r, TDevtoolsPosition as s, ActionDevtoolsCore as t };
|
|
79
|
-
//# sourceMappingURL=ActionDevtoolsCore-
|
|
79
|
+
//# sourceMappingURL=ActionDevtoolsCore-CCZXQBAo.d.cts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Ir as IRuntimeCoordinate, _ as TActionProgress } from "./ActionPayload.types-Bmkzw2df.mjs";
|
|
2
2
|
//#region ../nice-devtools-shared/src/components/PanelChrome.d.ts
|
|
3
3
|
/** Where a devtools panel is docked. */
|
|
4
4
|
type TDevtoolsPosition = "dock-bottom" | "dock-top" | "dock-left" | "dock-right";
|
|
@@ -76,4 +76,4 @@ declare class ActionDevtoolsCore {
|
|
|
76
76
|
}
|
|
77
77
|
//#endregion
|
|
78
78
|
export { TDevtoolsActionStatus as a, IDevtoolsObservableDomain as i, IActionDevtoolsCoreOptions as n, TDevtoolsListener as o, IDevtoolsActionEntry as r, TDevtoolsPosition as s, ActionDevtoolsCore as t };
|
|
79
|
-
//# sourceMappingURL=ActionDevtoolsCore-
|
|
79
|
+
//# sourceMappingURL=ActionDevtoolsCore-bjYQ8O2_.d.mts.map
|
|
@@ -1027,6 +1027,13 @@ declare abstract class TransportConnection<T extends ETransportShape = ETranspor
|
|
|
1027
1027
|
protected _finalizeReady(readyData: RD): IActionTransportReadyData_Methods | Promise<IActionTransportReadyData_Methods>;
|
|
1028
1028
|
protected _getCacheKey(input: RP): string | null;
|
|
1029
1029
|
getCacheKey(input: RP): string | null;
|
|
1030
|
+
/**
|
|
1031
|
+
* Whether this transport can serve the given action right now. Consulted by the manager before
|
|
1032
|
+
* cache-key resolution and `getTransport`; a `false` result skips this transport (treated as
|
|
1033
|
+
* `unsupported`) and the manager falls through to the next in preference order. Defaults to `true`
|
|
1034
|
+
* when the transport declares no gate.
|
|
1035
|
+
*/
|
|
1036
|
+
isAvailable(input: RP): boolean;
|
|
1030
1037
|
getTransport(input: RP): TTransportStatusInfo<IActionTransportReadyData_Methods>;
|
|
1031
1038
|
protected _processTransportStatus(input: RP): TTransportStatusInfo<IActionTransportReadyData_Methods>;
|
|
1032
1039
|
/** Await carrier readiness, then finalize (possibly running a handshake) into the live methods. */
|
|
@@ -1174,6 +1181,15 @@ interface IActionTransportResolvers {
|
|
|
1174
1181
|
type TGetTransportFn<IN extends ITransportRouteActionParams, READY extends IActionTransportReadyData_Base> = (input: IN) => TTransportStatusInfo_GetTransport_Output<READY>;
|
|
1175
1182
|
interface IActionTransportInitialized<IN extends ITransportRouteActionParams, READY extends IActionTransportReadyData_Base> {
|
|
1176
1183
|
getTransportCacheKey?: (input: IN) => string[];
|
|
1184
|
+
/**
|
|
1185
|
+
* Optional availability gate, consulted by {@link ConnectionTransportManager} *before* cache-key
|
|
1186
|
+
* resolution and `getTransport`. When it returns `false`, this transport is treated as `unsupported`
|
|
1187
|
+
* for that action and the manager falls through to the next transport in preference order — without
|
|
1188
|
+
* opening the carrier or computing its cache key. Re-evaluated per action dispatch, so a transport can
|
|
1189
|
+
* become available later (e.g. once a session/connection precondition is met) with no reconnect. Omit =
|
|
1190
|
+
* always available.
|
|
1191
|
+
*/
|
|
1192
|
+
isAvailable?: (input: IN) => boolean;
|
|
1177
1193
|
getTransport: TGetTransportFn<IN, READY>;
|
|
1178
1194
|
}
|
|
1179
1195
|
interface IActionTransportDef<TYPE extends ETransportShape, INIT extends IActionTransportInitialized<any, any>> {
|
|
@@ -2735,6 +2751,12 @@ interface IExchangeTransportOptions {
|
|
|
2735
2751
|
updateRunConfig?: TUpdateActionRunConfig;
|
|
2736
2752
|
/** Keys identifying a reusable session, so one carrier is shared across actions to the same peer. */
|
|
2737
2753
|
getTransportCacheKey?: (input: ITransportRouteActionParams) => string[];
|
|
2754
|
+
/**
|
|
2755
|
+
* Optional availability gate. When it returns `false`, the manager skips this transport for that action
|
|
2756
|
+
* (reporting `unsupported`) and falls through to the next — without opening the carrier or computing its
|
|
2757
|
+
* cache key. Re-evaluated per dispatch, so the transport can become available later with no reconnect.
|
|
2758
|
+
*/
|
|
2759
|
+
available?: (input: ITransportRouteActionParams) => boolean;
|
|
2738
2760
|
/** Short label for the devtools chip (defaults to "exchange"). */
|
|
2739
2761
|
label?: string;
|
|
2740
2762
|
getRouteInfo?: (input: ITransportRouteActionParams) => ITransportRouteInfo;
|
|
@@ -2841,6 +2863,12 @@ interface ILinkTransportOptions {
|
|
|
2841
2863
|
updateRunConfig?: TUpdateActionRunConfig;
|
|
2842
2864
|
/** Keys identifying a reusable channel, so one carrier is shared across actions to the same peer. */
|
|
2843
2865
|
getTransportCacheKey?: (input: ITransportRouteActionParams) => string[];
|
|
2866
|
+
/**
|
|
2867
|
+
* Optional availability gate. When it returns `false`, the manager skips this transport for that action
|
|
2868
|
+
* (reporting `unsupported`) and falls through to the next — without opening the carrier or computing its
|
|
2869
|
+
* cache key. Re-evaluated per dispatch, so the transport can become available later with no reconnect.
|
|
2870
|
+
*/
|
|
2871
|
+
available?: (input: ITransportRouteActionParams) => boolean;
|
|
2844
2872
|
/** Short label for the devtools chip (defaults to "link"). */
|
|
2845
2873
|
label?: string;
|
|
2846
2874
|
getRouteInfo?: (input: ITransportRouteActionParams) => ITransportRouteInfo;
|
|
@@ -2875,6 +2903,13 @@ interface IPlainTransportOptions {
|
|
|
2875
2903
|
formatMessage?: TLinkFormatMessage;
|
|
2876
2904
|
/** Per-channel codec factory for stateful duplex codecs (e.g. the binary session). */
|
|
2877
2905
|
createFormatMessage?: () => TLinkFormatMessage;
|
|
2906
|
+
/**
|
|
2907
|
+
* Optional availability gate. When it returns `false`, this transport reports as `unsupported` for that
|
|
2908
|
+
* action and the manager falls through to the next transport in preference order — without opening the
|
|
2909
|
+
* carrier or computing its cache key. Re-evaluated per dispatch, so a transport can become available
|
|
2910
|
+
* later (e.g. once a session/connection precondition holds) with no reconnect. Omit = always available.
|
|
2911
|
+
*/
|
|
2912
|
+
available?: (input: ITransportRouteActionParams) => boolean;
|
|
2878
2913
|
updateRunConfig?: TUpdateActionRunConfig;
|
|
2879
2914
|
/** Override the devtools chip label (defaults to the carrier's `carrierLabel`). */
|
|
2880
2915
|
label?: string;
|
|
@@ -2894,6 +2929,55 @@ declare function plainTransport(options: IPlainTransportOptions & {
|
|
|
2894
2929
|
carrier: IDuplexCarrierSource;
|
|
2895
2930
|
}): LinkTransport;
|
|
2896
2931
|
//#endregion
|
|
2932
|
+
//#region src/ActionRuntime/Transport/SecureSession/exchangeProtocol.d.ts
|
|
2933
|
+
/**
|
|
2934
|
+
* The application-level envelope for secure action traffic over an {@link IExchangeCarrier} (HTTP). An
|
|
2935
|
+
* exchange carrier only moves one request frame → one reply frame with no unsolicited push, so the
|
|
2936
|
+
* handshake and the per-action token + crypto all ride in this envelope (a JSON string body) rather than
|
|
2937
|
+
* on a persistent channel. The three security levels share it:
|
|
2938
|
+
*
|
|
2939
|
+
* - `none` — no handshake, no token: an `act` envelope carries the plaintext wire both ways.
|
|
2940
|
+
* - `authenticated` — a one-time handshake yields a session `token`; each later `act` carries it +
|
|
2941
|
+
* the plaintext wire.
|
|
2942
|
+
* - `encrypted` — same, but the wire is AES-GCM ciphertext, base64 in the `c` field.
|
|
2943
|
+
*
|
|
2944
|
+
* The handshake runs as two `hs` exchanges (hello→welcome, prove→accept) correlated by a client-chosen
|
|
2945
|
+
* `hsid`, since stateless requests can't rely on channel ordering. The `accept` reply carries the token.
|
|
2946
|
+
*/
|
|
2947
|
+
type TWireJson = TActionPayload_Any_JsonObject<any, any>;
|
|
2948
|
+
/** Connector → acceptor request envelope. */
|
|
2949
|
+
type TExchangeRequest = {
|
|
2950
|
+
k: "hs";
|
|
2951
|
+
hsid: string;
|
|
2952
|
+
m: string;
|
|
2953
|
+
} | {
|
|
2954
|
+
k: "act";
|
|
2955
|
+
t?: string;
|
|
2956
|
+
w: TWireJson;
|
|
2957
|
+
} | {
|
|
2958
|
+
k: "act";
|
|
2959
|
+
t?: string;
|
|
2960
|
+
c: string;
|
|
2961
|
+
};
|
|
2962
|
+
/** Acceptor → connector reply envelope. */
|
|
2963
|
+
type TExchangeReply = {
|
|
2964
|
+
k: "hs";
|
|
2965
|
+
m: string;
|
|
2966
|
+
t?: string;
|
|
2967
|
+
} | {
|
|
2968
|
+
k: "act";
|
|
2969
|
+
w: TWireJson;
|
|
2970
|
+
} | {
|
|
2971
|
+
k: "act";
|
|
2972
|
+
c: string;
|
|
2973
|
+
} | {
|
|
2974
|
+
k: "err";
|
|
2975
|
+
message: string;
|
|
2976
|
+
};
|
|
2977
|
+
declare function encodeExchange(envelope: TExchangeRequest | TExchangeReply): string;
|
|
2978
|
+
declare function decodeExchangeRequest(raw: string): TExchangeRequest | undefined;
|
|
2979
|
+
declare function decodeExchangeReply(raw: string): TExchangeReply | undefined;
|
|
2980
|
+
//#endregion
|
|
2897
2981
|
//#region src/ActionRuntime/Transport/secureTransport.d.ts
|
|
2898
2982
|
interface ISecureTransportOptions {
|
|
2899
2983
|
/** The shared channel identity (per-connection codec + dictionary version) — same one both ends use. */
|
|
@@ -2904,6 +2988,13 @@ interface ISecureTransportOptions {
|
|
|
2904
2988
|
storageAdapter: StorageAdapter;
|
|
2905
2989
|
/** The level this client requests; the peer must allow it. */
|
|
2906
2990
|
securityLevel: ESecurityLevel;
|
|
2991
|
+
/**
|
|
2992
|
+
* Optional availability gate. When it returns `false`, this transport reports as `unsupported` for that
|
|
2993
|
+
* action and the manager falls through to the next transport in preference order — without opening the
|
|
2994
|
+
* carrier or computing its cache key. Re-evaluated per dispatch, so a transport can become available
|
|
2995
|
+
* later (e.g. once a session/connection precondition holds) with no reconnect. Omit = always available.
|
|
2996
|
+
*/
|
|
2997
|
+
available?: (input: ITransportRouteActionParams) => boolean;
|
|
2907
2998
|
/**
|
|
2908
2999
|
* How to reach the peer. A duplex carrier (`wsCarrier(url)`, `rtcCarrier(dc)`,
|
|
2909
3000
|
* `inMemoryCarrier().carrier`) runs the push-capable session; an exchange carrier (`httpCarrier(...)`)
|
|
@@ -3151,5 +3242,5 @@ interface IActionPayload_Result_JsonObject<DOM extends IActionDomain = IActionDo
|
|
|
3151
3242
|
type TActionPayload_Any_Instance<DOM extends IActionDomain = IActionDomain, ID extends keyof DOM["actionSchema"] & string = keyof DOM["actionSchema"] & string> = ActionPayload_Request<DOM, ID> | ActionPayload_Result<DOM, ID> | ActionPayload_Progress<DOM, ID>;
|
|
3152
3243
|
type TActionPayload_Any_JsonObject<DOM extends IActionDomain = IActionDomain, ID extends keyof DOM["actionSchema"] & string = keyof DOM["actionSchema"] & string> = IActionPayload_Request_JsonObject<DOM, ID> | IActionPayload_Progress_JsonObject<DOM, ID> | IActionPayload_Result_JsonObject<DOM, ID>;
|
|
3153
3244
|
//#endregion
|
|
3154
|
-
export {
|
|
3155
|
-
//# sourceMappingURL=ActionPayload.types-
|
|
3245
|
+
export { httpAcceptorCarrier as $, Transport as $n, EActionResponseMode as $r, ISecureChannel as $t, decodeExchangeReply as A, ITransportRouteClientParams as An, IRunningActionUpdate_Started as Ar, IAcceptorHibernation as At, err_nice_transport as B, TOnResolveAnyIncomingActionData_Json as Bn, TRuntimeCoordinateEnvId as Br, TFrame$1 as Bt, decodeActionFrame as C, IActionTransportReadyData_Base as Cn, IActionCore as Cr, createActionFetchHandler as Ct, secureTransport as D, ITransportDispatchAction as Dn, ERunningActionUpdateType as Dr, IChannelServer as Dt, ISecureTransportOptions as E, ISecureClientConfig as En, ERunningActionState as Er, IExchangeAcceptorSecurity as Et, ILinkTransportOptions as F, ITransportStatusInfo_Ready as Fn, ActionPayload_Result as Fr, IDuplexCarrier as Ft, IActionFrameCryptoConfig as G, TSendActionDataMethod as Gn, TActionDomainChildDef as Gr, IActionChannel as Gt, IExchangeTransportOptions as H, TOnResolveIncomingRequestJson as Hn, IActionDomain as Hr, IHibernatableWsServerAdapterOptions as Ht, LinkTransport as I, ITransportStatusInfo_Unsupported as In, IRuntimeCoordinate as Ir, IDuplexCarrierSource as It, IHttpCarrierOptions as J, TTransportInitializationFinishedInfo as Jn, TInferInputFromSchema as Jr, TChannelPushHandlers as Jt, createActionFrameCrypto as K, TSendReturnDataMethod as Kn, TActionDomainSchema as Kr, IConnectChannelOptions as Kt, IActionTransportReadyData_Link as L, IUpdateActionRunConfig_Output as Ln, IRuntimeCoordinateSpecifics as Lr, IExchangeCarrier as Lt, encodeExchange as M, ITransportStatusInfo_Base as Mn, TRunningActionUpdate as Mr, IExchangeAcceptorCarrier as Mt, IPlainTransportOptions as N, ITransportStatusInfo_Failed as Nn, TRunningActionUpdateFinished as Nr, TAcceptorCarrier as Nt, TExchangeReply as O, ITransportMethod_SendActionData_Input as On, IRunningActionUpdate_Abort as Or, IServeChannelOptions as Ot, plainTransport as P, ITransportStatusInfo_Initializing as Pn, TRunningActionUpdateListener as Pr, isExchangeAcceptorCarrier as Pt, IHttpAcceptorCarrierOptions as Q, ITransportConnectionContext as Qn, ActionSchema as Qr, defineChannel as Qt, TLinkFormatMessage as R, TGetTransportFn as Rn, IRuntimeFullCoordinates as Rr, IExchangeCarrierSource as Rt, IActionFrameDecoder as S, IActionTransportReady as Sn, ActionPayload_Request as Sr, IActionFetchHandlerOptions as St, err_nice_action as T, IActionTransportResolvers as Tn, ERunningActionFinishedType as Tr, IExchangeAcceptorConfig as Tt, IActionTransportReadyData_Exchange as U, TOnResolveIncomingResponse as Un, IActionDomainChildOptions as Ur, createHibernatableWsServerAdapter as Ut, ExchangeTransport as V, TOnResolveIncomingRequest as Vn, TRuntimeCoordinateStringId as Vr, IDuplexConnectionRouter as Vt, IActionFrameCrypto as W, TOnResolveIncomingResponseJson as Wn, IActionRootDomain as Wr, IAcceptChannelOptions as Wt, TCarrierFetch as X, TTransportStatusInfo_GetTransport_Output as Xn, TPossibleDomainId as Xr, acceptChannelConnections as Xt, IHttpCarrierRequest as Y, TTransportStatusInfo as Yn, TInferOutputFromSchema as Yr, acceptChannel as Yt, httpCarrier as Z, TUpdateActionRunConfig as Zn, TPossibleDomainIdList as Zr, connectChannel as Zt, TActionProgress as _, createConnectorHandler as _n, ActionLocalHandler as _r, IConnectionAttachment as _t, IActionPayload_Data_Base as a, IAcceptorHandlerOptions as an, IHandshakeEncryptionKeyMaterial as ar, err_nice_transport_ws as at, isActionPayload_Request_JsonObject as b, IActionTransportDef as bn, RunningAction as br, ISecureAcceptorHandlerOptions as bt, IActionPayload_Request_JsonObject as c, TActionConnectionEncoding as cn, THandshakeMessage as cr, IRtcDataChannelLike as ct, IActionProgress_Custom as d, createActionRootDomain as dn, createServerHandshake as dr, inMemoryCarrier as dt, TInferActionError as ei, defineSecureChannel as en, EHandshakeMessageType as er, IWsCarrierOptions as et, IActionProgress_None as f, ActionCore as fn, createStorageTofuVerifyKeyResolver as fr, IInMemoryChannelPair as ft, TActionPayload_Any_JsonObject as g, ConnectorHandler as gn, PeerLinkHandler as gr, ConnectionStateStore as gt, TActionPayload_Any_Instance as h, ActionRuntime as hn, runtimeLinkId as hr, err_nice_external_client as ht, IActionPayload_Base_JsonObject as i, TTransportedValue as ii, IAcceptorConnectionBinding as in, IClientVerifyKeyResolver as ir, EErrId_NiceTransport_WebSocket as it, decodeExchangeRequest as j, ITransportRouteInfo as jn, IRunningActionUpdate_Success as jr, IDuplexAcceptorCarrier as jt, TExchangeRequest as k, ITransportRouteActionParams as kn, IRunningActionUpdate_Progress as kr, serveChannel as kt, IActionPayload_Result as l, createAcceptorHandler as ln, createClientHandshake as lr, rtcDataChannelByteChannel as lt, IActionRouteItemHandler as m, ActionRootDomain as mn, encodeHandshakeMessage as mr, createInMemoryChannelPair as mt, EActionProgressType as n, TActionSchemaOptions as ni, createBinaryWireSessionFactory as nn, IClientHandshakeConfig as nr, IWsAcceptorCarrierOptions as nt, IActionPayload_Progress as o, TAcceptorConnectionCaseFn as on, IHandshakeResult as or, IRtcCarrierOptions as ot, IActionProgress_Percentage as p, ActionDomain as pn, decodeHandshakeMessage as pr, IInMemoryServerEndpoint as pt, createBinaryWireAdapter as q, TTransportCache as qn, TDomainActionId as qr, TChannelAcceptorCases as qt, IActionPayload_Base as r, TActionSerializationDefinition as ri, AcceptorHandler as rn, IClientVerifyKeyResolveInput as rr, wsAcceptorCarrier as rt, IActionPayload_Progress_JsonObject as s, TActionChannelFormatMessage as sn, IServerHandshakeConfig as sr, rtcCarrier as st, EActionPayloadType as t, actionSchema as ti, IBinaryWireSessionOptions as tn, ESecurityLevel as tr, wsCarrier as tt, IActionPayload_Result_JsonObject as u, IActionWireFormat as un, createInMemoryTofuVerifyKeyResolver as ur, IInMemoryCarrier as ut, TActionResultOutcome as v, ETransportShape as vn, createLocalHandler as vr, IConnectionStateStoreOptions as vt, EErrId_NiceAction as w, IActionTransportReadyData_Methods as wn, IActionCore_JsonObject as wr, ExchangeAcceptor as wt, isActionPayload_Any_JsonObject as x, IActionTransportInitialized as xn, ActionPayload_Progress as xr, createSecureAcceptorHandler as xt, isActionPayload_Result_JsonObject as y, ETransportStatus as yn, MaybePromise as yr, createConnectionStateStore as yt, EErrId_NiceTransport as z, TOnResolveAnyIncomingActionData as zn, RuntimeCoordinate as zr, TCarrier as zt };
|
|
3246
|
+
//# sourceMappingURL=ActionPayload.types-Bmkzw2df.d.mts.map
|
|
@@ -1027,6 +1027,13 @@ declare abstract class TransportConnection<T extends ETransportShape = ETranspor
|
|
|
1027
1027
|
protected _finalizeReady(readyData: RD): IActionTransportReadyData_Methods | Promise<IActionTransportReadyData_Methods>;
|
|
1028
1028
|
protected _getCacheKey(input: RP): string | null;
|
|
1029
1029
|
getCacheKey(input: RP): string | null;
|
|
1030
|
+
/**
|
|
1031
|
+
* Whether this transport can serve the given action right now. Consulted by the manager before
|
|
1032
|
+
* cache-key resolution and `getTransport`; a `false` result skips this transport (treated as
|
|
1033
|
+
* `unsupported`) and the manager falls through to the next in preference order. Defaults to `true`
|
|
1034
|
+
* when the transport declares no gate.
|
|
1035
|
+
*/
|
|
1036
|
+
isAvailable(input: RP): boolean;
|
|
1030
1037
|
getTransport(input: RP): TTransportStatusInfo<IActionTransportReadyData_Methods>;
|
|
1031
1038
|
protected _processTransportStatus(input: RP): TTransportStatusInfo<IActionTransportReadyData_Methods>;
|
|
1032
1039
|
/** Await carrier readiness, then finalize (possibly running a handshake) into the live methods. */
|
|
@@ -1174,6 +1181,15 @@ interface IActionTransportResolvers {
|
|
|
1174
1181
|
type TGetTransportFn<IN extends ITransportRouteActionParams, READY extends IActionTransportReadyData_Base> = (input: IN) => TTransportStatusInfo_GetTransport_Output<READY>;
|
|
1175
1182
|
interface IActionTransportInitialized<IN extends ITransportRouteActionParams, READY extends IActionTransportReadyData_Base> {
|
|
1176
1183
|
getTransportCacheKey?: (input: IN) => string[];
|
|
1184
|
+
/**
|
|
1185
|
+
* Optional availability gate, consulted by {@link ConnectionTransportManager} *before* cache-key
|
|
1186
|
+
* resolution and `getTransport`. When it returns `false`, this transport is treated as `unsupported`
|
|
1187
|
+
* for that action and the manager falls through to the next transport in preference order — without
|
|
1188
|
+
* opening the carrier or computing its cache key. Re-evaluated per action dispatch, so a transport can
|
|
1189
|
+
* become available later (e.g. once a session/connection precondition is met) with no reconnect. Omit =
|
|
1190
|
+
* always available.
|
|
1191
|
+
*/
|
|
1192
|
+
isAvailable?: (input: IN) => boolean;
|
|
1177
1193
|
getTransport: TGetTransportFn<IN, READY>;
|
|
1178
1194
|
}
|
|
1179
1195
|
interface IActionTransportDef<TYPE extends ETransportShape, INIT extends IActionTransportInitialized<any, any>> {
|
|
@@ -2735,6 +2751,12 @@ interface IExchangeTransportOptions {
|
|
|
2735
2751
|
updateRunConfig?: TUpdateActionRunConfig;
|
|
2736
2752
|
/** Keys identifying a reusable session, so one carrier is shared across actions to the same peer. */
|
|
2737
2753
|
getTransportCacheKey?: (input: ITransportRouteActionParams) => string[];
|
|
2754
|
+
/**
|
|
2755
|
+
* Optional availability gate. When it returns `false`, the manager skips this transport for that action
|
|
2756
|
+
* (reporting `unsupported`) and falls through to the next — without opening the carrier or computing its
|
|
2757
|
+
* cache key. Re-evaluated per dispatch, so the transport can become available later with no reconnect.
|
|
2758
|
+
*/
|
|
2759
|
+
available?: (input: ITransportRouteActionParams) => boolean;
|
|
2738
2760
|
/** Short label for the devtools chip (defaults to "exchange"). */
|
|
2739
2761
|
label?: string;
|
|
2740
2762
|
getRouteInfo?: (input: ITransportRouteActionParams) => ITransportRouteInfo;
|
|
@@ -2841,6 +2863,12 @@ interface ILinkTransportOptions {
|
|
|
2841
2863
|
updateRunConfig?: TUpdateActionRunConfig;
|
|
2842
2864
|
/** Keys identifying a reusable channel, so one carrier is shared across actions to the same peer. */
|
|
2843
2865
|
getTransportCacheKey?: (input: ITransportRouteActionParams) => string[];
|
|
2866
|
+
/**
|
|
2867
|
+
* Optional availability gate. When it returns `false`, the manager skips this transport for that action
|
|
2868
|
+
* (reporting `unsupported`) and falls through to the next — without opening the carrier or computing its
|
|
2869
|
+
* cache key. Re-evaluated per dispatch, so the transport can become available later with no reconnect.
|
|
2870
|
+
*/
|
|
2871
|
+
available?: (input: ITransportRouteActionParams) => boolean;
|
|
2844
2872
|
/** Short label for the devtools chip (defaults to "link"). */
|
|
2845
2873
|
label?: string;
|
|
2846
2874
|
getRouteInfo?: (input: ITransportRouteActionParams) => ITransportRouteInfo;
|
|
@@ -2875,6 +2903,13 @@ interface IPlainTransportOptions {
|
|
|
2875
2903
|
formatMessage?: TLinkFormatMessage;
|
|
2876
2904
|
/** Per-channel codec factory for stateful duplex codecs (e.g. the binary session). */
|
|
2877
2905
|
createFormatMessage?: () => TLinkFormatMessage;
|
|
2906
|
+
/**
|
|
2907
|
+
* Optional availability gate. When it returns `false`, this transport reports as `unsupported` for that
|
|
2908
|
+
* action and the manager falls through to the next transport in preference order — without opening the
|
|
2909
|
+
* carrier or computing its cache key. Re-evaluated per dispatch, so a transport can become available
|
|
2910
|
+
* later (e.g. once a session/connection precondition holds) with no reconnect. Omit = always available.
|
|
2911
|
+
*/
|
|
2912
|
+
available?: (input: ITransportRouteActionParams) => boolean;
|
|
2878
2913
|
updateRunConfig?: TUpdateActionRunConfig;
|
|
2879
2914
|
/** Override the devtools chip label (defaults to the carrier's `carrierLabel`). */
|
|
2880
2915
|
label?: string;
|
|
@@ -2894,6 +2929,55 @@ declare function plainTransport(options: IPlainTransportOptions & {
|
|
|
2894
2929
|
carrier: IDuplexCarrierSource;
|
|
2895
2930
|
}): LinkTransport;
|
|
2896
2931
|
//#endregion
|
|
2932
|
+
//#region src/ActionRuntime/Transport/SecureSession/exchangeProtocol.d.ts
|
|
2933
|
+
/**
|
|
2934
|
+
* The application-level envelope for secure action traffic over an {@link IExchangeCarrier} (HTTP). An
|
|
2935
|
+
* exchange carrier only moves one request frame → one reply frame with no unsolicited push, so the
|
|
2936
|
+
* handshake and the per-action token + crypto all ride in this envelope (a JSON string body) rather than
|
|
2937
|
+
* on a persistent channel. The three security levels share it:
|
|
2938
|
+
*
|
|
2939
|
+
* - `none` — no handshake, no token: an `act` envelope carries the plaintext wire both ways.
|
|
2940
|
+
* - `authenticated` — a one-time handshake yields a session `token`; each later `act` carries it +
|
|
2941
|
+
* the plaintext wire.
|
|
2942
|
+
* - `encrypted` — same, but the wire is AES-GCM ciphertext, base64 in the `c` field.
|
|
2943
|
+
*
|
|
2944
|
+
* The handshake runs as two `hs` exchanges (hello→welcome, prove→accept) correlated by a client-chosen
|
|
2945
|
+
* `hsid`, since stateless requests can't rely on channel ordering. The `accept` reply carries the token.
|
|
2946
|
+
*/
|
|
2947
|
+
type TWireJson = TActionPayload_Any_JsonObject<any, any>;
|
|
2948
|
+
/** Connector → acceptor request envelope. */
|
|
2949
|
+
type TExchangeRequest = {
|
|
2950
|
+
k: "hs";
|
|
2951
|
+
hsid: string;
|
|
2952
|
+
m: string;
|
|
2953
|
+
} | {
|
|
2954
|
+
k: "act";
|
|
2955
|
+
t?: string;
|
|
2956
|
+
w: TWireJson;
|
|
2957
|
+
} | {
|
|
2958
|
+
k: "act";
|
|
2959
|
+
t?: string;
|
|
2960
|
+
c: string;
|
|
2961
|
+
};
|
|
2962
|
+
/** Acceptor → connector reply envelope. */
|
|
2963
|
+
type TExchangeReply = {
|
|
2964
|
+
k: "hs";
|
|
2965
|
+
m: string;
|
|
2966
|
+
t?: string;
|
|
2967
|
+
} | {
|
|
2968
|
+
k: "act";
|
|
2969
|
+
w: TWireJson;
|
|
2970
|
+
} | {
|
|
2971
|
+
k: "act";
|
|
2972
|
+
c: string;
|
|
2973
|
+
} | {
|
|
2974
|
+
k: "err";
|
|
2975
|
+
message: string;
|
|
2976
|
+
};
|
|
2977
|
+
declare function encodeExchange(envelope: TExchangeRequest | TExchangeReply): string;
|
|
2978
|
+
declare function decodeExchangeRequest(raw: string): TExchangeRequest | undefined;
|
|
2979
|
+
declare function decodeExchangeReply(raw: string): TExchangeReply | undefined;
|
|
2980
|
+
//#endregion
|
|
2897
2981
|
//#region src/ActionRuntime/Transport/secureTransport.d.ts
|
|
2898
2982
|
interface ISecureTransportOptions {
|
|
2899
2983
|
/** The shared channel identity (per-connection codec + dictionary version) — same one both ends use. */
|
|
@@ -2904,6 +2988,13 @@ interface ISecureTransportOptions {
|
|
|
2904
2988
|
storageAdapter: StorageAdapter;
|
|
2905
2989
|
/** The level this client requests; the peer must allow it. */
|
|
2906
2990
|
securityLevel: ESecurityLevel;
|
|
2991
|
+
/**
|
|
2992
|
+
* Optional availability gate. When it returns `false`, this transport reports as `unsupported` for that
|
|
2993
|
+
* action and the manager falls through to the next transport in preference order — without opening the
|
|
2994
|
+
* carrier or computing its cache key. Re-evaluated per dispatch, so a transport can become available
|
|
2995
|
+
* later (e.g. once a session/connection precondition holds) with no reconnect. Omit = always available.
|
|
2996
|
+
*/
|
|
2997
|
+
available?: (input: ITransportRouteActionParams) => boolean;
|
|
2907
2998
|
/**
|
|
2908
2999
|
* How to reach the peer. A duplex carrier (`wsCarrier(url)`, `rtcCarrier(dc)`,
|
|
2909
3000
|
* `inMemoryCarrier().carrier`) runs the push-capable session; an exchange carrier (`httpCarrier(...)`)
|
|
@@ -3151,5 +3242,5 @@ interface IActionPayload_Result_JsonObject<DOM extends IActionDomain = IActionDo
|
|
|
3151
3242
|
type TActionPayload_Any_Instance<DOM extends IActionDomain = IActionDomain, ID extends keyof DOM["actionSchema"] & string = keyof DOM["actionSchema"] & string> = ActionPayload_Request<DOM, ID> | ActionPayload_Result<DOM, ID> | ActionPayload_Progress<DOM, ID>;
|
|
3152
3243
|
type TActionPayload_Any_JsonObject<DOM extends IActionDomain = IActionDomain, ID extends keyof DOM["actionSchema"] & string = keyof DOM["actionSchema"] & string> = IActionPayload_Request_JsonObject<DOM, ID> | IActionPayload_Progress_JsonObject<DOM, ID> | IActionPayload_Result_JsonObject<DOM, ID>;
|
|
3153
3244
|
//#endregion
|
|
3154
|
-
export {
|
|
3155
|
-
//# sourceMappingURL=ActionPayload.types-
|
|
3245
|
+
export { httpAcceptorCarrier as $, Transport as $n, EActionResponseMode as $r, ISecureChannel as $t, decodeExchangeReply as A, ITransportRouteClientParams as An, IRunningActionUpdate_Started as Ar, IAcceptorHibernation as At, err_nice_transport as B, TOnResolveAnyIncomingActionData_Json as Bn, TRuntimeCoordinateEnvId as Br, TFrame$1 as Bt, decodeActionFrame as C, IActionTransportReadyData_Base as Cn, IActionCore as Cr, createActionFetchHandler as Ct, secureTransport as D, ITransportDispatchAction as Dn, ERunningActionUpdateType as Dr, IChannelServer as Dt, ISecureTransportOptions as E, ISecureClientConfig as En, ERunningActionState as Er, IExchangeAcceptorSecurity as Et, ILinkTransportOptions as F, ITransportStatusInfo_Ready as Fn, ActionPayload_Result as Fr, IDuplexCarrier as Ft, IActionFrameCryptoConfig as G, TSendActionDataMethod as Gn, TActionDomainChildDef as Gr, IActionChannel as Gt, IExchangeTransportOptions as H, TOnResolveIncomingRequestJson as Hn, IActionDomain as Hr, IHibernatableWsServerAdapterOptions as Ht, LinkTransport as I, ITransportStatusInfo_Unsupported as In, IRuntimeCoordinate as Ir, IDuplexCarrierSource as It, IHttpCarrierOptions as J, TTransportInitializationFinishedInfo as Jn, TInferInputFromSchema as Jr, TChannelPushHandlers as Jt, createActionFrameCrypto as K, TSendReturnDataMethod as Kn, TActionDomainSchema as Kr, IConnectChannelOptions as Kt, IActionTransportReadyData_Link as L, IUpdateActionRunConfig_Output as Ln, IRuntimeCoordinateSpecifics as Lr, IExchangeCarrier as Lt, encodeExchange as M, ITransportStatusInfo_Base as Mn, TRunningActionUpdate as Mr, IExchangeAcceptorCarrier as Mt, IPlainTransportOptions as N, ITransportStatusInfo_Failed as Nn, TRunningActionUpdateFinished as Nr, TAcceptorCarrier as Nt, TExchangeReply as O, ITransportMethod_SendActionData_Input as On, IRunningActionUpdate_Abort as Or, IServeChannelOptions as Ot, plainTransport as P, ITransportStatusInfo_Initializing as Pn, TRunningActionUpdateListener as Pr, isExchangeAcceptorCarrier as Pt, IHttpAcceptorCarrierOptions as Q, ITransportConnectionContext as Qn, ActionSchema as Qr, defineChannel as Qt, TLinkFormatMessage as R, TGetTransportFn as Rn, IRuntimeFullCoordinates as Rr, IExchangeCarrierSource as Rt, IActionFrameDecoder as S, IActionTransportReady as Sn, ActionPayload_Request as Sr, IActionFetchHandlerOptions as St, err_nice_action as T, IActionTransportResolvers as Tn, ERunningActionFinishedType as Tr, IExchangeAcceptorConfig as Tt, IActionTransportReadyData_Exchange as U, TOnResolveIncomingResponse as Un, IActionDomainChildOptions as Ur, createHibernatableWsServerAdapter as Ut, ExchangeTransport as V, TOnResolveIncomingRequest as Vn, TRuntimeCoordinateStringId as Vr, IDuplexConnectionRouter as Vt, IActionFrameCrypto as W, TOnResolveIncomingResponseJson as Wn, IActionRootDomain as Wr, IAcceptChannelOptions as Wt, TCarrierFetch as X, TTransportStatusInfo_GetTransport_Output as Xn, TPossibleDomainId as Xr, acceptChannelConnections as Xt, IHttpCarrierRequest as Y, TTransportStatusInfo as Yn, TInferOutputFromSchema as Yr, acceptChannel as Yt, httpCarrier as Z, TUpdateActionRunConfig as Zn, TPossibleDomainIdList as Zr, connectChannel as Zt, TActionProgress as _, createConnectorHandler as _n, ActionLocalHandler as _r, IConnectionAttachment as _t, IActionPayload_Data_Base as a, IAcceptorHandlerOptions as an, IHandshakeEncryptionKeyMaterial as ar, err_nice_transport_ws as at, isActionPayload_Request_JsonObject as b, IActionTransportDef as bn, RunningAction as br, ISecureAcceptorHandlerOptions as bt, IActionPayload_Request_JsonObject as c, TActionConnectionEncoding as cn, THandshakeMessage as cr, IRtcDataChannelLike as ct, IActionProgress_Custom as d, createActionRootDomain as dn, createServerHandshake as dr, inMemoryCarrier as dt, TInferActionError as ei, defineSecureChannel as en, EHandshakeMessageType as er, IWsCarrierOptions as et, IActionProgress_None as f, ActionCore as fn, createStorageTofuVerifyKeyResolver as fr, IInMemoryChannelPair as ft, TActionPayload_Any_JsonObject as g, ConnectorHandler as gn, PeerLinkHandler as gr, ConnectionStateStore as gt, TActionPayload_Any_Instance as h, ActionRuntime as hn, runtimeLinkId as hr, err_nice_external_client as ht, IActionPayload_Base_JsonObject as i, TTransportedValue as ii, IAcceptorConnectionBinding as in, IClientVerifyKeyResolver as ir, EErrId_NiceTransport_WebSocket as it, decodeExchangeRequest as j, ITransportRouteInfo as jn, IRunningActionUpdate_Success as jr, IDuplexAcceptorCarrier as jt, TExchangeRequest as k, ITransportRouteActionParams as kn, IRunningActionUpdate_Progress as kr, serveChannel as kt, IActionPayload_Result as l, createAcceptorHandler as ln, createClientHandshake as lr, rtcDataChannelByteChannel as lt, IActionRouteItemHandler as m, ActionRootDomain as mn, encodeHandshakeMessage as mr, createInMemoryChannelPair as mt, EActionProgressType as n, TActionSchemaOptions as ni, createBinaryWireSessionFactory as nn, IClientHandshakeConfig as nr, IWsAcceptorCarrierOptions as nt, IActionPayload_Progress as o, TAcceptorConnectionCaseFn as on, IHandshakeResult as or, IRtcCarrierOptions as ot, IActionProgress_Percentage as p, ActionDomain as pn, decodeHandshakeMessage as pr, IInMemoryServerEndpoint as pt, createBinaryWireAdapter as q, TTransportCache as qn, TDomainActionId as qr, TChannelAcceptorCases as qt, IActionPayload_Base as r, TActionSerializationDefinition as ri, AcceptorHandler as rn, IClientVerifyKeyResolveInput as rr, wsAcceptorCarrier as rt, IActionPayload_Progress_JsonObject as s, TActionChannelFormatMessage as sn, IServerHandshakeConfig as sr, rtcCarrier as st, EActionPayloadType as t, actionSchema as ti, IBinaryWireSessionOptions as tn, ESecurityLevel as tr, wsCarrier as tt, IActionPayload_Result_JsonObject as u, IActionWireFormat as un, createInMemoryTofuVerifyKeyResolver as ur, IInMemoryCarrier as ut, TActionResultOutcome as v, ETransportShape as vn, createLocalHandler as vr, IConnectionStateStoreOptions as vt, EErrId_NiceAction as w, IActionTransportReadyData_Methods as wn, IActionCore_JsonObject as wr, ExchangeAcceptor as wt, isActionPayload_Any_JsonObject as x, IActionTransportInitialized as xn, ActionPayload_Progress as xr, createSecureAcceptorHandler as xt, isActionPayload_Result_JsonObject as y, ETransportStatus as yn, MaybePromise as yr, createConnectionStateStore as yt, EErrId_NiceTransport as z, TOnResolveAnyIncomingActionData as zn, RuntimeCoordinate as zr, TCarrier as zt };
|
|
3246
|
+
//# sourceMappingURL=ActionPayload.types-CdHOGGZK.d.cts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as TDevtoolsActionStatus, i as IDevtoolsObservableDomain, n as IActionDevtoolsCoreOptions, o as TDevtoolsListener, r as IDevtoolsActionEntry, s as TDevtoolsPosition, t as ActionDevtoolsCore } from "../../ActionDevtoolsCore-
|
|
1
|
+
import { a as TDevtoolsActionStatus, i as IDevtoolsObservableDomain, n as IActionDevtoolsCoreOptions, o as TDevtoolsListener, r as IDevtoolsActionEntry, s as TDevtoolsPosition, t as ActionDevtoolsCore } from "../../ActionDevtoolsCore-CCZXQBAo.cjs";
|
|
2
2
|
|
|
3
3
|
//#region src/devtools/browser/NiceActionDevtools.d.ts
|
|
4
4
|
interface INiceActionDevtoolsProps {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as TDevtoolsActionStatus, i as IDevtoolsObservableDomain, n as IActionDevtoolsCoreOptions, o as TDevtoolsListener, r as IDevtoolsActionEntry, s as TDevtoolsPosition, t as ActionDevtoolsCore } from "../../ActionDevtoolsCore-
|
|
1
|
+
import { a as TDevtoolsActionStatus, i as IDevtoolsObservableDomain, n as IActionDevtoolsCoreOptions, o as TDevtoolsListener, r as IDevtoolsActionEntry, s as TDevtoolsPosition, t as ActionDevtoolsCore } from "../../ActionDevtoolsCore-bjYQ8O2_.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/devtools/browser/NiceActionDevtools.d.ts
|
|
4
4
|
interface INiceActionDevtoolsProps {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as TDevtoolsActionStatus, i as IDevtoolsObservableDomain, n as IActionDevtoolsCoreOptions, o as TDevtoolsListener, r as IDevtoolsActionEntry, t as ActionDevtoolsCore } from "../../ActionDevtoolsCore-
|
|
1
|
+
import { a as TDevtoolsActionStatus, i as IDevtoolsObservableDomain, n as IActionDevtoolsCoreOptions, o as TDevtoolsListener, r as IDevtoolsActionEntry, t as ActionDevtoolsCore } from "../../ActionDevtoolsCore-CCZXQBAo.cjs";
|
|
2
2
|
|
|
3
3
|
//#region src/devtools/server/NiceActionServerDevtools.d.ts
|
|
4
4
|
type TServerDevtoolsLogFn = (message: string, data?: Record<string, unknown>) => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as TDevtoolsActionStatus, i as IDevtoolsObservableDomain, n as IActionDevtoolsCoreOptions, o as TDevtoolsListener, r as IDevtoolsActionEntry, t as ActionDevtoolsCore } from "../../ActionDevtoolsCore-
|
|
1
|
+
import { a as TDevtoolsActionStatus, i as IDevtoolsObservableDomain, n as IActionDevtoolsCoreOptions, o as TDevtoolsListener, r as IDevtoolsActionEntry, t as ActionDevtoolsCore } from "../../ActionDevtoolsCore-bjYQ8O2_.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/devtools/server/NiceActionServerDevtools.d.ts
|
|
4
4
|
type TServerDevtoolsLogFn = (message: string, data?: Record<string, unknown>) => void;
|
package/build/index.cjs
CHANGED
|
@@ -879,6 +879,10 @@ var ConnectionTransportManager = class {
|
|
|
879
879
|
const candidates = [];
|
|
880
880
|
const unavailableTransports = [];
|
|
881
881
|
for (const transport of this._transports) {
|
|
882
|
+
if (!transport.isAvailable(routeActionParams)) {
|
|
883
|
+
unavailableTransports.push(transport);
|
|
884
|
+
continue;
|
|
885
|
+
}
|
|
882
886
|
const cacheKey = transport.getCacheKey(routeActionParams);
|
|
883
887
|
if (cacheKey != null) {
|
|
884
888
|
const cached = this._cache.get(cacheKey);
|
|
@@ -4440,6 +4444,15 @@ var TransportConnection = class {
|
|
|
4440
4444
|
if (inner == null) return null;
|
|
4441
4445
|
return `${this.transOrd}:${inner}`;
|
|
4442
4446
|
}
|
|
4447
|
+
/**
|
|
4448
|
+
* Whether this transport can serve the given action right now. Consulted by the manager before
|
|
4449
|
+
* cache-key resolution and `getTransport`; a `false` result skips this transport (treated as
|
|
4450
|
+
* `unsupported`) and the manager falls through to the next in preference order. Defaults to `true`
|
|
4451
|
+
* when the transport declares no gate.
|
|
4452
|
+
*/
|
|
4453
|
+
isAvailable(input) {
|
|
4454
|
+
return this.initialized.isAvailable?.(input) ?? true;
|
|
4455
|
+
}
|
|
4443
4456
|
getTransport(input) {
|
|
4444
4457
|
return this._processTransportStatus(input);
|
|
4445
4458
|
}
|
|
@@ -4536,6 +4549,7 @@ var ExchangeTransport = class ExchangeTransport extends Transport {
|
|
|
4536
4549
|
const options = this.options;
|
|
4537
4550
|
return new ExchangeConnection({ initialize: () => ({
|
|
4538
4551
|
getTransportCacheKey: options.getTransportCacheKey,
|
|
4552
|
+
isAvailable: options.available,
|
|
4539
4553
|
getTransport: (input) => ({
|
|
4540
4554
|
status: "ready",
|
|
4541
4555
|
readyData: {
|
|
@@ -4784,6 +4798,7 @@ var LinkTransport = class LinkTransport extends Transport {
|
|
|
4784
4798
|
const options = this.options;
|
|
4785
4799
|
return new LinkConnection({ initialize: () => ({
|
|
4786
4800
|
getTransportCacheKey: options.getTransportCacheKey,
|
|
4801
|
+
isAvailable: options.available,
|
|
4787
4802
|
getTransport: (input) => ({
|
|
4788
4803
|
status: "ready",
|
|
4789
4804
|
readyData: {
|
|
@@ -4820,6 +4835,7 @@ function plainTransport(options) {
|
|
|
4820
4835
|
if (isExchangeCarrierSource(carrier)) return ExchangeTransport.create({
|
|
4821
4836
|
openCarrier: carrier.open,
|
|
4822
4837
|
getTransportCacheKey: carrier.getCacheKey,
|
|
4838
|
+
available: options.available,
|
|
4823
4839
|
getRouteInfo: carrier.getRouteInfo,
|
|
4824
4840
|
label: options.label ?? carrier.carrierLabel,
|
|
4825
4841
|
updateRunConfig: options.updateRunConfig
|
|
@@ -4829,6 +4845,7 @@ function plainTransport(options) {
|
|
|
4829
4845
|
formatMessage: options.formatMessage,
|
|
4830
4846
|
createFormatMessage: options.createFormatMessage,
|
|
4831
4847
|
getTransportCacheKey: carrier.getCacheKey,
|
|
4848
|
+
available: options.available,
|
|
4832
4849
|
getRouteInfo: carrier.getRouteInfo,
|
|
4833
4850
|
label: options.label ?? carrier.carrierLabel,
|
|
4834
4851
|
updateRunConfig: options.updateRunConfig
|
|
@@ -4848,6 +4865,7 @@ function secureTransport(options) {
|
|
|
4848
4865
|
if (isExchangeCarrierSource(carrier)) return ExchangeTransport.create({
|
|
4849
4866
|
openCarrier: carrier.open,
|
|
4850
4867
|
getTransportCacheKey: carrier.getCacheKey,
|
|
4868
|
+
available: options.available,
|
|
4851
4869
|
getRouteInfo: carrier.getRouteInfo,
|
|
4852
4870
|
label: carrier.carrierLabel,
|
|
4853
4871
|
security
|
|
@@ -4856,6 +4874,7 @@ function secureTransport(options) {
|
|
|
4856
4874
|
openChannel: carrier.open,
|
|
4857
4875
|
createFormatMessage: options.channel.createCodec,
|
|
4858
4876
|
getTransportCacheKey: carrier.getCacheKey,
|
|
4877
|
+
available: options.available,
|
|
4859
4878
|
getRouteInfo: carrier.getRouteInfo,
|
|
4860
4879
|
label: carrier.carrierLabel,
|
|
4861
4880
|
security
|
|
@@ -4912,9 +4931,12 @@ exports.createSecureAcceptorHandler = createSecureAcceptorHandler;
|
|
|
4912
4931
|
exports.createServerHandshake = createServerHandshake;
|
|
4913
4932
|
exports.createStorageTofuVerifyKeyResolver = createStorageTofuVerifyKeyResolver;
|
|
4914
4933
|
exports.decodeActionFrame = decodeActionFrame;
|
|
4934
|
+
exports.decodeExchangeReply = decodeExchangeReply;
|
|
4935
|
+
exports.decodeExchangeRequest = decodeExchangeRequest;
|
|
4915
4936
|
exports.decodeHandshakeMessage = decodeHandshakeMessage;
|
|
4916
4937
|
exports.defineChannel = defineChannel;
|
|
4917
4938
|
exports.defineSecureChannel = defineSecureChannel;
|
|
4939
|
+
exports.encodeExchange = encodeExchange;
|
|
4918
4940
|
exports.encodeHandshakeMessage = encodeHandshakeMessage;
|
|
4919
4941
|
exports.err_nice_action = err_nice_action;
|
|
4920
4942
|
exports.err_nice_external_client = err_nice_external_client;
|