@dxos/react-client 0.5.3-main.61bbff4 → 0.5.3-main.64035f0

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.
@@ -6,27 +6,18 @@ import { useReducer, useMemo, useCallback, useEffect } from "react";
6
6
  import { Invitation, InvitationEncoder } from "@dxos/client/invitations";
7
7
  import { log } from "@dxos/log";
8
8
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/sdk/react-client/src/invitations/useInvitationStatus.ts";
9
- var useInvitationStatus = (observable) => {
9
+ var useInvitationStatus = (initialObservable) => {
10
10
  const [state, dispatch] = useReducer((prev, action) => {
11
11
  log("useInvitationStatus", {
12
12
  action
13
13
  }, {
14
14
  F: __dxlog_file,
15
- L: 84,
15
+ L: 81,
16
16
  S: void 0,
17
17
  C: (f, a) => f(...a)
18
18
  });
19
- const invitationProps = "invitation" in action ? {
20
- id: action.invitation.invitationId,
21
- multiUse: action.invitation.multiUse,
22
- invitationCode: InvitationEncoder.encode(action.invitation),
23
- authCode: action.invitation.authCode,
24
- authMethod: action.invitation.authMethod,
25
- type: action.invitation.type
26
- } : {};
27
19
  return {
28
20
  ...prev,
29
- ...invitationProps,
30
21
  // TODO(burdon): State.
31
22
  status: action.status,
32
23
  // `invitationObservable`, `secret`, and `result` is persisted between the status-actions that set them.
@@ -38,10 +29,10 @@ var useInvitationStatus = (observable) => {
38
29
  // `haltedAt` gets set on only the first error/cancelled/timeout action and reset on any others.
39
30
  ...(action.status === Invitation.State.ERROR || action.status === Invitation.State.CANCELLED || action.status === Invitation.State.TIMEOUT) && {
40
31
  haltedAt: typeof prev.haltedAt === "undefined" ? action.haltedAt : prev.haltedAt
41
- }
32
+ },
33
+ observable: action.status === Invitation.State.CONNECTING ? action.observable ?? prev.observable : prev.observable
42
34
  };
43
35
  }, null, (_arg) => {
44
- const invitation = observable?.get();
45
36
  return {
46
37
  status: Invitation.State.INIT,
47
38
  result: {
@@ -50,30 +41,22 @@ var useInvitationStatus = (observable) => {
50
41
  swarmKey: null,
51
42
  target: null
52
43
  },
53
- id: invitation?.invitationId,
54
- multiUse: invitation?.multiUse,
55
- invitationCode: invitation ? InvitationEncoder.encode(invitation) : void 0,
56
- authCode: invitation?.authCode,
57
- authMethod: invitation?.authMethod,
58
- type: invitation?.type
44
+ observable: initialObservable
59
45
  };
60
46
  });
61
47
  useEffect(() => {
62
48
  const update = (invitation) => {
63
49
  switch (invitation.state) {
64
- case Invitation.State.INIT:
65
50
  case Invitation.State.CONNECTED:
66
51
  case Invitation.State.READY_FOR_AUTHENTICATION:
67
52
  case Invitation.State.AUTHENTICATING: {
68
53
  dispatch({
69
- invitation,
70
54
  status: invitation.state
71
55
  });
72
56
  break;
73
57
  }
74
58
  case Invitation.State.SUCCESS: {
75
59
  dispatch({
76
- invitation,
77
60
  status: invitation.state,
78
61
  result: {
79
62
  spaceKey: invitation.spaceKey || null,
@@ -87,7 +70,6 @@ var useInvitationStatus = (observable) => {
87
70
  case Invitation.State.CANCELLED:
88
71
  case Invitation.State.TIMEOUT: {
89
72
  dispatch({
90
- invitation,
91
73
  status: invitation.state,
92
74
  haltedAt: state.status
93
75
  });
@@ -95,27 +77,26 @@ var useInvitationStatus = (observable) => {
95
77
  }
96
78
  }
97
79
  };
98
- const subscription = observable?.subscribe(update, (err) => {
80
+ const subscription = state.observable?.subscribe(update, (err) => {
99
81
  dispatch({
100
82
  status: Invitation.State.ERROR,
101
83
  error: err,
102
84
  haltedAt: state.status
103
85
  });
104
86
  });
105
- const currentState = observable?.get();
87
+ const currentState = state.observable?.get();
106
88
  if (currentState) {
107
89
  update(currentState);
108
90
  }
109
91
  return () => subscription?.unsubscribe();
110
92
  }, [
111
- observable,
93
+ state.observable,
112
94
  state.status
113
95
  ]);
114
- const connect = useCallback((observable2) => {
96
+ const connect = useCallback((observable) => {
115
97
  dispatch({
116
- invitation: observable2.get(),
117
98
  status: Invitation.State.CONNECTING,
118
- observable: observable2
99
+ observable
119
100
  });
120
101
  }, []);
121
102
  const authenticate = useCallback((authCode) => {
@@ -123,24 +104,35 @@ var useInvitationStatus = (observable) => {
123
104
  authCode
124
105
  }, {
125
106
  F: __dxlog_file,
126
- L: 187,
107
+ L: 165,
127
108
  S: void 0,
128
109
  C: (f, a) => f(...a)
129
110
  });
130
- return observable.authenticate(authCode);
111
+ return state.observable.authenticate(authCode);
131
112
  }, [
132
- observable
113
+ state.observable
133
114
  ]);
134
- const cancel = useCallback(async () => observable?.cancel(), [
135
- observable
115
+ const cancel = useCallback(async () => state.observable?.cancel(), [
116
+ state.observable
136
117
  ]);
137
118
  return useMemo(() => {
138
- return {
139
- ...state,
119
+ const invitation = state.observable?.get();
120
+ const result = {
121
+ status: state.status,
122
+ haltedAt: state.haltedAt,
123
+ result: state.result,
124
+ error: state.error,
140
125
  cancel,
141
126
  connect,
142
- authenticate
127
+ authenticate,
128
+ id: invitation?.invitationId,
129
+ multiUse: invitation?.multiUse,
130
+ invitationCode: invitation ? InvitationEncoder.encode(invitation) : void 0,
131
+ authCode: invitation?.authCode,
132
+ authMethod: invitation?.authMethod,
133
+ type: invitation?.type
143
134
  };
135
+ return result;
144
136
  }, [
145
137
  state,
146
138
  cancel,
@@ -157,4 +149,4 @@ export {
157
149
  Invitation2 as Invitation,
158
150
  InvitationsProxy
159
151
  };
160
- //# sourceMappingURL=chunk-26VFTP7R.mjs.map
152
+ //# sourceMappingURL=chunk-BQ4BAP42.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/invitations/index.ts", "../../../src/invitations/useInvitationStatus.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\n// NOTE: Export * fails here.\nexport {\n AuthenticatingInvitationObservable,\n CancellableInvitationObservable,\n InvitationEncoder,\n Invitation,\n type Invitations,\n InvitationsProxy,\n} from '@dxos/client/invitations';\n\nexport * from './useInvitationStatus';\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { useReducer, type Reducer, useMemo, useCallback, useEffect } from 'react';\n\nimport { type PublicKey } from '@dxos/client';\nimport {\n type AuthenticatingInvitationObservable,\n type CancellableInvitationObservable,\n Invitation,\n InvitationEncoder,\n} from '@dxos/client/invitations';\nimport { log } from '@dxos/log';\n\nexport type InvitationResult = {\n spaceKey: PublicKey | null;\n identityKey: PublicKey | null;\n swarmKey: PublicKey | null;\n target: string | null;\n};\n\ninterface InvitationReducerState {\n status: Invitation.State; // TODO(burdon): Rename state.\n haltedAt?: Invitation.State;\n result: InvitationResult;\n error?: number;\n observable?: CancellableInvitationObservable | AuthenticatingInvitationObservable;\n id?: string;\n invitationCode?: string;\n authCode?: string;\n multiUse?: boolean;\n}\n\nexport type InvitationAction =\n | {\n status:\n | Invitation.State.INIT\n | Invitation.State.CONNECTED\n | Invitation.State.READY_FOR_AUTHENTICATION\n | Invitation.State.AUTHENTICATING;\n }\n | {\n status: Invitation.State.CONNECTING;\n observable: CancellableInvitationObservable;\n }\n | {\n status: Invitation.State.SUCCESS;\n result: InvitationResult;\n }\n | {\n status: Invitation.State.CANCELLED | Invitation.State.TIMEOUT;\n haltedAt: Invitation.State;\n }\n | {\n status: Invitation.State.ERROR;\n error?: Error;\n haltedAt: Invitation.State;\n };\n\nexport type InvitationStatus = {\n id?: string;\n invitationCode?: string;\n authCode?: string;\n authMethod?: Invitation.AuthMethod;\n type?: Invitation.Type;\n status: Invitation.State;\n haltedAt?: Invitation.State;\n multiUse?: boolean;\n result: InvitationResult;\n error?: number;\n cancel(): void;\n // TODO(wittjosiah): Remove?\n connect(observable: CancellableInvitationObservable): void;\n authenticate(authCode: string): Promise<void>;\n};\n\nexport const useInvitationStatus = (initialObservable?: CancellableInvitationObservable): InvitationStatus => {\n const [state, dispatch] = useReducer<Reducer<InvitationReducerState, InvitationAction>, null>(\n (prev, action) => {\n log('useInvitationStatus', { action });\n return {\n ...prev,\n // TODO(burdon): State.\n status: action.status,\n // `invitationObservable`, `secret`, and `result` is persisted between the status-actions that set them.\n result: action.status === Invitation.State.SUCCESS ? action.result : prev.result,\n // `error` gets set each time we enter the error state\n ...(action.status === Invitation.State.ERROR && { error: action.error }),\n // `haltedAt` gets set on only the first error/cancelled/timeout action and reset on any others.\n ...((action.status === Invitation.State.ERROR ||\n action.status === Invitation.State.CANCELLED ||\n action.status === Invitation.State.TIMEOUT) && {\n haltedAt: typeof prev.haltedAt === 'undefined' ? action.haltedAt : prev.haltedAt,\n }),\n observable:\n action.status === Invitation.State.CONNECTING ? action.observable ?? prev.observable : prev.observable,\n } as InvitationReducerState;\n },\n null,\n (_arg: null) => {\n return {\n status: Invitation.State.INIT,\n result: { spaceKey: null, identityKey: null, swarmKey: null, target: null },\n observable: initialObservable,\n };\n },\n );\n\n // Handle unmount.\n\n useEffect(() => {\n const update = (invitation: Invitation) => {\n switch (invitation.state) {\n case Invitation.State.CONNECTED:\n case Invitation.State.READY_FOR_AUTHENTICATION:\n case Invitation.State.AUTHENTICATING: {\n dispatch({\n status: invitation.state,\n });\n break;\n }\n\n case Invitation.State.SUCCESS: {\n dispatch({\n status: invitation.state,\n result: {\n spaceKey: invitation.spaceKey || null,\n identityKey: invitation.identityKey || null,\n swarmKey: invitation.swarmKey || null,\n target: invitation.target || null,\n },\n });\n break;\n }\n\n case Invitation.State.CANCELLED:\n case Invitation.State.TIMEOUT: {\n dispatch({ status: invitation.state, haltedAt: state.status });\n break;\n }\n }\n };\n\n const subscription = state.observable?.subscribe(update, (err: Error) => {\n dispatch({ status: Invitation.State.ERROR, error: err, haltedAt: state.status });\n });\n\n const currentState = state.observable?.get();\n if (currentState) {\n update(currentState);\n }\n\n return () => subscription?.unsubscribe();\n }, [state.observable, state.status]);\n\n // Return memoized callbacks & values.\n\n const connect = useCallback((observable: CancellableInvitationObservable) => {\n dispatch({ status: Invitation.State.CONNECTING, observable });\n }, []);\n\n const authenticate = useCallback(\n (authCode: string) => {\n log('authenticating...', { authCode });\n return (state.observable as AuthenticatingInvitationObservable).authenticate(authCode);\n },\n [state.observable],\n );\n\n const cancel = useCallback(async () => state.observable?.cancel(), [state.observable]);\n\n return useMemo(() => {\n const invitation = state.observable?.get();\n const result = {\n status: state.status,\n haltedAt: state.haltedAt,\n result: state.result,\n error: state.error,\n cancel,\n connect,\n authenticate,\n id: invitation?.invitationId,\n multiUse: invitation?.multiUse,\n invitationCode: invitation ? InvitationEncoder.encode(invitation) : undefined,\n authCode: invitation?.authCode,\n authMethod: invitation?.authMethod,\n type: invitation?.type,\n };\n\n return result;\n }, [state, cancel, connect, authenticate]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["AuthenticatingInvitationObservable", "CancellableInvitationObservable", "InvitationEncoder", "Invitation", "InvitationsProxy", "useReducer", "useMemo", "useCallback", "useEffect", "Invitation", "InvitationEncoder", "log", "useInvitationStatus", "initialObservable", "state", "dispatch", "prev", "action", "status", "result", "State", "SUCCESS", "ERROR", "error", "CANCELLED", "TIMEOUT", "haltedAt", "observable", "CONNECTING", "_arg", "INIT", "spaceKey", "identityKey", "swarmKey", "target", "update", "invitation", "CONNECTED", "READY_FOR_AUTHENTICATION", "AUTHENTICATING", "subscription", "subscribe", "err", "currentState", "get", "unsubscribe", "connect", "authenticate", "authCode", "cancel", "id", "invitationId", "multiUse", "invitationCode", "encode", "undefined", "authMethod", "type"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  useInvitationStatus
3
- } from "../chunk-26VFTP7R.mjs";
3
+ } from "../chunk-BQ4BAP42.mjs";
4
4
  import {
5
5
  useClient
6
6
  } from "../chunk-KR6MTIAK.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  useInvitationStatus
3
- } from "../chunk-26VFTP7R.mjs";
3
+ } from "../chunk-BQ4BAP42.mjs";
4
4
  import {
5
5
  useClient
6
6
  } from "../chunk-KR6MTIAK.mjs";
@@ -5,7 +5,7 @@ import {
5
5
  InvitationEncoder,
6
6
  InvitationsProxy,
7
7
  useInvitationStatus
8
- } from "../chunk-26VFTP7R.mjs";
8
+ } from "../chunk-BQ4BAP42.mjs";
9
9
  export {
10
10
  AuthenticatingInvitationObservable,
11
11
  CancellableInvitationObservable,
@@ -1 +1 @@
1
- {"inputs":{"packages/sdk/react-client/src/banner.ts":{"bytes":3658,"imports":[],"format":"esm"},"packages/sdk/react-client/src/client/ClientContext.tsx":{"bytes":15632,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/banner.ts","kind":"import-statement","original":"../banner"}],"format":"esm"},"packages/sdk/react-client/src/client/useClientServices.ts":{"bytes":1563,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useConfig.ts":{"bytes":1775,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useShell.ts":{"bytes":1106,"imports":[{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useStatus.ts":{"bytes":1507,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytes":7087,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/index.ts":{"bytes":988,"imports":[{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"},{"path":"packages/sdk/react-client/src/client/useClientServices.ts","kind":"import-statement","original":"./useClientServices"},{"path":"packages/sdk/react-client/src/client/useConfig.ts","kind":"import-statement","original":"./useConfig"},{"path":"packages/sdk/react-client/src/client/useShell.ts","kind":"import-statement","original":"./useShell"},{"path":"packages/sdk/react-client/src/client/useStatus.ts","kind":"import-statement","original":"./useStatus"},{"path":"packages/sdk/react-client/src/client/AgentHostingProvider.tsx","kind":"import-statement","original":"./AgentHostingProvider"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytes":1938,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytes":2796,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/devtools/index.ts":{"bytes":693,"imports":[{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/devtools/useDevtools.ts","kind":"import-statement","original":"./useDevtools"},{"path":"packages/sdk/react-client/src/devtools/useStream.ts","kind":"import-statement","original":"./useStream"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytes":6145,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytes":3157,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"}],"format":"esm"},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytes":5959,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytes":18956,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/index.ts":{"bytes":1299,"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/invitations/useInvitationStatus.ts","kind":"import-statement","original":"./useInvitationStatus"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytes":3253,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytes":3528,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/echo/index.ts":{"bytes":986,"imports":[{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useMembers.ts","kind":"import-statement","original":"./useMembers"},{"path":"packages/sdk/react-client/src/echo/useQuery.ts","kind":"import-statement","original":"./useQuery"},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"},{"path":"packages/sdk/react-client/src/echo/useSpaceInvitations.ts","kind":"import-statement","original":"./useSpaceInvitations"},{"path":"packages/sdk/react-client/src/echo/useSubscription.ts","kind":"import-statement","original":"./useSubscription"}],"format":"esm"},"packages/sdk/react-client/src/halo/useContacts.ts":{"bytes":1718,"imports":[{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytes":1305,"imports":[{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytes":2737,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytes":1588,"imports":[{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytes":4572,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/halo/index.ts":{"bytes":1301,"imports":[{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/halo/useContacts.ts","kind":"import-statement","original":"./useContacts"},{"path":"packages/sdk/react-client/src/halo/useDevices.ts","kind":"import-statement","original":"./useDevices"},{"path":"packages/sdk/react-client/src/halo/useHaloInvitations.ts","kind":"import-statement","original":"./useHaloInvitations"},{"path":"packages/sdk/react-client/src/halo/useIdentity.ts","kind":"import-statement","original":"./useIdentity"},{"path":"packages/sdk/react-client/src/halo/useKeyStore.ts","kind":"import-statement","original":"./useKeyStore"}],"format":"esm"},"packages/sdk/react-client/src/index.ts":{"bytes":888,"imports":[{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"./client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytes":1517,"imports":[{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/index.ts":{"bytes":601,"imports":[{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/mesh/useNetworkStatus.ts","kind":"import-statement","original":"./useNetworkStatus"}],"format":"esm"},"packages/sdk/react-client/src/testing/ClientRepeater.tsx":{"bytes":11188,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx":{"bytes":1552,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/testing/index.ts":{"bytes":724,"imports":[{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/testing/ClientRepeater.tsx","kind":"import-statement","original":"./ClientRepeater"},{"path":"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx","kind":"import-statement","original":"./FullscreenDecorator"}],"format":"esm"},"packages/sdk/react-client/src/worker.ts":{"bytes":491,"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/sdk/react-client/dist/lib/browser/devtools/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2520},"packages/sdk/react-client/dist/lib/browser/devtools/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-KR6MTIAK.mjs","kind":"import-statement"},{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["useDevtools","useStream"],"entryPoint":"packages/sdk/react-client/src/devtools/index.ts","inputs":{"packages/sdk/react-client/src/devtools/index.ts":{"bytesInOutput":39},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytesInOutput":506},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytesInOutput":692}},"bytes":1534},"packages/sdk/react-client/dist/lib/browser/echo/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11629},"packages/sdk/react-client/dist/lib/browser/echo/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-26VFTP7R.mjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/browser/chunk-KR6MTIAK.mjs","kind":"import-statement"},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"exports":["useMembers","useQuery","useSpace","useSpaceInvitation","useSpaceInvitations","useSpaces","useSubscription"],"entryPoint":"packages/sdk/react-client/src/echo/index.ts","inputs":{"packages/sdk/react-client/src/echo/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytesInOutput":545},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytesInOutput":956},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytesInOutput":1033},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytesInOutput":677},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytesInOutput":519}},"bytes":4419},"packages/sdk/react-client/dist/lib/browser/halo/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6286},"packages/sdk/react-client/dist/lib/browser/halo/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-26VFTP7R.mjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/browser/chunk-KR6MTIAK.mjs","kind":"import-statement"},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["Device","DeviceKind","DeviceType","KeyStore","useContacts","useDevices","useHaloInvitation","useHaloInvitations","useIdentity","useKeyStore"],"entryPoint":"packages/sdk/react-client/src/halo/index.ts","inputs":{"packages/sdk/react-client/src/halo/index.ts":{"bytesInOutput":68},"packages/sdk/react-client/src/halo/useContacts.ts":{"bytesInOutput":174},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytesInOutput":200},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytesInOutput":521},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytesInOutput":202},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytesInOutput":928}},"bytes":2731},"packages/sdk/react-client/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":393},"packages/sdk/react-client/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-KR6MTIAK.mjs","kind":"import-statement"},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientServices","useConfig","useMulticastObservable","useShell","useStatus"],"entryPoint":"packages/sdk/react-client/src/index.ts","inputs":{"packages/sdk/react-client/src/index.ts":{"bytesInOutput":129}},"bytes":641},"packages/sdk/react-client/dist/lib/browser/invitations/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/react-client/dist/lib/browser/invitations/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-26VFTP7R.mjs","kind":"import-statement"}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"entryPoint":"packages/sdk/react-client/src/invitations/index.ts","inputs":{},"bytes":388},"packages/sdk/react-client/dist/lib/browser/chunk-26VFTP7R.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10269},"packages/sdk/react-client/dist/lib/browser/chunk-26VFTP7R.mjs":{"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"inputs":{"packages/sdk/react-client/src/invitations/index.ts":{"bytesInOutput":198},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytesInOutput":4397}},"bytes":4962},"packages/sdk/react-client/dist/lib/browser/mesh/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":935},"packages/sdk/react-client/dist/lib/browser/mesh/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-KR6MTIAK.mjs","kind":"import-statement"},{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true}],"exports":["useNetworkStatus"],"entryPoint":"packages/sdk/react-client/src/mesh/index.ts","inputs":{"packages/sdk/react-client/src/mesh/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytesInOutput":184}},"bytes":445},"packages/sdk/react-client/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6870},"packages/sdk/react-client/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-KR6MTIAK.mjs","kind":"import-statement"},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["ClientRepeater","FullscreenDecorator"],"entryPoint":"packages/sdk/react-client/src/testing/index.ts","inputs":{"packages/sdk/react-client/src/testing/index.ts":{"bytesInOutput":38},"packages/sdk/react-client/src/testing/ClientRepeater.tsx":{"bytesInOutput":2181},"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx":{"bytesInOutput":290}},"bytes":2831},"packages/sdk/react-client/dist/lib/browser/chunk-KR6MTIAK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":16029},"packages/sdk/react-client/dist/lib/browser/chunk-KR6MTIAK.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientServices","useConfig","useShell","useStatus"],"inputs":{"packages/sdk/react-client/src/client/ClientContext.tsx":{"bytesInOutput":3601},"packages/sdk/react-client/src/banner.ts":{"bytesInOutput":773},"packages/sdk/react-client/src/client/useClientServices.ts":{"bytesInOutput":250},"packages/sdk/react-client/src/client/useConfig.ts":{"bytesInOutput":245},"packages/sdk/react-client/src/client/useShell.ts":{"bytesInOutput":79},"packages/sdk/react-client/src/client/useStatus.ts":{"bytesInOutput":238},"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytesInOutput":1898},"packages/sdk/react-client/src/client/index.ts":{"bytesInOutput":0}},"bytes":7769},"packages/sdk/react-client/dist/lib/browser/worker.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":206},"packages/sdk/react-client/dist/lib/browser/worker.mjs":{"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"exports":[],"entryPoint":"packages/sdk/react-client/src/worker.ts","inputs":{"packages/sdk/react-client/src/worker.ts":{"bytesInOutput":37}},"bytes":116}}}
1
+ {"inputs":{"packages/sdk/react-client/src/banner.ts":{"bytes":3658,"imports":[],"format":"esm"},"packages/sdk/react-client/src/client/ClientContext.tsx":{"bytes":15632,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/banner.ts","kind":"import-statement","original":"../banner"}],"format":"esm"},"packages/sdk/react-client/src/client/useClientServices.ts":{"bytes":1563,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useConfig.ts":{"bytes":1775,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useShell.ts":{"bytes":1106,"imports":[{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useStatus.ts":{"bytes":1507,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytes":7087,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/index.ts":{"bytes":988,"imports":[{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"},{"path":"packages/sdk/react-client/src/client/useClientServices.ts","kind":"import-statement","original":"./useClientServices"},{"path":"packages/sdk/react-client/src/client/useConfig.ts","kind":"import-statement","original":"./useConfig"},{"path":"packages/sdk/react-client/src/client/useShell.ts","kind":"import-statement","original":"./useShell"},{"path":"packages/sdk/react-client/src/client/useStatus.ts","kind":"import-statement","original":"./useStatus"},{"path":"packages/sdk/react-client/src/client/AgentHostingProvider.tsx","kind":"import-statement","original":"./AgentHostingProvider"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytes":1938,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytes":2796,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/devtools/index.ts":{"bytes":693,"imports":[{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/devtools/useDevtools.ts","kind":"import-statement","original":"./useDevtools"},{"path":"packages/sdk/react-client/src/devtools/useStream.ts","kind":"import-statement","original":"./useStream"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytes":6145,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytes":3157,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"}],"format":"esm"},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytes":5959,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytes":18076,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/index.ts":{"bytes":1299,"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/invitations/useInvitationStatus.ts","kind":"import-statement","original":"./useInvitationStatus"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytes":3253,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytes":3528,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/echo/index.ts":{"bytes":986,"imports":[{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useMembers.ts","kind":"import-statement","original":"./useMembers"},{"path":"packages/sdk/react-client/src/echo/useQuery.ts","kind":"import-statement","original":"./useQuery"},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"},{"path":"packages/sdk/react-client/src/echo/useSpaceInvitations.ts","kind":"import-statement","original":"./useSpaceInvitations"},{"path":"packages/sdk/react-client/src/echo/useSubscription.ts","kind":"import-statement","original":"./useSubscription"}],"format":"esm"},"packages/sdk/react-client/src/halo/useContacts.ts":{"bytes":1718,"imports":[{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytes":1305,"imports":[{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytes":2737,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytes":1588,"imports":[{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytes":4572,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/halo/index.ts":{"bytes":1301,"imports":[{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/halo/useContacts.ts","kind":"import-statement","original":"./useContacts"},{"path":"packages/sdk/react-client/src/halo/useDevices.ts","kind":"import-statement","original":"./useDevices"},{"path":"packages/sdk/react-client/src/halo/useHaloInvitations.ts","kind":"import-statement","original":"./useHaloInvitations"},{"path":"packages/sdk/react-client/src/halo/useIdentity.ts","kind":"import-statement","original":"./useIdentity"},{"path":"packages/sdk/react-client/src/halo/useKeyStore.ts","kind":"import-statement","original":"./useKeyStore"}],"format":"esm"},"packages/sdk/react-client/src/index.ts":{"bytes":888,"imports":[{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"./client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytes":1517,"imports":[{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/index.ts":{"bytes":601,"imports":[{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/mesh/useNetworkStatus.ts","kind":"import-statement","original":"./useNetworkStatus"}],"format":"esm"},"packages/sdk/react-client/src/testing/ClientRepeater.tsx":{"bytes":11188,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx":{"bytes":1552,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/testing/index.ts":{"bytes":724,"imports":[{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/testing/ClientRepeater.tsx","kind":"import-statement","original":"./ClientRepeater"},{"path":"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx","kind":"import-statement","original":"./FullscreenDecorator"}],"format":"esm"},"packages/sdk/react-client/src/worker.ts":{"bytes":491,"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/sdk/react-client/dist/lib/browser/devtools/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2520},"packages/sdk/react-client/dist/lib/browser/devtools/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-KR6MTIAK.mjs","kind":"import-statement"},{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["useDevtools","useStream"],"entryPoint":"packages/sdk/react-client/src/devtools/index.ts","inputs":{"packages/sdk/react-client/src/devtools/index.ts":{"bytesInOutput":39},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytesInOutput":506},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytesInOutput":692}},"bytes":1534},"packages/sdk/react-client/dist/lib/browser/echo/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11629},"packages/sdk/react-client/dist/lib/browser/echo/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-BQ4BAP42.mjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/browser/chunk-KR6MTIAK.mjs","kind":"import-statement"},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"exports":["useMembers","useQuery","useSpace","useSpaceInvitation","useSpaceInvitations","useSpaces","useSubscription"],"entryPoint":"packages/sdk/react-client/src/echo/index.ts","inputs":{"packages/sdk/react-client/src/echo/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytesInOutput":545},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytesInOutput":956},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytesInOutput":1033},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytesInOutput":677},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytesInOutput":519}},"bytes":4419},"packages/sdk/react-client/dist/lib/browser/halo/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6286},"packages/sdk/react-client/dist/lib/browser/halo/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-BQ4BAP42.mjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/browser/chunk-KR6MTIAK.mjs","kind":"import-statement"},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["Device","DeviceKind","DeviceType","KeyStore","useContacts","useDevices","useHaloInvitation","useHaloInvitations","useIdentity","useKeyStore"],"entryPoint":"packages/sdk/react-client/src/halo/index.ts","inputs":{"packages/sdk/react-client/src/halo/index.ts":{"bytesInOutput":68},"packages/sdk/react-client/src/halo/useContacts.ts":{"bytesInOutput":174},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytesInOutput":200},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytesInOutput":521},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytesInOutput":202},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytesInOutput":928}},"bytes":2731},"packages/sdk/react-client/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":393},"packages/sdk/react-client/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-KR6MTIAK.mjs","kind":"import-statement"},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientServices","useConfig","useMulticastObservable","useShell","useStatus"],"entryPoint":"packages/sdk/react-client/src/index.ts","inputs":{"packages/sdk/react-client/src/index.ts":{"bytesInOutput":129}},"bytes":641},"packages/sdk/react-client/dist/lib/browser/invitations/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/react-client/dist/lib/browser/invitations/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-BQ4BAP42.mjs","kind":"import-statement"}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"entryPoint":"packages/sdk/react-client/src/invitations/index.ts","inputs":{},"bytes":388},"packages/sdk/react-client/dist/lib/browser/chunk-BQ4BAP42.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9782},"packages/sdk/react-client/dist/lib/browser/chunk-BQ4BAP42.mjs":{"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"inputs":{"packages/sdk/react-client/src/invitations/index.ts":{"bytesInOutput":198},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytesInOutput":4204}},"bytes":4769},"packages/sdk/react-client/dist/lib/browser/mesh/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":935},"packages/sdk/react-client/dist/lib/browser/mesh/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-KR6MTIAK.mjs","kind":"import-statement"},{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true}],"exports":["useNetworkStatus"],"entryPoint":"packages/sdk/react-client/src/mesh/index.ts","inputs":{"packages/sdk/react-client/src/mesh/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytesInOutput":184}},"bytes":445},"packages/sdk/react-client/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6870},"packages/sdk/react-client/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/browser/chunk-KR6MTIAK.mjs","kind":"import-statement"},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["ClientRepeater","FullscreenDecorator"],"entryPoint":"packages/sdk/react-client/src/testing/index.ts","inputs":{"packages/sdk/react-client/src/testing/index.ts":{"bytesInOutput":38},"packages/sdk/react-client/src/testing/ClientRepeater.tsx":{"bytesInOutput":2181},"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx":{"bytesInOutput":290}},"bytes":2831},"packages/sdk/react-client/dist/lib/browser/chunk-KR6MTIAK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":16029},"packages/sdk/react-client/dist/lib/browser/chunk-KR6MTIAK.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientServices","useConfig","useShell","useStatus"],"inputs":{"packages/sdk/react-client/src/client/ClientContext.tsx":{"bytesInOutput":3601},"packages/sdk/react-client/src/banner.ts":{"bytesInOutput":773},"packages/sdk/react-client/src/client/useClientServices.ts":{"bytesInOutput":250},"packages/sdk/react-client/src/client/useConfig.ts":{"bytesInOutput":245},"packages/sdk/react-client/src/client/useShell.ts":{"bytesInOutput":79},"packages/sdk/react-client/src/client/useStatus.ts":{"bytesInOutput":238},"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytesInOutput":1898},"packages/sdk/react-client/src/client/index.ts":{"bytesInOutput":0}},"bytes":7769},"packages/sdk/react-client/dist/lib/browser/worker.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":206},"packages/sdk/react-client/dist/lib/browser/worker.mjs":{"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"exports":[],"entryPoint":"packages/sdk/react-client/src/worker.ts","inputs":{"packages/sdk/react-client/src/worker.ts":{"bytesInOutput":37}},"bytes":116}}}
@@ -16,8 +16,8 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_TQWLADVH_exports = {};
20
- __export(chunk_TQWLADVH_exports, {
19
+ var chunk_X5URYLUS_exports = {};
20
+ __export(chunk_X5URYLUS_exports, {
21
21
  AuthenticatingInvitationObservable: () => import_invitations.AuthenticatingInvitationObservable,
22
22
  CancellableInvitationObservable: () => import_invitations.CancellableInvitationObservable,
23
23
  Invitation: () => import_invitations.Invitation,
@@ -25,33 +25,24 @@ __export(chunk_TQWLADVH_exports, {
25
25
  InvitationsProxy: () => import_invitations.InvitationsProxy,
26
26
  useInvitationStatus: () => useInvitationStatus
27
27
  });
28
- module.exports = __toCommonJS(chunk_TQWLADVH_exports);
28
+ module.exports = __toCommonJS(chunk_X5URYLUS_exports);
29
29
  var import_invitations = require("@dxos/client/invitations");
30
30
  var import_react = require("react");
31
31
  var import_invitations2 = require("@dxos/client/invitations");
32
32
  var import_log = require("@dxos/log");
33
33
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/sdk/react-client/src/invitations/useInvitationStatus.ts";
34
- var useInvitationStatus = (observable) => {
34
+ var useInvitationStatus = (initialObservable) => {
35
35
  const [state, dispatch] = (0, import_react.useReducer)((prev, action) => {
36
36
  (0, import_log.log)("useInvitationStatus", {
37
37
  action
38
38
  }, {
39
39
  F: __dxlog_file,
40
- L: 84,
40
+ L: 81,
41
41
  S: void 0,
42
42
  C: (f, a) => f(...a)
43
43
  });
44
- const invitationProps = "invitation" in action ? {
45
- id: action.invitation.invitationId,
46
- multiUse: action.invitation.multiUse,
47
- invitationCode: import_invitations2.InvitationEncoder.encode(action.invitation),
48
- authCode: action.invitation.authCode,
49
- authMethod: action.invitation.authMethod,
50
- type: action.invitation.type
51
- } : {};
52
44
  return {
53
45
  ...prev,
54
- ...invitationProps,
55
46
  // TODO(burdon): State.
56
47
  status: action.status,
57
48
  // `invitationObservable`, `secret`, and `result` is persisted between the status-actions that set them.
@@ -63,10 +54,10 @@ var useInvitationStatus = (observable) => {
63
54
  // `haltedAt` gets set on only the first error/cancelled/timeout action and reset on any others.
64
55
  ...(action.status === import_invitations2.Invitation.State.ERROR || action.status === import_invitations2.Invitation.State.CANCELLED || action.status === import_invitations2.Invitation.State.TIMEOUT) && {
65
56
  haltedAt: typeof prev.haltedAt === "undefined" ? action.haltedAt : prev.haltedAt
66
- }
57
+ },
58
+ observable: action.status === import_invitations2.Invitation.State.CONNECTING ? action.observable ?? prev.observable : prev.observable
67
59
  };
68
60
  }, null, (_arg) => {
69
- const invitation = observable?.get();
70
61
  return {
71
62
  status: import_invitations2.Invitation.State.INIT,
72
63
  result: {
@@ -75,30 +66,22 @@ var useInvitationStatus = (observable) => {
75
66
  swarmKey: null,
76
67
  target: null
77
68
  },
78
- id: invitation?.invitationId,
79
- multiUse: invitation?.multiUse,
80
- invitationCode: invitation ? import_invitations2.InvitationEncoder.encode(invitation) : void 0,
81
- authCode: invitation?.authCode,
82
- authMethod: invitation?.authMethod,
83
- type: invitation?.type
69
+ observable: initialObservable
84
70
  };
85
71
  });
86
72
  (0, import_react.useEffect)(() => {
87
73
  const update = (invitation) => {
88
74
  switch (invitation.state) {
89
- case import_invitations2.Invitation.State.INIT:
90
75
  case import_invitations2.Invitation.State.CONNECTED:
91
76
  case import_invitations2.Invitation.State.READY_FOR_AUTHENTICATION:
92
77
  case import_invitations2.Invitation.State.AUTHENTICATING: {
93
78
  dispatch({
94
- invitation,
95
79
  status: invitation.state
96
80
  });
97
81
  break;
98
82
  }
99
83
  case import_invitations2.Invitation.State.SUCCESS: {
100
84
  dispatch({
101
- invitation,
102
85
  status: invitation.state,
103
86
  result: {
104
87
  spaceKey: invitation.spaceKey || null,
@@ -112,7 +95,6 @@ var useInvitationStatus = (observable) => {
112
95
  case import_invitations2.Invitation.State.CANCELLED:
113
96
  case import_invitations2.Invitation.State.TIMEOUT: {
114
97
  dispatch({
115
- invitation,
116
98
  status: invitation.state,
117
99
  haltedAt: state.status
118
100
  });
@@ -120,27 +102,26 @@ var useInvitationStatus = (observable) => {
120
102
  }
121
103
  }
122
104
  };
123
- const subscription = observable?.subscribe(update, (err) => {
105
+ const subscription = state.observable?.subscribe(update, (err) => {
124
106
  dispatch({
125
107
  status: import_invitations2.Invitation.State.ERROR,
126
108
  error: err,
127
109
  haltedAt: state.status
128
110
  });
129
111
  });
130
- const currentState = observable?.get();
112
+ const currentState = state.observable?.get();
131
113
  if (currentState) {
132
114
  update(currentState);
133
115
  }
134
116
  return () => subscription?.unsubscribe();
135
117
  }, [
136
- observable,
118
+ state.observable,
137
119
  state.status
138
120
  ]);
139
- const connect = (0, import_react.useCallback)((observable2) => {
121
+ const connect = (0, import_react.useCallback)((observable) => {
140
122
  dispatch({
141
- invitation: observable2.get(),
142
123
  status: import_invitations2.Invitation.State.CONNECTING,
143
- observable: observable2
124
+ observable
144
125
  });
145
126
  }, []);
146
127
  const authenticate = (0, import_react.useCallback)((authCode) => {
@@ -148,24 +129,35 @@ var useInvitationStatus = (observable) => {
148
129
  authCode
149
130
  }, {
150
131
  F: __dxlog_file,
151
- L: 187,
132
+ L: 165,
152
133
  S: void 0,
153
134
  C: (f, a) => f(...a)
154
135
  });
155
- return observable.authenticate(authCode);
136
+ return state.observable.authenticate(authCode);
156
137
  }, [
157
- observable
138
+ state.observable
158
139
  ]);
159
- const cancel = (0, import_react.useCallback)(async () => observable?.cancel(), [
160
- observable
140
+ const cancel = (0, import_react.useCallback)(async () => state.observable?.cancel(), [
141
+ state.observable
161
142
  ]);
162
143
  return (0, import_react.useMemo)(() => {
163
- return {
164
- ...state,
144
+ const invitation = state.observable?.get();
145
+ const result = {
146
+ status: state.status,
147
+ haltedAt: state.haltedAt,
148
+ result: state.result,
149
+ error: state.error,
165
150
  cancel,
166
151
  connect,
167
- authenticate
152
+ authenticate,
153
+ id: invitation?.invitationId,
154
+ multiUse: invitation?.multiUse,
155
+ invitationCode: invitation ? import_invitations2.InvitationEncoder.encode(invitation) : void 0,
156
+ authCode: invitation?.authCode,
157
+ authMethod: invitation?.authMethod,
158
+ type: invitation?.type
168
159
  };
160
+ return result;
169
161
  }, [
170
162
  state,
171
163
  cancel,
@@ -182,4 +174,4 @@ var useInvitationStatus = (observable) => {
182
174
  InvitationsProxy,
183
175
  useInvitationStatus
184
176
  });
185
- //# sourceMappingURL=chunk-TQWLADVH.cjs.map
177
+ //# sourceMappingURL=chunk-X5URYLUS.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/invitations/index.ts", "../../../src/invitations/useInvitationStatus.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\n// NOTE: Export * fails here.\nexport {\n AuthenticatingInvitationObservable,\n CancellableInvitationObservable,\n InvitationEncoder,\n Invitation,\n type Invitations,\n InvitationsProxy,\n} from '@dxos/client/invitations';\n\nexport * from './useInvitationStatus';\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { useReducer, type Reducer, useMemo, useCallback, useEffect } from 'react';\n\nimport { type PublicKey } from '@dxos/client';\nimport {\n type AuthenticatingInvitationObservable,\n type CancellableInvitationObservable,\n Invitation,\n InvitationEncoder,\n} from '@dxos/client/invitations';\nimport { log } from '@dxos/log';\n\nexport type InvitationResult = {\n spaceKey: PublicKey | null;\n identityKey: PublicKey | null;\n swarmKey: PublicKey | null;\n target: string | null;\n};\n\ninterface InvitationReducerState {\n status: Invitation.State; // TODO(burdon): Rename state.\n haltedAt?: Invitation.State;\n result: InvitationResult;\n error?: number;\n observable?: CancellableInvitationObservable | AuthenticatingInvitationObservable;\n id?: string;\n invitationCode?: string;\n authCode?: string;\n multiUse?: boolean;\n}\n\nexport type InvitationAction =\n | {\n status:\n | Invitation.State.INIT\n | Invitation.State.CONNECTED\n | Invitation.State.READY_FOR_AUTHENTICATION\n | Invitation.State.AUTHENTICATING;\n }\n | {\n status: Invitation.State.CONNECTING;\n observable: CancellableInvitationObservable;\n }\n | {\n status: Invitation.State.SUCCESS;\n result: InvitationResult;\n }\n | {\n status: Invitation.State.CANCELLED | Invitation.State.TIMEOUT;\n haltedAt: Invitation.State;\n }\n | {\n status: Invitation.State.ERROR;\n error?: Error;\n haltedAt: Invitation.State;\n };\n\nexport type InvitationStatus = {\n id?: string;\n invitationCode?: string;\n authCode?: string;\n authMethod?: Invitation.AuthMethod;\n type?: Invitation.Type;\n status: Invitation.State;\n haltedAt?: Invitation.State;\n multiUse?: boolean;\n result: InvitationResult;\n error?: number;\n cancel(): void;\n // TODO(wittjosiah): Remove?\n connect(observable: CancellableInvitationObservable): void;\n authenticate(authCode: string): Promise<void>;\n};\n\nexport const useInvitationStatus = (initialObservable?: CancellableInvitationObservable): InvitationStatus => {\n const [state, dispatch] = useReducer<Reducer<InvitationReducerState, InvitationAction>, null>(\n (prev, action) => {\n log('useInvitationStatus', { action });\n return {\n ...prev,\n // TODO(burdon): State.\n status: action.status,\n // `invitationObservable`, `secret`, and `result` is persisted between the status-actions that set them.\n result: action.status === Invitation.State.SUCCESS ? action.result : prev.result,\n // `error` gets set each time we enter the error state\n ...(action.status === Invitation.State.ERROR && { error: action.error }),\n // `haltedAt` gets set on only the first error/cancelled/timeout action and reset on any others.\n ...((action.status === Invitation.State.ERROR ||\n action.status === Invitation.State.CANCELLED ||\n action.status === Invitation.State.TIMEOUT) && {\n haltedAt: typeof prev.haltedAt === 'undefined' ? action.haltedAt : prev.haltedAt,\n }),\n observable:\n action.status === Invitation.State.CONNECTING ? action.observable ?? prev.observable : prev.observable,\n } as InvitationReducerState;\n },\n null,\n (_arg: null) => {\n return {\n status: Invitation.State.INIT,\n result: { spaceKey: null, identityKey: null, swarmKey: null, target: null },\n observable: initialObservable,\n };\n },\n );\n\n // Handle unmount.\n\n useEffect(() => {\n const update = (invitation: Invitation) => {\n switch (invitation.state) {\n case Invitation.State.CONNECTED:\n case Invitation.State.READY_FOR_AUTHENTICATION:\n case Invitation.State.AUTHENTICATING: {\n dispatch({\n status: invitation.state,\n });\n break;\n }\n\n case Invitation.State.SUCCESS: {\n dispatch({\n status: invitation.state,\n result: {\n spaceKey: invitation.spaceKey || null,\n identityKey: invitation.identityKey || null,\n swarmKey: invitation.swarmKey || null,\n target: invitation.target || null,\n },\n });\n break;\n }\n\n case Invitation.State.CANCELLED:\n case Invitation.State.TIMEOUT: {\n dispatch({ status: invitation.state, haltedAt: state.status });\n break;\n }\n }\n };\n\n const subscription = state.observable?.subscribe(update, (err: Error) => {\n dispatch({ status: Invitation.State.ERROR, error: err, haltedAt: state.status });\n });\n\n const currentState = state.observable?.get();\n if (currentState) {\n update(currentState);\n }\n\n return () => subscription?.unsubscribe();\n }, [state.observable, state.status]);\n\n // Return memoized callbacks & values.\n\n const connect = useCallback((observable: CancellableInvitationObservable) => {\n dispatch({ status: Invitation.State.CONNECTING, observable });\n }, []);\n\n const authenticate = useCallback(\n (authCode: string) => {\n log('authenticating...', { authCode });\n return (state.observable as AuthenticatingInvitationObservable).authenticate(authCode);\n },\n [state.observable],\n );\n\n const cancel = useCallback(async () => state.observable?.cancel(), [state.observable]);\n\n return useMemo(() => {\n const invitation = state.observable?.get();\n const result = {\n status: state.status,\n haltedAt: state.haltedAt,\n result: state.result,\n error: state.error,\n cancel,\n connect,\n authenticate,\n id: invitation?.invitationId,\n multiUse: invitation?.multiUse,\n invitationCode: invitation ? InvitationEncoder.encode(invitation) : undefined,\n authCode: invitation?.authCode,\n authMethod: invitation?.authMethod,\n type: invitation?.type,\n };\n\n return result;\n }, [state, cancel, connect, authenticate]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_invitations", "useInvitationStatus", "initialObservable", "state", "dispatch", "useReducer", "prev", "action", "log", "status", "result", "Invitation", "State", "SUCCESS", "ERROR", "error", "CANCELLED", "TIMEOUT", "haltedAt", "observable", "CONNECTING", "_arg", "INIT", "spaceKey", "identityKey", "swarmKey", "target", "useEffect", "update", "invitation", "CONNECTED", "READY_FOR_AUTHENTICATION", "AUTHENTICATING", "subscription", "subscribe", "err", "currentState", "get", "unsubscribe", "connect", "useCallback", "authenticate", "authCode", "cancel", "useMemo", "id", "invitationId", "multiUse", "invitationCode", "InvitationEncoder", "encode", "undefined", "authMethod", "type"]
7
+ }
@@ -28,7 +28,7 @@ __export(echo_exports, {
28
28
  useSubscription: () => useSubscription
29
29
  });
30
30
  module.exports = __toCommonJS(echo_exports);
31
- var import_chunk_TQWLADVH = require("../chunk-TQWLADVH.cjs");
31
+ var import_chunk_X5URYLUS = require("../chunk-X5URYLUS.cjs");
32
32
  var import_chunk_HVU2FX77 = require("../chunk-HVU2FX77.cjs");
33
33
  __reExport(echo_exports, require("@dxos/client/echo"), module.exports);
34
34
  var import_async = require("@dxos/async");
@@ -116,7 +116,7 @@ var useSpaceInvitation = (spaceKey, invitationId) => {
116
116
  const invitation = (0, import_react3.useMemo)(() => invitations.find((invitation2) => invitation2.get().invitationId === invitationId), [
117
117
  invitations
118
118
  ]);
119
- return (0, import_chunk_TQWLADVH.useInvitationStatus)(invitation);
119
+ return (0, import_chunk_X5URYLUS.useInvitationStatus)(invitation);
120
120
  };
121
121
  var useSubscription = (cb, selection) => {
122
122
  const callbackRef = (0, import_react4.useRef)(cb);
@@ -30,7 +30,7 @@ __export(halo_exports, {
30
30
  useKeyStore: () => useKeyStore
31
31
  });
32
32
  module.exports = __toCommonJS(halo_exports);
33
- var import_chunk_TQWLADVH = require("../chunk-TQWLADVH.cjs");
33
+ var import_chunk_X5URYLUS = require("../chunk-X5URYLUS.cjs");
34
34
  var import_chunk_HVU2FX77 = require("../chunk-HVU2FX77.cjs");
35
35
  var import_halo = require("@dxos/client/halo");
36
36
  var import_react_async = require("@dxos/react-async");
@@ -56,7 +56,7 @@ var useHaloInvitation = (invitationId) => {
56
56
  const invitation = (0, import_react.useMemo)(() => invitations.find((invitation2) => invitation2.get().invitationId === invitationId), [
57
57
  invitations
58
58
  ]);
59
- return (0, import_chunk_TQWLADVH.useInvitationStatus)(invitation);
59
+ return (0, import_chunk_X5URYLUS.useInvitationStatus)(invitation);
60
60
  };
61
61
  var useIdentity = () => {
62
62
  const client = (0, import_chunk_HVU2FX77.useClient)();
@@ -18,15 +18,15 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var invitations_exports = {};
20
20
  __export(invitations_exports, {
21
- AuthenticatingInvitationObservable: () => import_chunk_TQWLADVH.AuthenticatingInvitationObservable,
22
- CancellableInvitationObservable: () => import_chunk_TQWLADVH.CancellableInvitationObservable,
23
- Invitation: () => import_chunk_TQWLADVH.Invitation,
24
- InvitationEncoder: () => import_chunk_TQWLADVH.InvitationEncoder,
25
- InvitationsProxy: () => import_chunk_TQWLADVH.InvitationsProxy,
26
- useInvitationStatus: () => import_chunk_TQWLADVH.useInvitationStatus
21
+ AuthenticatingInvitationObservable: () => import_chunk_X5URYLUS.AuthenticatingInvitationObservable,
22
+ CancellableInvitationObservable: () => import_chunk_X5URYLUS.CancellableInvitationObservable,
23
+ Invitation: () => import_chunk_X5URYLUS.Invitation,
24
+ InvitationEncoder: () => import_chunk_X5URYLUS.InvitationEncoder,
25
+ InvitationsProxy: () => import_chunk_X5URYLUS.InvitationsProxy,
26
+ useInvitationStatus: () => import_chunk_X5URYLUS.useInvitationStatus
27
27
  });
28
28
  module.exports = __toCommonJS(invitations_exports);
29
- var import_chunk_TQWLADVH = require("../chunk-TQWLADVH.cjs");
29
+ var import_chunk_X5URYLUS = require("../chunk-X5URYLUS.cjs");
30
30
  // Annotate the CommonJS export names for ESM import in node:
31
31
  0 && (module.exports = {
32
32
  AuthenticatingInvitationObservable,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.cjs"],
4
- "sourcesContent": ["import {\n AuthenticatingInvitationObservable,\n CancellableInvitationObservable,\n Invitation,\n InvitationEncoder,\n InvitationsProxy,\n useInvitationStatus\n} from \"../chunk-TQWLADVH.cjs\";\nexport {\n AuthenticatingInvitationObservable,\n CancellableInvitationObservable,\n Invitation,\n InvitationEncoder,\n InvitationsProxy,\n useInvitationStatus\n};\n//# sourceMappingURL=index.cjs.map\n"],
4
+ "sourcesContent": ["import {\n AuthenticatingInvitationObservable,\n CancellableInvitationObservable,\n Invitation,\n InvitationEncoder,\n InvitationsProxy,\n useInvitationStatus\n} from \"../chunk-X5URYLUS.cjs\";\nexport {\n AuthenticatingInvitationObservable,\n CancellableInvitationObservable,\n Invitation,\n InvitationEncoder,\n InvitationsProxy,\n useInvitationStatus\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAOO;",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/sdk/react-client/src/banner.ts":{"bytes":3658,"imports":[],"format":"esm"},"packages/sdk/react-client/src/client/ClientContext.tsx":{"bytes":15632,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/banner.ts","kind":"import-statement","original":"../banner"}],"format":"esm"},"packages/sdk/react-client/src/client/useClientServices.ts":{"bytes":1563,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useConfig.ts":{"bytes":1775,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useShell.ts":{"bytes":1106,"imports":[{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useStatus.ts":{"bytes":1507,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytes":7087,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/index.ts":{"bytes":988,"imports":[{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"},{"path":"packages/sdk/react-client/src/client/useClientServices.ts","kind":"import-statement","original":"./useClientServices"},{"path":"packages/sdk/react-client/src/client/useConfig.ts","kind":"import-statement","original":"./useConfig"},{"path":"packages/sdk/react-client/src/client/useShell.ts","kind":"import-statement","original":"./useShell"},{"path":"packages/sdk/react-client/src/client/useStatus.ts","kind":"import-statement","original":"./useStatus"},{"path":"packages/sdk/react-client/src/client/AgentHostingProvider.tsx","kind":"import-statement","original":"./AgentHostingProvider"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytes":1938,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytes":2796,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/devtools/index.ts":{"bytes":693,"imports":[{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/devtools/useDevtools.ts","kind":"import-statement","original":"./useDevtools"},{"path":"packages/sdk/react-client/src/devtools/useStream.ts","kind":"import-statement","original":"./useStream"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytes":6145,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytes":3157,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"}],"format":"esm"},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytes":5959,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytes":18956,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/index.ts":{"bytes":1299,"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/invitations/useInvitationStatus.ts","kind":"import-statement","original":"./useInvitationStatus"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytes":3253,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytes":3528,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/echo/index.ts":{"bytes":986,"imports":[{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useMembers.ts","kind":"import-statement","original":"./useMembers"},{"path":"packages/sdk/react-client/src/echo/useQuery.ts","kind":"import-statement","original":"./useQuery"},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"},{"path":"packages/sdk/react-client/src/echo/useSpaceInvitations.ts","kind":"import-statement","original":"./useSpaceInvitations"},{"path":"packages/sdk/react-client/src/echo/useSubscription.ts","kind":"import-statement","original":"./useSubscription"}],"format":"esm"},"packages/sdk/react-client/src/halo/useContacts.ts":{"bytes":1718,"imports":[{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytes":1305,"imports":[{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytes":2737,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytes":1588,"imports":[{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytes":4572,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/halo/index.ts":{"bytes":1301,"imports":[{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/halo/useContacts.ts","kind":"import-statement","original":"./useContacts"},{"path":"packages/sdk/react-client/src/halo/useDevices.ts","kind":"import-statement","original":"./useDevices"},{"path":"packages/sdk/react-client/src/halo/useHaloInvitations.ts","kind":"import-statement","original":"./useHaloInvitations"},{"path":"packages/sdk/react-client/src/halo/useIdentity.ts","kind":"import-statement","original":"./useIdentity"},{"path":"packages/sdk/react-client/src/halo/useKeyStore.ts","kind":"import-statement","original":"./useKeyStore"}],"format":"esm"},"packages/sdk/react-client/src/index.ts":{"bytes":888,"imports":[{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"./client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytes":1517,"imports":[{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/index.ts":{"bytes":601,"imports":[{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/mesh/useNetworkStatus.ts","kind":"import-statement","original":"./useNetworkStatus"}],"format":"esm"},"packages/sdk/react-client/src/testing/ClientRepeater.tsx":{"bytes":11188,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx":{"bytes":1552,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/testing/index.ts":{"bytes":724,"imports":[{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/testing/ClientRepeater.tsx","kind":"import-statement","original":"./ClientRepeater"},{"path":"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx","kind":"import-statement","original":"./FullscreenDecorator"}],"format":"esm"},"packages/sdk/react-client/src/worker.ts":{"bytes":491,"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/sdk/react-client/dist/lib/node/devtools/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2520},"packages/sdk/react-client/dist/lib/node/devtools/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-HVU2FX77.cjs","kind":"import-statement"},{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["useDevtools","useStream"],"entryPoint":"packages/sdk/react-client/src/devtools/index.ts","inputs":{"packages/sdk/react-client/src/devtools/index.ts":{"bytesInOutput":39},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytesInOutput":506},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytesInOutput":692}},"bytes":1534},"packages/sdk/react-client/dist/lib/node/echo/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11629},"packages/sdk/react-client/dist/lib/node/echo/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-TQWLADVH.cjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/node/chunk-HVU2FX77.cjs","kind":"import-statement"},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"exports":["useMembers","useQuery","useSpace","useSpaceInvitation","useSpaceInvitations","useSpaces","useSubscription"],"entryPoint":"packages/sdk/react-client/src/echo/index.ts","inputs":{"packages/sdk/react-client/src/echo/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytesInOutput":545},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytesInOutput":956},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytesInOutput":1033},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytesInOutput":677},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytesInOutput":519}},"bytes":4419},"packages/sdk/react-client/dist/lib/node/halo/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6286},"packages/sdk/react-client/dist/lib/node/halo/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-TQWLADVH.cjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/node/chunk-HVU2FX77.cjs","kind":"import-statement"},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["Device","DeviceKind","DeviceType","KeyStore","useContacts","useDevices","useHaloInvitation","useHaloInvitations","useIdentity","useKeyStore"],"entryPoint":"packages/sdk/react-client/src/halo/index.ts","inputs":{"packages/sdk/react-client/src/halo/index.ts":{"bytesInOutput":68},"packages/sdk/react-client/src/halo/useContacts.ts":{"bytesInOutput":174},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytesInOutput":200},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytesInOutput":521},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytesInOutput":202},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytesInOutput":928}},"bytes":2731},"packages/sdk/react-client/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":393},"packages/sdk/react-client/dist/lib/node/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-HVU2FX77.cjs","kind":"import-statement"},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientServices","useConfig","useMulticastObservable","useShell","useStatus"],"entryPoint":"packages/sdk/react-client/src/index.ts","inputs":{"packages/sdk/react-client/src/index.ts":{"bytesInOutput":129}},"bytes":641},"packages/sdk/react-client/dist/lib/node/invitations/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/react-client/dist/lib/node/invitations/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-TQWLADVH.cjs","kind":"import-statement"}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"entryPoint":"packages/sdk/react-client/src/invitations/index.ts","inputs":{},"bytes":388},"packages/sdk/react-client/dist/lib/node/chunk-TQWLADVH.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10269},"packages/sdk/react-client/dist/lib/node/chunk-TQWLADVH.cjs":{"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"inputs":{"packages/sdk/react-client/src/invitations/index.ts":{"bytesInOutput":198},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytesInOutput":4397}},"bytes":4962},"packages/sdk/react-client/dist/lib/node/mesh/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":935},"packages/sdk/react-client/dist/lib/node/mesh/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-HVU2FX77.cjs","kind":"import-statement"},{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true}],"exports":["useNetworkStatus"],"entryPoint":"packages/sdk/react-client/src/mesh/index.ts","inputs":{"packages/sdk/react-client/src/mesh/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytesInOutput":184}},"bytes":445},"packages/sdk/react-client/dist/lib/node/testing/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6870},"packages/sdk/react-client/dist/lib/node/testing/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-HVU2FX77.cjs","kind":"import-statement"},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["ClientRepeater","FullscreenDecorator"],"entryPoint":"packages/sdk/react-client/src/testing/index.ts","inputs":{"packages/sdk/react-client/src/testing/index.ts":{"bytesInOutput":38},"packages/sdk/react-client/src/testing/ClientRepeater.tsx":{"bytesInOutput":2181},"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx":{"bytesInOutput":290}},"bytes":2831},"packages/sdk/react-client/dist/lib/node/chunk-HVU2FX77.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":16029},"packages/sdk/react-client/dist/lib/node/chunk-HVU2FX77.cjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientServices","useConfig","useShell","useStatus"],"inputs":{"packages/sdk/react-client/src/client/ClientContext.tsx":{"bytesInOutput":3601},"packages/sdk/react-client/src/banner.ts":{"bytesInOutput":773},"packages/sdk/react-client/src/client/useClientServices.ts":{"bytesInOutput":250},"packages/sdk/react-client/src/client/useConfig.ts":{"bytesInOutput":245},"packages/sdk/react-client/src/client/useShell.ts":{"bytesInOutput":79},"packages/sdk/react-client/src/client/useStatus.ts":{"bytesInOutput":238},"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytesInOutput":1898},"packages/sdk/react-client/src/client/index.ts":{"bytesInOutput":0}},"bytes":7769},"packages/sdk/react-client/dist/lib/node/worker.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":206},"packages/sdk/react-client/dist/lib/node/worker.cjs":{"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"exports":[],"entryPoint":"packages/sdk/react-client/src/worker.ts","inputs":{"packages/sdk/react-client/src/worker.ts":{"bytesInOutput":37}},"bytes":116}}}
1
+ {"inputs":{"packages/sdk/react-client/src/banner.ts":{"bytes":3658,"imports":[],"format":"esm"},"packages/sdk/react-client/src/client/ClientContext.tsx":{"bytes":15632,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/banner.ts","kind":"import-statement","original":"../banner"}],"format":"esm"},"packages/sdk/react-client/src/client/useClientServices.ts":{"bytes":1563,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useConfig.ts":{"bytes":1775,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useShell.ts":{"bytes":1106,"imports":[{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/useStatus.ts":{"bytes":1507,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytes":7087,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"}],"format":"esm"},"packages/sdk/react-client/src/client/index.ts":{"bytes":988,"imports":[{"path":"packages/sdk/react-client/src/client/ClientContext.tsx","kind":"import-statement","original":"./ClientContext"},{"path":"packages/sdk/react-client/src/client/useClientServices.ts","kind":"import-statement","original":"./useClientServices"},{"path":"packages/sdk/react-client/src/client/useConfig.ts","kind":"import-statement","original":"./useConfig"},{"path":"packages/sdk/react-client/src/client/useShell.ts","kind":"import-statement","original":"./useShell"},{"path":"packages/sdk/react-client/src/client/useStatus.ts","kind":"import-statement","original":"./useStatus"},{"path":"packages/sdk/react-client/src/client/AgentHostingProvider.tsx","kind":"import-statement","original":"./AgentHostingProvider"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytes":1938,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytes":2796,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/devtools/index.ts":{"bytes":693,"imports":[{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/devtools/useDevtools.ts","kind":"import-statement","original":"./useDevtools"},{"path":"packages/sdk/react-client/src/devtools/useStream.ts","kind":"import-statement","original":"./useStream"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytes":6145,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytes":3157,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"}],"format":"esm"},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytes":5959,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytes":18076,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/invitations/index.ts":{"bytes":1299,"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/invitations/useInvitationStatus.ts","kind":"import-statement","original":"./useInvitationStatus"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytes":3253,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytes":3528,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/echo/index.ts":{"bytes":986,"imports":[{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/echo/useMembers.ts","kind":"import-statement","original":"./useMembers"},{"path":"packages/sdk/react-client/src/echo/useQuery.ts","kind":"import-statement","original":"./useQuery"},{"path":"packages/sdk/react-client/src/echo/useSpaces.ts","kind":"import-statement","original":"./useSpaces"},{"path":"packages/sdk/react-client/src/echo/useSpaceInvitations.ts","kind":"import-statement","original":"./useSpaceInvitations"},{"path":"packages/sdk/react-client/src/echo/useSubscription.ts","kind":"import-statement","original":"./useSubscription"}],"format":"esm"},"packages/sdk/react-client/src/halo/useContacts.ts":{"bytes":1718,"imports":[{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytes":1305,"imports":[{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytes":2737,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"},{"path":"packages/sdk/react-client/src/invitations/index.ts","kind":"import-statement","original":"../invitations"}],"format":"esm"},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytes":1588,"imports":[{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytes":4572,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/halo/index.ts":{"bytes":1301,"imports":[{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/halo/useContacts.ts","kind":"import-statement","original":"./useContacts"},{"path":"packages/sdk/react-client/src/halo/useDevices.ts","kind":"import-statement","original":"./useDevices"},{"path":"packages/sdk/react-client/src/halo/useHaloInvitations.ts","kind":"import-statement","original":"./useHaloInvitations"},{"path":"packages/sdk/react-client/src/halo/useIdentity.ts","kind":"import-statement","original":"./useIdentity"},{"path":"packages/sdk/react-client/src/halo/useKeyStore.ts","kind":"import-statement","original":"./useKeyStore"}],"format":"esm"},"packages/sdk/react-client/src/index.ts":{"bytes":888,"imports":[{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"./client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytes":1517,"imports":[{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/mesh/index.ts":{"bytes":601,"imports":[{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/mesh/useNetworkStatus.ts","kind":"import-statement","original":"./useNetworkStatus"}],"format":"esm"},"packages/sdk/react-client/src/testing/ClientRepeater.tsx":{"bytes":11188,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/client/index.ts","kind":"import-statement","original":"../client"}],"format":"esm"},"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx":{"bytes":1552,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/react-client/src/testing/index.ts":{"bytes":724,"imports":[{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"packages/sdk/react-client/src/testing/ClientRepeater.tsx","kind":"import-statement","original":"./ClientRepeater"},{"path":"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx","kind":"import-statement","original":"./FullscreenDecorator"}],"format":"esm"},"packages/sdk/react-client/src/worker.ts":{"bytes":491,"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/sdk/react-client/dist/lib/node/devtools/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2520},"packages/sdk/react-client/dist/lib/node/devtools/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-HVU2FX77.cjs","kind":"import-statement"},{"path":"@dxos/client/devtools","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["useDevtools","useStream"],"entryPoint":"packages/sdk/react-client/src/devtools/index.ts","inputs":{"packages/sdk/react-client/src/devtools/index.ts":{"bytesInOutput":39},"packages/sdk/react-client/src/devtools/useDevtools.ts":{"bytesInOutput":506},"packages/sdk/react-client/src/devtools/useStream.ts":{"bytesInOutput":692}},"bytes":1534},"packages/sdk/react-client/dist/lib/node/echo/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11629},"packages/sdk/react-client/dist/lib/node/echo/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-X5URYLUS.cjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/node/chunk-HVU2FX77.cjs","kind":"import-statement"},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"exports":["useMembers","useQuery","useSpace","useSpaceInvitation","useSpaceInvitations","useSpaces","useSubscription"],"entryPoint":"packages/sdk/react-client/src/echo/index.ts","inputs":{"packages/sdk/react-client/src/echo/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/echo/useMembers.ts":{"bytesInOutput":545},"packages/sdk/react-client/src/echo/useSpaces.ts":{"bytesInOutput":956},"packages/sdk/react-client/src/echo/useQuery.ts":{"bytesInOutput":1033},"packages/sdk/react-client/src/echo/useSpaceInvitations.ts":{"bytesInOutput":677},"packages/sdk/react-client/src/echo/useSubscription.ts":{"bytesInOutput":519}},"bytes":4419},"packages/sdk/react-client/dist/lib/node/halo/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6286},"packages/sdk/react-client/dist/lib/node/halo/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-X5URYLUS.cjs","kind":"import-statement"},{"path":"packages/sdk/react-client/dist/lib/node/chunk-HVU2FX77.cjs","kind":"import-statement"},{"path":"@dxos/client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["Device","DeviceKind","DeviceType","KeyStore","useContacts","useDevices","useHaloInvitation","useHaloInvitations","useIdentity","useKeyStore"],"entryPoint":"packages/sdk/react-client/src/halo/index.ts","inputs":{"packages/sdk/react-client/src/halo/index.ts":{"bytesInOutput":68},"packages/sdk/react-client/src/halo/useContacts.ts":{"bytesInOutput":174},"packages/sdk/react-client/src/halo/useDevices.ts":{"bytesInOutput":200},"packages/sdk/react-client/src/halo/useHaloInvitations.ts":{"bytesInOutput":521},"packages/sdk/react-client/src/halo/useIdentity.ts":{"bytesInOutput":202},"packages/sdk/react-client/src/halo/useKeyStore.ts":{"bytesInOutput":928}},"bytes":2731},"packages/sdk/react-client/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":393},"packages/sdk/react-client/dist/lib/node/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-HVU2FX77.cjs","kind":"import-statement"},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientServices","useConfig","useMulticastObservable","useShell","useStatus"],"entryPoint":"packages/sdk/react-client/src/index.ts","inputs":{"packages/sdk/react-client/src/index.ts":{"bytesInOutput":129}},"bytes":641},"packages/sdk/react-client/dist/lib/node/invitations/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/react-client/dist/lib/node/invitations/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-X5URYLUS.cjs","kind":"import-statement"}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"entryPoint":"packages/sdk/react-client/src/invitations/index.ts","inputs":{},"bytes":388},"packages/sdk/react-client/dist/lib/node/chunk-X5URYLUS.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9782},"packages/sdk/react-client/dist/lib/node/chunk-X5URYLUS.cjs":{"imports":[{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/invitations","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AuthenticatingInvitationObservable","CancellableInvitationObservable","Invitation","InvitationEncoder","InvitationsProxy","useInvitationStatus"],"inputs":{"packages/sdk/react-client/src/invitations/index.ts":{"bytesInOutput":198},"packages/sdk/react-client/src/invitations/useInvitationStatus.ts":{"bytesInOutput":4204}},"bytes":4769},"packages/sdk/react-client/dist/lib/node/mesh/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":935},"packages/sdk/react-client/dist/lib/node/mesh/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-HVU2FX77.cjs","kind":"import-statement"},{"path":"@dxos/client/mesh","kind":"import-statement","external":true},{"path":"@dxos/react-async","kind":"import-statement","external":true}],"exports":["useNetworkStatus"],"entryPoint":"packages/sdk/react-client/src/mesh/index.ts","inputs":{"packages/sdk/react-client/src/mesh/index.ts":{"bytesInOutput":35},"packages/sdk/react-client/src/mesh/useNetworkStatus.ts":{"bytesInOutput":184}},"bytes":445},"packages/sdk/react-client/dist/lib/node/testing/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6870},"packages/sdk/react-client/dist/lib/node/testing/index.cjs":{"imports":[{"path":"packages/sdk/react-client/dist/lib/node/chunk-HVU2FX77.cjs","kind":"import-statement"},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["ClientRepeater","FullscreenDecorator"],"entryPoint":"packages/sdk/react-client/src/testing/index.ts","inputs":{"packages/sdk/react-client/src/testing/index.ts":{"bytesInOutput":38},"packages/sdk/react-client/src/testing/ClientRepeater.tsx":{"bytesInOutput":2181},"packages/sdk/react-client/src/testing/FullscreenDecorator.tsx":{"bytesInOutput":290}},"bytes":2831},"packages/sdk/react-client/dist/lib/node/chunk-HVU2FX77.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":16029},"packages/sdk/react-client/dist/lib/node/chunk-HVU2FX77.cjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/echo-signals/react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["AgentHostingContext","AgentHostingProvider","ClientContext","ClientProvider","useAgentHostingClient","useClient","useClientServices","useConfig","useShell","useStatus"],"inputs":{"packages/sdk/react-client/src/client/ClientContext.tsx":{"bytesInOutput":3601},"packages/sdk/react-client/src/banner.ts":{"bytesInOutput":773},"packages/sdk/react-client/src/client/useClientServices.ts":{"bytesInOutput":250},"packages/sdk/react-client/src/client/useConfig.ts":{"bytesInOutput":245},"packages/sdk/react-client/src/client/useShell.ts":{"bytesInOutput":79},"packages/sdk/react-client/src/client/useStatus.ts":{"bytesInOutput":238},"packages/sdk/react-client/src/client/AgentHostingProvider.tsx":{"bytesInOutput":1898},"packages/sdk/react-client/src/client/index.ts":{"bytesInOutput":0}},"bytes":7769},"packages/sdk/react-client/dist/lib/node/worker.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":206},"packages/sdk/react-client/dist/lib/node/worker.cjs":{"imports":[{"path":"@dxos/client/worker","kind":"import-statement","external":true}],"exports":[],"entryPoint":"packages/sdk/react-client/src/worker.ts","inputs":{"packages/sdk/react-client/src/worker.ts":{"bytesInOutput":37}},"bytes":116}}}
@@ -6,21 +6,18 @@ export type InvitationResult = {
6
6
  swarmKey: PublicKey | null;
7
7
  target: string | null;
8
8
  };
9
- type InvitationPayload = {
10
- invitation: Invitation;
11
- };
12
- export type InvitationAction = ({
9
+ export type InvitationAction = {
13
10
  status: Invitation.State.INIT | Invitation.State.CONNECTED | Invitation.State.READY_FOR_AUTHENTICATION | Invitation.State.AUTHENTICATING;
14
- } & InvitationPayload) | ({
11
+ } | {
15
12
  status: Invitation.State.CONNECTING;
16
13
  observable: CancellableInvitationObservable;
17
- } & InvitationPayload) | ({
14
+ } | {
18
15
  status: Invitation.State.SUCCESS;
19
16
  result: InvitationResult;
20
- } & InvitationPayload) | ({
17
+ } | {
21
18
  status: Invitation.State.CANCELLED | Invitation.State.TIMEOUT;
22
19
  haltedAt: Invitation.State;
23
- } & InvitationPayload) | {
20
+ } | {
24
21
  status: Invitation.State.ERROR;
25
22
  error?: Error;
26
23
  haltedAt: Invitation.State;
@@ -40,6 +37,5 @@ export type InvitationStatus = {
40
37
  connect(observable: CancellableInvitationObservable): void;
41
38
  authenticate(authCode: string): Promise<void>;
42
39
  };
43
- export declare const useInvitationStatus: (observable?: CancellableInvitationObservable) => InvitationStatus;
44
- export {};
40
+ export declare const useInvitationStatus: (initialObservable?: CancellableInvitationObservable) => InvitationStatus;
45
41
  //# sourceMappingURL=useInvitationStatus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInvitationStatus.d.ts","sourceRoot":"","sources":["../../../../src/invitations/useInvitationStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAEL,KAAK,+BAA+B,EACpC,UAAU,EAEX,MAAM,0BAA0B,CAAC;AAGlC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAeF,KAAK,iBAAiB,GAAG;IAAE,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAEpD,MAAM,MAAM,gBAAgB,GACxB,CAAC;IACC,MAAM,EACF,UAAU,CAAC,KAAK,CAAC,IAAI,GACrB,UAAU,CAAC,KAAK,CAAC,SAAS,GAC1B,UAAU,CAAC,KAAK,CAAC,wBAAwB,GACzC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC;CACrC,GAAG,iBAAiB,CAAC,GACtB,CAAC;IACC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;IACpC,UAAU,EAAE,+BAA+B,CAAC;CAC7C,GAAG,iBAAiB,CAAC,GACtB,CAAC;IACC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;IACjC,MAAM,EAAE,gBAAgB,CAAC;CAC1B,GAAG,iBAAiB,CAAC,GACtB,CAAC;IACC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;IAC9D,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC;CAC5B,GAAG,iBAAiB,CAAC,GACtB;IACE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC;CAC5B,CAAC;AAEN,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC;IACnC,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;IACzB,QAAQ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,IAAI,IAAI,CAAC;IAEf,OAAO,CAAC,UAAU,EAAE,+BAA+B,GAAG,IAAI,CAAC;IAC3D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,mBAAmB,gBAAiB,+BAA+B,KAAG,gBA0HlF,CAAC"}
1
+ {"version":3,"file":"useInvitationStatus.d.ts","sourceRoot":"","sources":["../../../../src/invitations/useInvitationStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAEL,KAAK,+BAA+B,EACpC,UAAU,EAEX,MAAM,0BAA0B,CAAC;AAGlC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAcF,MAAM,MAAM,gBAAgB,GACxB;IACE,MAAM,EACF,UAAU,CAAC,KAAK,CAAC,IAAI,GACrB,UAAU,CAAC,KAAK,CAAC,SAAS,GAC1B,UAAU,CAAC,KAAK,CAAC,wBAAwB,GACzC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC;CACrC,GACD;IACE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;IACpC,UAAU,EAAE,+BAA+B,CAAC;CAC7C,GACD;IACE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;IACjC,MAAM,EAAE,gBAAgB,CAAC;CAC1B,GACD;IACE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;IAC9D,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC;CAC5B,GACD;IACE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC;CAC5B,CAAC;AAEN,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC;IACnC,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;IACzB,QAAQ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,IAAI,IAAI,CAAC;IAEf,OAAO,CAAC,UAAU,EAAE,+BAA+B,GAAG,IAAI,CAAC;IAC3D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,mBAAmB,uBAAwB,+BAA+B,KAAG,gBAmHzF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/react-client",
3
- "version": "0.5.3-main.61bbff4",
3
+ "version": "0.5.3-main.64035f0",
4
4
  "description": "React client API",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -91,17 +91,17 @@
91
91
  }
92
92
  },
93
93
  "dependencies": {
94
- "@dxos/config": "0.5.3-main.61bbff4",
95
- "@dxos/async": "0.5.3-main.61bbff4",
96
- "@dxos/client": "0.5.3-main.61bbff4",
97
- "@dxos/echo-signals": "0.5.3-main.61bbff4",
98
- "@dxos/codec-protobuf": "0.5.3-main.61bbff4",
99
- "@dxos/debug": "0.5.3-main.61bbff4",
100
- "@dxos/log": "0.5.3-main.61bbff4",
101
- "@dxos/invariant": "0.5.3-main.61bbff4",
102
- "@dxos/node-std": "0.5.3-main.61bbff4",
103
- "@dxos/react-async": "0.5.3-main.61bbff4",
104
- "@dxos/util": "0.5.3-main.61bbff4"
94
+ "@dxos/async": "0.5.3-main.64035f0",
95
+ "@dxos/client": "0.5.3-main.64035f0",
96
+ "@dxos/config": "0.5.3-main.64035f0",
97
+ "@dxos/codec-protobuf": "0.5.3-main.64035f0",
98
+ "@dxos/debug": "0.5.3-main.64035f0",
99
+ "@dxos/echo-signals": "0.5.3-main.64035f0",
100
+ "@dxos/invariant": "0.5.3-main.64035f0",
101
+ "@dxos/log": "0.5.3-main.64035f0",
102
+ "@dxos/node-std": "0.5.3-main.64035f0",
103
+ "@dxos/react-async": "0.5.3-main.64035f0",
104
+ "@dxos/util": "0.5.3-main.64035f0"
105
105
  },
106
106
  "devDependencies": {
107
107
  "@testing-library/dom": "^8.17.1",
@@ -112,10 +112,10 @@
112
112
  "react": "^18.2.0",
113
113
  "react-dom": "^18.2.0",
114
114
  "yjs": "^13.6.10",
115
- "@dxos/random": "0.5.3-main.61bbff4",
116
- "@dxos/react-ui": "0.5.3-main.61bbff4",
117
- "@dxos/react-ui-theme": "0.5.3-main.61bbff4",
118
- "@dxos/storybook-utils": "0.5.3-main.61bbff4"
115
+ "@dxos/random": "0.5.3-main.64035f0",
116
+ "@dxos/react-ui-theme": "0.5.3-main.64035f0",
117
+ "@dxos/react-ui": "0.5.3-main.64035f0",
118
+ "@dxos/storybook-utils": "0.5.3-main.64035f0"
119
119
  },
120
120
  "peerDependencies": {
121
121
  "react": "*",
@@ -123,7 +123,7 @@
123
123
  },
124
124
  "optionalDependencies": {
125
125
  "yjs": "^13.6.10",
126
- "@dxos/random": "0.5.3-main.61bbff4"
126
+ "@dxos/random": "0.5.3-main.64035f0"
127
127
  },
128
128
  "publishConfig": {
129
129
  "access": "public"
@@ -25,36 +25,33 @@ interface InvitationReducerState {
25
25
  haltedAt?: Invitation.State;
26
26
  result: InvitationResult;
27
27
  error?: number;
28
+ observable?: CancellableInvitationObservable | AuthenticatingInvitationObservable;
28
29
  id?: string;
29
- multiUse?: boolean;
30
30
  invitationCode?: string;
31
31
  authCode?: string;
32
- authMethod?: Invitation.AuthMethod;
33
- type?: Invitation.Type;
32
+ multiUse?: boolean;
34
33
  }
35
34
 
36
- type InvitationPayload = { invitation: Invitation };
37
-
38
35
  export type InvitationAction =
39
- | ({
36
+ | {
40
37
  status:
41
38
  | Invitation.State.INIT
42
39
  | Invitation.State.CONNECTED
43
40
  | Invitation.State.READY_FOR_AUTHENTICATION
44
41
  | Invitation.State.AUTHENTICATING;
45
- } & InvitationPayload)
46
- | ({
42
+ }
43
+ | {
47
44
  status: Invitation.State.CONNECTING;
48
45
  observable: CancellableInvitationObservable;
49
- } & InvitationPayload)
50
- | ({
46
+ }
47
+ | {
51
48
  status: Invitation.State.SUCCESS;
52
49
  result: InvitationResult;
53
- } & InvitationPayload)
54
- | ({
50
+ }
51
+ | {
55
52
  status: Invitation.State.CANCELLED | Invitation.State.TIMEOUT;
56
53
  haltedAt: Invitation.State;
57
- } & InvitationPayload)
54
+ }
58
55
  | {
59
56
  status: Invitation.State.ERROR;
60
57
  error?: Error;
@@ -78,24 +75,12 @@ export type InvitationStatus = {
78
75
  authenticate(authCode: string): Promise<void>;
79
76
  };
80
77
 
81
- export const useInvitationStatus = (observable?: CancellableInvitationObservable): InvitationStatus => {
78
+ export const useInvitationStatus = (initialObservable?: CancellableInvitationObservable): InvitationStatus => {
82
79
  const [state, dispatch] = useReducer<Reducer<InvitationReducerState, InvitationAction>, null>(
83
80
  (prev, action) => {
84
81
  log('useInvitationStatus', { action });
85
- const invitationProps =
86
- 'invitation' in action
87
- ? {
88
- id: action.invitation.invitationId,
89
- multiUse: action.invitation.multiUse,
90
- invitationCode: InvitationEncoder.encode(action.invitation),
91
- authCode: action.invitation.authCode,
92
- authMethod: action.invitation.authMethod,
93
- type: action.invitation.type,
94
- }
95
- : {};
96
82
  return {
97
83
  ...prev,
98
- ...invitationProps,
99
84
  // TODO(burdon): State.
100
85
  status: action.status,
101
86
  // `invitationObservable`, `secret`, and `result` is persisted between the status-actions that set them.
@@ -108,20 +93,16 @@ export const useInvitationStatus = (observable?: CancellableInvitationObservable
108
93
  action.status === Invitation.State.TIMEOUT) && {
109
94
  haltedAt: typeof prev.haltedAt === 'undefined' ? action.haltedAt : prev.haltedAt,
110
95
  }),
96
+ observable:
97
+ action.status === Invitation.State.CONNECTING ? action.observable ?? prev.observable : prev.observable,
111
98
  } as InvitationReducerState;
112
99
  },
113
100
  null,
114
101
  (_arg: null) => {
115
- const invitation = observable?.get();
116
102
  return {
117
103
  status: Invitation.State.INIT,
118
104
  result: { spaceKey: null, identityKey: null, swarmKey: null, target: null },
119
- id: invitation?.invitationId,
120
- multiUse: invitation?.multiUse,
121
- invitationCode: invitation ? InvitationEncoder.encode(invitation) : undefined,
122
- authCode: invitation?.authCode,
123
- authMethod: invitation?.authMethod,
124
- type: invitation?.type,
105
+ observable: initialObservable,
125
106
  };
126
107
  },
127
108
  );
@@ -131,12 +112,10 @@ export const useInvitationStatus = (observable?: CancellableInvitationObservable
131
112
  useEffect(() => {
132
113
  const update = (invitation: Invitation) => {
133
114
  switch (invitation.state) {
134
- case Invitation.State.INIT:
135
115
  case Invitation.State.CONNECTED:
136
116
  case Invitation.State.READY_FOR_AUTHENTICATION:
137
117
  case Invitation.State.AUTHENTICATING: {
138
118
  dispatch({
139
- invitation,
140
119
  status: invitation.state,
141
120
  });
142
121
  break;
@@ -144,7 +123,6 @@ export const useInvitationStatus = (observable?: CancellableInvitationObservable
144
123
 
145
124
  case Invitation.State.SUCCESS: {
146
125
  dispatch({
147
- invitation,
148
126
  status: invitation.state,
149
127
  result: {
150
128
  spaceKey: invitation.spaceKey || null,
@@ -158,46 +136,58 @@ export const useInvitationStatus = (observable?: CancellableInvitationObservable
158
136
 
159
137
  case Invitation.State.CANCELLED:
160
138
  case Invitation.State.TIMEOUT: {
161
- dispatch({ invitation, status: invitation.state, haltedAt: state.status });
139
+ dispatch({ status: invitation.state, haltedAt: state.status });
162
140
  break;
163
141
  }
164
142
  }
165
143
  };
166
144
 
167
- const subscription = observable?.subscribe(update, (err: Error) => {
145
+ const subscription = state.observable?.subscribe(update, (err: Error) => {
168
146
  dispatch({ status: Invitation.State.ERROR, error: err, haltedAt: state.status });
169
147
  });
170
148
 
171
- const currentState = observable?.get();
149
+ const currentState = state.observable?.get();
172
150
  if (currentState) {
173
151
  update(currentState);
174
152
  }
175
153
 
176
154
  return () => subscription?.unsubscribe();
177
- }, [observable, state.status]);
155
+ }, [state.observable, state.status]);
178
156
 
179
157
  // Return memoized callbacks & values.
180
158
 
181
159
  const connect = useCallback((observable: CancellableInvitationObservable) => {
182
- dispatch({ invitation: observable.get(), status: Invitation.State.CONNECTING, observable });
160
+ dispatch({ status: Invitation.State.CONNECTING, observable });
183
161
  }, []);
184
162
 
185
163
  const authenticate = useCallback(
186
164
  (authCode: string) => {
187
165
  log('authenticating...', { authCode });
188
- return (observable as AuthenticatingInvitationObservable).authenticate(authCode);
166
+ return (state.observable as AuthenticatingInvitationObservable).authenticate(authCode);
189
167
  },
190
- [observable],
168
+ [state.observable],
191
169
  );
192
170
 
193
- const cancel = useCallback(async () => observable?.cancel(), [observable]);
171
+ const cancel = useCallback(async () => state.observable?.cancel(), [state.observable]);
194
172
 
195
173
  return useMemo(() => {
196
- return {
197
- ...state,
174
+ const invitation = state.observable?.get();
175
+ const result = {
176
+ status: state.status,
177
+ haltedAt: state.haltedAt,
178
+ result: state.result,
179
+ error: state.error,
198
180
  cancel,
199
181
  connect,
200
182
  authenticate,
183
+ id: invitation?.invitationId,
184
+ multiUse: invitation?.multiUse,
185
+ invitationCode: invitation ? InvitationEncoder.encode(invitation) : undefined,
186
+ authCode: invitation?.authCode,
187
+ authMethod: invitation?.authMethod,
188
+ type: invitation?.type,
201
189
  };
190
+
191
+ return result;
202
192
  }, [state, cancel, connect, authenticate]);
203
193
  };
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/invitations/index.ts", "../../../src/invitations/useInvitationStatus.ts"],
4
- "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\n// NOTE: Export * fails here.\nexport {\n AuthenticatingInvitationObservable,\n CancellableInvitationObservable,\n InvitationEncoder,\n Invitation,\n type Invitations,\n InvitationsProxy,\n} from '@dxos/client/invitations';\n\nexport * from './useInvitationStatus';\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { useReducer, type Reducer, useMemo, useCallback, useEffect } from 'react';\n\nimport { type PublicKey } from '@dxos/client';\nimport {\n type AuthenticatingInvitationObservable,\n type CancellableInvitationObservable,\n Invitation,\n InvitationEncoder,\n} from '@dxos/client/invitations';\nimport { log } from '@dxos/log';\n\nexport type InvitationResult = {\n spaceKey: PublicKey | null;\n identityKey: PublicKey | null;\n swarmKey: PublicKey | null;\n target: string | null;\n};\n\ninterface InvitationReducerState {\n status: Invitation.State; // TODO(burdon): Rename state.\n haltedAt?: Invitation.State;\n result: InvitationResult;\n error?: number;\n id?: string;\n multiUse?: boolean;\n invitationCode?: string;\n authCode?: string;\n authMethod?: Invitation.AuthMethod;\n type?: Invitation.Type;\n}\n\ntype InvitationPayload = { invitation: Invitation };\n\nexport type InvitationAction =\n | ({\n status:\n | Invitation.State.INIT\n | Invitation.State.CONNECTED\n | Invitation.State.READY_FOR_AUTHENTICATION\n | Invitation.State.AUTHENTICATING;\n } & InvitationPayload)\n | ({\n status: Invitation.State.CONNECTING;\n observable: CancellableInvitationObservable;\n } & InvitationPayload)\n | ({\n status: Invitation.State.SUCCESS;\n result: InvitationResult;\n } & InvitationPayload)\n | ({\n status: Invitation.State.CANCELLED | Invitation.State.TIMEOUT;\n haltedAt: Invitation.State;\n } & InvitationPayload)\n | {\n status: Invitation.State.ERROR;\n error?: Error;\n haltedAt: Invitation.State;\n };\n\nexport type InvitationStatus = {\n id?: string;\n invitationCode?: string;\n authCode?: string;\n authMethod?: Invitation.AuthMethod;\n type?: Invitation.Type;\n status: Invitation.State;\n haltedAt?: Invitation.State;\n multiUse?: boolean;\n result: InvitationResult;\n error?: number;\n cancel(): void;\n // TODO(wittjosiah): Remove?\n connect(observable: CancellableInvitationObservable): void;\n authenticate(authCode: string): Promise<void>;\n};\n\nexport const useInvitationStatus = (observable?: CancellableInvitationObservable): InvitationStatus => {\n const [state, dispatch] = useReducer<Reducer<InvitationReducerState, InvitationAction>, null>(\n (prev, action) => {\n log('useInvitationStatus', { action });\n const invitationProps =\n 'invitation' in action\n ? {\n id: action.invitation.invitationId,\n multiUse: action.invitation.multiUse,\n invitationCode: InvitationEncoder.encode(action.invitation),\n authCode: action.invitation.authCode,\n authMethod: action.invitation.authMethod,\n type: action.invitation.type,\n }\n : {};\n return {\n ...prev,\n ...invitationProps,\n // TODO(burdon): State.\n status: action.status,\n // `invitationObservable`, `secret`, and `result` is persisted between the status-actions that set them.\n result: action.status === Invitation.State.SUCCESS ? action.result : prev.result,\n // `error` gets set each time we enter the error state\n ...(action.status === Invitation.State.ERROR && { error: action.error }),\n // `haltedAt` gets set on only the first error/cancelled/timeout action and reset on any others.\n ...((action.status === Invitation.State.ERROR ||\n action.status === Invitation.State.CANCELLED ||\n action.status === Invitation.State.TIMEOUT) && {\n haltedAt: typeof prev.haltedAt === 'undefined' ? action.haltedAt : prev.haltedAt,\n }),\n } as InvitationReducerState;\n },\n null,\n (_arg: null) => {\n const invitation = observable?.get();\n return {\n status: Invitation.State.INIT,\n result: { spaceKey: null, identityKey: null, swarmKey: null, target: null },\n id: invitation?.invitationId,\n multiUse: invitation?.multiUse,\n invitationCode: invitation ? InvitationEncoder.encode(invitation) : undefined,\n authCode: invitation?.authCode,\n authMethod: invitation?.authMethod,\n type: invitation?.type,\n };\n },\n );\n\n // Handle unmount.\n\n useEffect(() => {\n const update = (invitation: Invitation) => {\n switch (invitation.state) {\n case Invitation.State.INIT:\n case Invitation.State.CONNECTED:\n case Invitation.State.READY_FOR_AUTHENTICATION:\n case Invitation.State.AUTHENTICATING: {\n dispatch({\n invitation,\n status: invitation.state,\n });\n break;\n }\n\n case Invitation.State.SUCCESS: {\n dispatch({\n invitation,\n status: invitation.state,\n result: {\n spaceKey: invitation.spaceKey || null,\n identityKey: invitation.identityKey || null,\n swarmKey: invitation.swarmKey || null,\n target: invitation.target || null,\n },\n });\n break;\n }\n\n case Invitation.State.CANCELLED:\n case Invitation.State.TIMEOUT: {\n dispatch({ invitation, status: invitation.state, haltedAt: state.status });\n break;\n }\n }\n };\n\n const subscription = observable?.subscribe(update, (err: Error) => {\n dispatch({ status: Invitation.State.ERROR, error: err, haltedAt: state.status });\n });\n\n const currentState = observable?.get();\n if (currentState) {\n update(currentState);\n }\n\n return () => subscription?.unsubscribe();\n }, [observable, state.status]);\n\n // Return memoized callbacks & values.\n\n const connect = useCallback((observable: CancellableInvitationObservable) => {\n dispatch({ invitation: observable.get(), status: Invitation.State.CONNECTING, observable });\n }, []);\n\n const authenticate = useCallback(\n (authCode: string) => {\n log('authenticating...', { authCode });\n return (observable as AuthenticatingInvitationObservable).authenticate(authCode);\n },\n [observable],\n );\n\n const cancel = useCallback(async () => observable?.cancel(), [observable]);\n\n return useMemo(() => {\n return {\n ...state,\n cancel,\n connect,\n authenticate,\n };\n }, [state, cancel, connect, authenticate]);\n};\n"],
5
- "mappings": "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",
6
- "names": ["AuthenticatingInvitationObservable", "CancellableInvitationObservable", "InvitationEncoder", "Invitation", "InvitationsProxy", "useReducer", "useMemo", "useCallback", "useEffect", "Invitation", "InvitationEncoder", "log", "useInvitationStatus", "observable", "state", "dispatch", "prev", "action", "invitationProps", "id", "invitation", "invitationId", "multiUse", "invitationCode", "encode", "authCode", "authMethod", "type", "status", "result", "State", "SUCCESS", "ERROR", "error", "CANCELLED", "TIMEOUT", "haltedAt", "_arg", "get", "INIT", "spaceKey", "identityKey", "swarmKey", "target", "undefined", "update", "CONNECTED", "READY_FOR_AUTHENTICATION", "AUTHENTICATING", "subscription", "subscribe", "err", "currentState", "unsubscribe", "connect", "CONNECTING", "authenticate", "cancel"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/invitations/index.ts", "../../../src/invitations/useInvitationStatus.ts"],
4
- "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\n// NOTE: Export * fails here.\nexport {\n AuthenticatingInvitationObservable,\n CancellableInvitationObservable,\n InvitationEncoder,\n Invitation,\n type Invitations,\n InvitationsProxy,\n} from '@dxos/client/invitations';\n\nexport * from './useInvitationStatus';\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { useReducer, type Reducer, useMemo, useCallback, useEffect } from 'react';\n\nimport { type PublicKey } from '@dxos/client';\nimport {\n type AuthenticatingInvitationObservable,\n type CancellableInvitationObservable,\n Invitation,\n InvitationEncoder,\n} from '@dxos/client/invitations';\nimport { log } from '@dxos/log';\n\nexport type InvitationResult = {\n spaceKey: PublicKey | null;\n identityKey: PublicKey | null;\n swarmKey: PublicKey | null;\n target: string | null;\n};\n\ninterface InvitationReducerState {\n status: Invitation.State; // TODO(burdon): Rename state.\n haltedAt?: Invitation.State;\n result: InvitationResult;\n error?: number;\n id?: string;\n multiUse?: boolean;\n invitationCode?: string;\n authCode?: string;\n authMethod?: Invitation.AuthMethod;\n type?: Invitation.Type;\n}\n\ntype InvitationPayload = { invitation: Invitation };\n\nexport type InvitationAction =\n | ({\n status:\n | Invitation.State.INIT\n | Invitation.State.CONNECTED\n | Invitation.State.READY_FOR_AUTHENTICATION\n | Invitation.State.AUTHENTICATING;\n } & InvitationPayload)\n | ({\n status: Invitation.State.CONNECTING;\n observable: CancellableInvitationObservable;\n } & InvitationPayload)\n | ({\n status: Invitation.State.SUCCESS;\n result: InvitationResult;\n } & InvitationPayload)\n | ({\n status: Invitation.State.CANCELLED | Invitation.State.TIMEOUT;\n haltedAt: Invitation.State;\n } & InvitationPayload)\n | {\n status: Invitation.State.ERROR;\n error?: Error;\n haltedAt: Invitation.State;\n };\n\nexport type InvitationStatus = {\n id?: string;\n invitationCode?: string;\n authCode?: string;\n authMethod?: Invitation.AuthMethod;\n type?: Invitation.Type;\n status: Invitation.State;\n haltedAt?: Invitation.State;\n multiUse?: boolean;\n result: InvitationResult;\n error?: number;\n cancel(): void;\n // TODO(wittjosiah): Remove?\n connect(observable: CancellableInvitationObservable): void;\n authenticate(authCode: string): Promise<void>;\n};\n\nexport const useInvitationStatus = (observable?: CancellableInvitationObservable): InvitationStatus => {\n const [state, dispatch] = useReducer<Reducer<InvitationReducerState, InvitationAction>, null>(\n (prev, action) => {\n log('useInvitationStatus', { action });\n const invitationProps =\n 'invitation' in action\n ? {\n id: action.invitation.invitationId,\n multiUse: action.invitation.multiUse,\n invitationCode: InvitationEncoder.encode(action.invitation),\n authCode: action.invitation.authCode,\n authMethod: action.invitation.authMethod,\n type: action.invitation.type,\n }\n : {};\n return {\n ...prev,\n ...invitationProps,\n // TODO(burdon): State.\n status: action.status,\n // `invitationObservable`, `secret`, and `result` is persisted between the status-actions that set them.\n result: action.status === Invitation.State.SUCCESS ? action.result : prev.result,\n // `error` gets set each time we enter the error state\n ...(action.status === Invitation.State.ERROR && { error: action.error }),\n // `haltedAt` gets set on only the first error/cancelled/timeout action and reset on any others.\n ...((action.status === Invitation.State.ERROR ||\n action.status === Invitation.State.CANCELLED ||\n action.status === Invitation.State.TIMEOUT) && {\n haltedAt: typeof prev.haltedAt === 'undefined' ? action.haltedAt : prev.haltedAt,\n }),\n } as InvitationReducerState;\n },\n null,\n (_arg: null) => {\n const invitation = observable?.get();\n return {\n status: Invitation.State.INIT,\n result: { spaceKey: null, identityKey: null, swarmKey: null, target: null },\n id: invitation?.invitationId,\n multiUse: invitation?.multiUse,\n invitationCode: invitation ? InvitationEncoder.encode(invitation) : undefined,\n authCode: invitation?.authCode,\n authMethod: invitation?.authMethod,\n type: invitation?.type,\n };\n },\n );\n\n // Handle unmount.\n\n useEffect(() => {\n const update = (invitation: Invitation) => {\n switch (invitation.state) {\n case Invitation.State.INIT:\n case Invitation.State.CONNECTED:\n case Invitation.State.READY_FOR_AUTHENTICATION:\n case Invitation.State.AUTHENTICATING: {\n dispatch({\n invitation,\n status: invitation.state,\n });\n break;\n }\n\n case Invitation.State.SUCCESS: {\n dispatch({\n invitation,\n status: invitation.state,\n result: {\n spaceKey: invitation.spaceKey || null,\n identityKey: invitation.identityKey || null,\n swarmKey: invitation.swarmKey || null,\n target: invitation.target || null,\n },\n });\n break;\n }\n\n case Invitation.State.CANCELLED:\n case Invitation.State.TIMEOUT: {\n dispatch({ invitation, status: invitation.state, haltedAt: state.status });\n break;\n }\n }\n };\n\n const subscription = observable?.subscribe(update, (err: Error) => {\n dispatch({ status: Invitation.State.ERROR, error: err, haltedAt: state.status });\n });\n\n const currentState = observable?.get();\n if (currentState) {\n update(currentState);\n }\n\n return () => subscription?.unsubscribe();\n }, [observable, state.status]);\n\n // Return memoized callbacks & values.\n\n const connect = useCallback((observable: CancellableInvitationObservable) => {\n dispatch({ invitation: observable.get(), status: Invitation.State.CONNECTING, observable });\n }, []);\n\n const authenticate = useCallback(\n (authCode: string) => {\n log('authenticating...', { authCode });\n return (observable as AuthenticatingInvitationObservable).authenticate(authCode);\n },\n [observable],\n );\n\n const cancel = useCallback(async () => observable?.cancel(), [observable]);\n\n return useMemo(() => {\n return {\n ...state,\n cancel,\n connect,\n authenticate,\n };\n }, [state, cancel, connect, authenticate]);\n};\n"],
5
- "mappings": "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",
6
- "names": ["import_invitations", "useInvitationStatus", "observable", "state", "dispatch", "useReducer", "prev", "action", "log", "invitationProps", "id", "invitation", "invitationId", "multiUse", "invitationCode", "InvitationEncoder", "encode", "authCode", "authMethod", "type", "status", "result", "Invitation", "State", "SUCCESS", "ERROR", "error", "CANCELLED", "TIMEOUT", "haltedAt", "_arg", "get", "INIT", "spaceKey", "identityKey", "swarmKey", "target", "undefined", "useEffect", "update", "CONNECTED", "READY_FOR_AUTHENTICATION", "AUTHENTICATING", "subscription", "subscribe", "err", "currentState", "unsubscribe", "connect", "useCallback", "CONNECTING", "authenticate", "cancel", "useMemo"]
7
- }