@dxos/client-services 0.8.4-main.8360d9e660 → 0.8.4-main.8baae0fced

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-FRMIC6UB.mjs → chunk-KBMYCFTL.mjs} +1636 -3392
  4. package/dist/lib/browser/chunk-KBMYCFTL.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-6ONWVRY5.mjs → chunk-TCS4PMDH.mjs} +1636 -3392
  20. package/dist/lib/node-esm/chunk-TCS4PMDH.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 +51 -43
  171. package/src/packlets/services/service-host.test.ts +8 -8
  172. package/src/packlets/services/service-host.ts +12 -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-FRMIC6UB.mjs.map +0 -7
  196. package/dist/lib/node-esm/chunk-6ONWVRY5.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
@@ -65,12 +65,7 @@ var createCollectDiagnosticsBroadcastHandler = (systemService) => {
65
65
  });
66
66
  }
67
67
  } catch (error) {
68
- log.catch(error, void 0, {
69
- F: __dxlog_file,
70
- L: 77,
71
- S: void 0,
72
- C: (f, a) => f(...a)
73
- });
68
+ log.catch(error, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 73, S: void 0 });
74
69
  }
75
70
  };
76
71
  },
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/packlets/diagnostics/browser-diagnostics-broadcast.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Trigger } from '@dxos/async';\nimport { log } from '@dxos/log';\nimport { type SystemService } from '@dxos/protocols/proto/dxos/client/services';\n\nimport {\n type CollectDiagnosticsBroadcastHandler,\n type CollectDiagnosticsBroadcastSender,\n} from './diagnostics-collector';\n\nconst CHANNEL_NAME = 'dxos.diagnostics.broadcast';\n\nenum MessageType {\n PROBE = 'probe',\n PROBE_ACK = 'probe-ack',\n REQUEST_DIAGNOSTICS = 'request-diagnostics',\n RECEIVE_DIAGNOSTICS = 'receive-diagnostics',\n}\n\ninterface Message {\n type: MessageType;\n payload?: any;\n}\n\nexport const createCollectDiagnosticsBroadcastSender = (): CollectDiagnosticsBroadcastSender => {\n return {\n broadcastDiagnosticsRequest: async () => {\n let expectedResponse = MessageType.PROBE_ACK;\n let channel: BroadcastChannel | undefined;\n try {\n const trigger = new Trigger<Message>();\n channel = new BroadcastChannel(CHANNEL_NAME);\n channel.onmessage = (msg) => {\n if (expectedResponse === msg.data.type) {\n trigger.wake(msg.data);\n }\n };\n channel.postMessage({ type: MessageType.PROBE });\n await trigger.wait({ timeout: 200 });\n expectedResponse = MessageType.RECEIVE_DIAGNOSTICS;\n trigger.reset();\n channel.postMessage({ type: MessageType.REQUEST_DIAGNOSTICS });\n const diagnostics = await trigger.wait({ timeout: 5000 });\n return diagnostics.payload;\n } catch (e) {\n const errorDescription = e instanceof Error ? e.message : JSON.stringify(e);\n return { expectedResponse, errorDescription };\n } finally {\n safeClose(channel);\n }\n },\n };\n};\n\nexport const createCollectDiagnosticsBroadcastHandler = (\n systemService: SystemService,\n): CollectDiagnosticsBroadcastHandler => {\n let channel: BroadcastChannel | undefined;\n return {\n start: () => {\n channel = new BroadcastChannel(CHANNEL_NAME);\n channel.onmessage = async (message) => {\n try {\n if (message.data.type === MessageType.PROBE) {\n channel?.postMessage({ type: MessageType.PROBE_ACK });\n } else if (message.data.type === MessageType.REQUEST_DIAGNOSTICS) {\n const diagnostics = await systemService.getDiagnostics({});\n channel?.postMessage({\n type: MessageType.RECEIVE_DIAGNOSTICS,\n payload: diagnostics,\n });\n }\n } catch (error) {\n log.catch(error);\n }\n };\n },\n stop: () => {\n safeClose(channel);\n channel = undefined;\n },\n };\n};\n\nconst safeClose = (channel?: BroadcastChannel) => {\n try {\n channel?.close();\n } catch (e) {\n // ignored\n }\n};\n"],
5
- "mappings": ";;;;AAIA,SAASA,eAAe;AACxB,SAASC,WAAW;;AAQpB,IAAMC,eAAe;AAcd,IAAMC,0CAA0C,MAAA;AACrD,SAAO;IACLC,6BAA6B,YAAA;AAC3B,UAAIC,mBAAAA;AACJ,UAAIC;AACJ,UAAI;AACF,cAAMC,UAAU,IAAIC,QAAAA;AACpBF,kBAAU,IAAIG,iBAAiBC,YAAAA;AAC/BJ,gBAAQK,YAAY,CAACC,QAAAA;AACnB,cAAIP,qBAAqBO,IAAIC,KAAKC,MAAM;AACtCP,oBAAQQ,KAAKH,IAAIC,IAAI;UACvB;QACF;AACAP,gBAAQU,YAAY;UAAEF,MAAI;QAAoB,CAAA;AAC9C,cAAMP,QAAQU,KAAK;UAAEC,SAAS;QAAI,CAAA;AAClCb,2BAAAA;AACAE,gBAAQY,MAAK;AACbb,gBAAQU,YAAY;UAAEF,MAAI;QAAkC,CAAA;AAC5D,cAAMM,cAAc,MAAMb,QAAQU,KAAK;UAAEC,SAAS;QAAK,CAAA;AACvD,eAAOE,YAAYC;MACrB,SAASC,GAAG;AACV,cAAMC,mBAAmBD,aAAaE,QAAQF,EAAEG,UAAUC,KAAKC,UAAUL,CAAAA;AACzE,eAAO;UAAEjB;UAAkBkB;QAAiB;MAC9C,UAAA;AACEK,kBAAUtB,OAAAA;MACZ;IACF;EACF;AACF;AAEO,IAAMuB,2CAA2C,CACtDC,kBAAAA;AAEA,MAAIxB;AACJ,SAAO;IACLyB,OAAO,MAAA;AACLzB,gBAAU,IAAIG,iBAAiBC,YAAAA;AAC/BJ,cAAQK,YAAY,OAAOc,YAAAA;AACzB,YAAI;AACF,cAAIA,QAAQZ,KAAKC,SAAI,SAAwB;AAC3CR,qBAASU,YAAY;cAAEF,MAAI;YAAwB,CAAA;UACrD,WAAWW,QAAQZ,KAAKC,SAAI,uBAAsC;AAChE,kBAAMM,cAAc,MAAMU,cAAcE,eAAe,CAAC,CAAA;AACxD1B,qBAASU,YAAY;cACnBF,MAAI;cACJO,SAASD;YACX,CAAA;UACF;QACF,SAASa,OAAO;AACdC,cAAIC,MAAMF,OAAAA,QAAAA;;;;;;QACZ;MACF;IACF;IACAG,MAAM,MAAA;AACJR,gBAAUtB,OAAAA;AACVA,gBAAU+B;IACZ;EACF;AACF;AAEA,IAAMT,YAAY,CAACtB,YAAAA;AACjB,MAAI;AACFA,aAASgC,MAAAA;EACX,SAAShB,GAAG;EAEZ;AACF;",
6
- "names": ["Trigger", "log", "CHANNEL_NAME", "createCollectDiagnosticsBroadcastSender", "broadcastDiagnosticsRequest", "expectedResponse", "channel", "trigger", "Trigger", "BroadcastChannel", "CHANNEL_NAME", "onmessage", "msg", "data", "type", "wake", "postMessage", "wait", "timeout", "reset", "diagnostics", "payload", "e", "errorDescription", "Error", "message", "JSON", "stringify", "safeClose", "createCollectDiagnosticsBroadcastHandler", "systemService", "start", "getDiagnostics", "error", "log", "catch", "stop", "undefined", "close"]
5
+ "mappings": ";;;;AAIA,SAASA,eAAe;AACxB,SAASC,WAAW;AAQpB,IAAA,eAAMC;;IAgBFC,0CAA6B,MAAA;;iCAEvBC,YAAAA;AACJ,UAAI,mBAAA;UACF;UACAA;AACAA,cAAAA,UAAQC,IAAY,QAACC;kBACfC,IAAAA,iBAAqBD,YAAa;gBACpCE,YAAY,CAACF,QAAIG;AACnB,cAAA,qBAAA,IAAA,KAAA,MAAA;AACF,oBAAA,KAAA,IAAA,IAAA;UACAL;;AAA8C,gBAAA,YAAA;UAC9C,MAAMI;;AAA4B,cAAA,QAAA,KAAA;UAClCD,SAAAA;QACAC,CAAAA;AACAJ,2BAAmB;gBAAO,MAAA;AAAkC,gBAAA,YAAA;UAC5D,MAAMM;;AAAiD,cAAA,cAAA,MAAA,QAAA,KAAA;UACvD,SAAOA;QACP,CAAA;AACA,eAAMC,YAAAA;eACN,GAAO;cAAEJ,mBAAAA,aAAAA,QAAAA,EAAAA,UAAAA,KAAAA,UAAAA,CAAAA;eAAkBI;UAAiB;UAC9C;QACEC;MACF,UAAA;AACF,kBAAA,OAAA;MACF;IACA;EAEF;;AAIE,IAAO,2CAAA,CAAA,kBAAA;MACLC;;WAEET,MAAAA;gBACM,IAAA,iBAAA,YAAA;cACF,YAAYK,OAAKK,YAAI;;sBACQ,KAAA,SAAA,SAAA;AAAwB,qBAAA,YAAA;cAC9C,MAAIC;YACT,CAAA;qBACAX,QAASY,KAAAA,SAAY,uBAAA;kBACnBF,cAAI,MAAA,cAAA,eAAA,CAAA,CAAA;qBACJG,YAASP;cACX,MAAA;cACF,SAAA;YACA,CAAOQ;UACPC;QACF,SAAA,OAAA;AACF,cAAA,MAAA,OAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,OAAA,CAAA;QACF;MACAC;;UAEEhB,MAAAA;AACF,gBAAA,OAAA;AACF,gBAAA;IACA;EAEF;;gBAEaiB,CAAAA,YAAAA;AACX,MAAE;AACA,aAAU,MAAA;EACZ,SAAA,GAAA;;;",
6
+ "names": ["Trigger", "log", "CHANNEL_NAME", "broadcastDiagnosticsRequest", "channel", "onmessage", "msg", "expectedResponse", "trigger", "data", "diagnostics", "errorDescription", "safeClose", "start", "type", "message", "postMessage", "payload", "error", "log", "stop", "close"]
7
7
  }
@@ -2,7 +2,7 @@ import "@dxos/node-std/globals";
2
2
  import {
3
3
  createCollectDiagnosticsBroadcastHandler,
4
4
  createCollectDiagnosticsBroadcastSender
5
- } from "../../chunk-NQSC7HOE.mjs";
5
+ } from "../../chunk-XJRPB3GA.mjs";
6
6
  import "../../chunk-QCWEHHJW.mjs";
