@dxos/client-services 0.8.4-main.ef1bc66f44 → 0.8.4-main.effb148878

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/browser/{chunk-NTZOEM4P.mjs → chunk-AO5NCRAT.mjs} +2120 -3268
  4. package/dist/lib/browser/chunk-AO5NCRAT.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-NQSC7HOE.mjs → chunk-XJRPB3GA.mjs} +1 -1
  6. package/dist/lib/browser/index.mjs +109 -194
  7. package/dist/lib/browser/index.mjs.map +3 -3
  8. package/dist/lib/browser/meta.json +1 -1
  9. package/dist/lib/browser/packlets/diagnostics/browser-diagnostics-broadcast.mjs +1 -6
  10. package/dist/lib/browser/packlets/diagnostics/browser-diagnostics-broadcast.mjs.map +2 -2
  11. package/dist/lib/browser/packlets/diagnostics/diagnostics-broadcast.mjs +1 -1
  12. package/dist/lib/browser/packlets/locks/browser.mjs +9 -49
  13. package/dist/lib/browser/packlets/locks/browser.mjs.map +2 -2
  14. package/dist/lib/browser/packlets/locks/node.mjs +4 -22
  15. package/dist/lib/browser/packlets/locks/node.mjs.map +2 -2
  16. package/dist/lib/browser/testing/index.mjs +9 -22
  17. package/dist/lib/browser/testing/index.mjs.map +3 -3
  18. package/dist/lib/node-esm/{chunk-PKEGMOQ4.mjs → chunk-2DT3MZRL.mjs} +1 -1
  19. package/dist/lib/node-esm/{chunk-DQWA5ILA.mjs → chunk-V423TFNB.mjs} +2120 -3268
  20. package/dist/lib/node-esm/chunk-V423TFNB.mjs.map +7 -0
  21. package/dist/lib/node-esm/index.mjs +109 -194
  22. package/dist/lib/node-esm/index.mjs.map +3 -3
  23. package/dist/lib/node-esm/meta.json +1 -1
  24. package/dist/lib/node-esm/packlets/diagnostics/browser-diagnostics-broadcast.mjs +1 -6
  25. package/dist/lib/node-esm/packlets/diagnostics/browser-diagnostics-broadcast.mjs.map +2 -2
  26. package/dist/lib/node-esm/packlets/diagnostics/diagnostics-broadcast.mjs +1 -1
  27. package/dist/lib/node-esm/packlets/locks/browser.mjs +9 -49
  28. package/dist/lib/node-esm/packlets/locks/browser.mjs.map +2 -2
  29. package/dist/lib/node-esm/packlets/locks/node.mjs +4 -22
  30. package/dist/lib/node-esm/packlets/locks/node.mjs.map +2 -2
  31. package/dist/lib/node-esm/testing/index.mjs +9 -22
  32. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  33. package/dist/types/src/index.d.ts +1 -0
  34. package/dist/types/src/index.d.ts.map +1 -1
  35. package/dist/types/src/packlets/agents/edge-agent-manager.d.ts +3 -2
  36. package/dist/types/src/packlets/agents/edge-agent-manager.d.ts.map +1 -1
  37. package/dist/types/src/packlets/agents/edge-agent-service.d.ts +2 -1
  38. package/dist/types/src/packlets/agents/edge-agent-service.d.ts.map +1 -1
  39. package/dist/types/src/packlets/devices/devices-service.d.ts.map +1 -1
  40. package/dist/types/src/packlets/devtools/devtools.d.ts.map +1 -1
  41. package/dist/types/src/packlets/devtools/feeds.d.ts.map +1 -1
  42. package/dist/types/src/packlets/devtools/keys.d.ts.map +1 -1
  43. package/dist/types/src/packlets/devtools/metadata.d.ts.map +1 -1
  44. package/dist/types/src/packlets/devtools/network.d.ts.map +1 -1
  45. package/dist/types/src/packlets/devtools/spaces.d.ts.map +1 -1
  46. package/dist/types/src/packlets/diagnostics/browser-diagnostics-broadcast.d.ts.map +1 -1
  47. package/dist/types/src/packlets/diagnostics/diagnostics-broadcast.d.ts.map +1 -1
  48. package/dist/types/src/packlets/diagnostics/diagnostics-collector.d.ts.map +1 -1
  49. package/dist/types/src/packlets/diagnostics/diagnostics.d.ts +2 -3
  50. package/dist/types/src/packlets/diagnostics/diagnostics.d.ts.map +1 -1
  51. package/dist/types/src/packlets/identity/authenticator.d.ts.map +1 -1
  52. package/dist/types/src/packlets/identity/contacts-service.d.ts.map +1 -1
  53. package/dist/types/src/packlets/identity/identity-manager.d.ts +3 -3
  54. package/dist/types/src/packlets/identity/identity-manager.d.ts.map +1 -1
  55. package/dist/types/src/packlets/identity/identity-recovery-manager.d.ts +6 -5
  56. package/dist/types/src/packlets/identity/identity-recovery-manager.d.ts.map +1 -1
  57. package/dist/types/src/packlets/identity/identity-service.d.ts +6 -10
  58. package/dist/types/src/packlets/identity/identity-service.d.ts.map +1 -1
  59. package/dist/types/src/packlets/identity/identity.d.ts +6 -9
  60. package/dist/types/src/packlets/identity/identity.d.ts.map +1 -1
  61. package/dist/types/src/packlets/invitations/device-invitation-protocol.d.ts +2 -1
  62. package/dist/types/src/packlets/invitations/device-invitation-protocol.d.ts.map +1 -1
  63. package/dist/types/src/packlets/invitations/edge-invitation-handler.d.ts +1 -1
  64. package/dist/types/src/packlets/invitations/edge-invitation-handler.d.ts.map +1 -1
  65. package/dist/types/src/packlets/invitations/invitation-guest-extenstion.d.ts.map +1 -1
  66. package/dist/types/src/packlets/invitations/invitation-host-extension.d.ts.map +1 -1
  67. package/dist/types/src/packlets/invitations/invitation-protocol.d.ts +5 -1
  68. package/dist/types/src/packlets/invitations/invitation-protocol.d.ts.map +1 -1
  69. package/dist/types/src/packlets/invitations/invitation-state.d.ts.map +1 -1
  70. package/dist/types/src/packlets/invitations/invitation-topology.d.ts.map +1 -1
  71. package/dist/types/src/packlets/invitations/invitations-handler.d.ts.map +1 -1
  72. package/dist/types/src/packlets/invitations/invitations-manager.d.ts +3 -3
  73. package/dist/types/src/packlets/invitations/invitations-manager.d.ts.map +1 -1
  74. package/dist/types/src/packlets/invitations/invitations-service.d.ts +3 -3
  75. package/dist/types/src/packlets/invitations/invitations-service.d.ts.map +1 -1
  76. package/dist/types/src/packlets/invitations/space-invitation-protocol.d.ts +2 -1
  77. package/dist/types/src/packlets/invitations/space-invitation-protocol.d.ts.map +1 -1
  78. package/dist/types/src/packlets/invitations/utils.d.ts.map +1 -1
  79. package/dist/types/src/packlets/locks/browser.d.ts.map +1 -1
  80. package/dist/types/src/packlets/locks/node.d.ts.map +1 -1
  81. package/dist/types/src/packlets/logging/logging-service.d.ts.map +1 -1
  82. package/dist/types/src/packlets/network/network-service.d.ts +5 -4
  83. package/dist/types/src/packlets/network/network-service.d.ts.map +1 -1
  84. package/dist/types/src/packlets/services/client-rpc-server.d.ts +3 -3
  85. package/dist/types/src/packlets/services/client-rpc-server.d.ts.map +1 -1
  86. package/dist/types/src/packlets/services/feed-syncer.d.ts +41 -7
  87. package/dist/types/src/packlets/services/feed-syncer.d.ts.map +1 -1
  88. package/dist/types/src/packlets/services/feed-syncer.test.d.ts +2 -0
  89. package/dist/types/src/packlets/services/feed-syncer.test.d.ts.map +1 -0
  90. package/dist/types/src/packlets/services/index.d.ts +1 -0
  91. package/dist/types/src/packlets/services/index.d.ts.map +1 -1
  92. package/dist/types/src/packlets/services/service-context.d.ts +2 -4
  93. package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
  94. package/dist/types/src/packlets/services/service-host.d.ts +2 -3
  95. package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
  96. package/dist/types/src/packlets/services/service-registry.d.ts.map +1 -1
  97. package/dist/types/src/packlets/services/util.d.ts.map +1 -1
  98. package/dist/types/src/packlets/space-export/archive-format.d.ts +9 -0
  99. package/dist/types/src/packlets/space-export/archive-format.d.ts.map +1 -0
  100. package/dist/types/src/packlets/space-export/index.d.ts +4 -1
  101. package/dist/types/src/packlets/space-export/index.d.ts.map +1 -1
  102. package/dist/types/src/packlets/space-export/serialized-space-reader.d.ts +23 -0
  103. package/dist/types/src/packlets/space-export/serialized-space-reader.d.ts.map +1 -0
  104. package/dist/types/src/packlets/space-export/serialized-space-writer.d.ts +36 -0
  105. package/dist/types/src/packlets/space-export/serialized-space-writer.d.ts.map +1 -0
  106. package/dist/types/src/packlets/space-export/space-archive-reader.d.ts +9 -1
  107. package/dist/types/src/packlets/space-export/space-archive-reader.d.ts.map +1 -1
  108. package/dist/types/src/packlets/space-export/space-archive-writer.d.ts +7 -1
  109. package/dist/types/src/packlets/space-export/space-archive-writer.d.ts.map +1 -1
  110. package/dist/types/src/packlets/space-export/space-archive.test.d.ts +2 -0
  111. package/dist/types/src/packlets/space-export/space-archive.test.d.ts.map +1 -0
  112. package/dist/types/src/packlets/spaces/automerge-space-state.d.ts.map +1 -1
  113. package/dist/types/src/packlets/spaces/data-space-manager.d.ts +20 -14
  114. package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
  115. package/dist/types/src/packlets/spaces/data-space.d.ts +24 -7
  116. package/dist/types/src/packlets/spaces/data-space.d.ts.map +1 -1
  117. package/dist/types/src/packlets/spaces/edge-feed-replicator.d.ts.map +1 -1
  118. package/dist/types/src/packlets/spaces/epoch-migrations.d.ts.map +1 -1
  119. package/dist/types/src/packlets/spaces/genesis.d.ts +2 -1
  120. package/dist/types/src/packlets/spaces/genesis.d.ts.map +1 -1
  121. package/dist/types/src/packlets/spaces/notarization-plugin.d.ts +1 -4
  122. package/dist/types/src/packlets/spaces/notarization-plugin.d.ts.map +1 -1
  123. package/dist/types/src/packlets/spaces/spaces-service.d.ts +10 -7
  124. package/dist/types/src/packlets/spaces/spaces-service.d.ts.map +1 -1
  125. package/dist/types/src/packlets/storage/level.d.ts.map +1 -1
  126. package/dist/types/src/packlets/storage/profile-archive.d.ts.map +1 -1
  127. package/dist/types/src/packlets/storage/storage.d.ts.map +1 -1
  128. package/dist/types/src/packlets/storage/util.d.ts.map +1 -1
  129. package/dist/types/src/packlets/system/system-service.d.ts +1 -1
  130. package/dist/types/src/packlets/system/system-service.d.ts.map +1 -1
  131. package/dist/types/src/packlets/testing/credential-utils.d.ts.map +1 -1
  132. package/dist/types/src/packlets/testing/invitation-utils.d.ts.map +1 -1
  133. package/dist/types/src/packlets/testing/test-builder.d.ts.map +1 -1
  134. package/dist/types/src/packlets/worker/worker-runtime.d.ts +11 -1
  135. package/dist/types/src/packlets/worker/worker-runtime.d.ts.map +1 -1
  136. package/dist/types/src/packlets/worker/worker-session.d.ts +0 -2
  137. package/dist/types/src/packlets/worker/worker-session.d.ts.map +1 -1
  138. package/dist/types/src/testing/setup.d.ts.map +1 -1
  139. package/dist/types/src/version.d.ts +1 -1
  140. package/dist/types/tsconfig.tsbuildinfo +1 -1
  141. package/package.json +43 -50
  142. package/src/index.ts +1 -0
  143. package/src/packlets/agents/edge-agent-manager.ts +8 -5
  144. package/src/packlets/agents/edge-agent-service.ts +4 -2
  145. package/src/packlets/devices/devices-service.test.ts +0 -1
  146. package/src/packlets/devtools/devtools.ts +0 -1
  147. package/src/packlets/diagnostics/diagnostics.ts +1 -2
  148. package/src/packlets/identity/contacts-service.ts +0 -1
  149. package/src/packlets/identity/identity-manager.test.ts +5 -5
  150. package/src/packlets/identity/identity-manager.ts +18 -17
  151. package/src/packlets/identity/identity-recovery-manager.ts +20 -16
  152. package/src/packlets/identity/identity-service.test.ts +6 -27
  153. package/src/packlets/identity/identity-service.ts +13 -81
  154. package/src/packlets/identity/identity.test.ts +2 -2
  155. package/src/packlets/identity/identity.ts +9 -32
  156. package/src/packlets/invitations/device-invitation-protocol.ts +3 -2
  157. package/src/packlets/invitations/edge-invitation-handler.ts +9 -5
  158. package/src/packlets/invitations/invitation-host-extension.ts +7 -10
  159. package/src/packlets/invitations/invitation-protocol.ts +5 -1
  160. package/src/packlets/invitations/invitation-state.ts +1 -15
  161. package/src/packlets/invitations/invitations-handler.test.ts +4 -5
  162. package/src/packlets/invitations/invitations-handler.ts +67 -15
  163. package/src/packlets/invitations/invitations-manager.ts +40 -15
  164. package/src/packlets/invitations/invitations-service.ts +9 -9
  165. package/src/packlets/invitations/space-invitation-protocol.test.ts +17 -16
  166. package/src/packlets/invitations/space-invitation-protocol.ts +4 -3
  167. package/src/packlets/logging/logging-service.ts +15 -15
  168. package/src/packlets/network/network-service.test.ts +0 -1
  169. package/src/packlets/network/network-service.ts +10 -8
  170. package/src/packlets/services/client-rpc-server.ts +15 -12
  171. package/src/packlets/services/feed-syncer.test.ts +376 -0
  172. package/src/packlets/services/feed-syncer.ts +350 -41
  173. package/src/packlets/services/index.ts +1 -0
  174. package/src/packlets/services/service-context.test.ts +3 -2
  175. package/src/packlets/services/service-context.ts +122 -47
  176. package/src/packlets/services/service-host.test.ts +8 -8
  177. package/src/packlets/services/service-host.ts +17 -27
  178. package/src/packlets/services/service-registry.test.ts +0 -1
  179. package/src/packlets/space-export/archive-format.ts +42 -0
  180. package/src/packlets/space-export/index.ts +4 -1
  181. package/src/packlets/space-export/serialized-space-reader.ts +124 -0
  182. package/src/packlets/space-export/serialized-space-writer.ts +254 -0
  183. package/src/packlets/space-export/space-archive-reader.ts +64 -3
  184. package/src/packlets/space-export/space-archive-writer.ts +38 -2
  185. package/src/packlets/space-export/space-archive.test.ts +482 -0
  186. package/src/packlets/spaces/data-space-manager.test.ts +79 -13
  187. package/src/packlets/spaces/data-space-manager.ts +80 -115
  188. package/src/packlets/spaces/data-space.ts +55 -31
  189. package/src/packlets/spaces/edge-feed-replicator.test.ts +1 -1
  190. package/src/packlets/spaces/edge-feed-replicator.ts +9 -7
  191. package/src/packlets/spaces/epoch-migrations.ts +4 -3
  192. package/src/packlets/spaces/genesis.ts +6 -1
  193. package/src/packlets/spaces/notarization-plugin.ts +2 -1
  194. package/src/packlets/spaces/spaces-service.test.ts +18 -11
  195. package/src/packlets/spaces/spaces-service.ts +115 -17
  196. package/src/packlets/testing/invitation-utils.ts +3 -2
  197. package/src/packlets/worker/worker-runtime.ts +39 -6
  198. package/src/packlets/worker/worker-session.ts +8 -14
  199. package/src/version.ts +1 -1
  200. package/dist/lib/browser/chunk-NTZOEM4P.mjs.map +0 -7
  201. package/dist/lib/node-esm/chunk-DQWA5ILA.mjs.map +0 -7
  202. package/dist/types/src/packlets/identity/default-space-state-machine.d.ts +0 -19
  203. package/dist/types/src/packlets/identity/default-space-state-machine.d.ts.map +0 -1
  204. package/src/packlets/identity/default-space-state-machine.ts +0 -44
  205. /package/dist/lib/browser/{chunk-NQSC7HOE.mjs.map → chunk-XJRPB3GA.mjs.map} +0 -0
  206. /package/dist/lib/node-esm/{chunk-PKEGMOQ4.mjs.map → chunk-2DT3MZRL.mjs.map} +0 -0
