jazz-tools 0.15.14 → 0.15.16

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 (37) hide show
  1. package/.turbo/turbo-build.log +40 -44
  2. package/CHANGELOG.md +19 -0
  3. package/dist/{chunk-6CCJYSYQ.js → chunk-OSVAAVWQ.js} +107 -11
  4. package/dist/chunk-OSVAAVWQ.js.map +1 -0
  5. package/dist/index.js +357 -3
  6. package/dist/index.js.map +1 -1
  7. package/dist/testing.js +1 -1
  8. package/dist/tools/coValues/group.d.ts +1 -0
  9. package/dist/tools/coValues/group.d.ts.map +1 -1
  10. package/dist/tools/coValues/inbox.d.ts.map +1 -1
  11. package/dist/tools/coValues/interfaces.d.ts +58 -2
  12. package/dist/tools/coValues/interfaces.d.ts.map +1 -1
  13. package/dist/tools/coValues/request.d.ts +82 -0
  14. package/dist/tools/coValues/request.d.ts.map +1 -0
  15. package/dist/tools/exports.d.ts +2 -1
  16. package/dist/tools/exports.d.ts.map +1 -1
  17. package/dist/tools/lib/id.d.ts +2 -0
  18. package/dist/tools/lib/id.d.ts.map +1 -0
  19. package/dist/tools/subscribe/SubscriptionScope.d.ts +3 -2
  20. package/dist/tools/subscribe/SubscriptionScope.d.ts.map +1 -1
  21. package/dist/tools/tests/exportImport.test.d.ts +2 -0
  22. package/dist/tools/tests/exportImport.test.d.ts.map +1 -0
  23. package/dist/tools/tests/request.test.d.ts +2 -0
  24. package/dist/tools/tests/request.test.d.ts.map +1 -0
  25. package/package.json +6 -5
  26. package/src/tools/coValues/group.ts +1 -0
  27. package/src/tools/coValues/inbox.ts +4 -3
  28. package/src/tools/coValues/interfaces.ts +177 -2
  29. package/src/tools/coValues/request.ts +631 -0
  30. package/src/tools/exports.ts +8 -0
  31. package/src/tools/lib/id.ts +3 -0
  32. package/src/tools/subscribe/SubscriptionScope.ts +17 -10
  33. package/src/tools/tests/coMap.test.ts +141 -0
  34. package/src/tools/tests/exportImport.test.ts +526 -0
  35. package/src/tools/tests/request.test.ts +951 -0
  36. package/tsup.config.ts +0 -2
  37. package/dist/chunk-6CCJYSYQ.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/inbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/inbox.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { CoValueUniqueness, RawCoValue } from "cojson";
2
- import { type Account, AnonymousJazzAgent, CoValueOrZodSchema, type Group, Loaded, RefsToResolve, RefsToResolveStrict, ResolveQuery, ResolveQueryStrict, Resolved, SubscriptionScope, inspect } from "../internal.js";
1
+ import { type CoValueUniqueness, type CojsonInternalTypes, type RawCoValue } from "cojson";
2
+ import { Account, AnonymousJazzAgent, CoValueOrZodSchema, type Group, Loaded, RefsToResolve, RefsToResolveStrict, ResolveQuery, ResolveQueryStrict, Resolved, SubscriptionScope, inspect } from "../internal.js";
3
3
  /** @category Abstract interfaces */
