@openlv/session 0.0.1-beta.6 → 0.0.1-beta.7

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/base.d.ts CHANGED
@@ -1,12 +1,20 @@
1
1
  import { type SessionHandshakeParameters, type SessionLinkParameters } from "@openlv/core";
2
- import type { CreateSignalLayerFn, SignalingMode } from "@openlv/signaling";
2
+ import { type CreateSignalLayerFn, type SignalingLayer, type SignalState } from "@openlv/signaling";
3
+ import { type TransportLayer } from "@openlv/transport";
3
4
  import { EventEmitter } from "eventemitter3";
4
5
  import type { SessionEvents } from "./events.js";
5
- export type SessionStatus = "created" | "ready" | "signaling" | "connected" | "disconnected";
6
+ export declare const SESSION_STATE: {
7
+ readonly CREATED: "created";
8
+ readonly SIGNALING: "signaling";
9
+ readonly READY: "ready";
10
+ readonly CONNECTED: "connected";
11
+ readonly DISCONNECTED: "disconnected";
12
+ };
13
+ export type SessionState = (typeof SESSION_STATE)[keyof typeof SESSION_STATE];
6
14
  export type SessionStateObject = {
7
- status: SessionStatus;
15
+ status: SessionState;
8
16
  signaling?: {
9
- state: SignalingMode;
17
+ state: SignalState;
10
18
  };
11
19
  };