@@ -19,4 +19,4 @@ export {
19
19
  createCollectDiagnosticsBroadcastSender,
20
20
  createCollectDiagnosticsBroadcastHandler
21
21
  };
22
- //# sourceMappingURL=chunk-NQSC7HOE.mjs.map
22
+ //# sourceMappingURL=chunk-XJRPB3GA.mjs.map
@@ -10,6 +10,7 @@ import {
10
10
  EdgeAgentManager,
11
11
  EdgeAgentServiceImpl,
12
12
  EdgeFeedReplicator,
13
+ FeedSyncer,
13
14
  Identity,
14
15
  IdentityManager,
15
16
  IdentityServiceImpl,
@@ -18,26 +19,35 @@ import {
18
19
  InvitationsServiceImpl,
19
20
  ServiceContext,
20
21
  ServiceRegistry,
22
+ SpaceArchiveWriter,
21
23
  SpaceInvitationProtocol,
22
24
  SpacesServiceImpl,
23
25
  TrustedKeySetAuthVerifier,
26
+ buildDatabaseDirectoryFromObjects,
24
27
  createAdmissionKeypair,
25
28
  createAuthProvider,
26
29
  createDiagnostics,
27
30
  createLevel,
28
31
  createStorageObjects,
32
+ detectSpaceArchiveFormat,
29
33
  diagnostics_exports,
34
+ extractSpaceArchive,
30
35
  getNetworkPeers,
31
36
  locks_exports,
37
+ objJsonToObjectStructure,
38
+ objectStructureToObjJson,
39
+ orderObjJsonFields,
40
+ readSerializedSpaceArchive,
32
41
  subscribeToFeedBlocks,
33
42
  subscribeToFeeds,
34
43
  subscribeToNetworkStatus,
35
44
  subscribeToNetworkTopics,
36
45
  subscribeToSignal,
37
46
  subscribeToSpaces,
38
- subscribeToSwarmInfo
39
- } from "./chunk-NTZOEM4P.mjs";
40
- import "./chunk-NQSC7HOE.mjs";
47
+ subscribeToSwarmInfo,
48
+ writeSerializedSpaceArchive
49
+ } from "./chunk-AO5NCRAT.mjs";
50
+ import "./chunk-XJRPB3GA.mjs";
41
51
  import {
42
52
  __export,
43
53
  __reExport
@@ -57,6 +67,7 @@ __export(index_exports, {
57
67
  EdgeAgentManager: () => EdgeAgentManager,
58
68
  EdgeAgentServiceImpl: () => EdgeAgentServiceImpl,
59
69
  EdgeFeedReplicator: () => EdgeFeedReplicator,
70
+ FeedSyncer: () => FeedSyncer,
60
71
  Identity: () => Identity,
61
72
  IdentityManager: () => IdentityManager,
62
73
  IdentityServiceImpl: () => IdentityServiceImpl,
@@ -65,28 +76,37 @@ __export(index_exports, {
65
76
  InvitationsServiceImpl: () => InvitationsServiceImpl,
66
77
  ServiceContext: () => ServiceContext,
67
78
  ServiceRegistry: () => ServiceRegistry,
79
+ SpaceArchiveWriter: () => SpaceArchiveWriter,
68
80
  SpaceInvitationProtocol: () => SpaceInvitationProtocol,
69
81
  SpacesServiceImpl: () => SpacesServiceImpl,
70
82
  TrustedKeySetAuthVerifier: () => TrustedKeySetAuthVerifier,
71
83
  WorkerRuntime: () => WorkerRuntime,
72
84
  WorkerSession: () => WorkerSession,
85
+ buildDatabaseDirectoryFromObjects: () => buildDatabaseDirectoryFromObjects,
73
86
  createAdmissionKeypair: () => createAdmissionKeypair,
74
87
  createAuthProvider: () => createAuthProvider,
75
88
  createDiagnostics: () => createDiagnostics,
76
89
  createLevel: () => createLevel,
77
90
  createStorageObjects: () => createStorageObjects,
78
91
  decodeProfileArchive: () => decodeProfileArchive,
92
+ detectSpaceArchiveFormat: () => detectSpaceArchiveFormat,
79
93
  encodeProfileArchive: () => encodeProfileArchive,
80
94
  exportProfileData: () => exportProfileData,
95
+ extractSpaceArchive: () => extractSpaceArchive,
81
96
  getNetworkPeers: () => getNetworkPeers,
82
97
  importProfileData: () => importProfileData,
98
+ objJsonToObjectStructure: () => objJsonToObjectStructure,
99
+ objectStructureToObjJson: () => objectStructureToObjJson,
100
+ orderObjJsonFields: () => orderObjJsonFields,
101
+ readSerializedSpaceArchive: () => readSerializedSpaceArchive,
83
102
  subscribeToFeedBlocks: () => subscribeToFeedBlocks,
84
103
  subscribeToFeeds: () => subscribeToFeeds,
85
104
  subscribeToNetworkStatus: () => subscribeToNetworkStatus,
86
105
  subscribeToNetworkTopics: () => subscribeToNetworkTopics,
87
106
  subscribeToSignal: () => subscribeToSignal,
88
107
  subscribeToSpaces: () => subscribeToSpaces,
89
- subscribeToSwarmInfo: () => subscribeToSwarmInfo
108
+ subscribeToSwarmInfo: () => subscribeToSwarmInfo,
109
+ writeSerializedSpaceArchive: () => writeSerializedSpaceArchive
90
110
  });
91
111
  __reExport(index_exports, diagnostics_exports);
92
112
  __reExport(index_exports, locks_exports);
@@ -119,27 +139,27 @@ var ClientRpcServer = class {
119
139
  this._serviceRegistry = serviceRegistry;
120
140
  this._rpcPeer = new RpcPeer({
121
141
  ...rpcOptions,
122
- callHandler: (method, params2) => {
142
+ callHandler: (method, params2, options) => {
123
143
  const [serviceName, methodName] = parseMethodName(method);
124
- const handler = (method2, params3) => this._getServiceHandler(serviceName).call(method2, params3);
144
+ const handler = (method2, params3, handlerOptions) => this._getServiceHandler(serviceName).call(method2, params3, handlerOptions);
125
145
  this._callMetrics.inc(`${serviceName}.${methodName} request`);
126
146
  if (this._handleCall) {
127
- return this._handleCall(methodName, params2, handler);
147
+ return this._handleCall(methodName, params2, handler, options);
128
148
  } else {
129
- return handler(methodName, params2);
149
+ return handler(methodName, params2, options);
130
150
  }
131
151
  },
132
- streamHandler: (method, params2) => {
152
+ streamHandler: (method, params2, options) => {
133
153
  const [serviceName, methodName] = parseMethodName(method);
134
- const handler = (method2, params3) => this._getServiceHandler(serviceName).callStream(method2, params3);
154
+ const handler = (method2, params3, handlerOptions) => this._getServiceHandler(serviceName).callStream(method2, params3, handlerOptions);
135
155
  this._callMetrics.inc(`${serviceName}.${methodName} request stream`);
136
156
  if (this._handleStream) {
137
- return Stream.map(Stream.unwrapPromise(this._handleStream(methodName, params2, handler)), (data) => {
157
+ return Stream.map(Stream.unwrapPromise(this._handleStream(methodName, params2, handler, options)), (data) => {
138
158
  this._callMetrics.inc(`${serviceName}.${methodName} response stream`);
139
159
  return data;
140
160
  });
141
161
  } else {
142
- return handler(methodName, params2);
162
+ return handler(methodName, params2, options);
143
163
  }
144
164
  }
145
165
  });
@@ -193,12 +213,7 @@ var exportProfileData = async ({ storage, level }) => {
193
213
  const files = await directory.list();
194
214
  log.info("begin exporting files", {
195
215
  count: files.length
196
- }, {
197
- F: __dxlog_file,
198
- L: 31,
199
- S: void 0,
200
- C: (f, a) => f(...a)
201
- });
216
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 21, S: void 0 });
202
217
  for (const filename of files) {
203
218
  const file = await directory.getOrCreateFile(filename);
204
219
  const { size } = await file.stat();
@@ -211,20 +226,10 @@ var exportProfileData = async ({ storage, level }) => {
211
226
  }
212
227
  log.info("done exporting files", {
213
228
  count: files.length
214
- }, {
215
- F: __dxlog_file,
216
- L: 42,
217
- S: void 0,
218
- C: (f, a) => f(...a)
219
- });
229
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 34, S: void 0 });
220
230
  }
221
231
  {
222
- log.info("begin exporting kv pairs", void 0, {
223
- F: __dxlog_file,
224
- L: 46,
225
- S: void 0,
226
- C: (f, a) => f(...a)
227
- });
232
+ log.info("begin exporting kv pairs", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 39, S: void 0 });
228
233
  const iter = await level.iterator({
229
234
  keyEncoding: "binary",
230
235
  valueEncoding: "binary"
@@ -240,12 +245,7 @@ var exportProfileData = async ({ storage, level }) => {
240
245
  }
241
246
  log.info("done exporting kv pairs", {
242
247
  count
243
- }, {
244
- F: __dxlog_file,
245
- L: 57,
246
- S: void 0,
247
- C: (f, a) => f(...a)
248
- });
248
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 53, S: void 0 });
249
249
  }
250
250
  return archive;
251
251
  };
@@ -256,48 +256,16 @@ var importProfileData = async ({ storage, level }, archive) => {
256
256
  switch (entry.type) {
257
257
  case ProfileArchiveEntryType.FILE: {
258
258
  const directory = await storage.createDirectory();
259
- invariant(typeof entry.key === "string", "Invalid key type", {
260
- F: __dxlog_file,
261
- L: 80,
262
- S: void 0,
263
- A: [
264
- "typeof entry.key === 'string'",
265
- "'Invalid key type'"
266
- ]
267
- });
259
+ invariant(typeof entry.key === "string", "Invalid key type", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 67, S: void 0, A: ["typeof entry.key === 'string'", "'Invalid key type'"] });
268
260
  const file = await directory.getOrCreateFile(entry.key);
269
- invariant(entry.value instanceof Uint8Array, "Invalid value type", {
270
- F: __dxlog_file,
271
- L: 82,
272
- S: void 0,
273
- A: [
274
- "entry.value instanceof Uint8Array",
275
- "'Invalid value type'"
276
- ]
277
- });
261
+ invariant(entry.value instanceof Uint8Array, "Invalid value type", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 69, S: void 0, A: ["entry.value instanceof Uint8Array", "'Invalid value type'"] });
278
262
  await file.write(0, arrayToBuffer(entry.value));
279
263
  await file.close();
280
264
  break;
281
265
  }
282
266
  case ProfileArchiveEntryType.KEY_VALUE: {
283
- invariant(entry.key instanceof Uint8Array, "Invalid key type", {
284
- F: __dxlog_file,
285
- L: 88,
286
- S: void 0,
287
- A: [
288
- "entry.key instanceof Uint8Array",
289
- "'Invalid key type'"
290
- ]
291
- });
292
- invariant(entry.value instanceof Uint8Array, "Invalid value type", {
293
- F: __dxlog_file,
294
- L: 89,
295
- S: void 0,
296
- A: [
297
- "entry.value instanceof Uint8Array",
298
- "'Invalid value type'"
299
- ]
300
- });
267
+ invariant(entry.key instanceof Uint8Array, "Invalid key type", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 76, S: void 0, A: ["entry.key instanceof Uint8Array", "'Invalid key type'"] });
268
+ invariant(entry.value instanceof Uint8Array, "Invalid value type", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 77, S: void 0, A: ["entry.value instanceof Uint8Array", "'Invalid value type'"] });
301
269
  batch.put(entry.key, entry.value, {
302
270
  keyEncoding: "binary",
303
271
  valueEncoding: "binary"
@@ -314,20 +282,10 @@ var importProfileData = async ({ storage, level }, archive) => {
314
282
  count,
315
283
  total: archive.storage.length,
316
284
  progress: `${(count / archive.storage.length * 100).toFixed()}%`
317
- }, {
318
- F: __dxlog_file,
319
- L: 102,
320
- S: void 0,
321
- C: (f, a) => f(...a)
322
- });
285
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 91, S: void 0 });
323
286
  }
