jazz-tools 0.19.7 → 0.19.8

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 (110) hide show
  1. package/.turbo/turbo-build.log +61 -57
  2. package/CHANGELOG.md +15 -0
  3. package/dist/{chunk-CUS6O5NE.js → chunk-2S3Z2CN6.js} +116 -49
  4. package/dist/chunk-2S3Z2CN6.js.map +1 -0
  5. package/dist/expo/polyfills.js +22 -0
  6. package/dist/expo/polyfills.js.map +1 -0
  7. package/dist/index.js +26 -6
  8. package/dist/index.js.map +1 -1
  9. package/dist/react-core/hooks.d.ts.map +1 -1
  10. package/dist/react-core/index.js +17 -6
  11. package/dist/react-core/index.js.map +1 -1
  12. package/dist/react-native/index.d.ts +1 -1
  13. package/dist/react-native/index.d.ts.map +1 -1
  14. package/dist/react-native/index.js +713 -9
  15. package/dist/react-native/index.js.map +1 -1
  16. package/dist/react-native/polyfills.js +22 -0
  17. package/dist/react-native/polyfills.js.map +1 -0
  18. package/dist/react-native-core/index.d.ts.map +1 -1
  19. package/dist/react-native-core/index.js.map +1 -1
  20. package/dist/testing.js +1 -1
  21. package/dist/tools/coValues/account.d.ts +3 -3
  22. package/dist/tools/coValues/account.d.ts.map +1 -1
  23. package/dist/tools/coValues/coFeed.d.ts +3 -3
  24. package/dist/tools/coValues/coFeed.d.ts.map +1 -1
  25. package/dist/tools/coValues/coList.d.ts +4 -4
  26. package/dist/tools/coValues/coList.d.ts.map +1 -1
  27. package/dist/tools/coValues/coMap.d.ts +7 -7
  28. package/dist/tools/coValues/coMap.d.ts.map +1 -1
  29. package/dist/tools/coValues/coPlainText.d.ts +2 -2
  30. package/dist/tools/coValues/coPlainText.d.ts.map +1 -1
  31. package/dist/tools/coValues/coVector.d.ts +2 -2
  32. package/dist/tools/coValues/coVector.d.ts.map +1 -1
  33. package/dist/tools/coValues/deepLoading.d.ts +24 -0
  34. package/dist/tools/coValues/deepLoading.d.ts.map +1 -1
  35. package/dist/tools/coValues/group.d.ts +2 -2
  36. package/dist/tools/coValues/group.d.ts.map +1 -1
  37. package/dist/tools/coValues/interfaces.d.ts +6 -6
  38. package/dist/tools/coValues/interfaces.d.ts.map +1 -1
  39. package/dist/tools/coValues/schemaUnion.d.ts +2 -2
  40. package/dist/tools/coValues/schemaUnion.d.ts.map +1 -1
  41. package/dist/tools/config.d.ts +3 -0
  42. package/dist/tools/config.d.ts.map +1 -0
  43. package/dist/tools/exports.d.ts +2 -0
  44. package/dist/tools/exports.d.ts.map +1 -1
  45. package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts +2 -2
  46. package/dist/tools/implementation/zodSchema/schemaTypes/AccountSchema.d.ts.map +1 -1
  47. package/dist/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.d.ts +2 -2
  48. package/dist/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.d.ts.map +1 -1
  49. package/dist/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts +2 -2
  50. package/dist/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.d.ts.map +1 -1
  51. package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts +4 -4
  52. package/dist/tools/implementation/zodSchema/schemaTypes/CoListSchema.d.ts.map +1 -1
  53. package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts +4 -4
  54. package/dist/tools/implementation/zodSchema/schemaTypes/CoMapSchema.d.ts.map +1 -1
  55. package/dist/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts +4 -4
  56. package/dist/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.d.ts.map +1 -1
  57. package/dist/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts +2 -2
  58. package/dist/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.d.ts.map +1 -1
  59. package/dist/tools/implementation/zodSchema/schemaTypes/GroupSchema.d.ts +2 -2
  60. package/dist/tools/implementation/zodSchema/schemaTypes/GroupSchema.d.ts.map +1 -1
  61. package/dist/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts +2 -2
  62. package/dist/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.d.ts.map +1 -1
  63. package/dist/tools/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts +2 -2
  64. package/dist/tools/implementation/zodSchema/schemaTypes/RichTextSchema.d.ts.map +1 -1
  65. package/dist/tools/implementation/zodSchema/zodCo.d.ts.map +1 -1
  66. package/dist/tools/subscribe/JazzError.d.ts.map +1 -1
  67. package/dist/tools/subscribe/SubscriptionScope.d.ts +10 -1
  68. package/dist/tools/subscribe/SubscriptionScope.d.ts.map +1 -1
  69. package/dist/tools/subscribe/errorReporting.d.ts +31 -0
  70. package/dist/tools/subscribe/errorReporting.d.ts.map +1 -0
  71. package/dist/tools/testing.d.ts.map +1 -1
  72. package/dist/tools/tests/errorReporting.test.d.ts +2 -0
  73. package/dist/tools/tests/errorReporting.test.d.ts.map +1 -0
  74. package/package.json +13 -5
  75. package/src/react-core/hooks.ts +16 -0
  76. package/src/react-native/index.ts +1 -1
  77. package/src/react-native-core/index.ts +2 -0
  78. package/src/react-native-core/polyfills/index.js +28 -0
  79. package/src/tools/coValues/account.ts +3 -4
  80. package/src/tools/coValues/coFeed.ts +3 -2
  81. package/src/tools/coValues/coList.ts +4 -4
  82. package/src/tools/coValues/coMap.ts +4 -4
  83. package/src/tools/coValues/coPlainText.ts +2 -2
  84. package/src/tools/coValues/coVector.ts +2 -2
  85. package/src/tools/coValues/deepLoading.ts +31 -0
  86. package/src/tools/coValues/group.ts +2 -2
  87. package/src/tools/coValues/interfaces.ts +19 -23
  88. package/src/tools/coValues/schemaUnion.ts +2 -2
  89. package/src/tools/config.ts +9 -0
  90. package/src/tools/exports.ts +4 -0
  91. package/src/tools/implementation/zodSchema/schemaTypes/AccountSchema.ts +2 -2
  92. package/src/tools/implementation/zodSchema/schemaTypes/CoDiscriminatedUnionSchema.ts +2 -2
  93. package/src/tools/implementation/zodSchema/schemaTypes/CoFeedSchema.ts +2 -2
  94. package/src/tools/implementation/zodSchema/schemaTypes/CoListSchema.ts +4 -4
  95. package/src/tools/implementation/zodSchema/schemaTypes/CoMapSchema.ts +4 -4
  96. package/src/tools/implementation/zodSchema/schemaTypes/CoRecordSchema.ts +4 -10
  97. package/src/tools/implementation/zodSchema/schemaTypes/FileStreamSchema.ts +2 -2
  98. package/src/tools/implementation/zodSchema/schemaTypes/GroupSchema.ts +2 -2
  99. package/src/tools/implementation/zodSchema/schemaTypes/PlainTextSchema.ts +2 -2
  100. package/src/tools/implementation/zodSchema/schemaTypes/RichTextSchema.ts +2 -2
  101. package/src/tools/subscribe/JazzError.ts +9 -6
  102. package/src/tools/subscribe/SubscriptionScope.ts +110 -27
  103. package/src/tools/subscribe/errorReporting.ts +67 -0
  104. package/src/tools/tests/deepLoading.test.ts +47 -47
  105. package/src/tools/tests/errorReporting.test.ts +103 -0
  106. package/src/tools/tests/load.test.ts +21 -1
  107. package/src/tools/tests/request.test.ts +2 -1
  108. package/src/tools/tests/subscribe.test.ts +44 -0
  109. package/tsup.config.ts +16 -0
  110. package/dist/chunk-CUS6O5NE.js.map +0 -1
