@nice-code/action 0.22.0 → 0.23.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 (26) hide show
  1. package/README.md +4 -4
  2. package/build/{ActionDevtoolsCore-CQ0vrvPD.d.cts → ActionDevtoolsCore-BjbhFqc0.d.mts} +2 -2
  3. package/build/{ActionDevtoolsCore-CiLBYC3K.d.mts → ActionDevtoolsCore-kk7oZBv9.d.cts} +2 -2
  4. package/build/{ActionPayload.types-Dx1JPyfs.d.mts → ActionPayload.types-B-OSg09t.d.mts} +15 -10
  5. package/build/{ActionPayload.types-L9k0LyBd.d.cts → ActionPayload.types-DIOeVapm.d.cts} +15 -10
  6. package/build/devtools/browser/index.d.cts +1 -1
  7. package/build/devtools/browser/index.d.mts +1 -1
  8. package/build/devtools/server/index.d.cts +1 -1
  9. package/build/devtools/server/index.d.mts +1 -1
  10. package/build/{httpAcceptorCarrier-DL8lf0xB.mjs → httpAcceptorCarrier-DJVxzDVd.mjs} +3 -3
  11. package/build/{httpAcceptorCarrier-DL8lf0xB.mjs.map → httpAcceptorCarrier-DJVxzDVd.mjs.map} +1 -1
  12. package/build/{httpAcceptorCarrier-OnJxzsAD.cjs → httpAcceptorCarrier-hYPuoNuP.cjs} +3 -3
  13. package/build/{httpAcceptorCarrier-OnJxzsAD.cjs.map → httpAcceptorCarrier-hYPuoNuP.cjs.map} +1 -1
  14. package/build/index.cjs +18 -12
  15. package/build/index.cjs.map +1 -1
  16. package/build/index.d.cts +1 -1
  17. package/build/index.d.mts +1 -1
  18. package/build/index.mjs +18 -12
  19. package/build/index.mjs.map +1 -1
  20. package/build/platform/cloudflare/index.cjs +1 -1
  21. package/build/platform/cloudflare/index.d.cts +1 -1
  22. package/build/platform/cloudflare/index.d.mts +1 -1
  23. package/build/platform/cloudflare/index.mjs +1 -1
  24. package/build/react-query/index.d.cts +1 -1
  25. package/build/react-query/index.d.mts +1 -1
  26. package/package.json +4 -4