7
7
  export {
8
8
  createCollectDiagnosticsBroadcastHandler,
@@ -5,13 +5,13 @@ import "../../chunk-QCWEHHJW.mjs";
5
5
  import { Trigger, asyncTimeout } from "@dxos/async";
6
6
  import { RESOURCE_LOCK_TIMEOUT } from "@dxos/client-protocol";
7
7
  import { log, logInfo } from "@dxos/log";
8
+ var __dxlog_file = "/__w/dxos/dxos/packages/sdk/client-services/src/packlets/locks/browser.ts";
8
9
  function _ts_decorate(decorators, target, key, desc) {
9
10
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10
11
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11
12
  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;
12
13
  return c > 3 && r && Object.defineProperty(target, key, r), r;
13
14
  }
14
- var __dxlog_file = "/__w/dxos/dxos/packages/sdk/client-services/src/packlets/locks/browser.ts";
15
15
  var Lock = class {
16
16
  _broadcastChannel = new BroadcastChannel("vault-resource-lock");
17
17
  _lockKey;
@@ -32,33 +32,13 @@ var Lock = class {
32
32
  message: "acquiring"
33
33
  });
34
34
  try {
35
- log("aquiring lock...", void 0, {
36
- F: __dxlog_file,
37
- L: 42,
38
- S: this,
39
- C: (f, a) => f(...a)
40
- });
35
+ log("aquiring lock...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 39, S: this });
41
36
  await asyncTimeout(this._requestLock(), RESOURCE_LOCK_TIMEOUT);
42
- log("acquired lock", void 0, {
43
- F: __dxlog_file,
44
- L: 44,
45
- S: this,
46
- C: (f, a) => f(...a)
47
- });
37
+ log("acquired lock", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 41, S: this });
48
38
  } catch {
49
- log("stealing lock...", void 0, {
50
- F: __dxlog_file,
51
- L: 46,
52
- S: this,
53
- C: (f, a) => f(...a)
54
- });
39
+ log("stealing lock...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 43, S: this });
55
40
  await this._requestLock(true);
56
- log("stolen lock", void 0, {
57
- F: __dxlog_file,
58
- L: 48,
59
- S: this,
60
- C: (f, a) => f(...a)
61
- });
41
+ log("stolen lock", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 45, S: this });
62
42
  }
63
43
  }
64
44
  async release() {
@@ -72,12 +52,7 @@ var Lock = class {
72
52
  async _requestLock(steal = false) {
73
53
  log("requesting lock...", {
74
54
  steal
75
- }, {
76
- F: __dxlog_file,
77
- L: 63,
78
- S: this,
79
- C: (f, a) => f(...a)
80
- });
55
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 57, S: this });
81
56
  const acquired = new Trigger();
82
57
  void navigator.locks.request(this._lockKey, {
83
58
  steal
@@ -86,31 +61,16 @@ var Lock = class {
86
61
  acquired.wake();
87
62
  this._releaseTrigger = new Trigger();
88
63
  await this._releaseTrigger.wait();
89
- log("releasing lock...", void 0, {
90
- F: __dxlog_file,
91
- L: 72,
92
- S: this,
93
- C: (f, a) => f(...a)
94
- });
64
+ log("releasing lock...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 68, S: this });
95
65
  await this._onRelease?.();
96
- log("released lock", void 0, {
97
- F: __dxlog_file,
98
- L: 74,
99
- S: this,
100
- C: (f, a) => f(...a)
101
- });
66
+ log("released lock", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 70, S: this });
102
67
  }).catch(async () => {
103
68
  await this._onRelease?.();
104
69
  });
105
70
  await acquired.wait();
106
71
  log("recieved lock", {
107
72
  steal
108
- }, {
109
- F: __dxlog_file,
110
- L: 81,
111
- S: this,
112
- C: (f, a) => f(...a)
113
- });
73
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 75, S: this });
114
74
  }
115
75
  };