12
20
  /**
@@ -22,6 +30,10 @@ export type Session = {
22
30
  close(): Promise<void>;
23
31
  send(message: object, timeout?: number): Promise<unknown>;
24
32
  emitter: EventEmitter<SessionEvents>;
33
+ _internal: {
34
+ signal: SignalingLayer;
35
+ transport: TransportLayer;
36
+ };
25
37
  };
26
38
  /**
27
39
  * OpenLV Session
package/dist/base.js CHANGED
@@ -1,9 +1,18 @@
1
1
  import { decodeConnectionURL, OPENLV_PROTOCOL_VERSION, } from "@openlv/core";
2
2
  import { deriveSymmetricKey, generateHandshakeKey, generateSessionId, initEncryptionKeys, initHash, parseEncryptionKey, } from "@openlv/core/encryption";
3
- import { mqtt } from "@openlv/signaling/mqtt";
4
- import { ntfy } from "@openlv/signaling/ntfy";
3
+ import { SIGNAL_STATE, } from "@openlv/signaling";
4
+ import { dynamicSignalingLayer } from "@openlv/signaling/dynamic";
5
+ import { TRANSPORT_STATE, } from "@openlv/transport";
6
+ import { webrtc } from "@openlv/transport/webrtc";
5
7
  import { EventEmitter } from "eventemitter3";
6
8
  import { log } from "./utils/log.js";
9
+ export const SESSION_STATE = {
10
+ CREATED: "created",
11
+ SIGNALING: "signaling",
12
+ READY: "ready",
13
+ CONNECTED: "connected",
14
+ DISCONNECTED: "disconnected",
15
+ };
7
16
  /**
8
17
  * OpenLV Session
9
18
  *
@@ -15,15 +24,19 @@ export const createSession = async (initParameters, signalLayer, onMessage) => {
15
24
  const sessionId = "sessionId" in initParameters
16
25
  ? initParameters.sessionId
17
26
  : generateSessionId();
18
- const { encryptionKey, decryptionKey } = await initEncryptionKeys(initParameters);
27
+ const { encryptionKey, decryptionKey: { decrypt }, } = await initEncryptionKeys(initParameters);
19
28
  let relyingPublicKey;
20
29
  const handshakeKey = "k" in initParameters
21
30
  ? await deriveSymmetricKey(initParameters.k)
22
31
  : await generateHandshakeKey();
23
32
  const { hash, isHost } = await initHash("h" in initParameters ? initParameters.h : undefined, encryptionKey);
24
- let status = "created";
33
+ let status = SESSION_STATE.CREATED;
25
34
  const protocol = initParameters.p;
26
35
  const server = initParameters.s;
36
+ const updateStatus = (newStatus) => {
37
+ status = newStatus;
38
+ emitter.emit("state_change", { status, signaling: signal.getState() });
39
+ };
27
40
  const signaling = await signalLayer({
28
41
  topic: sessionId,
29
42
  url: server,
@@ -40,14 +53,7 @@ export const createSession = async (initParameters, signalLayer, onMessage) => {
40
53
  log(`encrypting to ${relyingPublicKey.toString()}`, message);
41
54
  return await relyingPublicKey.encrypt(message);
42
55
  },
43
- async decrypt(message) {
44
- if (!decryptionKey) {
45
- throw new Error("Decryption key not found");
46
- }
47
- const response = await decryptionKey.decrypt(message);
48
- log("decrypted message", response);
49
- return response;
50
- },
56
+ decrypt,
51
57
  publicKey: encryptionKey,
52
58
  k: handshakeKey,
53
59
  async rpDiscovered(rpKey) {
@@ -57,54 +63,97 @@ export const createSession = async (initParameters, signalLayer, onMessage) => {
57
63
  },
58
64
  isHost,
59
65
  });
60
- const updateStatus = (newStatus) => {
61
- status = newStatus;
62
- emitter.emit("state_change", { status, signaling: signal.getState() });
63
- };
64
- signal?.emitter.on("state_change", () => {
65
- updateStatus(status);
66
+ const transport = webrtc({ isHost })({
67
+ encrypt(message) {
68
+ if (!relyingPublicKey) {
69
+ throw new Error("Relying party public key not found");
70
+ }
71
+ return relyingPublicKey?.encrypt(message);
72
+ },
73
+ decrypt,
74
+ isHost,
75
+ onmessage: async (message) => {
76
+ console.log("Session: received message from transport", message);
77
+ // @ts-ignore
78
+ if (message["type"] === "request") {
79
+ // @ts-ignore
80
+ const data = await onMessage(message["payload"]);
81
+ const response = {
82
+ type: "response",
83
+ // @ts-ignore
84
+ messageId: message["messageId"],
85
+ payload: data,
86
+ };
87
+ await transport.send(response);
88
+ }
89
+ // @ts-ignore
90
+ if (message["type"] === "response") {
91
+ messages.emit("message", message);
92
+ }
93
+ },
94
+ async subsend(message) {
95
+ console.log("Session: sending trans msg to signal", message);
96
+ const sessionMessage = {
97
+ type: "request",
98
+ messageId: crypto.randomUUID(),
99
+ payload: message,
100
+ };
101
+ await signal.send(sessionMessage);
102
+ },
103
+ });
104
+ transport.emitter.on("state_change", (state) => {
105
+ log("transport state change", state);
106
+ if (state === TRANSPORT_STATE.CONNECTED) {
107
+ updateStatus(SESSION_STATE.CONNECTED);
108
+ }
66
109
  });
110
+ const startTransport = async () => {
111
+ await transport.setup();
112
+ };
67
113
  // let transport: TransportLayer | undefined;
114
+ const onSignalMessage = async (message) => {
115
+ log("Session: received message from signaling", message);
116
+ const sessionMsg = message;
117
+ if (sessionMsg.type === "response") {
118
+ log("Session: received data message", sessionMsg.payload);
119
+ messages.emit("message", sessionMsg);
120
+ }
121
+ if (sessionMsg.type === "request") {
122
+ log("Session: received request message", sessionMsg.payload);
123
+ transport.handle(sessionMsg.payload);
124
+ }
125
+ };
68
126
  return {
69
127
  connect: async () => {
70
- updateStatus("signaling");
128
+ updateStatus(SESSION_STATE.SIGNALING);
71
129
  log("connecting to session, isHost:", isHost);
72
130
  // TODO: implement
73
131
  log("connecting to session");
74
- await signal.setup();
75
- signal.subscribe(async (message) => {
76
- log("Session: received message from signaling", message);
77
- const sessionMsg = message;
78
- if (sessionMsg.type === "response") {
79
- log("Session: received data message", sessionMsg.payload);
80
- messages.emit("message", sessionMsg);
81
- }
82
- if (sessionMsg.type === "request") {
83
- log("Session: received request message", sessionMsg.payload);
84
- const payload = await onMessage(sessionMsg.payload);
85
- const responseMessage = {
86
- type: "response",
87
- messageId: sessionMsg.messageId,
88
- payload,
89
- };
90
- await signal.send(responseMessage);
91
- }
92
- });
93
- signal.emitter.on("state_change", (state) => {
132
+ signal.on("message", onSignalMessage);
133
+ signal.on("state_change", (state) => {
94
134
  log("signal state change", state);
95
- if (state === "xr-encrypted") {
135
+ if (state === SIGNAL_STATE.READY) {
136
+ updateStatus(SESSION_STATE.READY);
137
+ }
138
+ if (state === SIGNAL_STATE.ENCRYPTED) {
96
139
  // for now cuz we just use signaling call this a full connection
97
- updateStatus("connected");
140
+ // updateStatus("connected");
141
+ startTransport();
98
142
  }
99
143
  });
144
+ await signal.setup();
100
145
  },
101
146
  async close() {
102
147
  log("session teardown");
103
148
  await signal?.teardown();
104
- updateStatus("disconnected");
149
+ updateStatus(SESSION_STATE.DISCONNECTED);
105
150
  },
106
151
  getState() {
107
- return { status, signaling: signal.getState() };
152
+ return {
153
+ status,
154
+ signaling: signal.getState(),
155
+ // transport: transport.getState(),
156
+ };
108
157
  },
109
158
  getHandshakeParameters() {
110
159
  return {
@@ -119,14 +168,15 @@ export const createSession = async (initParameters, signalLayer, onMessage) => {
119
168
  waitForLink: async () => {
120
169
  return new Promise((resolve) => {
121
170
  emitter.on("state_change", (state) => {
122
- if (state?.status === "connected") {
171
+ if (state?.status === SESSION_STATE.CONNECTED) {
123
172
  resolve();
124
173
  }
125
174
  });
126
175
  });
127
176
  },
128
177
  async send(message, timeout = 5000) {
129
- const ready = signal.getState().state === "xr-encrypted";
178
+ const ready = signal.getState().state === SIGNAL_STATE.ENCRYPTED;
179
+ // const transportReady = transport.getState() === TRANSPORT_STATE.CONNECTED;
130
180
  if (!ready) {
131
181
  throw new Error("Session not ready");
132
182
  }
@@ -137,7 +187,8 @@ export const createSession = async (initParameters, signalLayer, onMessage) => {
137
187
  payload: message,
138
188
  };
139
189
  // for now use signaling
140
- await signal.send(sessionMessage);
190
+ // await signal.send(sessionMessage);
191
+ await transport.send(sessionMessage);
141
192
  return Promise.race([
142
193
  new Promise((resolve) => {
143
194
  messages.on("message", (message) => {
@@ -153,6 +204,10 @@ export const createSession = async (initParameters, signalLayer, onMessage) => {
153
204
  }),
154
205
  ]);
155
206
  },
207
+ _internal: {
208
+ signal,
209
+ transport,
210
+ },
156
211
  emitter,
157
212
  };
158
213
  };
@@ -161,10 +216,7 @@ export const createSession = async (initParameters, signalLayer, onMessage) => {
161
216
  */