324
287
  }
325
- log.info("committing changes..", void 0, {
326
- F: __dxlog_file,
327
- L: 110,
328
- S: void 0,
329
- C: (f, a) => f(...a)
330
- });
288
+ log.info("committing changes..", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 98, S: void 0 });
331
289
  await batch.write();
332
290
  };
333
291
 
@@ -355,13 +313,13 @@ import { invariant as invariant2 } from "@dxos/invariant";
355
313
  import { log as log2, logInfo } from "@dxos/log";
356
314
  import { createProtoRpcPeer } from "@dxos/rpc";
357
315
  import { Callback } from "@dxos/util";
316
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/sdk/client-services/src/packlets/worker/worker-session.ts";
358
317
  function _ts_decorate2(decorators, target, key, desc) {
359
318
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
360
319
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
361
320
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
362
321
  return c > 3 && r && Object.defineProperty(target, key, r), r;
363
322
  }
364
- var __dxlog_file2 = "/__w/dxos/dxos/packages/sdk/client-services/src/packlets/worker/worker-session.ts";
365
323
  var WorkerSession = class {
366
324
  _clientRpc;
367
325
  _shellClientRpc;
@@ -370,40 +328,29 @@ var WorkerSession = class {
370
328
  _serviceHost;
371
329
  onClose = new Callback();
372
330
  origin;
373
- // TODO(nf): factor out?
374
- observabilityGroup;
375
- signalTelemetryEnabled;
376
331
  lockKey;
377
332
  bridgeService;
378
333
  constructor({ serviceHost, systemPort, appPort, shellPort, readySignal }) {
379
- invariant2(serviceHost, void 0, {
380
- F: __dxlog_file2,
381
- L: 54,
382
- S: this,
383
- A: [
384
- "serviceHost",
385
- ""
386
- ]
387
- });
334
+ invariant2(serviceHost, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 30, S: this, A: ["serviceHost", ""] });
388
335
  this._serviceHost = serviceHost;
389
336
  const middleware = {
390
- handleCall: async (method, params, handler) => {
337
+ handleCall: async (method, params, handler, options) => {
391
338
  const error = await readySignal.wait({
392
339
  timeout: PROXY_CONNECTION_TIMEOUT
393
340
  });
394
341
  if (error) {
395
342
  throw error;
396
343
  }
397
- return handler(method, params);
344
+ return handler(method, params, options);
398
345
  },
399
- handleStream: async (method, params, handler) => {
346
+ handleStream: async (method, params, handler, options) => {
400
347
  const error = await readySignal.wait({
401
348
  timeout: PROXY_CONNECTION_TIMEOUT
402
349
  });
403
350
  if (error) {
404
351
  throw error;
405
352
  }
406
- return handler(method, params);
353
+ return handler(method, params, options);
407
354
  }
408
355
  };
409
356
  this._clientRpc = new ClientRpcServer({
@@ -424,8 +371,6 @@ var WorkerSession = class {
424
371
  start: async (request) => {
425
372
  this.origin = request.origin;
426
373
  this.lockKey = request.lockKey;
427
- this.observabilityGroup = request.observabilityGroup;
428
- this.signalTelemetryEnabled = request.signalTelemetryEnabled;
429
374
  this._startTrigger.wake();
430
375
  },
431
376
  stop: async () => {
@@ -433,12 +378,7 @@ var WorkerSession = class {
433
378
  try {
434
379
  await this.close();
435
380
  } catch (err) {
436
- log2.catch(err, void 0, {
437
- F: __dxlog_file2,
438
- L: 108,
439
- S: this,
440
- C: (f, a) => f(...a)
441
- });
381
+ log2.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 77, S: this });
442
382
  }
443
383
  });
444
384
  }
@@ -450,12 +390,7 @@ var WorkerSession = class {
450
390
  this.bridgeService = this._iframeRpc.rpc.BridgeService;
451
391
  }
452
392
  async open() {
453
- log2.info("opening...", void 0, {
454
- F: __dxlog_file2,
455
- L: 122,
456
- S: this,
457
- C: (f, a) => f(...a)
458
- });
393
+ log2("opening...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 89, S: this });
459
394
  await Promise.all([
460
395
  this._clientRpc.open(),
461
396
  this._iframeRpc.open(),
@@ -467,51 +402,26 @@ var WorkerSession = class {
467
402
  if (this.lockKey) {
468
403
  void this._afterLockReleases(this.lockKey, () => this.close());
469
404
  }
470
- log2.info("opened", void 0, {
471
- F: __dxlog_file2,
472
- L: 133,
473
- S: this,
474
- C: (f, a) => f(...a)
475
- });
405
+ log2("opened", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 103, S: this });
476
406
  }
477
407
  async close() {
478
- log2.info("closing...", void 0, {
479
- F: __dxlog_file2,
480
- L: 137,
481
- S: this,
482
- C: (f, a) => f(...a)
483
- });
408
+ log2.debug("closing...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 106, S: this });
484
409
  try {
485
410
  await this.onClose.callIfSet();
486
411
  } catch (err) {
487
- log2.catch(err, void 0, {
488
- F: __dxlog_file2,
489
- L: 141,
490
- S: this,
491
- C: (f, a) => f(...a)
492
- });
412
+ log2.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 110, S: this });
493
413
  }
494
414
  await Promise.all([
495
415
  this._clientRpc.close(),
496
416
  this._iframeRpc.close()
497
417
  ]);
498
- log2.info("closed", void 0, {
499
- F: __dxlog_file2,
500
- L: 145,
501
- S: this,
502
- C: (f, a) => f(...a)
503
- });
418
+ log2.debug("closed", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 116, S: this });
504
419
  }
505
420
  async _maybeOpenShell() {
506
421
  try {
507
422
  this._shellClientRpc && await asyncTimeout(this._shellClientRpc.open(), 1e3);
508
423
  } catch {
509
- log2.info("No shell connected.", void 0, {
510
- F: __dxlog_file2,
511
- L: 152,
512
- S: this,
513
- C: (f, a) => f(...a)
514
- });
424
+ log2.info("No shell connected.", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 122, S: this });
515
425
  }
516
426
  }
517
427
  _afterLockReleases(lockKey, callback) {
@@ -555,12 +465,7 @@ var WorkerRuntime = class {
555
465
  this._onStop = onStop;
556
466
  this._channel = channel;
557
467
  if (sqliteLayer) {
558
- log3.warn("Using testing SQLite layer", void 0, {
559
- F: __dxlog_file3,
560
- L: 103,
561
- S: this,
562
- C: (f, a) => f(...a)
563
- });
468
+ log3.warn("Using testing SQLite layer", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 52, S: this });
564
469
  }
565
470
  this._runtime = ManagedRuntime.make(SqlTransaction.layer.pipe(Layer.provideMerge(sqliteLayer ?? LocalSqliteOpfsLayer), Layer.provideMerge(Reactivity.layer)).pipe(Layer.orDie));
566
471
  this._clientServices = new ClientServicesHost({
@@ -582,42 +487,43 @@ var WorkerRuntime = class {
582
487
  return this._livenessLock.key;
583
488
  }
584
489
  async start() {
585
- log3("starting...", void 0, {
586
- F: __dxlog_file3,
587
- L: 132,
588
- S: this,
589
- C: (f, a) => f(...a)
590
- });
490
+ log3("starting...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 74, S: this });
591
491
  try {
492
+ log3("worker-runtime: acquiring liveness lock (background)", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 76, S: this });
592
493
  void this._livenessLock.acquire();
494
+ log3("worker-runtime: broadcasting stop to displace previous worker", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 79, S: this });
593
495
  this._broadcastChannel = new BroadcastChannel(this._channel);
594
496
  this._broadcastChannel.postMessage({
595
497
  action: "stop"
596
498
  });
597
499
  this._broadcastChannel.onmessage = async (event) => {
598
500
  if (event.data?.action === "stop") {
501
+ log3("worker-runtime: received stop broadcast", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 86, S: this });
599
502
  await this.stop();
600
503
  }
601
504
  };
505
+ log3("worker-runtime: acquiring storage lock", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 90, S: this });
602
506
  await this._acquireLock();
507
+ log3("worker-runtime: storage lock acquired, resolving config", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 92, S: this });
603
508
  this._config = await this._configProvider();
509
+ log3("worker-runtime: config resolved", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 94, S: this });
510
+ this._signalTelemetryEnabled = this._config.get("runtime.client.signalTelemetryEnabled") ?? false;
511
+ const observabilityGroup = this._config.get("runtime.client.observabilityGroup");
512
+ if (observabilityGroup) {
513
+ this._signalMetadataTags.group = observabilityGroup;
514
+ }
604
515
  const signals = this._config.get("runtime.services.signaling");
516
+ log3("worker-runtime: initializing client services host", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 101, S: this });
605
517
  this._clientServices.initialize({
606
518
  config: this._config,
607
519
  signalManager: this._config.get("runtime.client.edgeFeatures")?.signaling ? void 0 : signals ? new WebsocketSignalManager(signals, () => this._signalTelemetryEnabled ? this._signalMetadataTags : {}) : new MemorySignalManager(new MemorySignalManagerContext()),
608
520
  transportFactory: this._transportFactory
609
521
  });
610
- await this._clientServices.open(new Context(void 0, {
611
- F: __dxlog_file3,
612
- L: 158
613
- }));
522
+ log3("worker-runtime: client services host initialized, opening", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 107, S: this });
523
+ await this._clientServices.open(new Context(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 108 }));
524
+ log3("worker-runtime: client services host opened, signalling ready", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 109, S: this });
614
525
  this._ready.wake(void 0);