116
76
  _ts_decorate([
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/packlets/locks/browser.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Trigger, asyncTimeout } from '@dxos/async';\nimport { RESOURCE_LOCK_TIMEOUT } from '@dxos/client-protocol';\nimport { log, logInfo } from '@dxos/log';\n\nimport { type ResourceLock, type ResourceLockOptions } from './resource-lock';\n\nenum Message {\n ACQUIRING = 'acquiring',\n}\n\n// TODO(mykola): Factor out.\n// TODO(burdon): Extend to support locking for web and NodeJS (use npm lockfile). Use to lock agents.\nexport class Lock implements ResourceLock {\n private readonly _broadcastChannel = new BroadcastChannel('vault-resource-lock');\n private readonly _lockKey: string;\n private readonly _onAcquire: ResourceLockOptions['onAcquire'];\n private readonly _onRelease: ResourceLockOptions['onRelease'];\n private _releaseTrigger = new Trigger();\n\n constructor({ lockKey, onAcquire, onRelease }: ResourceLockOptions) {\n this._lockKey = lockKey;\n this._onAcquire = onAcquire;\n this._onRelease = onRelease;\n this._broadcastChannel.onmessage = this._onMessage.bind(this);\n }\n\n @logInfo\n get lockKey() {\n return this._lockKey;\n }\n\n async acquire(): Promise<void> {\n this._broadcastChannel.postMessage({\n message: Message.ACQUIRING,\n });\n\n try {\n log('aquiring lock...');\n await asyncTimeout(this._requestLock(), RESOURCE_LOCK_TIMEOUT);\n log('acquired lock');\n } catch {\n log('stealing lock...');\n await this._requestLock(true);\n log('stolen lock');\n }\n }\n\n async release(): Promise<void> {\n this._releaseTrigger.wake();\n }\n\n private _onMessage(event: MessageEvent<any>): void {\n if (event.data.message === Message.ACQUIRING) {\n this._releaseTrigger.wake();\n }\n }\n\n private async _requestLock(steal = false): Promise<void> {\n log('requesting lock...', { steal });\n const acquired = new Trigger();\n\n void navigator.locks\n .request(this._lockKey, { steal }, async () => {\n await this._onAcquire?.();\n acquired.wake();\n this._releaseTrigger = new Trigger();\n await this._releaseTrigger.wait();\n log('releasing lock...');\n await this._onRelease?.();\n log('released lock');\n })\n .catch(async () => {\n await this._onRelease?.();\n });\n\n await acquired.wait();\n log('recieved lock', { steal });\n }\n}\n\n// TODO(mykola): Implement.\nexport const isLocked = (lockPath: string) => {\n throw new Error('Not implemented');\n};\n"],
5
- "mappings": ";;;;AAIA,SAASA,SAASC,oBAAoB;AACtC,SAASC,6BAA6B;AACtC,SAASC,KAAKC,eAAe;;;;;;;;AAUtB,IAAMC,OAAN,MAAMA;EACMC,oBAAoB,IAAIC,iBAAiB,qBAAA;EACzCC;EACAC;EACAC;EACTC,kBAAkB,IAAIC,QAAAA;EAE9B,YAAY,EAAEC,SAASC,WAAWC,UAAS,GAAyB;AAClE,SAAKP,WAAWK;AAChB,SAAKJ,aAAaK;AAClB,SAAKJ,aAAaK;AAClB,SAAKT,kBAAkBU,YAAY,KAAKC,WAAWC,KAAK,IAAI;EAC9D;EAEA,IACIL,UAAU;AACZ,WAAO,KAAKL;EACd;EAEA,MAAMW,UAAyB;AAC7B,SAAKb,kBAAkBc,YAAY;MACjCC,SAAO;IACT,CAAA;AAEA,QAAI;AACFC,UAAI,oBAAA,QAAA;;;;;;AACJ,YAAMC,aAAa,KAAKC,aAAY,GAAIC,qBAAAA;AACxCH,UAAI,iBAAA,QAAA;;;;;;IACN,QAAQ;AACNA,UAAI,oBAAA,QAAA;;;;;;AACJ,YAAM,KAAKE,aAAa,IAAA;AACxBF,UAAI,eAAA,QAAA;;;;;;IACN;EACF;EAEA,MAAMI,UAAyB;AAC7B,SAAKf,gBAAgBgB,KAAI;EAC3B;EAEQV,WAAWW,OAAgC;AACjD,QAAIA,MAAMC,KAAKR,YAAO,aAAwB;AAC5C,WAAKV,gBAAgBgB,KAAI;IAC3B;EACF;EAEA,MAAcH,aAAaM,QAAQ,OAAsB;AACvDR,QAAI,sBAAsB;MAAEQ;IAAM,GAAA;;;;;;AAClC,UAAMC,WAAW,IAAInB,QAAAA;AAErB,SAAKoB,UAAUC,MACZC,QAAQ,KAAK1B,UAAU;MAAEsB;IAAM,GAAG,YAAA;AACjC,YAAM,KAAKrB,aAAU;AACrBsB,eAASJ,KAAI;AACb,WAAKhB,kBAAkB,IAAIC,QAAAA;AAC3B,YAAM,KAAKD,gBAAgBwB,KAAI;AAC/Bb,UAAI,qBAAA,QAAA;;;;;;AACJ,YAAM,KAAKZ,aAAU;AACrBY,UAAI,iBAAA,QAAA;;;;;;IACN,CAAA,EACCc,MAAM,YAAA;AACL,YAAM,KAAK1B,aAAU;IACvB,CAAA;AAEF,UAAMqB,SAASI,KAAI;AACnBb,QAAI,iBAAiB;MAAEQ;IAAM,GAAA;;;;;;EAC/B;AACF;;;;AAGO,IAAMO,WAAW,CAACC,aAAAA;AACvB,QAAM,IAAIC,MAAM,iBAAA;AAClB;",
6
- "names": ["Trigger", "asyncTimeout", "RESOURCE_LOCK_TIMEOUT", "log", "logInfo", "Lock", "_broadcastChannel", "BroadcastChannel", "_lockKey", "_onAcquire", "_onRelease", "_releaseTrigger", "Trigger", "lockKey", "onAcquire", "onRelease", "onmessage", "_onMessage", "bind", "acquire", "postMessage", "message", "log", "asyncTimeout", "_requestLock", "RESOURCE_LOCK_TIMEOUT", "release", "wake", "event", "data", "steal", "acquired", "navigator", "locks", "request", "wait", "catch", "isLocked", "lockPath", "Error"]
5
+ "mappings": ";;;;AAKA,SAASA,SAAAA,oBAA6B;AACtC,SAASC,6BAAoB;AAI7B,SAAKC,KAAAA,eAAAA;;;;;;;AAVL;AAiBmBC,IAAAA,OAAAA,MAAAA;EACAC,oBAAiB,IAAA,iBAAA,qBAAA;EACjBC;EACAC;EACTC;EAER,kBAAcC,IAAO,QAAEC;cAChBL,EAAAA,SAAWI,WAAAA,UAAAA,GAAAA;AAChB,SAAKH,WAAU;AACf,SAAKC,aAAaI;AAClB,SAAKP,aAAAA;AACP,SAAA,kBAAA,YAAA,KAAA,WAAA,KAAA,IAAA;EAEA;MAEE,UAAO;AACT,WAAA,KAAA;EAEA;QACE,UAAKA;SACHQ,kBAAO,YAAA;MACT,SAAA;IAEA,CAAA;QACEC;AACA,UAAA,oBAAuB,QAACC,EAAAA,YAAgBC,YAAAA,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,KAAAA,CAAAA;AACxCF,YAAI,aAAA,KAAA,aAAA,GAAA,qBAAA;AACJ,UAAA,iBAAM,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,KAAA,CAAA;YACF;AACJ,UAAA,oBAAuB,QAAC,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,KAAA,CAAA;AACxBA,YAAI,KAAA,aAAA,IAAA;AACN,UAAA,eAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,KAAA,CAAA;IACF;EAEA;QACE,UAAKL;AACP,SAAA,gBAAA,KAAA;EAEQQ;aACFC,OAAU;QACZ,MAAKT,KAAAA,YAAgBU,aAAI;AAC3B,WAAA,gBAAA,KAAA;IACF;EAEA;QACEL,aAAI,QAAA,OAAsB;QAAEM,sBAAAA;MAAM;IAClC,GAAA,EAAA,YAAMC,YAAeC,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,KAAAA,CAAAA;AAErB,UAAKC,WAAUC,IACZC,QAAQ;SAAiBL,UAAAA,MAAAA,QAAAA,KAAAA,UAAAA;MAAS;mBAC3B;AACNC,YAAAA,KAASF,aAAI;AACb,eAAKV,KAAAA;AACL,WAAA,kBAAWA,IAAgBiB,QAAI;AAC/BZ,YAAI,KAAA,gBAAA,KAAA;AACJ,UAAA,qBAAqB,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,KAAA,CAAA;AACrBA,YAAI,KAAA,aAAA;AAELa,UAAK,iBAAC,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,KAAA,CAAA;aACL,YAAWnB;AACb,YAAA,KAAA,aAAA;IAEF,CAAA;AACAM,UAAI,SAAA,KAAA;QAAmBM,iBAAAA;MAAM;IAC/B,GAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,KAAA,CAAA;EACF;;;;AAEA,GAAA,KAAA,WAAA,WAA2B,IAAA;AAEzB,IAAM,WAAU,CAAA,aAAA;AAChB,QAAA,IAAA,MAAA,iBAAA;;",
6
+ "names": ["RESOURCE_LOCK_TIMEOUT", "log", "Message", "_broadcastChannel", "_lockKey", "_onAcquire", "_onRelease", "_releaseTrigger", "lockKey", "onAcquire", "onRelease", "message", "log", "_requestLock", "RESOURCE_LOCK_TIMEOUT", "_onMessage", "event", "wake", "steal", "acquired", "Trigger", "navigator", "locks", "request", "wait", "catch"]
7
7
  }
@@ -5,13 +5,13 @@ import "../../chunk-QCWEHHJW.mjs";
5
5
  import { invariant } from "@dxos/invariant";
6
6
  import { LockFile } from "@dxos/lock-file";
7
7
  import { log, logInfo } from "@dxos/log";
8
+ var __dxlog_file = "/__w/dxos/dxos/packages/sdk/client-services/src/packlets/locks/node.ts";
8
9
  function _ts_decorate(decorators, target, key, desc) {
9
10
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10
11
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11
12
  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;
12
13
  return c > 3 && r && Object.defineProperty(target, key, r), r;
13
14
  }
14
- var __dxlog_file = "/__w/dxos/dxos/packages/sdk/client-services/src/packlets/locks/node.ts";
15
15
  var Lock = class {
16
16
  _lockPath;
17
17
  _onAcquire;
@@ -26,32 +26,14 @@ var Lock = class {
26
26
  return this._lockPath;
27
27
  }
28
28
  async acquire() {
29
- log("acquiring lock...", void 0, {
30
- F: __dxlog_file,
31
- L: 32,
32
- S: this,
33
- C: (f, a) => f(...a)
34
- });
29
+ log("acquiring lock...", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 28, S: this });
35
30
  this._fileHandle = await LockFile.acquire(this._lockPath);
36
31
  await this._onAcquire?.();
37
- log("acquired lock", void 0, {
38
- F: __dxlog_file,
39
- L: 37,
40
- S: this,
41
- C: (f, a) => f(...a)
42
- });
32
+ log("acquired lock", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 31, S: this });
43
33
  }
44
34
  async release() {
45
35
  await this._onRelease?.();
46
- invariant(this._fileHandle, "Lock is not acquired", {
47
- F: __dxlog_file,
48
- L: 42,
49
- S: this,
50
- A: [
51
- "this._fileHandle",
52
- "'Lock is not acquired'"
53
- ]
54
- });
36
+ invariant(this._fileHandle, "Lock is not acquired", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 35, S: this, A: ["this._fileHandle", "'Lock is not acquired'"] });
55
37
  await LockFile.release(this._fileHandle);
56
38
  }
