jazz-tools 0.19.5 → 0.19.7

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 (54) hide show
  1. package/.turbo/turbo-build.log +56 -56
  2. package/CHANGELOG.md +24 -0
  3. package/dist/{chunk-DFFRRRRF.js → chunk-CUS6O5NE.js} +73 -19
  4. package/dist/chunk-CUS6O5NE.js.map +1 -0
  5. package/dist/index.js +1 -1
  6. package/dist/inspector/index.d.ts +1 -1
  7. package/dist/inspector/index.d.ts.map +1 -1
  8. package/dist/inspector/index.js +8 -1
  9. package/dist/inspector/index.js.map +1 -1
  10. package/dist/react-core/hooks.d.ts +2 -1
  11. package/dist/react-core/hooks.d.ts.map +1 -1
  12. package/dist/react-core/index.js +39 -15
  13. package/dist/react-core/index.js.map +1 -1
  14. package/dist/react-native-core/crypto/RNQuickCrypto.d.ts +3 -1
  15. package/dist/react-native-core/crypto/RNQuickCrypto.d.ts.map +1 -1
  16. package/dist/react-native-core/crypto.js +23 -1
  17. package/dist/react-native-core/crypto.js.map +1 -1
  18. package/dist/testing.js +1 -1
  19. package/dist/tools/coValues/CoValueBase.d.ts +2 -1
  20. package/dist/tools/coValues/CoValueBase.d.ts.map +1 -1
  21. package/dist/tools/coValues/account.d.ts +3 -2
  22. package/dist/tools/coValues/account.d.ts.map +1 -1
  23. package/dist/tools/coValues/interfaces.d.ts +8 -0
  24. package/dist/tools/coValues/interfaces.d.ts.map +1 -1
  25. package/dist/tools/exports.d.ts +1 -1
  26. package/dist/tools/exports.d.ts.map +1 -1
  27. package/dist/tools/implementation/anonymousJazzAgent.d.ts +5 -0
  28. package/dist/tools/implementation/anonymousJazzAgent.d.ts.map +1 -1
  29. package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts +3 -3
  30. package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts.map +1 -1
  31. package/dist/tools/implementation/zodSchema/zodCo.d.ts.map +1 -1
  32. package/dist/tools/subscribe/SubscriptionScope.d.ts.map +1 -1
  33. package/dist/tools/testing.d.ts.map +1 -1
  34. package/dist/tools/tests/utils.d.ts +6 -1
  35. package/dist/tools/tests/utils.d.ts.map +1 -1
  36. package/package.json +5 -5
  37. package/src/inspector/index.tsx +10 -1
  38. package/src/react-core/hooks.ts +65 -21
  39. package/src/react-core/tests/useCoState.test.ts +102 -2
  40. package/src/react-native-core/crypto/RNQuickCrypto.ts +32 -2
  41. package/src/tools/coValues/CoValueBase.ts +11 -1
  42. package/src/tools/coValues/account.ts +30 -6
  43. package/src/tools/coValues/interfaces.ts +25 -1
  44. package/src/tools/exports.ts +1 -0
  45. package/src/tools/implementation/anonymousJazzAgent.ts +21 -1
  46. package/src/tools/implementation/zodSchema/schemaTypes/AccountSchema.ts +9 -4
  47. package/src/tools/subscribe/SubscriptionScope.ts +16 -9
  48. package/src/tools/tests/account.test.ts +65 -0
  49. package/src/tools/tests/coDiscriminatedUnion.test.ts +69 -2
  50. package/src/tools/tests/exportImport.test.ts +78 -0
  51. package/src/tools/tests/groupsAndAccounts.test.ts +21 -20
  52. package/src/tools/tests/schema.resolved.test.ts +26 -19
  53. package/src/tools/tests/utils.ts +27 -0
  54. package/dist/chunk-DFFRRRRF.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { Account, AccountClass, AnonymousJazzAgent, AnyAccountSchema, CoValue, CoValueClassOrSchema, JazzContextManager, JazzContextType, Loaded, MaybeLoaded, ResolveQuery, ResolveQueryStrict, SchemaResolveQuery, type BranchDefinition } from "jazz-tools";
1
+ import { Account, AccountClass, AnonymousJazzAgent, AnyAccountSchema, CoValue, CoValueClassOrSchema, ExportedCoValue, JazzContextManager, JazzContextType, Loaded, MaybeLoaded, ResolveQuery, ResolveQueryStrict, SchemaResolveQuery, type BranchDefinition } from "jazz-tools";
2
2
  import { CoValueSubscription } from "./types.js";
3
3
  export declare function useJazzContext<Acc extends Account>(): JazzContextType<Acc>;
4
4
  export declare function useJazzContextManager<Acc extends Account>(): JazzContextManager<Acc, {}>;
@@ -194,6 +194,7 @@ options?: {
194
194
  * For more info see the [branching](https://jazz.tools/docs/react/using-covalues/version-control) documentation.
195
195
  */
196
196
  unstable_branch?: BranchDefinition;
197
+ preloaded?: ExportedCoValue<Loaded<S, R>>;
197
198
  }): TSelectorReturn;