package/README.md CHANGED
@@ -281,7 +281,7 @@ connectChannel(clientRuntime, appChannel, {
281
281
  storage, // one crypto identity, fanned across every secure transport
282
282
  securityLevel: ESecurityLevel.encrypted,
283
283
  transports: [
284
- { carrier: wsCarrier("wss://api.example.com/resolve_action/ws") }, // secure WS, preferred
284
+ { carrier: wsCarrier(() => ({ url: "wss://api.example.com/resolve_action/ws" })) }, // secure WS, preferred
285
285
  { carrier: httpCarrier(() => ({ url: "https://api.example.com/resolve_action" })), secure: false }, // plain HTTP fallback
286
286
  ],
287
287
  // onPush: { ... } // handlers for the channel's toConnector pushes (see below)
@@ -366,7 +366,7 @@ export const appChannel = defineSecureChannel({
366
366
  connectChannel(clientRuntime, appChannel, {
367
367
  peer: serverCoord,
368
368
  storage,
369
- transports: [{ carrier: wsCarrier(wsUrl) }, { carrier: httpCarrier(httpUrl), secure: false }],
369
+ transports: [{ carrier: wsCarrier(() => ({ url: wsUrl })) }, { carrier: httpCarrier(() => ({ url: httpUrl })), secure: false }],
370
370
  onPush: {
371
371
  // Keyed by the toConnector action id; input + output typed from the channel.
372
372
  position_update: async ({ player, x, y }) => {
@@ -579,13 +579,13 @@ connectChannel(runtime, appChannel, {
579
579
  storage,
580
580
  transports: [
581
581
  {
582
- carrier: wsCarrier(`${url}/ws`, {
582
+ carrier: wsCarrier(() => ({ url: `${url}/ws` }), {
583
583
  // Only ever called once `available` passes, so no need for a placeholder cache key.
584
584
  getTransportCacheKey: () => [sessionId],
585
585
  }),
586
586
  available: () => sessionId != null, // ws preferred; HTTP serves while ws is gated off
587
587
  },
588
- { carrier: httpCarrier(httpUrl), secure: false },
588
+ { carrier: httpCarrier(() => ({ url: httpUrl })), secure: false },
589
589
  ],
590
590
  });
591
591
  ```
@@ -1,4 +1,4 @@
1
- import { _ as TActionProgress, zr as IRuntimeCoordinate } from "./ActionPayload.types-L9k0LyBd.cjs";
1
+ import { _ as TActionProgress, zr as IRuntimeCoordinate } from "./ActionPayload.types-B-OSg09t.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-CQ0vrvPD.d.cts.map
79
+ //# sourceMappingURL=ActionDevtoolsCore-BjbhFqc0.d.mts.map
@@ -1,4 +1,4 @@
1
- import { _ as TActionProgress, zr as IRuntimeCoordinate } from "./ActionPayload.types-Dx1JPyfs.mjs";
1
+ import { _ as TActionProgress, zr as IRuntimeCoordinate } from "./ActionPayload.types-DIOeVapm.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-CiLBYC3K.d.mts.map
79
+ //# sourceMappingURL=ActionDevtoolsCore-kk7oZBv9.d.cts.map
@@ -967,7 +967,7 @@ interface ITransportConnectionContext {
967
967
  resolvers?: IActionTransportResolvers;
968
968
  }
969
969
  /**
970
- * Reusable transport definition. Devs construct these (`secureTransport({ carrier: wsCarrier(url) })`,
970
+ * Reusable transport definition. Devs construct these (`secureTransport({ carrier: wsCarrier(() => ({ url })) })`,
971
971
  * `plainTransport({ carrier: httpCarrier(...) })`, …) and pass them to a
972
972
  * `ConnectorHandler`. A single
973
973
  * definition can be shared across multiple handlers — each handler builds its own live
@@ -1904,7 +1904,7 @@ type TChannelPushHandlers<TO_CONNECTOR extends readonly ActionDomain<any>[]> = T
1904
1904
  * identity) into each one, so a descriptor only carries what differs between transports: the carrier and
1905
1905
  * whether it runs the secure handshake.
1906
1906
  *
1907
- * A duplex carrier (`wsCarrier(url)`, `rtcCarrier(dc)`) builds a push-capable link; an exchange carrier
1907
+ * A duplex carrier (`wsCarrier(() => ({ url }))`, `rtcCarrier(dc)`) builds a push-capable link; an exchange carrier
1908
1908
  * (`httpCarrier(...)`) builds a request/reply transport. List them in preference order — the connection
1909
1909
  * prefers the first that's ready and falls through on failure (e.g. secure WS preferred, HTTP fallback).
1910
1910
  */
@@ -1964,7 +1964,7 @@ interface IConnectChannelOptions<TO_CONNECTOR extends readonly ActionDomain<any>
1964
1964
  * const handler = connectChannel(runtime, lobbyChannel, {
1965
1965
  * peer: runtime_coordinate_lobby_do,
1966
1966
  * storage,
1967
- * transports: [{ carrier: wsCarrier(url) }, { carrier: httpCarrier(...), secure: false }],
1967
+ * transports: [{ carrier: wsCarrier(() => ({ url })) }, { carrier: httpCarrier(...), secure: false }],
1968
1968
  * onPush: { player_joined: (p) => { … } },
1969
1969
  * });
1970
1970
  * ```
@@ -2794,20 +2794,25 @@ interface IWsAcceptorCarrierOptions<TConn> {
2794
2794
  declare function wsAcceptorCarrier<TConn = WebSocket>(options: IWsAcceptorCarrierOptions<TConn>): IDuplexAcceptorCarrier<TConn>;
2795
2795
  //#endregion
2796
2796
  //#region src/ActionRuntime/Transport/Carrier/duplex/ws/wsCarrier.d.ts
2797
+ /** The WebSocket an action's socket is opened against (derived per action from the route params). */
2798
+ interface IWsCarrierRequest {
2799
+ url: string;
2800
+ }
2797
2801
  interface IWsCarrierOptions {
2798
- /** Override socket creation (defaults to a `new WebSocket(url)` with `binaryType = "arraybuffer"`). */
2799
- createWebSocket?: (input: ITransportRouteActionParams) => WebSocket;
2800
2802
  /** Override the reuse key (defaults to `[url]`, so one socket is shared per endpoint). */
2801
2803
  getTransportCacheKey?: (input: ITransportRouteActionParams) => string[];
2802
2804
  /** Override the devtools route info for a specific action. */
2803
2805
  getRouteInfo?: (input: ITransportRouteActionParams) => ITransportRouteInfo;
2804
2806
  }
2805
2807
  /**
2806
- * A WebSocket {@link IDuplexCarrierSource}: opens an `arraybuffer` socket to `url` (cached per endpoint)
2807
- * and adapts it to a carrier. Hand it to {@link secureTransport} (or `LinkTransport`) — the WebSocket is
2808
- * now "just another carrier" under the shared secure session, with no WS-specific transport class.
2808
+ * A WebSocket {@link IDuplexCarrierSource}: opens an `arraybuffer` socket (cached per endpoint) and adapts
2809
+ * it to a carrier. Hand it to {@link secureTransport} (or `LinkTransport`) — the WebSocket is now "just
2810
+ * another carrier" under the shared secure session, with no WS-specific transport class.
2811
+ *
2812
+ * `createRequest` derives the socket URL per action (keep it simple with `() => ({ url })`), so dynamic
2813
+ * endpoints (e.g. a per-run query param) need no `createWebSocket` escape hatch.
2809
2814
  */
2810
- declare function wsCarrier(url: string, options?: IWsCarrierOptions): IDuplexCarrierSource;
2815
+ declare function wsCarrier(createRequest: (input: ITransportRouteActionParams) => IWsCarrierRequest, options?: IWsCarrierOptions): IDuplexCarrierSource;
2811
2816
  //#endregion
2812
2817
  //#region src/ActionRuntime/Transport/Carrier/exchange/http/httpAcceptorCarrier.d.ts
2813
2818
  interface IHttpAcceptorCarrierOptions {
@@ -3368,4 +3373,4 @@ type TActionPayload_Any_Instance<DOM extends IActionDomain = IActionDomain, ID e
3368
3373
  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>;
3369
3374
  //#endregion
3370
3375
  export { wsAcceptorCarrier as $, TTransportStatusInfo_GetTransport_Output as $n, TPossibleDomainId as $r, IDuplexCarrier as $t, encodeExchange as A, ITransportDispatchAction as An, ERunningActionUpdateType as Ar, TAcceptorCarrier as At, IActionFrameCrypto as B, IUpdateActionRunConfig_Output as Bn, IRuntimeCoordinateSpecifics as Br, IActionChannel as Bt, decodeActionFrame as C, IActionTransportDef as Cn, RunningAction as Cr, IConnectionContext as Ct, TExchangeRequest as D, IActionTransportReadyData_Methods as Dn, IActionCore_JsonObject as Dr, IAcceptorAttachmentStore as Dt, TExchangeReply as E, IActionTransportReadyData_Base as En, IActionCore as Er, serveChannel as Et, EErrId_NiceTransport as F, ITransportStatusInfo_Base as Fn, TRunningActionUpdate as Fr, ConnectionStateStore as Ft, IHttpCarrierRequest as G, TOnResolveIncomingRequestJson as Gn, IActionDomain as Gr, acceptChannel as Gt, createActionFrameCrypto as H, TOnResolveAnyIncomingActionData as Hn, RuntimeCoordinate as Hr, IConnectTransport as Ht, err_nice_transport as I, ITransportStatusInfo_Failed as In, TRunningActionUpdateFinished as Ir, IConnectionAttachment as It, IHttpAcceptorCarrierOptions as J, TSendActionDataMethod as Jn, TActionDomainChildDef as Jr, defineChannel as Jt, TCarrierFetch as K, TOnResolveIncomingResponse as Kn, IActionDomainChildOptions as Kr, acceptChannelConnections as Kt, ExchangeTransport as L, ITransportStatusInfo_Initializing as Ln, TRunningActionUpdateListener as Lr, IConnectionStateStoreOptions as Lt, LinkTransport as M, ITransportRouteActionParams as Mn, IRunningActionUpdate_Progress as Mr, IDuplexConnectionRouter as Mt, IActionTransportReadyData_Link as N, ITransportRouteClientParams as Nn, IRunningActionUpdate_Started as Nr, IHibernatableWsServerAdapterOptions as Nt, decodeExchangeReply as O, IActionTransportResolvers as On, ERunningActionFinishedType as Or, IDuplexAcceptorCarrier as Ot, TLinkFormatMessage as P, ITransportRouteInfo as Pn, IRunningActionUpdate_Success as Pr, createHibernatableWsServerAdapter as Pt, IWsAcceptorCarrierOptions as Q, TTransportStatusInfo as Qn, TInferOutputFromSchema as Qr, createBinaryWireSessionFactory as Qt, IExchangeTransportOptions as R, ITransportStatusInfo_Ready as Rn, ActionPayload_Result as Rr, createConnectionStateStore as Rt, IActionFrameDecoder as S, ETransportStatus as Sn, MaybePromise as Sr, IChannelServer as St, err_nice_action as T, IActionTransportReady as Tn, ActionPayload_Request as Tr, IServeConnectionStateOptions as Tt, createBinaryWireAdapter as U, TOnResolveAnyIncomingActionData_Json as Un, TRuntimeCoordinateEnvId as Ur, TChannelAcceptorCases as Ut, IActionFrameCryptoConfig as V, TGetTransportFn as Vn, IRuntimeFullCoordinates as Vr, IConnectChannelOptions as Vt, IHttpCarrierOptions as W, TOnResolveIncomingRequest as Wn, TRuntimeCoordinateStringId as Wr, TChannelPushHandlers as Wt, IWsCarrierOptions as X, TTransportCache as Xn, TDomainActionId as Xr, defineSecureChannel as Xt, httpAcceptorCarrier as Y, TSendReturnDataMethod as Yn, TActionDomainSchema as Yr, ISecureChannel as Yt, wsCarrier as Z, TTransportInitializationFinishedInfo as Zn, TInferInputFromSchema as Zr, IBinaryWireSessionOptions as Zt, TActionProgress as _, ActionRootDomain as _n, encodeHandshakeMessage as _r, IExchangeAcceptorConfig as _t, IActionPayload_Data_Base as a, TActionSchemaOptions as ai, AcceptorHandler as an, IClientHandshakeConfig as ar, rtcDataChannelByteChannel as at, isActionPayload_Request_JsonObject as b, createConnectorHandler as bn, ActionLocalHandler as br, TServeHostOptions as bt, IActionPayload_Request_JsonObject as c, TAcceptorCaseFn as cn, IHandshakeEncryptionKeyMaterial as cr, IInMemoryChannelPair as ct, IActionProgress_Custom as d, TActionConnectionEncoding as dn, THandshakeMessage as dr, err_nice_external_client as dt, TPossibleDomainIdList as ei, IDuplexCarrierSource as en, TUpdateActionRunConfig as er, EErrId_NiceTransport_WebSocket as et, IActionProgress_None as f, createAcceptorHandler as fn, createClientHandshake as fr, ISecureAcceptorHandlerOptions as ft, TActionPayload_Any_JsonObject as g, ActionDomain as gn, decodeHandshakeMessage as gr, ExchangeAcceptor as gt, TActionPayload_Any_Instance as h, ActionCore as hn, createStorageTofuVerifyKeyResolver as hr, createActionFetchHandler as ht, IActionPayload_Base_JsonObject as i, actionSchema as ii, TFrame$1 as in, ESecurityLevel as ir, IRtcDataChannelLike as it, ILinkTransportOptions as j, ITransportMethod_SendActionData_Input as jn, IRunningActionUpdate_Abort as jr, isExchangeAcceptorCarrier as jt, decodeExchangeRequest as k, ISecureClientConfig as kn, ERunningActionState as kr, IExchangeAcceptorCarrier as kt, IActionPayload_Result as l, TAcceptorConnectionCaseFn as ln, IHandshakeResult as lr, IInMemoryServerEndpoint as lt, IActionRouteItemHandler as m, createActionRootDomain as mn, createServerHandshake as mr, IActionFetchHandlerOptions as mt, EActionProgressType as n, EActionResponseMode as ni, IExchangeCarrierSource as nn, Transport as nr, IRtcCarrierOptions as nt, IActionPayload_Progress as o, TActionSerializationDefinition as oi, IAcceptorConnectionBinding as on, IClientVerifyKeyResolveInput as or, IInMemoryCarrier as ot, IActionProgress_Percentage as p, IActionWireFormat as pn, createInMemoryTofuVerifyKeyResolver as pr, createSecureAcceptorHandler as pt, httpCarrier as q, TOnResolveIncomingResponseJson as qn, IActionRootDomain as qr, connectChannel as qt, IActionPayload_Base as r, TInferActionError as ri, TCarrier as rn, EHandshakeMessageType as rr, rtcCarrier as rt, IActionPayload_Progress_JsonObject as s, TTransportedValue as si, IAcceptorHandlerOptions as sn, IClientVerifyKeyResolver as sr, inMemoryCarrier as st, EActionPayloadType as t, ActionSchema as ti, IExchangeCarrier as tn, ITransportConnectionContext as tr, err_nice_transport_ws as tt, IActionPayload_Result_JsonObject as u, TActionChannelFormatMessage as un, IServerHandshakeConfig as ur, createInMemoryChannelPair as ut, TActionResultOutcome as v, ActionRuntime as vn, runtimeLinkId as vr, IExchangeAcceptorSecurity as vt, EErrId_NiceAction as w, IActionTransportInitialized as wn, ActionPayload_Progress as wr, IServeChannelOptions as wt, isActionPayload_Any_JsonObject as x, ETransportShape as xn, createLocalHandler as xr, serveHost as xt, isActionPayload_Result_JsonObject as y, ConnectorHandler as yn, PeerLinkHandler as yr, IChannelHostAdapter as yt, IActionTransportReadyData_Exchange as z, ITransportStatusInfo_Unsupported as zn, IRuntimeCoordinate as zr, IAcceptChannelOptions as zt };
3371
- //# sourceMappingURL=ActionPayload.types-Dx1JPyfs.d.mts.map
3376
+ //# sourceMappingURL=ActionPayload.types-B-OSg09t.d.mts.map
@@ -967,7 +967,7 @@ interface ITransportConnectionContext {
967
967
  resolvers?: IActionTransportResolvers;
968
968
  }
969
969
  /**
970
- * Reusable transport definition. Devs construct these (`secureTransport({ carrier: wsCarrier(url) })`,
970
+ * Reusable transport definition. Devs construct these (`secureTransport({ carrier: wsCarrier(() => ({ url })) })`,
971
971
  * `plainTransport({ carrier: httpCarrier(...) })`, …) and pass them to a
972
972
  * `ConnectorHandler`. A single
973
973
  * definition can be shared across multiple handlers — each handler builds its own live
@@ -1904,7 +1904,7 @@ type TChannelPushHandlers<TO_CONNECTOR extends readonly ActionDomain<any>[]> = T
1904
1904
  * identity) into each one, so a descriptor only carries what differs between transports: the carrier and
1905
1905
  * whether it runs the secure handshake.
1906
1906
  *
1907
- * A duplex carrier (`wsCarrier(url)`, `rtcCarrier(dc)`) builds a push-capable link; an exchange carrier
1907
+ * A duplex carrier (`wsCarrier(() => ({ url }))`, `rtcCarrier(dc)`) builds a push-capable link; an exchange carrier
1908
1908
  * (`httpCarrier(...)`) builds a request/reply transport. List them in preference order — the connection
1909
1909
  * prefers the first that's ready and falls through on failure (e.g. secure WS preferred, HTTP fallback).
1910
1910
  */
@@ -1964,7 +1964,7 @@ interface IConnectChannelOptions<TO_CONNECTOR extends readonly ActionDomain<any>
1964
1964
  * const handler = connectChannel(runtime, lobbyChannel, {
1965
1965
  * peer: runtime_coordinate_lobby_do,
1966
1966
  * storage,
1967
- * transports: [{ carrier: wsCarrier(url) }, { carrier: httpCarrier(...), secure: false }],
1967
+ * transports: [{ carrier: wsCarrier(() => ({ url })) }, { carrier: httpCarrier(...), secure: false }],
1968
1968
  * onPush: { player_joined: (p) => { … } },
1969
1969
  * });
1970
1970
  * ```
@@ -2794,20 +2794,25 @@ interface IWsAcceptorCarrierOptions<TConn> {
2794
2794
  declare function wsAcceptorCarrier<TConn = WebSocket>(options: IWsAcceptorCarrierOptions<TConn>): IDuplexAcceptorCarrier<TConn>;
2795
2795
  //#endregion
2796
2796
  //#region src/ActionRuntime/Transport/Carrier/duplex/ws/wsCarrier.d.ts
2797
+ /** The WebSocket an action's socket is opened against (derived per action from the route params). */
2798
+ interface IWsCarrierRequest {
2799
+ url: string;
2800
+ }
2797
2801
  interface IWsCarrierOptions {
2798
- /** Override socket creation (defaults to a `new WebSocket(url)` with `binaryType = "arraybuffer"`). */
2799
- createWebSocket?: (input: ITransportRouteActionParams) => WebSocket;
2800
2802
  /** Override the reuse key (defaults to `[url]`, so one socket is shared per endpoint). */
2801
2803
  getTransportCacheKey?: (input: ITransportRouteActionParams) => string[];
2802
2804
  /** Override the devtools route info for a specific action. */
2803
2805
  getRouteInfo?: (input: ITransportRouteActionParams) => ITransportRouteInfo;
2804
2806
  }
2805
2807
  /**
2806
- * A WebSocket {@link IDuplexCarrierSource}: opens an `arraybuffer` socket to `url` (cached per endpoint)
2807
- * and adapts it to a carrier. Hand it to {@link secureTransport} (or `LinkTransport`) — the WebSocket is
2808
- * now "just another carrier" under the shared secure session, with no WS-specific transport class.
2808
+ * A WebSocket {@link IDuplexCarrierSource}: opens an `arraybuffer` socket (cached per endpoint) and adapts
2809
+ * it to a carrier. Hand it to {@link secureTransport} (or `LinkTransport`) — the WebSocket is now "just
2810
+ * another carrier" under the shared secure session, with no WS-specific transport class.
2811
+ *
2812
+ * `createRequest` derives the socket URL per action (keep it simple with `() => ({ url })`), so dynamic
2813
+ * endpoints (e.g. a per-run query param) need no `createWebSocket` escape hatch.
2809
2814
  */
2810
- declare function wsCarrier(url: string, options?: IWsCarrierOptions): IDuplexCarrierSource;
2815
+ declare function wsCarrier(createRequest: (input: ITransportRouteActionParams) => IWsCarrierRequest, options?: IWsCarrierOptions): IDuplexCarrierSource;
2811
2816
  //#endregion
2812
2817
  //#region src/ActionRuntime/Transport/Carrier/exchange/http/httpAcceptorCarrier.d.ts
2813
2818
  interface IHttpAcceptorCarrierOptions {
@@ -3368,4 +3373,4 @@ type TActionPayload_Any_Instance<DOM extends IActionDomain = IActionDomain, ID e
3368
3373
  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>;
3369
3374
  //#endregion
3370
3375
  export { wsAcceptorCarrier as $, TTransportStatusInfo_GetTransport_Output as $n, TPossibleDomainId as $r, IDuplexCarrier as $t, encodeExchange as A, ITransportDispatchAction as An, ERunningActionUpdateType as Ar, TAcceptorCarrier as At, IActionFrameCrypto as B, IUpdateActionRunConfig_Output as Bn, IRuntimeCoordinateSpecifics as Br, IActionChannel as Bt, decodeActionFrame as C, IActionTransportDef as Cn, RunningAction as Cr, IConnectionContext as Ct, TExchangeRequest as D, IActionTransportReadyData_Methods as Dn, IActionCore_JsonObject as Dr, IAcceptorAttachmentStore as Dt, TExchangeReply as E, IActionTransportReadyData_Base as En, IActionCore as Er, serveChannel as Et, EErrId_NiceTransport as F, ITransportStatusInfo_Base as Fn, TRunningActionUpdate as Fr, ConnectionStateStore as Ft, IHttpCarrierRequest as G, TOnResolveIncomingRequestJson as Gn, IActionDomain as Gr, acceptChannel as Gt, createActionFrameCrypto as H, TOnResolveAnyIncomingActionData as Hn, RuntimeCoordinate as Hr, IConnectTransport as Ht, err_nice_transport as I, ITransportStatusInfo_Failed as In, TRunningActionUpdateFinished as Ir, IConnectionAttachment as It, IHttpAcceptorCarrierOptions as J, TSendActionDataMethod as Jn, TActionDomainChildDef as Jr, defineChannel as Jt, TCarrierFetch as K, TOnResolveIncomingResponse as Kn, IActionDomainChildOptions as Kr, acceptChannelConnections as Kt, ExchangeTransport as L, ITransportStatusInfo_Initializing as Ln, TRunningActionUpdateListener as Lr, IConnectionStateStoreOptions as Lt, LinkTransport as M, ITransportRouteActionParams as Mn, IRunningActionUpdate_Progress as Mr, IDuplexConnectionRouter as Mt, IActionTransportReadyData_Link as N, ITransportRouteClientParams as Nn, IRunningActionUpdate_Started as Nr, IHibernatableWsServerAdapterOptions as Nt, decodeExchangeReply as O, IActionTransportResolvers as On, ERunningActionFinishedType as Or, IDuplexAcceptorCarrier as Ot, TLinkFormatMessage as P, ITransportRouteInfo as Pn, IRunningActionUpdate_Success as Pr, createHibernatableWsServerAdapter as Pt, IWsAcceptorCarrierOptions as Q, TTransportStatusInfo as Qn, TInferOutputFromSchema as Qr, createBinaryWireSessionFactory as Qt, IExchangeTransportOptions as R, ITransportStatusInfo_Ready as Rn, ActionPayload_Result as Rr, createConnectionStateStore as Rt, IActionFrameDecoder as S, ETransportStatus as Sn, MaybePromise as Sr, IChannelServer as St, err_nice_action as T, IActionTransportReady as Tn, ActionPayload_Request as Tr, IServeConnectionStateOptions as Tt, createBinaryWireAdapter as U, TOnResolveAnyIncomingActionData_Json as Un, TRuntimeCoordinateEnvId as Ur, TChannelAcceptorCases as Ut, IActionFrameCryptoConfig as V, TGetTransportFn as Vn, IRuntimeFullCoordinates as Vr, IConnectChannelOptions as Vt, IHttpCarrierOptions as W, TOnResolveIncomingRequest as Wn, TRuntimeCoordinateStringId as Wr, TChannelPushHandlers as Wt, IWsCarrierOptions as X, TTransportCache as Xn, TDomainActionId as Xr, defineSecureChannel as Xt, httpAcceptorCarrier as Y, TSendReturnDataMethod as Yn, TActionDomainSchema as Yr, ISecureChannel as Yt, wsCarrier as Z, TTransportInitializationFinishedInfo as Zn, TInferInputFromSchema as Zr, IBinaryWireSessionOptions as Zt, TActionProgress as _, ActionRootDomain as _n, encodeHandshakeMessage as _r, IExchangeAcceptorConfig as _t, IActionPayload_Data_Base as a, TActionSchemaOptions as ai, AcceptorHandler as an, IClientHandshakeConfig as ar, rtcDataChannelByteChannel as at, isActionPayload_Request_JsonObject as b, createConnectorHandler as bn, ActionLocalHandler as br, TServeHostOptions as bt, IActionPayload_Request_JsonObject as c, TAcceptorCaseFn as cn, IHandshakeEncryptionKeyMaterial as cr, IInMemoryChannelPair as ct, IActionProgress_Custom as d, TActionConnectionEncoding as dn, THandshakeMessage as dr, err_nice_external_client as dt, TPossibleDomainIdList as ei, IDuplexCarrierSource as en, TUpdateActionRunConfig as er, EErrId_NiceTransport_WebSocket as et, IActionProgress_None as f, createAcceptorHandler as fn, createClientHandshake as fr, ISecureAcceptorHandlerOptions as ft, TActionPayload_Any_JsonObject as g, ActionDomain as gn, decodeHandshakeMessage as gr, ExchangeAcceptor as gt, TActionPayload_Any_Instance as h, ActionCore as hn, createStorageTofuVerifyKeyResolver as hr, createActionFetchHandler as ht, IActionPayload_Base_JsonObject as i, actionSchema as ii, TFrame$1 as in, ESecurityLevel as ir, IRtcDataChannelLike as it, ILinkTransportOptions as j, ITransportMethod_SendActionData_Input as jn, IRunningActionUpdate_Abort as jr, isExchangeAcceptorCarrier as jt, decodeExchangeRequest as k, ISecureClientConfig as kn, ERunningActionState as kr, IExchangeAcceptorCarrier as kt, IActionPayload_Result as l, TAcceptorConnectionCaseFn as ln, IHandshakeResult as lr, IInMemoryServerEndpoint as lt, IActionRouteItemHandler as m, createActionRootDomain as mn, createServerHandshake as mr, IActionFetchHandlerOptions as mt, EActionProgressType as n, EActionResponseMode as ni, IExchangeCarrierSource as nn, Transport as nr, IRtcCarrierOptions as nt, IActionPayload_Progress as o, TActionSerializationDefinition as oi, IAcceptorConnectionBinding as on, IClientVerifyKeyResolveInput as or, IInMemoryCarrier as ot, IActionProgress_Percentage as p, IActionWireFormat as pn, createInMemoryTofuVerifyKeyResolver as pr, createSecureAcceptorHandler as pt, httpCarrier as q, TOnResolveIncomingResponseJson as qn, IActionRootDomain as qr, connectChannel as qt, IActionPayload_Base as r, TInferActionError as ri, TCarrier as rn, EHandshakeMessageType as rr, rtcCarrier as rt, IActionPayload_Progress_JsonObject as s, TTransportedValue as si, IAcceptorHandlerOptions as sn, IClientVerifyKeyResolver as sr, inMemoryCarrier as st, EActionPayloadType as t, ActionSchema as ti, IExchangeCarrier as tn, ITransportConnectionContext as tr, err_nice_transport_ws as tt, IActionPayload_Result_JsonObject as u, TActionChannelFormatMessage as un, IServerHandshakeConfig as ur, createInMemoryChannelPair as ut, TActionResultOutcome as v, ActionRuntime as vn, runtimeLinkId as vr, IExchangeAcceptorSecurity as vt, EErrId_NiceAction as w, IActionTransportInitialized as wn, ActionPayload_Progress as wr, IServeChannelOptions as wt, isActionPayload_Any_JsonObject as x, ETransportShape as xn, createLocalHandler as xr, serveHost as xt, isActionPayload_Result_JsonObject as y, ConnectorHandler as yn, PeerLinkHandler as yr, IChannelHostAdapter as yt, IActionTransportReadyData_Exchange as z, ITransportStatusInfo_Unsupported as zn, IRuntimeCoordinate as zr, IAcceptChannelOptions as zt };
3371
- //# sourceMappingURL=ActionPayload.types-L9k0LyBd.d.cts.map
3376
+ //# sourceMappingURL=ActionPayload.types-DIOeVapm.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-CQ0vrvPD.cjs";
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-kk7oZBv9.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-CiLBYC3K.mjs";
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-BjbhFqc0.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-CQ0vrvPD.cjs";
1
+ import { a as TDevtoolsActionStatus, i as IDevtoolsObservableDomain, n as IActionDevtoolsCoreOptions, o as TDevtoolsListener, r as IDevtoolsActionEntry, t as ActionDevtoolsCore } from "../../ActionDevtoolsCore-kk7oZBv9.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-CiLBYC3K.mjs";
1
+ import { a as TDevtoolsActionStatus, i as IDevtoolsObservableDomain, n as IActionDevtoolsCoreOptions, o as TDevtoolsListener, r as IDevtoolsActionEntry, t as ActionDevtoolsCore } from "../../ActionDevtoolsCore-BjbhFqc0.mjs";
2
2
 
3
3
  //#region src/devtools/server/NiceActionServerDevtools.d.ts
4
4
  type TServerDevtoolsLogFn = (message: string, data?: Record<string, unknown>) => void;
@@ -2542,7 +2542,7 @@ function isExchangeCarrierSource(carrier) {
2542
2542
  //#endregion
2543
2543
  //#region src/ActionRuntime/Transport/Transport.ts
2544
2544
  /**
2545
- * Reusable transport definition. Devs construct these (`secureTransport({ carrier: wsCarrier(url) })`,
2545
+ * Reusable transport definition. Devs construct these (`secureTransport({ carrier: wsCarrier(() => ({ url })) })`,
2546
2546
  * `plainTransport({ carrier: httpCarrier(...) })`, …) and pass them to a
2547
2547
  * `ConnectorHandler`. A single
2548
2548
  * definition can be shared across multiple handlers — each handler builds its own live
@@ -3236,7 +3236,7 @@ function defineChannel(options) {
3236
3236
  * const handler = connectChannel(runtime, lobbyChannel, {
3237
3237
  * peer: runtime_coordinate_lobby_do,
3238
3238
  * storage,
3239
- * transports: [{ carrier: wsCarrier(url) }, { carrier: httpCarrier(...), secure: false }],
3239
+ * transports: [{ carrier: wsCarrier(() => ({ url })) }, { carrier: httpCarrier(...), secure: false }],
3240
3240
  * onPush: { player_joined: (p) => { … } },
3241
3241
  * });
3242
3242
  * ```
@@ -3903,4 +3903,4 @@ function httpAcceptorCarrier(options = {}) {
3903
3903
  //#endregion
3904
3904
  export { EErrId_NiceAction as $, createServerHandshake as A, PeerLinkHandler as B, createAcceptorHandler as C, ESecurityLevel as D, EHandshakeMessageType as E, ActionLocalHandler as F, err_nice_external_client as G, ETransportStatus as H, createLocalHandler as I, ActionSchema as J, isActionPayload_Any_JsonObject as K, ActionRuntime as L, decodeHandshakeMessage as M, encodeHandshakeMessage as N, createClientHandshake as O, runtimeLinkId as P, isAction_Base_JsonObject as Q, ConnectorHandler as R, AcceptorHandler as S, decodeActionFrame as T, EErrId_NiceTransport as U, ETransportShape as V, err_nice_transport as W, actionSchema as X, EActionResponseMode as Y, isActionPayload_Result_JsonObject as Z, decodeExchangeReply as _, isExchangeAcceptorCarrier as a, EActionProgressType as at, Transport as b, createConnectionStateStore as c, RuntimeCoordinate as ct, acceptChannel as d, err_nice_action as et, acceptChannelConnections as f, ExchangeTransport as g, LinkTransport as h, serveChannel as i, EActionPayloadType as it, createStorageTofuVerifyKeyResolver as j, createInMemoryTofuVerifyKeyResolver as k, createActionFetchHandler as l, runtimeCoordinateToStringIds as lt, defineChannel as m, wsAcceptorCarrier as n, ActionPayload_Request as nt, createHibernatableWsServerAdapter as o, ActionPayload as ot, connectChannel as p, isActionPayload_Request_JsonObject as q, serveHost as r, ActionPayload_Result as rt, ConnectionStateStore as s, ActionBase as st, httpAcceptorCarrier as t, RunningAction as tt, ExchangeAcceptor as u, UNSET_RUNTIME_ENV_ID as ut, decodeExchangeRequest as v, createActionFrameCrypto as w, createSecureAcceptorHandler as x, encodeExchange as y, createConnectorHandler as z };
3905
3905
 
3906
- //# sourceMappingURL=httpAcceptorCarrier-DL8lf0xB.mjs.map
3906
+ //# sourceMappingURL=httpAcceptorCarrier-DJVxzDVd.mjs.map