@dxos/shell 0.6.1-main.e05b43b → 0.6.1-main.fac53f5

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 (49) hide show
  1. package/dist/bundle/shell.mjs +198 -121
  2. package/dist/bundle/shell.mjs.map +1 -1
  3. package/dist/bundle/shell.umd.js +5 -5
  4. package/dist/bundle/shell.umd.js.map +1 -1
  5. package/dist/bundle/style.css +1 -1
  6. package/dist/lib/browser/meta.json +1 -1
  7. package/dist/lib/browser/react.mjs +171 -115
  8. package/dist/lib/browser/react.mjs.map +3 -3
  9. package/dist/types/src/components/AgentConfig.d.ts +1 -1
  10. package/dist/types/src/components/AgentConfig.d.ts.map +1 -1
  11. package/dist/types/src/components/AgentConfig.js +36 -24
  12. package/dist/types/src/components/AgentConfig.js.map +1 -1
  13. package/dist/types/src/components/DeviceList/DeviceList.d.ts +2 -2
  14. package/dist/types/src/components/DeviceList/DeviceList.d.ts.map +1 -1
  15. package/dist/types/src/components/DeviceList/DeviceList.js +2 -2
  16. package/dist/types/src/components/DeviceList/DeviceList.js.map +1 -1
  17. package/dist/types/src/components/DeviceList/DeviceListItem.d.ts +2 -2
  18. package/dist/types/src/components/DeviceList/DeviceListItem.d.ts.map +1 -1
  19. package/dist/types/src/components/DeviceList/DeviceListItem.js +11 -5
  20. package/dist/types/src/components/DeviceList/DeviceListItem.js.map +1 -1
  21. package/dist/types/src/components/DeviceList/DeviceListProps.d.ts +6 -7
  22. package/dist/types/src/components/DeviceList/DeviceListProps.d.ts.map +1 -1
  23. package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts.map +1 -1
  24. package/dist/types/src/panels/IdentityPanel/IdentityPanel.js +2 -5
  25. package/dist/types/src/panels/IdentityPanel/IdentityPanel.js.map +1 -1
  26. package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts +0 -1
  27. package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts.map +1 -1
  28. package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.d.ts +1 -1
  29. package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.d.ts.map +1 -1
  30. package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.js +5 -5
  31. package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.js.map +1 -1
  32. package/dist/types/src/panels/IdentityPanel/useAgentHandlers.d.ts +2 -7
  33. package/dist/types/src/panels/IdentityPanel/useAgentHandlers.d.ts.map +1 -1
  34. package/dist/types/src/panels/IdentityPanel/useAgentHandlers.js +78 -43
  35. package/dist/types/src/panels/IdentityPanel/useAgentHandlers.js.map +1 -1
  36. package/dist/types/src/translations/locales/en-US.d.ts +5 -0
  37. package/dist/types/src/translations/locales/en-US.d.ts.map +1 -1
  38. package/dist/types/src/translations/locales/en-US.js +5 -0
  39. package/dist/types/src/translations/locales/en-US.js.map +1 -1
  40. package/package.json +23 -23
  41. package/src/components/AgentConfig.tsx +100 -48
  42. package/src/components/DeviceList/DeviceList.tsx +4 -3
  43. package/src/components/DeviceList/DeviceListItem.tsx +66 -28
  44. package/src/components/DeviceList/DeviceListProps.ts +6 -7
  45. package/src/panels/IdentityPanel/IdentityPanel.tsx +2 -5
  46. package/src/panels/IdentityPanel/IdentityPanelProps.ts +0 -1
  47. package/src/panels/IdentityPanel/steps/IdentityActionChooser.tsx +7 -15
  48. package/src/panels/IdentityPanel/useAgentHandlers.ts +77 -41
  49. package/src/translations/locales/en-US.ts +6 -0
@@ -11,48 +11,85 @@ const react_client_1 = require("@dxos/react-client");
11
11
  const invitations_1 = require("@dxos/react-client/invitations");