57
39
  };
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/packlets/locks/node.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type FileHandle } from 'node:fs/promises';\n\nimport { invariant } from '@dxos/invariant';\nimport { LockFile } from '@dxos/lock-file';\nimport { log, logInfo } from '@dxos/log';\n\nimport { type ResourceLock, type ResourceLockOptions } from './resource-lock';\n\n// TODO(mykola): Factor out.\nexport class Lock implements ResourceLock {\n private readonly _lockPath: string;\n private readonly _onAcquire: ResourceLockOptions['onAcquire'];\n private readonly _onRelease: ResourceLockOptions['onRelease'];\n private _fileHandle?: FileHandle;\n\n constructor({ lockKey: lockPath, onAcquire, onRelease }: ResourceLockOptions) {\n this._lockPath = lockPath;\n this._onAcquire = onAcquire;\n this._onRelease = onRelease;\n }\n\n @logInfo\n get lockKey() {\n return this._lockPath;\n }\n\n async acquire(): Promise<void> {\n log('acquiring lock...');\n this._fileHandle = await LockFile.acquire(this._lockPath);\n\n await this._onAcquire?.();\n\n log('acquired lock');\n }\n\n async release(): Promise<void> {\n await this._onRelease?.();\n invariant(this._fileHandle, 'Lock is not acquired');\n await LockFile.release(this._fileHandle);\n }\n}\n\nexport const isLocked = (lockPath: string) => LockFile.isLocked(lockPath);\n"],
5
- "mappings": ";;;;AAMA,SAASA,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,KAAKC,eAAe;;;;;;;;AAKtB,IAAMC,OAAN,MAAMA;EACMC;EACAC;EACAC;EACTC;EAER,YAAY,EAAEC,SAASC,UAAUC,WAAWC,UAAS,GAAyB;AAC5E,SAAKP,YAAYK;AACjB,SAAKJ,aAAaK;AAClB,SAAKJ,aAAaK;EACpB;EAEA,IACIH,UAAU;AACZ,WAAO,KAAKJ;EACd;EAEA,MAAMQ,UAAyB;AAC7BX,QAAI,qBAAA,QAAA;;;;;;AACJ,SAAKM,cAAc,MAAMP,SAASY,QAAQ,KAAKR,SAAS;AAExD,UAAM,KAAKC,aAAU;AAErBJ,QAAI,iBAAA,QAAA;;;;;;EACN;EAEA,MAAMY,UAAyB;AAC7B,UAAM,KAAKP,aAAU;AACrBP,cAAU,KAAKQ,aAAa,wBAAA;;;;;;;;;AAC5B,UAAMP,SAASa,QAAQ,KAAKN,WAAW;EACzC;AACF;;;;AAEO,IAAMO,WAAW,CAACL,aAAqBT,SAASc,SAASL,QAAAA;",
6
- "names": ["invariant", "LockFile", "log", "logInfo", "Lock", "_lockPath", "_onAcquire", "_onRelease", "_fileHandle", "lockKey", "lockPath", "onAcquire", "onRelease", "acquire", "release", "isLocked"]
5
+ "mappings": ";;;;AAOA,SAASA,iBAAgB;AACzB,SAASC,gBAAY;AAIrB,SAAA,KAAA,eAA4B;AAZ5B,IAAE,eAAA;;;;;;AAMF;AAQmBC,IAAAA,OAAAA,MAAkB;EAClBC;EACAC;EACTC;EAER;cACOH,EAAAA,SAAYI,UAAAA,WAAAA,UAAAA,GAAAA;AACjB,SAAKH,YAAU;AACf,SAAKC,aAAaG;AACpB,SAAA,aAAA;EAEA;MAEE,UAAO;AACT,WAAA,KAAA;EAEA;QACEN,UAAI;AACJ,QAAI,qBAAe,QAAMD,EAAAA,YAAiB,YAAKE,GAAS,cAAA,GAAA,IAAA,GAAA,KAAA,CAAA;AAExD,SAAA,cAAWC,MAAU,SAAA,QAAA,KAAA,SAAA;AAErBF,UAAI,KAAA,aAAA;AACN,QAAA,iBAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,KAAA,CAAA;EAEA;QACE,UAAWG;AACXI,UAAAA,KAAU,aAAKH;AACf,cAAML,KAASS,aAAaJ,wBAAW,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,oBAAA,wBAAA,EAAA,CAAA;AACzC,UAAA,SAAA,QAAA,KAAA,WAAA;EACF;;;;AAEA,GAAA,KAAO,WAAMK,WAAYJ,IAAAA;;",
6
+ "names": ["LockFile", "log", "_lockPath", "_onAcquire", "_onRelease", "_fileHandle", "lockPath", "onRelease", "invariant", "release", "isLocked"]
7
7
  }
@@ -6,8 +6,8 @@ import {
6
6
  InvitationsManager,
7
7
  ServiceContext,
8
8
  SpaceInvitationProtocol
9
- } from "../chunk-FRMIC6UB.mjs";
10
- import "../chunk-NQSC7HOE.mjs";
9
+ } from "../chunk-KBMYCFTL.mjs";
10
+ import "../chunk-XJRPB3GA.mjs";
11
11
  import "../chunk-QCWEHHJW.mjs";
12
12
 
13
13
  // src/packlets/testing/credential-utils.ts
