# Jazz ## Documentation ### Getting started - [Introduction](https://jazz.tools/docs) - [Guide](https://jazz.tools/docs/guide) - [Example apps](https://jazz.tools/examples) ### Project setup - [Installation](https://jazz.tools/docs/project-setup) - [Sync and storage](https://jazz.tools/docs/sync-and-storage) - [Node.JS / server workers](https://jazz.tools/docs/project-setup/server-side) ### Updates - [Jazz 0.9.8 - Without me!](https://jazz.tools/docs/upgrade/0-9-8) - [Jazz 0.9.2 - Local persistence on React Native](https://jazz.tools/docs/upgrade/react-native-local-persistence) - [Jazz 0.9.0 - Upgrade guide](https://jazz.tools/docs/upgrade/0-9-0) ### Defining schemas - [CoValues](https://jazz.tools/docs/schemas/covalues) - [Accounts & migrations](https://jazz.tools/docs/schemas/accounts-and-migrations) ### Groups, permissions & sharing - [Groups as permission scopes](https://jazz.tools/docs/groups/intro) - [Public sharing & invites](https://jazz.tools/docs/groups/sharing) ### Authentication - [Overview](https://jazz.tools/docs/authentication/auth-methods) ### Design patterns - [Form](https://jazz.tools/docs/design-patterns/form) - [Organization/Team](https://jazz.tools/docs/design-patterns/organization) ## jazz-tools - [ID](https://jazz.tools/api-reference/jazz-tools#ID): IDs are unique identifiers for 'CoValue' s. Can be used with a type argument to refer to a specific 'CoValue' type. - [BinaryCoStream](https://jazz.tools/api-reference/jazz-tools#BinaryCoStream): FileStreams are 'CoFeed' s that contain binary data, collaborative versions of 'Blob' s. - [CoFeed](https://jazz.tools/api-reference/jazz-tools#CoFeed): CoFeeds are collaborative logs of data. - [CoList](https://jazz.tools/api-reference/jazz-tools#CoList): CoLists are collaborative versions of plain arrays. - [CoMap](https://jazz.tools/api-reference/jazz-tools#CoMap): CoMaps are collaborative versions of plain objects, mapping string-like keys to values. - [SchemaUnion](https://jazz.tools/api-reference/jazz-tools#SchemaUnion): SchemaUnion allows you to create union types of CoValues that can be discriminated at runtime. - [Account](https://jazz.tools/api-reference/jazz-tools#Account) - [isControlledAccount](https://jazz.tools/api-reference/jazz-tools#isControlledAccount) - [Group](https://jazz.tools/api-reference/jazz-tools#Group) - [Profile](https://jazz.tools/api-reference/jazz-tools#Profile) - [Encoders](https://jazz.tools/api-reference/jazz-tools#Encoders) - [co](https://jazz.tools/api-reference/jazz-tools#co) - [CoValue](https://jazz.tools/api-reference/jazz-tools#CoValue) - [CoPlainText](https://jazz.tools/api-reference/jazz-tools#CoPlainText) - [CoValueClass](https://jazz.tools/api-reference/jazz-tools#CoValueClass) - [ImageDefinition](https://jazz.tools/api-reference/jazz-tools#ImageDefinition) - [createInviteLink](https://jazz.tools/api-reference/jazz-tools#createInviteLink) - [parseInviteLink](https://jazz.tools/api-reference/jazz-tools#parseInviteLink) - [consumeInviteLink](https://jazz.tools/api-reference/jazz-tools#consumeInviteLink) - [AgentID](https://jazz.tools/api-reference/jazz-tools#AgentID) - [CoValueUniqueness](https://jazz.tools/api-reference/jazz-tools#CoValueUniqueness) - [CryptoProvider](https://jazz.tools/api-reference/jazz-tools#CryptoProvider) - [InviteSecret](https://jazz.tools/api-reference/jazz-tools#InviteSecret) - [Peer](https://jazz.tools/api-reference/jazz-tools#Peer) - [SessionID](https://jazz.tools/api-reference/jazz-tools#SessionID) - [SyncMessage](https://jazz.tools/api-reference/jazz-tools#SyncMessage) - [Inbox](https://jazz.tools/api-reference/jazz-tools#Inbox) - [InboxSender](https://jazz.tools/api-reference/jazz-tools#InboxSender) - [AccountClass](https://jazz.tools/api-reference/jazz-tools#AccountClass) - [CoStream](https://jazz.tools/api-reference/jazz-tools#CoStream) - [FileStream](https://jazz.tools/api-reference/jazz-tools#FileStream) - [CoMapInit](https://jazz.tools/api-reference/jazz-tools#CoMapInit) - [TextPos](https://jazz.tools/api-reference/jazz-tools#TextPos) - [CoRichText](https://jazz.tools/api-reference/jazz-tools#CoRichText): Main class for handling rich text content with marks. Combines plain text with a list of marks for formatting and annotations. Provides methods for... - [Marks](https://jazz.tools/api-reference/jazz-tools#Marks): Collection of predefined mark types for common text formatting. Includes marks for headings, paragraphs, links, and text styling. - [TreeLeaf](https://jazz.tools/api-reference/jazz-tools#TreeLeaf): Represents a leaf node in the rich text tree structure. Contains plain text without any marks. - [TreeNode](https://jazz.tools/api-reference/jazz-tools#TreeNode): Represents a node in the rich text tree structure. Can contain other nodes or leaves, and includes formatting information. - [ResolvedMark](https://jazz.tools/api-reference/jazz-tools#ResolvedMark): A mark with resolved numeric positions in text. Contains both position information and reference to the source mark. - [DeeplyLoaded](https://jazz.tools/api-reference/jazz-tools#DeeplyLoaded) - [DepthsIn](https://jazz.tools/api-reference/jazz-tools#DepthsIn) - [createCoValueObservable](https://jazz.tools/api-reference/jazz-tools#createCoValueObservable) - [loadCoValue](https://jazz.tools/api-reference/jazz-tools#loadCoValue) - [subscribeToCoValue](https://jazz.tools/api-reference/jazz-tools#subscribeToCoValue) - [AnonymousJazzAgent](https://jazz.tools/api-reference/jazz-tools#AnonymousJazzAgent) - [createAnonymousJazzContext](https://jazz.tools/api-reference/jazz-tools#createAnonymousJazzContext) - [createJazzContext](https://jazz.tools/api-reference/jazz-tools#createJazzContext) - [ephemeralCredentialsAuth](https://jazz.tools/api-reference/jazz-tools#ephemeralCredentialsAuth) - [fixedCredentialsAuth](https://jazz.tools/api-reference/jazz-tools#fixedCredentialsAuth) - [randomSessionProvider](https://jazz.tools/api-reference/jazz-tools#randomSessionProvider) - [AuthMethod](https://jazz.tools/api-reference/jazz-tools#AuthMethod) - [AuthResult](https://jazz.tools/api-reference/jazz-tools#AuthResult) - [Credentials](https://jazz.tools/api-reference/jazz-tools#Credentials) ## jazz-react - [JazzProvider](https://jazz.tools/api-reference/jazz-react#JazzProvider) - [useProgressiveImg](https://jazz.tools/api-reference/jazz-react#useProgressiveImg) - [ProgressiveImg](https://jazz.tools/api-reference/jazz-react#ProgressiveImg) - [useOnboardingAuth](https://jazz.tools/api-reference/jazz-react#useOnboardingAuth) - [useDemoAuth](https://jazz.tools/api-reference/jazz-react#useDemoAuth) - [usePasskeyAuth](https://jazz.tools/api-reference/jazz-react#usePasskeyAuth) - [usePassphraseAuth](https://jazz.tools/api-reference/jazz-react#usePassphraseAuth) - [createInviteLink](https://jazz.tools/api-reference/jazz-react#createInviteLink) - [parseInviteLink](https://jazz.tools/api-reference/jazz-react#parseInviteLink) - [Register](https://jazz.tools/api-reference/jazz-react#Register) - [useAccount](https://jazz.tools/api-reference/jazz-react#useAccount) - [useAccountOrGuest](https://jazz.tools/api-reference/jazz-react#useAccountOrGuest) - [useCoState](https://jazz.tools/api-reference/jazz-react#useCoState) - [useAcceptInvite](https://jazz.tools/api-reference/jazz-react#useAcceptInvite) - [experimental_useInboxSender](https://jazz.tools/api-reference/jazz-react#experimental_useInboxSender) - [DemoAuthBasicUI](https://jazz.tools/api-reference/jazz-react#DemoAuthBasicUI) - [PasskeyAuthBasicUI](https://jazz.tools/api-reference/jazz-react#PasskeyAuthBasicUI) - [PassphraseAuthBasicUI](https://jazz.tools/api-reference/jazz-react#PassphraseAuthBasicUI) ## jazz-browser - [createJazzBrowserContext](https://jazz.tools/api-reference/jazz-browser#createJazzBrowserContext) - [BrowserContext](https://jazz.tools/api-reference/jazz-browser#BrowserContext) - [SessionProvider](https://jazz.tools/api-reference/jazz-browser#SessionProvider) - [BrowserDemoAuth](https://jazz.tools/api-reference/jazz-browser#BrowserDemoAuth): 'BrowserDemoAuth' provides a 'JazzAuth' object for demo authentication. Demo authentication is useful for quickly testing your app, as it allows yo... - [BrowserPasskeyAuth](https://jazz.tools/api-reference/jazz-browser#BrowserPasskeyAuth): 'BrowserPasskeyAuth' provides a 'JazzAuth' object for passkey authentication. - [BrowserPassphraseAuth](https://jazz.tools/api-reference/jazz-browser#BrowserPassphraseAuth): 'BrowserPassphraseAuth' provides a 'JazzAuth' object for passphrase authentication. - [BrowserOnboardingAuth](https://jazz.tools/api-reference/jazz-browser#BrowserOnboardingAuth): 'BrowserOnboardingAuth' provides a 'JazzAuth' object for demo authentication. Demo authentication is useful for quickly testing your app, as it all... - [createInviteLink](https://jazz.tools/api-reference/jazz-browser#createInviteLink) - [consumeInviteLinkFromWindowLocation](https://jazz.tools/api-reference/jazz-browser#consumeInviteLinkFromWindowLocation) - [parseInviteLink](https://jazz.tools/api-reference/jazz-browser#parseInviteLink) - [provideBrowserLockSession](https://jazz.tools/api-reference/jazz-browser#provideBrowserLockSession) - [BrowserGuestContext](https://jazz.tools/api-reference/jazz-browser#BrowserGuestContext) - [BrowserContextOptions](https://jazz.tools/api-reference/jazz-browser#BrowserContextOptions) - [BaseBrowserContextOptions](https://jazz.tools/api-reference/jazz-browser#BaseBrowserContextOptions) ## jazz-browser-media-images - [createImage](https://jazz.tools/api-reference/jazz-browser-media-images#createImage) ## jazz-nodejs - [startWorker](https://jazz.tools/api-reference/jazz-nodejs#startWorker) ## Optional - [Documentation](https://jazz.tools/docs): Detailed documentation about Jazz - [Examples](https://jazz.tools/examples): Code examples and tutorials