@dxos/client-services 0.8.4-main.c85a9c8dae → 0.8.4-main.d05539e30a

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