615
- log3("started", void 0, {
616
- F: __dxlog_file3,
617
- L: 160,
618
- S: this,
619
- C: (f, a) => f(...a)
620
- });
526
+ log3("started", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 111, S: this });
621
527
  setIdentityTags({
622
528
  identityService: this._clientServices.services.IdentityService,
623
529
  devicesService: this._clientServices.services.DevicesService,
@@ -627,24 +533,40 @@ var WorkerRuntime = class {
627
533
  });
628
534
  } catch (err) {
629
535
  this._ready.wake(err);
630
- log3.error("starting", err, {
631
- F: __dxlog_file3,
632
- L: 170,
633
- S: this,
634
- C: (f, a) => f(...a)
635
- });
536
+ log3.error("starting", err, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 121, S: this });
636
537
  }
637
538
  }
638
539
  async stop() {
639
540
  this._releaseLock();
640
541
  this._broadcastChannel?.close();
641
542
  this._broadcastChannel = void 0;
642
- await this._clientServices.close();
543
+ await this._clientServices.close(Context.default(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 129 }));
643
544
  await this._runtime.dispose();
644
545
  await this._onStop?.();
645
546
  await this._livenessLock.release();
646
547
  }
647
548
  /**
549
+ * Update signaling telemetry tags from a client-supplied config overlay.
550
+ *
551
+ * The worker services outlive individual client connections, so the first client seeds the
552
+ * worker's core config (storage, signaling, edge features). For fields that can legitimately
553
+ * differ per tab — `observabilityGroup` and `signalTelemetryEnabled` — this method lets later
554
+ * connections refresh the signal metadata the worker attaches to its signaling requests
555
+ * (last-writer-wins, matching the pre-DX-930 per-session RPC behaviour).
556
+ */
557
+ updateSignalMetadata(config) {
558
+ const observabilityGroup = config.get("runtime.client.observabilityGroup");
559
+ if (observabilityGroup) {
560
+ this._signalMetadataTags.group = observabilityGroup;
561
+ } else {
562
+ delete this._signalMetadataTags.group;
563
+ }
564
+ const signalTelemetryEnabled = config.get("runtime.client.signalTelemetryEnabled");
565
+ if (signalTelemetryEnabled !== void 0) {
566
+ this._signalTelemetryEnabled = signalTelemetryEnabled;
567
+ }
568
+ }
569
+ /**
648
570
  * Create a new session.
649
571
  */
