jazz-tools 0.14.6 → 0.14.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 (27) hide show
  1. package/.turbo/turbo-build.log +7 -7
  2. package/CHANGELOG.md +6 -0
  3. package/dist/{chunk-E2B2W453.js → chunk-RTUIFVYF.js} +12 -1
  4. package/dist/{chunk-E2B2W453.js.map → chunk-RTUIFVYF.js.map} +1 -1
  5. package/dist/exports.d.ts +1 -1
  6. package/dist/exports.d.ts.map +1 -1
  7. package/dist/implementation/zodSchema/runtimeConverters/zodFieldToCoFieldDef.d.ts +1 -1
  8. package/dist/implementation/zodSchema/runtimeConverters/zodFieldToCoFieldDef.d.ts.map +1 -1
  9. package/dist/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.d.ts +3 -2
  10. package/dist/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.d.ts.map +1 -1
  11. package/dist/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts +3 -2
  12. package/dist/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts.map +1 -1
  13. package/dist/implementation/zodSchema/zodReExport.d.ts +2 -0
  14. package/dist/implementation/zodSchema/zodReExport.d.ts.map +1 -0
  15. package/dist/index.js +75 -6
  16. package/dist/index.js.map +1 -1
  17. package/dist/testing.js +1 -1
  18. package/dist/tests/zod.test.d.ts +2 -0
  19. package/dist/tests/zod.test.d.ts.map +1 -0
  20. package/package.json +1 -1
  21. package/src/exports.ts +1 -1
  22. package/src/implementation/zodSchema/runtimeConverters/zodFieldToCoFieldDef.ts +18 -2
  23. package/src/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.ts +43 -30
  24. package/src/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.ts +45 -32
  25. package/src/implementation/zodSchema/zodReExport.ts +37 -0
  26. package/src/tests/coMap.record.test-d.ts +1 -1
  27. package/src/tests/zod.test.ts +419 -0
package/dist/exports.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export type { AgentID, CoValueUniqueness, CryptoProvider, InviteSecret, Peer, SessionID, SyncMessage, } from "cojson";
2
- export { z } from "zod/v4";
2
+ export * as z from "./implementation/zodSchema/zodReExport.js";
3
3
  export type { CoValue, ID } from "./internal.js";
4
4
  export { Encoders, coField } from "./internal.js";
5
5
  export { Inbox, InboxSender } from "./internal.js";
@@ -1 +1 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,WAAW,GACZ,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,YAAY,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,OAAO,EACP,YAAY,EACZ,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,KAAK,EACL,MAAM,EACN,cAAc,EACd,MAAM,EACN,QAAQ,EACR,UAAU,EACV,WAAW,EACX,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,kBAAkB,EAClB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,kBAAkB,EAClB,KAAK,2BAA2B,GACjC,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,wCAAwC,EACxC,8BAA8B,EAC9B,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,sBAAsB,GAC5B,MAAM,eAAe,CAAC;AAEvB,mBAAmB,YAAY,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,gCAAgC,EACrC,KAAK,kBAAkB,EACvB,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,OAAO,GACb,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,WAAW,GACZ,MAAM,QAAQ,CAAC;AAEhB,OAAO,KAAK,CAAC,MAAM,2CAA2C,CAAC;AAE/D,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,YAAY,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,OAAO,EACP,YAAY,EACZ,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,KAAK,EACL,MAAM,EACN,cAAc,EACd,MAAM,EACN,QAAQ,EACR,UAAU,EACV,WAAW,EACX,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,kBAAkB,EAClB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,kBAAkB,EAClB,KAAK,2BAA2B,GACjC,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,wCAAwC,EACxC,8BAA8B,EAC9B,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,sBAAsB,GAC5B,MAAM,eAAe,CAAC;AAEvB,mBAAmB,YAAY,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,gCAAgC,EACrC,KAAK,kBAAkB,EACvB,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,OAAO,GACb,MAAM,eAAe,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import z from "zod/v4";
2
2
  import { CoMap, CoValueClass } from "../../../internal.js";
3
3
  import { ZodPrimitiveSchema } from "../zodSchema.js";
