jazz-tools 0.17.13 → 0.18.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 (228) hide show
  1. package/.svelte-kit/__package__/jazz.class.svelte.js +1 -1
  2. package/.svelte-kit/__package__/media/image.svelte +3 -9
  3. package/.svelte-kit/__package__/media/image.svelte.d.ts +1 -6
  4. package/.svelte-kit/__package__/media/image.svelte.d.ts.map +1 -1
  5. package/.svelte-kit/__package__/media/image.types.d.ts +7 -0
  6. package/.svelte-kit/__package__/media/image.types.d.ts.map +1 -0
  7. package/.svelte-kit/__package__/media/image.types.js +1 -0
  8. package/.svelte-kit/__package__/tests/media/image.svelte.test.js +31 -31
  9. package/.turbo/turbo-build.log +49 -49
  10. package/CHANGELOG.md +42 -0
  11. package/dist/browser/index.js +2 -2
  12. package/dist/browser/index.js.map +1 -1
  13. package/dist/{chunk-SFP5PBPX.js → chunk-HJ3GTGY7.js} +1325 -1001
  14. package/dist/chunk-HJ3GTGY7.js.map +1 -0
  15. package/dist/index.js +18 -18
  16. package/dist/index.js.map +1 -1
  17. package/dist/inspector/{custom-element-ZSNTCECD.js → custom-element-WCY6D3QJ.js} +3 -3
  18. package/dist/inspector/{custom-element-ZSNTCECD.js.map → custom-element-WCY6D3QJ.js.map} +1 -1
  19. package/dist/inspector/index.js +1 -1
  20. package/dist/inspector/index.js.map +1 -1
  21. package/dist/inspector/register-custom-element.js +1 -1
  22. package/dist/media/{chunk-E5J3WLQW.js → chunk-KR2V6X2N.js} +14 -9
  23. package/dist/media/chunk-KR2V6X2N.js.map +1 -0
  24. package/dist/media/create-image.d.ts +6 -6
  25. package/dist/media/index.browser.d.ts +6 -6
  26. package/dist/media/index.browser.js +1 -1
  27. package/dist/media/index.d.ts +1 -1
  28. package/dist/media/index.js +1 -1
  29. package/dist/media/index.native.d.ts +6 -6
  30. package/dist/media/index.native.js +1 -1
  31. package/dist/media/utils.d.ts.map +1 -1
  32. package/dist/prosemirror/index.js +2 -2
  33. package/dist/prosemirror/index.js.map +1 -1
  34. package/dist/react/index.js +7 -5
  35. package/dist/react/index.js.map +1 -1
  36. package/dist/react-core/hooks.d.ts.map +1 -1
  37. package/dist/react-core/index.js +4658 -23
  38. package/dist/react-core/index.js.map +1 -1
  39. package/dist/react-native-core/index.js +1 -1
  40. package/dist/react-native-core/index.js.map +1 -1
  41. package/dist/svelte/jazz.class.svelte.js +1 -1
  42. package/dist/svelte/media/image.svelte +3 -9
  43. package/dist/svelte/media/image.svelte.d.ts +1 -6
  44. package/dist/svelte/media/image.svelte.d.ts.map +1 -1
  45. package/dist/svelte/media/image.types.d.ts +7 -0
  46. package/dist/svelte/media/image.types.d.ts.map +1 -0
  47. package/dist/svelte/media/image.types.js +1 -0
  48. package/dist/svelte/tests/media/image.svelte.test.js +31 -31
  49. package/dist/testing.js +18 -14
  50. package/dist/testing.js.map +1 -1
  51. package/dist/tools/coValues/CoFieldInit.d.ts +13 -0
  52. package/dist/tools/coValues/CoFieldInit.d.ts.map +1 -0
  53. package/dist/tools/coValues/CoValueBase.d.ts +18 -15
  54. package/dist/tools/coValues/CoValueBase.d.ts.map +1 -1
  55. package/dist/tools/coValues/account.d.ts +100 -46
  56. package/dist/tools/coValues/account.d.ts.map +1 -1
  57. package/dist/tools/coValues/coFeed.d.ts +78 -62
  58. package/dist/tools/coValues/coFeed.d.ts.map +1 -1
  59. package/dist/tools/coValues/coList.d.ts +212 -99
  60. package/dist/tools/coValues/coList.d.ts.map +1 -1
  61. package/dist/tools/coValues/coMap.d.ts +200 -192
  62. package/dist/tools/coValues/coMap.d.ts.map +1 -1
  63. package/dist/tools/coValues/coPlainText.d.ts +30 -22
  64. package/dist/tools/coValues/coPlainText.d.ts.map +1 -1
  65. package/dist/tools/coValues/deepLoading.d.ts +13 -13
  66. package/dist/tools/coValues/deepLoading.d.ts.map +1 -1
  67. package/dist/tools/coValues/extensions/imageDef.d.ts +1 -1
  68. package/dist/tools/coValues/group.d.ts +32 -32
  69. package/dist/tools/coValues/group.d.ts.map +1 -1
  70. package/dist/tools/coValues/inbox.d.ts.map +1 -1
  71. package/dist/tools/coValues/interfaces.d.ts +18 -17
  72. package/dist/tools/coValues/interfaces.d.ts.map +1 -1
  73. package/dist/tools/coValues/profile.d.ts +6 -5
  74. package/dist/tools/coValues/profile.d.ts.map +1 -1
  75. package/dist/tools/coValues/schemaUnion.d.ts +3 -3
  76. package/dist/tools/coValues/schemaUnion.d.ts.map +1 -1
  77. package/dist/tools/exports.d.ts +1 -1
  78. package/dist/tools/exports.d.ts.map +1 -1
  79. package/dist/tools/implementation/anonymousJazzAgent.d.ts +2 -1
  80. package/dist/tools/implementation/anonymousJazzAgent.d.ts.map +1 -1
  81. package/dist/tools/implementation/schema.d.ts +5 -5
  82. package/dist/tools/implementation/schema.d.ts.map +1 -1
  83. package/dist/tools/implementation/symbols.d.ts +2 -0
  84. package/dist/tools/implementation/symbols.d.ts.map +1 -1
  85. package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts +2 -2
  86. package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts.map +1 -1
  87. package/dist/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts +6 -2
  88. package/dist/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts.map +1 -1
  89. package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts +8 -3
  90. package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts.map +1 -1
  91. package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts +12 -7
  92. package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts.map +1 -1
  93. package/dist/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts +13 -7
  94. package/dist/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts.map +1 -1
  95. package/dist/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts +11 -2
  96. package/dist/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts.map +1 -1
  97. package/dist/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts +4 -0
  98. package/dist/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts.map +1 -1
  99. package/dist/tools/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts +4 -0
  100. package/dist/tools/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts.map +1 -1
  101. package/dist/tools/implementation/zodSchema/typeConverters/{CoFieldInit.d.ts → CoFieldSchemaInit.d.ts} +7 -7
  102. package/dist/tools/implementation/zodSchema/typeConverters/CoFieldSchemaInit.d.ts.map +1 -0
  103. package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.d.ts +4 -4
  104. package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.d.ts.map +1 -1
  105. package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.d.ts +4 -4
  106. package/dist/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.d.ts.map +1 -1
  107. package/dist/tools/implementation/zodSchema/zodCo.d.ts +2 -2
  108. package/dist/tools/implementation/zodSchema/zodCo.d.ts.map +1 -1
  109. package/dist/tools/internal.d.ts +2 -1
  110. package/dist/tools/internal.d.ts.map +1 -1
  111. package/dist/tools/lib/migration.d.ts +1 -1
  112. package/dist/tools/lib/migration.d.ts.map +1 -1
  113. package/dist/tools/subscribe/SubscriptionScope.d.ts.map +1 -1
  114. package/dist/tools/subscribe/index.d.ts +1 -1
  115. package/dist/tools/subscribe/index.d.ts.map +1 -1
  116. package/dist/tools/subscribe/utils.d.ts +2 -2
  117. package/dist/tools/subscribe/utils.d.ts.map +1 -1
  118. package/dist/tools/testing.d.ts.map +1 -1
  119. package/dist/tools/tests/utils.d.ts +2 -6
  120. package/dist/tools/tests/utils.d.ts.map +1 -1
  121. package/dist/worker/index.js +3 -3
  122. package/dist/worker/index.js.map +1 -1
  123. package/package.json +4 -4
  124. package/src/browser/auth/PasskeyAuth.ts +2 -2
  125. package/src/browser/createBrowserContext.ts +2 -2
  126. package/src/browser/tests/PasskeyAuth.test.ts +2 -2
  127. package/src/inspector/custom-element.tsx +2 -2
  128. package/src/inspector/viewer/new-app.tsx +1 -1
  129. package/src/media/create-image.test.ts +7 -7
  130. package/src/media/create-image.ts +5 -3
  131. package/src/media/index.ts +1 -1
  132. package/src/media/utils.test.ts +72 -66
  133. package/src/media/utils.ts +9 -6
  134. package/src/prosemirror/lib/plugin.ts +1 -1
  135. package/src/prosemirror/lib/sync.ts +1 -1
  136. package/src/prosemirror/tests/plugin.test.ts +4 -4
  137. package/src/react/media/image.tsx +2 -2
  138. package/src/react/tests/media/image.test.tsx +52 -32
  139. package/src/react-core/hooks.ts +11 -5
  140. package/src/react-core/tests/useAccount.test.ts +16 -22
  141. package/src/react-core/tests/useCoState.test.ts +19 -19
  142. package/src/react-core/tests/useInboxSender.test.ts +5 -2
  143. package/src/react-core/tests/usePassPhraseAuth.test.ts +6 -6
  144. package/src/react-native-core/media/image.tsx +1 -1
  145. package/src/svelte/jazz.class.svelte.ts +1 -1
  146. package/src/svelte/media/image.svelte +3 -9
  147. package/src/svelte/media/image.types.ts +7 -0
  148. package/src/svelte/tests/media/image.svelte.test.ts +34 -32
  149. package/src/tools/auth/DemoAuth.ts +2 -2
  150. package/src/tools/auth/PassphraseAuth.ts +2 -2
  151. package/src/tools/auth/clerk/index.ts +2 -2
  152. package/src/tools/auth/clerk/tests/JazzClerkAuth.test.ts +1 -1
  153. package/src/tools/coValues/CoFieldInit.ts +20 -0
  154. package/src/tools/coValues/CoValueBase.ts +40 -60
  155. package/src/tools/coValues/account.ts +306 -232
  156. package/src/tools/coValues/coFeed.ts +185 -153
  157. package/src/tools/coValues/coList.ts +507 -334
  158. package/src/tools/coValues/coMap.ts +420 -286
  159. package/src/tools/coValues/coPlainText.ts +94 -110
  160. package/src/tools/coValues/deepLoading.ts +13 -13
  161. package/src/tools/coValues/group.ts +100 -114
  162. package/src/tools/coValues/inbox.ts +16 -14
  163. package/src/tools/coValues/interfaces.ts +49 -31
  164. package/src/tools/coValues/profile.ts +8 -6
  165. package/src/tools/coValues/request.ts +9 -9
  166. package/src/tools/coValues/schemaUnion.ts +11 -5
  167. package/src/tools/exports.ts +1 -1
  168. package/src/tools/implementation/ContextManager.ts +4 -4
  169. package/src/tools/implementation/anonymousJazzAgent.ts +2 -1
  170. package/src/tools/implementation/createContext.ts +1 -1
  171. package/src/tools/implementation/devtoolsFormatters.ts +9 -9
  172. package/src/tools/implementation/invites.ts +2 -2
  173. package/src/tools/implementation/schema.ts +7 -7
  174. package/src/tools/implementation/symbols.ts +3 -0
  175. package/src/tools/implementation/zodSchema/schemaTypes/AccountSchema.ts +2 -2
  176. package/src/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.ts +11 -2
  177. package/src/tools/implementation/zodSchema/schemaTypes/CoListSchema.ts +18 -7
  178. package/src/tools/implementation/zodSchema/schemaTypes/CoMapSchema.ts +17 -7
  179. package/src/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.ts +20 -11
  180. package/src/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.ts +19 -2
  181. package/src/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.ts +6 -0
  182. package/src/tools/implementation/zodSchema/schemaTypes/RichTextSchema.ts +6 -0
  183. package/src/tools/implementation/zodSchema/typeConverters/{CoFieldInit.ts → CoFieldSchemaInit.ts} +11 -11
  184. package/src/tools/implementation/zodSchema/typeConverters/InstanceOfSchema.ts +4 -4
  185. package/src/tools/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.ts +4 -4
  186. package/src/tools/implementation/zodSchema/zodCo.ts +47 -10
  187. package/src/tools/internal.ts +2 -1
  188. package/src/tools/lib/migration.ts +5 -5
  189. package/src/tools/subscribe/SubscriptionScope.ts +32 -24
  190. package/src/tools/subscribe/index.ts +4 -4
  191. package/src/tools/subscribe/utils.ts +11 -11
  192. package/src/tools/testing.ts +17 -13
  193. package/src/tools/tests/ContextManager.test.ts +68 -57
  194. package/src/tools/tests/PassphraseAuth.test.ts +2 -2
  195. package/src/tools/tests/account.test.ts +154 -74
  196. package/src/tools/tests/coDiscriminatedUnion.test-d.ts +12 -6
  197. package/src/tools/tests/coDiscriminatedUnion.test.ts +26 -17
  198. package/src/tools/tests/coFeed.test-d.ts +18 -17
  199. package/src/tools/tests/coFeed.test.ts +108 -97
  200. package/src/tools/tests/coList.test-d.ts +18 -23
  201. package/src/tools/tests/coList.test.ts +350 -165
  202. package/src/tools/tests/coMap.record.test-d.ts +9 -13
  203. package/src/tools/tests/coMap.record.test.ts +37 -23
  204. package/src/tools/tests/coMap.test-d.ts +43 -21
  205. package/src/tools/tests/coMap.test.ts +368 -182
  206. package/src/tools/tests/coOptional.test.ts +28 -13
  207. package/src/tools/tests/coPlainText.test.ts +15 -15
  208. package/src/tools/tests/createContext.test.ts +14 -14
  209. package/src/tools/tests/deepLoading.test.ts +95 -94
  210. package/src/tools/tests/exportImport.test.ts +61 -41
  211. package/src/tools/tests/groupsAndAccounts.test.ts +333 -116
  212. package/src/tools/tests/inbox.test.ts +22 -17
  213. package/src/tools/tests/interfaces.test.ts +12 -11
  214. package/src/tools/tests/invites.test.ts +6 -4
  215. package/src/tools/tests/load.test.ts +20 -18
  216. package/src/tools/tests/patterns/notifications.test.ts +6 -6
  217. package/src/tools/tests/patterns/quest.test.ts +3 -3
  218. package/src/tools/tests/patterns/requestToJoin.test.ts +22 -22
  219. package/src/tools/tests/request.test.ts +38 -39
  220. package/src/tools/tests/schemaUnion.test.ts +64 -10
  221. package/src/tools/tests/subscribe.test.ts +64 -64
  222. package/src/tools/tests/testing.test.ts +5 -9
  223. package/src/tools/tests/utils.ts +3 -3
  224. package/src/tools/tests/zod.test.ts +3 -3
  225. package/src/worker/index.ts +3 -3
  226. package/dist/chunk-SFP5PBPX.js.map +0 -1
  227. package/dist/media/chunk-E5J3WLQW.js.map +0 -1
  228. package/dist/tools/implementation/zodSchema/typeConverters/CoFieldInit.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,EACL,OAAO,EACP,UAAU,EAGX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,UAAU,qEAUnD;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAC7C,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAClB,GAAG,EAAE,UAAU,EACf,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;EAgBxC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEtD,OAAO,EACL,OAAO,EACP,UAAU,EAGX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,CAUnE;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAC7C,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAClB,GAAG,EAAE,UAAU,EACf,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;EAgBxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/tools/testing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EACL,OAAO,EACP,YAAY,EACZ,KAAK,kBAAkB,EAEvB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,EAM5B,MAAM,eAAe,CAAC;AAOvB,qBAAa,YAAa,SAAQ,YAAY;WAC/B,MAAM;CAoBpB;AAED,wBAAgB,gCAAgC,0BAiC/C;AAKD,wBAAsB,qBAAqB,CACzC,CAAC,SACG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,GACjD,iBAAiB,EACrB,OAAO,CAAC,EAAE;IACV,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAuD/B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAEhD;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAC5C,QAAQ,EAAE,MAAM,MAAM,GACrB,MAAM,CAcR;AAED,wBAAsB,mBAAmB;;GASxC;AAED,MAAM,MAAM,2BAA2B,CAAC,GAAG,SAAS,OAAO,IACzD,2BAA2B,CAAC,GAAG,CAAC,GAAG;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEJ,qBAAa,sBAAsB,CACjC,GAAG,SAAS,OAAO,CACnB,SAAQ,kBAAkB,CAAC,GAAG,EAAE,2BAA2B,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,CAAC,kBAAkB,CAAC,GAAG,SAAS,OAAO,EAC3C,OAAO,CAAC,EAAE,GAAG,GAAG;QAAE,KAAK,EAAE,kBAAkB,CAAA;KAAE,EAC7C,KAAK,CAAC,EAAE,2BAA2B,CAAC,GAAG,CAAC;IAS1C,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,OAAO,EACpC,OAAO,EAAE,GAAG,EACZ,KAAK,CAAC,EAAE,2BAA2B,CAAC,GAAG,CAAC;IA0C1C,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,OAAO,EAClC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,kBAAkB,CAAA;KAAE,EACxC,KAAK,GAAE,2BAA2B,CAAC,GAAG,CAAM;IAmBxC,aAAa,CACjB,KAAK,EAAE,2BAA2B,CAAC,GAAG,CAAC,EACvC,SAAS,CAAC,EAAE,2BAA2B;;uBAuE0wJ,cAAc;;;;;;;;CAzCl0J;AAED,wBAAsB,YAAY,CAChC,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,KAAK,GAAE,QAAQ,GAAG,QAAmB,EACrC,KAAK,GAAE,QAAQ,GAAG,QAAmB,iBAYtC;AAED,wBAAsB,iBAAiB,CAAC,EACtC,UAAkB,GACnB,GAAE;IACD,UAAU,CAAC,EAAE,OAAO,CAAC;CACjB,oBAgBL"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/tools/testing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EACL,OAAO,EACP,YAAY,EACZ,KAAK,kBAAkB,EAEvB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,EAM5B,MAAM,eAAe,CAAC;AAOvB,qBAAa,YAAa,SAAQ,YAAY;WAC/B,MAAM;CAoBpB;AAED,wBAAgB,gCAAgC,0BAiC/C;AAKD,wBAAsB,qBAAqB,CACzC,CAAC,SACG,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,GACjD,iBAAiB,EACrB,OAAO,CAAC,EAAE;IACV,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAuD/B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAEhD;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAC5C,QAAQ,EAAE,MAAM,MAAM,GACrB,MAAM,CAcR;AAED,wBAAsB,mBAAmB;;GASxC;AAED,MAAM,MAAM,2BAA2B,CAAC,GAAG,SAAS,OAAO,IACzD,2BAA2B,CAAC,GAAG,CAAC,GAAG;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEJ,qBAAa,sBAAsB,CACjC,GAAG,SAAS,OAAO,CACnB,SAAQ,kBAAkB,CAAC,GAAG,EAAE,2BAA2B,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,CAAC,kBAAkB,CAAC,GAAG,SAAS,OAAO,EAC3C,OAAO,CAAC,EAAE,GAAG,GAAG;QAAE,KAAK,EAAE,kBAAkB,CAAA;KAAE,EAC7C,KAAK,CAAC,EAAE,2BAA2B,CAAC,GAAG,CAAC;IAS1C,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,OAAO,EACpC,OAAO,EAAE,GAAG,EACZ,KAAK,CAAC,EAAE,2BAA2B,CAAC,GAAG,CAAC;IA0C1C,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,OAAO,EAClC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,kBAAkB,CAAA;KAAE,EACxC,KAAK,GAAE,2BAA2B,CAAC,GAAG,CAAM;IAmBxC,aAAa,CACjB,KAAK,EAAE,2BAA2B,CAAC,GAAG,CAAC,EACvC,SAAS,CAAC,EAAE,2BAA2B;;uBA2E+8N,cAAc;;;;;;;;CA7CvgO;AAED,wBAAsB,YAAY,CAChC,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,KAAK,GAAE,QAAQ,GAAG,QAAmB,EACrC,KAAK,GAAE,QAAQ,GAAG,QAAmB,iBAgBtC;AAED,wBAAsB,iBAAiB,CAAC,EACtC,UAAkB,GACnB,GAAE;IACD,UAAU,CAAC,EAAE,OAAO,CAAC;CACjB,oBAgBL"}
