@ekairos/domain 1.8.11-beta.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,45 +1,39 @@
1
1
  import { i } from "@instantdb/core";
2
- import type { EntitiesDef, LinksDef, RoomsDef, InstantSchemaDef } from "@instantdb/core";
2
+ import type { EntitiesDef, LinksDef, RoomsDef, InstantSchemaDef, EntityDef } from "@instantdb/core";
3
3
  export type DomainDefinition<E extends EntitiesDef, L extends LinksDef<E>, R extends RoomsDef> = {
4
4
  entities: E;
5
5
  links: L;
6
6
  rooms: R;
7
7
  };
8
8
  export type DomainInstance<E extends EntitiesDef, L extends LinksDef<E>, R extends RoomsDef> = DomainDefinition<E, L, R> & {
9
- schema: () => ReturnType<typeof i.schema>;
9
+ schema: () => any;
10
10
  compose: <E2 extends EntitiesDef, L2 extends LinksDef<E2>, R2 extends RoomsDef>(other: DomainInstance<E2, L2, R2> | DomainDefinition<E2, L2, R2>) => DomainInstance<E & E2, LinksDef<E & E2>, R & R2>;
11
11
  };
12
- export type SchemaOf<D extends DomainDefinition<any, any, any>> = InstantSchemaDef<D["entities"], LinksDef<D["entities"]>, D["rooms"]>;
12
+ export type SchemaOf<D extends DomainDefinition<any, any, any> | DomainSchemaResult<any, any, any>> = D extends DomainSchemaResult<any, any, any> ? ReturnType<D["toInstantSchema"]> : InstantSchemaDef<D["entities"], LinksDef<D["entities"]>, D["rooms"]>;
13
13
  type MergeEntities<A extends EntitiesDef, B extends EntitiesDef> = {
14
14
  [K in keyof A | keyof B]: K extends keyof A ? A[K] : K extends keyof B ? B[K] : never;
15
15
  };
