@dxos/shell 0.4.10-main.eedd150 → 0.4.10-main.f635fb0
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/bundle/index-CDZGs6Fl.mjs +94 -0
- package/dist/bundle/index-CDZGs6Fl.mjs.map +1 -0
- package/dist/bundle/index-DJjWWEjX.mjs +96609 -0
- package/dist/bundle/index-DJjWWEjX.mjs.map +1 -0
- package/dist/bundle/shell.mjs +9 -81813
- package/dist/bundle/shell.mjs.map +1 -1
- package/dist/bundle/shell.umd.js +152 -89
- package/dist/bundle/shell.umd.js.map +1 -1
- package/dist/bundle/style.css +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react.mjs +862 -821
- package/dist/lib/browser/react.mjs.map +4 -4
- package/dist/lib/browser/testing/index.mjs +4 -2
- package/dist/lib/browser/testing/index.mjs.map +2 -2
- package/dist/types/src/components/AgentConfig.d.ts +3 -0
- package/dist/types/src/components/AgentConfig.d.ts.map +1 -0
- package/dist/types/src/components/AgentConfig.js +37 -0
- package/dist/types/src/components/AgentConfig.js.map +1 -0
- package/dist/types/src/components/DeviceList/DeviceList.d.ts +3 -0
- package/dist/types/src/components/DeviceList/DeviceList.d.ts.map +1 -0
- package/dist/types/src/components/DeviceList/DeviceList.js +29 -0
- package/dist/types/src/components/DeviceList/DeviceList.js.map +1 -0
- package/dist/types/src/components/DeviceList/DeviceListItem.d.ts +6 -0
- package/dist/types/src/components/DeviceList/DeviceListItem.d.ts.map +1 -0
- package/dist/types/src/components/DeviceList/DeviceListItem.js +72 -0
- package/dist/types/src/components/DeviceList/DeviceListItem.js.map +1 -0
- package/dist/types/src/components/DeviceList/DeviceListProps.d.ts +27 -0
- package/dist/types/src/components/DeviceList/DeviceListProps.d.ts.map +1 -0
- package/dist/types/src/components/DeviceList/DeviceListProps.js +6 -0
- package/dist/types/src/components/DeviceList/DeviceListProps.js.map +1 -0
- package/dist/types/src/components/DeviceList/index.d.ts +3 -0
- package/dist/types/src/components/DeviceList/index.d.ts.map +1 -0
- package/dist/types/src/components/DeviceList/index.js +22 -0
- package/dist/types/src/components/DeviceList/index.js.map +1 -0
- package/dist/types/src/components/EmojiPicker.d.ts +9 -2
- package/dist/types/src/components/EmojiPicker.d.ts.map +1 -1
- package/dist/types/src/components/EmojiPicker.js +57 -3
- package/dist/types/src/components/EmojiPicker.js.map +1 -1
- package/dist/types/src/components/HuePicker.d.ts +9 -2
- package/dist/types/src/components/HuePicker.d.ts.map +1 -1
- package/dist/types/src/components/HuePicker.js +75 -6
- package/dist/types/src/components/HuePicker.js.map +1 -1
- package/dist/types/src/components/IdentityList/index.d.ts +0 -1
- package/dist/types/src/components/IdentityList/index.d.ts.map +1 -1
- package/dist/types/src/components/IdentityList/index.js +0 -1
- package/dist/types/src/components/IdentityList/index.js.map +1 -1
- package/dist/types/src/components/InvitationList/InvitationListItem.js +5 -5
- package/dist/types/src/components/InvitationList/InvitationListItem.js.map +1 -1
- package/dist/types/src/components/Panel/Action.d.ts +2 -2
- package/dist/types/src/components/Viewport/Viewport.d.ts +1 -1
- package/dist/types/src/components/index.d.ts +2 -0
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/components/index.js +2 -0
- package/dist/types/src/components/index.js.map +1 -1
- package/dist/types/src/composites/Shell/Shell.d.ts.map +1 -1
- package/dist/types/src/composites/Shell/Shell.js +1 -5
- package/dist/types/src/composites/Shell/Shell.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.js +80 -40
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts +0 -3
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js +1 -43
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts +8 -11
- package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/identityMachine.d.ts +1 -1
- package/dist/types/src/panels/IdentityPanel/identityMachine.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/identityMachine.js +0 -24
- package/dist/types/src/panels/IdentityPanel/identityMachine.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.d.ts +4 -4
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.js +9 -43
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js +2 -2
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/index.d.ts +0 -2
- package/dist/types/src/panels/IdentityPanel/steps/index.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/index.js +0 -2
- package/dist/types/src/panels/IdentityPanel/steps/index.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/useAgentHandlers.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/useAgentHandlers.js +5 -1
- package/dist/types/src/panels/IdentityPanel/useAgentHandlers.js.map +1 -1
- package/dist/types/src/panels/SpacePanel/steps/SpaceManager.d.ts.map +1 -1
- package/dist/types/src/panels/SpacePanel/steps/SpaceManager.js +3 -1
- package/dist/types/src/panels/SpacePanel/steps/SpaceManager.js.map +1 -1
- package/dist/types/src/steps/InvitationManager.d.ts +1 -1
- package/dist/types/src/steps/InvitationManager.d.ts.map +1 -1
- package/dist/types/src/steps/InvitationManager.js +3 -4
- package/dist/types/src/steps/InvitationManager.js.map +1 -1
- package/dist/types/src/stories/Invitations.e2e-stories.d.ts.map +1 -1
- package/dist/types/src/stories/Invitations.e2e-stories.js +2 -2
- package/dist/types/src/stories/Invitations.e2e-stories.js.map +1 -1
- package/dist/types/src/testing/shell-manager.d.ts.map +1 -1
- package/dist/types/src/testing/shell-manager.js +4 -2
- package/dist/types/src/testing/shell-manager.js.map +1 -1
- package/dist/types/src/translations/locales/en-US.d.ts +12 -2
- package/dist/types/src/translations/locales/en-US.d.ts.map +1 -1
- package/dist/types/src/translations/locales/en-US.js +12 -2
- package/dist/types/src/translations/locales/en-US.js.map +1 -1
- package/package.json +21 -20
- package/src/components/AgentConfig.tsx +66 -0
- package/src/components/DeviceList/DeviceList.tsx +54 -0
- package/src/components/DeviceList/DeviceListItem.tsx +120 -0
- package/src/components/DeviceList/DeviceListProps.ts +33 -0
- package/src/components/DeviceList/index.ts +6 -0
- package/src/components/EmojiPicker.tsx +101 -4
- package/src/components/HuePicker.tsx +99 -5
- package/src/components/IdentityList/index.ts +0 -1
- package/src/components/InvitationList/InvitationListItem.tsx +5 -5
- package/src/components/index.ts +2 -0
- package/src/composites/Shell/Shell.tsx +1 -7
- package/src/panels/IdentityPanel/IdentityPanel.stories.tsx +0 -63
- package/src/panels/IdentityPanel/IdentityPanel.tsx +123 -34
- package/src/panels/IdentityPanel/IdentityPanelProps.ts +10 -14
- package/src/panels/IdentityPanel/identityMachine.ts +1 -31
- package/src/panels/IdentityPanel/steps/IdentityActionChooser.tsx +23 -76
- package/src/panels/IdentityPanel/steps/ProfileForm.tsx +12 -4
- package/src/panels/IdentityPanel/steps/index.ts +0 -2
- package/src/panels/IdentityPanel/useAgentHandlers.ts +5 -1
- package/src/panels/SpacePanel/steps/SpaceManager.tsx +3 -1
- package/src/steps/InvitationManager.tsx +4 -4
- package/src/stories/Invitations.e2e-stories.tsx +3 -3
- package/src/testing/shell-manager.ts +4 -2
- package/src/translations/locales/en-US.ts +13 -2
- package/dist/types/src/components/IdentityList/DeviceList.d.ts +0 -7
- package/dist/types/src/components/IdentityList/DeviceList.d.ts.map +0 -1
- package/dist/types/src/components/IdentityList/DeviceList.js +0 -34
- package/dist/types/src/components/IdentityList/DeviceList.js.map +0 -1
- package/dist/types/src/panels/IdentityPanel/steps/AgentForm.d.ts +0 -3
- package/dist/types/src/panels/IdentityPanel/steps/AgentForm.d.ts.map +0 -1
- package/dist/types/src/panels/IdentityPanel/steps/AgentForm.js +0 -26
- package/dist/types/src/panels/IdentityPanel/steps/AgentForm.js.map +0 -1
- package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.d.ts +0 -10
- package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.d.ts.map +0 -1
- package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.js +0 -23
- package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.js.map +0 -1
- package/src/components/IdentityList/DeviceList.tsx +0 -49
- package/src/panels/IdentityPanel/steps/AgentForm.tsx +0 -61
- package/src/panels/IdentityPanel/steps/DeviceManager.tsx +0 -41
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { T as l, E as p, c as _, e as d, W as u, l as i, a as f } from "./index-DJjWWEjX.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;
|
|
4
|
+
if (typeof Reflect == "object" && typeof Reflect.decorate == "function")
|
|
5
|
+
o = Reflect.decorate(t, e, r, s);
|
|
6
|
+
else
|
|
7
|
+
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);
|
|
9
|
+
return c > 3 && o && Object.defineProperty(e, r, o), o;
|
|
10
|
+
}
|
|
11
|
+
var n = "/home/runner/work/dxos/dxos/packages/core/mesh/websocket-rpc/src/client.ts", w = class {
|
|
12
|
+
constructor(t) {
|
|
13
|
+
this._params = t, this._connectTrigger = new l(), this.connected = new p(), this.disconnected = new p(), this.error = new p(), this._rpc = _({
|
|
14
|
+
requested: this._params.requested,
|
|
15
|
+
exposed: this._params.exposed,
|
|
16
|
+
handlers: this._params.handlers,
|
|
17
|
+
port: {
|
|
18
|
+
send: (e) => {
|
|
19
|
+
this._socket.send(e);
|
|
20
|
+
},
|
|
21
|
+
subscribe: (e) => {
|
|
22
|
+
this._socket.onmessage = async (r) => {
|
|
23
|
+
typeof Blob < "u" && r.data instanceof Blob ? e(d.from(await r.data.arrayBuffer())) : e(r.data);
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
get url() {
|
|
30
|
+
return this._params.url;
|
|
31
|
+
}
|
|
32
|
+
async open() {
|
|
33
|
+
this._socket = new u(this._params.url), this._socket.onopen = async () => {
|
|
34
|
+
i("Socket open", void 0, {
|
|
35
|
+
F: n,
|
|
36
|
+
L: 55,
|
|
37
|
+
S: this,
|
|
38
|
+
C: (t, e) => t(...e)
|
|
39
|
+
});
|
|
40
|
+
try {
|
|
41
|
+
await this._rpc.open(), i(`RPC open ${this._params.url}`, void 0, {
|
|
42
|
+
F: n,
|
|
43
|
+
L: 58,
|
|
44
|
+
S: this,
|
|
45
|
+
C: (t, e) => t(...e)
|
|
46
|
+
}), this.connected.emit(), this._connectTrigger.wake();
|
|
47
|
+
} catch (t) {
|
|
48
|
+
this.error.emit(t);
|
|
49
|
+
}
|
|
50
|
+
}, this._socket.onclose = async () => {
|
|
51
|
+
i(`Disconnected ${this._params.url}`, void 0, {
|
|
52
|
+
F: n,
|
|
53
|
+
L: 67,
|
|
54
|
+
S: this,
|
|
55
|
+
C: (t, e) => t(...e)
|
|
56
|
+
}), this.disconnected.emit(), await this.close();
|
|
57
|
+
}, this._socket.onerror = (t) => {
|
|
58
|
+
i.error(t.message ?? "Socket error", {
|
|
59
|
+
url: this._params.url
|
|
60
|
+
}, {
|
|
61
|
+
F: n,
|
|
62
|
+
L: 73,
|
|
63
|
+
S: this,
|
|
64
|
+
C: (r, s) => r(...s)
|
|
65
|
+
});
|
|
66
|
+
const e = t.error ?? new Error(t.message);
|
|
67
|
+
this.error.emit(e), this._connectTrigger.throw(e);
|
|
68
|
+
}, await this._connectTrigger.wait();
|
|
69
|
+
}
|
|
70
|
+
async close() {
|
|
71
|
+
var t, e;
|
|
72
|
+
try {
|
|
73
|
+
await ((t = this._rpc) == null ? void 0 : t.close());
|
|
74
|
+
} catch (r) {
|
|
75
|
+
i.catch(r, void 0, {
|
|
76
|
+
F: n,
|
|
77
|
+
L: 86,
|
|
78
|
+
S: this,
|
|
79
|
+
C: (s, c) => s(...c)
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
(e = this._socket) == null || e.close();
|
|
83
|
+
}
|
|
84
|
+
get rpc() {
|
|
85
|
+
return this._rpc.rpc;
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
m([
|
|
89
|
+
f
|
|
90
|
+
], w.prototype, "url", null);
|
|
91
|
+
export {
|
|
92
|
+
w as WebsocketRpcClient
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=index-CDZGs6Fl.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CDZGs6Fl.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 WebSocket from \"isomorphic-ws\";\nimport { Event, Trigger } from \"@dxos/async\";\nimport { log, logInfo } from \"@dxos/log\";\nimport { createProtoRpcPeer } from \"@dxos/rpc\";\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_file = \"/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 this._socket = new WebSocket(this._params.url);\n this._socket.onopen = async () => {\n log(\"Socket open\", void 0, {\n F: __dxlog_file,\n L: 55,\n S: this,\n C: (f, a) => f(...a)\n });\n try {\n await this._rpc.open();\n log(`RPC open ${this._params.url}`, void 0, {\n F: __dxlog_file,\n L: 58,\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 log(`Disconnected ${this._params.url}`, void 0, {\n F: __dxlog_file,\n L: 67,\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 log.error(event.message ?? \"Socket error\", {\n url: this._params.url\n }, {\n F: __dxlog_file,\n L: 73,\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 log.catch(err, void 0, {\n F: __dxlog_file,\n L: 86,\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 WebSocket2 from \"isomorphic-ws\";\nimport { log as log2 } from \"@dxos/log\";\nimport { createProtoRpcPeer as createProtoRpcPeer2 } from \"@dxos/rpc\";\nvar __dxlog_file2 = \"/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 async open() {\n this._server = new WebSocket2.Server({\n ...this._params\n });\n this._server.on(\"connection\", async (socket, request) => {\n log2(\"connection\", {\n request\n }, {\n F: __dxlog_file2,\n L: 34,\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 WebsocketRpcClient,\n WebsocketRpcServer\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["_ts_decorate","decorators","target","key","desc","r","d","i","__dxlog_file","WebsocketRpcClient","_params","Trigger","Event","createProtoRpcPeer","msg","cb","Buffer","WebSocket","log","f","a","err","event","error","_a","_b","logInfo"],"mappings":"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"}
|