@@ -3,13 +3,9 @@ import { CoID, LocalNode, RawCoValue } from "cojson";
3
3
  import { Account } from "../index";
4
4
  import { CoValueFromRaw } from "../internal";
5
5
  export declare function setupAccount(): Promise<{
6
- me: Account & {
7
- isLocalNodeOwner: true;
8
- sessionID: import("cojson").SessionID;
9
- _raw: import("cojson").RawAccount;
10
- };
6
+ me: import("../internal").ControlledAccount;
11
7
  meOnSecondPeer: Account | ({
12
- [x: string]: any;
8
+ readonly [x: string]: any;
13
9
  } & Account);
14
10
  }>;
15
11
  export declare function setupTwoNodes(options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tools/tests/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuB,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGrD,OAAO,EACL,OAAO,EAGR,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7C,wBAAsB,YAAY;;;;;;;;;GA+BjC;AAED,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE;IAC5C,mBAAmB,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;CACvE;;;;;GAgDA;AAED,wBAAgB,OAAO,CACrB,QAAQ,EAAE,MAAM,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,iBA2BzD;AAED,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAC1D,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GACV,OAAO,CAAC,CAAC,CAAC,CAMZ"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tools/tests/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuB,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGrD,OAAO,EACL,OAAO,EAGR,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7C,wBAAsB,YAAY;;;;;GA+BjC;AAED,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE;IAC5C,mBAAmB,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;CACvE;;;;;GAgDA;AAED,wBAAgB,OAAO,CACrB,QAAQ,EAAE,MAAM,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,iBA2BzD;AAED,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAC1D,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GACV,OAAO,CAAC,CAAC,CAAC,CAMZ"}