198
199
  export declare function useSubscriptionSelector<S extends CoValueClassOrSchema, const R extends ResolveQuery<S> = SchemaResolveQuery<S>, TSelectorReturn = MaybeLoaded<Loaded<S, R>>>(subscription: CoValueSubscription<S, R>, options?: {
199
200
  select?: (value: MaybeLoaded<Loaded<S, R>>) => TSelectorReturn;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/react-core/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/react-core/hooks.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ import {
18
18
  InboxSender,
19
19
  SubscriptionScope,
20
20
  coValueClassFromCoValueClassOrSchema,
21
+ importContentPieces,
21
22
  getUnloadedCoValueWithoutId
22
23
  } from "jazz-tools";
23
24
 
@@ -73,6 +74,7 @@ function useIsAuthenticated() {
73
74
  }
74
75
  function useCoValueSubscription(Schema, id, options) {
75
76
  const contextManager = useJazzContextManager();
77
+ const agent = useAgent();
76
78
  const createSubscription = () => {
77
79
  if (!id) {
78
80
  return {
@@ -105,28 +107,40 @@ function useCoValueSubscription(Schema, id, options) {
105
107
  options?.unstable_branch
106
108
  );
107
109
  return {
108
- subscription: subscription2,
110
+ value: subscription2,
109
111
  contextManager,
110
112
  id,
111
113
  Schema,
112
114
  branchName: options?.unstable_branch?.name,
113
- branchOwnerId: options?.unstable_branch?.owner?.$jazz.id
115
+ branchOwnerId: options?.unstable_branch?.owner?.$jazz.id,
116
+ agent
114
117
  };
115
118
  };
116
- const [subscription, setSubscription] = React.useState(createSubscription);
119
+ const subscriptionRef = React.useRef(null);
120
+ if (!subscriptionRef.current) {
121
+ subscriptionRef.current = createSubscription();
122
+ }
117
123
  const branchName = options?.unstable_branch?.name;
118
124
  const branchOwnerId = options?.unstable_branch?.owner?.$jazz.id;
119
- React.useLayoutEffect(() => {
120
- if (subscription.contextManager !== contextManager || subscription.id !== id || subscription.Schema !== Schema || subscription.branchName !== branchName || subscription.branchOwnerId !== branchOwnerId) {
121
- subscription.subscription?.destroy();
122
- setSubscription(createSubscription());
125
+ let subscription = subscriptionRef.current;
126
+ if (subscription.contextManager !== contextManager || subscription.id !== id || subscription.Schema !== Schema || subscription.branchName !== branchName || subscription.branchOwnerId !== branchOwnerId || subscription.agent !== agent) {
127
+ subscription.value?.destroy();
128
+ subscriptionRef.current = createSubscription();
129
+ subscription = subscriptionRef.current;
130
+ }
131
+ return subscription.value;
132
+ }
133
+ function useImportCoValueContent(id, content) {
134
+ const agent = useAgent();
135
+ const preloadExecuted = useRef(null);
136
+ if (content && preloadExecuted.current !== agent && id) {
137
+ if (content.id === id) {
138
+ importContentPieces(content.contentPieces, agent);
139
+ } else {
140
+ console.warn("Preloaded value ID does not match the subscription ID");
123
141
  }
124
- return contextManager.subscribe(() => {
125
- subscription.subscription?.destroy();
126
- setSubscription(createSubscription());
127
- });
128
- }, [Schema, id, contextManager, branchName, branchOwnerId]);
129
- return subscription.subscription;
142
+ preloadExecuted.current = agent;
143
+ }
130
144
  }
131
145
  function useGetCurrentValue(subscription) {
132
146
  return useCallback(() => {
@@ -137,6 +151,7 @@ function useGetCurrentValue(subscription) {
137
151
  }, [subscription]);
138
152
  }
139
153
  function useCoState(Schema, id, options) {
154
+ useImportCoValueContent(id, options?.preloaded);
140
155
  const subscription = useCoValueSubscription(Schema, id, options);
141
156
  const getCurrentValue = useGetCurrentValue(subscription);
142
157
  const value = useSyncExternalStoreWithSelector(
@@ -250,8 +265,17 @@ function useLogOut() {
250
265
  }
251
266
  function useAgent() {
252
267
  const contextManager = useJazzContextManager();
253
- const agent = getCurrentAccountFromContextManager(contextManager);
254
- return agent;
268
+ const getCurrentValue = () => getCurrentAccountFromContextManager(contextManager);
269
+ return React.useSyncExternalStore(
270
+ useCallback(
271
+ (callback) => {
272
+ return contextManager.subscribe(callback);
273
+ },
274
+ [contextManager]
275
+ ),
276
+ getCurrentValue,
277
+ getCurrentValue
278
+ );
255
279
  }
256
280
  function experimental_useInboxSender(inboxOwnerID) {
257
281
  const context = useJazzContext();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react-core/hooks.ts","../../src/react-core/utils.ts","../../src/react-core/subscription-provider.tsx","../../src/react-core/auth/DemoAuth.tsx","../../src/react-core/auth/PassphraseAuth.tsx"],"sourcesContent":["import { useSyncExternalStoreWithSelector } from \"use-sync-external-store/shim/with-selector\";\nimport React, {\n useCallback,\n useContext,\n useRef,\n useSyncExternalStore,\n} from \"react\";\n\nimport {\n Account,\n AccountClass,\n AnonymousJazzAgent,\n AnyAccountSchema,\n CoValue,\n CoValueClassOrSchema,\n CoValueLoadingState,\n InboxSender,\n InstanceOfSchema,\n JazzContextManager,\n JazzContextType,\n Loaded,\n MaybeLoaded,\n NotLoaded,\n ResolveQuery,\n ResolveQueryStrict,\n SchemaResolveQuery,\n SubscriptionScope,\n coValueClassFromCoValueClassOrSchema,\n getUnloadedCoValueWithoutId,\n type BranchDefinition,\n} from \"jazz-tools\";\nimport { JazzContext, JazzContextManagerContext } from \"./provider.js\";\nimport { getCurrentAccountFromContextManager } from \"./utils.js\";\nimport { CoValueSubscription } from \"./types.js\";\n\nexport function useJazzContext<Acc extends Account>() {\n const value = useContext(JazzContext) as JazzContextType<Acc>;\n\n if (!value) {\n throw new Error(\n \"You need to set up a JazzProvider on top of your app to use this hook.\",\n );\n }\n\n return value;\n}\n\nexport function useJazzContextManager<Acc extends Account>() {\n const value = useContext(JazzContextManagerContext) as JazzContextManager<\n Acc,\n {}\n >;\n\n if (!value) {\n throw new Error(\n \"You need to set up a JazzProvider on top of your app to use this hook.\",\n );\n }\n\n return value;\n}\n\nexport function useAuthSecretStorage() {\n const value = useContext(JazzContextManagerContext);\n\n if (!value) {\n throw new Error(\n \"You need to set up a JazzProvider on top of your app to use this useAuthSecretStorage.\",\n );\n }\n\n return value.getAuthSecretStorage();\n}\n\nexport function useIsAuthenticated() {\n const authSecretStorage = useAuthSecretStorage();\n\n return useSyncExternalStore(\n useCallback(\n (callback) => {\n return authSecretStorage.onUpdate(callback);\n },\n [authSecretStorage],\n ),\n () => authSecretStorage.isAuthenticated,\n () => authSecretStorage.isAuthenticated,\n );\n}\n\nexport function useCoValueSubscription<\n S extends CoValueClassOrSchema,\n // @ts-expect-error we can't statically enforce the schema's resolve query is a valid resolve query, but in practice it is\n const R extends ResolveQuery<S> = SchemaResolveQuery<S>,\n>(\n Schema: S,\n id: string | undefined | null,\n options?: {\n resolve?: ResolveQueryStrict<S, R>;\n unstable_branch?: BranchDefinition;\n },\n) {\n const contextManager = useJazzContextManager();\n\n const createSubscription = () => {\n if (!id) {\n return {\n subscription: null,\n contextManager,\n id,\n Schema,\n };\n }\n\n if (options?.unstable_branch?.owner === null) {\n return {\n subscription: null,\n contextManager,\n id,\n Schema,\n };\n }\n\n const resolve = getResolveQuery(Schema, options?.resolve);\n\n const node = contextManager.getCurrentValue()!.node;\n const subscription = new SubscriptionScope<any>(\n node,\n resolve,\n id,\n {\n ref: coValueClassFromCoValueClassOrSchema(Schema),\n optional: true,\n },\n false,\n false,\n options?.unstable_branch,\n );\n\n return {\n subscription,\n contextManager,\n id,\n Schema,\n branchName: options?.unstable_branch?.name,\n branchOwnerId: options?.unstable_branch?.owner?.$jazz.id,\n };\n };\n\n const [subscription, setSubscription] = React.useState(createSubscription);\n\n const branchName = options?.unstable_branch?.name;\n const branchOwnerId = options?.unstable_branch?.owner?.$jazz.id;\n\n React.useLayoutEffect(() => {\n if (\n subscription.contextManager !== contextManager ||\n subscription.id !== id ||\n subscription.Schema !== Schema ||\n subscription.branchName !== branchName ||\n subscription.branchOwnerId !== branchOwnerId\n ) {\n subscription.subscription?.destroy();\n setSubscription(createSubscription());\n }\n\n return contextManager.subscribe(() => {\n subscription.subscription?.destroy();\n setSubscription(createSubscription());\n });\n }, [Schema, id, contextManager, branchName, branchOwnerId]);\n\n return subscription.subscription as CoValueSubscription<S, R>;\n}\n\nfunction useGetCurrentValue<C extends CoValue>(\n subscription: SubscriptionScope<C> | null,\n) {\n return useCallback(() => {\n if (!subscription) {\n return getUnloadedCoValueWithoutId(CoValueLoadingState.UNAVAILABLE);\n }\n\n return subscription.getCurrentValue();\n }, [subscription]);\n}\n\n/**\n * React hook for subscribing to CoValues and handling loading states.\n *\n * This hook provides a convenient way to subscribe to CoValues and automatically\n * handles the subscription lifecycle (subscribe on mount, unsubscribe on unmount).\n * It also supports deep loading of nested CoValues through resolve queries.\n *\n * The {@param options.select} function allows returning only specific parts of the CoValue data,\n * which helps reduce unnecessary re-renders by narrowing down the returned data.\n * Additionally, you can provide a custom {@param options.equalityFn} to further optimize\n * performance by controlling when the component should re-render based on the selected data.\n *\n * @returns The loaded CoValue, or an {@link NotLoaded} value. Use `$isLoaded` to check whether the\n * CoValue is loaded, or use {@link MaybeLoaded.$jazz.loadingState} to get the detailed loading state.\n * If a selector function is provided, returns the result of the selector function.\n *\n * @example\n * ```tsx\n * // Select only specific fields to reduce re-renders\n * const Project = co.map({\n * name: z.string(),\n * description: z.string(),\n * tasks: co.list(Task),\n * lastModified: z.date(),\n * });\n *\n * function ProjectTitle({ projectId }: { projectId: string }) {\n * // Only re-render when the project name changes, not other fields\n * const projectName = useCoState(\n * Project,\n * projectId,\n * {\n * select: (project) => !project.$isLoading ? project.name : \"Loading...\",\n * }\n * );\n *\n * return <h1>{projectName}</h1>;\n * }\n * ```\n *\n * @example\n * ```tsx\n * // Deep loading with resolve queries\n * const Project = co.map({\n * name: z.string(),\n * tasks: co.list(Task),\n * owner: TeamMember,\n * });\n *\n * function ProjectView({ projectId }: { projectId: string }) {\n * const project = useCoState(Project, projectId, {\n * resolve: {\n * tasks: { $each: true },\n * owner: true,\n * },\n * });\n *\n * if (!project.$isLoaded) {\n * switch (project.$jazz.loadingState) {\n * case \"unauthorized\":\n * return \"Project not accessible\";\n * case \"unavailable\":\n * return \"Project not found\";\n * case \"loading\":\n * return \"Loading project...\";\n * }\n * }\n *\n * return (\n * <div>\n * <h1>{project.name}</h1>\n * <p>Owner: {project.owner.name}</p>\n * <ul>\n * {project.tasks.map((task) => (\n * <li key={task.id}>{task.title}</li>\n * ))}\n * </ul>\n * </div>\n * );\n * }\n * ```\n *\n * @example\n * ```tsx\n * // Using with optional references and error handling\n * const Task = co.map({\n * title: z.string(),\n * assignee: co.optional(TeamMember),\n * subtasks: co.list(Task),\n * });\n *\n * function TaskDetail({ taskId }: { taskId: string }) {\n * const task = useCoState(Task, taskId, {\n * resolve: {\n * assignee: true,\n * subtasks: { $each: { $onError: 'catch' } },\n * },\n * });\n *\n * if (!task.$isLoaded) {\n * switch (task.$jazz.loadingState) {\n * case \"unauthorized\":\n * return \"Task not accessible\";\n * case \"unavailable\":\n * return \"Task not found\";\n * case \"loading\":\n * return \"Loading task...\";\n * }\n * }\n *\n * return (\n * <div>\n * <h2>{task.title}</h2>\n * {task.assignee && <p>Assigned to: {task.assignee.name}</p>}\n * <ul>\n * {task.subtasks.map((subtask, index) => (\n * subtask.$isLoaded ? <li key={subtask.id}>{subtask.title}</li> : <li key={index}>Inaccessible subtask</li>\n * ))}\n * </ul>\n * </div>\n * );\n * }\n * ```\n *\n * @example\n * ```tsx\n * // Use custom equality function for complex data structures\n * const TaskList = co.list(Task);\n *\n * function TaskCount({ listId }: { listId: string }) {\n * const taskStats = useCoState(\n * TaskList,\n * listId,\n * {\n * resolve: { $each: true },\n * select: (tasks) => {\n * if (!tasks.$isLoaded) return { total: 0, completed: 0 };\n * return {\n * total: tasks.length,\n * completed: tasks.filter(task => task.completed).length,\n * };\n * },\n * // Custom equality to prevent re-renders when stats haven't changed\n * equalityFn: (a, b) => a.total === b.total && a.completed === b.completed,\n * }\n * );\n *\n * return (\n * <div>\n * {taskStats.completed} of {taskStats.total} tasks completed\n * </div>\n * );\n * }\n * ```\n *\n * For more examples, see the [subscription and deep loading](https://jazz.tools/docs/react/using-covalues/subscription-and-loading) documentation.\n */\nexport function useCoState<\n S extends CoValueClassOrSchema,\n // @ts-expect-error we can't statically enforce the schema's resolve query is a valid resolve query, but in practice it is\n const R extends ResolveQuery<S> = SchemaResolveQuery<S>,\n TSelectorReturn = MaybeLoaded<Loaded<S, R>>,\n>(\n /** The CoValue schema or class constructor */\n Schema: S,\n /** The ID of the CoValue to subscribe to. If `undefined`, returns an `unavailable` value */\n id: string | undefined,\n /** Optional configuration for the subscription */\n options?: {\n /** Resolve query to specify which nested CoValues to load */\n resolve?: ResolveQueryStrict<S, R>;\n /** Select which value to return */\n select?: (value: MaybeLoaded<Loaded<S, R>>) => TSelectorReturn;\n /** Equality function to determine if the selected value has changed, defaults to `Object.is` */\n equalityFn?: (a: TSelectorReturn, b: TSelectorReturn) => boolean;\n /**\n * Create or load a branch for isolated editing.\n *\n * Branching lets you take a snapshot of the current state and start modifying it without affecting the canonical/shared version.\n * It's a fork of your data graph: the same schema, but with diverging values.\n *\n * The checkout of the branch is applied on all the resolved values.\n *\n * @param name - A unique name for the branch. This identifies the branch\n * and can be used to switch between different branches of the same CoValue.\n * @param owner - The owner of the branch. Determines who can access and modify\n * the branch. If not provided, the branch is owned by the current user.\n *\n * For more info see the [branching](https://jazz.tools/docs/react/using-covalues/version-control) documentation.\n */\n unstable_branch?: BranchDefinition;\n },\n): TSelectorReturn {\n const subscription = useCoValueSubscription(Schema, id, options);\n const getCurrentValue = useGetCurrentValue(subscription);\n\n const value = useSyncExternalStoreWithSelector<\n MaybeLoaded<Loaded<S, R>>,\n TSelectorReturn\n >(\n React.useCallback(\n (callback) => {\n if (!subscription) {\n return () => {};\n }\n\n return subscription.subscribe(callback);\n },\n [subscription],\n ),\n getCurrentValue,\n getCurrentValue,\n options?.select ?? ((value) => value as TSelectorReturn),\n options?.equalityFn ?? Object.is,\n );\n\n return value;\n}\n\nexport function useSubscriptionSelector<\n S extends CoValueClassOrSchema,\n // @ts-expect-error we can't statically enforce the schema's resolve query is a valid resolve query, but in practice it is\n const R extends ResolveQuery<S> = SchemaResolveQuery<S>,\n TSelectorReturn = MaybeLoaded<Loaded<S, R>>,\n>(\n subscription: CoValueSubscription<S, R>,\n options?: {\n select?: (value: MaybeLoaded<Loaded<S, R>>) => TSelectorReturn;\n equalityFn?: (a: TSelectorReturn, b: TSelectorReturn) => boolean;\n },\n) {\n const getCurrentValue = useGetCurrentValue(subscription);\n\n return useSyncExternalStoreWithSelector<\n MaybeLoaded<Loaded<S, R>>,\n TSelectorReturn\n >(\n React.useCallback(\n (callback) => {\n if (!subscription) {\n return () => {};\n }\n\n return subscription.subscribe(callback);\n },\n [subscription],\n ),\n getCurrentValue,\n getCurrentValue,\n options?.select ?? ((value) => value as TSelectorReturn),\n options?.equalityFn ?? Object.is,\n );\n}\n\nexport function useAccountSubscription<\n S extends AccountClass<Account> | AnyAccountSchema,\n // @ts-expect-error we can't statically enforce the schema's resolve query is a valid resolve query, but in practice it is\n const R extends ResolveQuery<S> = SchemaResolveQuery<S>,\n>(\n Schema: S,\n options?: {\n resolve?: ResolveQueryStrict<S, R>;\n unstable_branch?: BranchDefinition;\n },\n) {\n const contextManager = useJazzContextManager();\n\n const createSubscription = () => {\n const agent = getCurrentAccountFromContextManager(contextManager);\n\n if (agent.$type$ === \"Anonymous\") {\n return {\n subscription: null,\n contextManager,\n agent,\n };\n }\n\n const resolve = getResolveQuery(Schema, options?.resolve);\n\n const node = contextManager.getCurrentValue()!.node;\n const subscription = new SubscriptionScope<any>(\n node,\n resolve,\n agent.$jazz.id,\n {\n ref: coValueClassFromCoValueClassOrSchema(Schema),\n optional: true,\n },\n false,\n false,\n options?.unstable_branch,\n );\n\n return {\n subscription,\n contextManager,\n Schema,\n branchName: options?.unstable_branch?.name,\n branchOwnerId: options?.unstable_branch?.owner?.$jazz.id,\n };\n };\n\n const [subscription, setSubscription] = React.useState(createSubscription);\n\n const branchName = options?.unstable_branch?.name;\n const branchOwnerId = options?.unstable_branch?.owner?.$jazz.id;\n\n React.useLayoutEffect(() => {\n if (\n subscription.contextManager !== contextManager ||\n subscription.Schema !== Schema ||\n subscription.branchName !== options?.unstable_branch?.name ||\n subscription.branchOwnerId !== options?.unstable_branch?.owner?.$jazz.id\n ) {\n subscription.subscription?.destroy();\n setSubscription(createSubscription());\n }\n\n return contextManager.subscribe(() => {\n subscription.subscription?.destroy();\n setSubscription(createSubscription());\n });\n }, [Schema, contextManager, branchName, branchOwnerId]);\n\n return subscription.subscription as CoValueSubscription<S, R>;\n}\n\n/**\n * React hook for accessing the current user's account.\n *\n * This hook provides access to the current user's account profile and root data.\n * It automatically handles the subscription lifecycle and supports deep loading of nested\n * CoValues through resolve queries.\n *\n * The {@param options.select} function allows returning only specific parts of the account data,\n * which helps reduce unnecessary re-renders by narrowing down the returned data.\n * Additionally, you can provide a custom {@param options.equalityFn} to further optimize\n * performance by controlling when the component should re-render based on the selected data.\n *\n * @returns The account data, or an {@link NotLoaded} value. Use `$isLoaded` to check whether the\n * CoValue is loaded, or use {@link MaybeLoaded.$jazz.loadingState} to get the detailed loading state.\n * If a selector function is provided, returns the result of the selector function.\n *\n * @example\n * ```tsx\n * // Select only specific fields to reduce re-renders\n * const MyAppAccount = co.account({\n * profile: co.profile(),\n * root: co.map({\n * name: z.string(),\n * email: z.string(),\n * lastLogin: z.date(),\n * }),\n * });\n *\n * function UserProfile({ accountId }: { accountId: string }) {\n * // Only re-render when the profile name changes, not other fields\n * const profileName = useAccount(\n * MyAppAccount,\n * {\n * resolve: {\n * profile: true,\n * root: true,\n * },\n * select: (account) => account.$isLoaded ? account.profile.name : \"Loading...\",\n * }\n * );\n *\n * return <h1>{profileName}</h1>;\n * }\n * ```\n *\n * @example\n * ```tsx\n * // Deep loading with resolve queries\n * function ProjectListWithDetails() {\n * const me = useAccount(MyAppAccount, {\n * resolve: {\n * profile: true,\n * root: {\n * myProjects: {\n * $each: {\n * tasks: true,\n * },\n * },\n * },\n * },\n * });\n *\n * if (!me.$isLoaded) {\n * switch (me.$jazz.loadingState) {\n * case \"unauthorized\":\n * return \"Account not accessible\";\n * case \"unavailable\":\n * return \"Account not found\";\n * case \"loading\":\n * return \"Loading account...\";\n * }\n * }\n *\n * return (\n * <div>\n * <h1>{me.profile.name}'s projects</h1>\n * <ul>\n * {me.root.myProjects.map((project) => (\n * <li key={project.id}>\n * {project.name} ({project.tasks.length} tasks)\n * </li>\n * ))}\n * </ul>\n * </div>\n * );\n * }\n * ```\n *\n */\nexport function useAccount<\n A extends AccountClass<Account> | AnyAccountSchema,\n // @ts-expect-error we can't statically enforce the schema's resolve query is a valid resolve query, but in practice it is\n const R extends ResolveQuery<A> = SchemaResolveQuery<A>,\n TSelectorReturn = MaybeLoaded<Loaded<A, R>>,\n>(\n /** The account schema to use. Defaults to the base Account schema */\n AccountSchema: A = Account as unknown as A,\n /** Optional configuration for the subscription */\n options?: {\n /** Resolve query to specify which nested CoValues to load from the account */\n resolve?: ResolveQueryStrict<A, R>;\n /** Select which value to return from the account data */\n select?: (account: MaybeLoaded<Loaded<A, R>>) => TSelectorReturn;\n /** Equality function to determine if the selected value has changed, defaults to `Object.is` */\n equalityFn?: (a: TSelectorReturn, b: TSelectorReturn) => boolean;\n /**\n * Create or load a branch for isolated editing.\n *\n * Branching lets you take a snapshot of the current state and start modifying it without affecting the canonical/shared version.\n * It's a fork of your data graph: the same schema, but with diverging values.\n *\n * The checkout of the branch is applied on all the resolved values.\n *\n * @param name - A unique name for the branch. This identifies the branch\n * and can be used to switch between different branches of the same CoValue.\n * @param owner - The owner of the branch. Determines who can access and modify\n * the branch. If not provided, the branch is owned by the current user.\n *\n * For more info see the [branching](https://jazz.tools/docs/react/using-covalues/version-control) documentation.\n */\n unstable_branch?: BranchDefinition;\n },\n): TSelectorReturn {\n const subscription = useAccountSubscription(AccountSchema, options);\n const getCurrentValue = useGetCurrentValue(subscription);\n\n return useSyncExternalStoreWithSelector<\n MaybeLoaded<Loaded<A, R>>,\n TSelectorReturn\n >(\n React.useCallback(\n (callback) => {\n if (!subscription) {\n return () => {};\n }\n\n return subscription.subscribe(callback);\n },\n [subscription],\n ),\n getCurrentValue,\n getCurrentValue,\n options?.select ?? ((value) => value as TSelectorReturn),\n options?.equalityFn ?? Object.is,\n );\n}\n\n/**\n * Returns a function for logging out of the current account.\n */\nexport function useLogOut(): () => void {\n const contextManager = useJazzContextManager();\n return contextManager.logOut;\n}\n\n/**\n * React hook for accessing the current agent. An agent can either be:\n * - an Authenticated Account, if the user is logged in\n * - an Anonymous Account, if the user didn't log in\n * - or an anonymous agent, if in guest mode\n *\n * The agent can be used as the `loadAs` parameter for load and subscribe methods.\n */\nexport function useAgent<\n A extends AccountClass<Account> | AnyAccountSchema = typeof Account,\n>(): AnonymousJazzAgent | Loaded<A, true> {\n const contextManager = useJazzContextManager<InstanceOfSchema<A>>();\n const agent = getCurrentAccountFromContextManager(contextManager);\n return agent as AnonymousJazzAgent | Loaded<A, true>;\n}\n\nexport function experimental_useInboxSender<\n I extends CoValue,\n O extends CoValue | undefined,\n>(inboxOwnerID: string | undefined) {\n const context = useJazzContext();\n\n if (!(\"me\" in context)) {\n throw new Error(\n \"useInboxSender can't be used in a JazzProvider with auth === 'guest'.\",\n );\n }\n\n const me = context.me;\n const inboxRef = useRef<Promise<InboxSender<I, O>> | undefined>(undefined);\n\n const sendMessage = useCallback(\n async (message: I) => {\n if (!inboxOwnerID) throw new Error(\"Inbox owner ID is required\");\n\n if (!inboxRef.current) {\n const inbox = InboxSender.load<I, O>(inboxOwnerID, me);\n inboxRef.current = inbox;\n }\n\n let inbox = await inboxRef.current;\n\n // Regenerate the InboxSender if the inbox owner or current account changes\n if (inbox.owner.id !== inboxOwnerID || inbox.currentAccount !== me) {\n const req = InboxSender.load<I, O>(inboxOwnerID, me);\n inboxRef.current = req;\n inbox = await req;\n }\n\n return inbox.sendMessage(message);\n },\n [inboxOwnerID, me.$jazz.id],\n );\n\n return sendMessage;\n}\n\n/**\n * Hook that returns the current connection status to the Jazz sync server.\n *\n * @returns `true` when connected to the server, `false` when disconnected\n *\n * @remarks\n * On connection drop, this hook will return `false` only when Jazz detects the disconnection\n * after 5 seconds of not receiving a ping from the server.\n */\nexport function useSyncConnectionStatus() {\n const context = useJazzContext();\n\n const connected = useSyncExternalStore(\n useCallback(\n (callback) => {\n return context.addConnectionListener(callback);\n },\n [context],\n ),\n () => context.connected(),\n () => context.connected(),\n );\n\n return connected;\n}\n\nfunction getResolveQuery(\n Schema: CoValueClassOrSchema,\n // We don't need type validation here, since this is an internal API\n resolveQuery?: ResolveQuery<any>,\n): ResolveQuery<any> {\n if (resolveQuery) {\n return resolveQuery;\n }\n // Check the schema is a CoValue schema (and not a CoValue class)\n if (\"resolveQuery\" in Schema) {\n return Schema.resolveQuery;\n }\n return true;\n}\n","import { Account, JazzContextManager } from \"jazz-tools\";\n\nexport function getCurrentAccountFromContextManager<Acc extends Account>(\n contextManager: JazzContextManager<Acc, any>,\n) {\n const context = contextManager.getCurrentValue();\n\n if (!context) {\n throw new Error(\"No context found\");\n }\n\n return \"me\" in context ? context.me : context.guest;\n}\n\nexport function subscribeToContextManager<Acc extends Account>(\n contextManager: JazzContextManager<Acc, any>,\n callback: () => () => void,\n) {\n let unsub = () => {};\n\n const handler = () => {\n unsub();\n unsub = callback();\n };\n\n handler();\n return contextManager.subscribe(handler);\n}\n","import React from \"react\";\nimport {\n Account,\n AccountClass,\n AnyAccountSchema,\n CoValueClassOrSchema,\n CoValueLoadingState,\n Loaded,\n MaybeLoaded,\n ResolveQuery,\n ResolveQueryStrict,\n} from \"jazz-tools\";\nimport {\n useAccountSubscription,\n useCoValueSubscription,\n useSubscriptionSelector,\n} from \"./hooks.js\";\nimport type { CoValueSubscription } from \"./types.js\";\n\nexport function createCoValueSubscriptionContext<\n S extends CoValueClassOrSchema,\n const R extends ResolveQuery<S> = true,\n>(schema: S, resolve?: ResolveQueryStrict<S, R>) {\n const Context = React.createContext<CoValueSubscription<S, R>>(null);\n\n return {\n Provider: ({\n id,\n options,\n loadingFallback,\n unavailableFallback,\n children,\n }: React.PropsWithChildren<{\n id: string | undefined | null;\n options?: Omit<\n Parameters<typeof useCoValueSubscription<S, R>>[2],\n \"resolve\"\n >;\n loadingFallback?: React.ReactNode;\n unavailableFallback?: React.ReactNode;\n }>) => {\n const subscription = useCoValueSubscription(schema, id, {\n ...options,\n resolve: resolve,\n });\n\n const loadState = useSubscriptionSelector(subscription, {\n select: (value) => value.$jazz.loadingState,\n });\n\n if (loadState === CoValueLoadingState.LOADING) {\n return loadingFallback ?? null;\n }\n if (\n loadState === CoValueLoadingState.UNAUTHORIZED ||\n loadState === CoValueLoadingState.UNAVAILABLE\n ) {\n return unavailableFallback ?? null;\n }\n\n return (\n <Context.Provider value={subscription}>{children}</Context.Provider>\n );\n },\n useSelector: <TSelectorReturn = Loaded<S, R>>(options?: {\n select?: (value: Loaded<S, R>) => TSelectorReturn;\n equalityFn?: (a: TSelectorReturn, b: TSelectorReturn) => boolean;\n }) => {\n const subscription = React.useContext(Context);\n\n if (!subscription) {\n throw new Error(\n \"useSelector must be used within a coValue subscription provider\",\n );\n }\n\n return useSubscriptionSelector<S, R, TSelectorReturn>(\n subscription,\n options as Parameters<\n typeof useSubscriptionSelector<S, R, TSelectorReturn>\n >[1],\n );\n },\n };\n}\n\nexport function createAccountSubscriptionContext<\n A extends AccountClass<Account> | AnyAccountSchema,\n const R extends ResolveQuery<A> = true,\n>(schema: A, resolve?: ResolveQueryStrict<A, R>) {\n const Context = React.createContext<CoValueSubscription<A, R>>(null);\n\n return {\n Provider: ({\n options,\n loadingFallback,\n unavailableFallback,\n children,\n }: React.PropsWithChildren<{\n options?: Omit<\n Parameters<typeof useAccountSubscription<A, R>>[1],\n \"resolve\"\n >;\n loadingFallback?: React.ReactNode;\n unavailableFallback?: React.ReactNode;\n }>) => {\n const subscription = useAccountSubscription(schema, {\n ...options,\n resolve: resolve,\n });\n\n const loadState = useSubscriptionSelector(subscription, {\n select: (value) => value.$jazz.loadingState,\n });\n\n if (loadState === CoValueLoadingState.LOADING) {\n return loadingFallback ?? null;\n }\n\n if (\n loadState === CoValueLoadingState.UNAUTHORIZED ||\n loadState === CoValueLoadingState.UNAVAILABLE\n ) {\n return unavailableFallback ?? null;\n }\n\n return (\n <Context.Provider value={subscription}>{children}</Context.Provider>\n );\n },\n useSelector: <TSelectorReturn = Loaded<A, R>>(options?: {\n select?: (value: Loaded<A, R>) => TSelectorReturn;\n equalityFn?: (a: TSelectorReturn, b: TSelectorReturn) => boolean;\n }) => {\n const subscription = React.useContext(Context);\n\n if (!subscription) {\n throw new Error(\n \"useSelector must be used within an account subscription provider\",\n );\n }\n\n return useSubscriptionSelector<A, R, TSelectorReturn>(\n subscription,\n options as Parameters<\n typeof useSubscriptionSelector<A, R, TSelectorReturn>\n >[1],\n );\n },\n };\n}\n","import { DemoAuth } from \"jazz-tools\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { useAuthSecretStorage, useJazzContext } from \"../hooks.js\";\nimport { useIsAuthenticated } from \"../hooks.js\";\n\n/**\n * `useDemoAuth` is a hook that provides a `JazzAuth` object for demo authentication.\n *\n *\n * ```ts\n * const { state, logIn, signUp, existingUsers } = useDemoAuth();\n * ```\n *\n * @category Auth Providers\n */\nexport function useDemoAuth() {\n const context = useJazzContext();\n const authSecretStorage = useAuthSecretStorage();\n\n if (\"guest\" in context) {\n throw new Error(\"Demo auth is not supported in guest mode\");\n }\n\n const authMethod = useMemo(() => {\n return new DemoAuth(context.authenticate, authSecretStorage);\n }, []);\n\n const isAuthenticated = useIsAuthenticated();\n const [existingUsers, setExistingUsers] = useState<string[]>([]);\n\n useEffect(() => {\n authMethod.getExistingUsers().then(setExistingUsers);\n }, [authMethod]);\n\n function handleSignUp(username: string) {\n return authMethod.signUp(username).then(() => {\n setExistingUsers(existingUsers.concat([username]));\n });\n }\n\n return {\n state: isAuthenticated ? \"signedIn\" : \"anonymous\",\n logIn: authMethod.logIn,\n signUp: handleSignUp,\n existingUsers,\n } as const;\n}\n","import { PassphraseAuth } from \"jazz-tools\";\nimport { useCallback, useMemo, useSyncExternalStore } from \"react\";\nimport { useAuthSecretStorage, useJazzContext } from \"../hooks.js\";\nimport { useIsAuthenticated } from \"../hooks.js\";\n\n/**\n * `usePassphraseAuth` hook provides a `JazzAuth` object for passphrase authentication.\n *\n * @example\n * ```ts\n * const auth = usePassphraseAuth({ appName, appHostname, wordlist });\n * ```\n *\n * @category Auth Providers\n */\nexport function usePassphraseAuth({ wordlist }: { wordlist: string[] }) {\n const context = useJazzContext();\n const authSecretStorage = useAuthSecretStorage();\n\n if (\"guest\" in context) {\n throw new Error(\"Passphrase auth is not supported in guest mode\");\n }\n\n const authMethod = useMemo(() => {\n return new PassphraseAuth(\n context.node.crypto,\n context.authenticate,\n context.register,\n authSecretStorage,\n wordlist,\n );\n }, [wordlist]);\n\n const passphrase = useSyncExternalStore(\n useCallback(\n (callback) => {\n authMethod.loadCurrentAccountPassphrase();\n return authMethod.subscribe(callback);\n },\n [authMethod],\n ),\n () => authMethod.passphrase,\n );\n\n const isAuthenticated = useIsAuthenticated();\n return {\n state: isAuthenticated ? \"signedIn\" : \"anonymous\",\n logIn: authMethod.logIn,\n signUp: authMethod.signUp,\n registerNewAccount: authMethod.registerNewAccount,\n generateRandomPassphrase: authMethod.generateRandomPassphrase,\n passphrase,\n } as const;\n}\n"],"mappings":"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","names":["subscription","value","inbox","React","CoValueLoadingState","React","CoValueLoadingState","useCallback","useMemo","useSyncExternalStore","useMemo","useSyncExternalStore","useCallback"]}
1
+ {"version":3,"sources":["../../src/react-core/hooks.ts","../../src/react-core/utils.ts","../../src/react-core/subscription-provider.tsx","../../src/react-core/auth/DemoAuth.tsx","../../src/react-core/auth/PassphraseAuth.tsx"],"sourcesContent":["import { useSyncExternalStoreWithSelector } from \"use-sync-external-store/shim/with-selector\";\nimport React, {\n useCallback,\n useContext,\n useRef,\n useSyncExternalStore,\n} from \"react\";\n\nimport {\n Account,\n AccountClass,\n AnonymousJazzAgent,\n AnyAccountSchema,\n CoValue,\n CoValueClassOrSchema,\n CoValueLoadingState,\n ExportedCoValue,\n InboxSender,\n InstanceOfSchema,\n JazzContextManager,\n JazzContextType,\n Loaded,\n MaybeLoaded,\n NotLoaded,\n ResolveQuery,\n ResolveQueryStrict,\n SchemaResolveQuery,\n SubscriptionScope,\n coValueClassFromCoValueClassOrSchema,\n importContentPieces,\n getUnloadedCoValueWithoutId,\n type BranchDefinition,\n} from \"jazz-tools\";\nimport { JazzContext, JazzContextManagerContext } from \"./provider.js\";\nimport { getCurrentAccountFromContextManager } from \"./utils.js\";\nimport { CoValueSubscription } from \"./types.js\";\n\nexport function useJazzContext<Acc extends Account>() {\n const value = useContext(JazzContext) as JazzContextType<Acc>;\n\n if (!value) {\n throw new Error(\n \"You need to set up a JazzProvider on top of your app to use this hook.\",\n );\n }\n\n return value;\n}\n\nexport function useJazzContextManager<Acc extends Account>() {\n const value = useContext(JazzContextManagerContext) as JazzContextManager<\n Acc,\n {}\n >;\n\n if (!value) {\n throw new Error(\n \"You need to set up a JazzProvider on top of your app to use this hook.\",\n );\n }\n\n return value;\n}\n\nexport function useAuthSecretStorage() {\n const value = useContext(JazzContextManagerContext);\n\n if (!value) {\n throw new Error(\n \"You need to set up a JazzProvider on top of your app to use this useAuthSecretStorage.\",\n );\n }\n\n return value.getAuthSecretStorage();\n}\n\nexport function useIsAuthenticated() {\n const authSecretStorage = useAuthSecretStorage();\n\n return useSyncExternalStore(\n useCallback(\n (callback) => {\n return authSecretStorage.onUpdate(callback);\n },\n [authSecretStorage],\n ),\n () => authSecretStorage.isAuthenticated,\n () => authSecretStorage.isAuthenticated,\n );\n}\n\nexport function useCoValueSubscription<\n S extends CoValueClassOrSchema,\n // @ts-expect-error we can't statically enforce the schema's resolve query is a valid resolve query, but in practice it is\n const R extends ResolveQuery<S> = SchemaResolveQuery<S>,\n>(\n Schema: S,\n id: string | undefined | null,\n options?: {\n resolve?: ResolveQueryStrict<S, R>;\n unstable_branch?: BranchDefinition;\n },\n) {\n const contextManager = useJazzContextManager();\n const agent = useAgent();\n\n const createSubscription = () => {\n if (!id) {\n return {\n subscription: null,\n contextManager,\n id,\n Schema,\n };\n }\n\n if (options?.unstable_branch?.owner === null) {\n return {\n subscription: null,\n contextManager,\n id,\n Schema,\n };\n }\n\n const resolve = getResolveQuery(Schema, options?.resolve);\n\n const node = contextManager.getCurrentValue()!.node;\n const subscription = new SubscriptionScope<any>(\n node,\n resolve,\n id,\n {\n ref: coValueClassFromCoValueClassOrSchema(Schema),\n optional: true,\n },\n false,\n false,\n options?.unstable_branch,\n );\n\n return {\n value: subscription,\n contextManager,\n id,\n Schema,\n branchName: options?.unstable_branch?.name,\n branchOwnerId: options?.unstable_branch?.owner?.$jazz.id,\n agent,\n };\n };\n\n const subscriptionRef = React.useRef<null | ReturnType<\n typeof createSubscription\n >>(null);\n\n if (!subscriptionRef.current) {\n subscriptionRef.current = createSubscription();\n }\n\n const branchName = options?.unstable_branch?.name;\n const branchOwnerId = options?.unstable_branch?.owner?.$jazz.id;\n\n let subscription = subscriptionRef.current;\n\n // Check if the subscription needs to be updated\n // because one of the dependencies has changed\n if (\n subscription.contextManager !== contextManager ||\n subscription.id !== id ||\n subscription.Schema !== Schema ||\n subscription.branchName !== branchName ||\n subscription.branchOwnerId !== branchOwnerId ||\n subscription.agent !== agent\n ) {\n subscription.value?.destroy();\n subscriptionRef.current = createSubscription();\n subscription = subscriptionRef.current;\n }\n\n // Subscribe to the context manager to react to auth changes\n return subscription.value as CoValueSubscription<S, R>;\n}\n\nfunction useImportCoValueContent<V>(\n id: string | undefined | null,\n content?: ExportedCoValue<V>,\n) {\n const agent = useAgent();\n const preloadExecuted = useRef<typeof agent | null>(null);\n if (content && preloadExecuted.current !== agent && id) {\n if (content.id === id) {\n importContentPieces(content.contentPieces, agent);\n } else {\n console.warn(\"Preloaded value ID does not match the subscription ID\");\n }\n\n preloadExecuted.current = agent;\n }\n}\n\nfunction useGetCurrentValue<C extends CoValue>(\n subscription: SubscriptionScope<C> | null,\n) {\n return useCallback(() => {\n if (!subscription) {\n return getUnloadedCoValueWithoutId(CoValueLoadingState.UNAVAILABLE);\n }\n\n return subscription.getCurrentValue();\n }, [subscription]);\n}\n\n/**\n * React hook for subscribing to CoValues and handling loading states.\n *\n * This hook provides a convenient way to subscribe to CoValues and automatically\n * handles the subscription lifecycle (subscribe on mount, unsubscribe on unmount).\n * It also supports deep loading of nested CoValues through resolve queries.\n *\n * The {@param options.select} function allows returning only specific parts of the CoValue data,\n * which helps reduce unnecessary re-renders by narrowing down the returned data.\n * Additionally, you can provide a custom {@param options.equalityFn} to further optimize\n * performance by controlling when the component should re-render based on the selected data.\n *\n * @returns The loaded CoValue, or an {@link NotLoaded} value. Use `$isLoaded` to check whether the\n * CoValue is loaded, or use {@link MaybeLoaded.$jazz.loadingState} to get the detailed loading state.\n * If a selector function is provided, returns the result of the selector function.\n *\n * @example\n * ```tsx\n * // Select only specific fields to reduce re-renders\n * const Project = co.map({\n * name: z.string(),\n * description: z.string(),\n * tasks: co.list(Task),\n * lastModified: z.date(),\n * });\n *\n * function ProjectTitle({ projectId }: { projectId: string }) {\n * // Only re-render when the project name changes, not other fields\n * const projectName = useCoState(\n * Project,\n * projectId,\n * {\n * select: (project) => !project.$isLoading ? project.name : \"Loading...\",\n * }\n * );\n *\n * return <h1>{projectName}</h1>;\n * }\n * ```\n *\n * @example\n * ```tsx\n * // Deep loading with resolve queries\n * const Project = co.map({\n * name: z.string(),\n * tasks: co.list(Task),\n * owner: TeamMember,\n * });\n *\n * function ProjectView({ projectId }: { projectId: string }) {\n * const project = useCoState(Project, projectId, {\n * resolve: {\n * tasks: { $each: true },\n * owner: true,\n * },\n * });\n *\n * if (!project.$isLoaded) {\n * switch (project.$jazz.loadingState) {\n * case \"unauthorized\":\n * return \"Project not accessible\";\n * case \"unavailable\":\n * return \"Project not found\";\n * case \"loading\":\n * return \"Loading project...\";\n * }\n * }\n *\n * return (\n * <div>\n * <h1>{project.name}</h1>\n * <p>Owner: {project.owner.name}</p>\n * <ul>\n * {project.tasks.map((task) => (\n * <li key={task.id}>{task.title}</li>\n * ))}\n * </ul>\n * </div>\n * );\n * }\n * ```\n *\n * @example\n * ```tsx\n * // Using with optional references and error handling\n * const Task = co.map({\n * title: z.string(),\n * assignee: co.optional(TeamMember),\n * subtasks: co.list(Task),\n * });\n *\n * function TaskDetail({ taskId }: { taskId: string }) {\n * const task = useCoState(Task, taskId, {\n * resolve: {\n * assignee: true,\n * subtasks: { $each: { $onError: 'catch' } },\n * },\n * });\n *\n * if (!task.$isLoaded) {\n * switch (task.$jazz.loadingState) {\n * case \"unauthorized\":\n * return \"Task not accessible\";\n * case \"unavailable\":\n * return \"Task not found\";\n * case \"loading\":\n * return \"Loading task...\";\n * }\n * }\n *\n * return (\n * <div>\n * <h2>{task.title}</h2>\n * {task.assignee && <p>Assigned to: {task.assignee.name}</p>}\n * <ul>\n * {task.subtasks.map((subtask, index) => (\n * subtask.$isLoaded ? <li key={subtask.id}>{subtask.title}</li> : <li key={index}>Inaccessible subtask</li>\n * ))}\n * </ul>\n * </div>\n * );\n * }\n * ```\n *\n * @example\n * ```tsx\n * // Use custom equality function for complex data structures\n * const TaskList = co.list(Task);\n *\n * function TaskCount({ listId }: { listId: string }) {\n * const taskStats = useCoState(\n * TaskList,\n * listId,\n * {\n * resolve: { $each: true },\n * select: (tasks) => {\n * if (!tasks.$isLoaded) return { total: 0, completed: 0 };\n * return {\n * total: tasks.length,\n * completed: tasks.filter(task => task.completed).length,\n * };\n * },\n * // Custom equality to prevent re-renders when stats haven't changed\n * equalityFn: (a, b) => a.total === b.total && a.completed === b.completed,\n * }\n * );\n *\n * return (\n * <div>\n * {taskStats.completed} of {taskStats.total} tasks completed\n * </div>\n * );\n * }\n * ```\n *\n * For more examples, see the [subscription and deep loading](https://jazz.tools/docs/react/using-covalues/subscription-and-loading) documentation.\n */\nexport function useCoState<\n S extends CoValueClassOrSchema,\n // @ts-expect-error we can't statically enforce the schema's resolve query is a valid resolve query, but in practice it is\n const R extends ResolveQuery<S> = SchemaResolveQuery<S>,\n TSelectorReturn = MaybeLoaded<Loaded<S, R>>,\n>(\n /** The CoValue schema or class constructor */\n Schema: S,\n /** The ID of the CoValue to subscribe to. If `undefined`, returns an `unavailable` value */\n id: string | undefined,\n /** Optional configuration for the subscription */\n options?: {\n /** Resolve query to specify which nested CoValues to load */\n resolve?: ResolveQueryStrict<S, R>;\n /** Select which value to return */\n select?: (value: MaybeLoaded<Loaded<S, R>>) => TSelectorReturn;\n /** Equality function to determine if the selected value has changed, defaults to `Object.is` */\n equalityFn?: (a: TSelectorReturn, b: TSelectorReturn) => boolean;\n /**\n * Create or load a branch for isolated editing.\n *\n * Branching lets you take a snapshot of the current state and start modifying it without affecting the canonical/shared version.\n * It's a fork of your data graph: the same schema, but with diverging values.\n *\n * The checkout of the branch is applied on all the resolved values.\n *\n * @param name - A unique name for the branch. This identifies the branch\n * and can be used to switch between different branches of the same CoValue.\n * @param owner - The owner of the branch. Determines who can access and modify\n * the branch. If not provided, the branch is owned by the current user.\n *\n * For more info see the [branching](https://jazz.tools/docs/react/using-covalues/version-control) documentation.\n */\n unstable_branch?: BranchDefinition;\n preloaded?: ExportedCoValue<Loaded<S, R>>;\n },\n): TSelectorReturn {\n useImportCoValueContent(id, options?.preloaded);\n\n const subscription = useCoValueSubscription(Schema, id, options);\n const getCurrentValue = useGetCurrentValue(subscription);\n\n const value = useSyncExternalStoreWithSelector<\n MaybeLoaded<Loaded<S, R>>,\n TSelectorReturn\n >(\n React.useCallback(\n (callback) => {\n if (!subscription) {\n return () => {};\n }\n\n return subscription.subscribe(callback);\n },\n [subscription],\n ),\n getCurrentValue,\n getCurrentValue,\n options?.select ?? ((value) => value as TSelectorReturn),\n options?.equalityFn ?? Object.is,\n );\n\n return value;\n}\n\nexport function useSubscriptionSelector<\n S extends CoValueClassOrSchema,\n // @ts-expect-error we can't statically enforce the schema's resolve query is a valid resolve query, but in practice it is\n const R extends ResolveQuery<S> = SchemaResolveQuery<S>,\n TSelectorReturn = MaybeLoaded<Loaded<S, R>>,\n>(\n subscription: CoValueSubscription<S, R>,\n options?: {\n select?: (value: MaybeLoaded<Loaded<S, R>>) => TSelectorReturn;\n equalityFn?: (a: TSelectorReturn, b: TSelectorReturn) => boolean;\n },\n) {\n const getCurrentValue = useGetCurrentValue(subscription);\n\n return useSyncExternalStoreWithSelector<\n MaybeLoaded<Loaded<S, R>>,\n TSelectorReturn\n >(\n React.useCallback(\n (callback) => {\n if (!subscription) {\n return () => {};\n }\n\n return subscription.subscribe(callback);\n },\n [subscription],\n ),\n getCurrentValue,\n getCurrentValue,\n options?.select ?? ((value) => value as TSelectorReturn),\n options?.equalityFn ?? Object.is,\n );\n}\n\nexport function useAccountSubscription<\n S extends AccountClass<Account> | AnyAccountSchema,\n // @ts-expect-error we can't statically enforce the schema's resolve query is a valid resolve query, but in practice it is\n const R extends ResolveQuery<S> = SchemaResolveQuery<S>,\n>(\n Schema: S,\n options?: {\n resolve?: ResolveQueryStrict<S, R>;\n unstable_branch?: BranchDefinition;\n },\n) {\n const contextManager = useJazzContextManager();\n\n const createSubscription = () => {\n const agent = getCurrentAccountFromContextManager(contextManager);\n\n if (agent.$type$ === \"Anonymous\") {\n return {\n subscription: null,\n contextManager,\n agent,\n };\n }\n\n const resolve = getResolveQuery(Schema, options?.resolve);\n\n const node = contextManager.getCurrentValue()!.node;\n const subscription = new SubscriptionScope<any>(\n node,\n resolve,\n agent.$jazz.id,\n {\n ref: coValueClassFromCoValueClassOrSchema(Schema),\n optional: true,\n },\n false,\n false,\n options?.unstable_branch,\n );\n\n return {\n subscription,\n contextManager,\n Schema,\n branchName: options?.unstable_branch?.name,\n branchOwnerId: options?.unstable_branch?.owner?.$jazz.id,\n };\n };\n\n const [subscription, setSubscription] = React.useState(createSubscription);\n\n const branchName = options?.unstable_branch?.name;\n const branchOwnerId = options?.unstable_branch?.owner?.$jazz.id;\n\n React.useLayoutEffect(() => {\n if (\n subscription.contextManager !== contextManager ||\n subscription.Schema !== Schema ||\n subscription.branchName !== options?.unstable_branch?.name ||\n subscription.branchOwnerId !== options?.unstable_branch?.owner?.$jazz.id\n ) {\n subscription.subscription?.destroy();\n setSubscription(createSubscription());\n }\n\n return contextManager.subscribe(() => {\n subscription.subscription?.destroy();\n setSubscription(createSubscription());\n });\n }, [Schema, contextManager, branchName, branchOwnerId]);\n\n return subscription.subscription as CoValueSubscription<S, R>;\n}\n\n/**\n * React hook for accessing the current user's account.\n *\n * This hook provides access to the current user's account profile and root data.\n * It automatically handles the subscription lifecycle and supports deep loading of nested\n * CoValues through resolve queries.\n *\n * The {@param options.select} function allows returning only specific parts of the account data,\n * which helps reduce unnecessary re-renders by narrowing down the returned data.\n * Additionally, you can provide a custom {@param options.equalityFn} to further optimize\n * performance by controlling when the component should re-render based on the selected data.\n *\n * @returns The account data, or an {@link NotLoaded} value. Use `$isLoaded` to check whether the\n * CoValue is loaded, or use {@link MaybeLoaded.$jazz.loadingState} to get the detailed loading state.\n * If a selector function is provided, returns the result of the selector function.\n *\n * @example\n * ```tsx\n * // Select only specific fields to reduce re-renders\n * const MyAppAccount = co.account({\n * profile: co.profile(),\n * root: co.map({\n * name: z.string(),\n * email: z.string(),\n * lastLogin: z.date(),\n * }),\n * });\n *\n * function UserProfile({ accountId }: { accountId: string }) {\n * // Only re-render when the profile name changes, not other fields\n * const profileName = useAccount(\n * MyAppAccount,\n * {\n * resolve: {\n * profile: true,\n * root: true,\n * },\n * select: (account) => account.$isLoaded ? account.profile.name : \"Loading...\",\n * }\n * );\n *\n * return <h1>{profileName}</h1>;\n * }\n * ```\n *\n * @example\n * ```tsx\n * // Deep loading with resolve queries\n * function ProjectListWithDetails() {\n * const me = useAccount(MyAppAccount, {\n * resolve: {\n * profile: true,\n * root: {\n * myProjects: {\n * $each: {\n * tasks: true,\n * },\n * },\n * },\n * },\n * });\n *\n * if (!me.$isLoaded) {\n * switch (me.$jazz.loadingState) {\n * case \"unauthorized\":\n * return \"Account not accessible\";\n * case \"unavailable\":\n * return \"Account not found\";\n * case \"loading\":\n * return \"Loading account...\";\n * }\n * }\n *\n * return (\n * <div>\n * <h1>{me.profile.name}'s projects</h1>\n * <ul>\n * {me.root.myProjects.map((project) => (\n * <li key={project.id}>\n * {project.name} ({project.tasks.length} tasks)\n * </li>\n * ))}\n * </ul>\n * </div>\n * );\n * }\n * ```\n *\n */\nexport function useAccount<\n A extends AccountClass<Account> | AnyAccountSchema,\n // @ts-expect-error we can't statically enforce the schema's resolve query is a valid resolve query, but in practice it is\n const R extends ResolveQuery<A> = SchemaResolveQuery<A>,\n TSelectorReturn = MaybeLoaded<Loaded<A, R>>,\n>(\n /** The account schema to use. Defaults to the base Account schema */\n AccountSchema: A = Account as unknown as A,\n /** Optional configuration for the subscription */\n options?: {\n /** Resolve query to specify which nested CoValues to load from the account */\n resolve?: ResolveQueryStrict<A, R>;\n /** Select which value to return from the account data */\n select?: (account: MaybeLoaded<Loaded<A, R>>) => TSelectorReturn;\n /** Equality function to determine if the selected value has changed, defaults to `Object.is` */\n equalityFn?: (a: TSelectorReturn, b: TSelectorReturn) => boolean;\n /**\n * Create or load a branch for isolated editing.\n *\n * Branching lets you take a snapshot of the current state and start modifying it without affecting the canonical/shared version.\n * It's a fork of your data graph: the same schema, but with diverging values.\n *\n * The checkout of the branch is applied on all the resolved values.\n *\n * @param name - A unique name for the branch. This identifies the branch\n * and can be used to switch between different branches of the same CoValue.\n * @param owner - The owner of the branch. Determines who can access and modify\n * the branch. If not provided, the branch is owned by the current user.\n *\n * For more info see the [branching](https://jazz.tools/docs/react/using-covalues/version-control) documentation.\n */\n unstable_branch?: BranchDefinition;\n },\n): TSelectorReturn {\n const subscription = useAccountSubscription(AccountSchema, options);\n const getCurrentValue = useGetCurrentValue(subscription);\n\n return useSyncExternalStoreWithSelector<\n MaybeLoaded<Loaded<A, R>>,\n TSelectorReturn\n >(\n React.useCallback(\n (callback) => {\n if (!subscription) {\n return () => {};\n }\n\n return subscription.subscribe(callback);\n },\n [subscription],\n ),\n getCurrentValue,\n getCurrentValue,\n options?.select ?? ((value) => value as TSelectorReturn),\n options?.equalityFn ?? Object.is,\n );\n}\n\n/**\n * Returns a function for logging out of the current account.\n */\nexport function useLogOut(): () => void {\n const contextManager = useJazzContextManager();\n return contextManager.logOut;\n}\n\n/**\n * React hook for accessing the current agent. An agent can either be:\n * - an Authenticated Account, if the user is logged in\n * - an Anonymous Account, if the user didn't log in\n * - or an anonymous agent, if in guest mode\n *\n * The agent can be used as the `loadAs` parameter for load and subscribe methods.\n */\nexport function useAgent<\n A extends AccountClass<Account> | AnyAccountSchema = typeof Account,\n>(): AnonymousJazzAgent | Loaded<A, true> {\n const contextManager = useJazzContextManager<InstanceOfSchema<A>>();\n\n const getCurrentValue = () =>\n getCurrentAccountFromContextManager(contextManager) as\n | AnonymousJazzAgent\n | Loaded<A, true>;\n\n return React.useSyncExternalStore(\n useCallback(\n (callback) => {\n return contextManager.subscribe(callback);\n },\n [contextManager],\n ),\n getCurrentValue,\n getCurrentValue,\n );\n}\n\nexport function experimental_useInboxSender<\n I extends CoValue,\n O extends CoValue | undefined,\n>(inboxOwnerID: string | undefined) {\n const context = useJazzContext();\n\n if (!(\"me\" in context)) {\n throw new Error(\n \"useInboxSender can't be used in a JazzProvider with auth === 'guest'.\",\n );\n }\n\n const me = context.me;\n const inboxRef = useRef<Promise<InboxSender<I, O>> | undefined>(undefined);\n\n const sendMessage = useCallback(\n async (message: I) => {\n if (!inboxOwnerID) throw new Error(\"Inbox owner ID is required\");\n\n if (!inboxRef.current) {\n const inbox = InboxSender.load<I, O>(inboxOwnerID, me);\n inboxRef.current = inbox;\n }\n\n let inbox = await inboxRef.current;\n\n // Regenerate the InboxSender if the inbox owner or current account changes\n if (inbox.owner.id !== inboxOwnerID || inbox.currentAccount !== me) {\n const req = InboxSender.load<I, O>(inboxOwnerID, me);\n inboxRef.current = req;\n inbox = await req;\n }\n\n return inbox.sendMessage(message);\n },\n [inboxOwnerID, me.$jazz.id],\n );\n\n return sendMessage;\n}\n\n/**\n * Hook that returns the current connection status to the Jazz sync server.\n *\n * @returns `true` when connected to the server, `false` when disconnected\n *\n * @remarks\n * On connection drop, this hook will return `false` only when Jazz detects the disconnection\n * after 5 seconds of not receiving a ping from the server.\n */\nexport function useSyncConnectionStatus() {\n const context = useJazzContext();\n\n const connected = useSyncExternalStore(\n useCallback(\n (callback) => {\n return context.addConnectionListener(callback);\n },\n [context],\n ),\n () => context.connected(),\n () => context.connected(),\n );\n\n return connected;\n}\n\nfunction getResolveQuery(\n Schema: CoValueClassOrSchema,\n // We don't need type validation here, since this is an internal API\n resolveQuery?: ResolveQuery<any>,\n): ResolveQuery<any> {\n if (resolveQuery) {\n return resolveQuery;\n }\n // Check the schema is a CoValue schema (and not a CoValue class)\n if (\"resolveQuery\" in Schema) {\n return Schema.resolveQuery;\n }\n return true;\n}\n","import { Account, JazzContextManager } from \"jazz-tools\";\n\nexport function getCurrentAccountFromContextManager<Acc extends Account>(\n contextManager: JazzContextManager<Acc, any>,\n) {\n const context = contextManager.getCurrentValue();\n\n if (!context) {\n throw new Error(\"No context found\");\n }\n\n return \"me\" in context ? context.me : context.guest;\n}\n\nexport function subscribeToContextManager<Acc extends Account>(\n contextManager: JazzContextManager<Acc, any>,\n callback: () => () => void,\n) {\n let unsub = () => {};\n\n const handler = () => {\n unsub();\n unsub = callback();\n };\n\n handler();\n return contextManager.subscribe(handler);\n}\n","import React from \"react\";\nimport {\n Account,\n AccountClass,\n AnyAccountSchema,\n CoValueClassOrSchema,\n CoValueLoadingState,\n Loaded,\n MaybeLoaded,\n ResolveQuery,\n ResolveQueryStrict,\n} from \"jazz-tools\";\nimport {\n useAccountSubscription,\n useCoValueSubscription,\n useSubscriptionSelector,\n} from \"./hooks.js\";\nimport type { CoValueSubscription } from \"./types.js\";\n\nexport function createCoValueSubscriptionContext<\n S extends CoValueClassOrSchema,\n const R extends ResolveQuery<S> = true,\n>(schema: S, resolve?: ResolveQueryStrict<S, R>) {\n const Context = React.createContext<CoValueSubscription<S, R>>(null);\n\n return {\n Provider: ({\n id,\n options,\n loadingFallback,\n unavailableFallback,\n children,\n }: React.PropsWithChildren<{\n id: string | undefined | null;\n options?: Omit<\n Parameters<typeof useCoValueSubscription<S, R>>[2],\n \"resolve\"\n >;\n loadingFallback?: React.ReactNode;\n unavailableFallback?: React.ReactNode;\n }>) => {\n const subscription = useCoValueSubscription(schema, id, {\n ...options,\n resolve: resolve,\n });\n\n const loadState = useSubscriptionSelector(subscription, {\n select: (value) => value.$jazz.loadingState,\n });\n\n if (loadState === CoValueLoadingState.LOADING) {\n return loadingFallback ?? null;\n }\n if (\n loadState === CoValueLoadingState.UNAUTHORIZED ||\n loadState === CoValueLoadingState.UNAVAILABLE\n ) {\n return unavailableFallback ?? null;\n }\n\n return (\n <Context.Provider value={subscription}>{children}</Context.Provider>\n );\n },\n useSelector: <TSelectorReturn = Loaded<S, R>>(options?: {\n select?: (value: Loaded<S, R>) => TSelectorReturn;\n equalityFn?: (a: TSelectorReturn, b: TSelectorReturn) => boolean;\n }) => {\n const subscription = React.useContext(Context);\n\n if (!subscription) {\n throw new Error(\n \"useSelector must be used within a coValue subscription provider\",\n );\n }\n\n return useSubscriptionSelector<S, R, TSelectorReturn>(\n subscription,\n options as Parameters<\n typeof useSubscriptionSelector<S, R, TSelectorReturn>\n >[1],\n );\n },\n };\n}\n\nexport function createAccountSubscriptionContext<\n A extends AccountClass<Account> | AnyAccountSchema,\n const R extends ResolveQuery<A> = true,\n>(schema: A, resolve?: ResolveQueryStrict<A, R>) {\n const Context = React.createContext<CoValueSubscription<A, R>>(null);\n\n return {\n Provider: ({\n options,\n loadingFallback,\n unavailableFallback,\n children,\n }: React.PropsWithChildren<{\n options?: Omit<\n Parameters<typeof useAccountSubscription<A, R>>[1],\n \"resolve\"\n >;\n loadingFallback?: React.ReactNode;\n unavailableFallback?: React.ReactNode;\n }>) => {\n const subscription = useAccountSubscription(schema, {\n ...options,\n resolve: resolve,\n });\n\n const loadState = useSubscriptionSelector(subscription, {\n select: (value) => value.$jazz.loadingState,\n });\n\n if (loadState === CoValueLoadingState.LOADING) {\n return loadingFallback ?? null;\n }\n\n if (\n loadState === CoValueLoadingState.UNAUTHORIZED ||\n loadState === CoValueLoadingState.UNAVAILABLE\n ) {\n return unavailableFallback ?? null;\n }\n\n return (\n <Context.Provider value={subscription}>{children}</Context.Provider>\n );\n },\n useSelector: <TSelectorReturn = Loaded<A, R>>(options?: {\n select?: (value: Loaded<A, R>) => TSelectorReturn;\n equalityFn?: (a: TSelectorReturn, b: TSelectorReturn) => boolean;\n }) => {\n const subscription = React.useContext(Context);\n\n if (!subscription) {\n throw new Error(\n \"useSelector must be used within an account subscription provider\",\n );\n }\n\n return useSubscriptionSelector<A, R, TSelectorReturn>(\n subscription,\n options as Parameters<\n typeof useSubscriptionSelector<A, R, TSelectorReturn>\n >[1],\n );\n },\n };\n}\n","import { DemoAuth } from \"jazz-tools\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { useAuthSecretStorage, useJazzContext } from \"../hooks.js\";\nimport { useIsAuthenticated } from \"../hooks.js\";\n\n/**\n * `useDemoAuth` is a hook that provides a `JazzAuth` object for demo authentication.\n *\n *\n * ```ts\n * const { state, logIn, signUp, existingUsers } = useDemoAuth();\n * ```\n *\n * @category Auth Providers\n */\nexport function useDemoAuth() {\n const context = useJazzContext();\n const authSecretStorage = useAuthSecretStorage();\n\n if (\"guest\" in context) {\n throw new Error(\"Demo auth is not supported in guest mode\");\n }\n\n const authMethod = useMemo(() => {\n return new DemoAuth(context.authenticate, authSecretStorage);\n }, []);\n\n const isAuthenticated = useIsAuthenticated();\n const [existingUsers, setExistingUsers] = useState<string[]>([]);\n\n useEffect(() => {\n authMethod.getExistingUsers().then(setExistingUsers);\n }, [authMethod]);\n\n function handleSignUp(username: string) {\n return authMethod.signUp(username).then(() => {\n setExistingUsers(existingUsers.concat([username]));\n });\n }\n\n return {\n state: isAuthenticated ? \"signedIn\" : \"anonymous\",\n logIn: authMethod.logIn,\n signUp: handleSignUp,\n existingUsers,\n } as const;\n}\n","import { PassphraseAuth } from \"jazz-tools\";\nimport { useCallback, useMemo, useSyncExternalStore } from \"react\";\nimport { useAuthSecretStorage, useJazzContext } from \"../hooks.js\";\nimport { useIsAuthenticated } from \"../hooks.js\";\n\n/**\n * `usePassphraseAuth` hook provides a `JazzAuth` object for passphrase authentication.\n *\n * @example\n * ```ts\n * const auth = usePassphraseAuth({ appName, appHostname, wordlist });\n * ```\n *\n * @category Auth Providers\n */\nexport function usePassphraseAuth({ wordlist }: { wordlist: string[] }) {\n const context = useJazzContext();\n const authSecretStorage = useAuthSecretStorage();\n\n if (\"guest\" in context) {\n throw new Error(\"Passphrase auth is not supported in guest mode\");\n }\n\n const authMethod = useMemo(() => {\n return new PassphraseAuth(\n context.node.crypto,\n context.authenticate,\n context.register,\n authSecretStorage,\n wordlist,\n );\n }, [wordlist]);\n\n const passphrase = useSyncExternalStore(\n useCallback(\n (callback) => {\n authMethod.loadCurrentAccountPassphrase();\n return authMethod.subscribe(callback);\n },\n [authMethod],\n ),\n () => authMethod.passphrase,\n );\n\n const isAuthenticated = useIsAuthenticated();\n return {\n state: isAuthenticated ? \"signedIn\" : \"anonymous\",\n logIn: authMethod.logIn,\n signUp: authMethod.signUp,\n registerNewAccount: authMethod.registerNewAccount,\n generateRandomPassphrase: authMethod.generateRandomPassphrase,\n passphrase,\n } as const;\n}\n"],"mappings":"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","names":["subscription","value","inbox","React","CoValueLoadingState","React","CoValueLoadingState","useCallback","useMemo","useSyncExternalStore","useMemo","useSyncExternalStore","useCallback"]}
@@ -1,11 +1,13 @@
1
1
  import { JsonValue, Stringified } from "cojson";
2
2
  import { CojsonInternalTypes } from "cojson";
3
- import { PureJSCrypto } from "cojson/dist/crypto/PureJSCrypto";
3
+ import { PureJSCrypto, Blake3State } from "cojson/dist/crypto/PureJSCrypto";
4
4
  import { Ed } from "react-native-quick-crypto";
5
5
  export declare class RNQuickCrypto extends PureJSCrypto {
6
6
  ed: Ed;
7
7
  constructor();
8
8
  static create(): Promise<RNQuickCrypto>;
9
+ createStreamingHash(): Blake3State;
10
+ blake3HashOnce(data: Uint8Array): Uint8Array;
9
11
  newEd25519SigningKey(): Uint8Array;
10
12
  sign(secret: CojsonInternalTypes.SignerSecret, message: JsonValue): CojsonInternalTypes.Signature;
11
13
  verify(signature: CojsonInternalTypes.Signature, message: JsonValue, id: CojsonInternalTypes.SignerID): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"RNQuickCrypto.d.ts","sourceRoot":"","sources":["../../../src/react-native-core/crypto/RNQuickCrypto.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,WAAW,EAGZ,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,mBAAmB,EAAmB,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAY,MAAM,2BAA2B,CAAC;AAGzD,qBAAa,aAAc,SAAQ,YAAY;IAC7C,EAAE,EAAE,EAAE,CAAC;;WAOM,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;IAI7C,oBAAoB,IAAI,UAAU;IAKlC,IAAI,CACF,MAAM,EAAE,mBAAmB,CAAC,YAAY,EACxC,OAAO,EAAE,SAAS,GACjB,mBAAmB,CAAC,SAAS;IAUhC,MAAM,CACJ,SAAS,EAAE,mBAAmB,CAAC,SAAS,EACxC,OAAO,EAAE,SAAS,EAClB,EAAE,EAAE,mBAAmB,CAAC,QAAQ,GAC/B,OAAO;IAQV,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EAC9C,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,mBAAmB,CAAC,SAAS,EACxC,aAAa,EAAE,CAAC,GACf,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IAgBtC,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EACjD,SAAS,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9C,SAAS,EAAE,mBAAmB,CAAC,SAAS,EACxC,aAAa,EAAE,CAAC,GACf,WAAW,CAAC,CAAC,CAAC;CAalB"}
1
+ {"version":3,"file":"RNQuickCrypto.d.ts","sourceRoot":"","sources":["../../../src/react-native-core/crypto/RNQuickCrypto.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,WAAW,EAGZ,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,mBAAmB,EAAmB,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,EAAE,EAA4B,MAAM,2BAA2B,CAAC;AAwBzE,qBAAa,aAAc,SAAQ,YAAY;IAC7C,EAAE,EAAE,EAAE,CAAC;;WAOM,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;IAI7C,mBAAmB,IAAI,WAAW;IAKlC,cAAc,CAAC,IAAI,EAAE,UAAU;IAI/B,oBAAoB,IAAI,UAAU;IAKlC,IAAI,CACF,MAAM,EAAE,mBAAmB,CAAC,YAAY,EACxC,OAAO,EAAE,SAAS,GACjB,mBAAmB,CAAC,SAAS;IAUhC,MAAM,CACJ,SAAS,EAAE,mBAAmB,CAAC,SAAS,EACxC,OAAO,EAAE,SAAS,EAClB,EAAE,EAAE,mBAAmB,CAAC,QAAQ,GAC/B,OAAO;IAQV,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EAC9C,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,mBAAmB,CAAC,SAAS,EACxC,aAAa,EAAE,CAAC,GACf,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IAgBtC,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EACjD,SAAS,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9C,SAAS,EAAE,mBAAmB,CAAC,SAAS,EACxC,aAAa,EAAE,CAAC,GACf,WAAW,CAAC,CAAC,CAAC;CAalB"}
@@ -6,8 +6,23 @@ import {
6
6
  } from "cojson";
7
7
  import { cojsonInternals } from "cojson";
8
8
  import { PureJSCrypto } from "cojson/dist/crypto/PureJSCrypto";
9
- import { Ed, xsalsa20 } from "react-native-quick-crypto";
9
+ import { Ed, xsalsa20, blake3 } from "react-native-quick-crypto";
10
10
  var { stableStringify } = cojsonInternals;
11
+ var Blake3StateAdapter = class _Blake3StateAdapter {
12
+ constructor(instance) {
13
+ this.instance = instance;
14
+ }
15
+ update(buf) {
16
+ this.instance.update(buf);
17
+ return this;
18
+ }
19
+ digest() {
20
+ return this.instance.digest();
21
+ }
22
+ clone() {
23
+ return new _Blake3StateAdapter(this.instance.copy());
24
+ }
25
+ };
11
26
  var RNQuickCrypto = class _RNQuickCrypto extends PureJSCrypto {
12
27
  constructor() {
13
28
  super();
@@ -16,6 +31,13 @@ var RNQuickCrypto = class _RNQuickCrypto extends PureJSCrypto {
16
31
  static async create() {
17
32
  return new _RNQuickCrypto();
18
33
  }
34
+ createStreamingHash() {
35
+ const instance = blake3.create({});
36
+ return new Blake3StateAdapter(instance);
37
+ }
38
+ blake3HashOnce(data) {
39
+ return blake3(data);
40
+ }
19
41
  newEd25519SigningKey() {
20
42
  this.ed.generateKeyPairSync();
21
43
  return new Uint8Array(this.ed.getPrivateKey());
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react-native-core/crypto/RNQuickCrypto.ts"],"sourcesContent":["import { base58 } from \"@scure/base\";\nimport {\n JsonValue,\n Stringified,\n base64URLtoBytes,\n bytesToBase64url,\n} from \"cojson\";\nimport { CojsonInternalTypes, cojsonInternals } from \"cojson\";\nimport { PureJSCrypto } from \"cojson/dist/crypto/PureJSCrypto\"; // Importing from dist to not rely on the exports field\nimport { Ed, xsalsa20 } from \"react-native-quick-crypto\";\nconst { stableStringify } = cojsonInternals;\n\nexport class RNQuickCrypto extends PureJSCrypto {\n ed: Ed;\n\n constructor() {\n super();\n this.ed = new Ed(\"ed25519\", {});\n }\n\n static async create(): Promise<RNQuickCrypto> {\n return new RNQuickCrypto();\n }\n\n newEd25519SigningKey(): Uint8Array {\n this.ed.generateKeyPairSync();\n return new Uint8Array(this.ed.getPrivateKey());\n }\n\n sign(\n secret: CojsonInternalTypes.SignerSecret,\n message: JsonValue,\n ): CojsonInternalTypes.Signature {\n const signature = new Uint8Array(\n this.ed.signSync(\n cojsonInternals.textEncoder.encode(stableStringify(message)),\n base58.decode(secret.substring(\"signerSecret_z\".length)),\n ),\n );\n return `signature_z${base58.encode(signature)}`;\n }\n\n verify(\n signature: CojsonInternalTypes.Signature,\n message: JsonValue,\n id: CojsonInternalTypes.SignerID,\n ): boolean {\n return this.ed.verifySync(\n base58.decode(signature.substring(\"signature_z\".length)),\n cojsonInternals.textEncoder.encode(stableStringify(message)),\n base58.decode(id.substring(\"signer_z\".length)),\n );\n }\n\n encrypt<T extends JsonValue, N extends JsonValue>(\n value: T,\n keySecret: CojsonInternalTypes.KeySecret,\n nOnceMaterial: N,\n ): CojsonInternalTypes.Encrypted<T, N> {\n const keySecretBytes = base58.decode(\n keySecret.substring(\"keySecret_z\".length),\n );\n const nOnce = this.generateJsonNonce(nOnceMaterial);\n\n const plaintext = cojsonInternals.textEncoder.encode(\n stableStringify(value),\n );\n const ciphertext = xsalsa20(keySecretBytes, nOnce, plaintext);\n return `encrypted_U${bytesToBase64url(ciphertext)}` as CojsonInternalTypes.Encrypted<\n T,\n N\n >;\n }\n\n decryptRaw<T extends JsonValue, N extends JsonValue>(\n encrypted: CojsonInternalTypes.Encrypted<T, N>,\n keySecret: CojsonInternalTypes.KeySecret,\n nOnceMaterial: N,\n ): Stringified<T> {\n const keySecretBytes = base58.decode(\n keySecret.substring(\"keySecret_z\".length),\n );\n const nOnce = this.generateJsonNonce(nOnceMaterial);\n\n const ciphertext = base64URLtoBytes(\n encrypted.substring(\"encrypted_U\".length),\n );\n const plaintext = xsalsa20(keySecretBytes, nOnce, ciphertext);\n\n return cojsonInternals.textDecoder.decode(plaintext) as Stringified<T>;\n }\n}\n"],"mappings":";AAAA,SAAS,cAAc;AACvB;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AACP,SAA8B,uBAAuB;AACrD,SAAS,oBAAoB;AAC7B,SAAS,IAAI,gBAAgB;AAC7B,IAAM,EAAE,gBAAgB,IAAI;AAErB,IAAM,gBAAN,MAAM,uBAAsB,aAAa;AAAA,EAG9C,cAAc;AACZ,UAAM;AACN,SAAK,KAAK,IAAI,GAAG,WAAW,CAAC,CAAC;AAAA,EAChC;AAAA,EAEA,aAAa,SAAiC;AAC5C,WAAO,IAAI,eAAc;AAAA,EAC3B;AAAA,EAEA,uBAAmC;AACjC,SAAK,GAAG,oBAAoB;AAC5B,WAAO,IAAI,WAAW,KAAK,GAAG,cAAc,CAAC;AAAA,EAC/C;AAAA,EAEA,KACE,QACA,SAC+B;AAC/B,UAAM,YAAY,IAAI;AAAA,MACpB,KAAK,GAAG;AAAA,QACN,gBAAgB,YAAY,OAAO,gBAAgB,OAAO,CAAC;AAAA,QAC3D,OAAO,OAAO,OAAO,UAAU,iBAAiB,MAAM,CAAC;AAAA,MACzD;AAAA,IACF;AACA,WAAO,cAAc,OAAO,OAAO,SAAS,CAAC;AAAA,EAC/C;AAAA,EAEA,OACE,WACA,SACA,IACS;AACT,WAAO,KAAK,GAAG;AAAA,MACb,OAAO,OAAO,UAAU,UAAU,cAAc,MAAM,CAAC;AAAA,MACvD,gBAAgB,YAAY,OAAO,gBAAgB,OAAO,CAAC;AAAA,MAC3D,OAAO,OAAO,GAAG,UAAU,WAAW,MAAM,CAAC;AAAA,IAC/C;AAAA,EACF;AAAA,EAEA,QACE,OACA,WACA,eACqC;AACrC,UAAM,iBAAiB,OAAO;AAAA,MAC5B,UAAU,UAAU,cAAc,MAAM;AAAA,IAC1C;AACA,UAAM,QAAQ,KAAK,kBAAkB,aAAa;AAElD,UAAM,YAAY,gBAAgB,YAAY;AAAA,MAC5C,gBAAgB,KAAK;AAAA,IACvB;AACA,UAAM,aAAa,SAAS,gBAAgB,OAAO,SAAS;AAC5D,WAAO,cAAc,iBAAiB,UAAU,CAAC;AAAA,EAInD;AAAA,EAEA,WACE,WACA,WACA,eACgB;AAChB,UAAM,iBAAiB,OAAO;AAAA,MAC5B,UAAU,UAAU,cAAc,MAAM;AAAA,IAC1C;AACA,UAAM,QAAQ,KAAK,kBAAkB,aAAa;AAElD,UAAM,aAAa;AAAA,MACjB,UAAU,UAAU,cAAc,MAAM;AAAA,IAC1C;AACA,UAAM,YAAY,SAAS,gBAAgB,OAAO,UAAU;AAE5D,WAAO,gBAAgB,YAAY,OAAO,SAAS;AAAA,EACrD;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/react-native-core/crypto/RNQuickCrypto.ts"],"sourcesContent":["import { base58 } from \"@scure/base\";\nimport {\n JsonValue,\n Stringified,\n base64URLtoBytes,\n bytesToBase64url,\n} from \"cojson\";\nimport { CojsonInternalTypes, cojsonInternals } from \"cojson\";\nimport { PureJSCrypto, Blake3State } from \"cojson/dist/crypto/PureJSCrypto\"; // Importing from dist to not rely on the exports field\nimport { Ed, xsalsa20, blake3, Blake3 } from \"react-native-quick-crypto\";\nconst { stableStringify } = cojsonInternals;\n\nclass Blake3StateAdapter implements Blake3State {\n private instance: Blake3;\n\n constructor(instance: Blake3) {\n this.instance = instance;\n }\n\n update(buf: Uint8Array) {\n this.instance.update(buf);\n return this;\n }\n\n digest() {\n return this.instance.digest();\n }\n\n clone() {\n return new Blake3StateAdapter(this.instance.copy());\n }\n}\n\nexport class RNQuickCrypto extends PureJSCrypto {\n ed: Ed;\n\n constructor() {\n super();\n this.ed = new Ed(\"ed25519\", {});\n }\n\n static async create(): Promise<RNQuickCrypto> {\n return new RNQuickCrypto();\n }\n\n createStreamingHash(): Blake3State {\n const instance = blake3.create({});\n return new Blake3StateAdapter(instance);\n }\n\n blake3HashOnce(data: Uint8Array) {\n return blake3(data);\n }\n\n newEd25519SigningKey(): Uint8Array {\n this.ed.generateKeyPairSync();\n return new Uint8Array(this.ed.getPrivateKey());\n }\n\n sign(\n secret: CojsonInternalTypes.SignerSecret,\n message: JsonValue,\n ): CojsonInternalTypes.Signature {\n const signature = new Uint8Array(\n this.ed.signSync(\n cojsonInternals.textEncoder.encode(stableStringify(message)),\n base58.decode(secret.substring(\"signerSecret_z\".length)),\n ),\n );\n return `signature_z${base58.encode(signature)}`;\n }\n\n verify(\n signature: CojsonInternalTypes.Signature,\n message: JsonValue,\n id: CojsonInternalTypes.SignerID,\n ): boolean {\n return this.ed.verifySync(\n base58.decode(signature.substring(\"signature_z\".length)),\n cojsonInternals.textEncoder.encode(stableStringify(message)),\n base58.decode(id.substring(\"signer_z\".length)),\n );\n }\n\n encrypt<T extends JsonValue, N extends JsonValue>(\n value: T,\n keySecret: CojsonInternalTypes.KeySecret,\n nOnceMaterial: N,\n ): CojsonInternalTypes.Encrypted<T, N> {\n const keySecretBytes = base58.decode(\n keySecret.substring(\"keySecret_z\".length),\n );\n const nOnce = this.generateJsonNonce(nOnceMaterial);\n\n const plaintext = cojsonInternals.textEncoder.encode(\n stableStringify(value),\n );\n const ciphertext = xsalsa20(keySecretBytes, nOnce, plaintext);\n return `encrypted_U${bytesToBase64url(ciphertext)}` as CojsonInternalTypes.Encrypted<\n T,\n N\n >;\n }\n\n decryptRaw<T extends JsonValue, N extends JsonValue>(\n encrypted: CojsonInternalTypes.Encrypted<T, N>,\n keySecret: CojsonInternalTypes.KeySecret,\n nOnceMaterial: N,\n ): Stringified<T> {\n const keySecretBytes = base58.decode(\n keySecret.substring(\"keySecret_z\".length),\n );\n const nOnce = this.generateJsonNonce(nOnceMaterial);\n\n const ciphertext = base64URLtoBytes(\n encrypted.substring(\"encrypted_U\".length),\n );\n const plaintext = xsalsa20(keySecretBytes, nOnce, ciphertext);\n\n return cojsonInternals.textDecoder.decode(plaintext) as Stringified<T>;\n }\n}\n"],"mappings":";AAAA,SAAS,cAAc;AACvB;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AACP,SAA8B,uBAAuB;AACrD,SAAS,oBAAiC;AAC1C,SAAS,IAAI,UAAU,cAAsB;AAC7C,IAAM,EAAE,gBAAgB,IAAI;AAE5B,IAAM,qBAAN,MAAM,oBAA0C;AAAA,EAG9C,YAAY,UAAkB;AAC5B,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,OAAO,KAAiB;AACtB,SAAK,SAAS,OAAO,GAAG;AACxB,WAAO;AAAA,EACT;AAAA,EAEA,SAAS;AACP,WAAO,KAAK,SAAS,OAAO;AAAA,EAC9B;AAAA,EAEA,QAAQ;AACN,WAAO,IAAI,oBAAmB,KAAK,SAAS,KAAK,CAAC;AAAA,EACpD;AACF;AAEO,IAAM,gBAAN,MAAM,uBAAsB,aAAa;AAAA,EAG9C,cAAc;AACZ,UAAM;AACN,SAAK,KAAK,IAAI,GAAG,WAAW,CAAC,CAAC;AAAA,EAChC;AAAA,EAEA,aAAa,SAAiC;AAC5C,WAAO,IAAI,eAAc;AAAA,EAC3B;AAAA,EAEA,sBAAmC;AACjC,UAAM,WAAW,OAAO,OAAO,CAAC,CAAC;AACjC,WAAO,IAAI,mBAAmB,QAAQ;AAAA,EACxC;AAAA,EAEA,eAAe,MAAkB;AAC/B,WAAO,OAAO,IAAI;AAAA,EACpB;AAAA,EAEA,uBAAmC;AACjC,SAAK,GAAG,oBAAoB;AAC5B,WAAO,IAAI,WAAW,KAAK,GAAG,cAAc,CAAC;AAAA,EAC/C;AAAA,EAEA,KACE,QACA,SAC+B;AAC/B,UAAM,YAAY,IAAI;AAAA,MACpB,KAAK,GAAG;AAAA,QACN,gBAAgB,YAAY,OAAO,gBAAgB,OAAO,CAAC;AAAA,QAC3D,OAAO,OAAO,OAAO,UAAU,iBAAiB,MAAM,CAAC;AAAA,MACzD;AAAA,IACF;AACA,WAAO,cAAc,OAAO,OAAO,SAAS,CAAC;AAAA,EAC/C;AAAA,EAEA,OACE,WACA,SACA,IACS;AACT,WAAO,KAAK,GAAG;AAAA,MACb,OAAO,OAAO,UAAU,UAAU,cAAc,MAAM,CAAC;AAAA,MACvD,gBAAgB,YAAY,OAAO,gBAAgB,OAAO,CAAC;AAAA,MAC3D,OAAO,OAAO,GAAG,UAAU,WAAW,MAAM,CAAC;AAAA,IAC/C;AAAA,EACF;AAAA,EAEA,QACE,OACA,WACA,eACqC;AACrC,UAAM,iBAAiB,OAAO;AAAA,MAC5B,UAAU,UAAU,cAAc,MAAM;AAAA,IAC1C;AACA,UAAM,QAAQ,KAAK,kBAAkB,aAAa;AAElD,UAAM,YAAY,gBAAgB,YAAY;AAAA,MAC5C,gBAAgB,KAAK;AAAA,IACvB;AACA,UAAM,aAAa,SAAS,gBAAgB,OAAO,SAAS;AAC5D,WAAO,cAAc,iBAAiB,UAAU,CAAC;AAAA,EAInD;AAAA,EAEA,WACE,WACA,WACA,eACgB;AAChB,UAAM,iBAAiB,OAAO;AAAA,MAC5B,UAAU,UAAU,cAAc,MAAM;AAAA,IAC1C;AACA,UAAM,QAAQ,KAAK,kBAAkB,aAAa;AAElD,UAAM,aAAa;AAAA,MACjB,UAAU,UAAU,cAAc,MAAM;AAAA,IAC1C;AACA,UAAM,YAAY,SAAS,gBAAgB,OAAO,UAAU;AAE5D,WAAO,gBAAgB,YAAY,OAAO,SAAS;AAAA,EACrD;AACF;","names":[]}
package/dist/testing.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  createAnonymousJazzContext,
8
8
  createJazzContext,
9
9
  randomSessionProvider
10
- } from "./chunk-DFFRRRRF.js";
10
+ } from "./chunk-CUS6O5NE.js";
11
11
  import "./chunk-PZ5AY32C.js";
12
12
 
13
13
  // src/tools/testing.ts
@@ -1,5 +1,5 @@
1
1
  import { LocalNode, type RawCoValue } from "cojson";
2
- import { AnonymousJazzAgent, CoValue, CoValueClass, CoValueLoadingState, type SubscriptionScope, inspect } from "../internal.js";
2
+ import { AnonymousJazzAgent, CoValue, CoValueClass, CoValueLoadingState, ExportedCoValue, type SubscriptionScope, inspect } from "../internal.js";
3
3
  import { Group, TypeSym } from "../internal.js";
4
4
  /** @internal */
5
5
  export declare abstract class CoValueBase implements CoValue {
@@ -51,5 +51,6 @@ export declare abstract class CoValueJazzApi<V extends CoValue> {
51
51
  * Doesn't have any effect when there are no changes to merge, or the current CoValue is not a branch
52
52
  */
53
53
  unstable_merge(): void;
54
+ export(): ExportedCoValue<V>;
54
55
  }
55
56
  //# sourceMappingURL=CoValueBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CoValueBase.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/CoValueBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,OAAO,EACP,YAAY,EACZ,mBAAmB,EAGnB,KAAK,iBAAiB,EAGtB,OAAO,EAER,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEhD,gBAAgB;AAChB,8BAAsB,WAAY,YAAW,OAAO;IAC1C,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B,SAAiB,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IACrC,SAAS,EAAE,IAAI,CAAC;;IAQxB,0BAA0B;IAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,GAAG,CAAC;IAK5E,MAAM,IAAI,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM;IAQjC,CAAC,OAAO,CAAC;CAGV;AAED,8BAAsB,cAAc,CAAC,CAAC,SAAS,OAAO;IAKxC,OAAO,CAAC,OAAO;IAJ3B,0BAA0B;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBAE/C,OAAO,EAAE,CAAC;IAO9B,IAAI,EAAE,IAAI,MAAM,CAQf;IAED,IAAI,YAAY,IAAI,OAAO,mBAAmB,CAAC,MAAM,CAEpD;IAED,QAAQ,KAAK,GAAG,IAAI,UAAU,CAAC;IAC/B,QAAQ,KAAK,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC;IAExC,gBAAgB;IAChB,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,eAAe;IACf,IAAI,QAAQ,wDAYX;IAED;;;;OAIG;IACH,IAAI,SAAS,IAAI,MAAM,CAQtB;IAED;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,MAAM,CAQ1B;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAInC;IAED,IAAI,UAAU,IAAI,OAAO,CAIxB;IAED;;;;OAIG;IACH,cAAc;CASf"}
1
+ {"version":3,"file":"CoValueBase.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/CoValueBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,OAAO,EACP,YAAY,EACZ,mBAAmB,EACnB,eAAe,EAEf,KAAK,iBAAiB,EAKtB,OAAO,EAER,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEhD,gBAAgB;AAChB,8BAAsB,WAAY,YAAW,OAAO;IAC1C,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B,SAAiB,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IACrC,SAAS,EAAE,IAAI,CAAC;;IAQxB,0BAA0B;IAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,GAAG,CAAC;IAK5E,MAAM,IAAI,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM;IAQjC,CAAC,OAAO,CAAC;CAGV;AAED,8BAAsB,cAAc,CAAC,CAAC,SAAS,OAAO;IAKxC,OAAO,CAAC,OAAO;IAJ3B,0BAA0B;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBAE/C,OAAO,EAAE,CAAC;IAO9B,IAAI,EAAE,IAAI,MAAM,CAQf;IAED,IAAI,YAAY,IAAI,OAAO,mBAAmB,CAAC,MAAM,CAEpD;IAED,QAAQ,KAAK,GAAG,IAAI,UAAU,CAAC;IAC/B,QAAQ,KAAK,KAAK,IAAI,KAAK,GAAG,SAAS,CAAC;IAExC,gBAAgB;IAChB,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,eAAe;IACf,IAAI,QAAQ,wDAYX;IAED;;;;OAIG;IACH,IAAI,SAAS,IAAI,MAAM,CAQtB;IAED;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,MAAM,CAQ1B;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAInC;IAED,IAAI,UAAU,IAAI,OAAO,CAIxB;IAED;;;;OAIG;IACH,cAAc;IAUd,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC;CAO7B"}
@@ -51,11 +51,12 @@ export declare class Account extends CoValueBase implements CoValue {
51
51
  /**
52
52
  * @deprecated Use `co.account(...).createAs` instead.
53
53
  */
54
- static createAs<A extends Account>(this: CoValueClass<A> & typeof Account, as: Account, options: {
54
+ static createAs<A extends Account>(this: CoValueClass<A> & typeof Account, worker: Account, options: {
55
55
  creationProps: {
56
56
  name: string;
57
57
  };
58
- }): Promise<A>;
58
+ onCreate?: (account: A, worker: Account) => Promise<void>;
59
+ }): Promise<A & Account>;
59
60
  static fromNode<A extends Account>(this: CoValueClass<A>, node: LocalNode): A;
60
61
  toJSON(): object | any[];
61
62
  [inspect](): object | any[];
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/account.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/account.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAGX,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,IAAI,EACJ,UAAU,EAGV,SAAS,EAGV,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,KAAK,EACL,EAAE,EAEF,WAAW,EACX,OAAO,EAEP,KAAK,UAAU,EACf,YAAY,EACZ,aAAa,EACb,mBAAmB,EAEnB,QAAQ,EAER,wBAAwB,EAExB,OAAO,EAQP,OAAO,EAOP,mCAAmC,EACnC,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,uCAAuC;AACvC,qBAAa,OAAQ,SAAQ,WAAY,YAAW,OAAO;IACjD,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAE7B;;;;;OAKG;IACK,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAGpC,MAAM,CAAC,OAAO,EAAE,GAAG,CASjB;IAEF,SAAiB,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/C,SAAiB,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;gBAE9B,OAAO,EAAE;QAAE,OAAO,EAAE,UAAU,CAAA;KAAE;IAsB5C;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAElB;IAED;;;;;;;OAOG;IACG,YAAY,CAAC,CAAC,SAAS,oBAAoB,EAC/C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,YAAY,EAC1B,YAAY,CAAC,EAAE,CAAC,GACf,OAAO,CACR,WAAW,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CACpE;IAmBD,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS;IAYrE,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAWhC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IA0BjC,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAmBlC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAgBjC,eAAe;WACF,MAAM,CAAC,CAAC,SAAS,OAAO,EACnC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,EACtC,OAAO,EAAE;QACP,aAAa,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAChC,kBAAkB,CAAC,EAAE,WAAW,CAAC;QACjC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;QACf,MAAM,EAAE,cAAc,CAAC;KACxB,GACA,OAAO,CAAC,CAAC,CAAC;IAeb,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,GAC/B,CAAC;IAGxC;;OAEG;WACU,QAAQ,CAAC,CAAC,SAAS,OAAO,EACrC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,EACtC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE;QACP,aAAa,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAChC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC3D;IA6CH,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,OAAO,EAC/B,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,IAAI,EAAE,SAAS,GACd,CAAC;IAOJ,MAAM,IAAI,MAAM,GAAG,GAAG,EAAE;IAMxB,CAAC,OAAO,CAAC;IAIH,cAAc,CAAC,aAAa,CAAC,EAAE,oBAAoB;IA0BzD,OAAO,CAAC,aAAa,CAAC,EAAE,oBAAoB;IAI5C;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,EACpE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EACT,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC;KACvC,GACA,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAIvC;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,EACzE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EACT,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,IAAI,KAAK,IAAI,GACjE,MAAM,IAAI;IACb,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,EACzE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EACT,OAAO,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,EACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,IAAI,KAAK,IAAI,GACjE,MAAM,IAAI;CASd;AAED,cAAM,cAAc,CAAC,CAAC,SAAS,OAAO,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAW7D,OAAO,CAAC,OAAO;IACR,GAAG,EAAE,UAAU;IAXxB;;;;OAIG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB;IAChB,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;gBAGvB,OAAO,EAAE,CAAC,EACX,GAAG,EAAE,UAAU;IASxB;;OAEG;IACH,IAAI,KAAK,IAAI,SAAS,CAErB;IAED;;;;;;;OAOG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EAC9B,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAmB7C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IAKrC;;;OAGG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM;IAUzB;;;;;;;OAOG;IACH,IAAI,IAAI,IAAI;QACV,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;QAC3C,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;KACvC,CA8BA;IAED,uCAAuC;IACvC,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAC9D,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE;QACP,OAAO,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,eAAe,CAAC,EAAE,gBAAgB,CAAC;KACpC,GACA,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAI1B,uCAAuC;IACvC,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAC3D,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,IAAI,KAAK,IAAI,GACjE,MAAM,IAAI;IACb,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAC3D,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE;QACP,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,eAAe,CAAC,EAAE,gBAAgB,CAAC;KACpC,EACD,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,IAAI,KAAK,IAAI,GACjE,MAAM,IAAI;IASb;;;;OAIG;IACH,WAAW,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAI1C;;;;OAIG;IACH,sBAAsB,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAIrD,gBAAgB;IAChB,IAAI,MAAM,IAAI;QACZ,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;KACzB,CAEA;IAED,IAAI,QAAQ,IAAI,OAAO,GAAG,kBAAkB,CAY3C;CACF;AAED,eAAO,MAAM,2BAA2B,EAAE,YAAY,CAAC,OAAO,GAAG,KAAK,CAmDrE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG;IACxC,KAAK,EAAE;QACL,GAAG,EAAE,UAAU,CAAC;QAChB,gBAAgB,EAAE,IAAI,CAAC;QACvB,SAAS,EAAE,SAAS,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,uCAAuC;AACvC,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,GACf,OAAO,IAAI,iBAAiB,CAE9B;AAED,MAAM,MAAM,YAAY,CAAC,GAAG,SAAS,OAAO,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG;IAClE,QAAQ,EAAE,CAAC,OAAO,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;CACxC,CAAC"}
@@ -183,6 +183,14 @@ export declare function exportCoValue<S extends CoValueClassOrSchema, const R ex
183
183
  bestEffortResolution?: boolean;
184
184
  unstable_branch?: BranchDefinition;
185
185
  }): Promise<import("cojson/dist/sync.js").NewContentMessage[] | null>;
186
+ export declare function exportCoValueFromSubscription<V>(subscription: SubscriptionScope<CoValue>): ExportedCoValue<V>;
187
+ export type ExportedID<V> = string & {
188
+ _exportedID: V;
189
+ };
190
+ export type ExportedCoValue<V> = {
191
+ id: ExportedID<V>;
192
+ contentPieces: CojsonInternalTypes.NewContentMessage[];
193
+ };
186
194
  /**
187
195
  * Import content pieces into the node.
188
196
  *
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/interfaces.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export { CoValueBase } from "./internal.js";
8
8
  export { Profile } from "./internal.js";
9
9
  export { SchemaUnion } from "./internal.js";
10
10
  export { co } from "./internal.js";
11
- export type { CoValueClass, CoValueFromRaw, DeeplyLoaded, Resolved, RefsToResolve, RefsToResolveStrict, CoMapInit_DEPRECATED as CoMapInit, CoMapEdit, CoMapEdits, LastAndAllCoMapEdits, CoFeedEntry, SingleCoFeedEntry, TextPos, AccountClass, AccountCreationProps, BaseProfileShape, } from "./internal.js";
11
+ export type { CoValueClass, CoValueFromRaw, DeeplyLoaded, Resolved, RefsToResolve, RefsToResolveStrict, CoMapInit_DEPRECATED as CoMapInit, CoMapEdit, CoMapEdits, LastAndAllCoMapEdits, CoFeedEntry, SingleCoFeedEntry, TextPos, AccountClass, AccountCreationProps, BaseProfileShape, ExportedCoValue, } from "./internal.js";
12
12
  export { CoMap, CoList, BinaryCoStream, CoFeed, CoStream, FileStream, CoPlainText, CoRichText, Account, assertLoaded, getLoadedOrUndefined, isControlledAccount, loadCoValue, subscribeToCoValue, ImageDefinition, SubscriptionScope, exportCoValue, importContentPieces, Ref, createUnloadedCoValue, unstable_loadUnique, getUnloadedCoValueWithoutId, } from "./internal.js";
13
13
  export { JazzContextManager, type JazzContextManagerAuthProps, } from "./internal.js";
14
14
  export { AuthSecretStorage, type AuthSetPayload, } from "./auth/AuthSecretStorage.js";
@@ -1 +1 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/tools/exports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/tools/exports.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,13 @@
1
1
  import { LocalNode } from "cojson";
2
2
  import { TypeSym } from "./symbols.js";
3
+ import { CoValue } from "../internal.js";
3
4
  export declare class AnonymousJazzAgent {
4
5
  node: LocalNode;
5
6
  [TypeSym]: "Anonymous";
6
7
  constructor(node: LocalNode);
8
+ canWrite(_: CoValue): boolean;
9
+ canRead(value: CoValue): boolean;
10
+ canManage(_: CoValue): boolean;
11
+ canAdmin(_: CoValue): boolean;
7
12
  }
8
13
  //# sourceMappingURL=anonymousJazzAgent.d.ts.map