@naylence/runtime 0.3.5-test.942 → 0.3.5-test.944
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/dist/browser/index.cjs +380 -8
- package/dist/browser/index.mjs +380 -8
- package/dist/cjs/naylence/fame/connector/broadcast-channel-connector-factory.js +12 -0
- package/dist/cjs/naylence/fame/connector/broadcast-channel-connector.browser.js +69 -1
- package/dist/cjs/naylence/fame/connector/broadcast-channel-listener.js +35 -0
- package/dist/cjs/naylence/fame/connector/inpage-connector-factory.js +12 -0
- package/dist/cjs/naylence/fame/connector/inpage-connector.js +66 -1
- package/dist/cjs/naylence/fame/connector/inpage-listener.js +49 -2
- package/dist/cjs/naylence/fame/connector/transport-frame.js +101 -0
- package/dist/cjs/naylence/fame/grants/broadcast-channel-connection-grant.js +28 -0
- package/dist/cjs/naylence/fame/grants/inpage-connection-grant.js +28 -0
- package/dist/cjs/version.js +2 -2
- package/dist/esm/naylence/fame/connector/broadcast-channel-connector-factory.js +12 -0
- package/dist/esm/naylence/fame/connector/broadcast-channel-connector.browser.js +69 -1
- package/dist/esm/naylence/fame/connector/broadcast-channel-listener.js +35 -0
- package/dist/esm/naylence/fame/connector/inpage-connector-factory.js +12 -0
- package/dist/esm/naylence/fame/connector/inpage-connector.js +66 -1
- package/dist/esm/naylence/fame/connector/inpage-listener.js +49 -2
- package/dist/esm/naylence/fame/connector/transport-frame.js +94 -0
- package/dist/esm/naylence/fame/grants/broadcast-channel-connection-grant.js +28 -0
- package/dist/esm/naylence/fame/grants/inpage-connection-grant.js +28 -0
- package/dist/esm/version.js +2 -2
- package/dist/node/index.cjs +380 -8
- package/dist/node/index.mjs +380 -8
- package/dist/node/node.cjs +396 -8
- package/dist/node/node.mjs +396 -8
- package/dist/types/naylence/fame/connector/broadcast-channel-connector-factory.d.ts +2 -0
- package/dist/types/naylence/fame/connector/broadcast-channel-connector.browser.d.ts +4 -0
- package/dist/types/naylence/fame/connector/inpage-connector-factory.d.ts +2 -0
- package/dist/types/naylence/fame/connector/inpage-connector.d.ts +4 -0
- package/dist/types/naylence/fame/connector/inpage-listener.d.ts +1 -0
- package/dist/types/naylence/fame/connector/transport-frame.d.ts +58 -0
- package/dist/types/naylence/fame/grants/broadcast-channel-connection-grant.d.ts +6 -0
- package/dist/types/naylence/fame/grants/inpage-connection-grant.d.ts +8 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport frame layer for multiplexing logical links on physical channels.
|
|
3
|
+
*
|
|
4
|
+
* This lightweight framing layer wraps raw FAME payloads to enable multiple
|
|
5
|
+
* logical connections over a single physical channel (BroadcastChannel or InPage bus).
|
|
6
|
+
*
|
|
7
|
+
* The transport frame does NOT modify FAME envelopes - it only wraps the raw
|
|
8
|
+
* Uint8Array payload at the connector level.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Transport frame version for future compatibility
|
|
12
|
+
*/
|
|
13
|
+
export declare const TRANSPORT_FRAME_VERSION = 1;
|
|
14
|
+
/**
|
|
15
|
+
* Transport frame structure that wraps raw payloads
|
|
16
|
+
*/
|
|
17
|
+
export interface TransportFrame {
|
|
18
|
+
/** Version of the transport frame format */
|
|
19
|
+
v: number;
|
|
20
|
+
/** Source node ID (connector-local) */
|
|
21
|
+
src: string;
|
|
22
|
+
/** Destination node ID (connector-local) */
|
|
23
|
+
dst: string;
|
|
24
|
+
/** Raw payload (FAME envelope as Uint8Array) */
|
|
25
|
+
payload: Uint8Array;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Wrap a raw payload in a transport frame
|
|
29
|
+
*
|
|
30
|
+
* @param payload - Raw FAME envelope bytes
|
|
31
|
+
* @param srcNodeId - Local node ID (this connector)
|
|
32
|
+
* @param dstNodeId - Remote node ID (target connector)
|
|
33
|
+
* @returns Transport frame ready for transmission
|
|
34
|
+
*/
|
|
35
|
+
export declare function wrapTransportFrame(payload: Uint8Array, srcNodeId: string, dstNodeId: string): TransportFrame;
|
|
36
|
+
/**
|
|
37
|
+
* Serialize a transport frame for transmission over the bus
|
|
38
|
+
*
|
|
39
|
+
* @param frame - Transport frame to serialize
|
|
40
|
+
* @returns Serialized frame data ready for postMessage/dispatchEvent
|
|
41
|
+
*/
|
|
42
|
+
export declare function serializeTransportFrame(frame: TransportFrame): unknown;
|
|
43
|
+
/**
|
|
44
|
+
* Unwrap a transport frame, validating source and destination
|
|
45
|
+
*
|
|
46
|
+
* @param raw - Raw data from the bus
|
|
47
|
+
* @param localNodeId - This connector's node ID
|
|
48
|
+
* @param remoteNodeId - Expected remote node ID
|
|
49
|
+
* @returns Unwrapped payload if frame is valid and addressed to us, null otherwise
|
|
50
|
+
*/
|
|
51
|
+
export declare function unwrapTransportFrame(raw: unknown, localNodeId: string, remoteNodeId: string): Uint8Array | null;
|
|
52
|
+
/**
|
|
53
|
+
* Check if raw data looks like a transport frame
|
|
54
|
+
*
|
|
55
|
+
* @param raw - Raw data from the bus
|
|
56
|
+
* @returns True if this appears to be a transport frame
|
|
57
|
+
*/
|
|
58
|
+
export declare function isTransportFrame(raw: unknown): boolean;
|
|
@@ -6,6 +6,8 @@ export interface BroadcastChannelConnectionGrant extends ConnectionGrant {
|
|
|
6
6
|
type: typeof BROADCAST_CHANNEL_CONNECTION_GRANT_TYPE;
|
|
7
7
|
channelName?: string;
|
|
8
8
|
inboxCapacity?: number;
|
|
9
|
+
localNodeId?: string;
|
|
10
|
+
remoteNodeId?: string;
|
|
9
11
|
}
|
|
10
12
|
export type BroadcastChannelConnectionGrantLike = ConnectionGrantLike & {
|
|
11
13
|
type?: string;
|
|
@@ -13,6 +15,10 @@ export type BroadcastChannelConnectionGrantLike = ConnectionGrantLike & {
|
|
|
13
15
|
channel_name?: unknown;
|
|
14
16
|
inboxCapacity?: unknown;
|
|
15
17
|
inbox_capacity?: unknown;
|
|
18
|
+
localNodeId?: unknown;
|
|
19
|
+
local_node_id?: unknown;
|
|
20
|
+
remoteNodeId?: unknown;
|
|
21
|
+
remote_node_id?: unknown;
|
|
16
22
|
};
|
|
17
23
|
export type BroadcastChannelConnectorConfigLike = ConnectorConfig & BroadcastChannelConnectorConfig;
|
|
18
24
|
export declare function isBroadcastChannelConnectionGrant(candidate: unknown): candidate is BroadcastChannelConnectionGrant;
|
|
@@ -6,6 +6,8 @@ export interface InPageConnectionGrant extends ConnectionGrant {
|
|
|
6
6
|
type: typeof INPAGE_CONNECTION_GRANT_TYPE;
|
|
7
7
|
channelName?: string;
|
|
8
8
|
inboxCapacity?: number;
|
|
9
|
+
localNodeId?: string;
|
|
10
|
+
remoteNodeId?: string;
|
|
9
11
|
}
|
|
10
12
|
export type InPageConnectionGrantLike = ConnectionGrantLike & {
|
|
11
13
|
type?: string;
|
|
@@ -13,11 +15,17 @@ export type InPageConnectionGrantLike = ConnectionGrantLike & {
|
|
|
13
15
|
channel_name?: unknown;
|
|
14
16
|
inboxCapacity?: unknown;
|
|
15
17
|
inbox_capacity?: unknown;
|
|
18
|
+
localNodeId?: unknown;
|
|
19
|
+
local_node_id?: unknown;
|
|
20
|
+
remoteNodeId?: unknown;
|
|
21
|
+
remote_node_id?: unknown;
|
|
16
22
|
};
|
|
17
23
|
export type InPageConnectorConfigLike = ConnectorConfig & {
|
|
18
24
|
type: typeof INPAGE_CONNECTOR_TYPE;
|
|
19
25
|
channelName?: string;
|
|
20
26
|
inboxCapacity?: number;
|
|
27
|
+
localNodeId?: string;
|
|
28
|
+
remoteNodeId?: string;
|
|
21
29
|
};
|
|
22
30
|
export declare function isInPageConnectionGrant(candidate: unknown): candidate is InPageConnectionGrant;
|
|
23
31
|
export declare function normalizeInPageConnectionGrant(candidate: InPageConnectionGrantLike): InPageConnectionGrant;
|
package/dist/types/version.d.ts
CHANGED