162
217
  export const connectSession = async (connectionUrl, onMessage) => {
163
218
  const initParameters = decodeConnectionURL(connectionUrl);
164
- const signaling = {
165
- mqtt: mqtt,
166
- ntfy: ntfy,
167
- }[initParameters.p];
219
+ const signaling = await dynamicSignalingLayer(initParameters.p);
168
220
  if (!signaling) {
169
221
  throw new Error(`Invalid signaling protocol: ${initParameters.p}`);
170
222
  }
package/dist/base.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,4 +6,3 @@
6
6
  * without relying on centralized infrastructure.
7
7
  */
8
8
  export * from "./base.js";
9
- export type { ConnectionEvents, ConnectionPhase, ConnectionState, DAppInfo, ErrorHandler, EthereumMethod, EthereumRequest, JsonRpcError, JsonRpcRequest, JsonRpcResponse, MessageHandler, PhaseHandler, SessionConfig, WalletInfo, } from "./types.js";
@@ -29,7 +29,7 @@ describe("Session", () => {
29
29
  });
30
30
  console.log(sessionB.getState());
31
31
  await sessionB.connect();
32
- await new Promise((resolve) => setTimeout(resolve, 3000));
32
+ await Promise.all([sessionA.waitForLink(), sessionB.waitForLink()]);
33
33
  //
34
34
  console.log("A", sessionA.getState());
35
35
  console.log("B", sessionB.getState());
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1D,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAClC;YACE,SAAS,EAAE,kBAAkB;YAC7B,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,kBAAkB;SACtB,EACD,IAAI,EACJ,KAAK,EAAE,OAAO,EAAE,EAAE;YAChB,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;YAElD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEzB,MAAM,oBAAoB,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;QAE7D,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAExB,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAEnD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAEjD,EAAE;QACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAE1D,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAEvC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAClE,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;YAElD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEzB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAE1D,EAAE;QACF,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAEvD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAElC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1D,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAClC;YACE,SAAS,EAAE,kBAAkB;YAC7B,CAAC,EAAE,MAAM;YACT,CAAC,EAAE,kBAAkB;SACtB,EACD,IAAI,EACJ,KAAK,EAAE,OAAO,EAAE,EAAE;YAChB,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;YAElD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEjC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEzB,MAAM,oBAAoB,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;QAE7D,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAExB,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAEnD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAEjD,EAAE;QACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAE1D,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAEvC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAClE,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;YAElD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEzB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAEpE,EAAE;QACF,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAEvD,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAElC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/utils/log.js CHANGED
@@ -1,2 +1,5 @@
1
- export const log = (...x) => console.log("%c[session]%c", "color: orange; font-weight: bold", "color: inherit; font-weight: normal", ...x);
1
+ export const log = (...x) => console.log("[session]",
2
+ // "color: orange; font-weight: bold",
3
+ // "color: inherit; font-weight: normal",
4
+ ...x);
2
5
  //# sourceMappingURL=log.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/utils/log.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAiC,EAAE,EAAE,CAC1D,OAAO,CAAC,GAAG,CACT,eAAe,EACf,kCAAkC,EAClC,qCAAqC,EACrC,GAAG,CAAC,CACL,CAAC"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/utils/log.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAiC,EAAE,EAAE,CAC1D,OAAO,CAAC,GAAG,CACT,WAAW;AACX,sCAAsC;AACtC,yCAAyC;AACzC,GAAG,CAAC,CACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openlv/session",
3
- "version": "0.0.1-beta.6",
3
+ "version": "0.0.1-beta.7",
4
4
  "keywords": [
5
5
  "open-lavatory"
6
6
  ],
@@ -42,10 +42,13 @@
42
42
  "eventemitter3": "^5.0.1",
43
43
  "globals": "^16.2.0",
44
44
  "ts-pattern": "^5",
45
- "@openlv/core": "0.0.1-beta.6",
46
- "@openlv/signaling": "0.0.1-beta.5"
45
+ "@openlv/core": "0.0.1-beta.7",
46
+ "@openlv/signaling": "0.0.1-beta.6",
47
+ "@openlv/transport": "0.0.1-beta.5"
47
48
  },