650
572
  async createSession({ appPort, systemPort, shellPort, onClose }) {
@@ -667,19 +589,7 @@ var WorkerRuntime = class {
667
589
  await onClose?.();
668
590
  });
669
591
  await session.open();
670
- invariant3(!this._signalMetadataTags.origin || this._signalMetadataTags.origin === session.origin, `worker origin changed from ${this._signalMetadataTags.origin} to ${session.origin}?`, {
671
- F: __dxlog_file3,
672
- L: 213,
673
- S: this,
674
- A: [
675
- "!this._signalMetadataTags.origin || this._signalMetadataTags.origin === session.origin",
676
- "`worker origin changed from ${this._signalMetadataTags.origin} to ${session.origin}?`"
677
- ]
678
- });
679
- if (session.observabilityGroup) {
680
- this._signalMetadataTags.group = session.observabilityGroup;
681
- }
682
- this._signalTelemetryEnabled = session.signalTelemetryEnabled ?? false;
592
+ invariant3(!this._signalMetadataTags.origin || this._signalMetadataTags.origin === session.origin, `worker origin changed from ${this._signalMetadataTags.origin} to ${session.origin}?`, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 181, S: this, A: ["!this._signalMetadataTags.origin || this._signalMetadataTags.origin === session.origin", "`worker origin changed from ${this._signalMetadataTags.origin} to ${session.origin}?`"] });
683
593
  this._signalMetadataTags.origin = session.origin;
