@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.
Files changed (142) hide show
  1. package/dist/bundle/index-CDZGs6Fl.mjs +94 -0
  2. package/dist/bundle/index-CDZGs6Fl.mjs.map +1 -0
  3. package/dist/bundle/index-DJjWWEjX.mjs +96609 -0
  4. package/dist/bundle/index-DJjWWEjX.mjs.map +1 -0
  5. package/dist/bundle/shell.mjs +9 -81813
  6. package/dist/bundle/shell.mjs.map +1 -1
  7. package/dist/bundle/shell.umd.js +152 -89
  8. package/dist/bundle/shell.umd.js.map +1 -1
  9. package/dist/bundle/style.css +1 -1
  10. package/dist/lib/browser/meta.json +1 -1
  11. package/dist/lib/browser/react.mjs +862 -821
  12. package/dist/lib/browser/react.mjs.map +4 -4
  13. package/dist/lib/browser/testing/index.mjs +4 -2
  14. package/dist/lib/browser/testing/index.mjs.map +2 -2
  15. package/dist/types/src/components/AgentConfig.d.ts +3 -0
  16. package/dist/types/src/components/AgentConfig.d.ts.map +1 -0
  17. package/dist/types/src/components/AgentConfig.js +37 -0
  18. package/dist/types/src/components/AgentConfig.js.map +1 -0
  19. package/dist/types/src/components/DeviceList/DeviceList.d.ts +3 -0
  20. package/dist/types/src/components/DeviceList/DeviceList.d.ts.map +1 -0
  21. package/dist/types/src/components/DeviceList/DeviceList.js +29 -0
  22. package/dist/types/src/components/DeviceList/DeviceList.js.map +1 -0
  23. package/dist/types/src/components/DeviceList/DeviceListItem.d.ts +6 -0
  24. package/dist/types/src/components/DeviceList/DeviceListItem.d.ts.map +1 -0
  25. package/dist/types/src/components/DeviceList/DeviceListItem.js +72 -0
  26. package/dist/types/src/components/DeviceList/DeviceListItem.js.map +1 -0
  27. package/dist/types/src/components/DeviceList/DeviceListProps.d.ts +27 -0
  28. package/dist/types/src/components/DeviceList/DeviceListProps.d.ts.map +1 -0
  29. package/dist/types/src/components/DeviceList/DeviceListProps.js +6 -0
  30. package/dist/types/src/components/DeviceList/DeviceListProps.js.map +1 -0
  31. package/dist/types/src/components/DeviceList/index.d.ts +3 -0
  32. package/dist/types/src/components/DeviceList/index.d.ts.map +1 -0
  33. package/dist/types/src/components/DeviceList/index.js +22 -0
  34. package/dist/types/src/components/DeviceList/index.js.map +1 -0
  35. package/dist/types/src/components/EmojiPicker.d.ts +9 -2
  36. package/dist/types/src/components/EmojiPicker.d.ts.map +1 -1
  37. package/dist/types/src/components/EmojiPicker.js +57 -3
  38. package/dist/types/src/components/EmojiPicker.js.map +1 -1
  39. package/dist/types/src/components/HuePicker.d.ts +9 -2
  40. package/dist/types/src/components/HuePicker.d.ts.map +1 -1
  41. package/dist/types/src/components/HuePicker.js +75 -6
  42. package/dist/types/src/components/HuePicker.js.map +1 -1
  43. package/dist/types/src/components/IdentityList/index.d.ts +0 -1
  44. package/dist/types/src/components/IdentityList/index.d.ts.map +1 -1
  45. package/dist/types/src/components/IdentityList/index.js +0 -1
  46. package/dist/types/src/components/IdentityList/index.js.map +1 -1
  47. package/dist/types/src/components/InvitationList/InvitationListItem.js +5 -5
  48. package/dist/types/src/components/InvitationList/InvitationListItem.js.map +1 -1
  49. package/dist/types/src/components/Panel/Action.d.ts +2 -2
  50. package/dist/types/src/components/Viewport/Viewport.d.ts +1 -1
  51. package/dist/types/src/components/index.d.ts +2 -0
  52. package/dist/types/src/components/index.d.ts.map +1 -1
  53. package/dist/types/src/components/index.js +2 -0
  54. package/dist/types/src/components/index.js.map +1 -1
  55. package/dist/types/src/composites/Shell/Shell.d.ts.map +1 -1
  56. package/dist/types/src/composites/Shell/Shell.js +1 -5
  57. package/dist/types/src/composites/Shell/Shell.js.map +1 -1
  58. package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts.map +1 -1
  59. package/dist/types/src/panels/IdentityPanel/IdentityPanel.js +80 -40
  60. package/dist/types/src/panels/IdentityPanel/IdentityPanel.js.map +1 -1
  61. package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts +0 -3
  62. package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts.map +1 -1
  63. package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js +1 -43
  64. package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js.map +1 -1
  65. package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts +8 -11
  66. package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts.map +1 -1
  67. package/dist/types/src/panels/IdentityPanel/identityMachine.d.ts +1 -1
  68. package/dist/types/src/panels/IdentityPanel/identityMachine.d.ts.map +1 -1
  69. package/dist/types/src/panels/IdentityPanel/identityMachine.js +0 -24
  70. package/dist/types/src/panels/IdentityPanel/identityMachine.js.map +1 -1
  71. package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.d.ts +4 -4
  72. package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.d.ts.map +1 -1
  73. package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.js +9 -43
  74. package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.js.map +1 -1
  75. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts +1 -1
  76. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts.map +1 -1
  77. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js +2 -2
  78. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js.map +1 -1
  79. package/dist/types/src/panels/IdentityPanel/steps/index.d.ts +0 -2
  80. package/dist/types/src/panels/IdentityPanel/steps/index.d.ts.map +1 -1
  81. package/dist/types/src/panels/IdentityPanel/steps/index.js +0 -2
  82. package/dist/types/src/panels/IdentityPanel/steps/index.js.map +1 -1
  83. package/dist/types/src/panels/IdentityPanel/useAgentHandlers.d.ts.map +1 -1
  84. package/dist/types/src/panels/IdentityPanel/useAgentHandlers.js +5 -1
  85. package/dist/types/src/panels/IdentityPanel/useAgentHandlers.js.map +1 -1
  86. package/dist/types/src/panels/SpacePanel/steps/SpaceManager.d.ts.map +1 -1
  87. package/dist/types/src/panels/SpacePanel/steps/SpaceManager.js +3 -1
  88. package/dist/types/src/panels/SpacePanel/steps/SpaceManager.js.map +1 -1
  89. package/dist/types/src/steps/InvitationManager.d.ts +1 -1
  90. package/dist/types/src/steps/InvitationManager.d.ts.map +1 -1
  91. package/dist/types/src/steps/InvitationManager.js +3 -4
  92. package/dist/types/src/steps/InvitationManager.js.map +1 -1
  93. package/dist/types/src/stories/Invitations.e2e-stories.d.ts.map +1 -1
  94. package/dist/types/src/stories/Invitations.e2e-stories.js +2 -2
  95. package/dist/types/src/stories/Invitations.e2e-stories.js.map +1 -1
  96. package/dist/types/src/testing/shell-manager.d.ts.map +1 -1
  97. package/dist/types/src/testing/shell-manager.js +4 -2
  98. package/dist/types/src/testing/shell-manager.js.map +1 -1
  99. package/dist/types/src/translations/locales/en-US.d.ts +12 -2
  100. package/dist/types/src/translations/locales/en-US.d.ts.map +1 -1
  101. package/dist/types/src/translations/locales/en-US.js +12 -2
  102. package/dist/types/src/translations/locales/en-US.js.map +1 -1
  103. package/package.json +21 -20
  104. package/src/components/AgentConfig.tsx +66 -0
  105. package/src/components/DeviceList/DeviceList.tsx +54 -0
  106. package/src/components/DeviceList/DeviceListItem.tsx +120 -0
  107. package/src/components/DeviceList/DeviceListProps.ts +33 -0
  108. package/src/components/DeviceList/index.ts +6 -0
  109. package/src/components/EmojiPicker.tsx +101 -4
  110. package/src/components/HuePicker.tsx +99 -5
  111. package/src/components/IdentityList/index.ts +0 -1
  112. package/src/components/InvitationList/InvitationListItem.tsx +5 -5
  113. package/src/components/index.ts +2 -0
  114. package/src/composites/Shell/Shell.tsx +1 -7
  115. package/src/panels/IdentityPanel/IdentityPanel.stories.tsx +0 -63
  116. package/src/panels/IdentityPanel/IdentityPanel.tsx +123 -34
  117. package/src/panels/IdentityPanel/IdentityPanelProps.ts +10 -14
  118. package/src/panels/IdentityPanel/identityMachine.ts +1 -31
  119. package/src/panels/IdentityPanel/steps/IdentityActionChooser.tsx +23 -76
  120. package/src/panels/IdentityPanel/steps/ProfileForm.tsx +12 -4
  121. package/src/panels/IdentityPanel/steps/index.ts +0 -2
  122. package/src/panels/IdentityPanel/useAgentHandlers.ts +5 -1
  123. package/src/panels/SpacePanel/steps/SpaceManager.tsx +3 -1
  124. package/src/steps/InvitationManager.tsx +4 -4
  125. package/src/stories/Invitations.e2e-stories.tsx +3 -3
  126. package/src/testing/shell-manager.ts +4 -2
  127. package/src/translations/locales/en-US.ts +13 -2
  128. package/dist/types/src/components/IdentityList/DeviceList.d.ts +0 -7
  129. package/dist/types/src/components/IdentityList/DeviceList.d.ts.map +0 -1
  130. package/dist/types/src/components/IdentityList/DeviceList.js +0 -34
  131. package/dist/types/src/components/IdentityList/DeviceList.js.map +0 -1
  132. package/dist/types/src/panels/IdentityPanel/steps/AgentForm.d.ts +0 -3
  133. package/dist/types/src/panels/IdentityPanel/steps/AgentForm.d.ts.map +0 -1
  134. package/dist/types/src/panels/IdentityPanel/steps/AgentForm.js +0 -26
  135. package/dist/types/src/panels/IdentityPanel/steps/AgentForm.js.map +0 -1
  136. package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.d.ts +0 -10
  137. package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.d.ts.map +0 -1
  138. package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.js +0 -23
  139. package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.js.map +0 -1
  140. package/src/components/IdentityList/DeviceList.tsx +0 -49
  141. package/src/panels/IdentityPanel/steps/AgentForm.tsx +0 -61
  142. 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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"}