4
- type FieldSchema = CoValueClass | ZodPrimitiveSchema | z.core.$ZodOptional<z.core.$ZodType> | z.core.$ZodUnion<z.core.$ZodType[]> | z.core.$ZodObject<z.core.$ZodLooseShape> | z.core.$ZodArray<z.core.$ZodType> | z.core.$ZodTuple<z.core.$ZodType[]> | (z.core.$ZodCustom<any, any> & {
4
+ type FieldSchema = CoValueClass | ZodPrimitiveSchema | z.core.$ZodOptional<z.core.$ZodType> | z.core.$ZodUnion<z.core.$ZodType[]> | z.core.$ZodObject<z.core.$ZodLooseShape> | z.core.$ZodArray<z.core.$ZodType> | z.core.$ZodTuple<z.core.$ZodType[]> | z.core.$ZodReadonly<z.core.$ZodType> | z.core.$ZodLazy<z.core.$ZodType> | z.core.$ZodTemplateLiteral<any> | z.core.$ZodLiteral<any> | z.core.$ZodCatch<z.core.$ZodType> | z.core.$ZodEnum<any> | (z.core.$ZodCustom<any, any> & {
5
5
  builtin: any;
6
6
  });
7
7
  export declare function zodFieldToCoFieldDef(schema: FieldSchema): string | number | boolean | import("../../../internal.js").CoValue | CoMap | Date | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"zodFieldToCoFieldDef.d.ts","sourceRoot":"","sources":["../../../../src/implementation/zodSchema/runtimeConverters/zodFieldToCoFieldDef.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,YAAY,EAAkB,MAAM,sBAAsB,CAAC;AAO3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,KAAK,WAAW,GACZ,YAAY,GACZ,kBAAkB,GAClB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GACpC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GACnC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GACxC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GACjC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GACnC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,CAAC,CAAC;AAErD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,wGAkFvD"}
1
+ {"version":3,"file":"zodFieldToCoFieldDef.d.ts","sourceRoot":"","sources":["../../../../src/implementation/zodSchema/runtimeConverters/zodFieldToCoFieldDef.ts"],"names":[],"mappings":"AAAA,OAAO,CAAqC,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,YAAY,EAAkB,MAAM,sBAAsB,CAAC;AAO3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,KAAK,WAAW,GACZ,YAAY,GACZ,kBAAkB,GAClB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GACpC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GACnC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GACxC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GACjC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GACnC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GACpC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAChC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAC/B,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GACvB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GACjC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GACpB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,CAAC,CAAC;AAErD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,wGA4FvD"}
@@ -1,3 +1,4 @@
1
+ import { JsonValue } from "cojson";
1
2
  import z from "zod/v4";
2
3
  import { Account, CoFeed, CoList, CoMap, CoPlainText, CoRichText, CoValueClass, FileStream, Profile } from "../../../internal.js";
3
4
  import { AnyCoFeedSchema } from "../schemaTypes/CoFeedSchema.js";
@@ -21,9 +22,9 @@ export type InstanceOrPrimitiveOfSchema<S extends CoValueClass | z.core.$ZodType
21
22
  -readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchema<Shape[key]>;
22
23
  } & (unknown extends Config["out"][string] ? {} : {
23
24
  [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
+ }) & 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.ZodJSONSchema ? JsonValue : S extends z.core.$ZodUnion<infer Members> ? InstanceOrPrimitiveOfSchema<Members[number]> : S extends z.core.$ZodObject<infer Shape> ? {
25
26
  -readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchema<Shape[key]>;
26
27
  } : S extends z.core.$ZodArray<infer Item> ? InstanceOrPrimitiveOfSchema<Item>[] : S extends z.core.$ZodTuple<infer Items> ? {
27
28
  [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 : S extends z.core.$ZodEnum<infer Enum> ? Enum[keyof Enum] : never : S extends CoValueClass ? InstanceType<S> : never;
29
+ } : 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 : S extends z.core.$ZodEnum<infer Enum> ? Enum[keyof Enum] : S extends z.core.$ZodTemplateLiteral<infer pattern> ? pattern : S extends z.core.$ZodReadonly<infer Inner> ? InstanceOrPrimitiveOfSchema<Inner> : never : S extends CoValueClass ? InstanceType<S> : never;
29
30
  //# sourceMappingURL=InstanceOrPrimitiveOfSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceOrPrimitiveOfSchema.d.ts","sourceRoot":"","sources":["../../../../src/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InstanceOrPrimitiveOfSchema.d.ts","sourceRoot":"","sources":["../../../../src/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchema.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { JsonValue } from "cojson";
1
2
  import z from "zod/v4";
2
3
  import { Account, CoFeed, CoList, CoMap, CoPlainText, CoRichText, CoValueClass, FileStream, InstanceOrPrimitiveOfSchema, Profile } from "../../../internal.js";
3
4
  import { AnyCoFeedSchema } from "../schemaTypes/CoFeedSchema.js";
@@ -21,9 +22,9 @@ export type InstanceOrPrimitiveOfSchemaCoValuesNullable<S extends CoValueClass |
21
22
  -readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchemaCoValuesNullable<Shape[key]>;
22
23
  } & (unknown extends Config["out"][string] ? {} : {
23
24
  [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
+ }) & 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.ZodJSONSchema ? JsonValue : S extends z.core.$ZodUnion<infer Members> ? InstanceOrPrimitiveOfSchemaCoValuesNullable<Members[number]> : S extends z.core.$ZodObject<infer Shape> ? {
25
26
  -readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchema<Shape[key]>;
26
27
  } : S extends z.core.$ZodArray<infer Item> ? InstanceOrPrimitiveOfSchema<Item>[] : S extends z.core.$ZodTuple<infer Items> ? {
27
28
  [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 : S extends z.core.$ZodEnum<infer Enum> ? Enum[keyof Enum] : never : S extends CoValueClass ? InstanceType<S> | null : never;
29
+ } : 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 : S extends z.core.$ZodEnum<infer Enum> ? Enum[keyof Enum] : S extends z.core.$ZodTemplateLiteral<infer pattern> ? pattern : S extends z.core.$ZodReadonly<infer Inner> ? InstanceOrPrimitiveOfSchema<Inner> : never : S extends CoValueClass ? InstanceType<S> | null : never;
29
30
  //# sourceMappingURL=InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts","sourceRoot":"","sources":["../../../../src/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InstanceOrPrimitiveOfSchemaCoValuesNullable.d.ts","sourceRoot":"","sources":["../../../../src/implementation/zodSchema/typeConverters/InstanceOrPrimitiveOfSchemaCoValuesNullable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { string, number, boolean, union, object, array, templateLiteral, json, tuple, date, emoji, base64, base64url, nanoid, cuid, cuid2, ulid, ipv4, ipv6, email, url, uuid, literal, enum, cidrv4, cidrv6, iso, int32, strictObject, discriminatedUnion, int, optional, type ZodOptional, } from "zod/v4";
2
+ //# sourceMappingURL=zodReExport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zodReExport.d.ts","sourceRoot":"","sources":["../../../src/implementation/zodSchema/zodReExport.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,MAAM,EACN,OAAO,EACP,KAAK,EACL,MAAM,EACN,KAAK,EACL,eAAe,EACf,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,SAAS,EACT,MAAM,EACN,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,GAAG,EACH,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,MAAM,EACN,MAAM,EACN,GAAG,EACH,KAAK,EACL,YAAY,EACZ,kBAAkB,EAGlB,GAAG,EACH,QAAQ,EACR,KAAK,WAAW,GACjB,MAAM,QAAQ,CAAC"}
package/dist/index.js CHANGED
@@ -19,6 +19,7 @@ import {
19
19
  KvStoreContext,
20
20
  Profile,
21
21
  SchemaUnion,
22
+ __export,
22
23
  anySchemaToCoSchema,
23
24
  coExport_exports,
24
25
  coField,
@@ -32,10 +33,78 @@ import {
32
33
  randomSessionProvider,
33
34
  subscribeToCoValue,
34
35
  zodSchemaToCoSchema
35
- } from "./chunk-E2B2W453.js";
36
+ } from "./chunk-RTUIFVYF.js";
36
37
 
37
- // src/exports.ts
38
- import { z } from "zod/v4";
38
+ // src/implementation/zodSchema/zodReExport.ts
39
+ var zodReExport_exports = {};
40
+ __export(zodReExport_exports, {
41
+ array: () => array,
42
+ base64: () => base64,
43
+ base64url: () => base64url,
44
+ boolean: () => boolean,
45
+ cidrv4: () => cidrv4,
46
+ cidrv6: () => cidrv6,
47
+ cuid: () => cuid,
48
+ cuid2: () => cuid2,
49
+ date: () => date,
50
+ discriminatedUnion: () => discriminatedUnion,
51
+ email: () => email,
52
+ emoji: () => emoji,
53
+ enum: () => enum2,
54
+ int: () => int,
55
+ int32: () => int32,
56
+ ipv4: () => ipv4,
57
+ ipv6: () => ipv6,
58
+ iso: () => iso,
59
+ json: () => json,
60
+ literal: () => literal,
61
+ nanoid: () => nanoid,
62
+ number: () => number,
63
+ object: () => object,
64
+ optional: () => optional,
65
+ strictObject: () => strictObject,
66
+ string: () => string,
67
+ templateLiteral: () => templateLiteral,
68
+ tuple: () => tuple,
69
+ ulid: () => ulid,
70
+ union: () => union,
71
+ url: () => url,
72
+ uuid: () => uuid
73
+ });
74
+ import {
75
+ string,
76
+ number,
77
+ boolean,
78
+ union,
79
+ object,
80
+ array,
81
+ templateLiteral,
82
+ json,
83
+ tuple,
84
+ date,
85
+ emoji,
86
+ base64,
87
+ base64url,
88
+ nanoid,
89
+ cuid,
90
+ cuid2,
91
+ ulid,
92
+ ipv4,
93
+ ipv6,
94
+ email,
95
+ url,
96
+ uuid,
97
+ literal,
98
+ enum as enum2,
99
+ cidrv4,
100
+ cidrv6,
101
+ iso,
102
+ int32,
103
+ strictObject,
104
+ discriminatedUnion,
105
+ int,
106
+ optional
107
+ } from "zod/v4";
39
108
 
40
109
  // src/auth/DemoAuth.ts
41
110
  var DemoAuth = class {
@@ -279,8 +348,8 @@ function createInviteLink(value, role, baseURL, valueHint) {
279
348
  return `${baseURL}#/invite/${valueHint ? valueHint + "/" : ""}${value.id}/${inviteSecret}`;
280
349
  }
281
350
  function parseInviteLink(inviteURL) {
282
- const url = new URL(inviteURL);
283
- const parts = url.hash.split("/");
351
+ const url2 = new URL(inviteURL);
352
+ const parts = url2.hash.split("/");
284
353
  let valueHint;
285
354
  let valueID;
286
355
  let inviteSecret;
@@ -361,7 +430,7 @@ export {
361
430
  parseInviteLink,
362
431
  randomSessionProvider,
363
432
  subscribeToCoValue,
364
- z,
433
+ zodReExport_exports as z,
365
434
  zodSchemaToCoSchema
366
435
  };
367
436
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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"]}
1
+ {"version":3,"sources":["../src/implementation/zodSchema/zodReExport.ts","../src/auth/DemoAuth.ts","../src/auth/PassphraseAuth.ts","../src/implementation/invites.ts","../src/index.ts"],"sourcesContent":["export {\n string,\n number,\n boolean,\n union,\n object,\n array,\n templateLiteral,\n json,\n tuple,\n date,\n emoji,\n base64,\n base64url,\n nanoid,\n cuid,\n cuid2,\n ulid,\n ipv4,\n ipv6,\n email,\n url,\n uuid,\n literal,\n enum,\n cidrv4,\n cidrv6,\n iso,\n int32,\n strictObject,\n discriminatedUnion,\n // intersection,\n // record,\n int,\n optional,\n type ZodOptional,\n} from \"zod/v4\";\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":["enum","cojsonInternals","cojsonInternals","url","cojsonInternals"]}
package/dist/testing.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  createAnonymousJazzContext,
7
7
  createJazzContext,
8
8
  randomSessionProvider
9
- } from "./chunk-E2B2W453.js";
9
+ } from "./chunk-RTUIFVYF.js";
10
10
 
11
11
  // src/testing.ts
12
12
  import { LocalNode } from "cojson";
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=zod.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.test.d.ts","sourceRoot":"","sources":["../../src/tests/zod.test.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "type": "module",
19
19
  "license": "MIT",
20
- "version": "0.14.6",
20
+ "version": "0.14.7",
21
21
  "dependencies": {
22
22
  "@scure/bip39": "^1.3.0",
23
23
  "fast-myers-diff": "^3.2.0",
package/src/exports.ts CHANGED
@@ -8,7 +8,7 @@ export type {
8
8
  SyncMessage,
9
9
  } from "cojson";
10
10
 
11
- export { z } from "zod/v4";
11
+ export * as z from "./implementation/zodSchema/zodReExport.js";
12
12
 
13
13
  export type { CoValue, ID } from "./internal.js";
14
14
 
@@ -1,4 +1,4 @@
1
- import z from "zod/v4";
1
+ import z, { ZodCatch, ZodLazy, ZodReadonly } from "zod/v4";
2
2
  import { CoMap, CoValueClass, isCoValueClass } from "../../../internal.js";
3
3
  import { coField } from "../../schema.js";
4
4
  import {
@@ -17,6 +17,12 @@ type FieldSchema =
17
17
  | z.core.$ZodObject<z.core.$ZodLooseShape>
18
18
  | z.core.$ZodArray<z.core.$ZodType>
19
19
  | z.core.$ZodTuple<z.core.$ZodType[]>
20
+ | z.core.$ZodReadonly<z.core.$ZodType>
21
+ | z.core.$ZodLazy<z.core.$ZodType>
22
+ | z.core.$ZodTemplateLiteral<any>
23
+ | z.core.$ZodLiteral<any>
24
+ | z.core.$ZodCatch<z.core.$ZodType>
25
+ | z.core.$ZodEnum<any>
20
26
  | (z.core.$ZodCustom<any, any> & { builtin: any });
21
27
 
22
28
  export function zodFieldToCoFieldDef(schema: FieldSchema) {
@@ -41,11 +47,21 @@ export function zodFieldToCoFieldDef(schema: FieldSchema) {
41
47
  return coField.boolean;
42
48
  } else if (schema._zod.def.type === "null") {
43
49
  return coField.null;
44
- // @ts-expect-error enum is not declared as def.type
45
50
  } else if (schema._zod.def.type === "enum") {
46
51
  return coField.string;
52
+ } else if (schema._zod.def.type === "readonly") {
53
+ return zodFieldToCoFieldDef(
54
+ (schema as unknown as ZodReadonly).def.innerType as FieldSchema,
55
+ );
47
56
  } else if (schema._zod.def.type === "date") {
48
57
  return coField.Date;
58
+ } else if (schema._zod.def.type === "template_literal") {
59
+ return coField.string;
60
+ } else if (schema._zod.def.type === "lazy") {
61
+ // Mostly to support z.json()
62
+ return zodFieldToCoFieldDef(
63
+ (schema as unknown as ZodLazy).unwrap() as FieldSchema,
64
+ );
49
65
  } else if (schema._zod.def.type === "literal") {
50
66
  if (
51
67
  schema._zod.def.values.some(
@@ -1,3 +1,4 @@
1
+ import { JsonValue } from "cojson";
1
2
  import z from "zod/v4";
2
3
  import {
3
4
  Account,
@@ -57,36 +58,48 @@ export type InstanceOrPrimitiveOfSchema<
57
58
  ? FileStream
58
59
  : S extends z.core.$ZodOptional<infer Inner>
59
60
  ? InstanceOrPrimitiveOfSchema<Inner> | undefined
60
- : S extends z.core.$ZodUnion<infer Members>
61
- ? InstanceOrPrimitiveOfSchema<Members[number]>
62
- : // primitives below here - we manually traverse to ensure we only allow what we can handle
63
- S extends z.core.$ZodObject<infer Shape>
64
- ? {
65
- -readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchema<
66
- Shape[key]
67
- >;
68
- }
69
- : S extends z.core.$ZodArray<infer Item>
70
- ? InstanceOrPrimitiveOfSchema<Item>[]
71
- : S extends z.core.$ZodTuple<infer Items>
72
- ? {
73
- [key in keyof Items]: InstanceOrPrimitiveOfSchema<
74
- Items[key]
75
- >;
76
- }
77
- : S extends z.core.$ZodString
78
- ? string
79
- : S extends z.core.$ZodNumber
80
- ? number
81
- : S extends z.core.$ZodBoolean
82
- ? boolean
83
- : S extends z.core.$ZodLiteral<infer Literal>
84
- ? Literal
85
- : S extends z.core.$ZodDate
86
- ? Date
87
- : S extends z.core.$ZodEnum<infer Enum>
88
- ? Enum[keyof Enum]
89
- : never
61
+ : S extends z.ZodJSONSchema
62
+ ? JsonValue
63
+ : S extends z.core.$ZodUnion<infer Members>
64
+ ? InstanceOrPrimitiveOfSchema<Members[number]>
65
+ : // primitives below here - we manually traverse to ensure we only allow what we can handle
66
+ S extends z.core.$ZodObject<infer Shape>
67
+ ? {
68
+ -readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchema<
69
+ Shape[key]
70
+ >;
71
+ }
72
+ : S extends z.core.$ZodArray<infer Item>
73
+ ? InstanceOrPrimitiveOfSchema<Item>[]
74
+ : S extends z.core.$ZodTuple<infer Items>
75
+ ? {
76
+ [key in keyof Items]: InstanceOrPrimitiveOfSchema<
77
+ Items[key]
78
+ >;
79
+ }
80
+ : S extends z.core.$ZodString
81
+ ? string
82
+ : S extends z.core.$ZodNumber
83
+ ? number
84
+ : S extends z.core.$ZodBoolean
85
+ ? boolean
86
+ : S extends z.core.$ZodLiteral<
87
+ infer Literal
88
+ >
89
+ ? Literal
90
+ : S extends z.core.$ZodDate
91
+ ? Date
92
+ : S extends z.core.$ZodEnum<infer Enum>
93
+ ? Enum[keyof Enum]
94
+ : S extends z.core.$ZodTemplateLiteral<
95
+ infer pattern
96
+ >
97
+ ? pattern
98
+ : S extends z.core.$ZodReadonly<
99
+ infer Inner
100
+ >
101
+ ? InstanceOrPrimitiveOfSchema<Inner>
102
+ : never
90
103
  : S extends CoValueClass
91
104
  ? InstanceType<S>
92
105
  : never;
@@ -1,3 +1,4 @@
1
+ import { JsonValue } from "cojson";
1
2
  import z from "zod/v4";
2
3
  import {
3
4
  Account,
@@ -68,38 +69,50 @@ export type InstanceOrPrimitiveOfSchemaCoValuesNullable<
68
69
  ?
69
70
  | InstanceOrPrimitiveOfSchemaCoValuesNullable<Inner>
70
71
  | undefined
71
- : S extends z.core.$ZodUnion<infer Members>
72
- ? InstanceOrPrimitiveOfSchemaCoValuesNullable<
73
- Members[number]
74
- >
75
- : // primitives below here - we manually traverse to ensure we only allow what we can handle
76
- S extends z.core.$ZodObject<infer Shape>
77
- ? {
78
- -readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchema<
79
- Shape[key]
80
- >;
81
- }
82
- : S extends z.core.$ZodArray<infer Item>
83
- ? InstanceOrPrimitiveOfSchema<Item>[]
84
- : S extends z.core.$ZodTuple<infer Items>
85
- ? {
86
- [key in keyof Items]: InstanceOrPrimitiveOfSchema<
87
- Items[key]
88
- >;
89
- }
90
- : S extends z.core.$ZodString
91
- ? string
92
- : S extends z.core.$ZodNumber
93
- ? number
94
- : S extends z.core.$ZodBoolean
95
- ? boolean
96
- : S extends z.core.$ZodLiteral<infer Literal>
97
- ? Literal
98
- : S extends z.core.$ZodDate
99
- ? Date
100
- : S extends z.core.$ZodEnum<infer Enum>
101
- ? Enum[keyof Enum]
102
- : never
72
+ : S extends z.ZodJSONSchema
73
+ ? JsonValue
74
+ : S extends z.core.$ZodUnion<infer Members>
75
+ ? InstanceOrPrimitiveOfSchemaCoValuesNullable<
76
+ Members[number]
77
+ >
78
+ : // primitives below here - we manually traverse to ensure we only allow what we can handle
79
+ S extends z.core.$ZodObject<infer Shape>
80
+ ? {
81
+ -readonly [key in keyof Shape]: InstanceOrPrimitiveOfSchema<
82
+ Shape[key]
83
+ >;
84
+ }
85
+ : S extends z.core.$ZodArray<infer Item>
86
+ ? InstanceOrPrimitiveOfSchema<Item>[]
87
+ : S extends z.core.$ZodTuple<infer Items>
88
+ ? {
89
+ [key in keyof Items]: InstanceOrPrimitiveOfSchema<
90
+ Items[key]
91
+ >;
92
+ }
93
+ : S extends z.core.$ZodString
94
+ ? string
95
+ : S extends z.core.$ZodNumber
96
+ ? number
97
+ : S extends z.core.$ZodBoolean
98
+ ? boolean
99
+ : S extends z.core.$ZodLiteral<
100
+ infer Literal
101
+ >
102
+ ? Literal
103
+ : S extends z.core.$ZodDate
104
+ ? Date
105
+ : S extends z.core.$ZodEnum<infer Enum>
106
+ ? Enum[keyof Enum]
107
+ : S extends z.core.$ZodTemplateLiteral<
108
+ infer pattern
109
+ >
110
+ ? pattern
111
+ : S extends z.core.$ZodReadonly<
112
+ infer Inner
113
+ >
114
+ ? InstanceOrPrimitiveOfSchema<Inner>
115
+ : never
103
116
  : S extends CoValueClass
104
117
  ? InstanceType<S> | null
105
118
  : never;