@fluidframework/presence 2.92.0 → 2.100.0

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 (260) hide show
  1. package/README.md +4 -4
  2. package/dist/alpha.d.ts +6 -4
  3. package/dist/beta.d.ts +5 -2
  4. package/dist/getPresence.d.ts +4 -9
  5. package/dist/getPresence.d.ts.map +1 -1
  6. package/dist/getPresence.js +6 -86
  7. package/dist/getPresence.js.map +1 -1
  8. package/dist/index.d.ts +4 -13
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +8 -8
  11. package/dist/index.js.map +1 -1
  12. package/dist/legacy.alpha.d.ts +6 -4
  13. package/dist/package.json +1 -15
  14. package/dist/public.d.ts +69 -0
  15. package/lib/alpha.d.ts +6 -4
  16. package/lib/beta.d.ts +5 -2
  17. package/lib/getPresence.d.ts +4 -9
  18. package/lib/getPresence.d.ts.map +1 -1
  19. package/lib/getPresence.js +6 -85
  20. package/lib/getPresence.js.map +1 -1
  21. package/lib/index.d.ts +4 -13
  22. package/lib/index.d.ts.map +1 -1
  23. package/lib/index.js +5 -4
  24. package/lib/index.js.map +1 -1
  25. package/lib/legacy.alpha.d.ts +6 -4
  26. package/lib/public.d.ts +69 -0
  27. package/lib/tsdoc-metadata.json +11 -0
  28. package/package.json +32 -78
  29. package/dist/baseTypes.d.ts +0 -24
  30. package/dist/baseTypes.d.ts.map +0 -1
  31. package/dist/baseTypes.js +0 -7
  32. package/dist/baseTypes.js.map +0 -1
  33. package/dist/broadcastControls.d.ts +0 -37
  34. package/dist/broadcastControls.d.ts.map +0 -1
  35. package/dist/broadcastControls.js +0 -60
  36. package/dist/broadcastControls.js.map +0 -1
  37. package/dist/broadcastControlsTypes.d.ts +0 -38
  38. package/dist/broadcastControlsTypes.d.ts.map +0 -1
  39. package/dist/broadcastControlsTypes.js +0 -7
  40. package/dist/broadcastControlsTypes.js.map +0 -1
  41. package/dist/exposedInternalTypes.d.ts +0 -138
  42. package/dist/exposedInternalTypes.d.ts.map +0 -1
  43. package/dist/exposedInternalTypes.js +0 -19
  44. package/dist/exposedInternalTypes.js.map +0 -1
  45. package/dist/exposedUtilityTypes.d.ts +0 -108
  46. package/dist/exposedUtilityTypes.d.ts.map +0 -1
  47. package/dist/exposedUtilityTypes.js +0 -7
  48. package/dist/exposedUtilityTypes.js.map +0 -1
  49. package/dist/internalUtils.d.ts +0 -125
  50. package/dist/internalUtils.d.ts.map +0 -1
  51. package/dist/internalUtils.js +0 -99
  52. package/dist/internalUtils.js.map +0 -1
  53. package/dist/latestMapTypes.d.ts +0 -343
  54. package/dist/latestMapTypes.d.ts.map +0 -1
  55. package/dist/latestMapTypes.js +0 -7
  56. package/dist/latestMapTypes.js.map +0 -1
  57. package/dist/latestMapValueManager.d.ts +0 -52
  58. package/dist/latestMapValueManager.d.ts.map +0 -1
  59. package/dist/latestMapValueManager.js +0 -250
  60. package/dist/latestMapValueManager.js.map +0 -1
  61. package/dist/latestTypes.d.ts +0 -183
  62. package/dist/latestTypes.d.ts.map +0 -1
  63. package/dist/latestTypes.js +0 -7
  64. package/dist/latestTypes.js.map +0 -1
  65. package/dist/latestValueManager.d.ts +0 -10
  66. package/dist/latestValueManager.d.ts.map +0 -1
  67. package/dist/latestValueManager.js +0 -117
  68. package/dist/latestValueManager.js.map +0 -1
  69. package/dist/latestValueTypes.d.ts +0 -108
  70. package/dist/latestValueTypes.d.ts.map +0 -1
  71. package/dist/latestValueTypes.js +0 -7
  72. package/dist/latestValueTypes.js.map +0 -1
  73. package/dist/notificationsManager.d.ts +0 -27
  74. package/dist/notificationsManager.d.ts.map +0 -1
  75. package/dist/notificationsManager.js +0 -98
  76. package/dist/notificationsManager.js.map +0 -1
  77. package/dist/notificationsManagerTypes.d.ts +0 -144
  78. package/dist/notificationsManagerTypes.d.ts.map +0 -1
  79. package/dist/notificationsManagerTypes.js +0 -7
  80. package/dist/notificationsManagerTypes.js.map +0 -1
  81. package/dist/packageVersion.d.ts +0 -9
  82. package/dist/packageVersion.d.ts.map +0 -1
  83. package/dist/packageVersion.js +0 -12
  84. package/dist/packageVersion.js.map +0 -1
  85. package/dist/presence.d.ts +0 -229
  86. package/dist/presence.d.ts.map +0 -1
  87. package/dist/presence.js +0 -23
  88. package/dist/presence.js.map +0 -1
  89. package/dist/presenceDatastoreManager.d.ts +0 -149
  90. package/dist/presenceDatastoreManager.d.ts.map +0 -1
  91. package/dist/presenceDatastoreManager.js +0 -667
  92. package/dist/presenceDatastoreManager.js.map +0 -1
  93. package/dist/presenceManager.d.ts +0 -16
  94. package/dist/presenceManager.d.ts.map +0 -1
  95. package/dist/presenceManager.js +0 -140
  96. package/dist/presenceManager.js.map +0 -1
  97. package/dist/presenceStates.d.ts +0 -102
  98. package/dist/presenceStates.d.ts.map +0 -1
  99. package/dist/presenceStates.js +0 -231
  100. package/dist/presenceStates.js.map +0 -1
  101. package/dist/protocol.d.ts +0 -111
  102. package/dist/protocol.d.ts.map +0 -1
  103. package/dist/protocol.js +0 -20
  104. package/dist/protocol.js.map +0 -1
  105. package/dist/runtimeTypes.d.ts +0 -26
  106. package/dist/runtimeTypes.d.ts.map +0 -1
  107. package/dist/runtimeTypes.js +0 -7
  108. package/dist/runtimeTypes.js.map +0 -1
  109. package/dist/stateDatastore.d.ts +0 -56
  110. package/dist/stateDatastore.d.ts.map +0 -1
  111. package/dist/stateDatastore.js +0 -22
  112. package/dist/stateDatastore.js.map +0 -1
  113. package/dist/stateFactory.d.ts +0 -18
  114. package/dist/stateFactory.d.ts.map +0 -1
  115. package/dist/stateFactory.js +0 -23
  116. package/dist/stateFactory.js.map +0 -1
  117. package/dist/statesManagerTypes.d.ts +0 -27
  118. package/dist/statesManagerTypes.d.ts.map +0 -1
  119. package/dist/statesManagerTypes.js +0 -7
  120. package/dist/statesManagerTypes.js.map +0 -1
  121. package/dist/systemWorkspace.d.ts +0 -58
  122. package/dist/systemWorkspace.d.ts.map +0 -1
  123. package/dist/systemWorkspace.js +0 -265
  124. package/dist/systemWorkspace.js.map +0 -1
  125. package/dist/timerManager.d.ts +0 -37
  126. package/dist/timerManager.d.ts.map +0 -1
  127. package/dist/timerManager.js +0 -65
  128. package/dist/timerManager.js.map +0 -1
  129. package/dist/types.d.ts +0 -132
  130. package/dist/types.d.ts.map +0 -1
  131. package/dist/types.js +0 -7
  132. package/dist/types.js.map +0 -1
  133. package/dist/validatableTypes.d.ts +0 -69
  134. package/dist/validatableTypes.d.ts.map +0 -1
  135. package/dist/validatableTypes.js +0 -7
  136. package/dist/validatableTypes.js.map +0 -1
  137. package/dist/validatedGetter.d.ts +0 -18
  138. package/dist/validatedGetter.d.ts.map +0 -1
  139. package/dist/validatedGetter.js +0 -43
  140. package/dist/validatedGetter.js.map +0 -1
  141. package/dist/valueManager.d.ts +0 -15
  142. package/dist/valueManager.d.ts.map +0 -1
  143. package/dist/valueManager.js +0 -22
  144. package/dist/valueManager.js.map +0 -1
  145. package/lib/baseTypes.d.ts +0 -24
  146. package/lib/baseTypes.d.ts.map +0 -1
  147. package/lib/baseTypes.js +0 -6
  148. package/lib/baseTypes.js.map +0 -1
  149. package/lib/broadcastControls.d.ts +0 -37
  150. package/lib/broadcastControls.d.ts.map +0 -1
  151. package/lib/broadcastControls.js +0 -55
  152. package/lib/broadcastControls.js.map +0 -1
  153. package/lib/broadcastControlsTypes.d.ts +0 -38
  154. package/lib/broadcastControlsTypes.d.ts.map +0 -1
  155. package/lib/broadcastControlsTypes.js +0 -6
  156. package/lib/broadcastControlsTypes.js.map +0 -1
  157. package/lib/exposedInternalTypes.d.ts +0 -138
  158. package/lib/exposedInternalTypes.d.ts.map +0 -1
  159. package/lib/exposedInternalTypes.js +0 -16
  160. package/lib/exposedInternalTypes.js.map +0 -1
  161. package/lib/exposedUtilityTypes.d.ts +0 -108
  162. package/lib/exposedUtilityTypes.d.ts.map +0 -1
  163. package/lib/exposedUtilityTypes.js +0 -6
  164. package/lib/exposedUtilityTypes.js.map +0 -1
  165. package/lib/internalUtils.d.ts +0 -125
  166. package/lib/internalUtils.d.ts.map +0 -1
  167. package/lib/internalUtils.js +0 -90
  168. package/lib/internalUtils.js.map +0 -1
  169. package/lib/latestMapTypes.d.ts +0 -343
  170. package/lib/latestMapTypes.d.ts.map +0 -1
  171. package/lib/latestMapTypes.js +0 -6
  172. package/lib/latestMapTypes.js.map +0 -1
  173. package/lib/latestMapValueManager.d.ts +0 -52
  174. package/lib/latestMapValueManager.d.ts.map +0 -1
  175. package/lib/latestMapValueManager.js +0 -246
  176. package/lib/latestMapValueManager.js.map +0 -1
  177. package/lib/latestTypes.d.ts +0 -183
  178. package/lib/latestTypes.d.ts.map +0 -1
  179. package/lib/latestTypes.js +0 -6
  180. package/lib/latestTypes.js.map +0 -1
  181. package/lib/latestValueManager.d.ts +0 -10
  182. package/lib/latestValueManager.d.ts.map +0 -1
  183. package/lib/latestValueManager.js +0 -113
  184. package/lib/latestValueManager.js.map +0 -1
  185. package/lib/latestValueTypes.d.ts +0 -108
  186. package/lib/latestValueTypes.d.ts.map +0 -1
  187. package/lib/latestValueTypes.js +0 -6
  188. package/lib/latestValueTypes.js.map +0 -1
  189. package/lib/notificationsManager.d.ts +0 -27
  190. package/lib/notificationsManager.d.ts.map +0 -1
  191. package/lib/notificationsManager.js +0 -94
  192. package/lib/notificationsManager.js.map +0 -1
  193. package/lib/notificationsManagerTypes.d.ts +0 -144
  194. package/lib/notificationsManagerTypes.d.ts.map +0 -1
  195. package/lib/notificationsManagerTypes.js +0 -6
  196. package/lib/notificationsManagerTypes.js.map +0 -1
  197. package/lib/packageVersion.d.ts +0 -9
  198. package/lib/packageVersion.d.ts.map +0 -1
  199. package/lib/packageVersion.js +0 -9
  200. package/lib/packageVersion.js.map +0 -1
  201. package/lib/presence.d.ts +0 -229
  202. package/lib/presence.d.ts.map +0 -1
  203. package/lib/presence.js +0 -20
  204. package/lib/presence.js.map +0 -1
  205. package/lib/presenceDatastoreManager.d.ts +0 -149
  206. package/lib/presenceDatastoreManager.d.ts.map +0 -1
  207. package/lib/presenceDatastoreManager.js +0 -663
  208. package/lib/presenceDatastoreManager.js.map +0 -1
  209. package/lib/presenceManager.d.ts +0 -16
  210. package/lib/presenceManager.d.ts.map +0 -1
  211. package/lib/presenceManager.js +0 -136
  212. package/lib/presenceManager.js.map +0 -1
  213. package/lib/presenceStates.d.ts +0 -102
  214. package/lib/presenceStates.d.ts.map +0 -1
  215. package/lib/presenceStates.js +0 -225
  216. package/lib/presenceStates.js.map +0 -1
  217. package/lib/protocol.d.ts +0 -111
  218. package/lib/protocol.d.ts.map +0 -1
  219. package/lib/protocol.js +0 -17
  220. package/lib/protocol.js.map +0 -1
  221. package/lib/runtimeTypes.d.ts +0 -26
  222. package/lib/runtimeTypes.d.ts.map +0 -1
  223. package/lib/runtimeTypes.js +0 -6
  224. package/lib/runtimeTypes.js.map +0 -1
  225. package/lib/stateDatastore.d.ts +0 -56
  226. package/lib/stateDatastore.d.ts.map +0 -1
  227. package/lib/stateDatastore.js +0 -17
  228. package/lib/stateDatastore.js.map +0 -1
  229. package/lib/stateFactory.d.ts +0 -18
  230. package/lib/stateFactory.d.ts.map +0 -1
  231. package/lib/stateFactory.js +0 -20
  232. package/lib/stateFactory.js.map +0 -1
  233. package/lib/statesManagerTypes.d.ts +0 -27
  234. package/lib/statesManagerTypes.d.ts.map +0 -1
  235. package/lib/statesManagerTypes.js +0 -6
  236. package/lib/statesManagerTypes.js.map +0 -1
  237. package/lib/systemWorkspace.d.ts +0 -58
  238. package/lib/systemWorkspace.d.ts.map +0 -1
  239. package/lib/systemWorkspace.js +0 -261
  240. package/lib/systemWorkspace.js.map +0 -1
  241. package/lib/timerManager.d.ts +0 -37
  242. package/lib/timerManager.d.ts.map +0 -1
  243. package/lib/timerManager.js +0 -61
  244. package/lib/timerManager.js.map +0 -1
  245. package/lib/types.d.ts +0 -132
  246. package/lib/types.d.ts.map +0 -1
  247. package/lib/types.js +0 -6
  248. package/lib/types.js.map +0 -1
  249. package/lib/validatableTypes.d.ts +0 -69
  250. package/lib/validatableTypes.d.ts.map +0 -1
  251. package/lib/validatableTypes.js +0 -6
  252. package/lib/validatableTypes.js.map +0 -1
  253. package/lib/validatedGetter.d.ts +0 -18
  254. package/lib/validatedGetter.d.ts.map +0 -1
  255. package/lib/validatedGetter.js +0 -39
  256. package/lib/validatedGetter.js.map +0 -1
  257. package/lib/valueManager.d.ts +0 -15
  258. package/lib/valueManager.d.ts.map +0 -1
  259. package/lib/valueManager.js +0 -17
  260. package/lib/valueManager.js.map +0 -1