@@ -11,7 +11,7 @@ import {
11
11
  Group,
12
12
  ID,
13
13
  AsLoaded,
14
- MaybeLoaded,
14
+ Settled,
15
15
  unstable_mergeBranch,
16
16
  RefEncoded,
17
17
  RefsToResolve,
@@ -268,7 +268,7 @@ export class CoList<out Item = any>
268
268
  resolve?: RefsToResolveStrict<L, R>;
269
269
  loadAs?: Account | AnonymousJazzAgent;
270
270
  },
271
- ): Promise<MaybeLoaded<Resolved<L, R>>> {
271
+ ): Promise<Settled<Resolved<L, R>>> {
272
272
  return loadCoValueWithoutMe(this, id, options);
273
273
  }
274
274
 
@@ -380,7 +380,7 @@ export class CoList<out Item = any>
380
380
  owner: Account | Group;
381
381
  resolve?: RefsToResolveStrict<L, R>;
382
382
  },
383
- ): Promise<MaybeLoaded<Resolved<L, R>>> {
383
+ ): Promise<Settled<Resolved<L, R>>> {
384
384
  const header = CoList._getUniqueHeader(
385
385
  options.unique,
386
386
  options.owner.$jazz.id,
@@ -420,7 +420,7 @@ export class CoList<out Item = any>
420
420
  resolve?: RefsToResolveStrict<L, R>;
421
421
  loadAs?: Account | AnonymousJazzAgent;
422
422
  },
423
- ): Promise<MaybeLoaded<Resolved<L, R>>> {
423
+ ): Promise<Settled<Resolved<L, R>>> {
424
424
  const header = CoList._getUniqueHeader(unique, ownerID);
425
425
 
426
426
  const owner = await Group.load(ownerID, {
@@ -18,7 +18,7 @@ import {
18
18
  getCoValueOwner,
19
19
  Group,
20
20
  ID,
21
- MaybeLoaded,
21
+ Settled,
22
22
  PartialOnUndefined,
23
23
  RefEncoded,
24
24
  RefIfCoValue,
@@ -377,7 +377,7 @@ export class CoMap extends CoValueBase implements CoValue {
377
377
  loadAs?: Account | AnonymousJazzAgent;
378
378
  skipRetry?: boolean;
379
379
  },
380
- ): Promise<MaybeLoaded<Resolved<M, R>>> {
380
+ ): Promise<Settled<Resolved<M, R>>> {
381
381
  return loadCoValueWithoutMe(this, id, options);
382
382
  }
383
383
 
@@ -494,7 +494,7 @@ export class CoMap extends CoValueBase implements CoValue {
494
494
  owner: Account | Group;
495
495
  resolve?: RefsToResolveStrict<M, R>;
496
496
  },
497
- ): Promise<MaybeLoaded<Resolved<M, R>>> {
497
+ ): Promise<Settled<Resolved<M, R>>> {
498
498
  const header = CoMap._getUniqueHeader(
499
499
  options.unique,
500
500
  options.owner.$jazz.id,
@@ -536,7 +536,7 @@ export class CoMap extends CoValueBase implements CoValue {
536
536
  resolve?: RefsToResolveStrict<M, R>;
537
537
  loadAs?: Account | AnonymousJazzAgent;
538
538
  },
539
- ): Promise<MaybeLoaded<Resolved<M, R>>> {
539
+ ): Promise<Settled<Resolved<M, R>>> {
540
540
  const header = CoMap._getUniqueHeader(unique, ownerID);
541
541
 
542
542
  const owner = await Group.load(ownerID, {
@@ -7,7 +7,7 @@ import {
7
7
  CoValueJazzApi,
8
8
  CoValueLoadingState,
9
9
  ID,
10
- MaybeLoaded,
10
+ Settled,
11
11
  Resolved,
12
12
  SubscribeListenerOptions,
13
13
  SubscribeRestArgs,
@@ -164,7 +164,7 @@ export class CoPlainText extends String implements CoValue {
164
164
  this: CoValueClass<T>,
165
165
  id: ID<T>,
166
166
  options?: { loadAs?: Account | AnonymousJazzAgent },
167
- ): Promise<MaybeLoaded<T>> {
167
+ ): Promise<Settled<T>> {
168
168
  return loadCoValueWithoutMe(this, id, options);
169
169
  }
170
170
 
@@ -11,7 +11,7 @@ import {
11
11
  SubscribeListenerOptions,
12
12
  SubscribeRestArgs,
13
13
  TypeSym,
14
- MaybeLoaded,
14
+ Settled,
15
15
  Account,
16
16
  CoValueJazzApi,
17
17
  inspect,
@@ -232,7 +232,7 @@ export class CoVector
232
232
  options?: {
233
233
  loadAs?: Account | AnonymousJazzAgent;
234
234
  },
235
- ): Promise<MaybeLoaded<C>> {
235
+ ): Promise<Settled<C>> {
236
236
  const coVector = await loadCoValueWithoutMe(this, id, options);
237
237
 
238
238
  /**
@@ -31,9 +31,16 @@ type IsUnion<T, U = T> = (
31
31
  // into the definition of CoValues.
32
32
  export type MaybeLoaded<T> = T | NotLoaded<T>;
33
33
 
34
+ /**
35
+ * A CoValue that is either successfully loaded or that could not be loaded.
36
+ */
37
+ export type Settled<T> = T | Inaccessible<T>;
38
+
34
39
  /**
35
40
  * A CoValue that is not loaded.
36
41
  */
42
+ // Manually inlining the type to reduce type-checking complexity
43
+ // type NotLoaded<T> = Loading<T> | Inaccessible<T>;
37
44
  export type NotLoaded<T> = {
38
45
  $jazz: {
39
46
  id: ID<T>;
@@ -45,6 +52,30 @@ export type NotLoaded<T> = {
45
52
  $isLoaded: false;
46
53
  };
47
54
 
55
+ /**
56
+ * A CoValue that is being loaded
57
+ */
58
+ export type Loading<T> = {
59
+ $jazz: {
60
+ id: ID<T>;
61
+ loadingState: typeof CoValueLoadingState.LOADING;
62
+ };
63
+ $isLoaded: false;
64
+ };
65
+
66
+ /**
67
+ * A CoValue that could not be loaded
68
+ */
69
+ export type Inaccessible<T> = {
70
+ $jazz: {
71
+ id: ID<T>;
72
+ loadingState:
73
+ | typeof CoValueLoadingState.UNAVAILABLE
74
+ | typeof CoValueLoadingState.UNAUTHORIZED;
75
+ };
76
+ $isLoaded: false;
77
+ };
78
+
48
79
  /**
49
80
  * Narrows a maybe-loaded, optional CoValue to a loaded and required CoValue.
50
81
  */
@@ -14,7 +14,7 @@ import {
14
14
  CoValue,
15
15
  CoValueClass,
16
16
  ID,
17
- MaybeLoaded,
17
+ Settled,
18
18
  RefEncoded,
19
19
  RefsToResolve,
20
20
  RefsToResolveStrict,
@@ -283,7 +283,7 @@ export class Group extends CoValueBase implements CoValue {
283
283
  resolve?: RefsToResolveStrict<G, R>;
284
284
  loadAs?: Account | AnonymousJazzAgent;
285
285
  },
286
- ): Promise<MaybeLoaded<Resolved<G, R>>> {
286
+ ): Promise<Settled<Resolved<G, R>>> {
287
287
  return loadCoValueWithoutMe(this, id, options);
288
288
  }
289
289
 
@@ -13,7 +13,9 @@ import {
13
13
  NotLoadedCoValueState,
14
14
  type Group,
15
15
  Loaded,
16
+ Inaccessible,
16
17
  MaybeLoaded,
18
+ Settled,
17
19
  RefsToResolve,
18
20
  RefsToResolveStrict,
19
21
  RegisteredSchemas,
@@ -145,7 +147,7 @@ export function loadCoValueWithoutMe<
145
147
  skipRetry?: boolean;
146
148
  unstable_branch?: BranchDefinition;
147
149
  },
148
- ): Promise<MaybeLoaded<Resolved<V, R>>> {
150
+ ): Promise<Settled<Resolved<V, R>>> {
149
151
  return loadCoValue(cls, id, {
150
152
  ...options,
151
153
  loadAs: options?.loadAs ?? activeAccountContext.get(),
@@ -165,7 +167,7 @@ export function loadCoValue<
165
167
  skipRetry?: boolean;
166
168
  unstable_branch?: BranchDefinition;
167
169
  },
168
- ): Promise<MaybeLoaded<Resolved<V, R>>> {
170
+ ): Promise<Settled<Resolved<V, R>>> {
169
171
  return new Promise((resolve) => {
170
172
  subscribeToCoValue<V, R>(
171
173
  cls,
@@ -302,8 +304,8 @@ export function subscribeToCoValue<
302
304
  options: {
303
305
  resolve?: RefsToResolveStrict<V, R>;
304
306
  loadAs: Account | AnonymousJazzAgent;
305
- onUnavailable?: (value: NotLoaded<V>) => void;
306
- onUnauthorized?: (value: NotLoaded<V>) => void;
307
+ onUnavailable?: (value: Inaccessible<V>) => void;
308
+ onUnauthorized?: (value: Inaccessible<V>) => void;
307
309
  syncResolution?: boolean;
308
310
  skipRetry?: boolean;
309
311
  unstable_branch?: BranchDefinition;
@@ -342,16 +344,10 @@ export function subscribeToCoValue<
342
344
 
343
345
  switch (value.$jazz.loadingState) {
344
346
  case CoValueLoadingState.UNAVAILABLE:
345
- options.onUnavailable?.(value);
346
-
347
- // Don't log unavailable errors when `loadUnique` or `upsertUnique` are used
348
- if (!options.skipRetry) {
349
- console.error(value.toString());
350
- }
347
+ options.onUnavailable?.(value as Inaccessible<V>);
351
348
  break;
352
349
  case CoValueLoadingState.UNAUTHORIZED:
353
- options.onUnauthorized?.(value);
354
- console.error(value.toString());
350
+ options.onUnauthorized?.(value as Inaccessible<V>);
355
351
  break;
356
352
  }
357
353
  };
@@ -546,7 +542,7 @@ export async function internalLoadUnique<
546
542
  owner: Account | Group;
547
543
  resolve?: RefsToResolveStrict<V, R>;
548
544
  },
549
- ): Promise<MaybeLoaded<Resolved<V, R>>> {
545
+ ): Promise<Settled<Resolved<V, R>>> {
550
546
  const loadAs = options.owner.$jazz.loadedAs;
551
547
 
552
548
  const node =
@@ -682,18 +678,18 @@ export async function exportCoValue<
682
678
  );
683
679
 
684
680
  const value = await new Promise<Loaded<S, R> | null>((resolve) => {
685
- rootNode.setListener((value) => {
686
- if (value.type === CoValueLoadingState.UNAVAILABLE) {
687
- resolve(null);
688
- console.error(value.toString());
689
- } else if (value.type === CoValueLoadingState.UNAUTHORIZED) {
681
+ rootNode.setListener(() => {
682
+ const value = rootNode.getCurrentValue();
683
+
684
+ if (value.$isLoaded) {
685
+ resolve(value as Loaded<S, R>);
686
+ } else if (
687
+ value.$jazz.loadingState === CoValueLoadingState.UNAVAILABLE ||
688
+ value.$jazz.loadingState === CoValueLoadingState.UNAUTHORIZED
689
+ ) {
690
690
  resolve(null);
691
- console.error(value.toString());
692
- } else if (value.type === CoValueLoadingState.LOADED) {
693
- resolve(value.value as Loaded<S, R>);
691
+ rootNode.destroy();
694
692
  }
695
-
696
- rootNode.destroy();
697
693
  });
698
694
  });
699
695
 
@@ -10,7 +10,7 @@ import {
10
10
  CoValueJazzApi,
11
11
  Group,
12
12
  ID,
13
- MaybeLoaded,
13
+ Settled,
14
14
  RefsToResolve,
15
15
  RefsToResolveStrict,
16
16
  Resolved,
@@ -162,7 +162,7 @@ export abstract class SchemaUnion extends CoValueBase implements CoValue {
162
162
  loadAs?: Account | AnonymousJazzAgent;
163
163
  skipRetry?: boolean;
164
164
  },
165
- ): Promise<MaybeLoaded<Resolved<M, R>>> {
165
+ ): Promise<Settled<Resolved<M, R>>> {
166
166
  return loadCoValueWithoutMe(this, id, options);
167
167
  }
168
168
 
@@ -0,0 +1,9 @@
1
+ export {
2
+ setCustomErrorReporter,
3
+ enableCaptureErrorCause,
4
+ } from "./subscribe/errorReporting.js";
5
+
6
+ export {
7
+ logger,
8
+ LogLevel,
9
+ } from "cojson";
@@ -137,3 +137,7 @@ export {
137
137
  } from "./coValues/request.js";
138
138
 
139
139
  export * from "./ssr/index.js";
140
+
141
+ export { captureStack } from "./subscribe/errorReporting.js";
142
+
143
+ export * as jazzConfig from "./config.js";
@@ -5,7 +5,7 @@ import {
5
5
  CoMapSchemaDefinition,
6
6
  coOptionalDefiner,
7
7
  Group,
8
- MaybeLoaded,
8
+ Settled,
9
9
  RefsToResolveStrict,
10
10
  RefsToResolve,
11
11
  Resolved,
@@ -84,7 +84,7 @@ export class AccountSchema<
84
84
  loadAs?: Account | AnonymousJazzAgent;
85
85
  resolve?: RefsToResolveStrict<AccountSchema<Shape>, R>;
86
86
  },
87
- ): Promise<MaybeLoaded<Loaded<AccountSchema<Shape>, R>>> {
87
+ ): Promise<Settled<Loaded<AccountSchema<Shape>, R>>> {
88
88
  // @ts-expect-error
89
89
  return this.coValueClass.load(
90
90
  id,
@@ -5,7 +5,7 @@ import {
5
5
  BranchDefinition,
6
6
  InstanceOfSchema,
7
7
  InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded,
8
- MaybeLoaded,
8
+ Settled,
9
9
  RefsToResolve,
10
10
  RefsToResolveStrict,
11
11
  Resolved,
@@ -87,7 +87,7 @@ export class CoDiscriminatedUnionSchema<
87
87
  unstable_branch?: BranchDefinition;
88
88
  },
89
89
  ): Promise<
90
- MaybeLoaded<
90
+ Settled<
91
91
  Resolved<
92
92
  CoDiscriminatedUnionInstanceCoValuesMaybeLoaded<Options> & SchemaUnion,
93
93
  R
@@ -4,7 +4,7 @@ import {
4
4
  BranchDefinition,
5
5
  CoFeed,
6
6
  Group,
7
- MaybeLoaded,
7
+ Settled,
8
8
  RefsToResolve,
9
9
  RefsToResolveStrict,
10
10
  Resolved,
@@ -69,7 +69,7 @@ export class CoFeedSchema<
69
69
  loadAs?: Account | AnonymousJazzAgent;
70
70
  unstable_branch?: BranchDefinition;
71
71
  },
72
- ): Promise<MaybeLoaded<Resolved<CoFeedInstanceCoValuesMaybeLoaded<T>, R>>> {
72
+ ): Promise<Settled<Resolved<CoFeedInstanceCoValuesMaybeLoaded<T>, R>>> {
73
73
  // @ts-expect-error
74
74
  return this.coValueClass.load(
75
75
  id,
@@ -4,7 +4,7 @@ import {
4
4
  CoList,
5
5
  Group,
6
6
  ID,
7
- MaybeLoaded,
7
+ Settled,
8
8
  RefsToResolve,
9
9
  RefsToResolveStrict,
10
10
  Resolved,
@@ -77,7 +77,7 @@ export class CoListSchema<
77
77
  loadAs?: Account | AnonymousJazzAgent;
78
78
  unstable_branch?: BranchDefinition;
79
79
  },
80
- ): Promise<MaybeLoaded<Resolved<CoListInstanceCoValuesMaybeLoaded<T>, R>>> {
80
+ ): Promise<Settled<Resolved<CoListInstanceCoValuesMaybeLoaded<T>, R>>> {
81
81
  // @ts-expect-error
82
82
  return this.coValueClass.load(
83
83
  id,
@@ -147,7 +147,7 @@ export class CoListSchema<
147
147
  unique: CoValueUniqueness["uniqueness"];
148
148
  owner: Account | Group;
149
149
  resolve?: RefsToResolveStrict<CoListInstanceCoValuesMaybeLoaded<T>, R>;
150
- }): Promise<MaybeLoaded<Resolved<CoListInstanceCoValuesMaybeLoaded<T>, R>>> {
150
+ }): Promise<Settled<Resolved<CoListInstanceCoValuesMaybeLoaded<T>, R>>> {
151
151
  // @ts-expect-error
152
152
  return this.coValueClass.upsertUnique(
153
153
  // @ts-expect-error
@@ -166,7 +166,7 @@ export class CoListSchema<
166
166
  resolve?: RefsToResolveStrict<CoListInstanceCoValuesMaybeLoaded<T>, R>;
167
167
  loadAs?: Account | AnonymousJazzAgent;
168
168
  },
169
- ): Promise<MaybeLoaded<Resolved<CoListInstanceCoValuesMaybeLoaded<T>, R>>> {
169
+ ): Promise<Settled<Resolved<CoListInstanceCoValuesMaybeLoaded<T>, R>>> {
170
170
  // @ts-expect-error
171
171
  return this.coValueClass.loadUnique(
172
172
  unique,
@@ -6,7 +6,7 @@ import {
6
6
  DiscriminableCoValueSchemaDefinition,
7
7
  DiscriminableCoreCoValueSchema,
8
8
  Group,
9
- MaybeLoaded,
9
+ Settled,
10
10
  RefsToResolve,
11
11
  RefsToResolveStrict,
12
12
  Resolved,
@@ -97,7 +97,7 @@ export class CoMapSchema<
97
97
  unstable_branch?: BranchDefinition;
98
98
  },
99
99
  ): Promise<
100
- MaybeLoaded<
100
+ Settled<
101
101
  Resolved<Simplify<CoMapInstanceCoValuesMaybeLoaded<Shape>> & CoMap, R>
102
102
  >
103
103
  > {
@@ -183,7 +183,7 @@ export class CoMapSchema<
183
183
  R
184
184
  >;
185
185
  }): Promise<
186
- MaybeLoaded<
186
+ Settled<
187
187
  Resolved<Simplify<CoMapInstanceCoValuesMaybeLoaded<Shape>> & CoMap, R>
188
188
  >
189
189
  > {
@@ -210,7 +210,7 @@ export class CoMapSchema<
210
210
  loadAs?: Account | AnonymousJazzAgent;
211
211
  },
212
212
  ): Promise<
213
- MaybeLoaded<
213
+ Settled<
214
214
  Resolved<Simplify<CoMapInstanceCoValuesMaybeLoaded<Shape>> & CoMap, R>
215
215
  >
216
216
  > {
@@ -6,7 +6,7 @@ import {
6
6
  CoMapSchemaDefinition,
7
7
  Group,
8
8
  ID,
9
- MaybeLoaded,
9
+ Settled,
10
10
  RefsToResolve,
11
11
  RefsToResolveStrict,
12
12
  Resolved,
@@ -64,9 +64,7 @@ export interface CoRecordSchema<
64
64
  loadAs?: Account | AnonymousJazzAgent;
65
65
  unstable_branch?: BranchDefinition;
66
66
  },
67
- ): Promise<
68
- MaybeLoaded<Resolved<CoRecordInstanceCoValuesMaybeLoaded<K, V>, R>>
69
- >;
67
+ ): Promise<Settled<Resolved<CoRecordInstanceCoValuesMaybeLoaded<K, V>, R>>>;
70
68
 
71
69
  unstable_merge<
72
70
  const R extends RefsToResolve<
@@ -119,9 +117,7 @@ export interface CoRecordSchema<
119
117
  unique: CoValueUniqueness["uniqueness"];
120
118
  owner: Account | Group;
121
119
  resolve?: RefsToResolveStrict<CoRecordInstanceCoValuesMaybeLoaded<K, V>, R>;
122
- }): Promise<
123
- MaybeLoaded<Resolved<CoRecordInstanceCoValuesMaybeLoaded<K, V>, R>>
124
- >;
120
+ }): Promise<Settled<Resolved<CoRecordInstanceCoValuesMaybeLoaded<K, V>, R>>>;
125
121
 
126
122
  loadUnique<
127
123
  const R extends RefsToResolve<
@@ -138,9 +134,7 @@ export interface CoRecordSchema<
138
134
  >;
139
135
  loadAs?: Account | AnonymousJazzAgent;
140
136
  },
141
- ): Promise<
142
- MaybeLoaded<Resolved<CoRecordInstanceCoValuesMaybeLoaded<K, V>, R>>
143
- >;
137
+ ): Promise<Settled<Resolved<CoRecordInstanceCoValuesMaybeLoaded<K, V>, R>>>;
144
138
 
145
139
  getCoValueClass: () => typeof CoMap;
146
140
 
@@ -3,7 +3,7 @@ import {
3
3
  AnonymousJazzAgent,
4
4
  FileStream,
5
5
  Group,
6
- MaybeLoaded,
6
+ Settled,
7
7
  coOptionalDefiner,
8
8
  unstable_mergeBranchWithResolve,
9
9
  } from "../../../internal.js";
@@ -82,7 +82,7 @@ export class FileStreamSchema implements CoreFileStreamSchema {
82
82
  load(
83
83
  id: string,
84
84
  options?: { loadAs?: Account | AnonymousJazzAgent },
85
- ): Promise<MaybeLoaded<FileStream>> {
85
+ ): Promise<Settled<FileStream>> {
86
86
  return this.coValueClass.load(id, options);
87
87
  }
88
88
 
@@ -6,7 +6,7 @@ import {
6
6
  } from "../../../coValues/interfaces.js";
7
7
  import {
8
8
  Account,
9
- MaybeLoaded,
9
+ Settled,
10
10
  RefsToResolve,
11
11
  RefsToResolveStrict,
12
12
  Resolved,
@@ -52,7 +52,7 @@ export class GroupSchema implements CoreGroupSchema {
52
52
  loadAs?: Account;
53
53
  resolve?: RefsToResolveStrict<Group, R>;
54
54
  },
55
- ): Promise<MaybeLoaded<Group>> {
55
+ ): Promise<Settled<Group>> {
56
56
  return Group.load(id, options);
57
57
  }
58
58
  createInvite<G extends Group>(
@@ -4,7 +4,7 @@ import {
4
4
  BranchDefinition,
5
5
  CoPlainText,
6
6
  Group,
7
- MaybeLoaded,
7
+ Settled,
8
8
  coOptionalDefiner,
9
9
  unstable_mergeBranchWithResolve,
10
10
  } from "../../../internal.js";
@@ -50,7 +50,7 @@ export class PlainTextSchema implements CorePlainTextSchema {
50
50
  loadAs: Account | AnonymousJazzAgent;
51
51
  unstable_branch?: BranchDefinition;
52
52
  },
53
- ): Promise<MaybeLoaded<CoPlainText>> {
53
+ ): Promise<Settled<CoPlainText>> {
54
54
  return this.coValueClass.load(id, options);
55
55
  }
56
56
 
@@ -3,7 +3,7 @@ import {
3
3
  BranchDefinition,
4
4
  CoRichText,
5
5
  Group,
6
- MaybeLoaded,
6
+ Settled,
7
7
  coOptionalDefiner,
8
8
  unstable_mergeBranchWithResolve,
9
9
  } from "../../../internal.js";
@@ -49,7 +49,7 @@ export class RichTextSchema implements CoreRichTextSchema {
49
49
  loadAs: Account | AnonymousJazzAgent;
50
50
  unstable_branch?: BranchDefinition;
51
51
  },
52
- ): Promise<MaybeLoaded<CoRichText>> {
52
+ ): Promise<Settled<CoRichText>> {
53
53
  return this.coValueClass.load(id, options);
54
54
  }
55
55
 
@@ -11,21 +11,24 @@ export class JazzError {
11
11
  ) {}
12
12
 
13
13
  toString() {
14
- return this.issues
14
+ // Build the main error message with inline stack info so it shows even if truncated
15
+ let result = this.issues
15
16
  .map((issue) => {
16
17
  let message = `${issue.message}`;
17
18
 
18
- if (this.id) {
19
- message += ` from ${this.id}`;
20
- }
21
-
22
19
  if (issue.path.length > 0) {
23
- message += ` on path ${issue.path.join(".")}`;
20
+ if (this.id) {
21
+ message += `. Subscription starts from ${this.id}`;
22
+ }
23
+
24
+ message += ` and the value is on path ${issue.path.join(".")}`;
24
25
  }
25
26
 
26
27
  return message;
27
28
  })
28
29
  .join("\n");
30
+
31
+ return result;
29
32
  }
30
33
 
31
34
  prependPath(item: string) {