@@ -57,13 +57,13 @@ async function startWorker(options) {
57
57
  crypto: options.crypto ?? await WasmCrypto.create()
58
58
  });
59
59
  const account = context.account;
60
- node = account._raw.core.node;
61
- if (!account._refs.profile?.id) {
60
+ node = account.$jazz.localNode;
61
+ if (!account.$jazz.refs.profile?.id) {
62
62
  throw new Error("Account has no profile");
63
63
  }
64
64
  const inbox = await Inbox.load(account);
65
65
  async function done() {
66
- await context.account.waitForAllCoValuesSync();
66
+ await context.account.$jazz.waitForAllCoValuesSync();
67
67
  wsPeer.disable();
68
68
  context.done();
69
69
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/worker/index.ts"],"sourcesContent":["import { AgentSecret, CryptoProvider, LocalNode, Peer } from \"cojson\";\nimport {\n type AnyWebSocketConstructor,\n WebSocketPeerWithReconnection,\n} from \"cojson-transport-ws\";\nimport { WasmCrypto } from \"cojson/crypto/WasmCrypto\";\nimport {\n Account,\n AccountClass,\n AnyAccountSchema,\n CoValueFromRaw,\n Inbox,\n InstanceOfSchema,\n createJazzContextFromExistingCredentials,\n randomSessionProvider,\n} from \"jazz-tools\";\n\ntype WorkerOptions<\n S extends\n | (AccountClass<Account> & CoValueFromRaw<Account>)\n | AnyAccountSchema,\n> = {\n accountID?: string;\n accountSecret?: string;\n syncServer?: string;\n WebSocket?: AnyWebSocketConstructor;\n AccountSchema?: S;\n crypto?: CryptoProvider;\n};\n\n/** @category Context Creation */\nexport async function startWorker<\n S extends\n | (AccountClass<Account> & CoValueFromRaw<Account>)\n | AnyAccountSchema,\n>(options: WorkerOptions<S>) {\n const {\n accountID = process.env.JAZZ_WORKER_ACCOUNT,\n accountSecret = process.env.JAZZ_WORKER_SECRET,\n syncServer = \"wss://cloud.jazz.tools\",\n AccountSchema = Account as unknown as S,\n } = options;\n\n let node: LocalNode | undefined = undefined;\n\n const peersToLoadFrom: Peer[] = [];\n\n const wsPeer = new WebSocketPeerWithReconnection({\n peer: syncServer,\n reconnectionTimeout: 100,\n addPeer: (peer) => {\n if (node) {\n node.syncManager.addPeer(peer);\n } else {\n peersToLoadFrom.push(peer);\n }\n },\n removePeer: () => {},\n WebSocketConstructor: options.WebSocket,\n });\n\n wsPeer.enable();\n\n if (!accountID) {\n throw new Error(\"No accountID provided\");\n }\n if (!accountSecret) {\n throw new Error(\"No accountSecret provided\");\n }\n if (!accountID.startsWith(\"co_\")) {\n throw new Error(\"Invalid accountID\");\n }\n if (!accountSecret?.startsWith(\"sealerSecret_\")) {\n throw new Error(\"Invalid accountSecret\");\n }\n\n const context = await createJazzContextFromExistingCredentials({\n credentials: {\n accountID: accountID,\n secret: accountSecret as AgentSecret,\n },\n AccountSchema,\n // TODO: locked sessions similar to browser\n sessionProvider: randomSessionProvider,\n peersToLoadFrom,\n crypto: options.crypto ?? (await WasmCrypto.create()),\n });\n\n const account = context.account as InstanceOfSchema<S>;\n node = account._raw.core.node;\n\n if (!account._refs.profile?.id) {\n throw new Error(\"Account has no profile\");\n }\n\n const inbox = await Inbox.load(account);\n\n async function done() {\n await context.account.waitForAllCoValuesSync();\n\n wsPeer.disable();\n context.done();\n }\n\n const inboxPublicApi = {\n subscribe: inbox.subscribe.bind(inbox) as Inbox[\"subscribe\"],\n };\n\n return {\n worker: context.account as InstanceOfSchema<S>,\n experimental: {\n inbox: inboxPublicApi,\n },\n waitForConnection() {\n return wsPeer.waitUntilConnected();\n },\n subscribeToConnectionChange(listener: (connected: boolean) => void) {\n wsPeer.subscribe(listener);\n\n return () => {\n wsPeer.unsubscribe(listener);\n };\n },\n done,\n };\n}\n"],"mappings":";AACA;AAAA,EAEE;AAAA,OACK;AACP,SAAS,kBAAkB;AAC3B;AAAA,EACE;AAAA,EAIA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAgBP,eAAsB,YAIpB,SAA2B;AAC3B,QAAM;AAAA,IACJ,YAAY,QAAQ,IAAI;AAAA,IACxB,gBAAgB,QAAQ,IAAI;AAAA,IAC5B,aAAa;AAAA,IACb,gBAAgB;AAAA,EAClB,IAAI;AAEJ,MAAI,OAA8B;AAElC,QAAM,kBAA0B,CAAC;AAEjC,QAAM,SAAS,IAAI,8BAA8B;AAAA,IAC/C,MAAM;AAAA,IACN,qBAAqB;AAAA,IACrB,SAAS,CAAC,SAAS;AACjB,UAAI,MAAM;AACR,aAAK,YAAY,QAAQ,IAAI;AAAA,MAC/B,OAAO;AACL,wBAAgB,KAAK,IAAI;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,YAAY,MAAM;AAAA,IAAC;AAAA,IACnB,sBAAsB,QAAQ;AAAA,EAChC,CAAC;AAED,SAAO,OAAO;AAEd,MAAI,CAAC,WAAW;AACd,UAAM,IAAI,MAAM,uBAAuB;AAAA,EACzC;AACA,MAAI,CAAC,eAAe;AAClB,UAAM,IAAI,MAAM,2BAA2B;AAAA,EAC7C;AACA,MAAI,CAAC,UAAU,WAAW,KAAK,GAAG;AAChC,UAAM,IAAI,MAAM,mBAAmB;AAAA,EACrC;AACA,MAAI,CAAC,eAAe,WAAW,eAAe,GAAG;AAC/C,UAAM,IAAI,MAAM,uBAAuB;AAAA,EACzC;AAEA,QAAM,UAAU,MAAM,yCAAyC;AAAA,IAC7D,aAAa;AAAA,MACX;AAAA,MACA,QAAQ;AAAA,IACV;AAAA,IACA;AAAA;AAAA,IAEA,iBAAiB;AAAA,IACjB;AAAA,IACA,QAAQ,QAAQ,UAAW,MAAM,WAAW,OAAO;AAAA,EACrD,CAAC;AAED,QAAM,UAAU,QAAQ;AACxB,SAAO,QAAQ,KAAK,KAAK;AAEzB,MAAI,CAAC,QAAQ,MAAM,SAAS,IAAI;AAC9B,UAAM,IAAI,MAAM,wBAAwB;AAAA,EAC1C;AAEA,QAAM,QAAQ,MAAM,MAAM,KAAK,OAAO;AAEtC,iBAAe,OAAO;AACpB,UAAM,QAAQ,QAAQ,uBAAuB;AAE7C,WAAO,QAAQ;AACf,YAAQ,KAAK;AAAA,EACf;AAEA,QAAM,iBAAiB;AAAA,IACrB,WAAW,MAAM,UAAU,KAAK,KAAK;AAAA,EACvC;AAEA,SAAO;AAAA,IACL,QAAQ,QAAQ;AAAA,IAChB,cAAc;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IACA,oBAAoB;AAClB,aAAO,OAAO,mBAAmB;AAAA,IACnC;AAAA,IACA,4BAA4B,UAAwC;AAClE,aAAO,UAAU,QAAQ;AAEzB,aAAO,MAAM;AACX,eAAO,YAAY,QAAQ;AAAA,MAC7B;AAAA,IACF;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/worker/index.ts"],"sourcesContent":["import { AgentSecret, CryptoProvider, LocalNode, Peer } from \"cojson\";\nimport {\n type AnyWebSocketConstructor,\n WebSocketPeerWithReconnection,\n} from \"cojson-transport-ws\";\nimport { WasmCrypto } from \"cojson/crypto/WasmCrypto\";\nimport {\n Account,\n AccountClass,\n AnyAccountSchema,\n CoValueFromRaw,\n Inbox,\n InstanceOfSchema,\n createJazzContextFromExistingCredentials,\n randomSessionProvider,\n} from \"jazz-tools\";\n\ntype WorkerOptions<\n S extends\n | (AccountClass<Account> & CoValueFromRaw<Account>)\n | AnyAccountSchema,\n> = {\n accountID?: string;\n accountSecret?: string;\n syncServer?: string;\n WebSocket?: AnyWebSocketConstructor;\n AccountSchema?: S;\n crypto?: CryptoProvider;\n};\n\n/** @category Context Creation */\nexport async function startWorker<\n S extends\n | (AccountClass<Account> & CoValueFromRaw<Account>)\n | AnyAccountSchema,\n>(options: WorkerOptions<S>) {\n const {\n accountID = process.env.JAZZ_WORKER_ACCOUNT,\n accountSecret = process.env.JAZZ_WORKER_SECRET,\n syncServer = \"wss://cloud.jazz.tools\",\n AccountSchema = Account as unknown as S,\n } = options;\n\n let node: LocalNode | undefined = undefined;\n\n const peersToLoadFrom: Peer[] = [];\n\n const wsPeer = new WebSocketPeerWithReconnection({\n peer: syncServer,\n reconnectionTimeout: 100,\n addPeer: (peer) => {\n if (node) {\n node.syncManager.addPeer(peer);\n } else {\n peersToLoadFrom.push(peer);\n }\n },\n removePeer: () => {},\n WebSocketConstructor: options.WebSocket,\n });\n\n wsPeer.enable();\n\n if (!accountID) {\n throw new Error(\"No accountID provided\");\n }\n if (!accountSecret) {\n throw new Error(\"No accountSecret provided\");\n }\n if (!accountID.startsWith(\"co_\")) {\n throw new Error(\"Invalid accountID\");\n }\n if (!accountSecret?.startsWith(\"sealerSecret_\")) {\n throw new Error(\"Invalid accountSecret\");\n }\n\n const context = await createJazzContextFromExistingCredentials({\n credentials: {\n accountID: accountID,\n secret: accountSecret as AgentSecret,\n },\n AccountSchema,\n // TODO: locked sessions similar to browser\n sessionProvider: randomSessionProvider,\n peersToLoadFrom,\n crypto: options.crypto ?? (await WasmCrypto.create()),\n });\n\n const account = context.account as InstanceOfSchema<S>;\n node = account.$jazz.localNode;\n\n if (!account.$jazz.refs.profile?.id) {\n throw new Error(\"Account has no profile\");\n }\n\n const inbox = await Inbox.load(account);\n\n async function done() {\n await context.account.$jazz.waitForAllCoValuesSync();\n\n wsPeer.disable();\n context.done();\n }\n\n const inboxPublicApi = {\n subscribe: inbox.subscribe.bind(inbox) as Inbox[\"subscribe\"],\n };\n\n return {\n worker: context.account as InstanceOfSchema<S>,\n experimental: {\n inbox: inboxPublicApi,\n },\n waitForConnection() {\n return wsPeer.waitUntilConnected();\n },\n subscribeToConnectionChange(listener: (connected: boolean) => void) {\n wsPeer.subscribe(listener);\n\n return () => {\n wsPeer.unsubscribe(listener);\n };\n },\n done,\n };\n}\n"],"mappings":";AACA;AAAA,EAEE;AAAA,OACK;AACP,SAAS,kBAAkB;AAC3B;AAAA,EACE;AAAA,EAIA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAgBP,eAAsB,YAIpB,SAA2B;AAC3B,QAAM;AAAA,IACJ,YAAY,QAAQ,IAAI;AAAA,IACxB,gBAAgB,QAAQ,IAAI;AAAA,IAC5B,aAAa;AAAA,IACb,gBAAgB;AAAA,EAClB,IAAI;AAEJ,MAAI,OAA8B;AAElC,QAAM,kBAA0B,CAAC;AAEjC,QAAM,SAAS,IAAI,8BAA8B;AAAA,IAC/C,MAAM;AAAA,IACN,qBAAqB;AAAA,IACrB,SAAS,CAAC,SAAS;AACjB,UAAI,MAAM;AACR,aAAK,YAAY,QAAQ,IAAI;AAAA,MAC/B,OAAO;AACL,wBAAgB,KAAK,IAAI;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,YAAY,MAAM;AAAA,IAAC;AAAA,IACnB,sBAAsB,QAAQ;AAAA,EAChC,CAAC;AAED,SAAO,OAAO;AAEd,MAAI,CAAC,WAAW;AACd,UAAM,IAAI,MAAM,uBAAuB;AAAA,EACzC;AACA,MAAI,CAAC,eAAe;AAClB,UAAM,IAAI,MAAM,2BAA2B;AAAA,EAC7C;AACA,MAAI,CAAC,UAAU,WAAW,KAAK,GAAG;AAChC,UAAM,IAAI,MAAM,mBAAmB;AAAA,EACrC;AACA,MAAI,CAAC,eAAe,WAAW,eAAe,GAAG;AAC/C,UAAM,IAAI,MAAM,uBAAuB;AAAA,EACzC;AAEA,QAAM,UAAU,MAAM,yCAAyC;AAAA,IAC7D,aAAa;AAAA,MACX;AAAA,MACA,QAAQ;AAAA,IACV;AAAA,IACA;AAAA;AAAA,IAEA,iBAAiB;AAAA,IACjB;AAAA,IACA,QAAQ,QAAQ,UAAW,MAAM,WAAW,OAAO;AAAA,EACrD,CAAC;AAED,QAAM,UAAU,QAAQ;AACxB,SAAO,QAAQ,MAAM;AAErB,MAAI,CAAC,QAAQ,MAAM,KAAK,SAAS,IAAI;AACnC,UAAM,IAAI,MAAM,wBAAwB;AAAA,EAC1C;AAEA,QAAM,QAAQ,MAAM,MAAM,KAAK,OAAO;AAEtC,iBAAe,OAAO;AACpB,UAAM,QAAQ,QAAQ,MAAM,uBAAuB;AAEnD,WAAO,QAAQ;AACf,YAAQ,KAAK;AAAA,EACf;AAEA,QAAM,iBAAiB;AAAA,IACrB,WAAW,MAAM,UAAU,KAAK,KAAK;AAAA,EACvC;AAEA,SAAO;AAAA,IACL,QAAQ,QAAQ;AAAA,IAChB,cAAc;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IACA,oBAAoB;AAClB,aAAO,OAAO,mBAAmB;AAAA,IACnC;AAAA,IACA,4BAA4B,UAAwC;AAClE,aAAO,UAAU,QAAQ;AAEzB,aAAO,MAAM;AACX,eAAO,YAAY,QAAQ;AAAA,MAC7B;AAAA,IACF;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
package/package.json CHANGED
@@ -140,7 +140,7 @@
140
140
  },