684
594
  this._sessions.add(session);
685
595
  if (this._automaticallyConnectWebrtc) {
@@ -703,12 +613,7 @@ var WorkerRuntime = class {
703
613
  * Selects one of the existing session for WebRTC networking.
704
614
  */
705
615
  _reconnectWebrtc() {
706
- log3("reconnecting webrtc...", void 0, {
707
- F: __dxlog_file3,
708
- L: 248,
709
- S: this,
710
- C: (f, a) => f(...a)
711
- });
616
+ log3("reconnecting webrtc...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 203, S: this });
712
617
  if (this._sessionForNetworking) {
713
618
  if (!this._sessions.has(this._sessionForNetworking)) {
714
619
  this._sessionForNetworking = void 0;
@@ -780,6 +685,7 @@ export {
780
685
  EdgeAgentManager,
781
686
  EdgeAgentServiceImpl,
782
687
  EdgeFeedReplicator,
688
+ FeedSyncer,
783
689
  Identity,
784
690
  IdentityManager,
785
691
  IdentityServiceImpl,
@@ -788,27 +694,36 @@ export {
788
694
  InvitationsServiceImpl,
789
695
  ServiceContext,
790
696
  ServiceRegistry,
697
+ SpaceArchiveWriter,
791
698
  SpaceInvitationProtocol,
792
699
  SpacesServiceImpl,
793
700
  TrustedKeySetAuthVerifier,
794
701
  WorkerRuntime,
795
702
  WorkerSession,
703
+ buildDatabaseDirectoryFromObjects,
796
704
  createAdmissionKeypair,
797
705
  createAuthProvider,
798
706
  createDiagnostics,
799
707
  createLevel,
800
708
  createStorageObjects,
801
709
  decodeProfileArchive,
710
+ detectSpaceArchiveFormat,
802
711
  encodeProfileArchive,
803
712
  exportProfileData,
713
+ extractSpaceArchive,
804
714
  getNetworkPeers,
805
715
  importProfileData,
716
+ objJsonToObjectStructure,
717
+ objectStructureToObjJson,
718
+ orderObjJsonFields,
719
+ readSerializedSpaceArchive,
806
720
  subscribeToFeedBlocks,
807
721
  subscribeToFeeds,
808
722
  subscribeToNetworkStatus,
809
723
  subscribeToNetworkTopics,
810
724
  subscribeToSignal,
811
725
  subscribeToSpaces,
812
- subscribeToSwarmInfo
726
+ subscribeToSwarmInfo,
727
+ writeSerializedSpaceArchive
813
728
  };
814
729
  //# sourceMappingURL=index.mjs.map