@@ -29,6 +29,7 @@ var createMockCredential = async ({ signer, issuer }) => createCredential({
29
29
  // src/packlets/testing/invitation-utils.ts
30
30
  import { Trigger } from "@dxos/async";
31
31
  import { InvitationEncoder } from "@dxos/client-protocol";
32
+ import { Context } from "@dxos/context";
32
33
  import { invariant } from "@dxos/invariant";
33
34
  import { Invitation } from "@dxos/protocols/proto/dxos/client/services";
34
35
  var __dxlog_file = "/__w/dxos/dxos/packages/sdk/client-services/src/packlets/testing/invitation-utils.ts";
@@ -65,15 +66,7 @@ var performInvitation = ({ host, guest, guestDeviceProfile, options, hooks, code
65
66
  if (hooks?.guest?.onConnecting?.(guestObservable)) {
66
67
  break;
67
68
  }
68
- invariant(hostInvitation.swarmKey.equals(guestInvitation.swarmKey), void 0, {
69
- F: __dxlog_file,
70
- L: 98,
71
- S: void 0,
72
- A: [
73
- "hostInvitation.swarmKey!.equals(guestInvitation.swarmKey!)",
74
- ""
75
- ]
76
- });
69
+ invariant(hostInvitation.swarmKey.equals(guestInvitation.swarmKey), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 51, S: void 0, A: ["hostInvitation.swarmKey.equals(guestInvitation.swarmKey)", ""] });
77
70
  break;
78
71
  }
79
72
  case Invitation.State.CONNECTED: {
@@ -204,7 +197,7 @@ var createInvitation = async (host, options) => {
204
197
  ...options ?? {}
205
198
  };
206
199
  if (host instanceof ServiceContext) {
207
- return host.invitationsManager.createInvitation({
200
+ return host.invitationsManager.createInvitation(new Context(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 194 }), {
208
201
  kind: Invitation.Kind.SPACE,
209
202
  ...options
210
203
  });
@@ -214,7 +207,7 @@ var createInvitation = async (host, options) => {
214
207
  var acceptInvitation = (guest, invitation, guestDeviceProfile) => {
215
208
  invitation = sanitizeInvitation(invitation);
216
209
  if (guest instanceof ServiceContext) {
217
- return guest.invitationsManager.acceptInvitation({
210
+ return guest.invitationsManager.acceptInvitation(new Context(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 204 }), {
218
211
  invitation,
219
212
  deviceProfile: guestDeviceProfile
220
213
  });
@@ -226,7 +219,7 @@ var acceptInvitation = (guest, invitation, guestDeviceProfile) => {
226
219
  import * as Reactivity from "@effect/experimental/Reactivity";
227
220
  import * as Layer from "effect/Layer";
228
221
  import * as ManagedRuntime from "effect/ManagedRuntime";
229
- import { Context } from "@dxos/context";
222
+ import { Context as Context2 } from "@dxos/context";
230
223
  import { CredentialGenerator, createCredentialSignerWithChain } from "@dxos/credentials";
231
224
  import { failUndefined } from "@dxos/debug";
232
225
  import { EchoHost, MeshEchoReplicator, MetadataStore, SpaceManager, valueEncoding } from "@dxos/echo-pipeline";
@@ -281,10 +274,7 @@ var createPeers = async (numPeers, signalManagerFactory) => {
281
274
  const peer = await createServiceContext({
282
275
  signalManagerFactory
283
276
  });
284
- await peer.open(new Context(void 0, {
285
- F: __dxlog_file2,
286
- L: 87
287
- }));
277
+ await peer.open(new Context2(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 67 }));
288
278
  return peer;
289
279
  }));
290
280
  };
@@ -294,10 +284,7 @@ var createIdentity = async (peer) => {
294
284
  };
295
285
  var TestBuilder = class {
296
286
  signalContext = new MemorySignalManagerContext();
297
- _ctx = new Context(void 0, {
298
- F: __dxlog_file2,
299
- L: 100
300
- });
287
+ _ctx = new Context2(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 77 });
301
288
  createPeer(peerOptions) {
302
289
  const peer = new TestPeer(this.signalContext, peerOptions);
303
290
  this._ctx.onDispose(async () => peer.destroy());
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/packlets/testing/credential-utils.ts", "../../../../src/packlets/testing/invitation-utils.ts", "../../../../src/packlets/testing/test-builder.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { createCredential } from '@dxos/credentials';\nimport { type Signer } from '@dxos/crypto';\nimport { PublicKey } from '@dxos/keys';\nimport { type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';\n\nexport const createMockCredential = async ({\n signer,\n issuer,\n}: {\n signer: Signer;\n issuer: PublicKey;\n}): Promise<Credential> =>\n createCredential({\n signer,\n issuer,\n subject: new PublicKey(Buffer.from('test')),\n assertion: {\n '@type': 'example.testing.rpc.MessageWithAny',\n payload: {\n '@type': 'google.protobuf.Any',\n value: Buffer.from('test'),\n },\n },\n });\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Trigger } from '@dxos/async';\nimport { type AuthenticatingInvitation, type CancellableInvitation, InvitationEncoder } from '@dxos/client-protocol';\nimport { invariant } from '@dxos/invariant';\nimport { Invitation } from '@dxos/protocols/proto/dxos/client/services';\nimport { type DeviceProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';\n\nimport { ServiceContext } from '../services';\n\n/**\n * Strip secrets from invitation before giving it to the peer.\n */\nexport const sanitizeInvitation = (invitation: Invitation): Invitation => {\n return InvitationEncoder.decode(InvitationEncoder.encode(invitation));\n};\n\nexport type InvitationHost = {\n share(options?: Partial<Invitation>): CancellableInvitation;\n};\n\nexport type InvitationGuest = {\n join(invitation: Invitation | string, deviceProfile?: DeviceProfileDocument): AuthenticatingInvitation;\n};\n\nexport type PerformInvitationCallbacks<T> = {\n onConnecting?: (value: T) => boolean | void;\n onConnected?: (value: T) => boolean | void;\n onReady?: (value: T) => boolean | void;\n onAuthenticating?: (value: T) => boolean | void;\n onSuccess?: (value: T) => boolean | void;\n onCancelled?: (value: T) => boolean | void;\n onTimeout?: (value: T) => boolean | void;\n onError?: (value: T) => boolean | void;\n};\n\nexport type PerformInvitationProps = {\n host: ServiceContext | InvitationHost;\n guest: ServiceContext | InvitationGuest;\n guestDeviceProfile?: DeviceProfileDocument;\n options?: Partial<Invitation>;\n hooks?: {\n host?: PerformInvitationCallbacks<CancellableInvitation>;\n guest?: PerformInvitationCallbacks<AuthenticatingInvitation>;\n };\n codeInputDelay?: number;\n};\n\nexport type Result = { invitation?: Invitation; error?: Error };\n\n// TODO(burdon): Make async.\n// TODO(burdon): Rename startInvitation.\n/**\n *\n */\nexport const performInvitation = ({\n host,\n guest,\n guestDeviceProfile,\n options,\n hooks,\n codeInputDelay,\n}: PerformInvitationProps): [Promise<Result>, Promise<Result>] => {\n let guestError = false;\n let guestConnected = false;\n let wereConnected = false;\n const hostComplete = new Trigger<Result>();\n const guestComplete = new Trigger<Result>();\n const authCode = new Trigger<string>();\n\n void createInvitation(host, options).then((hostObservable) => {\n hostObservable.subscribe(\n async (hostInvitation: Invitation) => {\n switch (hostInvitation.state) {\n case Invitation.State.CONNECTING: {\n if (guestConnected) {\n if (wereConnected) {\n hostComplete.wake({ invitation: hostInvitation });\n }\n break;\n }\n\n guestConnected = true;\n if (hooks?.host?.onConnecting?.(hostObservable)) {\n break;\n }\n\n const guestObservable = acceptInvitation(guest, hostInvitation, guestDeviceProfile);\n guestObservable.subscribe(\n async (guestInvitation: Invitation) => {\n switch (guestInvitation.state) {\n case Invitation.State.CONNECTING: {\n if (hooks?.guest?.onConnecting?.(guestObservable)) {\n break;\n }\n invariant(hostInvitation.swarmKey!.equals(guestInvitation.swarmKey!));\n break;\n }\n\n case Invitation.State.CONNECTED: {\n hooks?.guest?.onConnected?.(guestObservable);\n break;\n }\n\n case Invitation.State.READY_FOR_AUTHENTICATION: {\n if (hooks?.guest?.onReady?.(guestObservable)) {\n break;\n }\n const code = await authCode.wait();\n if (codeInputDelay == null) {\n await guestObservable.authenticate(code);\n } else {\n setTimeout(async () => {\n if (!guestError) {\n await guestObservable.authenticate(code);\n }\n }, codeInputDelay);\n }\n break;\n }\n\n case Invitation.State.AUTHENTICATING: {\n hooks?.guest?.onAuthenticating?.(guestObservable);\n break;\n }\n\n case Invitation.State.SUCCESS: {\n if (hooks?.guest?.onSuccess?.(guestObservable)) {\n break;\n }\n guestComplete.wake({ invitation: guestInvitation });\n break;\n }\n\n case Invitation.State.CANCELLED: {\n if (hooks?.guest?.onCancelled?.(guestObservable)) {\n break;\n }\n guestComplete.wake({ invitation: guestInvitation });\n break;\n }\n\n case Invitation.State.TIMEOUT: {\n if (hooks?.guest?.onTimeout?.(guestObservable)) {\n return;\n }\n guestComplete.wake({ invitation: guestInvitation });\n }\n }\n },\n (error: Error) => {\n guestError = true;\n if (hooks?.guest?.onError?.(guestObservable)) {\n return;\n }\n guestComplete.wake({ error });\n },\n );\n break;\n }\n\n case Invitation.State.CONNECTED: {\n wereConnected = true;\n hooks?.host?.onConnected?.(hostObservable);\n break;\n }\n\n case Invitation.State.READY_FOR_AUTHENTICATION: {\n if (hooks?.host?.onReady?.(hostObservable)) {\n break;\n }\n if (hostInvitation.authCode) {\n authCode.wake(hostInvitation.authCode);\n }\n break;\n }\n\n case Invitation.State.AUTHENTICATING: {\n hooks?.host?.onAuthenticating?.(hostObservable);\n break;\n }\n\n case Invitation.State.SUCCESS: {\n if (hooks?.host?.onSuccess?.(hostObservable)) {\n break;\n }\n hostComplete.wake({ invitation: hostInvitation });\n break;\n }\n\n case Invitation.State.CANCELLED: {\n if (hooks?.host?.onCancelled?.(hostObservable)) {\n break;\n }\n hostComplete.wake({ invitation: hostInvitation });\n break;\n }\n\n case Invitation.State.TIMEOUT: {\n if (hooks?.host?.onTimeout?.(hostObservable)) {\n break;\n }\n hostComplete.wake({ invitation: hostInvitation });\n break;\n }\n }\n },\n (error: Error) => {\n if (hooks?.host?.onError?.(hostObservable)) {\n return;\n }\n hostComplete.wake({ error });\n },\n );\n });\n\n return [hostComplete.wait(), guestComplete.wait()];\n};\n\nexport const createInvitation = async (\n host: ServiceContext | InvitationHost,\n options?: Partial<Invitation>,\n): Promise<CancellableInvitation> => {\n options ??= {\n authMethod: Invitation.AuthMethod.NONE,\n ...(options ?? {}),\n };\n\n if (host instanceof ServiceContext) {\n return host.invitationsManager.createInvitation({\n kind: Invitation.Kind.SPACE,\n ...options,\n });\n }\n\n return host.share(options);\n};\n\nexport const acceptInvitation = (\n guest: ServiceContext | InvitationGuest,\n invitation: Invitation,\n guestDeviceProfile?: DeviceProfileDocument,\n): AuthenticatingInvitation => {\n invitation = sanitizeInvitation(invitation);\n\n if (guest instanceof ServiceContext) {\n return guest.invitationsManager.acceptInvitation({\n invitation,\n deviceProfile: guestDeviceProfile,\n });\n }\n\n return guest.join(invitation, guestDeviceProfile);\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport * as Reactivity from '@effect/experimental/Reactivity';\nimport * as Layer from 'effect/Layer';\nimport * as ManagedRuntime from 'effect/ManagedRuntime';\n\nimport { type Config } from '@dxos/config';\nimport { Context } from '@dxos/context';\nimport { CredentialGenerator, createCredentialSignerWithChain } from '@dxos/credentials';\nimport { failUndefined } from '@dxos/debug';\nimport { EchoHost, MeshEchoReplicator, MetadataStore, SpaceManager, valueEncoding } from '@dxos/echo-pipeline';\nimport { FeedFactory, FeedStore } from '@dxos/feed-store';\nimport { Keyring } from '@dxos/keyring';\nimport { type LevelDB } from '@dxos/kv-store';\nimport { createTestLevel } from '@dxos/kv-store/testing';\nimport { MemorySignalManager, MemorySignalManagerContext, type SignalManager } from '@dxos/messaging';\nimport { MemoryTransportFactory, SwarmNetworkManager } from '@dxos/network-manager';\nimport { Invitation } from '@dxos/protocols/proto/dxos/client/services';\nimport { type Storage, StorageType, createStorage } from '@dxos/random-access-storage';\nimport { layerMemory as sqliteLayerMemory } from '@dxos/sql-sqlite/platform';\nimport * as SqlTransaction from '@dxos/sql-sqlite/SqlTransaction';\nimport { BlobStore } from '@dxos/teleport-extension-object-sync';\n\nimport { InvitationsHandler, InvitationsManager, SpaceInvitationProtocol } from '../invitations';\nimport { ClientServicesHost, ServiceContext, type ServiceContextRuntimeProps } from '../services';\nimport { DataSpaceManager, type DataSpaceManagerRuntimeProps, type SigningContext } from '../spaces';\n\n//\n// TODO(burdon): Replace with test builder.\n//\n\nexport const createServiceHost = (config: Config, signalManagerContext: MemorySignalManagerContext) => {\n return new ClientServicesHost({\n config,\n signalManager: new MemorySignalManager(signalManagerContext),\n transportFactory: MemoryTransportFactory,\n runtime: ManagedRuntime.make(\n SqlTransaction.layer\n .pipe(Layer.provideMerge(sqliteLayerMemory), Layer.provideMerge(Reactivity.layer))\n .pipe(Layer.orDie),\n ).runtimeEffect,\n });\n};\n\nexport const createServiceContext = async ({\n signalManagerFactory = async () => {\n const signalContext = new MemorySignalManagerContext();\n return new MemorySignalManager(signalContext);\n },\n storage = createStorage({ type: StorageType.RAM }),\n runtimeProps,\n}: {\n signalManagerFactory?: () => Promise<SignalManager>;\n storage?: Storage;\n runtimeProps?: ServiceContextRuntimeProps;\n} = {}) => {\n const signalManager = await signalManagerFactory();\n const networkManager = new SwarmNetworkManager({\n signalManager,\n transportFactory: MemoryTransportFactory,\n });\n const level = createTestLevel();\n await level.open();\n\n const runtime = ManagedRuntime.make(\n SqlTransaction.layer\n .pipe(Layer.provideMerge(sqliteLayerMemory), Layer.provideMerge(Reactivity.layer))\n .pipe(Layer.orDie),\n ).runtimeEffect;\n\n return new ServiceContext(storage, level, networkManager, signalManager, undefined, undefined, runtime, {\n invitationConnectionDefaultProps: { teleport: { controlHeartbeatInterval: 200 } },\n ...runtimeProps,\n });\n};\n\nexport const createPeers = async (numPeers: number, signalManagerFactory?: () => Promise<SignalManager>) => {\n if (!signalManagerFactory) {\n const signalContext = new MemorySignalManagerContext();\n signalManagerFactory = async () => new MemorySignalManager(signalContext);\n }\n return await Promise.all(\n Array.from(Array(numPeers)).map(async () => {\n const peer = await createServiceContext({ signalManagerFactory });\n await peer.open(new Context());\n return peer;\n }),\n );\n};\n\nexport const createIdentity = async (peer: ServiceContext) => {\n await peer.createIdentity();\n return peer;\n};\n\nexport class TestBuilder {\n public readonly signalContext = new MemorySignalManagerContext();\n private readonly _ctx = new Context();\n\n createPeer(peerOptions?: TestPeerOpts): TestPeer {\n const peer = new TestPeer(this.signalContext, peerOptions);\n this._ctx.onDispose(async () => peer.destroy());\n return peer;\n }\n\n async destroy(): Promise<void> {\n await this._ctx.dispose();\n }\n}\n\nexport type TestPeerOpts = {\n dataStore?: StorageType;\n dataSpaceProps?: DataSpaceManagerRuntimeProps;\n};\n\nexport type TestPeerProps = {\n storage?: Storage;\n level?: LevelDB;\n feedStore?: FeedStore<any>;\n metadataStore?: MetadataStore;\n keyring?: Keyring;\n networkManager?: SwarmNetworkManager;\n spaceManager?: SpaceManager;\n dataSpaceManager?: DataSpaceManager;\n signingContext?: SigningContext;\n blobStore?: BlobStore;\n echoHost?: EchoHost;\n meshEchoReplicator?: MeshEchoReplicator;\n invitationsManager?: InvitationsManager;\n};\n\nexport class TestPeer {\n private _props: TestPeerProps = {};\n private readonly _runtime = ManagedRuntime.make(\n SqlTransaction.layer\n .pipe(Layer.provideMerge(sqliteLayerMemory), Layer.provideMerge(Reactivity.layer))\n .pipe(Layer.orDie),\n );\n\n constructor(\n private readonly _signalContext: MemorySignalManagerContext,\n private readonly _opts: TestPeerOpts = { dataStore: StorageType.RAM },\n ) {}\n\n get props() {\n return this._props;\n }\n\n get storage() {\n return (this._props.storage ??= createStorage({ type: this._opts.dataStore }));\n }\n\n get keyring() {\n return (this._props.keyring ??= new Keyring(this.storage.createDirectory('keyring')));\n }\n\n get level() {\n return (this._props.level ??= createTestLevel());\n }\n\n get feedStore() {\n return (this._props.feedStore ??= new FeedStore({\n factory: new FeedFactory({\n root: this.storage.createDirectory('feeds'),\n signer: this.keyring,\n hypercore: {\n valueEncoding,\n },\n }),\n }));\n }\n\n get metadataStore() {\n return (this._props.metadataStore ??= new MetadataStore(this.storage.createDirectory('metadata')));\n }\n\n get blobStore() {\n return (this._props.blobStore ??= new BlobStore(this.storage.createDirectory('blobs')));\n }\n\n get networkManager() {\n return (this._props.networkManager ??= new SwarmNetworkManager({\n signalManager: new MemorySignalManager(this._signalContext),\n transportFactory: MemoryTransportFactory,\n }));\n }\n\n get spaceManager() {\n return (this._props.spaceManager ??= new SpaceManager({\n feedStore: this.feedStore,\n networkManager: this.networkManager,\n metadataStore: this.metadataStore,\n blobStore: this.blobStore,\n }));\n }\n\n get identity() {\n return this._props.signingContext ?? failUndefined();\n }\n\n get echoHost() {\n return (this._props.echoHost ??= new EchoHost({\n kv: this.level,\n runtime: this._runtime.runtimeEffect,\n }));\n }\n\n get meshEchoReplicator() {\n return (this._props.meshEchoReplicator ??= new MeshEchoReplicator());\n }\n\n get dataSpaceManager(): DataSpaceManager {\n return (this._props.dataSpaceManager ??= new DataSpaceManager({\n spaceManager: this.spaceManager,\n metadataStore: this.metadataStore,\n keyring: this.keyring,\n signingContext: this.identity,\n feedStore: this.feedStore,\n echoHost: this.echoHost,\n invitationsManager: this.invitationsManager,\n edgeConnection: undefined,\n meshReplicator: this.meshEchoReplicator,\n echoEdgeReplicator: undefined,\n runtimeProps: this._opts.dataSpaceProps,\n }));\n }\n\n get invitationsManager() {\n return (this._props.invitationsManager ??= new InvitationsManager(\n new InvitationsHandler(this.networkManager),\n (invitation) => {\n if (invitation.kind === Invitation.Kind.SPACE) {\n return new SpaceInvitationProtocol(this.dataSpaceManager, this.identity!, this.keyring, invitation.spaceKey!);\n } else {\n throw new Error('not implemented');\n }\n },\n this.metadataStore,\n ));\n }\n\n async createIdentity(): Promise<void> {\n this._props.signingContext ??= await createSigningContext(this.keyring);\n this.networkManager.setPeerInfo({\n identityKey: this._props.signingContext.identityKey.toHex(),\n peerKey: this._props.signingContext.deviceKey.toHex(),\n });\n }\n\n async destroy(): Promise<void> {\n await this.level.close();\n await this.storage.reset();\n await this._runtime.dispose();\n }\n}\n\nexport const createSigningContext = async (keyring: Keyring): Promise<SigningContext> => {\n const identityKey = await keyring.createKey();\n const deviceKey = await keyring.createKey();\n\n return {\n identityKey,\n deviceKey,\n credentialSigner: createCredentialSignerWithChain(\n keyring,\n {\n credential: await new CredentialGenerator(keyring, identityKey, deviceKey).createDeviceAuthorization(deviceKey),\n },\n deviceKey,\n ),\n recordCredential: async () => {}, // No-op.\n getProfile: () => undefined,\n };\n};\n"],
5
- "mappings": "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",
6
- "names": ["createCredential", "PublicKey", "createMockCredential", "signer", "issuer", "createCredential", "subject", "PublicKey", "Buffer", "from", "assertion", "payload", "value", "Trigger", "InvitationEncoder", "invariant", "Invitation", "sanitizeInvitation", "invitation", "InvitationEncoder", "decode", "encode", "performInvitation", "host", "guest", "guestDeviceProfile", "options", "hooks", "codeInputDelay", "guestError", "guestConnected", "wereConnected", "hostComplete", "Trigger", "guestComplete", "authCode", "createInvitation", "then", "hostObservable", "subscribe", "hostInvitation", "state", "Invitation", "State", "CONNECTING", "wake", "onConnecting", "guestObservable", "acceptInvitation", "guestInvitation", "invariant", "swarmKey", "equals", "CONNECTED", "onConnected", "READY_FOR_AUTHENTICATION", "onReady", "code", "wait", "authenticate", "setTimeout", "AUTHENTICATING", "onAuthenticating", "SUCCESS", "onSuccess", "CANCELLED", "onCancelled", "TIMEOUT", "onTimeout", "error", "onError", "authMethod", "AuthMethod", "NONE", "ServiceContext", "invitationsManager", "kind", "Kind", "SPACE", "share", "deviceProfile", "join", "Reactivity", "Layer", "ManagedRuntime", "Context", "CredentialGenerator", "createCredentialSignerWithChain", "failUndefined", "EchoHost", "MeshEchoReplicator", "MetadataStore", "SpaceManager", "valueEncoding", "FeedFactory", "FeedStore", "Keyring", "createTestLevel", "MemorySignalManager", "MemorySignalManagerContext", "MemoryTransportFactory", "SwarmNetworkManager", "Invitation", "StorageType", "createStorage", "layerMemory", "sqliteLayerMemory", "SqlTransaction", "BlobStore", "createServiceHost", "config", "signalManagerContext", "ClientServicesHost", "signalManager", "MemorySignalManager", "transportFactory", "MemoryTransportFactory", "runtime", "make", "layer", "pipe", "provideMerge", "sqliteLayerMemory", "orDie", "runtimeEffect", "createServiceContext", "signalManagerFactory", "signalContext", "MemorySignalManagerContext", "storage", "createStorage", "type", "StorageType", "RAM", "runtimeProps", "networkManager", "SwarmNetworkManager", "level", "createTestLevel", "open", "ServiceContext", "undefined", "invitationConnectionDefaultProps", "teleport", "controlHeartbeatInterval", "createPeers", "numPeers", "Promise", "all", "Array", "from", "map", "peer", "Context", "createIdentity", "TestBuilder", "_ctx", "createPeer", "peerOptions", "TestPeer", "onDispose", "destroy", "dispose", "_props", "_runtime", "_signalContext", "_opts", "dataStore", "props", "keyring", "Keyring", "createDirectory", "feedStore", "FeedStore", "factory", "FeedFactory", "root", "signer", "hypercore", "valueEncoding", "metadataStore", "MetadataStore", "blobStore", "BlobStore", "spaceManager", "SpaceManager", "identity", "signingContext", "failUndefined", "echoHost", "EchoHost", "kv", "meshEchoReplicator", "MeshEchoReplicator", "dataSpaceManager", "DataSpaceManager", "invitationsManager", "edgeConnection", "meshReplicator", "echoEdgeReplicator", "dataSpaceProps", "InvitationsManager", "InvitationsHandler", "invitation", "kind", "Invitation", "Kind", "SPACE", "SpaceInvitationProtocol", "spaceKey", "Error", "createSigningContext", "setPeerInfo", "identityKey", "toHex", "peerKey", "deviceKey", "close", "reset", "createKey", "credentialSigner", "createCredentialSignerWithChain", "credential", "CredentialGenerator", "createDeviceAuthorization", "recordCredential", "getProfile"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { createCredential } from '@dxos/credentials';\nimport { type Signer } from '@dxos/crypto';\nimport { PublicKey } from '@dxos/keys';\nimport { type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';\n\nexport const createMockCredential = async ({\n signer,\n issuer,\n}: {\n signer: Signer;\n issuer: PublicKey;\n}): Promise<Credential> =>\n createCredential({\n signer,\n issuer,\n subject: new PublicKey(Buffer.from('test')),\n assertion: {\n '@type': 'example.testing.rpc.MessageWithAny',\n payload: {\n '@type': 'google.protobuf.Any',\n value: Buffer.from('test'),\n },\n },\n });\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Trigger } from '@dxos/async';\nimport { type AuthenticatingInvitation, type CancellableInvitation, InvitationEncoder } from '@dxos/client-protocol';\nimport { Context } from '@dxos/context';\nimport { invariant } from '@dxos/invariant';\nimport { Invitation } from '@dxos/protocols/proto/dxos/client/services';\nimport { type DeviceProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';\n\nimport { ServiceContext } from '../services';\n\n/**\n * Strip secrets from invitation before giving it to the peer.\n */\nexport const sanitizeInvitation = (invitation: Invitation): Invitation => {\n return InvitationEncoder.decode(InvitationEncoder.encode(invitation));\n};\n\nexport type InvitationHost = {\n share(options?: Partial<Invitation>): CancellableInvitation;\n};\n\nexport type InvitationGuest = {\n join(invitation: Invitation | string, deviceProfile?: DeviceProfileDocument): AuthenticatingInvitation;\n};\n\nexport type PerformInvitationCallbacks<T> = {\n onConnecting?: (value: T) => boolean | void;\n onConnected?: (value: T) => boolean | void;\n onReady?: (value: T) => boolean | void;\n onAuthenticating?: (value: T) => boolean | void;\n onSuccess?: (value: T) => boolean | void;\n onCancelled?: (value: T) => boolean | void;\n onTimeout?: (value: T) => boolean | void;\n onError?: (value: T) => boolean | void;\n};\n\nexport type PerformInvitationProps = {\n host: ServiceContext | InvitationHost;\n guest: ServiceContext | InvitationGuest;\n guestDeviceProfile?: DeviceProfileDocument;\n options?: Partial<Invitation>;\n hooks?: {\n host?: PerformInvitationCallbacks<CancellableInvitation>;\n guest?: PerformInvitationCallbacks<AuthenticatingInvitation>;\n };\n codeInputDelay?: number;\n};\n\nexport type Result = { invitation?: Invitation; error?: Error };\n\n// TODO(burdon): Make async.\n// TODO(burdon): Rename startInvitation.\n/**\n *\n */\nexport const performInvitation = ({\n host,\n guest,\n guestDeviceProfile,\n options,\n hooks,\n codeInputDelay,\n}: PerformInvitationProps): [Promise<Result>, Promise<Result>] => {\n let guestError = false;\n let guestConnected = false;\n let wereConnected = false;\n const hostComplete = new Trigger<Result>();\n const guestComplete = new Trigger<Result>();\n const authCode = new Trigger<string>();\n\n void createInvitation(host, options).then((hostObservable) => {\n hostObservable.subscribe(\n async (hostInvitation: Invitation) => {\n switch (hostInvitation.state) {\n case Invitation.State.CONNECTING: {\n if (guestConnected) {\n if (wereConnected) {\n hostComplete.wake({ invitation: hostInvitation });\n }\n break;\n }\n\n guestConnected = true;\n if (hooks?.host?.onConnecting?.(hostObservable)) {\n break;\n }\n\n const guestObservable = acceptInvitation(guest, hostInvitation, guestDeviceProfile);\n guestObservable.subscribe(\n async (guestInvitation: Invitation) => {\n switch (guestInvitation.state) {\n case Invitation.State.CONNECTING: {\n if (hooks?.guest?.onConnecting?.(guestObservable)) {\n break;\n }\n invariant(hostInvitation.swarmKey!.equals(guestInvitation.swarmKey!));\n break;\n }\n\n case Invitation.State.CONNECTED: {\n hooks?.guest?.onConnected?.(guestObservable);\n break;\n }\n\n case Invitation.State.READY_FOR_AUTHENTICATION: {\n if (hooks?.guest?.onReady?.(guestObservable)) {\n break;\n }\n const code = await authCode.wait();\n if (codeInputDelay == null) {\n await guestObservable.authenticate(code);\n } else {\n setTimeout(async () => {\n if (!guestError) {\n await guestObservable.authenticate(code);\n }\n }, codeInputDelay);\n }\n break;\n }\n\n case Invitation.State.AUTHENTICATING: {\n hooks?.guest?.onAuthenticating?.(guestObservable);\n break;\n }\n\n case Invitation.State.SUCCESS: {\n if (hooks?.guest?.onSuccess?.(guestObservable)) {\n break;\n }\n guestComplete.wake({ invitation: guestInvitation });\n break;\n }\n\n case Invitation.State.CANCELLED: {\n if (hooks?.guest?.onCancelled?.(guestObservable)) {\n break;\n }\n guestComplete.wake({ invitation: guestInvitation });\n break;\n }\n\n case Invitation.State.TIMEOUT: {\n if (hooks?.guest?.onTimeout?.(guestObservable)) {\n return;\n }\n guestComplete.wake({ invitation: guestInvitation });\n }\n }\n },\n (error: Error) => {\n guestError = true;\n if (hooks?.guest?.onError?.(guestObservable)) {\n return;\n }\n guestComplete.wake({ error });\n },\n );\n break;\n }\n\n case Invitation.State.CONNECTED: {\n wereConnected = true;\n hooks?.host?.onConnected?.(hostObservable);\n break;\n }\n\n case Invitation.State.READY_FOR_AUTHENTICATION: {\n if (hooks?.host?.onReady?.(hostObservable)) {\n break;\n }\n if (hostInvitation.authCode) {\n authCode.wake(hostInvitation.authCode);\n }\n break;\n }\n\n case Invitation.State.AUTHENTICATING: {\n hooks?.host?.onAuthenticating?.(hostObservable);\n break;\n }\n\n case Invitation.State.SUCCESS: {\n if (hooks?.host?.onSuccess?.(hostObservable)) {\n break;\n }\n hostComplete.wake({ invitation: hostInvitation });\n break;\n }\n\n case Invitation.State.CANCELLED: {\n if (hooks?.host?.onCancelled?.(hostObservable)) {\n break;\n }\n hostComplete.wake({ invitation: hostInvitation });\n break;\n }\n\n case Invitation.State.TIMEOUT: {\n if (hooks?.host?.onTimeout?.(hostObservable)) {\n break;\n }\n hostComplete.wake({ invitation: hostInvitation });\n break;\n }\n }\n },\n (error: Error) => {\n if (hooks?.host?.onError?.(hostObservable)) {\n return;\n }\n hostComplete.wake({ error });\n },\n );\n });\n\n return [hostComplete.wait(), guestComplete.wait()];\n};\n\nexport const createInvitation = async (\n host: ServiceContext | InvitationHost,\n options?: Partial<Invitation>,\n): Promise<CancellableInvitation> => {\n options ??= {\n authMethod: Invitation.AuthMethod.NONE,\n ...(options ?? {}),\n };\n\n if (host instanceof ServiceContext) {\n return host.invitationsManager.createInvitation(new Context(), {\n kind: Invitation.Kind.SPACE,\n ...options,\n });\n }\n\n return host.share(options);\n};\n\nexport const acceptInvitation = (\n guest: ServiceContext | InvitationGuest,\n invitation: Invitation,\n guestDeviceProfile?: DeviceProfileDocument,\n): AuthenticatingInvitation => {\n invitation = sanitizeInvitation(invitation);\n\n if (guest instanceof ServiceContext) {\n return guest.invitationsManager.acceptInvitation(new Context(), {\n invitation,\n deviceProfile: guestDeviceProfile,\n });\n }\n\n return guest.join(invitation, guestDeviceProfile);\n};\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport * as Reactivity from '@effect/experimental/Reactivity';\nimport * as Layer from 'effect/Layer';\nimport * as ManagedRuntime from 'effect/ManagedRuntime';\n\nimport { type Config } from '@dxos/config';\nimport { Context } from '@dxos/context';\nimport { CredentialGenerator, createCredentialSignerWithChain } from '@dxos/credentials';\nimport { failUndefined } from '@dxos/debug';\nimport { EchoHost, MeshEchoReplicator, MetadataStore, SpaceManager, valueEncoding } from '@dxos/echo-pipeline';\nimport { FeedFactory, FeedStore } from '@dxos/feed-store';\nimport { Keyring } from '@dxos/keyring';\nimport { type LevelDB } from '@dxos/kv-store';\nimport { createTestLevel } from '@dxos/kv-store/testing';\nimport { MemorySignalManager, MemorySignalManagerContext, type SignalManager } from '@dxos/messaging';\nimport { MemoryTransportFactory, SwarmNetworkManager } from '@dxos/network-manager';\nimport { Invitation } from '@dxos/protocols/proto/dxos/client/services';\nimport { type Storage, StorageType, createStorage } from '@dxos/random-access-storage';\nimport { layerMemory as sqliteLayerMemory } from '@dxos/sql-sqlite/platform';\nimport * as SqlTransaction from '@dxos/sql-sqlite/SqlTransaction';\nimport { BlobStore } from '@dxos/teleport-extension-object-sync';\n\nimport { InvitationsHandler, InvitationsManager, SpaceInvitationProtocol } from '../invitations';\nimport { ClientServicesHost, ServiceContext, type ServiceContextRuntimeProps } from '../services';\nimport { DataSpaceManager, type DataSpaceManagerRuntimeProps, type SigningContext } from '../spaces';\n\n//\n// TODO(burdon): Replace with test builder.\n//\n\nexport const createServiceHost = (config: Config, signalManagerContext: MemorySignalManagerContext) => {\n return new ClientServicesHost({\n config,\n signalManager: new MemorySignalManager(signalManagerContext),\n transportFactory: MemoryTransportFactory,\n runtime: ManagedRuntime.make(\n SqlTransaction.layer\n .pipe(Layer.provideMerge(sqliteLayerMemory), Layer.provideMerge(Reactivity.layer))\n .pipe(Layer.orDie),\n ).runtimeEffect,\n });\n};\n\nexport const createServiceContext = async ({\n signalManagerFactory = async () => {\n const signalContext = new MemorySignalManagerContext();\n return new MemorySignalManager(signalContext);\n },\n storage = createStorage({ type: StorageType.RAM }),\n runtimeProps,\n}: {\n signalManagerFactory?: () => Promise<SignalManager>;\n storage?: Storage;\n runtimeProps?: ServiceContextRuntimeProps;\n} = {}) => {\n const signalManager = await signalManagerFactory();\n const networkManager = new SwarmNetworkManager({\n signalManager,\n transportFactory: MemoryTransportFactory,\n });\n const level = createTestLevel();\n await level.open();\n\n const runtime = ManagedRuntime.make(\n SqlTransaction.layer\n .pipe(Layer.provideMerge(sqliteLayerMemory), Layer.provideMerge(Reactivity.layer))\n .pipe(Layer.orDie),\n ).runtimeEffect;\n\n return new ServiceContext(storage, level, networkManager, signalManager, undefined, undefined, runtime, {\n invitationConnectionDefaultProps: { teleport: { controlHeartbeatInterval: 200 } },\n ...runtimeProps,\n });\n};\n\nexport const createPeers = async (numPeers: number, signalManagerFactory?: () => Promise<SignalManager>) => {\n if (!signalManagerFactory) {\n const signalContext = new MemorySignalManagerContext();\n signalManagerFactory = async () => new MemorySignalManager(signalContext);\n }\n return await Promise.all(\n Array.from(Array(numPeers)).map(async () => {\n const peer = await createServiceContext({ signalManagerFactory });\n await peer.open(new Context());\n return peer;\n }),\n );\n};\n\nexport const createIdentity = async (peer: ServiceContext) => {\n await peer.createIdentity();\n return peer;\n};\n\nexport class TestBuilder {\n public readonly signalContext = new MemorySignalManagerContext();\n private readonly _ctx = new Context();\n\n createPeer(peerOptions?: TestPeerOpts): TestPeer {\n const peer = new TestPeer(this.signalContext, peerOptions);\n this._ctx.onDispose(async () => peer.destroy());\n return peer;\n }\n\n async destroy(): Promise<void> {\n await this._ctx.dispose();\n }\n}\n\nexport type TestPeerOpts = {\n dataStore?: StorageType;\n dataSpaceProps?: DataSpaceManagerRuntimeProps;\n};\n\nexport type TestPeerProps = {\n storage?: Storage;\n level?: LevelDB;\n feedStore?: FeedStore<any>;\n metadataStore?: MetadataStore;\n keyring?: Keyring;\n networkManager?: SwarmNetworkManager;\n spaceManager?: SpaceManager;\n dataSpaceManager?: DataSpaceManager;\n signingContext?: SigningContext;\n blobStore?: BlobStore;\n echoHost?: EchoHost;\n meshEchoReplicator?: MeshEchoReplicator;\n invitationsManager?: InvitationsManager;\n};\n\nexport class TestPeer {\n private _props: TestPeerProps = {};\n private readonly _runtime = ManagedRuntime.make(\n SqlTransaction.layer\n .pipe(Layer.provideMerge(sqliteLayerMemory), Layer.provideMerge(Reactivity.layer))\n .pipe(Layer.orDie),\n );\n\n constructor(\n private readonly _signalContext: MemorySignalManagerContext,\n private readonly _opts: TestPeerOpts = { dataStore: StorageType.RAM },\n ) {}\n\n get props() {\n return this._props;\n }\n\n get storage() {\n return (this._props.storage ??= createStorage({ type: this._opts.dataStore }));\n }\n\n get keyring() {\n return (this._props.keyring ??= new Keyring(this.storage.createDirectory('keyring')));\n }\n\n get level() {\n return (this._props.level ??= createTestLevel());\n }\n\n get feedStore() {\n return (this._props.feedStore ??= new FeedStore({\n factory: new FeedFactory({\n root: this.storage.createDirectory('feeds'),\n signer: this.keyring,\n hypercore: {\n valueEncoding,\n },\n }),\n }));\n }\n\n get metadataStore() {\n return (this._props.metadataStore ??= new MetadataStore(this.storage.createDirectory('metadata')));\n }\n\n get blobStore() {\n return (this._props.blobStore ??= new BlobStore(this.storage.createDirectory('blobs')));\n }\n\n get networkManager() {\n return (this._props.networkManager ??= new SwarmNetworkManager({\n signalManager: new MemorySignalManager(this._signalContext),\n transportFactory: MemoryTransportFactory,\n }));\n }\n\n get spaceManager() {\n return (this._props.spaceManager ??= new SpaceManager({\n feedStore: this.feedStore,\n networkManager: this.networkManager,\n metadataStore: this.metadataStore,\n blobStore: this.blobStore,\n }));\n }\n\n get identity() {\n return this._props.signingContext ?? failUndefined();\n }\n\n get echoHost() {\n return (this._props.echoHost ??= new EchoHost({\n kv: this.level,\n runtime: this._runtime.runtimeEffect,\n }));\n }\n\n get meshEchoReplicator() {\n return (this._props.meshEchoReplicator ??= new MeshEchoReplicator());\n }\n\n get dataSpaceManager(): DataSpaceManager {\n return (this._props.dataSpaceManager ??= new DataSpaceManager({\n spaceManager: this.spaceManager,\n metadataStore: this.metadataStore,\n keyring: this.keyring,\n signingContext: this.identity,\n feedStore: this.feedStore,\n echoHost: this.echoHost,\n invitationsManager: this.invitationsManager,\n edgeConnection: undefined,\n meshReplicator: this.meshEchoReplicator,\n echoEdgeReplicator: undefined,\n runtimeProps: this._opts.dataSpaceProps,\n }));\n }\n\n get invitationsManager() {\n return (this._props.invitationsManager ??= new InvitationsManager(\n new InvitationsHandler(this.networkManager),\n (invitation) => {\n if (invitation.kind === Invitation.Kind.SPACE) {\n return new SpaceInvitationProtocol(this.dataSpaceManager, this.identity!, this.keyring, invitation.spaceKey!);\n } else {\n throw new Error('not implemented');\n }\n },\n this.metadataStore,\n ));\n }\n\n async createIdentity(): Promise<void> {\n this._props.signingContext ??= await createSigningContext(this.keyring);\n this.networkManager.setPeerInfo({\n identityKey: this._props.signingContext.identityKey.toHex(),\n peerKey: this._props.signingContext.deviceKey.toHex(),\n });\n }\n\n async destroy(): Promise<void> {\n await this.level.close();\n await this.storage.reset();\n await this._runtime.dispose();\n }\n}\n\nexport const createSigningContext = async (keyring: Keyring): Promise<SigningContext> => {\n const identityKey = await keyring.createKey();\n const deviceKey = await keyring.createKey();\n\n return {\n identityKey,\n deviceKey,\n credentialSigner: createCredentialSignerWithChain(\n keyring,\n {\n credential: await new CredentialGenerator(keyring, identityKey, deviceKey).createDeviceAuthorization(deviceKey),\n },\n deviceKey,\n ),\n recordCredential: async () => {}, // No-op.\n getProfile: () => undefined,\n };\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["createCredential", "PublicKey", "createMockCredential", "signer", "issuer", "subject", "Buffer", "from", "assertion", "payload", "value", "Trigger", "InvitationEncoder", "Context", "invariant", "Invitation", "guestConnected", "wereConnected", "guestComplete", "authCode", "Trigger", "createInvitation", "host", "options", "hostObservable", "subscribe", "hostInvitation", "Invitation", "State", "CONNECTING", "hostComplete", "invitation", "guestObservable", "guestInvitation", "hooks", "guest", "invariant", "onConnected", "authenticate", "setTimeout", "codeInputDelay", "onAuthenticating", "error", "guestError", "authMethod", "AuthMethod", "NONE", "acceptInvitation", "ServiceContext", "invitationsManager", "deviceProfile", "guestDeviceProfile", "Reactivity", "Layer", "ManagedRuntime", "Context", "CredentialGenerator", "createCredentialSignerWithChain", "failUndefined", "EchoHost", "MeshEchoReplicator", "MetadataStore", "SpaceManager", "valueEncoding", "FeedFactory", "FeedStore", "Keyring", "createTestLevel", "MemorySignalManager", "MemorySignalManagerContext", "MemoryTransportFactory", "SwarmNetworkManager", "Invitation", "StorageType", "createStorage", "layerMemory", "sqliteLayerMemory", "SqlTransaction", "BlobStore", "__dxlog_file", "config", "signalManager", "MemorySignalManager", "transportFactory", "runtime", "ManagedRuntime", "SqlTransaction", "Layer", "signalContext", "storage", "createStorage", "type", "StorageType", "runtimeProps", "networkManager", "MemoryTransportFactory", "createTestLevel", "ServiceContext", "invitationConnectionDefaultProps", "teleport", "MemorySignalManagerContext", "signalManagerFactory", "Array", "Context", "peer", "_ctx", "createPeer", "peerOptions", "TestPeer", "destroy", "_props", "_runtime", "_signalContext", "props", "keyring", "level", "feedStore", "factory", "root", "createDirectory", "signer", "hypercore", "valueEncoding", "metadataStore", "blobStore", "spaceManager", "identity", "echoHost", "runtimeEffect", "meshEchoReplicator", "dataSpaceManager", "signingContext", "invitationsManager", "edgeConnection", "meshReplicator", "echoEdgeReplicator", "_opts", "kind", "SpaceInvitationProtocol", "spaceKey", "Invitation", "Error", "createIdentity", "identityKey", "toHex", "peerKey", "dispose", "deviceKey", "createKey", "credentialSigner", "recordCredential", "getProfile"]
7
7
  }
@@ -19,4 +19,4 @@ export {
19
19
  createCollectDiagnosticsBroadcastSender,
20
20
  createCollectDiagnosticsBroadcastHandler
21
21
  };
22
- //# sourceMappingURL=chunk-PKEGMOQ4.mjs.map
22
+ //# sourceMappingURL=chunk-2DT3MZRL.mjs.map