16
- export type DomainSchemaResult<E extends EntitiesDef = EntitiesDef, L extends LinksDef<any> = LinksDef<any>, R extends RoomsDef = RoomsDef> = {
17
- entities: E;
18
- links: L;
19
- rooms: R;
20
- toInstantSchema: () => InstantSchemaWithDomain<any>;
16
+ type MergeLinks<A extends LinksDef<any>, B extends LinksDef<any>> = {
17
+ [K in keyof A | keyof B]: K extends keyof A ? A[K] : K extends keyof B ? B[K] : never;
21
18
  };
22
- export type InstantSchemaWithDomain<T> = T & {
23
- entities: EntitiesDef;
24
- links: Record<string, any>;
25
- rooms: RoomsDef;
26
- withRoomSchema: any;
19
+ export type DomainSchemaResult<E extends EntitiesDef = EntitiesDef, L extends LinksDef<any> = LinksDef<any>, R extends RoomsDef = RoomsDef> = ReturnType<typeof i.schema<WithBase<E>, L, R>> & {
20
+ readonly originalEntities: E;
21
+ toInstantSchema: () => ReturnType<typeof i.schema<WithBase<E>, L, R>>;
27
22
  };
28
- type AnyEntityDef = EntitiesDef[string];
29
23
  type BaseEntitiesPhantom = {
30
- $users: AnyEntityDef;
31
- $files: AnyEntityDef;
24
+ $users: EntityDef<any, any, any>;
25
+ $files: EntityDef<any, any, any>;
32
26
  };
33
27
  type WithBase<E extends EntitiesDef> = MergeEntities<E, BaseEntitiesPhantom>;
34
- export type DomainBuilder<AccumE extends EntitiesDef> = {
35
- includes: <E2 extends EntitiesDef>(other: DomainInstance<E2, any, any> | DomainSchemaResult<E2, any, any> | InstantSchemaDef<E2, any, any> | (() => DomainInstance<E2, any, any> | DomainSchemaResult<E2, any, any> | InstantSchemaDef<E2, any, any>) | undefined) => DomainBuilder<MergeEntities<AccumE, E2>>;
36
- schema: <LE extends EntitiesDef>(def: {
28
+ export type DomainBuilder<AccumE extends EntitiesDef, AccumL extends LinksDef<any> = LinksDef<any>> = {
29
+ includes<E2 extends EntitiesDef, L2 extends LinksDef<any> = {}>(other: DomainInstance<E2, L2, any> | DomainSchemaResult<E2, L2, any> | InstantSchemaDef<E2, L2, any> | (() => DomainInstance<E2, L2, any> | DomainSchemaResult<E2, L2, any> | InstantSchemaDef<E2, L2, any>) | undefined): DomainBuilder<MergeEntities<AccumE, E2>, MergeLinks<AccumL, L2>>;
30
+ schema<LE extends EntitiesDef, const LL extends LinksDef<WithBase<MergeEntities<AccumE, LE>>>>(def: {
37
31
  entities: LE;
38
- links: LinksDef<WithBase<MergeEntities<AccumE, LE>>>;
32
+ links: LL;
39
33
  rooms: RoomsDef;
40
- }) => DomainSchemaResult<MergeEntities<AccumE, LE>, LinksDef<MergeEntities<AccumE, LE>>, RoomsDef>;
34
+ }): DomainSchemaResult<MergeEntities<AccumE, LE>, MergeLinks<AccumL, LL>, RoomsDef>;
41
35
  };
42
36
  export declare function domain<E extends EntitiesDef, L extends LinksDef<E>, R extends RoomsDef>(def: DomainDefinition<E, L, R>): DomainInstance<E, L, R>;
43
- export declare function domain(name?: string): DomainBuilder<{}>;
37
+ export declare function domain(name?: string): DomainBuilder<{}, {}>;
44
38
  export {};
45
39
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKpG,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,IAAI;IAC/F,QAAQ,EAAE,CAAC,CAAC;IACZ,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IACzH,MAAM,EAAE,MAAM,GAAG,CAAC;IAClB,OAAO,EAAE,CAAC,EAAE,SAAS,WAAW,EAAE,EAAE,SAAS,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,QAAQ,EAC5E,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAC7D,cAAc,CAAC,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAChG,CAAC,SAAS,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACvC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,GAChC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAQ3E,KAAK,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,WAAW,IAAI;KAChE,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GACvC,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACZ,CAAC;AAGF,KAAK,UAAU,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,IAAI;KACjE,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GACvC,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACZ,CAAC;AAoBF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,QAAQ,GAAG,QAAQ,IACxI,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;IAG/C,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAE7B,eAAe,EAAE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAKJ,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CAClC,CAAC;AACF,KAAK,QAAQ,CAAC,CAAC,SAAS,WAAW,IAAI,aAAa,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;AAQ7E,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,WAAW,EAAE,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI;IAEpG,QAAQ,CACN,EAAE,SAAS,WAAW,EACtB,EAAE,SAAS,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAE7B,KAAK,EACD,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAC3B,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAC/B,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAC7B,CAAC,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,GACrG,SAAS,GACZ,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IAMpE,MAAM,CAAC,EAAE,SAAS,WAAW,EAAE,KAAK,CAAC,EAAE,SAAS,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE;QAClG,QAAQ,EAAE,EAAE,CAAC;QACb,KAAK,EAAE,EAAE,CAAC;QACV,KAAK,EAAE,QAAQ,CAAC;KACjB,GAAG,kBAAkB,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;CACrF,CAAC;AA0CF,wBAAgB,MAAM,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,EACrF,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7B,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAG3B,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC"}
package/dist/index.js CHANGED
@@ -40,9 +40,10 @@ function domain(arg) {
40
40
  }
41
41
  // builder API - runtime state tracks accumulated dependencies
42
42
  // Support lazy includes for circular dependencies by storing references and resolving at schema()/toInstantSchema() time
43
- function createBuilder(deps, lazyIncludes = []) {
43
+ // AL preserves literal link keys from included domains
44
+ function createBuilder(deps, linkDeps, lazyIncludes = []) {
44
45
  return {
45
- includes: (other) => {
46
+ includes(other) {
46
47
  // Support lazy includes via function for circular dependencies
47
48
  if (typeof other === 'function') {
48
49
  const lazyGetter = () => {
@@ -53,7 +54,8 @@ function domain(arg) {
53
54
  return undefined;
54
55
  }
55
56
  };
56
- return createBuilder(deps, [...lazyIncludes, lazyGetter]);
57
+ // Preserve link literal keys using MergeLinks
58
+ return createBuilder(deps, linkDeps, [...lazyIncludes, lazyGetter]);
57
59
  }
58
60
  // If other is undefined (circular dependency), store a lazy getter
59
61
  // Entities will be resolved from app domain composition at toInstantSchema() time
@@ -61,30 +63,37 @@ function domain(arg) {
61
63
  // Create a lazy getter that returns undefined
62
64
  // Entities will be available from app domain's merged entities when toInstantSchema() is called
63
65
  const lazyGetter = () => undefined;
64
- // Store as lazy - entities will be available from app domain's merged entities
65
- return createBuilder(deps, [...lazyIncludes, lazyGetter]);
66
+ // Preserve link literal keys
67
+ return createBuilder(deps, linkDeps, [...lazyIncludes, lazyGetter]);
66
68
  }
67
- // Try to get entities immediately
69
+ // Try to get entities and links immediately
68
70
  try {
69
71
  const entities = other.entities;
70
72
  if (!entities) {
71
73
  // If entities don't exist yet, store as lazy
72
74
  const lazyGetter = () => other;
73
- return createBuilder(deps, [...lazyIncludes, lazyGetter]);
75
+ // Preserve link literal keys
76
+ return createBuilder(deps, linkDeps, [...lazyIncludes, lazyGetter]);
74
77
  }
75
- const merged = { ...deps, ...entities };
76
- return createBuilder(merged, lazyIncludes);
78
+ const links = other.links;
79
+ const mergedEntities = { ...deps, ...entities };
80
+ // Preserve literal link keys by merging directly (not casting to LinksDef)
81
+ const mergedLinks = (links ? { ...linkDeps, ...links } : { ...linkDeps });
82
+ return createBuilder(mergedEntities, mergedLinks, lazyIncludes);
77
83
  }
78
84
  catch (e) {
79
85
  // If accessing entities throws, store as lazy
80
86
  const lazyGetter = () => other;
81
- return createBuilder(deps, [...lazyIncludes, lazyGetter]);
87
+ // Preserve link literal keys
88
+ return createBuilder(deps, linkDeps, [...lazyIncludes, lazyGetter]);
82
89
  }
83
90
  },
84
- schema: (def) => {
91
+ schema(def) {
85
92
  // Resolve lazy includes at schema() time (when all domains should be initialized)
86
93
  // This handles circular dependencies by deferring entity resolution
87
94
  let resolvedDeps = { ...deps };
95
+ // Preserve literal link keys from accumulated links
96
+ let resolvedLinks = { ...linkDeps };
88
97
  for (const lazyGetter of lazyIncludes) {
89
98
  try {
90
99
  const other = lazyGetter();
@@ -93,6 +102,11 @@ function domain(arg) {
93
102
  if (entities) {
94
103
  resolvedDeps = { ...resolvedDeps, ...entities };
95
104
  }
105
+ const links = other.links;
106
+ if (links) {
107
+ // Merge links preserving literal keys
108
+ resolvedLinks = { ...resolvedLinks, ...links };
109
+ }
96
110
  }
97
111
  }
98
112
  catch (e) {
@@ -102,55 +116,88 @@ function domain(arg) {
102
116
  }
103
117
  // Runtime merge for output; compile-time validation handled by types above
104
118
  const allEntities = { ...resolvedDeps, ...def.entities };
119
+ // allLinks contains merged links from included domains + current domain
120
+ // Preserve literal link keys (owner, related, parent, etc.) by using MergeLinks
121
+ const allLinks = { ...resolvedLinks, ...def.links };
105
122
  return {
106
123
  entities: allEntities,
107
124
  // Strip base phantom from public type so it's assignable to i.schema()
108
- links: def.links,
125
+ links: allLinks,
109
126
  rooms: def.rooms,
110
- toInstantSchema: () => {
111
- const { i } = require("@instantdb/core");
112
- // Final resolution: allEntities already contains merged entities from all includes()
113
- // For app domain, this includes all domains, so all entities are available
114
- // Resolve any remaining lazy includes that couldn't be resolved at schema() time
115
- let finalEntities = { ...allEntities };
116
- // Try to resolve lazy includes one more time (domains should be initialized by now)
117
- for (const lazyGetter of lazyIncludes) {
118
- try {
119
- const other = lazyGetter();
120
- if (other) {
121
- const entities = other.entities;
122
- if (entities) {
123
- // Merge entities that weren't available during schema() call
124
- finalEntities = { ...finalEntities, ...entities };
127
+ // Add originalEntities for type-safe access to original entity definitions
128
+ originalEntities: allEntities,
129
+ toInstantSchema: (() => {
130
+ // Capture allEntities and allLinks in closure to avoid TypeScript scoping issues
131
+ const capturedEntities = allEntities;
132
+ const capturedLinks = allLinks;
133
+ return () => {
134
+ const { i } = require("@instantdb/core");
135
+ // Final resolution: capturedEntities contains merged entities from all includes()
136
+ // For app domain, this includes all domains, so all entities are available
137
+ // Resolve any remaining lazy includes that couldn't be resolved at schema() time
138
+ let finalEntities = { ...capturedEntities };
139
+ // Preserve literal link keys from capturedLinks
140
+ let finalLinks = { ...capturedLinks };
141
+ // Try to resolve lazy includes one more time (domains should be initialized by now)
142
+ for (const lazyGetter of lazyIncludes) {
143
+ try {
144
+ const other = lazyGetter();
145
+ if (other) {
146
+ const entities = other.entities;
147
+ if (entities) {
148
+ // Merge entities that weren't available during schema() call
149
+ finalEntities = { ...finalEntities, ...entities };
150
+ }
151
+ const links = other.links;
152
+ if (links) {
153
+ // Merge links preserving literal keys (owner, related, parent, etc.)
154
+ finalLinks = { ...finalLinks, ...links };
155
+ }
125
156
  }
126
157
  }
158
+ catch (e) {
159
+ // If still can't resolve, entities should already be in allEntities from app domain composition
160
+ }
127
161
  }
128
- catch (e) {
129
- // If still can't resolve, entities should already be in allEntities from app domain composition
130
- }
131
- }
132
- // Filter out system entities - InstantDB manages $files and $users automatically
133
- const userEntities = { ...finalEntities };
134
- delete userEntities.$files;
135
- delete userEntities.$users;
136
- return i.schema({
137
- entities: userEntities,
138
- links: def.links,
139
- rooms: def.rooms,
140
- });
141
- },
162
+ // Include base entities ($users, $files) that InstantDB manages
163
+ // These need to be explicitly included since InstantDB doesn't auto-add them
164
+ const baseEntities = {
165
+ $users: i.entity({
166
+ email: i.string().optional().indexed(),
167
+ }),
168
+ $files: i.entity({
169
+ path: i.string(),
170
+ url: i.string().optional(),
171
+ contentType: i.string().optional(),
172
+ size: i.number().optional(),
173
+ }),
174
+ };
175
+ // Merge base entities with user entities, user entities take precedence
176
+ const allEntitiesWithBase = { ...baseEntities, ...finalEntities };
177
+ // Create schema with merged links - preserve literal link keys
178
+ // The actual links object has literal keys (owner, related, parent, etc.)
179
+ // that need to be preserved for query validation
180
+ const schemaResult = i.schema({
181
+ entities: allEntitiesWithBase,
182
+ links: finalLinks,
183
+ rooms: def.rooms,
184
+ });
185
+ // Return schema result - i.schema() enriches entities with link labels automatically
186
+ // The type system should preserve this enrichment through the return type of toInstantSchema()
187
+ // which uses ReturnType<typeof i.schema<WithBase<E>, L, R>> where L is MergeLinks<AL, LL>
188
+ // This preserves both the enriched entities and the literal link keys
189
+ return schemaResult;
190
+ };
191
+ })(),
142
192
  };
143
193
  },
144
194
  };
145
195
  }
146
196
  // Default include: start with an empty entities object
147
- // InstantDB automatically adds $files and $users as system entities, so we don't need to include them
148
- // Filtering out system entities to avoid conflicts with InstantDB's managed entities
197
+ // Base entities ($users, $files) are added at toInstantSchema() time to ensure they're always available
198
+ // This allows links to reference them even when they're not explicitly defined in domains
149
199
  const base = core_1.i.schema({ entities: {}, links: {}, rooms: {} });
150
200
  const baseEntities = { ...base.entities };
151
- // Remove system entities - InstantDB manages these automatically
152
- delete baseEntities.$files;
153
- delete baseEntities.$users;
154
- return createBuilder(baseEntities);
201
+ return createBuilder(baseEntities, {});
155
202
  }
156
203
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ekairos/domain",
3
- "version": "1.8.11-beta.0",
3
+ "version": "1.9.0",
4
4
  "description": "Pulzar Domain Utilities",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
@@ -33,7 +33,7 @@
33
33
  "test:conflicts": "node dist/__type_tests__/conflict-validation.test.js"
34
34
  },
35
35
  "dependencies": {
36
- "@instantdb/core": "^0.20.21"
36
+ "@instantdb/core": "^0.22.48"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@ekairos/tsconfig": "workspace:*",