@dxos/shell 0.4.10-main.e17362e → 0.4.10-main.e3078ed

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.
@@ -1,16 +1,31 @@
1
- import { T as l, E as p, c as _, e as d, W as u, l as i, a as f } from "./index-S11P9Moy.mjs";
2
- function m(t, e, r, s) {
3
- var c = arguments.length, o = c < 3 ? e : s === null ? s = Object.getOwnPropertyDescriptor(e, r) : s, a;
1
+ import { T as d, E as p, c as u, e as l, W as _, l as a, a as f } from "./index-DACjPI-n.mjs";
2
+ var m = "/home/runner/work/dxos/dxos/packages/core/mesh/websocket-rpc/src/token-auth.ts", k = class extends _ {
3
+ constructor(t, e) {
4
+ const r = l.from(e).toString("base64").replace(/=*$/, ""), s = [
5
+ `base64url.bearer.authorization.dxos.org.${r}`
6
+ ];
7
+ super(t, s), a("encodedToken", {
8
+ encodedToken: r
9
+ }, {
10
+ F: m,
11
+ L: 55,
12
+ S: this,
13
+ C: (c, o) => c(...o)
14
+ });
15
+ }
16
+ };
17
+ function w(t, e, r, s) {
18
+ var c = arguments.length, o = c < 3 ? e : s === null ? s = Object.getOwnPropertyDescriptor(e, r) : s, i;
4
19
  if (typeof Reflect == "object" && typeof Reflect.decorate == "function")
5
20
  o = Reflect.decorate(t, e, r, s);
6
21
  else
7
22
  for (var h = t.length - 1; h >= 0; h--)
8
- (a = t[h]) && (o = (c < 3 ? a(o) : c > 3 ? a(e, r, o) : a(e, r)) || o);
23
+ (i = t[h]) && (o = (c < 3 ? i(o) : c > 3 ? i(e, r, o) : i(e, r)) || o);
9
24
  return c > 3 && o && Object.defineProperty(e, r, o), o;
10
25
  }
11
- var n = "/home/runner/work/dxos/dxos/packages/core/mesh/websocket-rpc/src/client.ts", w = class {
26
+ var n = "/home/runner/work/dxos/dxos/packages/core/mesh/websocket-rpc/src/client.ts", g = class {
12
27
  constructor(t) {
13
- this._params = t, this._connectTrigger = new l(), this.connected = new p(), this.disconnected = new p(), this.error = new p(), this._rpc = _({
28
+ this._params = t, this._connectTrigger = new d(), this.connected = new p(), this.disconnected = new p(), this.error = new p(), this._rpc = u({
14
29
  requested: this._params.requested,
15
30
  exposed: this._params.exposed,
16
31
  handlers: this._params.handlers,
@@ -20,7 +35,7 @@ var n = "/home/runner/work/dxos/dxos/packages/core/mesh/websocket-rpc/src/client
20
35
  },
21
36
  subscribe: (e) => {
22
37
  this._socket.onmessage = async (r) => {
23
- typeof Blob < "u" && r.data instanceof Blob ? e(d.from(await r.data.arrayBuffer())) : e(r.data);
38
+ typeof Blob < "u" && r.data instanceof Blob ? e(l.from(await r.data.arrayBuffer())) : e(r.data);
24
39
  };
25
40
  }
26
41
  }
@@ -30,17 +45,17 @@ var n = "/home/runner/work/dxos/dxos/packages/core/mesh/websocket-rpc/src/client
30
45
  return this._params.url;
31
46
  }
32
47
  async open() {
33
- this._socket = new u(this._params.url), this._socket.onopen = async () => {
34
- i("Socket open", void 0, {
48
+ this._params.authenticationToken ? this._socket = new k(this._params.url, this._params.authenticationToken) : this._socket = new _(this._params.url), this._socket.onopen = async () => {
49
+ a("Socket open", void 0, {
35
50
  F: n,
36
- L: 55,
51
+ L: 61,
37
52
  S: this,
38
53
  C: (t, e) => t(...e)
39
54
  });
40
55
  try {
41
- await this._rpc.open(), i(`RPC open ${this._params.url}`, void 0, {
56
+ await this._rpc.open(), a(`RPC open ${this._params.url}`, void 0, {
42
57
  F: n,
43
- L: 58,
58
+ L: 64,
44
59
  S: this,
45
60
  C: (t, e) => t(...e)
46
61
  }), this.connected.emit(), this._connectTrigger.wake();
@@ -48,18 +63,18 @@ var n = "/home/runner/work/dxos/dxos/packages/core/mesh/websocket-rpc/src/client
48
63
  this.error.emit(t);
49
64
  }
50
65
  }, this._socket.onclose = async () => {
51
- i(`Disconnected ${this._params.url}`, void 0, {
66
+ a(`Disconnected ${this._params.url}`, void 0, {
52
67
  F: n,
53
- L: 67,
68
+ L: 73,
54
69
  S: this,
55
70
  C: (t, e) => t(...e)
56
71
  }), this.disconnected.emit(), await this.close();
57
72
  }, this._socket.onerror = (t) => {
58
- i.error(t.message ?? "Socket error", {
73
+ a.error(t.message ?? "Socket error", {
59
74
  url: this._params.url
60
75
  }, {
61
76
  F: n,
62
- L: 73,
77
+ L: 80,
63
78
  S: this,
64
79
  C: (r, s) => r(...s)
65
80
  });
@@ -72,9 +87,9 @@ var n = "/home/runner/work/dxos/dxos/packages/core/mesh/websocket-rpc/src/client
72
87
  try {
73
88
  await ((t = this._rpc) == null ? void 0 : t.close());
74
89
  } catch (r) {
75
- i.catch(r, void 0, {
90
+ a.catch(r, void 0, {
76
91
  F: n,
77
- L: 86,
92
+ L: 93,
78
93
  S: this,
79
94
  C: (s, c) => s(...c)
80
95
  });
@@ -85,10 +100,11 @@ var n = "/home/runner/work/dxos/dxos/packages/core/mesh/websocket-rpc/src/client
85
100
  return this._rpc.rpc;
86
101
  }
87
102
  };
88
- m([
103
+ w([
89
104
  f
90
- ], w.prototype, "url", null);
105
+ ], g.prototype, "url", null);
91
106
  export {
92
- w as WebsocketRpcClient
107
+ k as WebSocketWithTokenAuth,
108
+ g as WebsocketRpcClient
93
109
  };
94
- //# sourceMappingURL=index-Df5yFfuD.mjs.map
110
+ //# sourceMappingURL=index-Cms4wG79.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Cms4wG79.mjs","sources":["../../../../core/mesh/websocket-rpc/dist/lib/browser/index.mjs"],"sourcesContent":["import \"@dxos/node-std/globals\";\n\n// inject-globals:@inject-globals\nimport {\n global,\n Buffer,\n process\n} from \"@dxos/node-std/inject-globals\";\n\n// packages/core/mesh/websocket-rpc/src/client.ts\nimport WebSocket2 from \"isomorphic-ws\";\nimport { Event, Trigger } from \"@dxos/async\";\nimport { log as log2, logInfo } from \"@dxos/log\";\nimport { createProtoRpcPeer } from \"@dxos/rpc\";\n\n// packages/core/mesh/websocket-rpc/src/token-auth.ts\nimport WebSocket from \"isomorphic-ws\";\nimport { log } from \"@dxos/log\";\nvar __dxlog_file = \"/home/runner/work/dxos/dxos/packages/core/mesh/websocket-rpc/src/token-auth.ts\";\nvar PROTOCOL_TOKEN_PREFIX = \"base64url.bearer.authorization.dxos.org\";\nvar authenticateRequestWithTokenAuth = (request, socket, upgradeHead, token, cb) => {\n const protocolHeader = request.headers[\"sec-websocket-protocol\"];\n if (!protocolHeader) {\n log(\"upgrade unauthorized, header missing\", {\n header: request.headers[\"sec-websocket-protocol\"]\n }, {\n F: __dxlog_file,\n L: 28,\n S: void 0,\n C: (f, a) => f(...a)\n });\n socket.write(\"HTTP/1.1 401 Unauthorized\\r\\n\\r\\n\");\n socket.destroy();\n return;\n }\n const tokenHeader = protocolHeader.replace(new RegExp(`^${PROTOCOL_TOKEN_PREFIX}.`), \"\");\n const encodedToken = Buffer.from(token).toString(\"base64\").replace(/=*$/, \"\");\n if (tokenHeader !== encodedToken) {\n log(\"upgrade unauthorized\", {\n token,\n foo: encodedToken\n }, {\n F: __dxlog_file,\n L: 40,\n S: void 0,\n C: (f, a) => f(...a)\n });\n socket.write(\"HTTP/1.1 401 Unauthorized\\r\\n\\r\\n\");\n socket.destroy();\n return;\n }\n cb(request, socket, upgradeHead);\n};\nvar WebSocketWithTokenAuth = class extends WebSocket {\n constructor(url, token) {\n const encodedToken = Buffer.from(token).toString(\"base64\").replace(/=*$/, \"\");\n const wsProtocols = [\n `base64url.bearer.authorization.dxos.org.${encodedToken}`\n ];\n super(url, wsProtocols);\n log(\"encodedToken\", {\n encodedToken\n }, {\n F: __dxlog_file,\n L: 55,\n S: this,\n C: (f, a) => f(...a)\n });\n }\n};\n\n// packages/core/mesh/websocket-rpc/src/client.ts\nfunction _ts_decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\")\n r = Reflect.decorate(decorators, target, key, desc);\n else\n for (var i = decorators.length - 1; i >= 0; i--)\n if (d = decorators[i])\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nvar __dxlog_file2 = \"/home/runner/work/dxos/dxos/packages/core/mesh/websocket-rpc/src/client.ts\";\nvar WebsocketRpcClient = class {\n constructor(_params) {\n this._params = _params;\n this._connectTrigger = new Trigger();\n this.connected = new Event();\n this.disconnected = new Event();\n this.error = new Event();\n this._rpc = createProtoRpcPeer({\n requested: this._params.requested,\n exposed: this._params.exposed,\n handlers: this._params.handlers,\n port: {\n send: (msg) => {\n this._socket.send(msg);\n },\n subscribe: (cb) => {\n this._socket.onmessage = async (msg) => {\n if (typeof Blob !== \"undefined\" && msg.data instanceof Blob) {\n cb(Buffer.from(await msg.data.arrayBuffer()));\n } else {\n cb(msg.data);\n }\n };\n }\n }\n });\n }\n get url() {\n return this._params.url;\n }\n async open() {\n if (this._params.authenticationToken) {\n this._socket = new WebSocketWithTokenAuth(this._params.url, this._params.authenticationToken);\n } else {\n this._socket = new WebSocket2(this._params.url);\n }\n this._socket.onopen = async () => {\n log2(\"Socket open\", void 0, {\n F: __dxlog_file2,\n L: 61,\n S: this,\n C: (f, a) => f(...a)\n });\n try {\n await this._rpc.open();\n log2(`RPC open ${this._params.url}`, void 0, {\n F: __dxlog_file2,\n L: 64,\n S: this,\n C: (f, a) => f(...a)\n });\n this.connected.emit();\n this._connectTrigger.wake();\n } catch (err) {\n this.error.emit(err);\n }\n };\n this._socket.onclose = async () => {\n log2(`Disconnected ${this._params.url}`, void 0, {\n F: __dxlog_file2,\n L: 73,\n S: this,\n C: (f, a) => f(...a)\n });\n this.disconnected.emit();\n await this.close();\n };\n this._socket.onerror = (event) => {\n log2.error(event.message ?? \"Socket error\", {\n url: this._params.url\n }, {\n F: __dxlog_file2,\n L: 80,\n S: this,\n C: (f, a) => f(...a)\n });\n const error = event.error ?? new Error(event.message);\n this.error.emit(error);\n this._connectTrigger.throw(error);\n };\n await this._connectTrigger.wait();\n }\n async close() {\n try {\n await this._rpc?.close();\n } catch (err) {\n log2.catch(err, void 0, {\n F: __dxlog_file2,\n L: 93,\n S: this,\n C: (f, a) => f(...a)\n });\n }\n this._socket?.close();\n }\n get rpc() {\n return this._rpc.rpc;\n }\n};\n_ts_decorate([\n logInfo\n], WebsocketRpcClient.prototype, \"url\", null);\n\n// packages/core/mesh/websocket-rpc/src/server.ts\nimport WebSocket3 from \"isomorphic-ws\";\nimport { log as log3 } from \"@dxos/log\";\nimport { createProtoRpcPeer as createProtoRpcPeer2 } from \"@dxos/rpc\";\nvar __dxlog_file3 = \"/home/runner/work/dxos/dxos/packages/core/mesh/websocket-rpc/src/server.ts\";\nvar WebsocketRpcServer = class {\n constructor(_params) {\n this._params = _params;\n }\n handleUpgrade(request, socket, head) {\n this._server?.handleUpgrade(request, socket, head, (ws) => {\n this._server?.emit(\"connection\", ws, request);\n });\n }\n async open() {\n this._server = new WebSocket3.Server({\n ...this._params\n });\n this._server.on(\"connection\", async (socket, request) => {\n log3(\"connection\", {\n request\n }, {\n F: __dxlog_file3,\n L: 40,\n S: this,\n C: (f, a) => f(...a)\n });\n const info = {\n request\n };\n const { onOpen, onClose, ...options } = await this._params.onConnection(info);\n const rpc = createProtoRpcPeer2({\n ...options,\n port: {\n send: (msg) => {\n socket.send(msg);\n },\n subscribe: (cb) => {\n socket.onmessage = async (msg) => {\n if (typeof Blob !== \"undefined\" && msg.data instanceof Blob) {\n cb(Buffer.from(await msg.data.arrayBuffer()));\n } else {\n cb(msg.data);\n }\n };\n }\n }\n });\n await rpc.open();\n await onOpen?.(rpc);\n socket.onclose = async () => {\n await onClose?.(rpc);\n await rpc.close();\n };\n });\n }\n async close() {\n this._server?.close();\n }\n};\nexport {\n WebSocketWithTokenAuth,\n WebsocketRpcClient,\n WebsocketRpcServer,\n authenticateRequestWithTokenAuth\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["__dxlog_file","WebSocketWithTokenAuth","WebSocket","url","token","encodedToken","Buffer","wsProtocols","log","f","a","_ts_decorate","decorators","target","key","desc","r","d","i","__dxlog_file2","WebsocketRpcClient","_params","Trigger","Event","createProtoRpcPeer","msg","cb","WebSocket2","log2","err","event","error","_a","_b","logInfo"],"mappings":"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"}