48
49
  "devDependencies": {
50
+ "@vitest/browser-playwright": "^4.0.8",
51
+ "playwright": "^1.56.1",
49
52
  "typescript": "^5",
50
53
  "vitest": "^4"
51
54
  },
@@ -60,6 +63,7 @@
60
63
  },
61
64
  "scripts": {
62
65
  "build": "tsc",
63
- "test": "vitest"
66
+ "test": "vitest",
67
+ "test:install": "playwright install --with-deps"
64
68
  }
65
69
  }
package/dist/types.d.ts DELETED
@@ -1,56 +0,0 @@
1
- /**
2
- * Open Lavatory Protocol Types
3
- * Includes JSON-RPC types for Ethereum wallet connectivity
4
- */
5
- export type ConnectionState = "disconnected" | "mqtt-connecting" | "mqtt-connected" | "pairing" | "key-exchange" | "webrtc-negotiating" | "webrtc-connected";
6
- export type ConnectionPhase = {
7
- state: ConnectionState;
8
- description: string;
9
- timestamp: number;
10
- };
11
- export type SessionConfig = {
12
- mqttUrl?: string;
13
- protocol?: "mqtt" | "waku" | "nostr";
14
- };
15
- export interface JsonRpcRequest {
16
- jsonrpc: "2.0";
17
- id: string | number;
18
- method: string;
19
- params?: any[];
20
- }
21
- export interface JsonRpcResponse {
22
- jsonrpc: "2.0";
23
- id: string | number;
24
- result?: any;
25
- error?: JsonRpcError;
26
- }
27
- export interface JsonRpcError {
28
- code: number;
29
- message: string;
30
- data?: any;
31
- }
32
- export type EthereumMethod = "eth_requestAccounts" | "eth_accounts" | "eth_chainId" | "eth_getBalance" | "eth_blockNumber" | "eth_sendTransaction" | "eth_signTransaction" | "eth_sign" | "personal_sign" | "eth_signTypedData" | "eth_signTypedData_v3" | "eth_signTypedData_v4" | "wallet_switchEthereumChain" | "wallet_addEthereumChain";
33
- export interface EthereumRequest extends JsonRpcRequest {
34
- method: EthereumMethod;
35
- }
36
- export type EthereumResponse = JsonRpcResponse;
37
- export interface WalletInfo {
38
- name: string;
39
- version: string;
40
- icon?: string;
41
- }
42
- export interface DAppInfo {
43
- name: string;
44
- url: string;
45
- icon?: string;
46
- }
47
- export type MessageHandler = (request: JsonRpcRequest) => Promise<any> | any;
48
- export type PhaseHandler = (phase: ConnectionPhase) => void;
49
- export type ErrorHandler = (error: Error) => void;
50
- export interface ConnectionEvents {
51
- onPhaseChange?: PhaseHandler;
52
- onMessage?: MessageHandler;
53
- onError?: ErrorHandler;
54
- onConnect?: () => void;
55
- onDisconnect?: () => void;
56
- }
package/dist/types.js DELETED
@@ -1,6 +0,0 @@
1
- /**
2
- * Open Lavatory Protocol Types
3
- * Includes JSON-RPC types for Ethereum wallet connectivity
4
- */
5
- export {};
6
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}