jazz-tools 0.13.31 → 0.14.1
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.
- package/.turbo/turbo-build.log +8 -8
- package/CHANGELOG.md +22 -3
- package/dist/auth/DemoAuth.d.ts.map +1 -1
- package/dist/auth/PassphraseAuth.d.ts +1 -3
- package/dist/auth/PassphraseAuth.d.ts.map +1 -1
- package/dist/{chunk-IJU4XPFS.js → chunk-WLOZKDOH.js} +3536 -3291
- package/dist/chunk-WLOZKDOH.js.map +1 -0
- package/dist/coValues/CoValueBase.d.ts +22 -0
- package/dist/coValues/CoValueBase.d.ts.map +1 -0
- package/dist/coValues/account.d.ts +12 -12
- package/dist/coValues/account.d.ts.map +1 -1
- package/dist/coValues/coFeed.d.ts +24 -25
- package/dist/coValues/coFeed.d.ts.map +1 -1
- package/dist/coValues/coList.d.ts +10 -13
- package/dist/coValues/coList.d.ts.map +1 -1
- package/dist/coValues/coMap.d.ts +32 -35
- package/dist/coValues/coMap.d.ts.map +1 -1
- package/dist/coValues/coPlainText.d.ts.map +1 -1
- package/dist/coValues/deepLoading.d.ts +17 -21
- package/dist/coValues/deepLoading.d.ts.map +1 -1
- package/dist/coValues/extensions/imageDef.d.ts +12 -11
- package/dist/coValues/extensions/imageDef.d.ts.map +1 -1
- package/dist/coValues/group.d.ts +5 -9
- package/dist/coValues/group.d.ts.map +1 -1
- package/dist/coValues/inbox.d.ts +2 -3
- package/dist/coValues/inbox.d.ts.map +1 -1
- package/dist/coValues/interfaces.d.ts +8 -34
- package/dist/coValues/interfaces.d.ts.map +1 -1
- package/dist/coValues/profile.d.ts +4 -14
- package/dist/coValues/profile.d.ts.map +1 -1
- package/dist/coValues/registeredSchemas.d.ts +1 -3
- package/dist/coValues/registeredSchemas.d.ts.map +1 -1
- package/dist/coValues/schemaUnion.d.ts +6 -6
- package/dist/exports.d.ts +12 -16
- package/dist/exports.d.ts.map +1 -1
- package/dist/implementation/ContextManager.d.ts +1 -1
- package/dist/implementation/ContextManager.d.ts.map +1 -1
- package/dist/implementation/activeAccountContext.d.ts +1 -1
- package/dist/implementation/activeAccountContext.d.ts.map +1 -1
- package/dist/implementation/createContext.d.ts +10 -10
- package/dist/implementation/createContext.d.ts.map +1 -1
- package/dist/implementation/invites.d.ts +6 -6
- package/dist/implementation/invites.d.ts.map +1 -1
- package/dist/implementation/refs.d.ts +2 -2
- package/dist/implementation/refs.d.ts.map +1 -1
- package/dist/implementation/schema.d.ts +21 -28
- package/dist/implementation/schema.d.ts.map +1 -1
- package/dist/implementation/zodSchema/runtimeConverters/zodFieldToCoFieldDef.d.ts +9 -0
- package/dist/implementation/zodSchema/runtimeConverters/zodFieldToCoFieldDef.d.ts.map +1 -0
- package/dist/implementation/zodSchema/runtimeConverters/zodSchemaToCoSchema.d.ts +28 -0
- package/dist/implementation/zodSchema/runtimeConverters/zodSchemaToCoSchema.d.ts.map +1 -0
- package/dist/implementation/zodSchema/schemaTypes/AccountSchema.d.ts +65 -0
- package/dist/implementation/zodSchema/schemaTypes/AccountSchema.d.ts.map +1 -0
- package/dist/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts +28 -0
- package/dist/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts.map +1 -0
- package/dist/implementation/zodSchema/schemaTypes/CoListSchema.d.ts +24 -0
- package/dist/implementation/zodSchema/schemaTypes/CoListSchema.d.ts.map +1 -0
- package/dist/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts +41 -0
- package/dist/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts.map +1 -0
- package/dist/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts +35 -0
- package/dist/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts.map +1 -0
- package/dist/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts +9 -0
- package/dist/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts.map +1 -0
- package/dist/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts +20 -0
- package/dist/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts.map +1 -0
- package/dist/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts +18 -0
- package/dist/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts.map +1 -0
- package/dist/implementation/zodSchema/typeConverters/InstanceOfSchema.d.ts +24 -0
- package/dist/implementation/zodSchema/typeConverters/InstanceOfSchema.d.ts.map +1 -0
- package/dist/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.d.ts +21 -0
- package/dist/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.d.ts.map +1 -0
- package/dist/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.d.ts +29 -0
- package/dist/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.d.ts.map +1 -0
- package/dist/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts +29 -0
- package/dist/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts.map +1 -0
- package/dist/implementation/zodSchema/unionUtils.d.ts +6 -0
- package/dist/implementation/zodSchema/unionUtils.d.ts.map +1 -0
- package/dist/implementation/zodSchema/zodCo.d.ts +35 -0
- package/dist/implementation/zodSchema/zodCo.d.ts.map +1 -0
- package/dist/implementation/zodSchema/zodSchema.d.ts +38 -0
- package/dist/implementation/zodSchema/zodSchema.d.ts.map +1 -0
- package/dist/index.js +295 -10
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +34 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/subscribe/SubscriptionScope.d.ts +1 -2
- package/dist/subscribe/SubscriptionScope.d.ts.map +1 -1
- package/dist/subscribe/utils.d.ts +2 -2
- package/dist/subscribe/utils.d.ts.map +1 -1
- package/dist/testing.d.ts +10 -8
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +1 -1
- package/dist/testing.js.map +1 -1
- package/dist/tests/utils.d.ts +6 -2
- package/dist/tests/utils.d.ts.map +1 -1
- package/dist/types.d.ts +1 -7
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/auth/DemoAuth.ts +1 -2
- package/src/auth/PassphraseAuth.ts +1 -1
- package/src/coValues/CoValueBase.ts +88 -0
- package/src/coValues/account.ts +53 -43
- package/src/coValues/coFeed.ts +65 -83
- package/src/coValues/coList.ts +28 -21
- package/src/coValues/coMap.ts +54 -38
- package/src/coValues/coPlainText.ts +4 -1
- package/src/coValues/deepLoading.ts +35 -43
- package/src/coValues/extensions/imageDef.ts +21 -19
- package/src/coValues/group.ts +37 -38
- package/src/coValues/inbox.ts +24 -11
- package/src/coValues/interfaces.ts +29 -93
- package/src/coValues/profile.ts +12 -13
- package/src/coValues/registeredSchemas.ts +1 -3
- package/src/coValues/schemaUnion.ts +6 -6
- package/src/exports.ts +47 -25
- package/src/implementation/activeAccountContext.ts +1 -1
- package/src/implementation/createContext.ts +39 -24
- package/src/implementation/invites.ts +15 -12
- package/src/implementation/refs.ts +6 -4
- package/src/implementation/schema.ts +22 -34
- package/src/implementation/zodSchema/runtimeConverters/zodFieldToCoFieldDef.ts +101 -0
- package/src/implementation/zodSchema/runtimeConverters/zodSchemaToCoSchema.ts +191 -0
- package/src/implementation/zodSchema/schemaTypes/AccountSchema.ts +102 -0
- package/src/implementation/zodSchema/schemaTypes/CoFeedSchema.ts +70 -0
- package/src/implementation/zodSchema/schemaTypes/CoListSchema.ts +59 -0
- package/src/implementation/zodSchema/schemaTypes/CoMapSchema.ts +126 -0
- package/src/implementation/zodSchema/schemaTypes/CoRecordSchema.ts +98 -0
- package/src/implementation/zodSchema/schemaTypes/FileStreamSchema.ts +9 -0
- package/src/implementation/zodSchema/schemaTypes/PlainTextSchema.ts +27 -0
- package/src/implementation/zodSchema/schemaTypes/RichTextSchema.ts +25 -0
- package/src/implementation/zodSchema/typeConverters/InstanceOfSchema.ts +61 -0
- package/src/implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.ts +77 -0
- package/src/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.ts +90 -0
- package/src/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.ts +103 -0
- package/src/implementation/zodSchema/unionUtils.ts +139 -0
- package/src/implementation/zodSchema/zodCo.ts +409 -0
- package/src/implementation/zodSchema/zodSchema.ts +116 -0
- package/src/internal.ts +38 -0
- package/src/subscribe/SubscriptionScope.ts +3 -1
- package/src/subscribe/utils.ts +7 -2
- package/src/testing.ts +14 -16
- package/src/tests/ContextManager.test.ts +73 -47
- package/src/tests/DemoAuth.test.ts +1 -1
- package/src/tests/account.test.ts +6 -9
- package/src/tests/coFeed.test.ts +102 -63
- package/src/tests/coList.test.ts +82 -95
- package/src/tests/coMap.record.test.ts +53 -87
- package/src/tests/coMap.test.ts +297 -312
- package/src/tests/coPlainText.test.ts +19 -39
- package/src/tests/createContext.test.ts +33 -15
- package/src/tests/deepLoading.test.ts +196 -179
- package/src/tests/groupsAndAccounts.test.ts +81 -72
- package/src/tests/imageDef.test.ts +22 -13
- package/src/tests/inbox.test.ts +36 -29
- package/src/tests/load.test.ts +10 -10
- package/src/tests/patterns/requestToJoin.test.ts +31 -31
- package/src/tests/schema.test.ts +37 -38
- package/src/tests/schemaUnion.test.ts +54 -64
- package/src/tests/subscribe.test.ts +118 -116
- package/src/tests/testing.test.ts +33 -33
- package/src/tests/utils.ts +3 -2
- package/src/types.ts +1 -8
- package/dist/chunk-IJU4XPFS.js.map +0 -1
- package/dist/tests/deepLoading.test-d.d.ts +0 -2
- package/dist/tests/deepLoading.test-d.d.ts.map +0 -1
- package/src/tests/deepLoading.test-d.ts +0 -393
@@ -0,0 +1,29 @@
|
|
1
|
+
import z from "zod/v4";
|
2
|
+
import { Account, CoFeed, CoList, CoMap, CoPlainText, CoRichText, CoValueClass, FileStream, Profile } from "../../../internal.js";
|
3
|
+
import { AnyCoFeedSchema } from "../schemaTypes/CoFeedSchema.js";
|
4
|
+
import { AnyCoListSchema } from "../schemaTypes/CoListSchema.js";
|
5
|
+
import { AnyCoMapSchema } from "../schemaTypes/CoMapSchema.js";
|
6
|
+
import { FileStreamSchema } from "../schemaTypes/FileStreamSchema.js";
|
7
|
+
import { PlainTextSchema } from "../schemaTypes/PlainTextSchema.js";
|
8
|
+
import { RichTextSchema } from "../schemaTypes/RichTextSchema.js";
|
9
|
+
export type InstanceOrPrimitiveOfSchema<S extends CoValueClass | z.core.$ZodType> = S extends z.core.$ZodType ? S extends z.core.$ZodObject<infer Shape> & {
|
10
|
+
collaborative: true;
|
11
|
+
builtin: "Account";
|
12
|
+
} ? {
|
13
|
+
-readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchema<Shape[key]>;
|
14
|
+
} & {
|
15
|
+
profile: Profile;
|
16
|
+
} & Account : S extends z.core.$ZodRecord<infer K, infer V> & {
|
17
|
+
collaborative: true;
|
18
|
+
} ? {
|
19
|
+
-readonly [key in z.output<K> & string]: InstanceOrPrimitiveOfSchema<V>;
|
20
|
+
} & CoMap : S extends AnyCoMapSchema<infer Shape, infer Config> ? {
|
21
|
+
-readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchema<Shape[key]>;
|
22
|
+
} & (unknown extends Config["out"][string] ? {} : {
|
23
|
+
[key: string]: Config["out"][string];
|
24
|
+
}) & CoMap : S extends AnyCoListSchema<infer T> ? CoList<InstanceOrPrimitiveOfSchema<T>> : S extends AnyCoFeedSchema<infer T> ? CoFeed<InstanceOrPrimitiveOfSchema<T>> : S extends PlainTextSchema ? CoPlainText : S extends RichTextSchema ? CoRichText : S extends FileStreamSchema ? FileStream : S extends z.core.$ZodOptional<infer Inner> ? InstanceOrPrimitiveOfSchema<Inner> | undefined : S extends z.core.$ZodUnion<infer Members> ? InstanceOrPrimitiveOfSchema<Members[number]> : S extends z.core.$ZodObject<infer Shape> ? {
|
25
|
+
-readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchema<Shape[key]>;
|
26
|
+
} : S extends z.core.$ZodArray<infer Item> ? InstanceOrPrimitiveOfSchema<Item>[] : S extends z.core.$ZodTuple<infer Items> ? {
|
27
|
+
[key in keyof Items]: InstanceOrPrimitiveOfSchema<Items[key]>;
|
28
|
+
} : S extends z.core.$ZodString ? string : S extends z.core.$ZodNumber ? number : S extends z.core.$ZodBoolean ? boolean : S extends z.core.$ZodLiteral<infer Literal> ? Literal : S extends z.core.$ZodDate ? Date : never : S extends CoValueClass ? InstanceType<S> : never;
|
29
|
+
//# sourceMappingURL=InstanceOrPrimitiveOfSchema.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"InstanceOrPrimitiveOfSchema.d.ts","sourceRoot":"","sources":["../../../../src/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import z from "zod/v4";
|
2
|
+
import { Account, CoFeed, CoList, CoMap, CoPlainText, CoRichText, CoValueClass, FileStream, InstanceOrPrimitiveOfSchema, Profile } from "../../../internal.js";
|
3
|
+
import { AnyCoFeedSchema } from "../schemaTypes/CoFeedSchema.js";
|
4
|
+
import { AnyCoListSchema } from "../schemaTypes/CoListSchema.js";
|
5
|
+
import { AnyCoMapSchema } from "../schemaTypes/CoMapSchema.js";
|
6
|
+
import { FileStreamSchema } from "../schemaTypes/FileStreamSchema.js";
|
7
|
+
import { PlainTextSchema } from "../schemaTypes/PlainTextSchema.js";
|
8
|
+
import { RichTextSchema } from "../schemaTypes/RichTextSchema.js";
|
9
|
+
export type InstanceOrPrimitiveOfSchemaCoValuesNullable<S extends CoValueClass | z.core.$ZodType> = S extends z.core.$ZodType ? S extends z.core.$ZodObject<infer Shape> & {
|
10
|
+
collaborative: true;
|
11
|
+
builtin: "Account";
|
12
|
+
} ? ({
|
13
|
+
-readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchemaCoValuesNullable<Shape[key]>;
|
14
|
+
} & {
|
15
|
+
profile: Profile | null;
|
16
|
+
} & Account) | null : S extends z.core.$ZodRecord<infer K, infer V> & {
|
17
|
+
collaborative: true;
|
18
|
+
} ? ({
|
19
|
+
-readonly [key in z.output<K> & string]: InstanceOrPrimitiveOfSchemaCoValuesNullable<V>;
|
20
|
+
} & CoMap) | null : S extends AnyCoMapSchema<infer Shape, infer Config> ? ({
|
21
|
+
-readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchemaCoValuesNullable<Shape[key]>;
|
22
|
+
} & (unknown extends Config["out"][string] ? {} : {
|
23
|
+
[key: string]: Config["out"][string];
|
24
|
+
}) & CoMap) | null : S extends AnyCoListSchema<infer T> ? CoList<InstanceOrPrimitiveOfSchemaCoValuesNullable<T>> | null : S extends AnyCoFeedSchema<infer T> ? CoFeed<InstanceOrPrimitiveOfSchemaCoValuesNullable<T>> | null : S extends PlainTextSchema ? CoPlainText | null : S extends RichTextSchema ? CoRichText | null : S extends FileStreamSchema ? FileStream | null : S extends z.core.$ZodOptional<infer Inner> ? InstanceOrPrimitiveOfSchemaCoValuesNullable<Inner> | undefined : S extends z.core.$ZodUnion<infer Members> ? InstanceOrPrimitiveOfSchemaCoValuesNullable<Members[number]> : S extends z.core.$ZodObject<infer Shape> ? {
|
25
|
+
-readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchema<Shape[key]>;
|
26
|
+
} : S extends z.core.$ZodArray<infer Item> ? InstanceOrPrimitiveOfSchema<Item>[] : S extends z.core.$ZodTuple<infer Items> ? {
|
27
|
+
[key in keyof Items]: InstanceOrPrimitiveOfSchema<Items[key]>;
|
28
|
+
} : S extends z.core.$ZodString ? string : S extends z.core.$ZodNumber ? number : S extends z.core.$ZodBoolean ? boolean : S extends z.core.$ZodLiteral<infer Literal> ? Literal : S extends z.core.$ZodDate ? Date : never : S extends CoValueClass ? InstanceType<S> | null : never;
|
29
|
+
//# sourceMappingURL=InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts","sourceRoot":"","sources":["../../../../src/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { RawAccount, RawCoList, RawCoMap } from "cojson";
|
2
|
+
import z from "zod/v4";
|
3
|
+
export declare function schemaUnionDiscriminatorFor(schema: z.core.$ZodDiscriminatedUnion): (_raw: RawCoMap | RawAccount | RawCoList) => import("./zodSchema.js").CoValueClassFromZodSchema<z.core.$ZodType<unknown, unknown>>;
|
4
|
+
export declare function isUnionOfCoMapsDeeply(schema: z.core.$ZodType): schema is z.core.$ZodDiscriminatedUnion;
|
5
|
+
export declare function isUnionOfPrimitivesDeeply(schema: z.core.$ZodType): boolean;
|
6
|
+
//# sourceMappingURL=unionUtils.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"unionUtils.d.ts","sourceRoot":"","sources":["../../../src/implementation/zodSchema/unionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,CAAC,MAAM,QAAQ,CAAC;AAGvB,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,UAqCJ,QAAQ,GAAG,UAAU,GAAG,SAAS,2FA8DnE;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GACtB,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAMzC;AAkBD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,WAMhE"}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import z from "zod/v4";
|
2
|
+
import { AccountSchema, AnyCoMapSchema, CoFeedSchema, CoListSchema, CoMapSchema, CoProfileSchema, CoRecordSchema, FileStreamSchema, ImageDefinition, PlainTextSchema } from "../../internal.js";
|
3
|
+
import { RichTextSchema } from "./schemaTypes/RichTextSchema.js";
|
4
|
+
export declare const coMapDefiner: <Shape extends z.core.$ZodLooseShape>(shape: Shape) => CoMapSchema<Shape>;
|
5
|
+
export declare const coFileStreamDefiner: () => FileStreamSchema;
|
6
|
+
export declare const coPlainTextDefiner: () => PlainTextSchema;
|
7
|
+
export declare const coRichTextDefiner: () => RichTextSchema;
|
8
|
+
export declare const co: {
|
9
|
+
map: <Shape extends z.core.$ZodLooseShape>(shape: Shape) => CoMapSchema<Shape>;
|
10
|
+
record: <K extends z.core.$ZodString<string>, V extends z.core.$ZodType>(_keyType: K, valueType: V) => CoRecordSchema<K, V>;
|
11
|
+
list: <T extends z.core.$ZodType>(element: T) => CoListSchema<T>;
|
12
|
+
feed: <T extends z.core.$ZodType>(element: T) => CoFeedSchema<T>;
|
13
|
+
plainText: () => PlainTextSchema;
|
14
|
+
richText: () => RichTextSchema;
|
15
|
+
fileStream: () => FileStreamSchema;
|
16
|
+
image: () => typeof ImageDefinition;
|
17
|
+
account: <Shape extends {
|
18
|
+
profile: AnyCoMapSchema<{
|
19
|
+
name: z.core.$ZodString<string>;
|
20
|
+
inbox?: z.core.$ZodOptional<z.core.$ZodString>;
|
21
|
+
inboxInvite?: z.core.$ZodOptional<z.core.$ZodString>;
|
22
|
+
}>;
|
23
|
+
root: AnyCoMapSchema;
|
24
|
+
}>(shape?: Shape) => AccountSchema<Shape>;
|
25
|
+
profile: <Shape extends z.core.$ZodLooseShape = {
|
26
|
+
name: z.core.$ZodString<string>;
|
27
|
+
inbox: z.core.$ZodOptional<z.core.$ZodString>;
|
28
|
+
inboxInvite: z.core.$ZodOptional<z.core.$ZodString>;
|
29
|
+
}>(shape?: Shape & {
|
30
|
+
name?: z.core.$ZodString<string>;
|
31
|
+
inbox?: z.core.$ZodOptional<z.core.$ZodString>;
|
32
|
+
inboxInvite?: z.core.$ZodOptional<z.core.$ZodString>;
|
33
|
+
}) => CoProfileSchema<Shape>;
|
34
|
+
};
|
35
|
+
//# sourceMappingURL=zodCo.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"zodCo.d.ts","sourceRoot":"","sources":["../../../src/implementation/zodSchema/zodCo.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAIL,aAAa,EAEb,cAAc,EAEd,YAAY,EACZ,YAAY,EACZ,WAAW,EAEX,eAAe,EACf,cAAc,EAId,gBAAgB,EAEhB,eAAe,EACf,eAAe,EAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,eAAO,MAAM,YAAY,GAAI,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,SACvD,KAAK,KACX,WAAW,CAAC,KAAK,CA2DnB,CAAC;AAkNF,eAAO,MAAM,mBAAmB,QAAO,gBAyBtC,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,eAmCrC,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,cA8BpC,CAAC;AAEF,eAAO,MAAM,EAAE;UA/Wc,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,SACvD,KAAK,KACX,WAAW,CAAC,KAAK,CAAC;aA4JnB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EACnC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,YAEf,CAAC,aACA,CAAC,KACX,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;WAOA,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,WACrC,CAAC,KACT,YAAY,CAAC,CAAC,CAAC;WA+DK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,WACrC,CAAC,KACT,YAAY,CAAC,CAAC,CAAC;qBA6DoB,eAAe;oBAqChB,cAAc;sBAhEZ,gBAAgB;iBAwG1C,OAAO,eAAe;cAvTjC,KAAK,SAAS;QACZ,OAAO,EAAE,cAAc,CAAC;YACtB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAChC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/C,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACtD,CAAC,CAAC;QACH,IAAI,EAAE,cAAc,CAAC;KACtB,UAEM,KAAK,KAQX,aAAa,CAAC,KAAK,CAAC;cAmIrB,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc;cA1KxB,EAAG,IAAI,CAAC,UAAU;eAAkB,EAAG,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,UACrE;qBAAiB,EAAG,IAAI,CAAC,YAE9B,CAAC,EAAE,IAAI,CAAC,UAAU;eAyKZ,KAAK,GAAG;QACb,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACtD,KACA,eAAe,CAAC,KAAK,CAAC;CAiKxB,CAAC"}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { LocalNode, RawAccount } from "cojson";
|
2
|
+
import z from "zod/v4";
|
3
|
+
import { Account, AccountClass, CoValue, CoValueClass, CoValueFromRaw, RefsToResolve, RefsToResolveStrict, Resolved, Simplify } from "../../internal.js";
|
4
|
+
import { AnyAccountSchema } from "./schemaTypes/AccountSchema.js";
|
5
|
+
import { AnyCoFeedSchema } from "./schemaTypes/CoFeedSchema.js";
|
6
|
+
import { AnyCoListSchema } from "./schemaTypes/CoListSchema.js";
|
7
|
+
import { AnyCoMapSchema, CoMapInitZod } from "./schemaTypes/CoMapSchema.js";
|
8
|
+
import { AnyCoRecordSchema } from "./schemaTypes/CoRecordSchema.js";
|
9
|
+
import { FileStreamSchema } from "./schemaTypes/FileStreamSchema.js";
|
10
|
+
import { PlainTextSchema } from "./schemaTypes/PlainTextSchema.js";
|
11
|
+
import { RichTextSchema } from "./schemaTypes/RichTextSchema.js";
|
12
|
+
import { InstanceOfSchema } from "./typeConverters/InstanceOfSchema.js";
|
13
|
+
import { InstanceOfSchemaCoValuesNullable } from "./typeConverters/InstanceOfSchemaCoValuesNullable.js";
|
14
|
+
import { InstanceOrPrimitiveOfSchema } from "./typeConverters/InstanceOrPrimitiveOfSchema.js";
|
15
|
+
import { InstanceOrPrimitiveOfSchemaCoValuesNullable } from "./typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.js";
|
16
|
+
export type WithHelpers<Base extends z.core.$ZodType, Helpers extends object> = Base & Helpers;
|
17
|
+
export type FullyOrPartiallyLoaded<S extends z.core.$ZodType | CoValueClass> = InstanceOrPrimitiveOfSchema<S> extends CoValue ? NonNullable<InstanceOrPrimitiveOfSchemaCoValuesNullable<S>> : InstanceOrPrimitiveOfSchema<S>;
|
18
|
+
export type ZodPrimitiveSchema = z.core.$ZodString | z.core.$ZodNumber | z.core.$ZodBoolean | z.core.$ZodNull | z.core.$ZodDate | z.core.$ZodLiteral;
|
19
|
+
export type AnyCoUnionSchema = z.core.$ZodDiscriminatedUnion<((z.core.$ZodType & {
|
20
|
+
collaborative: true;
|
21
|
+
}) | z.core.$ZodDiscriminatedUnion)[]>;
|
22
|
+
export declare function isZodObject(schema: z.core.$ZodType): schema is z.core.$ZodObject<any, any>;
|
23
|
+
export declare function isZodArray(schema: z.core.$ZodType): schema is z.core.$ZodArray<any>;
|
24
|
+
export declare function isZodCustom(schema: z.core.$ZodType): schema is z.core.$ZodCustom<any, any>;
|
25
|
+
export declare function getDef<S extends z.core.$ZodType>(schema: S): S["_zod"]["def"];
|
26
|
+
export type CoValueOrZodSchema = CoValueClass | AnyCoSchema;
|
27
|
+
export type CoValueClassFromZodSchema<S extends z.core.$ZodType> = CoValueClass<InstanceOfSchema<S>> & CoValueFromRaw<InstanceOfSchema<S>> & (S extends AnyAccountSchema ? AccountClassEssentials : {});
|
28
|
+
type AccountClassEssentials = {
|
29
|
+
fromRaw: <A extends Account>(this: AccountClass<A>, raw: RawAccount) => A;
|
30
|
+
fromNode: <A extends Account>(this: AccountClass<A>, node: LocalNode) => A;
|
31
|
+
};
|
32
|
+
type AnyCoSchema = AnyCoMapSchema | AnyAccountSchema | AnyCoRecordSchema | AnyCoListSchema | AnyCoFeedSchema | AnyCoUnionSchema | PlainTextSchema | RichTextSchema | FileStreamSchema;
|
33
|
+
export type Loaded<T extends CoValueClass | AnyCoSchema, R extends ResolveQuery<T> = true> = Resolved<NonNullable<InstanceOfSchemaCoValuesNullable<T>>, R>;
|
34
|
+
export type ResolveQuery<T extends CoValueClass | AnyCoSchema> = RefsToResolve<NonNullable<InstanceOfSchemaCoValuesNullable<T>>>;
|
35
|
+
export type ResolveQueryStrict<T extends CoValueClass | AnyCoSchema, R extends ResolveQuery<T>> = RefsToResolveStrict<NonNullable<InstanceOfSchemaCoValuesNullable<T>>, R>;
|
36
|
+
export type InitFor<T extends CoValueClass | AnyCoSchema> = T extends AnyCoMapSchema<infer Shape> ? Simplify<CoMapInitZod<Shape>> : never;
|
37
|
+
export {};
|
38
|
+
//# sourceMappingURL=zodSchema.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"zodSchema.d.ts","sourceRoot":"","sources":["../../../src/implementation/zodSchema/zodSchema.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
@@ -8,7 +8,6 @@ import {
|
|
8
8
|
CoPlainText,
|
9
9
|
CoRichText,
|
10
10
|
CoValueBase,
|
11
|
-
DemoAuth,
|
12
11
|
Encoders,
|
13
12
|
FileStream,
|
14
13
|
Group,
|
@@ -18,26 +17,308 @@ import {
|
|
18
17
|
InboxSender,
|
19
18
|
JazzContextManager,
|
20
19
|
KvStoreContext,
|
21
|
-
PassphraseAuth,
|
22
20
|
Profile,
|
23
21
|
SchemaUnion,
|
22
|
+
anySchemaToCoSchema,
|
24
23
|
co,
|
25
|
-
|
24
|
+
coField,
|
26
25
|
createAnonymousJazzContext,
|
27
26
|
createCoValueObservable,
|
28
|
-
createInviteLink,
|
29
27
|
createJazzContext,
|
30
28
|
createJazzContextForNewAccount,
|
31
29
|
createJazzContextFromExistingCredentials,
|
32
30
|
isControlledAccount,
|
33
31
|
loadCoValue,
|
34
|
-
parseInviteLink,
|
35
32
|
randomSessionProvider,
|
36
|
-
subscribeToCoValue
|
37
|
-
|
33
|
+
subscribeToCoValue,
|
34
|
+
zodSchemaToCoSchema
|
35
|
+
} from "./chunk-WLOZKDOH.js";
|
36
|
+
|
37
|
+
// src/exports.ts
|
38
|
+
import { z } from "zod/v4";
|
39
|
+
|
40
|
+
// src/auth/DemoAuth.ts
|
41
|
+
var DemoAuth = class {
|
42
|
+
constructor(authenticate, authSecretStorage) {
|
43
|
+
this.authenticate = authenticate;
|
44
|
+
this.authSecretStorage = authSecretStorage;
|
45
|
+
this.logIn = async (username) => {
|
46
|
+
const existingUsers = await this.getExisitingUsersWithData();
|
47
|
+
const storageData = existingUsers[username];
|
48
|
+
if (!storageData?.accountID) {
|
49
|
+
throw new Error("User not found");
|
50
|
+
}
|
51
|
+
await this.authenticate({
|
52
|
+
accountID: storageData.accountID,
|
53
|
+
accountSecret: storageData.accountSecret
|
54
|
+
});
|
55
|
+
await this.authSecretStorage.set({
|
56
|
+
accountID: storageData.accountID,
|
57
|
+
accountSecret: storageData.accountSecret,
|
58
|
+
secretSeed: storageData.secretSeed ? new Uint8Array(storageData.secretSeed) : void 0,
|
59
|
+
provider: "demo"
|
60
|
+
});
|
61
|
+
};
|
62
|
+
this.signUp = async (username) => {
|
63
|
+
const existingUsers = await this.getExistingUsers();
|
64
|
+
if (existingUsers.includes(username)) {
|
65
|
+
throw new Error("User already registered");
|
66
|
+
}
|
67
|
+
const credentials = await this.authSecretStorage.get();
|
68
|
+
if (!credentials) {
|
69
|
+
throw new Error("No credentials found");
|
70
|
+
}
|
71
|
+
const currentAccount = await Account.getMe().ensureLoaded({
|
72
|
+
resolve: {
|
73
|
+
profile: true
|
74
|
+
}
|
75
|
+
});
|
76
|
+
currentAccount.profile.name = username;
|
77
|
+
await this.authSecretStorage.set({
|
78
|
+
accountID: credentials.accountID,
|
79
|
+
accountSecret: credentials.accountSecret,
|
80
|
+
secretSeed: credentials.secretSeed ? new Uint8Array(credentials.secretSeed) : void 0,
|
81
|
+
provider: "demo"
|
82
|
+
});
|
83
|
+
await this.addToExistingUsers(username, {
|
84
|
+
accountID: credentials.accountID,
|
85
|
+
accountSecret: credentials.accountSecret,
|
86
|
+
secretSeed: credentials.secretSeed ? Array.from(credentials.secretSeed) : void 0
|
87
|
+
});
|
88
|
+
};
|
89
|
+
this.getExistingUsers = async () => {
|
90
|
+
return Object.keys(await this.getExisitingUsersWithData());
|
91
|
+
};
|
92
|
+
}
|
93
|
+
async addToExistingUsers(username, data) {
|
94
|
+
const existingUsers = await this.getExisitingUsersWithData();
|
95
|
+
if (existingUsers[username]) {
|
96
|
+
return;
|
97
|
+
}
|
98
|
+
existingUsers[username] = data;
|
99
|
+
const kvStore = KvStoreContext.getInstance().getStorage();
|
100
|
+
await kvStore.set("demo-auth-users", JSON.stringify(existingUsers));
|
101
|
+
}
|
102
|
+
async getExisitingUsersWithData() {
|
103
|
+
const kvStore = KvStoreContext.getInstance().getStorage();
|
104
|
+
await migrateExistingUsers(kvStore);
|
105
|
+
const existingUsers = await kvStore.get("demo-auth-users");
|
106
|
+
return existingUsers ? JSON.parse(existingUsers) : {};
|
107
|
+
}
|
108
|
+
};
|
109
|
+
function encodeUsername(username) {
|
110
|
+
return btoa(username).replace(/=/g, "-").replace(/\+/g, "_").replace(/\//g, ".");
|
111
|
+
}
|
112
|
+
async function getStorageVersion(kvStore) {
|
113
|
+
try {
|
114
|
+
const version = await kvStore.get("demo-auth-storage-version");
|
115
|
+
return version ? parseInt(version) : 1;
|
116
|
+
} catch (error) {
|
117
|
+
return 1;
|
118
|
+
}
|
119
|
+
}
|
120
|
+
async function setStorageVersion(kvStore, version) {
|
121
|
+
await kvStore.set("demo-auth-storage-version", version.toString());
|
122
|
+
}
|
123
|
+
async function getExistingUsersList(kvStore) {
|
124
|
+
const existingUsers = await kvStore.get("demo-auth-existing-users");
|
125
|
+
return existingUsers ? existingUsers.split(",") : [];
|
126
|
+
}
|
127
|
+
async function migrateExistingUsers(kvStore) {
|
128
|
+
if (await getStorageVersion(kvStore) < 2) {
|
129
|
+
const existingUsers = await getExistingUsersList(kvStore);
|
130
|
+
for (const username of existingUsers) {
|
131
|
+
const legacyKey = `demo-auth-existing-users-${username}`;
|
132
|
+
const storageData = await kvStore.get(legacyKey);
|
133
|
+
if (storageData) {
|
134
|
+
await kvStore.set(
|
135
|
+
`demo-auth-existing-users-${encodeUsername(username)}`,
|
136
|
+
storageData
|
137
|
+
);
|
138
|
+
await kvStore.delete(legacyKey);
|
139
|
+
}
|
140
|
+
}
|
141
|
+
await setStorageVersion(kvStore, 2);
|
142
|
+
}
|
143
|
+
if (await getStorageVersion(kvStore) < 3) {
|
144
|
+
const existingUsersList = await getExistingUsersList(kvStore);
|
145
|
+
const existingUsers = {};
|
146
|
+
const keysToDelete = ["demo-auth-existing-users"];
|
147
|
+
for (const username of existingUsersList) {
|
148
|
+
const key = `demo-auth-existing-users-${encodeUsername(username)}`;
|
149
|
+
const storageData = await kvStore.get(key);
|
150
|
+
if (storageData) {
|
151
|
+
existingUsers[username] = JSON.parse(storageData);
|
152
|
+
keysToDelete.push(key);
|
153
|
+
}
|
154
|
+
}
|
155
|
+
await kvStore.set("demo-auth-users", JSON.stringify(existingUsers));
|
156
|
+
for (const key of keysToDelete) {
|
157
|
+
await kvStore.delete(key);
|
158
|
+
}
|
159
|
+
await setStorageVersion(kvStore, 3);
|
160
|
+
}
|
161
|
+
}
|
162
|
+
|
163
|
+
// src/auth/PassphraseAuth.ts
|
164
|
+
import * as bip39 from "@scure/bip39";
|
165
|
+
import { entropyToMnemonic } from "@scure/bip39";
|
166
|
+
import { cojsonInternals } from "cojson";
|
167
|
+
var PassphraseAuth = class {
|
168
|
+
constructor(crypto, authenticate, register, authSecretStorage, wordlist) {
|
169
|
+
this.crypto = crypto;
|
170
|
+
this.authenticate = authenticate;
|
171
|
+
this.register = register;
|
172
|
+
this.authSecretStorage = authSecretStorage;
|
173
|
+
this.wordlist = wordlist;
|
174
|
+
this.passphrase = "";
|
175
|
+
this.logIn = async (passphrase) => {
|
176
|
+
const { crypto, authenticate } = this;
|
177
|
+
let secretSeed;
|
178
|
+
try {
|
179
|
+
secretSeed = bip39.mnemonicToEntropy(passphrase, this.wordlist);
|
180
|
+
} catch (e) {
|
181
|
+
throw new Error("Invalid passphrase");
|
182
|
+
}
|
183
|
+
const accountSecret = crypto.agentSecretFromSecretSeed(secretSeed);
|
184
|
+
const accountID = cojsonInternals.idforHeader(
|
185
|
+
cojsonInternals.accountHeaderForInitialAgentSecret(accountSecret, crypto),
|
186
|
+
crypto
|
187
|
+
);
|
188
|
+
await authenticate({
|
189
|
+
accountID,
|
190
|
+
accountSecret
|
191
|
+
});
|
192
|
+
await this.authSecretStorage.set({
|
193
|
+
accountID,
|
194
|
+
secretSeed,
|
195
|
+
accountSecret,
|
196
|
+
provider: "passphrase"
|
197
|
+
});
|
198
|
+
this.passphrase = passphrase;
|
199
|
+
this.notify();
|
200
|
+
};
|
201
|
+
this.signUp = async (name) => {
|
202
|
+
const credentials = await this.authSecretStorage.get();
|
203
|
+
if (!credentials || !credentials.secretSeed) {
|
204
|
+
throw new Error("No credentials found");
|
205
|
+
}
|
206
|
+
const passphrase = entropyToMnemonic(credentials.secretSeed, this.wordlist);
|
207
|
+
await this.authSecretStorage.set({
|
208
|
+
accountID: credentials.accountID,
|
209
|
+
secretSeed: credentials.secretSeed,
|
210
|
+
accountSecret: credentials.accountSecret,
|
211
|
+
provider: "passphrase"
|
212
|
+
});
|
213
|
+
if (name?.trim()) {
|
214
|
+
const currentAccount = await Account.getMe().ensureLoaded({
|
215
|
+
resolve: {
|
216
|
+
profile: true
|
217
|
+
}
|
218
|
+
});
|
219
|
+
currentAccount.profile.name = name;
|
220
|
+
}
|
221
|
+
return passphrase;
|
222
|
+
};
|
223
|
+
this.registerNewAccount = async (passphrase, name) => {
|
224
|
+
const secretSeed = bip39.mnemonicToEntropy(passphrase, this.wordlist);
|
225
|
+
const accountSecret = this.crypto.agentSecretFromSecretSeed(secretSeed);
|
226
|
+
const accountID = await this.register(accountSecret, { name });
|
227
|
+
await this.authSecretStorage.set({
|
228
|
+
accountID,
|
229
|
+
secretSeed,
|
230
|
+
accountSecret,
|
231
|
+
provider: "passphrase"
|
232
|
+
});
|
233
|
+
return accountID;
|
234
|
+
};
|
235
|
+
this.getCurrentAccountPassphrase = async () => {
|
236
|
+
const credentials = await this.authSecretStorage.get();
|
237
|
+
if (!credentials || !credentials.secretSeed) {
|
238
|
+
throw new Error("No credentials found");
|
239
|
+
}
|
240
|
+
return entropyToMnemonic(credentials.secretSeed, this.wordlist);
|
241
|
+
};
|
242
|
+
this.generateRandomPassphrase = () => {
|
243
|
+
return entropyToMnemonic(this.crypto.newRandomSecretSeed(), this.wordlist);
|
244
|
+
};
|
245
|
+
this.loadCurrentAccountPassphrase = async () => {
|
246
|
+
const passphrase = await this.getCurrentAccountPassphrase();
|
247
|
+
this.passphrase = passphrase;
|
248
|
+
this.notify();
|
249
|
+
};
|
250
|
+
this.listeners = /* @__PURE__ */ new Set();
|
251
|
+
this.subscribe = (callback) => {
|
252
|
+
this.listeners.add(callback);
|
253
|
+
return () => {
|
254
|
+
this.listeners.delete(callback);
|
255
|
+
};
|
256
|
+
};
|
257
|
+
}
|
258
|
+
notify() {
|
259
|
+
for (const listener of this.listeners) {
|
260
|
+
listener();
|
261
|
+
}
|
262
|
+
}
|
263
|
+
};
|
264
|
+
|
265
|
+
// src/implementation/invites.ts
|
266
|
+
import { cojsonInternals as cojsonInternals2 } from "cojson";
|
267
|
+
function createInviteLink(value, role, baseURL, valueHint) {
|
268
|
+
const coValueCore = value._raw.core;
|
269
|
+
let currentCoValue = coValueCore;
|
270
|
+
while (currentCoValue.verified.header.ruleset.type === "ownedByGroup") {
|
271
|
+
currentCoValue = currentCoValue.getGroup().core;
|
272
|
+
}
|
273
|
+
const { ruleset, meta } = currentCoValue.verified.header;
|
274
|
+
if (ruleset.type !== "group" || meta?.type === "account") {
|
275
|
+
throw new Error("Can't create invite link for object without group");
|
276
|
+
}
|
277
|
+
const group = cojsonInternals2.expectGroup(currentCoValue.getCurrentContent());
|
278
|
+
const inviteSecret = group.createInvite(role);
|
279
|
+
return `${baseURL}#/invite/${valueHint ? valueHint + "/" : ""}${value.id}/${inviteSecret}`;
|
280
|
+
}
|
281
|
+
function parseInviteLink(inviteURL) {
|
282
|
+
const url = new URL(inviteURL);
|
283
|
+
const parts = url.hash.split("/");
|
284
|
+
let valueHint;
|
285
|
+
let valueID;
|
286
|
+
let inviteSecret;
|
287
|
+
if (parts[0] === "#" && parts[1] === "invite") {
|
288
|
+
if (parts.length === 5) {
|
289
|
+
valueHint = parts[2];
|
290
|
+
valueID = parts[3];
|
291
|
+
inviteSecret = parts[4];
|
292
|
+
} else if (parts.length === 4) {
|
293
|
+
valueID = parts[2];
|
294
|
+
inviteSecret = parts[3];
|
295
|
+
}
|
296
|
+
if (!valueID || !inviteSecret) {
|
297
|
+
return void 0;
|
298
|
+
}
|
299
|
+
return { valueID, inviteSecret, valueHint };
|
300
|
+
}
|
301
|
+
}
|
302
|
+
function consumeInviteLink({
|
303
|
+
inviteURL,
|
304
|
+
as = Account.getMe(),
|
305
|
+
forValueHint,
|
306
|
+
invitedObjectSchema
|
307
|
+
}) {
|
308
|
+
return new Promise((resolve, reject) => {
|
309
|
+
const result = parseInviteLink(inviteURL);
|
310
|
+
if (result && result.valueHint === forValueHint) {
|
311
|
+
as.acceptInvite(result.valueID, result.inviteSecret, invitedObjectSchema).then(() => {
|
312
|
+
resolve(result);
|
313
|
+
}).catch(reject);
|
314
|
+
} else {
|
315
|
+
resolve(void 0);
|
316
|
+
}
|
317
|
+
});
|
318
|
+
}
|
38
319
|
|
39
320
|
// src/index.ts
|
40
|
-
import { MAX_RECOMMENDED_TX_SIZE, cojsonInternals } from "cojson";
|
321
|
+
import { MAX_RECOMMENDED_TX_SIZE, cojsonInternals as cojsonInternals3 } from "cojson";
|
41
322
|
export {
|
42
323
|
Account,
|
43
324
|
AnonymousJazzAgent,
|
@@ -64,8 +345,10 @@ export {
|
|
64
345
|
PassphraseAuth,
|
65
346
|
Profile,
|
66
347
|
SchemaUnion,
|
348
|
+
anySchemaToCoSchema,
|
67
349
|
co,
|
68
|
-
|
350
|
+
coField,
|
351
|
+
cojsonInternals3 as cojsonInternals,
|
69
352
|
consumeInviteLink,
|
70
353
|
createAnonymousJazzContext,
|
71
354
|
createCoValueObservable,
|
@@ -77,6 +360,8 @@ export {
|
|
77
360
|
loadCoValue,
|
78
361
|
parseInviteLink,
|
79
362
|
randomSessionProvider,
|
80
|
-
subscribeToCoValue
|
363
|
+
subscribeToCoValue,
|
364
|
+
z,
|
365
|
+
zodSchemaToCoSchema
|
81
366
|
};
|
82
367
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from \"./exports.js\";\n\nexport { MAX_RECOMMENDED_TX_SIZE, cojsonInternals } from \"cojson\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAS,yBAAyB,uBAAuB;","names":[]}
|
1
|
+
{"version":3,"sources":["../src/exports.ts","../src/auth/DemoAuth.ts","../src/auth/PassphraseAuth.ts","../src/implementation/invites.ts","../src/index.ts"],"sourcesContent":["export type {\n AgentID,\n CoValueUniqueness,\n CryptoProvider,\n InviteSecret,\n Peer,\n SessionID,\n SyncMessage,\n} from \"cojson\";\n\nexport { z } from \"zod/v4\";\n\nexport type { CoValue, ID } from \"./internal.js\";\n\nexport { Encoders, coField } from \"./internal.js\";\n\nexport { Inbox, InboxSender } from \"./internal.js\";\n\nexport { Group } from \"./internal.js\";\nexport { CoValueBase } from \"./internal.js\";\nexport { Profile } from \"./internal.js\";\nexport { SchemaUnion } from \"./internal.js\";\n\nexport { co } from \"./internal.js\";\n\nexport type {\n CoValueClass,\n CoValueFromRaw,\n DeeplyLoaded,\n Resolved,\n RefsToResolve,\n RefsToResolveStrict,\n CoMapInit,\n CoFeedEntry,\n TextPos,\n AccountClass,\n AccountCreationProps,\n} from \"./internal.js\";\n\nexport {\n CoMap,\n CoList,\n BinaryCoStream,\n CoFeed,\n CoStream,\n FileStream,\n CoPlainText,\n CoRichText,\n Account,\n isControlledAccount,\n createCoValueObservable,\n loadCoValue,\n subscribeToCoValue,\n ImageDefinition,\n} from \"./internal.js\";\n\nexport {\n JazzContextManager,\n type JazzContextManagerAuthProps,\n} from \"./internal.js\";\n\nexport { AuthSecretStorage } from \"./auth/AuthSecretStorage.js\";\nexport { KvStoreContext, type KvStore } from \"./auth/KvStoreContext.js\";\nexport { InMemoryKVStore } from \"./auth/InMemoryKVStore.js\";\nexport { DemoAuth } from \"./auth/DemoAuth.js\";\nexport { PassphraseAuth } from \"./auth/PassphraseAuth.js\";\n\nexport {\n createInviteLink,\n parseInviteLink,\n consumeInviteLink,\n} from \"./implementation/invites.js\";\n\nexport {\n AnonymousJazzAgent,\n createAnonymousJazzContext,\n createJazzContextFromExistingCredentials,\n createJazzContextForNewAccount,\n createJazzContext,\n randomSessionProvider,\n type AuthResult,\n type Credentials,\n type JazzContextWithAccount,\n} from \"./internal.js\";\n\nexport type * from \"./types.js\";\n\nexport {\n zodSchemaToCoSchema,\n anySchemaToCoSchema,\n type InstanceOfSchema,\n type InstanceOfSchemaCoValuesNullable,\n type CoValueOrZodSchema,\n type Loaded,\n type AccountSchema,\n type AnyAccountSchema,\n type CoListSchema,\n type CoMapSchema,\n type CoFeedSchema,\n type PlainTextSchema,\n type FileStreamSchema,\n type ResolveQuery,\n type ResolveQueryStrict,\n type InitFor,\n} from \"./internal.js\";\n","import { AgentSecret } from \"cojson\";\nimport { Account, ID } from \"../internal.js\";\nimport { AuthenticateAccountFunction } from \"../types.js\";\nimport { AuthSecretStorage } from \"./AuthSecretStorage.js\";\nimport { KvStore, KvStoreContext } from \"./KvStoreContext.js\";\n\ntype StorageData = {\n accountID: ID<Account>;\n accountSecret: AgentSecret;\n secretSeed?: number[];\n};\n\n/**\n * `DemoAuth` provides a `JazzAuth` object for demo authentication.\n *\n * Demo authentication is useful for quickly testing your app, as it allows you to create new accounts and log in as existing ones.\n *\n * ```\n * import { DemoAuth } from \"jazz-tools\";\n *\n * const auth = new DemoAuth(jazzContext.authenticate, new AuthSecretStorage());\n * ```\n *\n * @category Auth Providers\n */\nexport class DemoAuth {\n constructor(\n private authenticate: AuthenticateAccountFunction,\n private authSecretStorage: AuthSecretStorage,\n ) {}\n\n logIn = async (username: string) => {\n const existingUsers = await this.getExisitingUsersWithData();\n const storageData = existingUsers[username];\n\n if (!storageData?.accountID) {\n throw new Error(\"User not found\");\n }\n\n await this.authenticate({\n accountID: storageData.accountID,\n accountSecret: storageData.accountSecret,\n });\n\n await this.authSecretStorage.set({\n accountID: storageData.accountID,\n accountSecret: storageData.accountSecret,\n secretSeed: storageData.secretSeed\n ? new Uint8Array(storageData.secretSeed)\n : undefined,\n provider: \"demo\",\n });\n };\n\n signUp = async (username: string) => {\n const existingUsers = await this.getExistingUsers();\n if (existingUsers.includes(username)) {\n throw new Error(\"User already registered\");\n }\n\n const credentials = await this.authSecretStorage.get();\n\n if (!credentials) {\n throw new Error(\"No credentials found\");\n }\n\n const currentAccount = await Account.getMe().ensureLoaded({\n resolve: {\n profile: true,\n },\n });\n\n currentAccount.profile.name = username;\n\n await this.authSecretStorage.set({\n accountID: credentials.accountID,\n accountSecret: credentials.accountSecret,\n secretSeed: credentials.secretSeed\n ? new Uint8Array(credentials.secretSeed)\n : undefined,\n provider: \"demo\",\n });\n\n await this.addToExistingUsers(username, {\n accountID: credentials.accountID,\n accountSecret: credentials.accountSecret,\n secretSeed: credentials.secretSeed\n ? Array.from(credentials.secretSeed)\n : undefined,\n });\n };\n\n private async addToExistingUsers(username: string, data: StorageData) {\n const existingUsers = await this.getExisitingUsersWithData();\n\n if (existingUsers[username]) {\n return;\n }\n\n existingUsers[username] = data;\n\n const kvStore = KvStoreContext.getInstance().getStorage();\n await kvStore.set(\"demo-auth-users\", JSON.stringify(existingUsers));\n }\n\n private async getExisitingUsersWithData() {\n const kvStore = KvStoreContext.getInstance().getStorage();\n await migrateExistingUsers(kvStore);\n\n const existingUsers = await kvStore.get(\"demo-auth-users\");\n return existingUsers ? JSON.parse(existingUsers) : {};\n }\n\n getExistingUsers = async () => {\n return Object.keys(await this.getExisitingUsersWithData());\n };\n}\n\nexport function encodeUsername(username: string) {\n return btoa(username)\n .replace(/=/g, \"-\")\n .replace(/\\+/g, \"_\")\n .replace(/\\//g, \".\");\n}\n\nasync function getStorageVersion(kvStore: KvStore) {\n try {\n const version = await kvStore.get(\"demo-auth-storage-version\");\n return version ? parseInt(version) : 1;\n } catch (error) {\n return 1;\n }\n}\n\nasync function setStorageVersion(kvStore: KvStore, version: number) {\n await kvStore.set(\"demo-auth-storage-version\", version.toString());\n}\n\nasync function getExistingUsersList(kvStore: KvStore) {\n const existingUsers = await kvStore.get(\"demo-auth-existing-users\");\n return existingUsers ? existingUsers.split(\",\") : [];\n}\n\n/**\n * Migrates existing users keys to work with any storage.\n */\nasync function migrateExistingUsers(kvStore: KvStore) {\n if ((await getStorageVersion(kvStore)) < 2) {\n const existingUsers = await getExistingUsersList(kvStore);\n\n for (const username of existingUsers) {\n const legacyKey = `demo-auth-existing-users-${username}`;\n const storageData = await kvStore.get(legacyKey);\n if (storageData) {\n await kvStore.set(\n `demo-auth-existing-users-${encodeUsername(username)}`,\n storageData,\n );\n await kvStore.delete(legacyKey);\n }\n }\n\n await setStorageVersion(kvStore, 2);\n }\n\n if ((await getStorageVersion(kvStore)) < 3) {\n const existingUsersList = await getExistingUsersList(kvStore);\n\n const existingUsers: Record<string, StorageData> = {};\n const keysToDelete: string[] = [\"demo-auth-existing-users\"];\n\n for (const username of existingUsersList) {\n const key = `demo-auth-existing-users-${encodeUsername(username)}`;\n const storageData = await kvStore.get(key);\n if (storageData) {\n existingUsers[username] = JSON.parse(storageData);\n keysToDelete.push(key);\n }\n }\n\n await kvStore.set(\"demo-auth-users\", JSON.stringify(existingUsers));\n\n for (const key of keysToDelete) {\n await kvStore.delete(key);\n }\n\n await setStorageVersion(kvStore, 3);\n }\n}\n","import * as bip39 from \"@scure/bip39\";\nimport { entropyToMnemonic } from \"@scure/bip39\";\nimport { CryptoProvider, cojsonInternals } from \"cojson\";\nimport type { ID } from \"../internal.js\";\nimport { Account } from \"../internal.js\";\nimport type {\n AuthenticateAccountFunction,\n RegisterAccountFunction,\n} from \"../types.js\";\nimport { AuthSecretStorage } from \"./AuthSecretStorage.js\";\n\n/**\n * `PassphraseAuth` provides a `JazzAuth` object for passphrase authentication.\n *\n * ```ts\n * import { PassphraseAuth } from \"jazz-tools\";\n *\n * const auth = new PassphraseAuth(crypto, jazzContext.authenticate, new AuthSecretStorage(), wordlist);\n * ```\n *\n * @category Auth Providers\n */\nexport class PassphraseAuth {\n passphrase: string = \"\";\n\n constructor(\n private crypto: CryptoProvider,\n private authenticate: AuthenticateAccountFunction,\n private register: RegisterAccountFunction,\n private authSecretStorage: AuthSecretStorage,\n public wordlist: string[],\n ) {}\n\n logIn = async (passphrase: string) => {\n const { crypto, authenticate } = this;\n\n let secretSeed;\n\n try {\n secretSeed = bip39.mnemonicToEntropy(passphrase, this.wordlist);\n } catch (e) {\n throw new Error(\"Invalid passphrase\");\n }\n\n const accountSecret = crypto.agentSecretFromSecretSeed(secretSeed);\n\n const accountID = cojsonInternals.idforHeader(\n cojsonInternals.accountHeaderForInitialAgentSecret(accountSecret, crypto),\n crypto,\n ) as ID<Account>;\n\n await authenticate({\n accountID,\n accountSecret,\n });\n\n await this.authSecretStorage.set({\n accountID,\n secretSeed,\n accountSecret,\n provider: \"passphrase\",\n });\n\n this.passphrase = passphrase;\n this.notify();\n };\n\n signUp = async (name?: string) => {\n const credentials = await this.authSecretStorage.get();\n\n if (!credentials || !credentials.secretSeed) {\n throw new Error(\"No credentials found\");\n }\n\n const passphrase = entropyToMnemonic(credentials.secretSeed, this.wordlist);\n\n await this.authSecretStorage.set({\n accountID: credentials.accountID,\n secretSeed: credentials.secretSeed,\n accountSecret: credentials.accountSecret,\n provider: \"passphrase\",\n });\n\n if (name?.trim()) {\n const currentAccount = await Account.getMe().ensureLoaded({\n resolve: {\n profile: true,\n },\n });\n\n currentAccount.profile.name = name;\n }\n\n return passphrase;\n };\n\n registerNewAccount = async (passphrase: string, name: string) => {\n const secretSeed = bip39.mnemonicToEntropy(passphrase, this.wordlist);\n const accountSecret = this.crypto.agentSecretFromSecretSeed(secretSeed);\n const accountID = await this.register(accountSecret, { name });\n\n await this.authSecretStorage.set({\n accountID,\n secretSeed,\n accountSecret,\n provider: \"passphrase\",\n });\n\n return accountID;\n };\n\n getCurrentAccountPassphrase = async () => {\n const credentials = await this.authSecretStorage.get();\n\n if (!credentials || !credentials.secretSeed) {\n throw new Error(\"No credentials found\");\n }\n\n return entropyToMnemonic(credentials.secretSeed, this.wordlist);\n };\n\n generateRandomPassphrase = () => {\n return entropyToMnemonic(this.crypto.newRandomSecretSeed(), this.wordlist);\n };\n\n loadCurrentAccountPassphrase = async () => {\n const passphrase = await this.getCurrentAccountPassphrase();\n this.passphrase = passphrase;\n this.notify();\n };\n\n listeners = new Set<() => void>();\n subscribe = (callback: () => void) => {\n this.listeners.add(callback);\n\n return () => {\n this.listeners.delete(callback);\n };\n };\n\n notify() {\n for (const listener of this.listeners) {\n listener();\n }\n }\n}\n","import { type InviteSecret, cojsonInternals } from \"cojson\";\nimport { Account } from \"../coValues/account.js\";\nimport type {\n CoValue,\n CoValueClass,\n CoValueOrZodSchema,\n ID,\n} from \"../internal.js\";\n\n/** @category Invite Links */\nexport function createInviteLink<C extends CoValue>(\n value: C,\n role: \"reader\" | \"writer\" | \"admin\" | \"writeOnly\",\n baseURL: string,\n valueHint?: string,\n): string {\n const coValueCore = value._raw.core;\n let currentCoValue = coValueCore;\n\n while (currentCoValue.verified.header.ruleset.type === \"ownedByGroup\") {\n currentCoValue = currentCoValue.getGroup().core;\n }\n\n const { ruleset, meta } = currentCoValue.verified.header;\n\n if (ruleset.type !== \"group\" || meta?.type === \"account\") {\n throw new Error(\"Can't create invite link for object without group\");\n }\n\n const group = cojsonInternals.expectGroup(currentCoValue.getCurrentContent());\n const inviteSecret = group.createInvite(role);\n\n return `${baseURL}#/invite/${valueHint ? valueHint + \"/\" : \"\"}${\n value.id\n }/${inviteSecret}`;\n}\n\n/** @category Invite Links */\nexport function parseInviteLink(inviteURL: string):\n | {\n valueID: string;\n valueHint?: string;\n inviteSecret: InviteSecret;\n }\n | undefined {\n const url = new URL(inviteURL);\n const parts = url.hash.split(\"/\");\n\n let valueHint: string | undefined;\n let valueID: string | undefined;\n let inviteSecret: InviteSecret | undefined;\n\n if (parts[0] === \"#\" && parts[1] === \"invite\") {\n if (parts.length === 5) {\n valueHint = parts[2];\n valueID = parts[3];\n inviteSecret = parts[4] as InviteSecret;\n } else if (parts.length === 4) {\n valueID = parts[2];\n inviteSecret = parts[3] as InviteSecret;\n }\n\n if (!valueID || !inviteSecret) {\n return undefined;\n }\n return { valueID, inviteSecret, valueHint };\n }\n}\n\n/** @category Invite Links */\nexport function consumeInviteLink<S extends CoValueOrZodSchema>({\n inviteURL,\n as = Account.getMe(),\n forValueHint,\n invitedObjectSchema,\n}: {\n inviteURL: string;\n as?: Account;\n forValueHint?: string;\n invitedObjectSchema: S;\n}): Promise<\n | {\n valueID: string;\n valueHint?: string;\n inviteSecret: InviteSecret;\n }\n | undefined\n> {\n return new Promise((resolve, reject) => {\n const result = parseInviteLink(inviteURL);\n\n if (result && result.valueHint === forValueHint) {\n as.acceptInvite(result.valueID, result.inviteSecret, invitedObjectSchema)\n .then(() => {\n resolve(result);\n })\n .catch(reject);\n } else {\n resolve(undefined);\n }\n });\n}\n","export * from \"./exports.js\";\n\nexport { MAX_RECOMMENDED_TX_SIZE, cojsonInternals } from \"cojson\";\n"],"mappings":"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","names":["cojsonInternals","cojsonInternals","cojsonInternals"]}
|
package/dist/internal.d.ts
CHANGED
@@ -1,12 +1,46 @@
|
|
1
1
|
export * from "./coValues/interfaces.js";
|
2
|
+
export * from "./coValues/CoValueBase.js";
|
2
3
|
export * from "./implementation/inspect.js";
|
3
4
|
export * from "./implementation/symbols.js";
|
5
|
+
export * from "./coValues/registeredSchemas.js";
|
6
|
+
export * from "./coValues/coMap.js";
|
7
|
+
export * from "./coValues/coList.js";
|
8
|
+
export * from "./coValues/coFeed.js";
|
9
|
+
export * from "./coValues/account.js";
|
10
|
+
export * from "./coValues/group.js";
|
11
|
+
export * from "./coValues/profile.js";
|
12
|
+
export * from "./coValues/inbox.js";
|
13
|
+
export * from "./coValues/coPlainText.js";
|
14
|
+
export * from "./coValues/coRichText.js";
|
15
|
+
export * from "./coValues/schemaUnion.js";
|
4
16
|
export * from "./coValues/deepLoading.js";
|
5
17
|
export * from "./implementation/anonymousJazzAgent.js";
|
18
|
+
export * from "./implementation/activeAccountContext.js";
|
6
19
|
export * from "./implementation/errors.js";
|
7
20
|
export * from "./implementation/refs.js";
|
8
21
|
export * from "./implementation/schema.js";
|
22
|
+
export * from "./subscribe/SubscriptionScope.js";
|
23
|
+
export * from "./subscribe/types.js";
|
9
24
|
export * from "./subscribe/index.js";
|
25
|
+
export * from "./lib/cache.js";
|
10
26
|
export * from "./implementation/createContext.js";
|
27
|
+
export * from "./types.js";
|
28
|
+
export * from "./implementation/zodSchema/zodSchema.js";
|
29
|
+
export * from "./implementation/zodSchema/zodCo.js";
|
30
|
+
export * from "./implementation/zodSchema/schemaTypes/CoMapSchema.js";
|
31
|
+
export * from "./implementation/zodSchema/schemaTypes/CoRecordSchema.js";
|
32
|
+
export * from "./implementation/zodSchema/schemaTypes/CoListSchema.js";
|
33
|
+
export * from "./implementation/zodSchema/schemaTypes/CoFeedSchema.js";
|
34
|
+
export * from "./implementation/zodSchema/schemaTypes/AccountSchema.js";
|
35
|
+
export * from "./implementation/zodSchema/schemaTypes/FileStreamSchema.js";
|
36
|
+
export * from "./implementation/zodSchema/schemaTypes/PlainTextSchema.js";
|
37
|
+
export * from "./implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.js";
|
38
|
+
export * from "./implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.js";
|
39
|
+
export * from "./implementation/zodSchema/typeConverters/InstanceOfSchema.js";
|
40
|
+
export * from "./implementation/zodSchema/typeConverters/InstanceOfSchemaCoValuesNullable.js";
|
41
|
+
export * from "./implementation/zodSchema/runtimeConverters/zodSchemaToCoSchema.js";
|
42
|
+
export * from "./implementation/zodSchema/runtimeConverters/zodFieldToCoFieldDef.js";
|
43
|
+
export * from "./coValues/extensions/imageDef.js";
|
44
|
+
export * from "./implementation/ContextManager.js";
|
11
45
|
import "./implementation/devtoolsFormatters.js";
|
12
46
|
//# sourceMappingURL=internal.d.ts.map
|
package/dist/internal.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,mCAAmC,CAAC;AAElD,OAAO,wCAAwC,CAAC"}
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,iCAAiC,CAAC;AAEhD,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wCAAwC,CAAC;AACvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mCAAmC,CAAC;AAElD,cAAc,YAAY,CAAC;AAC3B,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,uDAAuD,CAAC;AACtE,cAAc,0DAA0D,CAAC;AACzE,cAAc,wDAAwD,CAAC;AACvE,cAAc,wDAAwD,CAAC;AACvE,cAAc,yDAAyD,CAAC;AACxE,cAAc,4DAA4D,CAAC;AAC3E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,0EAA0E,CAAC;AACzF,cAAc,0FAA0F,CAAC;AACzG,cAAc,+DAA+D,CAAC;AAC9E,cAAc,+EAA+E,CAAC;AAC9F,cAAc,qEAAqE,CAAC;AACpF,cAAc,sEAAsE,CAAC;AACrF,cAAc,mCAAmC,CAAC;AAElD,cAAc,oCAAoC,CAAC;AAEnD,OAAO,wCAAwC,CAAC"}
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import type { LocalNode, RawCoValue } from "cojson";
|
2
|
-
import
|
3
|
-
import { type CoValue, type ID, type RefEncoded, type RefsToResolve } from "../internal.js";
|
2
|
+
import { CoList, CoMap, type CoValue, type ID, type RefEncoded, type RefsToResolve } from "../internal.js";
|
4
3
|
import { CoValueCoreSubscription } from "./CoValueCoreSubscription.js";
|
5
4
|
import { JazzError } from "./JazzError.js";
|
6
5
|
import type { SubscriptionValue, Unloaded } from "./types.js";
|