4
4
  export interface CoValueClass<Value extends CoValue = CoValue> {
5
5
  /** @ignore */
@@ -112,5 +112,61 @@ export declare function parseGroupCreateOptions(options: {
112
112
  } | Account | undefined): {
113
113
  owner: Account;
114
114
  };
115
+ /**
116
+ * Deeply export a CoValue to a content piece.
117
+ *
118
+ * @param cls - The class of the CoValue to export.
119
+ * @param id - The ID of the CoValue to export.
120
+ * @param options - The options for the export.
121
+ * @returns The content pieces that were exported.
122
+ *
123
+ * @example
124
+ * ```ts
125
+ * const Address = co.map({
126
+ * street: z.string(),
127
+ * city: z.string(),
128
+ * });
129
+ *
130
+ * const Person = co.map({
131
+ * name: z.string(),
132
+ * address: Address,
133
+ * });
134
+ *
135
+ * const group = Group.create();
136
+ * const address = Address.create(
137
+ * { street: "123 Main St", city: "New York" },
138
+ * group,
139
+ * );
140
+ * const person = Person.create({ name: "John", address }, group);
141
+ * group.addMember("everyone", "reader");
142
+ *
143
+ * // Export with nested references resolved, values can be serialized to JSON
144
+ * const exportedWithResolve = await exportCoValue(Person, person.id, {
145
+ * resolve: { address: true },
146
+ * });
147
+ *
148
+ * // In another client or session
149
+ * // Load the exported content pieces into the node, they will be persisted
150
+ * importContentPieces(exportedWithResolve);
151
+ *
152
+ * // Now the person can be loaded from the node, even offline
153
+ * const person = await loadCoValue(Person, person.id, {
154
+ * resolve: { address: true },
155
+ * });
156
+ * ```
157
+ */
158
+ export declare function exportCoValue<S extends CoValueOrZodSchema | CoValueClass<CoValue>, const R extends ResolveQuery<S>>(cls: S, id: ID<CoValue>, options: {
159
+ resolve?: ResolveQueryStrict<S, R>;
160
+ loadAs: Account | AnonymousJazzAgent;
161
+ skipRetry?: boolean;
162
+ bestEffortResolution?: boolean;
163
+ }): Promise<import("cojson/dist/sync.js").NewContentMessage[] | null>;
164
+ /**
165
+ * Import content pieces into the node.
166
+ *
167
+ * @param contentPieces - The content pieces to import.
168
+ * @param loadAs - The account to load the content pieces as.
169
+ */
170
+ export declare function importContentPieces(contentPieces: CojsonInternalTypes.NewContentMessage[], loadAs?: Account | AnonymousJazzAgent): void;
115
171
  export {};
116
172
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAEhB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,KAAK,EACV,MAAM,EACN,aAAa,EACb,mBAAmB,EAEnB,YAAY,EACZ,kBAAkB,EAClB,QAAQ,EACR,iBAAiB,EAKjB,OAAO,EACR,MAAM,gBAAgB,CAAC;AAExB,oCAAoC;AAEpC,MAAM,WAAW,YAAY,CAAC,KAAK,SAAS,OAAO,GAAG,OAAO;IAC3D,cAAc;IAEd,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,OAAO;IAC/C,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;CAC5B;AAED,oCAAoC;AAEpC,MAAM,WAAW,OAAO;IACtB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACtB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,MAAM,EAAE,OAAO,GAAG,KAAK,CAAC;IACxB,0BAA0B;IAC1B,IAAI,EAAE,UAAU,CAAC;IAEjB,gBAAgB;IAChB,kBAAkB,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE7C,gBAAgB;IAChB,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACjD,0CAA0C;IAE1C,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;IACzE,0CAA0C;IAE1C,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;CAClB;AAGD,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,OAAO,CAEtD;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,OAAO,EAE9C,KAAK,EAAE,GAAG,GACT,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAE9C;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC;AAE3B,wBAAgB,oBAAoB,CAClC,CAAC,SAAS,OAAO,EACjB,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAEhC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,EACpB,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAKhC;AAED,wBAAgB,WAAW,CACzB,CAAC,SAAS,OAAO,EACjB,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAEhC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,EACpB,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,EAAE;IACP,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAuBhC;AAED,wBAAsB,mBAAmB,CACvC,CAAC,SAAS,OAAO,EACjB,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAEhC,QAAQ,EAAE,CAAC,EACX,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CAAE,GAAG,SAAS,GAC5D,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAezB;AAED,KAAK,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,IAAI,CACtE,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EACrB,WAAW,EAAE,MAAM,IAAI,KACpB,IAAI,CAAC;AAEV,MAAM,MAAM,wBAAwB,CAClC,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,IACxB;IACF,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,IACvE,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC5E,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAExC,wBAAgB,sBAAsB,CACpC,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAE1B,IAAI,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC5B;IACD,OAAO,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACnC,CA0BA;AAED,wBAAgB,2BAA2B,CACzC,CAAC,SAAS,OAAO,EACjB,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAEhC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,EACpB,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,EAAE,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,EACvC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,SA4B1B,IAAI,CAjBZ;AAED,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,OAAO,EACjB,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAEhC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,EACpB,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,EAAE;IACP,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,EACD,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAChC,MAAM,IAAI,CAsDZ;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,CAAC,SAAS,kBAAkB,EAC5B,KAAK,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAC/B,YAAY,GAAE,SAAS,GAAG,IAAgB;;qBAKnC,CAAC,MACF,MAAM,WACD;QACP,MAAM,EAAE,OAAO,GAAG,kBAAkB,CAAC;QACrC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;QAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;QAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,YACS,MAAM,IAAI;EAyCvB;AAED,wBAAgB,0BAA0B,CACxC,CAAC,SAAS,OAAO,EACjB,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAEhC,QAAQ,EAAE,CAAC,EACX,OAAO,EACH;IACE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B,GACD,SAAS,EACb,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAChC,MAAM,IAAI,CAYZ;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,OAAO,CAMxE;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,OAAO,GAChB,QAAQ,IAAI,kBAAkB,CAMhC;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EACH;IACE,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACxB,MAAM,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;CAC1C,GACD,OAAO,GACP,KAAK,GACL,SAAS;;;;;EAsBd;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EACH;IACE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACD,OAAO,GACP,SAAS;;EASd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAsB,aAAa,CACjC,CAAC,SAAS,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,EACpD,KAAK,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAE/B,GAAG,EAAE,CAAC,EACN,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,EAAE;IACP,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,MAAM,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,qEA6CF;AAkDD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,mBAAmB,CAAC,iBAAiB,EAAE,EACtD,MAAM,CAAC,EAAE,OAAO,GAAG,kBAAkB,QAQtC"}
@@ -0,0 +1,82 @@
1
+ import z from "zod/v4";
2
+ import { AnyCoSchema, CoMapInitZod, CoMapSchema, Loaded, ResolveQuery, ResolveQueryStrict, Simplify } from "../internal.js";
3
+ import { Account } from "./account.js";
4
+ type MessageShape = Record<string, z.core.$ZodType | AnyCoSchema>;
5
+ type RequestSchemaDefinition<S extends MessageShape, R extends ResolveQuery<CoMapSchema<S>> = true> = S | {
6
+ schema: S;
7
+ resolve?: R;
8
+ };
9
+ /**
10
+ * Configuration options for defining HTTP request/response schemas in Jazz.
11
+ *
12
+ * This interface defines the structure for creating typed HTTP routes with
13
+ * request and response validation using CoMap schemas.
14
+ *
15
+ * @template RequestShape - The shape of the request message schema (must extend MessageShape)
16
+ * @template RequestResolve - The resolve query type for the request CoMap schema
17
+ * @template ResponseShape - The shape of the response message schema (must extend MessageShape)
18
+ * @template ResponseResolve - The resolve query type for the response CoMap schema
19
+ */
20
+ interface RequestOptions<RequestShape extends MessageShape, RequestResolve extends ResolveQuery<CoMapSchema<RequestShape>>, ResponseShape extends MessageShape, ResponseResolve extends ResolveQuery<CoMapSchema<ResponseShape>>> {
21
+ /**
22
+ * The URL endpoint for the HTTP route.
23
+ * This is used by the client to send requests to the server.
24
+ */
25
+ url: string;
26
+ /**
27
+ * The id of the worker Account or Group.
28
+ */
29
+ workerId: string;
30
+ /**
31
+ * Schema definition for the request payload.
32
+ * Can be either a direct schema object or an object with schema and optional resolve properties.
33
+ * The schema defines the structure and validation rules for incoming requests.
34
+ */
35
+ request: RequestSchemaDefinition<RequestShape, ResolveQueryStrict<CoMapSchema<RequestShape>, RequestResolve>>;
36
+ /**
37
+ * Schema definition for the response payload.
38
+ * Can be either a direct schema object or an object with schema and optional resolve properties.
39
+ * The schema defines the structure and validation rules for outgoing responses.
40
+ */
41
+ response: RequestSchemaDefinition<ResponseShape, ResolveQueryStrict<CoMapSchema<ResponseShape>, ResponseResolve>>;
42
+ }
43
+ type AsNullablePayload<T extends MessageShape> = T extends Record<string, never> ? undefined : never;
44
+ type MessageValuePayload<T extends MessageShape> = Simplify<CoMapInitZod<T>> | AsNullablePayload<T>;
45
+ declare class HttpRoute<RequestShape extends MessageShape = z.core.$ZodLooseShape, RequestResolve extends ResolveQuery<CoMapSchema<RequestShape>> = any, ResponseShape extends MessageShape = z.core.$ZodLooseShape, ResponseResolve extends ResolveQuery<CoMapSchema<ResponseShape>> = any> {
46
+ private requestDefinition;
47
+ private responseDefinition;
48
+ private url;
49
+ private workerId;
50
+ constructor(params: RequestOptions<RequestShape, RequestResolve, ResponseShape, ResponseResolve>);
51
+ send(values: MessageValuePayload<RequestShape>, options?: {
52
+ owner?: Account;
53
+ }): Promise<Loaded<CoMapSchema<ResponseShape>, ResponseResolve>>;
54
+ handle: (request: Request, as: Account, callback: (value: Loaded<CoMapSchema<RequestShape>, RequestResolve>, madeBy: Account) => Promise<MessageValuePayload<ResponseShape>> | MessageValuePayload<ResponseShape>) => Promise<Response>;
55
+ executeHandleRequest: (request: Request, as: Account, callback: (value: Loaded<CoMapSchema<RequestShape>, RequestResolve>, madeBy: Account) => Promise<MessageValuePayload<ResponseShape>> | MessageValuePayload<ResponseShape>) => Promise<Response>;
56
+ get requestSchema(): CoMapSchema<RequestShape>;
57
+ get responseSchema(): CoMapSchema<ResponseShape>;
58
+ }
59
+ /**
60
+ * Define a request route.
61
+ *
62
+ * @param params - The parameters for the request route.
63
+ * @returns The request route.
64
+ *
65
+ * @see {@link https://jazz.tools/docs/react/server-side/http-requests}
66
+ */
67
+ export declare function experimental_defineRequest<RequestShape extends MessageShape, RequestResolve extends ResolveQuery<CoMapSchema<RequestShape>>, ResponseShape extends MessageShape, ResponseResolve extends ResolveQuery<CoMapSchema<ResponseShape>>>(params: RequestOptions<RequestShape, RequestResolve, ResponseShape, ResponseResolve>): HttpRoute<RequestShape, RequestResolve, ResponseShape, ResponseResolve>;
68
+ export declare class JazzRequestError {
69
+ readonly message: string;
70
+ readonly code: number;
71
+ readonly details?: unknown;
72
+ readonly isJazzRequestError = true;
73
+ constructor(message: string, code: number, details?: unknown);
74
+ toJSON(): {
75
+ message: string;
76
+ code: number;
77
+ details: unknown;
78
+ };
79
+ }
80
+ export declare function isJazzRequestError(error: unknown): error is JazzRequestError;
81
+ export {};
82
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/tools/coValues/request.ts"],"names":[],"mappings":"AAQA,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAEL,WAAW,EAEX,YAAY,EACZ,WAAW,EAGX,MAAM,EACN,YAAY,EACZ,kBAAkB,EAClB,QAAQ,EAMT,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC;AAElE,KAAK,uBAAuB,CAC1B,CAAC,SAAS,YAAY,EACtB,CAAC,SAAS,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAE3C,CAAC,GACD;IACE,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,CAAC,EAAE,CAAC,CAAC;CACb,CAAC;AAEN;;;;;;;;;;GAUG;AACH,UAAU,cAAc,CACtB,YAAY,SAAS,YAAY,EACjC,cAAc,SAAS,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAC9D,aAAa,SAAS,YAAY,EAClC,eAAe,SAAS,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAEhE;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,OAAO,EAAE,uBAAuB,CAC9B,YAAY,EACZ,kBAAkB,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,CAC9D,CAAC;IAEF;;;;OAIG;IACH,QAAQ,EAAE,uBAAuB,CAC/B,aAAa,EACb,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC,CAChE,CAAC;CACH;AAED,KAAK,iBAAiB,CAAC,CAAC,SAAS,YAAY,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAC5E,SAAS,GACT,KAAK,CAAC;AACV,KAAK,mBAAmB,CAAC,CAAC,SAAS,YAAY,IAC3C,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACzB,iBAAiB,CAAC,CAAC,CAAC,CAAC;AA0OzB,cAAM,SAAS,CACb,YAAY,SAAS,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,EACzD,cAAc,SAAS,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,GAAG,GAAG,EACpE,aAAa,SAAS,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,EAC1D,eAAe,SAAS,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,GAAG,GAAG;IAEtE,OAAO,CAAC,iBAAiB,CAGvB;IACF,OAAO,CAAC,kBAAkB,CAGxB;IACF,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAS;gBAGvB,MAAM,EAAE,cAAc,CACpB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,CAChB;IAYG,IAAI,CACR,MAAM,EAAE,mBAAmB,CAAC,YAAY,CAAC,EACzC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC;IA8D/D,MAAM,YACK,OAAO,MACZ,OAAO,YACD,CACR,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,EACxD,MAAM,EAAE,OAAO,KAEb,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,GAC3C,mBAAmB,CAAC,aAAa,CAAC,KACrC,OAAO,CAAC,QAAQ,CAAC,CAkBlB;IAEF,oBAAoB,YACT,OAAO,MACZ,OAAO,YACD,CACR,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,EACxD,MAAM,EAAE,OAAO,KAEb,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,GAC3C,mBAAmB,CAAC,aAAa,CAAC,KACrC,OAAO,CAAC,QAAQ,CAAC,CA2ClB;IAEF,IAAI,aAAa,IAAI,WAAW,CAAC,YAAY,CAAC,CAE7C;IAED,IAAI,cAAc,IACyB,WAAW,CAAC,aAAa,CAAC,CACpE;CACF;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,SAAS,YAAY,EACjC,cAAc,SAAS,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAC9D,aAAa,SAAS,YAAY,EAClC,eAAe,SAAS,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,EAEhE,MAAM,EAAE,cAAc,CACpB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,CAChB,2EAGF;AA8BD,qBAAa,gBAAgB;aAIT,OAAO,EAAE,MAAM;aACf,IAAI,EAAE,MAAM;aACZ,OAAO,CAAC,EAAE,OAAO;IALnC,SAAgB,kBAAkB,QAAQ;gBAGxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO;IAGnC,MAAM;;;;;CAGP;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAQ5E"}
@@ -9,7 +9,7 @@ export { Profile } from "./internal.js";
9
9
  export { SchemaUnion } from "./internal.js";
10
10
  export { co } from "./internal.js";
11
11
  export type { CoValueClass, CoValueFromRaw, DeeplyLoaded, Resolved, RefsToResolve, RefsToResolveStrict, CoMapInit, CoFeedEntry, TextPos, AccountClass, AccountCreationProps, WithHelpers, } from "./internal.js";
12
- export { CoMap, CoList, BinaryCoStream, CoFeed, CoStream, FileStream, CoPlainText, CoRichText, Account, isControlledAccount, createCoValueObservable, loadCoValue, subscribeToCoValue, ImageDefinition, SubscriptionScope, } from "./internal.js";
12
+ export { CoMap, CoList, BinaryCoStream, CoFeed, CoStream, FileStream, CoPlainText, CoRichText, Account, isControlledAccount, createCoValueObservable, loadCoValue, subscribeToCoValue, ImageDefinition, SubscriptionScope, exportCoValue, importContentPieces, } from "./internal.js";
13
13
  export { JazzContextManager, type JazzContextManagerAuthProps, } from "./internal.js";
14
14
  export { AuthSecretStorage, type AuthSetPayload, } from "./auth/AuthSecretStorage.js";
15
15
  export { JazzClerkAuth, MinimalClerkClient, isClerkCredentials, BrowserClerkAuth, } from "./auth/clerk/index.js";
@@ -21,4 +21,5 @@ export { createInviteLink, parseInviteLink, consumeInviteLink, } from "./impleme
21
21
  export { AnonymousJazzAgent, createAnonymousJazzContext, createJazzContextFromExistingCredentials, createJazzContextForNewAccount, createJazzContext, randomSessionProvider, type AuthResult, type Credentials, type JazzContextWithAccount, } from "./internal.js";
22
22
  export type * from "./types.js";
23
23
  export { zodSchemaToCoSchema, anySchemaToCoSchema, type InstanceOfSchema, type InstanceOfSchemaCoValuesNullable, type CoValueOrZodSchema, type Loaded, type BaseAccountShape, type DefaultAccountShape, type AccountSchema, type AnyAccountSchema, type CoListSchema, type CoMapSchema, type CoFeedSchema, type PlainTextSchema, type FileStreamSchema, type ResolveQuery, type ResolveQueryStrict, type InitFor, type CoRecordSchema, type CoProfileSchema, } from "./internal.js";
24
+ export { experimental_defineRequest, JazzRequestError, isJazzRequestError, } from "./coValues/request.js";
24
25
  //# sourceMappingURL=exports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/tools/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,EACpB,WAAW,GACZ,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,EACf,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,kBAAkB,EAClB,KAAK,2BAA2B,GACjC,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,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,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,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,EACZ,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../src/tools/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,EACpB,WAAW,GACZ,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,EACf,iBAAiB,EACjB,aAAa,EACb,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,kBAAkB,EAClB,KAAK,2BAA2B,GACjC,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,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,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,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,EACZ,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function isCoValueId(id: unknown): id is `co_z${string}`;
2
+ //# sourceMappingURL=id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../src/tools/lib/id.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,OAAO,MAAM,EAAE,CAE9D"}
@@ -7,7 +7,8 @@ export declare class SubscriptionScope<D extends CoValue> {
7
7
  node: LocalNode;
8
8
  id: ID<D>;
9
9
  schema: RefEncoded<D>;
10
- skipRetry?: boolean | undefined;
10
+ skipRetry: boolean;
11
+ bestEffortResolution: boolean;
11
12
  childNodes: Map<string, SubscriptionScope<CoValue>>;
12
13
  childValues: Map<string, SubscriptionValue<any, any> | Unloaded>;
13
14
  value: SubscriptionValue<D, any> | Unloaded;
@@ -25,7 +26,7 @@ export declare class SubscriptionScope<D extends CoValue> {
25
26
  migrated: boolean;
26
27
  migrating: boolean;
27
28
  silenceUpdates: boolean;
28
- constructor(node: LocalNode, resolve: RefsToResolve<D>, id: ID<D>, schema: RefEncoded<D>, skipRetry?: boolean | undefined);
29
+ constructor(node: LocalNode, resolve: RefsToResolve<D>, id: ID<D>, schema: RefEncoded<D>, skipRetry?: boolean, bestEffortResolution?: boolean);
29
30
  updateValue(value: SubscriptionValue<D, any>): void;
30
31
  handleUpdate(update: RawCoValue | "unavailable"): void;
31
32
  computeChildErrors(): JazzError | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"SubscriptionScope.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/SubscriptionScope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubscriptionScope.d.ts","sourceRoot":"","sources":["../../../src/tools/subscribe/SubscriptionScope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=exportImport.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exportImport.test.d.ts","sourceRoot":"","sources":["../../../src/tools/tests/exportImport.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=request.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.test.d.ts","sourceRoot":"","sources":["../../../src/tools/tests/request.test.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -139,7 +139,7 @@
139
139
  },
140
140
  "type": "module",
141
141
  "license": "MIT",
142
- "version": "0.15.14",
142
+ "version": "0.15.16",
143
143
  "dependencies": {
144
144
  "@manuscripts/prosemirror-recreate-steps": "^0.1.4",
145
145
  "@scure/base": "1.2.1",
@@ -158,9 +158,9 @@
158
158
  "prosemirror-state": "^1.4.3",
159
159
  "prosemirror-transform": "^1.9.0",
160
160
  "zod": "3.25.28",
161
- "cojson": "0.15.14",
162
- "cojson-storage-indexeddb": "0.15.14",
163
- "cojson-transport-ws": "0.15.14"
161
+ "cojson": "0.15.16",
162
+ "cojson-storage-indexeddb": "0.15.16",
163
+ "cojson-transport-ws": "0.15.16"
164
164
  },
165
165
  "devDependencies": {
166
166
  "@scure/bip39": "^1.3.0",
@@ -171,8 +171,9 @@
171
171
  "@types/react": "19.1.0",
172
172
  "@types/react-dom": "19.1.0",
173
173
  "@vitest/browser": "^3.2.4",
174
- "queueueue": "^4.1.2",
174
+ "msw": "^2.10.3",
175
175
  "playwright": "^1.50.1",
176
+ "queueueue": "^4.1.2",
176
177
  "tsup": "8.5.0",
177
178
  "typescript": "5.6.2",
178
179
  "vitest": "3.2.4",
@@ -153,6 +153,7 @@ export class Group extends CoValueBase implements CoValue {
153
153
  member: Group,
154
154
  role?: "reader" | "writer" | "admin" | "inherit",
155
155
  ): void;
156
+ addMember(member: Group | Account, role: "reader" | "writer" | "admin"): void;
156
157
  addMember(
157
158
  member: Group | Everyone | Account,
158
159
  role?: AccountRole | "inherit",
@@ -10,6 +10,7 @@ import {
10
10
  anySchemaToCoSchema,
11
11
  loadCoValue,
12
12
  } from "../internal.js";
13
+ import { isCoValueId } from "../lib/id.js";
13
14
 
14
15
  export type InboxInvite = `${CoID<MessagesStream>}/${InviteSecret}`;
15
16
  type TxKey = `${SessionID}/${number}`;
@@ -382,7 +383,7 @@ async function acceptInvite(invite: string, account?: Account) {
382
383
 
383
384
  const inviteSecret = invite.slice(invite.indexOf("/") + 1) as InviteSecret;
384
385
 
385
- if (!id?.startsWith("co_z") || !inviteSecret.startsWith("inviteSecret_")) {
386
+ if (!isCoValueId(id) || !inviteSecret.startsWith("inviteSecret_")) {
386
387
  throw new Error("Invalid inbox ticket");
387
388
  }
388
389
 
@@ -399,8 +400,8 @@ function getAccountIDfromSessionID(sessionID: SessionID) {
399
400
  const until = sessionID.indexOf("_session");
400
401
  const accountID = sessionID.slice(0, until);
401
402
 
402
- if (accountID.startsWith("co_z")) {
403
- return accountID as ID<Account>;
403
+ if (isCoValueId(accountID)) {
404
+ return accountID;
404
405
  }
405
406
 
406
407
  return;
@@ -1,6 +1,13 @@
1
- import type { CoValueUniqueness, RawCoValue } from "cojson";
2
1
  import {
3
- type Account,
2
+ CoValueCore,
3
+ type CoValueUniqueness,
4
+ type CojsonInternalTypes,
5
+ type RawCoValue,
6
+ emptyKnownState,
7
+ } from "cojson";
8
+ import { AvailableCoValueCore } from "cojson/dist/coValueCore/coValueCore.js";
9
+ import {
10
+ Account,
4
11
  AnonymousJazzAgent,
5
12
  CoValueOrZodSchema,
6
13
  type Group,
@@ -15,6 +22,7 @@ import {
15
22
  type SubscriptionValue,
16
23
  activeAccountContext,
17
24
  anySchemaToCoSchema,
25
+ getSubscriptionScope,
18
26
  inspect,
19
27
  } from "../internal.js";
20
28
 
@@ -462,3 +470,170 @@ export function parseGroupCreateOptions(
462
470
  ? { owner: options }
463
471
  : { owner: options.owner ?? activeAccountContext.get() };
464
472
  }
473
+
474
+ /**
475
+ * Deeply export a CoValue to a content piece.
476
+ *
477
+ * @param cls - The class of the CoValue to export.
478
+ * @param id - The ID of the CoValue to export.
479
+ * @param options - The options for the export.
480
+ * @returns The content pieces that were exported.
481
+ *
482
+ * @example
483
+ * ```ts
484
+ * const Address = co.map({
485
+ * street: z.string(),
486
+ * city: z.string(),
487
+ * });
488
+ *
489
+ * const Person = co.map({
490
+ * name: z.string(),
491
+ * address: Address,
492
+ * });
493
+ *
494
+ * const group = Group.create();
495
+ * const address = Address.create(
496
+ * { street: "123 Main St", city: "New York" },
497
+ * group,
498
+ * );
499
+ * const person = Person.create({ name: "John", address }, group);
500
+ * group.addMember("everyone", "reader");
501
+ *
502
+ * // Export with nested references resolved, values can be serialized to JSON
503
+ * const exportedWithResolve = await exportCoValue(Person, person.id, {
504
+ * resolve: { address: true },
505
+ * });
506
+ *
507
+ * // In another client or session
508
+ * // Load the exported content pieces into the node, they will be persisted
509
+ * importContentPieces(exportedWithResolve);
510
+ *
511
+ * // Now the person can be loaded from the node, even offline
512
+ * const person = await loadCoValue(Person, person.id, {
513
+ * resolve: { address: true },
514
+ * });
515
+ * ```
516
+ */
517
+ export async function exportCoValue<
518
+ S extends CoValueOrZodSchema | CoValueClass<CoValue>,
519
+ const R extends ResolveQuery<S>,
520
+ >(
521
+ cls: S,
522
+ id: ID<CoValue>,
523
+ options: {
524
+ resolve?: ResolveQueryStrict<S, R>;
525
+ loadAs: Account | AnonymousJazzAgent;
526
+ skipRetry?: boolean;
527
+ bestEffortResolution?: boolean;
528
+ },
529
+ ) {
530
+ const loadAs = options.loadAs ?? activeAccountContext.get();
531
+ const node = "node" in loadAs ? loadAs.node : loadAs._raw.core.node;
532
+
533
+ const resolve = options.resolve ?? true;
534
+
535
+ const rootNode = new SubscriptionScope<CoValue>(
536
+ node,
537
+ resolve as any,
538
+ id,
539
+ {
540
+ ref: anySchemaToCoSchema(cls),
541
+ optional: false,
542
+ },
543
+ options.skipRetry,
544
+ options.bestEffortResolution,
545
+ );
546
+
547
+ const value = await new Promise<Loaded<S, R> | null>((resolve) => {
548
+ rootNode.setListener((value) => {
549
+ if (value.type === "unavailable") {
550
+ resolve(null);
551
+ console.error(value.toString());
552
+ } else if (value.type === "unauthorized") {
553
+ resolve(null);
554
+ console.error(value.toString());
555
+ } else if (value.type === "loaded") {
556
+ resolve(value.value as Loaded<S, R>);
557
+ }
558
+
559
+ rootNode.destroy();
560
+ });
561
+ });
562
+
563
+ if (!value) {
564
+ return null;
565
+ }
566
+
567
+ const valuesExported = new Set<string>();
568
+ const contentPieces: CojsonInternalTypes.NewContentMessage[] = [];
569
+
570
+ loadContentPiecesFromSubscription(rootNode, valuesExported, contentPieces);
571
+
572
+ return contentPieces;
573
+ }
574
+
575
+ function loadContentPiecesFromSubscription(
576
+ subscription: SubscriptionScope<any>,
577
+ valuesExported: Set<string>,
578
+ contentPieces: CojsonInternalTypes.NewContentMessage[],
579
+ ) {
580
+ if (valuesExported.has(subscription.id)) {
581
+ return;
582
+ }
583
+
584
+ valuesExported.add(subscription.id);
585
+
586
+ const core = subscription.getCurrentValue()?._raw
587
+ .core as AvailableCoValueCore;
588
+
589
+ if (core) {
590
+ loadContentPiecesFromCoValue(core, valuesExported, contentPieces);
591
+ }
592
+
593
+ for (const child of subscription.childNodes.values()) {
594
+ loadContentPiecesFromSubscription(child, valuesExported, contentPieces);
595
+ }
596
+ }
597
+
598
+ function loadContentPiecesFromCoValue(
599
+ core: AvailableCoValueCore,
600
+ valuesExported: Set<string>,
601
+ contentPieces: CojsonInternalTypes.NewContentMessage[],
602
+ ) {
603
+ for (const dependency of core.getDependedOnCoValues()) {
604
+ if (valuesExported.has(dependency)) {
605
+ continue;
606
+ }
607
+
608
+ const depCoValue = core.node.getCoValue(dependency);
609
+
610
+ if (depCoValue.isAvailable()) {
611
+ valuesExported.add(dependency);
612
+ loadContentPiecesFromCoValue(depCoValue, valuesExported, contentPieces);
613
+ }
614
+ }
615
+
616
+ const pieces = core.verified.newContentSince(emptyKnownState(core.id));
617
+
618
+ for (const piece of pieces ?? []) {
619
+ contentPieces.push(piece);
620
+ }
621
+ }
622
+
623
+ /**
624
+ * Import content pieces into the node.
625
+ *
626
+ * @param contentPieces - The content pieces to import.
627
+ * @param loadAs - The account to load the content pieces as.
628
+ */
629
+ export function importContentPieces(
630
+ contentPieces: CojsonInternalTypes.NewContentMessage[],
631
+ loadAs?: Account | AnonymousJazzAgent,
632
+ ) {
633
+ const account = loadAs ?? Account.getMe();
634
+ const node = "node" in account ? account.node : account._raw.core.node;
635
+
636
+ for (const piece of contentPieces) {
637
+ node.syncManager.handleNewContent(piece, "import");
638
+ }
639
+ }