package/README.md CHANGED
@@ -203,7 +203,7 @@ function logOthersCounters(counterTracker: LatestMap<number, string>): void {
203
203
  To access Presence APIs, use `getPresence()` with any `IFluidContainer`.
204
204
 
205
205
  ```typescript
206
- import { getPresence } from "@fluidframework/presence/beta";
206
+ import { getPresence } from "fluid-framework";
207
207
 
208
208
  function usePresence(container: IFluidContainer): void {
209
209
  const presence = getPresence(container);
@@ -213,8 +213,8 @@ function usePresence(container: IFluidContainer): void {
213
213
  #### Schema Definition and Workspace
214
214
 
215
215
  ```typescript
216
- import type { Latest, LatestMap, Presence, StatesWorkspaceSchema } from "@fluidframework/presence/beta";
217
- import { StateFactory } from "@fluidframework/presence/beta";
216
+ import type { Latest, LatestMap, Presence, StatesWorkspaceSchema } from "@fluidframework/presence";
217
+ import { StateFactory } from "@fluidframework/presence";
218
218
 
219
219
  interface PointXY { x: number; y: number }
220
220
 
@@ -414,7 +414,7 @@ When making such a request please include if the configuration already works (an
414
414
 
415
415
  ### Supported Runtimes
416
416
 
417
- - NodeJs ^20.10.0 except that we will drop support for it [when NodeJs 20 loses its upstream support on 2026-04-30](https://github.com/nodejs/release#release-schedule), and will support a newer LTS version of NodeJS (22) at least 1 year before 20 is end-of-life. This same policy applies to NodeJS 22 when it is end of life (2027-04-30).
417
+ - NodeJs ^22.22.2 except that we will drop support for it [when NodeJs 22 loses its upstream support on 2027-04-30](https://github.com/nodejs/release#release-schedule), and will support a newer LTS version of NodeJS at least 1 year before 22 is end-of-life.
418
418
  - Running Fluid in a Node.js environment with the `--no-experimental-fetch` flag is not supported.
419
419
  - Modern browsers supporting the es2022 standard library: in response to asks we can add explicit support for using babel to polyfill to target specific standards or runtimes (meaning we can avoid/remove use of things that don't polyfill robustly, but otherwise target modern standards).
420
420
 
package/dist/alpha.d.ts CHANGED
@@ -17,7 +17,7 @@
17
17
  */
18
18
 
19
19
  export {
20
- // #region @beta APIs
20
+ // #region @public APIs
21
21
  Accessor,
22
22
  Attendee,
23
23
  AttendeeId,
@@ -64,7 +64,10 @@ export {
64
64
  StatesWorkspaceEntry,
65
65
  StatesWorkspaceSchema,
66
66
  ValueAccessor,
67
- WorkspaceAddress,
67
+ WorkspaceAddress,
68
+ // #endregion
69
+
70
+ // #region @beta APIs
68
71
  getPresence,
69
72
  // #endregion
70
73
 
@@ -80,7 +83,6 @@ export {
80
83
  NotificationsWithSubscriptionsConfiguration,
81
84
  NotificationsWorkspace,
82
85
  NotificationsWorkspaceSchema,
83
- PresenceWithNotifications,
84
- getPresenceAlpha
86
+ PresenceWithNotifications
85
87
  // #endregion
86
88
  } from "./index.js";
package/dist/beta.d.ts CHANGED
@@ -17,7 +17,7 @@
17
17
  */
18
18
 
19
19
  export {
20
- // #region @beta APIs
20
+ // #region @public APIs
21
21
  Accessor,
22
22
  Attendee,
23
23
  AttendeeId,
@@ -64,7 +64,10 @@ export {
64
64
  StatesWorkspaceEntry,
65
65
  StatesWorkspaceSchema,
66
66
  ValueAccessor,
67
- WorkspaceAddress,
67
+ WorkspaceAddress,
68
+ // #endregion
69
+
70
+ // #region @beta APIs
68
71
  getPresence
69
72
  // #endregion
70
73
  } from "./index.js";
@@ -2,25 +2,20 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
+ import type { Presence } from "@fluid-internal/presence-definitions";
5
6
  import type { IFluidContainer } from "@fluidframework/fluid-static";
6
7
  import type { IFluidDataStoreContext } from "@fluidframework/runtime-definitions/internal";
7
- import type { Presence, PresenceWithNotifications } from "./presence.js";
8
8
  /**
9
9
  * Acquire a {@link Presence} from a Fluid Container
10
10
  * @param fluidContainer - Fluid Container to acquire the map from
11
11
  * @returns the {@link Presence}
12
12
  *
13
13
  * @beta
14
- */
15
- export declare const getPresence: (fluidContainer: IFluidContainer) => Presence;
16
- /**
17
- * Acquire a {@link PresenceWithNotifications} from a Fluid Container
18
- * @param fluidContainer - Fluid Container to acquire the map from
19
- * @returns the {@link PresenceWithNotifications}
20
14
  *
21
- * @alpha
15
+ * @deprecated Import from `fluid-framework` instead. This export will be removed in the 2.110.0 release.
16
+ * See {@link https://github.com/microsoft/FluidFramework/issues/26397}
22
17
  */
23
- export declare function getPresenceAlpha(fluidContainer: IFluidContainer): PresenceWithNotifications;
18
+ export declare const getPresence: (fluidContainer: IFluidContainer) => Presence;
24
19
  /**
25
20
  * Get {@link Presence} from a Fluid Data Store Context
26
21
  *
@@ -1 +1 @@
1
- {"version":3,"file":"getPresence.d.ts","sourceRoot":"","sources":["../src/getPresence.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,KAAK,EAGX,sBAAsB,EACtB,MAAM,8CAA8C,CAAC;AAGtD,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAsIzE;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,cAAc,EAAE,eAAe,KAAK,QAA2B,CAAC;AAE3F;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,eAAe,GAAG,yBAAyB,CAO3F;AAWD;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,sBAAsB,GAAG,QAAQ,CAGzF"}
1
+ {"version":3,"file":"getPresence.d.ts","sourceRoot":"","sources":["../src/getPresence.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAMrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,KAAK,EAEX,sBAAsB,EACtB,MAAM,8CAA8C,CAAC;AAEtD;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,cAAc,EAAE,eAAe,KAAK,QAA2B,CAAC;AAW3F;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,sBAAsB,GAAG,QAAQ,CAGzF"}
@@ -4,101 +4,21 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.getPresenceFromDataStoreContext = exports.getPresenceAlpha = exports.getPresence = void 0;
7
+ exports.getPresenceFromDataStoreContext = exports.getPresence = void 0;
8
+ const extension_1 = require("@fluid-internal/presence-runtime/extension");
8
9
  const internal_1 = require("@fluidframework/core-utils/internal");
9
10
  const internal_2 = require("@fluidframework/fluid-static/internal");
10
- const packageVersion_js_1 = require("./packageVersion.js");
11
- const presenceManager_js_1 = require("./presenceManager.js");
12
- const presenceCompatibility = {
13
- generation: 1,
14
- version: packageVersion_js_1.pkgVersion,
15
- capabilities: new Set([]),
16
- };
17
- /**
18
- * Minimal compatible package version.
19
- * If an existing presence extension is registered with this version or higher,
20
- * it can be used instead of instantiating new instance from this version of
21
- * the package (assuming also capabilities are compatible).
22
- */
23
- const minimalCompatiblePackageVersion = "2.71.0";
24
- function assertCompatibilityInvariants(compatibility) {
25
- (0, internal_1.assert)(compatibility.generation === presenceCompatibility.generation, 0xc97 /* Presence compatibility generation mismatch. */);
26
- (0, internal_1.assert)(compatibility.version.startsWith("2."), 0xc98 /* Registered version is not major version 2. */);
27
- (0, internal_1.assert)(Number.parseFloat(compatibility.version.slice(2)) <
28
- Number.parseFloat(presenceCompatibility.version.slice(2)), 0xc99 /* Registered version is not less than the current version. */);
29
- (0, internal_1.assert)(presenceCompatibility.capabilities.size === 0, 0xc9a /* Presence capabilities should be empty. */);
30
- }
31
- /**
32
- * Common Presence manager for a container
33
- */
34
- class ContainerPresenceManager {
35
- constructor(host) {
36
- // ContainerExtensionFactory return elements
37
- this.compatibility = presenceCompatibility;
38
- this.extension = this;
39
- this.interface = this.manager = (0, presenceManager_js_1.createPresenceManager)({
40
- ...host,
41
- submitSignal: (message) => {
42
- host.submitAddressedSignal([], message);
43
- },
44
- });
45
- }
46
- handleVersionOrCapabilitiesMismatch(ourExistingInstantiation, newCompatibilityRequest) {
47
- (0, internal_1.assert)(ourExistingInstantiation.compatibility === presenceCompatibility, 0xc9b /* Presence extension called without own compatibility details */);
48
- assertCompatibilityInvariants(newCompatibilityRequest);
49
- // There have not yet been any changes that would require action to upgrade.
50
- // But also mixed runtime versions are not yet expected.
51
- (0, internal_1.fail)(0xcb1 /* Presence is only expected to be accessed with a single version. */);
52
- }
53
- onNewUse() {
54
- // No-op
55
- }
56
- processSignal(addressChain, message, local) {
57
- this.manager.processSignal(addressChain, message, local);
58
- }
59
- }
60
- const extensionId = "dis:bb89f4c0-80fd-4f0c-8469-4f2848ee7f4a";
61
- const ContainerPresenceFactory = {
62
- hostRequirements: {
63
- minSupportedGeneration: 1,
64
- requiredFeatures: [],
65
- },
66
- instanceExpectations: { ...presenceCompatibility, version: minimalCompatiblePackageVersion },
67
- resolvePriorInstantiation(existingInstantiation) {
68
- // Validate assumptions about existing instance
69
- assertCompatibilityInvariants(existingInstantiation.compatibility);
70
- // There have not yet been any changes that would require action to upgrade.
71
- // But also mixed runtime versions are not yet expected.
72
- (0, internal_1.fail)(0xcb2 /* Presence is only expected to be accessed with a single version. */);
73
- },
74
- instantiateExtension(host) {
75
- return new ContainerPresenceManager(host);
76
- },
77
- [Symbol.hasInstance]: (instance) => {
78
- return instance instanceof ContainerPresenceManager;
79
- },
80
- };
81
11
  /**
82
12
  * Acquire a {@link Presence} from a Fluid Container
83
13
  * @param fluidContainer - Fluid Container to acquire the map from
84
14
  * @returns the {@link Presence}
85
15
  *
86
16
  * @beta
87
- */
88
- exports.getPresence = getPresenceAlpha;
89
- /**
90
- * Acquire a {@link PresenceWithNotifications} from a Fluid Container
91
- * @param fluidContainer - Fluid Container to acquire the map from
92
- * @returns the {@link PresenceWithNotifications}
93
17
  *
94
- * @alpha
18
+ * @deprecated Import from `fluid-framework` instead. This export will be removed in the 2.110.0 release.
19
+ * See {@link https://github.com/microsoft/FluidFramework/issues/26397}
95
20
  */
96
- function getPresenceAlpha(fluidContainer) {
97
- (0, internal_1.assert)((0, internal_2.isInternalFluidContainer)(fluidContainer), 0xa2f /* IFluidContainer was not recognized. Only Containers generated by the Fluid Framework are supported. */);
98
- const presence = fluidContainer.acquireExtension(extensionId, ContainerPresenceFactory);
99
- return presence;
100
- }
101
- exports.getPresenceAlpha = getPresenceAlpha;
21
+ exports.getPresence = internal_2.getPresenceAlpha;
102
22
  function assertContextHasExtensionProvider(context) {
103
23
  (0, internal_1.assert)("getExtension" in context, 0xc9c /* Data store context does not implement ContainerExtensionProvider */);
104
24
  }
@@ -109,7 +29,7 @@ function assertContextHasExtensionProvider(context) {
109
29
  */
110
30
  function getPresenceFromDataStoreContext(context) {
111
31
  assertContextHasExtensionProvider(context);
112
- return context.getExtension(extensionId, ContainerPresenceFactory);
32
+ return context.getExtension(extension_1.extensionId, extension_1.ContainerPresenceFactory);
113
33
  }
114
34
  exports.getPresenceFromDataStoreContext = getPresenceFromDataStoreContext;
115
35
  //# sourceMappingURL=getPresence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPresence.js","sourceRoot":"","sources":["../src/getPresence.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { ILayerCompatSupportRequirements } from \"@fluid-internal/client-utils\";\nimport type {\n\tContainerExtension,\n\tContainerExtensionFactory,\n\tExtensionInstantiationResult,\n\tExtensionRuntimeProperties as GenericExtensionRuntimeProperties,\n\tInboundExtensionMessage,\n} from \"@fluidframework/container-runtime-definitions/internal\";\nimport { assert, fail } from \"@fluidframework/core-utils/internal\";\nimport type { IFluidContainer } from \"@fluidframework/fluid-static\";\nimport { isInternalFluidContainer } from \"@fluidframework/fluid-static/internal\";\nimport type {\n\tExtensionCompatibilityDetails,\n\tFluidDataStoreContextInternal,\n\tIFluidDataStoreContext,\n} from \"@fluidframework/runtime-definitions/internal\";\n\nimport { pkgVersion } from \"./packageVersion.js\";\nimport type { Presence, PresenceWithNotifications } from \"./presence.js\";\nimport type { PresenceExtensionInterface } from \"./presenceManager.js\";\nimport { createPresenceManager } from \"./presenceManager.js\";\nimport type { SignalMessages } from \"./protocol.js\";\nimport type { ExtensionHost, ExtensionRuntimeProperties } from \"./runtimeTypes.js\";\n\nconst presenceCompatibility = {\n\tgeneration: 1,\n\tversion: pkgVersion,\n\tcapabilities: new Set([]),\n} as const satisfies ExtensionCompatibilityDetails;\n\n/**\n * Minimal compatible package version.\n * If an existing presence extension is registered with this version or higher,\n * it can be used instead of instantiating new instance from this version of\n * the package (assuming also capabilities are compatible).\n */\nconst minimalCompatiblePackageVersion = \"2.71.0\";\n\nfunction assertCompatibilityInvariants(compatibility: ExtensionCompatibilityDetails): void {\n\tassert(\n\t\tcompatibility.generation === presenceCompatibility.generation,\n\t\t0xc97 /* Presence compatibility generation mismatch. */,\n\t);\n\tassert(\n\t\tcompatibility.version.startsWith(\"2.\"),\n\t\t0xc98 /* Registered version is not major version 2. */,\n\t);\n\tassert(\n\t\tNumber.parseFloat(compatibility.version.slice(2)) <\n\t\t\tNumber.parseFloat(presenceCompatibility.version.slice(2)),\n\t\t0xc99 /* Registered version is not less than the current version. */,\n\t);\n\tassert(\n\t\tpresenceCompatibility.capabilities.size === 0,\n\t\t0xc9a /* Presence capabilities should be empty. */,\n\t);\n}\n\n/**\n * Common Presence manager for a container\n */\nclass ContainerPresenceManager\n\timplements\n\t\tContainerExtension<ExtensionRuntimeProperties>,\n\t\tReturnType<\n\t\t\tContainerExtensionFactory<\n\t\t\t\tPresenceWithNotifications,\n\t\t\t\tExtensionRuntimeProperties\n\t\t\t>[\"instantiateExtension\"]\n\t\t>\n{\n\t// ContainerExtensionFactory return elements\n\tpublic readonly compatibility = presenceCompatibility;\n\tpublic readonly interface: PresenceWithNotifications;\n\tpublic readonly extension = this;\n\n\tprivate readonly manager: PresenceExtensionInterface;\n\n\tpublic constructor(host: ExtensionHost) {\n\t\tthis.interface = this.manager = createPresenceManager({\n\t\t\t...host,\n\t\t\tsubmitSignal: (message) => {\n\t\t\t\thost.submitAddressedSignal([], message);\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic handleVersionOrCapabilitiesMismatch<_TRequestedInterface>(\n\t\tourExistingInstantiation: Readonly<\n\t\t\tExtensionInstantiationResult<PresenceWithNotifications, ExtensionRuntimeProperties, []>\n\t\t>,\n\t\tnewCompatibilityRequest: ExtensionCompatibilityDetails,\n\t): never {\n\t\tassert(\n\t\t\tourExistingInstantiation.compatibility === presenceCompatibility,\n\t\t\t0xc9b /* Presence extension called without own compatibility details */,\n\t\t);\n\t\tassertCompatibilityInvariants(newCompatibilityRequest);\n\t\t// There have not yet been any changes that would require action to upgrade.\n\t\t// But also mixed runtime versions are not yet expected.\n\t\tfail(0xcb1 /* Presence is only expected to be accessed with a single version. */);\n\t}\n\n\tpublic onNewUse(): void {\n\t\t// No-op\n\t}\n\n\tpublic processSignal(\n\t\taddressChain: string[],\n\t\tmessage: InboundExtensionMessage<SignalMessages>,\n\t\tlocal: boolean,\n\t): void {\n\t\tthis.manager.processSignal(addressChain, message, local);\n\t}\n}\n\nconst extensionId = \"dis:bb89f4c0-80fd-4f0c-8469-4f2848ee7f4a\";\n\nconst ContainerPresenceFactory = {\n\thostRequirements: {\n\t\tminSupportedGeneration: 1,\n\t\trequiredFeatures: [],\n\t} as const satisfies ILayerCompatSupportRequirements,\n\n\tinstanceExpectations: { ...presenceCompatibility, version: minimalCompatiblePackageVersion },\n\n\tresolvePriorInstantiation(\n\t\texistingInstantiation: ExtensionInstantiationResult<\n\t\t\tunknown,\n\t\t\tGenericExtensionRuntimeProperties,\n\t\t\tunknown[]\n\t\t>,\n\t): never {\n\t\t// Validate assumptions about existing instance\n\t\tassertCompatibilityInvariants(existingInstantiation.compatibility);\n\t\t// There have not yet been any changes that would require action to upgrade.\n\t\t// But also mixed runtime versions are not yet expected.\n\t\tfail(0xcb2 /* Presence is only expected to be accessed with a single version. */);\n\t},\n\n\tinstantiateExtension(host: ExtensionHost): ContainerPresenceManager {\n\t\treturn new ContainerPresenceManager(host);\n\t},\n\n\t[Symbol.hasInstance]: (instance: unknown): instance is ContainerPresenceManager => {\n\t\treturn instance instanceof ContainerPresenceManager;\n\t},\n} as const satisfies ContainerExtensionFactory<\n\tPresenceWithNotifications,\n\tExtensionRuntimeProperties\n>;\n\n/**\n * Acquire a {@link Presence} from a Fluid Container\n * @param fluidContainer - Fluid Container to acquire the map from\n * @returns the {@link Presence}\n *\n * @beta\n */\nexport const getPresence: (fluidContainer: IFluidContainer) => Presence = getPresenceAlpha;\n\n/**\n * Acquire a {@link PresenceWithNotifications} from a Fluid Container\n * @param fluidContainer - Fluid Container to acquire the map from\n * @returns the {@link PresenceWithNotifications}\n *\n * @alpha\n */\nexport function getPresenceAlpha(fluidContainer: IFluidContainer): PresenceWithNotifications {\n\tassert(\n\t\tisInternalFluidContainer(fluidContainer),\n\t\t0xa2f /* IFluidContainer was not recognized. Only Containers generated by the Fluid Framework are supported. */,\n\t);\n\tconst presence = fluidContainer.acquireExtension(extensionId, ContainerPresenceFactory);\n\treturn presence;\n}\n\nfunction assertContextHasExtensionProvider(\n\tcontext: IFluidDataStoreContext,\n): asserts context is FluidDataStoreContextInternal {\n\tassert(\n\t\t\"getExtension\" in context,\n\t\t0xc9c /* Data store context does not implement ContainerExtensionProvider */,\n\t);\n}\n\n/**\n * Get {@link Presence} from a Fluid Data Store Context\n *\n * @legacy @alpha\n */\nexport function getPresenceFromDataStoreContext(context: IFluidDataStoreContext): Presence {\n\tassertContextHasExtensionProvider(context);\n\treturn context.getExtension(extensionId, ContainerPresenceFactory);\n}\n"]}
1
+ {"version":3,"file":"getPresence.js","sourceRoot":"","sources":["../src/getPresence.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,0EAGoD;AACpD,kEAA6D;AAE7D,oEAAyE;AAMzE;;;;;;;;;GASG;AACU,QAAA,WAAW,GAAkD,2BAAgB,CAAC;AAE3F,SAAS,iCAAiC,CACzC,OAA+B;IAE/B,IAAA,iBAAM,EACL,cAAc,IAAI,OAAO,EACzB,KAAK,CAAC,sEAAsE,CAC5E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,+BAA+B,CAAC,OAA+B;IAC9E,iCAAiC,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC,YAAY,CAAC,uBAAW,EAAE,oCAAwB,CAAC,CAAC;AACpE,CAAC;AAHD,0EAGC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { Presence } from \"@fluid-internal/presence-definitions\";\nimport {\n\tContainerPresenceFactory,\n\textensionId,\n} from \"@fluid-internal/presence-runtime/extension\";\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport type { IFluidContainer } from \"@fluidframework/fluid-static\";\nimport { getPresenceAlpha } from \"@fluidframework/fluid-static/internal\";\nimport type {\n\tFluidDataStoreContextInternal,\n\tIFluidDataStoreContext,\n} from \"@fluidframework/runtime-definitions/internal\";\n\n/**\n * Acquire a {@link Presence} from a Fluid Container\n * @param fluidContainer - Fluid Container to acquire the map from\n * @returns the {@link Presence}\n *\n * @beta\n *\n * @deprecated Import from `fluid-framework` instead. This export will be removed in the 2.110.0 release.\n * See {@link https://github.com/microsoft/FluidFramework/issues/26397}\n */\nexport const getPresence: (fluidContainer: IFluidContainer) => Presence = getPresenceAlpha;\n\nfunction assertContextHasExtensionProvider(\n\tcontext: IFluidDataStoreContext,\n): asserts context is FluidDataStoreContextInternal {\n\tassert(\n\t\t\"getExtension\" in context,\n\t\t0xc9c /* Data store context does not implement ContainerExtensionProvider */,\n\t);\n}\n\n/**\n * Get {@link Presence} from a Fluid Data Store Context\n *\n * @legacy @alpha\n */\nexport function getPresenceFromDataStoreContext(context: IFluidDataStoreContext): Presence {\n\tassertContextHasExtensionProvider(context);\n\treturn context.getExtension(extensionId, ContainerPresenceFactory);\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -9,17 +9,8 @@
9
9
  *
10
10
  * @packageDocumentation
11
11
  */
12
- export type { ClientConnectionId } from "./baseTypes.js";
13
- export type { NotificationsWorkspace, NotificationsWorkspaceSchema, StatesWorkspace, StatesWorkspaceEntries, StatesWorkspaceSchema, StatesWorkspaceEntry, WorkspaceAddress, } from "./types.js";
14
- export { type Attendee, type AttendeesEvents, type AttendeeId, AttendeeStatus, type Presence, type PresenceEvents, type PresenceWithNotifications, } from "./presence.js";
15
- export type { BroadcastControls, BroadcastControlSettings, } from "./broadcastControlsTypes.js";
16
- export { getPresence, getPresenceAlpha, getPresenceFromDataStoreContext, } from "./getPresence.js";
17
- export type { KeySchemaValidator, LatestMap, LatestMapArguments, LatestMapArgumentsRaw, LatestMapClientData, LatestMapConfiguration, LatestMapEvents, LatestMapFactory, LatestMapItemRemovedClientData, LatestMapItemUpdatedClientData, LatestMapRaw, LatestMapRawConfiguration, LatestMapRawEvents, StateMap, } from "./latestMapTypes.js";
18
- export type { Latest, LatestArguments, LatestArgumentsRaw, LatestConfiguration, LatestEvents, LatestFactory, LatestRaw, LatestRawConfiguration, LatestRawEvents, } from "./latestTypes.js";
19
- export type { Accessor, LatestClientData, LatestData, LatestMetadata, ProxiedValueAccessor, RawValueAccessor, StateSchemaValidator, ValueAccessor, } from "./latestValueTypes.js";
20
- export { Notifications } from "./notificationsManager.js";
21
- export type { NotificationEmitter, NotificationListenable, NotificationsConfiguration, NotificationSubscriberSignatures, NotificationsManager, NotificationsManagerEvents, NotificationsWithSubscriptionsConfiguration, } from "./notificationsManagerTypes.js";
22
- export { StateFactory } from "./stateFactory.js";
23
- export type { InternalTypes as InternalPresenceTypes } from "./exposedInternalTypes.js";
24
- export type { InternalUtilityTypes as InternalPresenceUtilityTypes } from "./exposedUtilityTypes.js";
12
+ export type { Accessor, Attendee, AttendeeId, AttendeesEvents, BroadcastControls, BroadcastControlSettings, ClientConnectionId, InternalPresenceTypes, InternalPresenceUtilityTypes, KeySchemaValidator, Latest, LatestArguments, LatestArgumentsRaw, LatestClientData, LatestConfiguration, LatestData, LatestEvents, LatestFactory, LatestMap, LatestMapArguments, LatestMapArgumentsRaw, LatestMapClientData, LatestMapConfiguration, LatestMapEvents, LatestMapFactory, LatestMapItemRemovedClientData, LatestMapItemUpdatedClientData, LatestMapRaw, LatestMapRawConfiguration, LatestMapRawEvents, LatestMetadata, LatestRaw, LatestRawConfiguration, LatestRawEvents, NotificationEmitter, NotificationListenable, NotificationsConfiguration, NotificationsManager, NotificationsManagerEvents, NotificationSubscriberSignatures, NotificationsWithSubscriptionsConfiguration, NotificationsWorkspace, NotificationsWorkspaceSchema, Presence, PresenceEvents, PresenceWithNotifications, ProxiedValueAccessor, RawValueAccessor, StateMap, StateSchemaValidator, StatesWorkspace, StatesWorkspaceEntries, StatesWorkspaceEntry, StatesWorkspaceSchema, ValueAccessor, WorkspaceAddress, } from "@fluid-internal/presence-definitions";
13
+ export { AttendeeStatus } from "@fluid-internal/presence-definitions";
14
+ export { Notifications, StateFactory, } from "@fluid-internal/presence-runtime/states";
15
+ export { getPresence, getPresenceFromDataStoreContext, } from "./getPresence.js";
25
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AAEH,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,YAAY,EACX,sBAAsB,EACtB,4BAA4B,EAC5B,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACN,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,yBAAyB,GAC9B,MAAM,eAAe,CAAC;AAEvB,YAAY,EACX,iBAAiB,EACjB,wBAAwB,GACxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACN,WAAW,EACX,gBAAgB,EAChB,+BAA+B,GAC/B,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACX,kBAAkB,EAClB,SAAS,EACT,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,8BAA8B,EAC9B,8BAA8B,EAC9B,YAAY,EACZ,yBAAyB,EACzB,kBAAkB,EAClB,QAAQ,GACR,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACX,MAAM,EACN,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,SAAS,EACT,sBAAsB,EACtB,eAAe,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACX,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,GACb,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,YAAY,EACX,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,gCAAgC,EAChC,oBAAoB,EACpB,0BAA0B,EAC1B,2CAA2C,GAC3C,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,YAAY,EAAE,aAAa,IAAI,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACxF,YAAY,EAAE,oBAAoB,IAAI,4BAA4B,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AAGH,YAAY,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,MAAM,EACN,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,8BAA8B,EAC9B,8BAA8B,EAC9B,YAAY,EACZ,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,gCAAgC,EAChC,2CAA2C,EAC3C,sBAAsB,EACtB,4BAA4B,EAC5B,QAAQ,EACR,cAAc,EACd,yBAAyB,EACzB,oBAAoB,EACpB,gBAAgB,EAChB,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,GAChB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAGtE,OAAO,EACN,aAAa,EACb,YAAY,GACZ,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EACN,WAAW,EACX,+BAA+B,GAC/B,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -4,15 +4,15 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.StateFactory = exports.Notifications = exports.getPresenceFromDataStoreContext = exports.getPresenceAlpha = exports.getPresence = exports.AttendeeStatus = void 0;
8
- var presence_js_1 = require("./presence.js");
9
- Object.defineProperty(exports, "AttendeeStatus", { enumerable: true, get: function () { return presence_js_1.AttendeeStatus; } });
7
+ exports.getPresenceFromDataStoreContext = exports.getPresence = exports.StateFactory = exports.Notifications = exports.AttendeeStatus = void 0;
8
+ var presence_definitions_1 = require("@fluid-internal/presence-definitions");
9
+ Object.defineProperty(exports, "AttendeeStatus", { enumerable: true, get: function () { return presence_definitions_1.AttendeeStatus; } });
10
+ // Re-export from presence-runtime
11
+ var states_1 = require("@fluid-internal/presence-runtime/states");
12
+ Object.defineProperty(exports, "Notifications", { enumerable: true, get: function () { return states_1.Notifications; } });
13
+ Object.defineProperty(exports, "StateFactory", { enumerable: true, get: function () { return states_1.StateFactory; } });
14
+ // Local exports
10
15
  var getPresence_js_1 = require("./getPresence.js");
11
16
  Object.defineProperty(exports, "getPresence", { enumerable: true, get: function () { return getPresence_js_1.getPresence; } });
12
- Object.defineProperty(exports, "getPresenceAlpha", { enumerable: true, get: function () { return getPresence_js_1.getPresenceAlpha; } });
13
17
  Object.defineProperty(exports, "getPresenceFromDataStoreContext", { enumerable: true, get: function () { return getPresence_js_1.getPresenceFromDataStoreContext; } });
14
- var notificationsManager_js_1 = require("./notificationsManager.js");
15
- Object.defineProperty(exports, "Notifications", { enumerable: true, get: function () { return notificationsManager_js_1.Notifications; } });
16
- var stateFactory_js_1 = require("./stateFactory.js");
17
- Object.defineProperty(exports, "StateFactory", { enumerable: true, get: function () { return stateFactory_js_1.StateFactory; } });
18
18
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAsBH,6CAQuB;AAJtB,6GAAA,cAAc,OAAA;AAWf,mDAI0B;AAHzB,6GAAA,WAAW,OAAA;AACX,kHAAA,gBAAgB,OAAA;AAChB,iIAAA,+BAA+B,OAAA;AAyChC,qEAA0D;AAAjD,wHAAA,aAAa,OAAA;AAWtB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Package for client presence within a connected session.\n *\n * See {@link https://github.com/microsoft/FluidFramework/tree/main/packages/framework/presence#readme | README.md } for an overview of the package.\n *\n * @packageDocumentation\n */\n\nexport type { ClientConnectionId } from \"./baseTypes.js\";\n\nexport type {\n\tNotificationsWorkspace,\n\tNotificationsWorkspaceSchema,\n\tStatesWorkspace,\n\tStatesWorkspaceEntries,\n\tStatesWorkspaceSchema,\n\tStatesWorkspaceEntry,\n\tWorkspaceAddress,\n} from \"./types.js\";\n\nexport {\n\ttype Attendee,\n\ttype AttendeesEvents,\n\ttype AttendeeId,\n\tAttendeeStatus,\n\ttype Presence,\n\ttype PresenceEvents,\n\ttype PresenceWithNotifications,\n} from \"./presence.js\";\n\nexport type {\n\tBroadcastControls,\n\tBroadcastControlSettings,\n} from \"./broadcastControlsTypes.js\";\n\nexport {\n\tgetPresence,\n\tgetPresenceAlpha,\n\tgetPresenceFromDataStoreContext,\n} from \"./getPresence.js\";\n\nexport type {\n\tKeySchemaValidator,\n\tLatestMap,\n\tLatestMapArguments,\n\tLatestMapArgumentsRaw,\n\tLatestMapClientData,\n\tLatestMapConfiguration,\n\tLatestMapEvents,\n\tLatestMapFactory,\n\tLatestMapItemRemovedClientData,\n\tLatestMapItemUpdatedClientData,\n\tLatestMapRaw,\n\tLatestMapRawConfiguration,\n\tLatestMapRawEvents,\n\tStateMap,\n} from \"./latestMapTypes.js\";\nexport type {\n\tLatest,\n\tLatestArguments,\n\tLatestArgumentsRaw,\n\tLatestConfiguration,\n\tLatestEvents,\n\tLatestFactory,\n\tLatestRaw,\n\tLatestRawConfiguration,\n\tLatestRawEvents,\n} from \"./latestTypes.js\";\nexport type {\n\tAccessor,\n\tLatestClientData,\n\tLatestData,\n\tLatestMetadata,\n\tProxiedValueAccessor,\n\tRawValueAccessor,\n\tStateSchemaValidator,\n\tValueAccessor,\n} from \"./latestValueTypes.js\";\n\nexport { Notifications } from \"./notificationsManager.js\";\nexport type {\n\tNotificationEmitter,\n\tNotificationListenable,\n\tNotificationsConfiguration,\n\tNotificationSubscriberSignatures,\n\tNotificationsManager,\n\tNotificationsManagerEvents,\n\tNotificationsWithSubscriptionsConfiguration,\n} from \"./notificationsManagerTypes.js\";\n\nexport { StateFactory } from \"./stateFactory.js\";\n\nexport type { InternalTypes as InternalPresenceTypes } from \"./exposedInternalTypes.js\";\nexport type { InternalUtilityTypes as InternalPresenceUtilityTypes } from \"./exposedUtilityTypes.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAqEH,6EAAsE;AAA7D,sHAAA,cAAc,OAAA;AAEvB,kCAAkC;AAClC,kEAGiD;AAFhD,uGAAA,aAAa,OAAA;AACb,sGAAA,YAAY,OAAA;AAGb,gBAAgB;AAChB,mDAG0B;AAFzB,6GAAA,WAAW,OAAA;AACX,iIAAA,+BAA+B,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Package for client presence within a connected session.\n *\n * See {@link https://github.com/microsoft/FluidFramework/tree/main/packages/framework/presence#readme | README.md } for an overview of the package.\n *\n * @packageDocumentation\n */\n\n// Re-export from presence-definitions\nexport type {\n\tAccessor,\n\tAttendee,\n\tAttendeeId,\n\tAttendeesEvents,\n\tBroadcastControls,\n\tBroadcastControlSettings,\n\tClientConnectionId,\n\tInternalPresenceTypes,\n\tInternalPresenceUtilityTypes,\n\tKeySchemaValidator,\n\tLatest,\n\tLatestArguments,\n\tLatestArgumentsRaw,\n\tLatestClientData,\n\tLatestConfiguration,\n\tLatestData,\n\tLatestEvents,\n\tLatestFactory,\n\tLatestMap,\n\tLatestMapArguments,\n\tLatestMapArgumentsRaw,\n\tLatestMapClientData,\n\tLatestMapConfiguration,\n\tLatestMapEvents,\n\tLatestMapFactory,\n\tLatestMapItemRemovedClientData,\n\tLatestMapItemUpdatedClientData,\n\tLatestMapRaw,\n\tLatestMapRawConfiguration,\n\tLatestMapRawEvents,\n\tLatestMetadata,\n\tLatestRaw,\n\tLatestRawConfiguration,\n\tLatestRawEvents,\n\tNotificationEmitter,\n\tNotificationListenable,\n\tNotificationsConfiguration,\n\tNotificationsManager,\n\tNotificationsManagerEvents,\n\tNotificationSubscriberSignatures,\n\tNotificationsWithSubscriptionsConfiguration,\n\tNotificationsWorkspace,\n\tNotificationsWorkspaceSchema,\n\tPresence,\n\tPresenceEvents,\n\tPresenceWithNotifications,\n\tProxiedValueAccessor,\n\tRawValueAccessor,\n\tStateMap,\n\tStateSchemaValidator,\n\tStatesWorkspace,\n\tStatesWorkspaceEntries,\n\tStatesWorkspaceEntry,\n\tStatesWorkspaceSchema,\n\tValueAccessor,\n\tWorkspaceAddress,\n} from \"@fluid-internal/presence-definitions\";\nexport { AttendeeStatus } from \"@fluid-internal/presence-definitions\";\n\n// Re-export from presence-runtime\nexport {\n\tNotifications,\n\tStateFactory,\n} from \"@fluid-internal/presence-runtime/states\";\n\n// Local exports\nexport {\n\tgetPresence,\n\tgetPresenceFromDataStoreContext,\n} from \"./getPresence.js\";\n"]}
@@ -17,7 +17,7 @@
17
17
  */
18
18
 
19
19
  export {
20
- // #region @beta APIs
20
+ // #region @public APIs
21
21
  Accessor,
22
22
  Attendee,
23
23
  AttendeeId,
@@ -64,7 +64,10 @@ export {
64
64
  StatesWorkspaceEntry,
65
65
  StatesWorkspaceSchema,
66
66
  ValueAccessor,
67
- WorkspaceAddress,
67
+ WorkspaceAddress,
68
+ // #endregion
69
+
70
+ // #region @beta APIs
68
71
  getPresence,
69
72
  // #endregion
70
73
 
@@ -80,8 +83,7 @@ export {
80
83
  NotificationsWithSubscriptionsConfiguration,
81
84
  NotificationsWorkspace,
82
85
  NotificationsWorkspaceSchema,
83
- PresenceWithNotifications,
84
- getPresenceAlpha,
86
+ PresenceWithNotifications,
85
87
  // #endregion
86
88
 
87
89
  // #region @legacyAlpha APIs
package/dist/package.json CHANGED
@@ -1,18 +1,4 @@
1
1
  {
2
- "name": "@fluidframework/presence",
3
2
  "type": "commonjs",
4
- "exports": {
5
- "./beta": {
6
- "types": "./beta.d.ts",
7
- "default": "./index.js"
8
- },
9
- "./alpha": {
10
- "types": "./alpha.d.ts",
11
- "default": "./index.js"
12
- },
13
- "./legacy/alpha": {
14
- "types": "./legacy.alpha.d.ts",
15
- "default": "./index.js"
16
- }
17
- }
3
+ "sideEffects": false
18
4
  }
@@ -0,0 +1,69 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /*
7
+ * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
+ * Generated by "flub generate entrypoints --resolutionConditions require --outFileLegacyAlpha legacy.alpha --outDir ./dist" in @fluid-tools/build-cli.
9
+ */
10
+
11
+ /**
12
+ * Package for client presence within a connected session.
13
+ *
14
+ * See {@link https://github.com/microsoft/FluidFramework/tree/main/packages/framework/presence#readme | README.md } for an overview of the package.
15
+ *
16
+ * @packageDocumentation
17
+ */
18
+
19
+ export {
20
+ // #region @public APIs
21
+ Accessor,
22
+ Attendee,
23
+ AttendeeId,
24
+ AttendeeStatus,
25
+ AttendeesEvents,
26
+ BroadcastControlSettings,
27
+ BroadcastControls,
28
+ ClientConnectionId,
29
+ InternalPresenceTypes,
30
+ KeySchemaValidator,
31
+ Latest,
32
+ LatestArguments,
33
+ LatestArgumentsRaw,
34
+ LatestClientData,
35
+ LatestConfiguration,
36
+ LatestData,
37
+ LatestEvents,
38
+ LatestFactory,
39
+ LatestMap,
40
+ LatestMapArguments,
41
+ LatestMapArgumentsRaw,
42
+ LatestMapClientData,
43
+ LatestMapConfiguration,
44
+ LatestMapEvents,
45
+ LatestMapFactory,
46
+ LatestMapItemRemovedClientData,
47
+ LatestMapItemUpdatedClientData,
48
+ LatestMapRaw,
49
+ LatestMapRawConfiguration,
50
+ LatestMapRawEvents,
51
+ LatestMetadata,
52
+ LatestRaw,
53
+ LatestRawConfiguration,
54
+ LatestRawEvents,
55
+ Presence,
56
+ PresenceEvents,
57
+ ProxiedValueAccessor,
58
+ RawValueAccessor,
59
+ StateFactory,
60
+ StateMap,
61
+ StateSchemaValidator,
62
+ StatesWorkspace,
63
+ StatesWorkspaceEntries,
64
+ StatesWorkspaceEntry,
65
+ StatesWorkspaceSchema,
66
+ ValueAccessor,
67
+ WorkspaceAddress
68
+ // #endregion
69
+ } from "./index.js";
package/lib/alpha.d.ts CHANGED
@@ -17,7 +17,7 @@
17
17
  */
18
18
 
19
19
  export {
20
- // #region @beta APIs
20
+ // #region @public APIs
21
21
  Accessor,
22
22
  Attendee,
23
23
  AttendeeId,
@@ -64,7 +64,10 @@ export {
64
64
  StatesWorkspaceEntry,
65
65
  StatesWorkspaceSchema,
66
66
  ValueAccessor,
67
- WorkspaceAddress,
67
+ WorkspaceAddress,
68
+ // #endregion
69
+
70
+ // #region @beta APIs
68
71
  getPresence,
69
72
  // #endregion
70
73
 
@@ -80,7 +83,6 @@ export {
80
83
  NotificationsWithSubscriptionsConfiguration,
81
84
  NotificationsWorkspace,
82
85
  NotificationsWorkspaceSchema,
83
- PresenceWithNotifications,
84
- getPresenceAlpha
86
+ PresenceWithNotifications
85
87
  // #endregion
86
88
  } from "./index.js";
package/lib/beta.d.ts CHANGED
@@ -17,7 +17,7 @@
17
17
  */
18
18
 
19
19
  export {
20
- // #region @beta APIs
20
+ // #region @public APIs
21
21
  Accessor,
22
22
  Attendee,
23
23
  AttendeeId,
@@ -64,7 +64,10 @@ export {
64
64
  StatesWorkspaceEntry,
65
65
  StatesWorkspaceSchema,
66
66
  ValueAccessor,
67
- WorkspaceAddress,
67
+ WorkspaceAddress,
68
+ // #endregion
69
+
70
+ // #region @beta APIs
68
71
  getPresence
69
72
  // #endregion
70
73
  } from "./index.js";
@@ -2,25 +2,20 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
+ import type { Presence } from "@fluid-internal/presence-definitions";
5
6
  import type { IFluidContainer } from "@fluidframework/fluid-static";
6
7
  import type { IFluidDataStoreContext } from "@fluidframework/runtime-definitions/internal";
7
- import type { Presence, PresenceWithNotifications } from "./presence.js";
8
8
  /**
9
9
  * Acquire a {@link Presence} from a Fluid Container
10
10
  * @param fluidContainer - Fluid Container to acquire the map from
11
11
  * @returns the {@link Presence}
12
12
  *
13
13
  * @beta
14
- */
15
- export declare const getPresence: (fluidContainer: IFluidContainer) => Presence;
16
- /**
17
- * Acquire a {@link PresenceWithNotifications} from a Fluid Container
18
- * @param fluidContainer - Fluid Container to acquire the map from
19
- * @returns the {@link PresenceWithNotifications}
20
14
  *
21
- * @alpha
15
+ * @deprecated Import from `fluid-framework` instead. This export will be removed in the 2.110.0 release.
16
+ * See {@link https://github.com/microsoft/FluidFramework/issues/26397}
22
17
  */
23
- export declare function getPresenceAlpha(fluidContainer: IFluidContainer): PresenceWithNotifications;
18
+ export declare const getPresence: (fluidContainer: IFluidContainer) => Presence;
24
19
  /**
25
20
  * Get {@link Presence} from a Fluid Data Store Context
26
21
  *
@@ -1 +1 @@
1
- {"version":3,"file":"getPresence.d.ts","sourceRoot":"","sources":["../src/getPresence.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,KAAK,EAGX,sBAAsB,EACtB,MAAM,8CAA8C,CAAC;AAGtD,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAsIzE;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,cAAc,EAAE,eAAe,KAAK,QAA2B,CAAC;AAE3F;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,eAAe,GAAG,yBAAyB,CAO3F;AAWD;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,sBAAsB,GAAG,QAAQ,CAGzF"}
1
+ {"version":3,"file":"getPresence.d.ts","sourceRoot":"","sources":["../src/getPresence.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAMrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,KAAK,EAEX,sBAAsB,EACtB,MAAM,8CAA8C,CAAC;AAEtD;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,cAAc,EAAE,eAAe,KAAK,QAA2B,CAAC;AAW3F;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,sBAAsB,GAAG,QAAQ,CAGzF"}