12
12
  const useAgentHandlers = ({ invitations, identity, }) => {
13
13
  const [validationMessage, setValidationMessage] = (0, react_1.useState)('');
14
- const [agentStatus, setAgentStatus] = (0, react_1.useState)('');
15
- const [agentActive, setAgentActive] = (0, react_1.useState)(false);
14
+ const [agentStatus, setAgentStatus] = (0, react_1.useState)('getting');
16
15
  const agentHostingProviderClient = (0, react_client_1.useAgentHostingClient)();
17
16
  const client = (0, react_client_1.useClient)();
18
- (0, react_1.useEffect)(() => {
19
- const fetchAgentStatus = async () => {
20
- var _a;
21
- // TODO(nf): if agent exists, subscribe to updates instead of oneshot status
22
- if (agentHostingProviderClient) {
23
- const agentStatus = await (agentHostingProviderClient === null || agentHostingProviderClient === void 0 ? void 0 : agentHostingProviderClient.getAgent((_a = identity === null || identity === void 0 ? void 0 : identity.identityKey.truncate()) !== null && _a !== void 0 ? _a : 'foo'));
24
- if (agentStatus) {
25
- setAgentActive(true);
26
- setAgentStatus(agentStatus);
17
+ const updateAgentStatus = async () => {
18
+ var _a;
19
+ // TODO(nf): if agent exists, subscribe to updates instead of oneshot status
20
+ if (agentHostingProviderClient) {
21
+ setAgentStatus('getting');
22
+ try {
23
+ const agentId = await (agentHostingProviderClient === null || agentHostingProviderClient === void 0 ? void 0 : agentHostingProviderClient.getAgent((_a = identity === null || identity === void 0 ? void 0 : identity.identityKey.truncate()) !== null && _a !== void 0 ? _a : 'never'));
24
+ if (agentId) {
25
+ setAgentStatus('created');
26
+ }
27
+ else {
28
+ setAgentStatus('creatable');
29
+ }
30
+ }
31
+ catch (err) {
32
+ setAgentStatus('error');
33
+ setValidationMessage(`Couldn’t check agent status: ${err.message}`);
34
+ }
35
+ }
36
+ else {
37
+ setAgentStatus('error');
38
+ setValidationMessage('No agent provider configured.');
39
+ }
40
+ };
41
+ const createAgent = async (invitationCode) => {
42
+ (0, invariant_1.invariant)(identity, 'Identity not found');
43
+ if (agentHostingProviderClient) {
44
+ setAgentStatus('creating');
45
+ setValidationMessage('');
46
+ try {
47
+ const agentId = await (agentHostingProviderClient === null || agentHostingProviderClient === void 0 ? void 0 : agentHostingProviderClient.createAgent(invitationCode, identity.identityKey.truncate()));
48
+ if (agentId) {
49
+ setAgentStatus('created');
27
50
  }
28
51
  else {
29
- setAgentActive(false);
30
- setValidationMessage('No agent deployed via provider.');
52
+ setAgentStatus('creatable');
53
+ setValidationMessage('Error creating agent.');
31
54
  }
32
55
  }
33
- else {
34
- setValidationMessage('No agent provider configured.');
56
+ catch (err) {
57
+ setValidationMessage(`Error creating agent: ${err.message}`);
58
+ return updateAgentStatus();
35
59
  }
36
- };
37
- void fetchAgentStatus();
60
+ }
61
+ else {
62
+ setAgentStatus('error');
63
+ setValidationMessage('No agent provider configured.');
64
+ }
65
+ };
66
+ const destroyAgent = async () => {
67
+ (0, invariant_1.invariant)(identity, 'Identity not found');
68
+ if (agentHostingProviderClient) {
69
+ setAgentStatus('destroying');
70
+ setValidationMessage('');
71
+ try {
72
+ await (agentHostingProviderClient === null || agentHostingProviderClient === void 0 ? void 0 : agentHostingProviderClient.destroyAgent(identity.identityKey.truncate()));
73
+ setAgentStatus('creatable');
74
+ }
75
+ catch (err) {
76
+ setValidationMessage(`Error destroying agent: ${err.message}`);
77
+ return updateAgentStatus();
78
+ }
79
+ }
80
+ else {
81
+ setAgentStatus('error');
82
+ setValidationMessage('No agent provider configured.');
83
+ }
84
+ };
85
+ (0, react_1.useEffect)(() => {
86
+ void updateAgentStatus();
38
87
  }, []);
39
88
  const handleAgentCreate = (0, react_1.useCallback)(async (invitation) => {
40
89
  const invitationCode = invitations_1.InvitationEncoder.encode(invitation);
41
90
  if (invitation.state === invitations_1.Invitation.State.CONNECTING) {
42
91
  log_1.log.info(JSON.stringify({ invitationCode, authCode: invitation.authCode }));
43
- (0, invariant_1.invariant)(identity, 'Identity not found');
44
- if (agentHostingProviderClient) {
45
- try {
46
- const res = await (agentHostingProviderClient === null || agentHostingProviderClient === void 0 ? void 0 : agentHostingProviderClient.createAgent(invitationCode, identity.identityKey.truncate()));
47
- // TODO(nf): human-consumable response from API
48
- setAgentStatus(res);
49
- setAgentActive(true);
50
- setValidationMessage('');
51
- }
52
- catch (err) {
53
- setValidationMessage(`error creating agent: ${err.message}`);
54
- }
55
- }
92
+ return createAgent(invitationCode);
56
93
  }
57
94
  }, []);
58
95
  const onAgentCreate = async () => {
@@ -65,20 +102,18 @@ const useAgentHandlers = ({ invitations, identity, }) => {
65
102
  });
66
103
  invitation.subscribe(handleAgentCreate);
67
104
  };
68
- const onAgentDestroy = async () => {
69
- const identity = client.halo.identity.get();
70
- (0, invariant_1.invariant)(identity, 'Identity not found');
71
- try {
72
- await (agentHostingProviderClient === null || agentHostingProviderClient === void 0 ? void 0 : agentHostingProviderClient.destroyAgent(identity.identityKey.truncate()));
73
- setValidationMessage('No agent deployed via provider.');
74
- setAgentStatus('');
75
- setAgentActive(false);
76
- }
77
- catch (err) {
78
- setValidationMessage(`error destroying agent: ${err.message}`);
79
- }
105
+ const onAgentRefresh = async () => {
106
+ setValidationMessage('');
107
+ await updateAgentStatus();
108
+ };
109
+ return {
110
+ onAgentCreate,
111
+ onAgentDestroy: destroyAgent,
112
+ onAgentRefresh,
113
+ validationMessage,
114
+ agentStatus,
115
+ agentHostingEnabled: !!agentHostingProviderClient,
80
116
  };
81
- return { onAgentCreate, onAgentDestroy, validationMessage, agentStatus, agentActive };
82
117
  };
83
118
  exports.useAgentHandlers = useAgentHandlers;
84
119
  //# sourceMappingURL=useAgentHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAgentHandlers.js","sourceRoot":"","sources":["../../../../../src/panels/IdentityPanel/useAgentHandlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAgentHandlers.js","sourceRoot":"","sources":["../../../../../src/panels/IdentityPanel/useAgentHandlers.ts"],"names":[],"mappings":"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"}
@@ -138,5 +138,10 @@ export declare const os: {
138
138
  'destroy agent label': string;
139
139
  'agent device label': string;
140
140
  'shell fallback title': string;
141
+ 'creating agent label': string;
142
+ 'destroying agent label': string;
143
+ 'getting agent label': string;
144
+ 'agent requested label': string;
145
+ 'agent requested description': string;
141
146
  };
142
147
  //# sourceMappingURL=en-US.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"en-US.d.ts","sourceRoot":"","sources":["../../../../../src/translations/locales/en-US.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgJd,CAAC"}
1
+ {"version":3,"file":"en-US.d.ts","sourceRoot":"","sources":["../../../../../src/translations/locales/en-US.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsJd,CAAC"}
@@ -144,5 +144,10 @@ exports.os = {
144
144
  'destroy agent label': 'Shut down agent',
145
145
  'agent device label': 'Your agent',
146
146
  'shell fallback title': 'Shell failed to connect',
147
+ 'creating agent label': 'Starting agent…',
148
+ 'destroying agent label': 'Stopping agent…',
149
+ 'getting agent label': 'Checking agent status…',
150
+ 'agent requested label': 'Agent requested',
151
+ 'agent requested description': 'The agent service is creating an agent for you. Once the agent connects, it will display in the devices list.',
147
152
  };
148
153
  //# sourceMappingURL=en-US.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"en-US.js","sourceRoot":"","sources":["../../../../../src/translations/locales/en-US.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"en-US.js","sourceRoot":"","sources":["../../../../../src/translations/locales/en-US.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEW,QAAA,EAAE,GAAG;IAChB,sBAAsB,EAAE,iBAAiB;IACzC,8BAA8B,EAAE,SAAS;IACzC,eAAe,EAAE,cAAc;IAC/B,4BAA4B,EAAE,UAAU;IACxC,oBAAoB,EAAE,QAAQ;IAC9B,4BAA4B,EAAE,iBAAiB;IAC/C,wBAAwB,EAAE,cAAc;IACxC,uBAAuB,EAAE,eAAe;IACxC,oBAAoB,EAAE,wBAAwB;IAC9C,cAAc,EAAE,4BAA4B;IAC5C,YAAY,EAAE,MAAM;IACpB,yBAAyB,EAAE,SAAS;IACpC,4BAA4B,EAAE,+DAA+D;IAC7F,oBAAoB,EAAE,KAAK;IAC3B,gBAAgB,EAAE,UAAU;IAC5B,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,MAAM;IACpB,aAAa,EAAE,OAAO;IACtB,oBAAoB,EAAE,oBAAoB;IAC1C,uBAAuB,EAAE,oBAAoB;IAC7C,6BAA6B,EAAE,wBAAwB;IACvD,wBAAwB,EAAE,mBAAmB;IAC7C,8BAA8B,EAAE,4CAA4C;IAC5E,qBAAqB,EAAE,oBAAoB;IAC3C,2BAA2B,EAAE,8EAA8E;IAC3G,yBAAyB,EAAE,oBAAoB;IAC/C,+BAA+B,EAAE,qCAAqC;IACtE,0BAA0B,EAAE,kBAAkB;IAC9C,8BAA8B,EAAE,gCAAgC;IAChE,mCAAmC,EAAE,+BAA+B;IACpE,oCAAoC,EAAE,8DAA8D;IACpG,gCAAgC,EAAE,gBAAgB;IAClD,sBAAsB,EAAE,0CAA0C;IAClE,gCAAgC,EAAE,mEAAmE;IACrG,oBAAoB,EAAE,QAAQ;IAC9B,sBAAsB,EAAE,WAAW;IACnC,wBAAwB,EAAE,WAAW;IACrC,mBAAmB,EAAE,kBAAkB;IACvC,yBAAyB,EAAE,aAAa;IACxC,wBAAwB,EAAE,wBAAwB;IAClD,6BAA6B,EAAE,wBAAwB;IACvD,sBAAsB,EAAE,SAAS;IACjC,cAAc,EAAE,QAAQ;IACxB,YAAY,EAAE,MAAM;IACpB,aAAa,EAAE,YAAY;IAC3B,uBAAuB,EAAE,6BAA6B;IACtD,wBAAwB,EAAE,iCAAiC;IAC3D,gCAAgC,EAAE,YAAY;IAC9C,+BAA+B,EAAE,QAAQ;IACzC,UAAU,EAAE,2BAA2B;IACvC,2BAA2B,EAAE,wBAAwB;IACrD,2BAA2B,EAAE,kDAAkD;IAC/E,uBAAuB,EAAE,YAAY;IACrC,kBAAkB,EAAE,YAAY;IAChC,oBAAoB,EAAE,oBAAoB;IAC1C,kBAAkB,EAAE,cAAc;IAClC,0BAA0B,EAAE,eAAe;IAC3C,8BAA8B,EAAE,wBAAwB;IACxD,sBAAsB,EAAE,oBAAoB;IAC5C,oBAAoB,EAAE,cAAc;IACpC,qBAAqB,EAAE,eAAe;IACtC,iBAAiB,EAAE,SAAS;IAC5B,4BAA4B,EAAE,oBAAoB;IAClD,iBAAiB,EAAE,SAAS;IAC5B,kBAAkB,EAAE,kBAAkB;IACtC,yBAAyB,EAAE,YAAY;IACvC,sBAAsB,EAAE,gBAAgB;IACxC,sBAAsB,EAAE,cAAc;IACtC,uBAAuB,EAAE,eAAe;IACxC,gCAAgC,EAAE,sBAAsB;IACxD,6BAA6B,EAAE,oCAAoC;IACnE,+BAA+B,EAAE,yBAAyB;IAC1D,oBAAoB,EAAE,YAAY;IAClC,yBAAyB,EAAE,aAAa;IACxC,gCAAgC,EAAE,4BAA4B;IAC9D,+BAA+B,EAAE,qBAAqB;IACtD,qBAAqB,EAAE,SAAS;IAChC,2BAA2B,EAAE,SAAS;IACtC,qBAAqB,EAAE,kBAAkB;IACzC,mBAAmB,EAAE,sDAAsD;IAC3E,iCAAiC,EAAE,sDAAsD;IACzF,0BAA0B,EAAE,cAAc;IAC1C,gCAAgC,EAAE,sBAAsB;IACxD,kBAAkB,EAAE,uBAAuB;IAC3C,wBAAwB,EAAE,yBAAyB;IACnD,qBAAqB,EAAE,uBAAuB;IAC9C,4BAA4B,EAAE,8BAA8B;IAC5D,mBAAmB,EAAE,sBAAsB;IAC3C,yBAAyB,EAAE,gCAAgC;IAC3D,sBAAsB,EAAE,sBAAsB;IAC9C,6BAA6B,EAAE,6BAA6B;IAC5D,sBAAsB,EAAE,kCAAkC;IAC1D,yBAAyB,EAAE,cAAc;IACzC,eAAe,EAAE,SAAS;IAC1B,2BAA2B,EACzB,4FAA4F;IAC9F,+BAA+B,EAC7B,sHAAsH;IACxH,kCAAkC,EAAE,2BAA2B;IAC/D,oBAAoB,EAAE,OAAO;IAC7B,0BAA0B,EAAE,0CAA0C;IACtE,wBAAwB,EAAE,aAAa;IACvC,0BAA0B,EAAE,sEAAsE;IAClG,yBAAyB,EAAE,qBAAqB;IAChD,oBAAoB,EAAE,eAAe;IACrC,8BAA8B,EAAE,oEAAoE;IACpG,uBAAuB,EAAE,iBAAiB;IAC1C,aAAa,EAAE,aAAa;IAC5B,oBAAoB,EAAE,cAAc;IACpC,kBAAkB,EAAE,yBAAyB;IAC7C,mBAAmB,EAAE,uCAAuC;IAC5D,WAAW,EAAE,KAAK;IAClB,cAAc,EAAE,QAAQ;IACxB,aAAa,EAAE,OAAO;IACtB,cAAc,EAAE,QAAQ;IACxB,YAAY,EAAE,MAAM;IACpB,aAAa,EAAE,OAAO;IACtB,eAAe,EAAE,SAAS;IAC1B,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,MAAM;IACpB,cAAc,EAAE,QAAQ;IACxB,cAAc,EAAE,QAAQ;IACxB,cAAc,EAAE,QAAQ;IACxB,eAAe,EAAE,SAAS;IAC1B,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,MAAM;IACpB,0BAA0B,EAAE,aAAa;IACzC,yBAAyB,EAAE,wBAAwB;IACnD,oBAAoB,EAAE,cAAc;IACpC,kBAAkB,EAAE,aAAa;IACjC,eAAe,EAAE,YAAY;IAC7B,mBAAmB,EAAE,2BAA2B;IAChD,eAAe,EAAE,OAAO;IACxB,wBAAwB,EACtB,yGAAyG;IAC3G,0BAA0B,EACxB,qMAAqM;IACvM,oBAAoB,EAAE,gBAAgB;IACtC,qBAAqB,EAAE,iBAAiB;IACxC,oBAAoB,EAAE,YAAY;IAClC,sBAAsB,EAAE,yBAAyB;IACjD,sBAAsB,EAAE,iBAAiB;IACzC,wBAAwB,EAAE,iBAAiB;IAC3C,qBAAqB,EAAE,wBAAwB;IAC/C,uBAAuB,EAAE,iBAAiB;IAC1C,6BAA6B,EAC3B,+GAA+G;CAClH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/shell",
3
- "version": "0.6.1-main.e05b43b",
3
+ "version": "0.6.1-main.fac53f5",
4
4
  "description": "DXOS’s OS experiences",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -42,20 +42,20 @@
42
42
  "react-qr-rounded": "^1.0.0",
43
43
  "url-join": "^5.0.0",
44
44
  "xstate": "^4.37.0",
45
- "@dxos/client-protocol": "0.6.1-main.e05b43b",
46
- "@dxos/async": "0.6.1-main.e05b43b",
47
- "@dxos/client-services": "0.6.1-main.e05b43b",
48
- "@dxos/debug": "0.6.1-main.e05b43b",
49
- "@dxos/log": "0.6.1-main.e05b43b",
50
- "@dxos/invariant": "0.6.1-main.e05b43b",
51
- "@dxos/display-name": "0.6.1-main.e05b43b",
52
- "@dxos/protocols": "0.6.1-main.e05b43b",
53
- "@dxos/react-ui-theme": "0.6.1-main.e05b43b",
54
- "@dxos/react-ui-types": "0.6.1-main.e05b43b",
55
- "@dxos/react-ui": "0.6.1-main.e05b43b",
56
- "@dxos/rpc": "0.6.1-main.e05b43b",
57
- "@dxos/util": "0.6.1-main.e05b43b",
58
- "@dxos/rpc-tunnel": "0.6.1-main.e05b43b"
45
+ "@dxos/async": "0.6.1-main.fac53f5",
46
+ "@dxos/client-protocol": "0.6.1-main.fac53f5",
47
+ "@dxos/client-services": "0.6.1-main.fac53f5",
48
+ "@dxos/debug": "0.6.1-main.fac53f5",
49
+ "@dxos/display-name": "0.6.1-main.fac53f5",
50
+ "@dxos/invariant": "0.6.1-main.fac53f5",
51
+ "@dxos/log": "0.6.1-main.fac53f5",
52
+ "@dxos/protocols": "0.6.1-main.fac53f5",
53
+ "@dxos/react-ui": "0.6.1-main.fac53f5",
54
+ "@dxos/react-ui-types": "0.6.1-main.fac53f5",
55
+ "@dxos/react-ui-theme": "0.6.1-main.fac53f5",
56
+ "@dxos/rpc-tunnel": "0.6.1-main.fac53f5",
57
+ "@dxos/rpc": "0.6.1-main.fac53f5",
58
+ "@dxos/util": "0.6.1-main.fac53f5"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@phosphor-icons/react": "^2.1.5",
@@ -65,19 +65,19 @@
65
65
  "react": "^18.2.0",
66
66
  "react-dom": "^18.2.0",
67
67
  "vite": "^5.2.9",
68
- "@dxos/config": "0.6.1-main.e05b43b",
69
- "@dxos/random": "0.6.1-main.e05b43b",
70
- "@dxos/react-client": "0.6.1-main.e05b43b",
71
- "@dxos/protocols": "0.6.1-main.e05b43b",
72
- "@dxos/storybook-utils": "0.6.1-main.e05b43b",
73
- "@dxos/react-ui-theme": "0.6.1-main.e05b43b",
74
- "@dxos/react-async": "0.6.1-main.e05b43b"
68
+ "@dxos/config": "0.6.1-main.fac53f5",
69
+ "@dxos/protocols": "0.6.1-main.fac53f5",
70
+ "@dxos/random": "0.6.1-main.fac53f5",
71
+ "@dxos/react-async": "0.6.1-main.fac53f5",
72
+ "@dxos/react-client": "0.6.1-main.fac53f5",
73
+ "@dxos/react-ui-theme": "0.6.1-main.fac53f5",
74
+ "@dxos/storybook-utils": "0.6.1-main.fac53f5"
75
75
  },
76
76
  "peerDependencies": {
77
77
  "@phosphor-icons/react": "^2.1.5",
78
78
  "react": "^18.2.0",
79
79
  "react-dom": "^18.2.0",
80
- "@dxos/react-client": "0.6.1-main.e05b43b"
80
+ "@dxos/react-client": "0.6.1-main.fac53f5"
81
81
  },
82
82
  "publishConfig": {
83
83
  "access": "public"
@@ -2,74 +2,126 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Database, Plus, Power } from '@phosphor-icons/react';
5
+ import { ArrowsClockwise, Database, Plus, Power } from '@phosphor-icons/react';
6
6
  import React from 'react';
7
7
 
8
8
  import { Avatar, Button, Link, Tooltip, Trans, useTranslation } from '@dxos/react-ui';
9
- import { descriptionText, getSize, mx } from '@dxos/react-ui-theme';
9
+ import { descriptionText, getSize, mx, valenceColorText } from '@dxos/react-ui-theme';
10
10
 
11
11
  import { type AgentFormProps } from './DeviceList';
12
12
 
13
- export const AgentConfig = ({ agentActive, agentStatus, onAgentDestroy, onAgentCreate }: AgentFormProps) => {
13
+ export const AgentConfig = ({
14
+ agentStatus,
15
+ validationMessage,
16
+ onAgentDestroy,
17
+ onAgentCreate,
18
+ onAgentRefresh,
19
+ }: Omit<AgentFormProps, 'agentHostingEnabled'>) => {
14
20
  const { t } = useTranslation('os');
15
21
  return (
16
22
  <>
17
23
  <h2 className={mx(descriptionText, 'text-center mbs-4')}>{t('agent heading')}</h2>
18
- {agentActive ? (
19
- <div role='group' className='flex gap-2 items-center'>
20
- <Avatar.Root status={agentStatus ? 'active' : 'inactive'} variant='square'>
21
- <Avatar.Frame classNames='place-self-center'>
22
- <Database weight='duotone' width={24} height={24} x={8} y={8} />
23
- </Avatar.Frame>
24
- <Avatar.Label classNames='flex-1 text-sm truncate'>{t('agent device label')}</Avatar.Label>
25
- </Avatar.Root>
26
- <Tooltip.Root>
27
- <Tooltip.Trigger asChild>
28
- <Button
29
- variant='ghost'
30
- classNames='pli-0 is-[--rail-action] bs-[--rail-action]'
31
- data-testid='agent.destroy'
32
- onClick={onAgentDestroy}
33
- >
34
- <span className='sr-only'>{t('destroy agent label')}</span>
35
- <Power className={getSize(5)} />
36
- </Button>
37
- </Tooltip.Trigger>
38
- <Tooltip.Portal>
39
- <Tooltip.Content side='bottom' classNames='z-50'>
40
- {t('destroy agent label')}
41
- </Tooltip.Content>
42
- </Tooltip.Portal>
43
- </Tooltip.Root>
44
- </div>
24
+ {validationMessage && (
25
+ <p role='alert' className={mx(valenceColorText('error'), 'mlb-2')}>
26
+ {validationMessage}
27
+ </p>
28
+ )}
29
+ {agentStatus === 'created' ||
30
+ agentStatus === 'creating' ||
31
+ agentStatus === 'getting' ||
32
+ agentStatus === 'destroying' ? (
33
+ <>
34
+ <div
35
+ role='group'
36
+ className='mlb-2 flex gap-2 items-center'
37
+ aria-describedby='devices-panel.create-agent.description'
38
+ >
39
+ <Avatar.Root status={agentStatus === 'created' ? 'warning' : 'inactive'} variant='square'>
40
+ <Avatar.Frame classNames='place-self-center'>
41
+ <Database
42
+ weight='duotone'
43
+ width={24}
44
+ height={24}
45
+ x={8}
46
+ y={8}
47
+ {...(agentStatus !== 'created' && { className: 'opacity-50' })}
48
+ />
49
+ </Avatar.Frame>
50
+ <Avatar.Label classNames='flex-1 text-sm truncate'>
51
+ {t(
52
+ agentStatus === 'created'
53
+ ? 'agent requested label'
54
+ : agentStatus === 'creating'
55
+ ? 'creating agent label'
56
+ : agentStatus === 'destroying'
57
+ ? 'destroying agent label'
58
+ : 'getting agent label',
59
+ )}
60
+ </Avatar.Label>
61
+ </Avatar.Root>
62
+ {agentStatus === 'created' && (
63
+ <Tooltip.Root>
64
+ <Tooltip.Trigger asChild>
65
+ <Button
66
+ variant='ghost'
67
+ classNames='pli-0 is-[--rail-action] bs-[--rail-action]'
68
+ data-testid='agent.destroy'
69
+ onClick={onAgentDestroy}
70
+ >
71
+ <span className='sr-only'>{t('destroy agent label')}</span>
72
+ <Power className={getSize(5)} />
73
+ </Button>
74
+ </Tooltip.Trigger>
75
+ <Tooltip.Portal>
76
+ <Tooltip.Content side='bottom' classNames='z-50'>
77
+ {t('destroy agent label')}
78
+ </Tooltip.Content>
79
+ </Tooltip.Portal>
80
+ </Tooltip.Root>
81
+ )}
82
+ </div>
83
+ {agentStatus === 'created' && (
84
+ <p id='devices-panel.create-agent.description' className={mx(descriptionText, 'mlb-2')}>
85
+ {t('agent requested description')}
86
+ </p>
87
+ )}
88
+ </>
45
89
  ) : (
46
90
  <>
47
91
  <Button
48
92
  variant='ghost'
49
93
  classNames='mlb-2 is-full justify-start gap-2 !pis-0 !pie-3'
50
- data-testid='devices-panel.create-agent'
51
- onClick={onAgentCreate}
94
+ data-testid={agentStatus === 'creatable' ? 'devices-panel.create-agent' : 'devices-panel.agent-error'}
95
+ onClick={agentStatus === 'creatable' ? onAgentCreate : onAgentRefresh}
52
96
  aria-describedby='devices-panel.create-agent.description'
53
97
  >
54
98
  <div role='img' className={mx(getSize(8), 'm-1 rounded-sm surface-input grid place-items-center')}>
55
- <Plus weight='light' className={getSize(6)} />
99
+ {agentStatus === 'creatable' ? (
100
+ <Plus weight='light' className={getSize(6)} />
101
+ ) : (
102
+ <ArrowsClockwise weight='light' className={getSize(6)} />
103
+ )}
56
104
  </div>
57
- <span className='grow font-medium text-start'>{t('create agent label')}</span>
105
+ <span className='grow font-medium text-start'>
106
+ {t(agentStatus === 'creatable' ? 'create agent label' : '')}
107
+ </span>
58
108
  </Button>
59
- <p id='devices-panel.create-agent.clickwrap-message' className={mx(descriptionText, 'mbe-2')}>
60
- <Trans
61
- {...{
62
- t,
63
- i18nKey: 'create agent clickwrap',
64
- components: {
65
- tosLink: <Link target='_blank' rel='noreferrer' />,
66
- },
67
- }}
68
- />
69
- </p>
70
- <p id='devices-panel.create-agent.description' className={descriptionText}>
71
- {t('create agent description')}
72
- </p>
109
+ {agentStatus === 'creatable' && (
110
+ <div role='none' className='space-y-2' id='devices-panel.create-agent.description'>
111
+ <p className={descriptionText}>
112
+ <Trans
113
+ {...{
114
+ t,
115
+ i18nKey: 'create agent clickwrap',
116
+ components: {
117
+ tosLink: <Link target='_blank' rel='noreferrer' />,
118
+ },
119
+ }}
120
+ />
121
+ </p>
122
+ <p className={descriptionText}>{t('create agent description')}</p>
123
+ </div>
124
+ )}
73
125
  </>
74
126
  )}
75
127
  </>
@@ -10,7 +10,7 @@ import { Button, List, useTranslation } from '@dxos/react-ui';
10
10
  import { descriptionText, getSize, mx } from '@dxos/react-ui-theme';
11
11
 
12
12
  import { DeviceListItem } from './DeviceListItem';
13
- import { type DeviceListProps } from './DeviceListProps';
13
+ import { type AgentFormProps, type DeviceListProps } from './DeviceListProps';
14
14
 
15
15
  export const DeviceList = ({
16
16
  devices,
@@ -19,7 +19,8 @@ export const DeviceList = ({
19
19
  onClickEdit,
20
20
  onClickReset,
21
21
  onClickJoinExisting,
22
- }: DeviceListProps) => {
22
+ onAgentDestroy,
23
+ }: DeviceListProps & Pick<AgentFormProps, 'onAgentDestroy'>) => {
23
24
  const { t } = useTranslation('os');
24
25
  return (
25
26
  <>
@@ -32,7 +33,7 @@ export const DeviceList = ({
32
33
  key={device.deviceKey.toHex()}
33
34
  device={device}
34
35
  onClickEdit={() => onClickEdit?.(device)}
35
- {...{ onClickReset, onClickJoinExisting, connectionState }}
36
+ {...{ onClickReset, onClickJoinExisting, connectionState, onAgentDestroy }}
36
37
  />
37
38
  );
38
39
  })}