141
141
  "type": "module",
142
142
  "license": "MIT",
143
- "version": "0.17.13",
143
+ "version": "0.18.0",
144
144
  "dependencies": {
145
145
  "@manuscripts/prosemirror-recreate-steps": "^0.1.4",
146
146
  "@scure/base": "1.2.1",
@@ -156,9 +156,9 @@
156
156
  "prosemirror-state": "^1.4.3",
157
157
  "prosemirror-transform": "^1.9.0",
158
158
  "zod": "3.25.76",
159
- "cojson": "0.17.13",
160
- "cojson-storage-indexeddb": "0.17.13",
161
- "cojson-transport-ws": "0.17.13"
159
+ "cojson": "0.18.0",
160
+ "cojson-storage-indexeddb": "0.18.0",
161
+ "cojson-transport-ws": "0.18.0"
162
162
  },
163
163
  "devDependencies": {
164
164
  "@scure/bip39": "^1.3.0",
@@ -82,14 +82,14 @@ export class BrowserPasskeyAuth {
82
82
  username,
83
83
  });
84
84
 
85
- const currentAccount = await Account.getMe().ensureLoaded({
85
+ const currentAccount = await Account.getMe().$jazz.ensureLoaded({
86
86
  resolve: {
87
87
  profile: true,
88
88
  },
89
89
  });
90
90
 
91
91
  if (username.trim().length !== 0) {
92
- currentAccount.profile.name = username;
92
+ currentAccount.profile.$jazz.set("name", username);
93
93
  }
94
94
 
95
95
  await this.authSecretStorage.set({
@@ -272,7 +272,7 @@ export function createInviteLink<C extends CoValue>(
272
272
  valueHint,
273
273
  }: { baseURL?: string; valueHint?: string } = {},
274
274
  ): string {
275
- const coValueCore = value._raw.core;
275
+ const coValueCore = value.$jazz.raw.core;
276
276
  let currentCoValue = coValueCore;
277
277
 
278
278
  while (currentCoValue.verified.header.ruleset.type === "ownedByGroup") {
@@ -289,7 +289,7 @@ export function createInviteLink<C extends CoValue>(
289
289
  const inviteSecret = group.createInvite(role);
290
290
 
291
291
  return `${baseURL}#/invite/${valueHint ? valueHint + "/" : ""}${
292
- value.id
292
+ value.$jazz.id
293
293
  }/${inviteSecret}`;
294
294
  }
295
295
 
@@ -198,7 +198,7 @@ describe("BrowserPasskeyAuth", () => {
198
198
 
199
199
  await auth.signUp("");
200
200
 
201
- const currentAccount = await Account.getMe().ensureLoaded({
201
+ const currentAccount = await Account.getMe().$jazz.ensureLoaded({
202
202
  resolve: {
203
203
  profile: true,
204
204
  },
@@ -230,7 +230,7 @@ describe("BrowserPasskeyAuth", () => {
230
230
 
231
231
  await auth.signUp("testuser");
232
232
 
233
- const currentAccount = await Account.getMe().ensureLoaded({
233
+ const currentAccount = await Account.getMe().$jazz.ensureLoaded({
234
234
  resolve: {
235
235
  profile: true,
236
236
  },
@@ -53,8 +53,8 @@ export class JazzInspectorElement extends HTMLElement {
53
53
 
54
54
  this.root?.render(
55
55
  <JazzInspectorInternal
56
- localNode={this.account._raw.core.node}
57
- accountId={this.account._raw.id}
56
+ localNode={this.account.$jazz.localNode}
57
+ accountId={this.account.$jazz.raw.id}
58
58
  />,
59
59
  );
60
60
  }
@@ -72,7 +72,7 @@ export function JazzInspector({ position = "right" }: { position?: Position }) {
72
72
  <JazzInspectorInternal
73
73
  position={position}
74
74
  localNode={localNode}
75
- accountId={me?._raw.id}
75
+ accountId={me?.$jazz.raw.id}
76
76
  />
77
77
  );
78
78
  }
@@ -10,7 +10,7 @@ describe("createImage", async () => {
10
10
  const getPlaceholderBase64 = vi.fn();
11
11
  const createFileStreamFromSource = vi
12
12
  .fn()
13
- .mockResolvedValue(FileStream.create({ owner: account._owner }));
13
+ .mockResolvedValue(FileStream.create({ owner: account }));
14
14
  const resize = vi.fn();
15
15
 
16
16
  const createImage = createImageFactory({
@@ -33,7 +33,7 @@ describe("createImage", async () => {
33
33
  getImageSize.mockResolvedValue({ width: 1, height: 1 });
34
34
 
35
35
  const image = await createImage(imageBlob, {
36
- owner: account._owner,
36
+ owner: account,
37
37
  placeholder: false,
38
38
  progressive: false,
39
39
  });
@@ -60,7 +60,7 @@ describe("createImage", async () => {
60
60
  );
61
61
 
62
62
  const image = await createImage(imageBlob, {
63
- owner: account._owner,
63
+ owner: account,
64
64
  placeholder: "blur",
65
65
  progressive: false,
66
66
  });
@@ -83,7 +83,7 @@ describe("createImage", async () => {
83
83
  resize.mockResolvedValue(new Blob([White1920], { type: "image/png" }));
84
84
 
85
85
  const image = await createImage(imageBlob, {
86
- owner: account._owner,
86
+ owner: account,
87
87
  placeholder: false,
88
88
  progressive: false,
89
89
  maxSize: 256,
@@ -109,7 +109,7 @@ describe("createImage", async () => {
109
109
  getImageSize.mockResolvedValue({ width: 1, height: 1 });
110
110
 
111
111
  const image = await createImage(imageBlob, {
112
- owner: account._owner,
112
+ owner: account,
113
113
  placeholder: false,
114
114
  progressive: false,
115
115
  maxSize: 256,
@@ -136,7 +136,7 @@ describe("createImage", async () => {
136
136
  resize.mockResolvedValue(new Blob([White1920], { type: "image/png" }));
137
137
 
138
138
  const image = await createImage(imageBlob, {
139
- owner: account._owner,
139
+ owner: account,
140
140
  progressive: true,
141
141
  placeholder: false,
142
142
  });
@@ -164,7 +164,7 @@ describe("createImage", async () => {
164
164
  resize.mockResolvedValue(new Blob([White1920], { type: "image/png" }));
165
165
 
166
166
  const image = await createImage(imageBlob, {
167
- owner: account._owner,
167
+ owner: account,
168
168
  maxSize: 256,
169
169
  placeholder: false,
170
170
  progressive: true,
@@ -137,7 +137,7 @@ async function createImage(
137
137
  * On the client side, the image will be loaded progressively, starting from the smallest size and increasing the size until the original size is reached.
138
138
  */
139
139
  if (options?.progressive) {
140
- imageCoValue.progressive = true;
140
+ imageCoValue.$jazz.set("progressive", true);
141
141
 
142
142
  const resizes = ([256, 1024, 2048] as const).filter(
143
143
  (s) =>
@@ -153,8 +153,10 @@ async function createImage(
153
153
  );
154
154
 
155
155
  const blob = await impl.resize(imageBlobOrFile, width, height);
156
- imageCoValue[`${width}x${height}`] =
157
- await impl.createFileStreamFromSource(blob, options?.owner);
156
+ imageCoValue.$jazz.set(
157
+ `${width}x${height}`,
158
+ await impl.createFileStreamFromSource(blob, options?.owner),
159
+ );
158
160
  }
159
161
  }
160
162
 
@@ -27,7 +27,7 @@ export { createImageFactory };
27
27
  * // Creates ImageDefinition with a blurry placeholder, limited to 1024px
28
28
  * // on the longest side, and multiple resolutions automatically
29
29
  * const image = await createImage(file, {
30
- * owner: me._owner,
30
+ * owner: me.$jazz.owner,
31
31
  * maxSize: 1024,
32
32
  * placeholder: "blur",
33
33
  * progressive: true,
@@ -28,104 +28,104 @@ describe("highestResAvailable", async () => {
28
28
  });
29
29
 
30
30
  it("returns original if progressive is false", async () => {
31
- const original = await createFileStream(account._owner);
31
+ const original = await createFileStream(account.$jazz.owner);
32
32
  const imageDef = ImageDefinition.create(
33
33
  {
34
34
  originalSize: [1920, 1080],
35
35
  progressive: false,
36
36
  original,
37
37
  },
38
- { owner: account._owner },
38
+ { owner: account.$jazz.owner },
39
39
  );
40
40
 
41
- imageDef["1920x1080"] = original;
41
+ imageDef.$jazz.set("1920x1080", original);
42
42
 
43
43
  const result = highestResAvailable(imageDef, 256, 256);
44
- expect(result?.image.id).toBe(original.id);
44
+ expect(result?.image.$jazz.id).toBe(original.$jazz.id);
45
45
  });
46
46
 
47
47
  it("returns original if progressive is true but no resizes present", async () => {
48
- const original = await createFileStream(account._owner, 1);
48
+ const original = await createFileStream(account.$jazz.owner, 1);
49
49
  const imageDef = ImageDefinition.create(
50
50
  {
51
51
  originalSize: [1920, 1080],
52
52
  progressive: true,
53
53
  original,
54
54
  },
55
- { owner: account._owner },
55
+ { owner: account.$jazz.owner },
56
56
  );
57
57
 
58
- imageDef["1920x1080"] = original;
58
+ imageDef.$jazz.set("1920x1080", original);
59
59
 
60
60
  const result = highestResAvailable(imageDef, 256, 256);
61
- expect(result?.image.id).toBe(original.id);
61
+ expect(result?.image.$jazz.id).toBe(original.$jazz.id);
62
62
  });
63
63
 
64
64
  it("returns closest available resize if progressive is true", async () => {
65
- const original = await createFileStream(account._owner);
66
- const resize256 = await createFileStream(account._owner, 1);
65
+ const original = await createFileStream(account.$jazz.owner);
66
+ const resize256 = await createFileStream(account.$jazz.owner, 1);
67
67
  const imageDef = ImageDefinition.create(
68
68
  {
69
69
  originalSize: [1920, 1080],
70
70
  progressive: true,
71
71
  original,
72
72
  },
73
- { owner: account._owner },
73
+ { owner: account.$jazz.owner },
74
74
  );
75
75
 
76
- imageDef["1920x1080"] = original;
77
- imageDef["256x256"] = resize256;
76
+ imageDef.$jazz.set("1920x1080", original);
77
+ imageDef.$jazz.set("256x256", resize256);
78
78
 
79
79
  const result = highestResAvailable(imageDef, 256, 256);
80
- expect(result?.image.id).toBe(resize256.id);
80
+ expect(result?.image.$jazz.id).toBe(resize256.$jazz.id);
81
81
  });
82
82
 
83
83
  it("returns original if wanted size matches original size", async () => {
84
- const original = await createFileStream(account._owner);
84
+ const original = await createFileStream(account.$jazz.owner);
85
85
  const imageDef = ImageDefinition.create(
86
86
  {
87
87
  originalSize: [1024, 1024],
88
88
  progressive: true,
89
89
  original,
90
90
  },
91
- { owner: account._owner },
91
+ { owner: account.$jazz.owner },
92
92
  );
93
93
 
94
- imageDef["1024x1024"] = original;
94
+ imageDef.$jazz.set("1024x1024", original);
95
95
 
96
96
  const result = highestResAvailable(imageDef, 1024, 1024);
97
- expect(result?.image.id).toBe(original.id);
97
+ expect(result?.image.$jazz.id).toBe(original.$jazz.id);
98
98
  });
99
99
 
100
100
  it("returns best fit among multiple resizes", async () => {
101
- const original = await createFileStream(account._owner);
102
- const resize256 = await createFileStream(account._owner, 1);
103
- const resize1024 = await createFileStream(account._owner, 1);
104
- const resize2048 = await createFileStream(account._owner, 1);
101
+ const original = await createFileStream(account.$jazz.owner);
102
+ const resize256 = await createFileStream(account.$jazz.owner, 1);
103
+ const resize1024 = await createFileStream(account.$jazz.owner, 1);
104
+ const resize2048 = await createFileStream(account.$jazz.owner, 1);
105
105
  const imageDef = ImageDefinition.create(
106
106
  {
107
107
  originalSize: [2048, 2048],
108
108
  progressive: true,
109
109
  original,
110
110
  },
111
- { owner: account._owner },
111
+ { owner: account.$jazz.owner },
112
112
  );
113
113
 
114
- imageDef["256x256"] = resize256;
115
- imageDef["1024x1024"] = resize1024;
116
- imageDef["2048x2048"] = resize2048;
114
+ imageDef.$jazz.set("256x256", resize256);
115
+ imageDef.$jazz.set("1024x1024", resize1024);
116
+ imageDef.$jazz.set("2048x2048", resize2048);
117
117
 
118
118
  // Closest to 900x900 is 1024
119
119
  const result = highestResAvailable(imageDef, 900, 900);
120
- expect(result?.image.id).toBe(resize1024.id);
120
+ expect(result?.image.$jazz.id).toBe(resize1024.$jazz.id);
121
121
  });
122
122
 
123
123
  it("returns the best fit resolution", async () => {
124
- const original = await createFileStream(account._owner, 1);
125
- const resize256 = await createFileStream(account._owner, 1);
126
- const resize2048 = await createFileStream(account._owner, 1);
124
+ const original = await createFileStream(account.$jazz.owner, 1);
125
+ const resize256 = await createFileStream(account.$jazz.owner, 1);
126
+ const resize2048 = await createFileStream(account.$jazz.owner, 1);
127
127
  // 1024 is not loaded yet
128
- const resize1024 = FileStream.create({ owner: account._owner });
128
+ const resize1024 = FileStream.create({ owner: account.$jazz.owner });
129
129
  resize1024.start({ mimeType: "image/jpeg" });
130
130
  // Don't end resize1024, so it has no chunks
131
131
 
@@ -135,42 +135,42 @@ describe("highestResAvailable", async () => {
135
135
  progressive: true,
136
136
  original,
137
137
  },
138
- { owner: account._owner },
138
+ { owner: account.$jazz.owner },
139
139
  );
140
- imageDef["256x256"] = resize256;
141
- imageDef["1024x1024"] = resize1024;
142
- imageDef["2048x2048"] = resize2048;
140
+ imageDef.$jazz.set("256x256", resize256);
141
+ imageDef.$jazz.set("1024x1024", resize1024);
142
+ imageDef.$jazz.set("2048x2048", resize2048);
143
143
 
144
144
  // Closest to 900x900 is 1024
145
145
  const result = highestResAvailable(imageDef, 900, 900);
146
- expect(result?.image.id).toBe(resize2048.id);
146
+ expect(result?.image.$jazz.id).toBe(resize2048.$jazz.id);
147
147
  });
148
148
 
149
149
  it("returns original if no resizes are loaded (missing chunks)", async () => {
150
- const original = await createFileStream(account._owner);
150
+ const original = await createFileStream(account.$jazz.owner);
151
151
  const imageDef = ImageDefinition.create(
152
152
  {
153
153
  originalSize: [256, 256],
154
154
  progressive: true,
155
155
  original,
156
156
  },
157
- { owner: account._owner },
157
+ { owner: account.$jazz.owner },
158
158
  );
159
159
 
160
- imageDef["256x256"] = original;
160
+ imageDef.$jazz.set("256x256", original);
161
161
  // 1024 is not loaded yet
162
- const resize1024 = FileStream.create({ owner: account._owner });
162
+ const resize1024 = FileStream.create({ owner: account.$jazz.owner });
163
163
  resize1024.start({ mimeType: "image/jpeg" });
164
164
  // Don't end resize1024, so it has no chunks
165
- imageDef["1024x1024"] = resize1024;
165
+ imageDef.$jazz.set("1024x1024", resize1024);
166
166
 
167
167
  const result = highestResAvailable(imageDef, 1024, 1024);
168
168
  // Only original is valid
169
- expect(result?.image.id).toBe(original.id);
169
+ expect(result?.image.$jazz.id).toBe(original.$jazz.id);
170
170
  });
171
171
 
172
172
  it("returns the first loaded resize if original is not loaded yet(missing chunks)", async () => {
173
- const original = FileStream.create({ owner: account._owner });
173
+ const original = FileStream.create({ owner: account.$jazz.owner });
174
174
  original.start({ mimeType: "image/jpeg" });
175
175
  // Don't call .end(), so it has no chunks
176
176
 
@@ -180,18 +180,21 @@ describe("highestResAvailable", async () => {
180
180
  progressive: true,
181
181
  original,
182
182
  },
183
- { owner: account._owner },
183
+ { owner: account.$jazz.owner },
184
184
  );
185
185
 
186
- imageDef["256x256"] = await createFileStream(account._owner, 1);
186
+ imageDef.$jazz.set(
187
+ "256x256",
188
+ await createFileStream(account.$jazz.owner, 1),
189
+ );
187
190
 
188
191
  const result = highestResAvailable(imageDef, 1024, 1024);
189
192
  // Only original is valid
190
- expect(result?.image.id).toBe(imageDef["256x256"].id);
193
+ expect(result?.image.$jazz.id).toBe(imageDef["256x256"]!.$jazz.id);
191
194
  });
192
195
 
193
196
  it("returns the highest resolution if no good match is found", async () => {
194
- const original = await createFileStream(account._owner, 1);
197
+ const original = await createFileStream(account.$jazz.owner, 1);
195
198
 
196
199
  const imageDef = ImageDefinition.create(
197
200
  {
@@ -199,14 +202,17 @@ describe("highestResAvailable", async () => {
199
202
  progressive: true,
200
203
  original,
201
204
  },
202
- { owner: account._owner },
205
+ { owner: account.$jazz.owner },
203
206
  );
204
207
 
205
- imageDef["256x256"] = await createFileStream(account._owner, 1);
206
- imageDef["300x300"] = original;
208
+ imageDef.$jazz.set(
209
+ "256x256",
210
+ await createFileStream(account.$jazz.owner, 1),
211
+ );
212
+ imageDef.$jazz.set("300x300", original);
207
213
 
208
214
  const result = highestResAvailable(imageDef, 1024, 1024);
209
- expect(result?.image.id).toBe(original.id);
215
+ expect(result?.image.$jazz.id).toBe(original.$jazz.id);
210
216
  });
211
217
  });
212
218
 
@@ -237,12 +243,12 @@ describe("loadImageBySize", async () => {
237
243
  },
238
244
  { owner },
239
245
  );
240
- imageDef[`${originalSize[0]}x${originalSize[1]}`] = original;
246
+ imageDef.$jazz.set(`${originalSize[0]}x${originalSize[1]}`, original);
241
247
 
242
248
  for (const size of sizes) {
243
249
  if (!size) continue;
244
250
  const [w, h] = size;
245
- imageDef[`${w}x${h}`] = await createFileStream(owner, 1);
251
+ imageDef.$jazz.set(`${w}x${h}`, await createFileStream(owner, 1));
246
252
  }
247
253
  return imageDef;
248
254
  };
@@ -250,7 +256,7 @@ describe("loadImageBySize", async () => {
250
256
  it("returns original if progressive is false", async () => {
251
257
  const imageDef = await createImageDef([[1920, 1080]], false);
252
258
  const result = await loadImageBySize(imageDef, 256, 256);
253
- expect(result?.image.id).toBe(imageDef["1920x1080"]!.id);
259
+ expect(result?.image.$jazz.id).toBe(imageDef["1920x1080"]!.$jazz.id);
254
260
  });
255
261
 
256
262
  it("returns the original image already loaded", async () => {
@@ -266,20 +272,20 @@ describe("loadImageBySize", async () => {
266
272
  setActiveAccount(account2);
267
273
 
268
274
  const result = await loadImageBySize(imageDef, 256, 256);
269
- expect(result?.image.id).toBe(imageDef["1920x1080"]!.id);
275
+ expect(result?.image.$jazz.id).toBe(imageDef["1920x1080"]!.$jazz.id);
270
276
  expect(result?.image.isBinaryStreamEnded()).toBe(true);
271
277
  expect(result?.image.asBase64()).toStrictEqual(expect.any(String));
272
278
  });
273
279
 
274
280
  it("returns null if no sizes are available", async () => {
275
- const original = await createFileStream(account._owner, 1);
281
+ const original = await createFileStream(account.$jazz.owner, 1);
276
282
  const imageDef = ImageDefinition.create(
277
283
  {
278
284
  originalSize: [1920, 1080],
279
285
  progressive: true,
280
286
  original,
281
287
  },
282
- { owner: account._owner },
288
+ { owner: account.$jazz.owner },
283
289
  );
284
290
  const result = await loadImageBySize(imageDef, 256, 256);
285
291
  expect(result).toBeNull();
@@ -290,8 +296,8 @@ describe("loadImageBySize", async () => {
290
296
  [256, 256],
291
297
  [1920, 1080],
292
298
  ]);
293
- const result = await loadImageBySize(imageDef.id, 256, 256);
294
- expect(result?.image.id).toBe(imageDef["256x256"]!.id);
299
+ const result = await loadImageBySize(imageDef.$jazz.id, 256, 256);
300
+ expect(result?.image.$jazz.id).toBe(imageDef["256x256"]!.$jazz.id);
295
301
  expect(result?.width).toBe(256);
296
302
  expect(result?.height).toBe(256);
297
303
  });
@@ -303,7 +309,7 @@ describe("loadImageBySize", async () => {
303
309
  [2048, 2048],
304
310
  ]);
305
311
  const result = await loadImageBySize(imageDef, 900, 900);
306
- expect(result?.image.id).toBe(imageDef["1024x1024"]!.id);
312
+ expect(result?.image.$jazz.id).toBe(imageDef["1024x1024"]!.$jazz.id);
307
313
  expect(result?.width).toBe(1024);
308
314
  expect(result?.height).toBe(1024);
309
315
  });
@@ -314,20 +320,20 @@ describe("loadImageBySize", async () => {
314
320
  [300, 300],
315
321
  ]);
316
322
  const result = await loadImageBySize(imageDef, 1024, 1024);
317
- expect(result?.image.id).toBe(imageDef["300x300"]!.id);
323
+ expect(result?.image.$jazz.id).toBe(imageDef["300x300"]!.$jazz.id);
318
324
  expect(result?.width).toBe(300);
319
325
  expect(result?.height).toBe(300);
320
326
  });
321
327
 
322
328
  it("returns null if the best target is not loaded", async () => {
323
- const original = await createFileStream(account._owner, 1);
329
+ const original = await createFileStream(account.$jazz.owner, 1);
324
330
  const imageDef = ImageDefinition.create(
325
331
  {
326
332
  originalSize: [256, 256],
327
333
  progressive: true,
328
334
  original,
329
335
  },
330
- { owner: account._owner },
336
+ { owner: account.$jazz.owner },
331
337
  );
332
338
  // No resizes added
333
339
  const result = await loadImageBySize(imageDef, 1024, 1024);
@@ -340,7 +346,7 @@ describe("loadImageBySize", async () => {
340
346
  [1024, 1024],
341
347
  ]);
342
348
  const result = await loadImageBySize(imageDef, 1024, 1024);
343
- expect(result?.image.id).toBe(imageDef["1024x1024"]!.id);
349
+ expect(result?.image.$jazz.id).toBe(imageDef["1024x1024"]!.$jazz.id);
344
350
  expect(result?.width).toBe(1024);
345
351
  expect(result?.height).toBe(1024);
346
352
  });
@@ -365,9 +371,9 @@ describe("loadImageBySize", async () => {
365
371
  const account2 = await createJazzTestAccount();
366
372
  setActiveAccount(account2);
367
373
 
368
- const result = await loadImageBySize(imageDef.id, 1024, 1024);
374
+ const result = await loadImageBySize(imageDef.$jazz.id, 1024, 1024);
369
375
  expect(result).not.toBeNull();
370
- expect(result?.image.id).toBe(imageDef["1024x1024"]!.id);
376
+ expect(result?.image.$jazz.id).toBe(imageDef["1024x1024"]!.$jazz.id);
371
377
  expect(result?.image.isBinaryStreamEnded()).toBe(true);
372
378
  expect(result?.image.asBase64()).toStrictEqual(expect.any(String));
373
379
  });