@dxos/echo-query 0.8.4-main.74a063c4e0 → 0.8.4-main.765dc60934

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.
@@ -8034,7 +8034,7 @@ declare const FilterObject_: Struct<{
8034
8034
  * Filter by property.
8035
8035
  * Must not include object ID.
8036
8036
  */
8037
- props: Record$<SchemaClass<string, string, never>, suspend<FilterObject | FilterCompare | FilterIn | FilterContains | FilterTag | FilterRange | FilterTimestamp | FilterTextSearch | FilterNot | FilterAnd | FilterOr, FilterObject | FilterCompare | FilterIn | FilterContains | FilterTag | FilterRange | FilterTimestamp | FilterTextSearch | FilterNot | FilterAnd | FilterOr, never>>;
8037
+ props: Record$<SchemaClass<string, string, never>, suspend<FilterAnd | FilterChildOf | FilterCompare | FilterContains | FilterIn | FilterNot | FilterObject | FilterOr | FilterRange | FilterTag | FilterTextSearch | FilterTimestamp, FilterAnd | FilterChildOf | FilterCompare | FilterContains | FilterIn | FilterNot | FilterObject | FilterOr | FilterRange | FilterTag | FilterTextSearch | FilterTimestamp, never>>;
8038
8038
  /**
8039
8039
  * Objects that have any of the given foreign keys.
8040
8040
  */
@@ -8045,6 +8045,15 @@ declare const FilterObject_: Struct<{
8045
8045
  readonly source: string;
8046
8046
  readonly id: string;
8047
8047
  }, never>>>;
8048
+ /**
8049
+ * Match objects whose meta `key` equals this fully-qualified registry key (FQN format).
8050
+ */
8051
+ metaKey: optional<typeof String$>;
8052
+ /**
8053
+ * Semver range matched against the object's meta `version`.
8054
+ * Only consulted when {@link metaKey} is set. Objects with no `version` do not satisfy a version-constrained filter.
8055
+ */
8056
+ metaVersion: optional<typeof String$>;
8048
8057
  }>;
8049
8058
  interface FilterObject extends Schema.Type<typeof FilterObject_> {}
8050
8059
  declare const FilterObject: Schema<FilterObject>;
@@ -8126,7 +8135,7 @@ declare const FilterTextSearch: Schema<FilterTextSearch>;
8126
8135
  */
8127
8136
  declare const FilterNot_: Struct<{
8128
8137
  type: Literal<["not"]>;
8129
- filter: suspend<FilterObject | FilterCompare | FilterIn | FilterContains | FilterTag | FilterRange | FilterTimestamp | FilterTextSearch | FilterNot | FilterAnd | FilterOr, FilterObject | FilterCompare | FilterIn | FilterContains | FilterTag | FilterRange | FilterTimestamp | FilterTextSearch | FilterNot | FilterAnd | FilterOr, never>;
8138
+ filter: suspend<FilterAnd | FilterChildOf | FilterCompare | FilterContains | FilterIn | FilterNot | FilterObject | FilterOr | FilterRange | FilterTag | FilterTextSearch | FilterTimestamp, FilterAnd | FilterChildOf | FilterCompare | FilterContains | FilterIn | FilterNot | FilterObject | FilterOr | FilterRange | FilterTag | FilterTextSearch | FilterTimestamp, never>;
8130
8139
  }>;
8131
8140
  interface FilterNot extends Schema.Type<typeof FilterNot_> {}
8132
8141
  declare const FilterNot: Schema<FilterNot>;
@@ -8135,7 +8144,7 @@ declare const FilterNot: Schema<FilterNot>;
8135
8144
  */
8136
8145
  declare const FilterAnd_: Struct<{
8137
8146
  type: Literal<["and"]>;
8138
- filters: Array$<suspend<FilterObject | FilterCompare | FilterIn | FilterContains | FilterTag | FilterRange | FilterTimestamp | FilterTextSearch | FilterNot | FilterAnd | FilterOr, FilterObject | FilterCompare | FilterIn | FilterContains | FilterTag | FilterRange | FilterTimestamp | FilterTextSearch | FilterNot | FilterAnd | FilterOr, never>>;
8147
+ filters: Array$<suspend<FilterAnd | FilterChildOf | FilterCompare | FilterContains | FilterIn | FilterNot | FilterObject | FilterOr | FilterRange | FilterTag | FilterTextSearch | FilterTimestamp, FilterAnd | FilterChildOf | FilterCompare | FilterContains | FilterIn | FilterNot | FilterObject | FilterOr | FilterRange | FilterTag | FilterTextSearch | FilterTimestamp, never>>;
8139
8148
  }>;
8140
8149
  interface FilterAnd extends Schema.Type<typeof FilterAnd_> {}
8141
8150
  declare const FilterAnd: Schema<FilterAnd>;
@@ -8144,21 +8153,34 @@ declare const FilterAnd: Schema<FilterAnd>;
8144
8153
  */
8145
8154
  declare const FilterOr_: Struct<{
8146
8155
  type: Literal<["or"]>;
8147
- filters: Array$<suspend<FilterObject | FilterCompare | FilterIn | FilterContains | FilterTag | FilterRange | FilterTimestamp | FilterTextSearch | FilterNot | FilterAnd | FilterOr, FilterObject | FilterCompare | FilterIn | FilterContains | FilterTag | FilterRange | FilterTimestamp | FilterTextSearch | FilterNot | FilterAnd | FilterOr, never>>;
8156
+ filters: Array$<suspend<FilterAnd | FilterChildOf | FilterCompare | FilterContains | FilterIn | FilterNot | FilterObject | FilterOr | FilterRange | FilterTag | FilterTextSearch | FilterTimestamp, FilterAnd | FilterChildOf | FilterCompare | FilterContains | FilterIn | FilterNot | FilterObject | FilterOr | FilterRange | FilterTag | FilterTextSearch | FilterTimestamp, never>>;
8148
8157
  }>;
8149
8158
  interface FilterOr extends Schema.Type<typeof FilterOr_> {}
8150
8159
  declare const FilterOr: Schema<FilterOr>;
8160
+ /**
8161
+ * Filter objects that are children of the specified parents.
8162
+ * With transitive=true (default), matches grandchildren and beyond.
8163
+ */
8164
+ declare const FilterChildOf_: Struct<{
8165
+ type: Literal<["child-of"]>;
8166
+ /** Parent DXNs to match children of. */
8167
+ parents: Array$<refine<string, typeof NonEmptyString>>;
8168
+ /** Whether to match transitively (grandchildren, etc.). Defaults to true. */
8169
+ transitive: typeof Boolean$;
8170
+ }>;
8171
+ interface FilterChildOf extends Schema.Type<typeof FilterChildOf_> {}
8172
+ declare const FilterChildOf: Schema<FilterChildOf>;
8151
8173
  /**
8152
8174
  * Union of filters.
8153
8175
  */
8154
- declare const Filter$1: Union<[Schema<FilterObject, FilterObject, never>, Schema<FilterCompare, FilterCompare, never>, Schema<FilterIn, FilterIn, never>, Schema<FilterContains, FilterContains, never>, Schema<FilterTag, FilterTag, never>, Schema<FilterRange, FilterRange, never>, Schema<FilterTimestamp, FilterTimestamp, never>, Schema<FilterTextSearch, FilterTextSearch, never>, Schema<FilterNot, FilterNot, never>, Schema<FilterAnd, FilterAnd, never>, Schema<FilterOr, FilterOr, never>]>;
8176
+ declare const Filter$1: Union<[Schema<FilterObject, FilterObject, never>, Schema<FilterCompare, FilterCompare, never>, Schema<FilterIn, FilterIn, never>, Schema<FilterContains, FilterContains, never>, Schema<FilterTag, FilterTag, never>, Schema<FilterRange, FilterRange, never>, Schema<FilterTimestamp, FilterTimestamp, never>, Schema<FilterTextSearch, FilterTextSearch, never>, Schema<FilterChildOf, FilterChildOf, never>, Schema<FilterNot, FilterNot, never>, Schema<FilterAnd, FilterAnd, never>, Schema<FilterOr, FilterOr, never>]>;
8155
8177
  type Filter$1 = Schema.Type<typeof Filter$1>;
8156
8178
  /**
8157
8179
  * Query objects by type, id, and/or predicates.
8158
8180
  */
8159
8181
  declare const QuerySelectClause_: Struct<{
8160
8182
  type: Literal<["select"]>;
8161
- filter: suspend<FilterObject | FilterCompare | FilterIn | FilterContains | FilterTag | FilterRange | FilterTimestamp | FilterTextSearch | FilterNot | FilterAnd | FilterOr, FilterObject | FilterCompare | FilterIn | FilterContains | FilterTag | FilterRange | FilterTimestamp | FilterTextSearch | FilterNot | FilterAnd | FilterOr, never>;
8183
+ filter: suspend<FilterAnd | FilterChildOf | FilterCompare | FilterContains | FilterIn | FilterNot | FilterObject | FilterOr | FilterRange | FilterTag | FilterTextSearch | FilterTimestamp, FilterAnd | FilterChildOf | FilterCompare | FilterContains | FilterIn | FilterNot | FilterObject | FilterOr | FilterRange | FilterTag | FilterTextSearch | FilterTimestamp, never>;
8162
8184
  }>;
8163
8185
  interface QuerySelectClause extends Schema.Type<typeof QuerySelectClause_> {}
8164
8186
  declare const QuerySelectClause: Schema<QuerySelectClause>;
@@ -8167,8 +8189,8 @@ declare const QuerySelectClause: Schema<QuerySelectClause>;
8167
8189
  */
8168
8190
  declare const QueryFilterClause_: Struct<{
8169
8191
  type: Literal<["filter"]>;
8170
- selection: suspend<QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, never>;
8171
- filter: suspend<FilterObject | FilterCompare | FilterIn | FilterContains | FilterTag | FilterRange | FilterTimestamp | FilterTextSearch | FilterNot | FilterAnd | FilterOr, FilterObject | FilterCompare | FilterIn | FilterContains | FilterTag | FilterRange | FilterTimestamp | FilterTextSearch | FilterNot | FilterAnd | FilterOr, never>;
8192
+ selection: suspend<QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, never>;
8193
+ filter: suspend<FilterAnd | FilterChildOf | FilterCompare | FilterContains | FilterIn | FilterNot | FilterObject | FilterOr | FilterRange | FilterTag | FilterTextSearch | FilterTimestamp, FilterAnd | FilterChildOf | FilterCompare | FilterContains | FilterIn | FilterNot | FilterObject | FilterOr | FilterRange | FilterTag | FilterTextSearch | FilterTimestamp, never>;
8172
8194
  }>;
8173
8195
  interface QueryFilterClause extends Schema.Type<typeof QueryFilterClause_> {}
8174
8196
  declare const QueryFilterClause: Schema<QueryFilterClause>;
@@ -8177,7 +8199,7 @@ declare const QueryFilterClause: Schema<QueryFilterClause>;
8177
8199
  */
8178
8200
  declare const QueryReferenceTraversalClause_: Struct<{
8179
8201
  type: Literal<["reference-traversal"]>;
8180
- anchor: suspend<QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, never>;
8202
+ anchor: suspend<QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, never>;
8181
8203
  property: typeof String$;
8182
8204
  }>;
8183
8205
  interface QueryReferenceTraversalClause extends Schema.Type<typeof QueryReferenceTraversalClause_> {}
@@ -8187,7 +8209,7 @@ declare const QueryReferenceTraversalClause: Schema<QueryReferenceTraversalClaus
8187
8209
  */
8188
8210
  declare const QueryIncomingReferencesClause_: Struct<{
8189
8211
  type: Literal<["incoming-references"]>;
8190
- anchor: suspend<QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, never>;
8212
+ anchor: suspend<QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, never>;
8191
8213
  /**
8192
8214
  * Property path where the reference is located.
8193
8215
  * If null, matches references from any property.
@@ -8202,14 +8224,14 @@ declare const QueryIncomingReferencesClause: Schema<QueryIncomingReferencesClaus
8202
8224
  */
8203
8225
  declare const QueryRelationClause_: Struct<{
8204
8226
  type: Literal<["relation"]>;
8205
- anchor: suspend<QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, never>;
8227
+ anchor: suspend<QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, never>;
8206
8228
  /**
8207
8229
  * outgoing: anchor is the source of the relation.
8208
8230
  * incoming: anchor is the target of the relation.
8209
8231
  * both: anchor is either the source or target of the relation.
8210
8232
  */
8211
8233
  direction: Literal<["outgoing", "incoming", "both"]>;
8212
- filter: optional<suspend<FilterObject | FilterCompare | FilterIn | FilterContains | FilterTag | FilterRange | FilterTimestamp | FilterTextSearch | FilterNot | FilterAnd | FilterOr, FilterObject | FilterCompare | FilterIn | FilterContains | FilterTag | FilterRange | FilterTimestamp | FilterTextSearch | FilterNot | FilterAnd | FilterOr, never>>;
8234
+ filter: optional<suspend<FilterAnd | FilterChildOf | FilterCompare | FilterContains | FilterIn | FilterNot | FilterObject | FilterOr | FilterRange | FilterTag | FilterTextSearch | FilterTimestamp, FilterAnd | FilterChildOf | FilterCompare | FilterContains | FilterIn | FilterNot | FilterObject | FilterOr | FilterRange | FilterTag | FilterTextSearch | FilterTimestamp, never>>;
8213
8235
  }>;
8214
8236
  interface QueryRelationClause extends Schema.Type<typeof QueryRelationClause_> {}
8215
8237
  declare const QueryRelationClause: Schema<QueryRelationClause>;
@@ -8218,7 +8240,7 @@ declare const QueryRelationClause: Schema<QueryRelationClause>;
8218
8240
  */
8219
8241
  declare const QueryRelationTraversalClause_: Struct<{
8220
8242
  type: Literal<["relation-traversal"]>;
8221
- anchor: suspend<QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, never>;
8243
+ anchor: suspend<QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, never>;
8222
8244
  direction: Literal<["source", "target", "both"]>;
8223
8245
  }>;
8224
8246
  interface QueryRelationTraversalClause extends Schema.Type<typeof QueryRelationTraversalClause_> {}
@@ -8228,7 +8250,7 @@ declare const QueryRelationTraversalClause: Schema<QueryRelationTraversalClause>
8228
8250
  */
8229
8251
  declare const QueryHierarchyTraversalClause_: Struct<{
8230
8252
  type: Literal<["hierarchy-traversal"]>;
8231
- anchor: suspend<QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, never>;
8253
+ anchor: suspend<QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, never>;
8232
8254
  /**
8233
8255
  * to-parent: traverse from child to parent.
8234
8256
  * to-children: traverse from parent to children.
@@ -8242,7 +8264,7 @@ declare const QueryHierarchyTraversalClause: Schema<QueryHierarchyTraversalClaus
8242
8264
  */
8243
8265
  declare const QueryUnionClause_: Struct<{
8244
8266
  type: Literal<["union"]>;
8245
- queries: Array$<suspend<QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, never>>;
8267
+ queries: Array$<suspend<QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, never>>;
8246
8268
  }>;
8247
8269
  interface QueryUnionClause extends Schema.Type<typeof QueryUnionClause_> {}
8248
8270
  declare const QueryUnionClause: Schema<QueryUnionClause>;
@@ -8251,8 +8273,8 @@ declare const QueryUnionClause: Schema<QueryUnionClause>;
8251
8273
  */
8252
8274
  declare const QuerySetDifferenceClause_: Struct<{
8253
8275
  type: Literal<["set-difference"]>;
8254
- source: suspend<QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, never>;
8255
- exclude: suspend<QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, never>;
8276
+ source: suspend<QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, never>;
8277
+ exclude: suspend<QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, never>;
8256
8278
  }>;
8257
8279
  interface QuerySetDifferenceClause extends Schema.Type<typeof QuerySetDifferenceClause_> {}
8258
8280
  declare const QuerySetDifferenceClause: Schema<QuerySetDifferenceClause>;
@@ -8276,7 +8298,7 @@ declare const Order$1: Schema<Order$1>;
8276
8298
  */
8277
8299
  declare const QueryOrderClause_: Struct<{
8278
8300
  type: Literal<["order"]>;
8279
- query: suspend<QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, never>;
8301
+ query: suspend<QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, never>;
8280
8302
  order: Array$<Schema<{
8281
8303
  readonly kind: "natural";
8282
8304
  } | {
@@ -8304,11 +8326,13 @@ declare const QueryOrderClause: Schema<QueryOrderClause>;
8304
8326
  */
8305
8327
  declare const QueryOptionsClause_: Struct<{
8306
8328
  type: Literal<["options"]>;
8307
- query: suspend<QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, never>;
8329
+ query: suspend<QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, never>;
8308
8330
  options: suspend<{
8309
- readonly deleted?: "include" | "exclude" | "only" | undefined;
8331
+ readonly deleted?: "exclude" | "include" | "only" | undefined;
8332
+ readonly debugLabel?: string | undefined;
8310
8333
  }, {
8311
- readonly deleted?: "include" | "exclude" | "only" | undefined;
8334
+ readonly debugLabel?: string | undefined;
8335
+ readonly deleted?: "exclude" | "include" | "only" | undefined;
8312
8336
  }, never>;
8313
8337
  }>;
8314
8338
  interface QueryOptionsClause extends Schema.Type<typeof QueryOptionsClause_> {}
@@ -8318,26 +8342,26 @@ declare const QueryOptionsClause: Schema<QueryOptionsClause>;
8318
8342
  */
8319
8343
  declare const QueryLimitClause_: Struct<{
8320
8344
  type: Literal<["limit"]>;
8321
- query: suspend<QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, never>;
8345
+ query: suspend<QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, never>;
8322
8346
  limit: typeof Number$;
8323
8347
  }>;
8324
8348
  interface QueryLimitClause extends Schema.Type<typeof QueryLimitClause_> {}
8325
8349
  declare const QueryLimitClause: Schema<QueryLimitClause>;
8326
8350
  declare const QueryFromClause_: Struct<{
8327
8351
  type: Literal<["from"]>;
8328
- query: suspend<QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, never>;
8352
+ query: suspend<QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, never>;
8329
8353
  from: Union<[TaggedStruct<"scope", {
8330
8354
  scope: suspend<{
8331
8355
  readonly spaceIds?: readonly string[] | undefined;
8332
- readonly allQueuesFromSpaces?: boolean | undefined;
8333
- readonly queues?: readonly string[] | undefined;
8356
+ readonly allFeedsFromSpaces?: boolean | undefined;
8357
+ readonly feeds?: readonly string[] | undefined;
8334
8358
  }, {
8359
+ readonly allFeedsFromSpaces?: boolean | undefined;
8360
+ readonly feeds?: readonly string[] | undefined;
8335
8361
  readonly spaceIds?: readonly string[] | undefined;
8336
- readonly allQueuesFromSpaces?: boolean | undefined;
8337
- readonly queues?: readonly string[] | undefined;
8338
8362
  }, never>;
8339
8363
  }>, TaggedStruct<"query", {
8340
- query: suspend<QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause, never>;
8364
+ query: suspend<QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause, never>;
8341
8365
  }>]>;
8342
8366
  }>;
8343
8367
  interface QueryFromClause extends Schema.Type<typeof QueryFromClause_> {}
@@ -8350,6 +8374,10 @@ declare const QueryOptions: Struct<{
8350
8374
  * Nested select statements will use this option to filter deleted objects.
8351
8375
  */
8352
8376
  deleted: optional<Literal<["include", "exclude", "only"]>>;
8377
+ /**
8378
+ * Diagnostics-only label for logs / tooling (not used by execution semantics).
8379
+ */
8380
+ debugLabel: optional<typeof String$>;
8353
8381
  }>;
8354
8382
  interface QueryOptions extends Schema.Type<typeof QueryOptions> {}
8355
8383
  /**
@@ -8359,19 +8387,19 @@ declare const Scope: Struct<{
8359
8387
  /**
8360
8388
  * The nested select statemets will select from the given spaces.
8361
8389
  *
8362
- * NOTE: Spaces and queues are unioned together if both are specified.
8390
+ * NOTE: Spaces and feeds are unioned together if both are specified.
8363
8391
  */
8364
8392
  spaceIds: optional<Array$<typeof String$>>;
8365
8393
  /**
8366
- * If true, the nested select statements will select from all queues in the spaces specified by `spaceIds`.
8394
+ * If true, the nested select statements will select from all feeds in the spaces specified by `spaceIds`.
8367
8395
  */
8368
- allQueuesFromSpaces: optional<typeof Boolean$>;
8396
+ allFeedsFromSpaces: optional<typeof Boolean$>;
8369
8397
  /**
8370
- * The nested select statemets will select from the given queues.
8398
+ * The nested select statemets will select from the given feeds (by underlying queue DXN).
8371
8399
  *
8372
- * NOTE: Spaces and queues are unioned together if both are specified.
8400
+ * NOTE: Spaces and feeds are unioned together if both are specified.
8373
8401
  */
8374
- queues: optional<Array$<refine<string, typeof NonEmptyString>>>;
8402
+ feeds: optional<Array$<refine<string, typeof NonEmptyString>>>;
8375
8403
  }>;
8376
8404
  interface Scope extends Schema.Type<typeof Scope> {}
8377
8405
  //#endregion
@@ -8421,137 +8449,6 @@ interface EchoTypeSchema<Self extends Schema.Any, ExtraFields = {}, K$1 extends
8421
8449
  readonly fields: Fields;
8422
8450
  instanceOf(value: unknown): boolean;
8423
8451
  }
8424
- declare namespace Filter_d_exports {
8425
- export { Any$3 as Any, Filter, Props, TextSearchOptions, Type$2 as Type, and, between, contains, created, eq, everything, foreignKeys, fromAst$1 as fromAst, gt, gte, id, in$ as in, is$1 as is, lt, lte, neq, not, nothing, or, pretty$1 as pretty, props, tag, text, type$2 as type, typeDXN, typename$1 as typename, updated };
8426
- }
8427
- interface Filter<T$1> {
8428
- '~Filter': {
8429
- value: Covariant<T$1>;
8430
- };
8431
- ast: Filter$1;
8432
- }
8433
- type Props<T$1> = { [K in keyof T$1 & string]?: Filter<T$1[K]> | T$1[K] };
8434
- type Any$3 = Filter<any>;
8435
- type Type$2<F extends Any$3> = F extends Filter<infer T> ? T : never;
8436
- declare class FilterClass implements Any$3 {
8437
- readonly ast: Filter$1;
8438
- private static 'variance';
8439
- constructor(ast: Filter$1);
8440
- '~Filter': {
8441
- value: Covariant<any>;
8442
- };
8443
- }
8444
- declare const is$1: (value: unknown) => value is Any$3;
8445
- /** Construct a filter from an ast. */
8446
- declare const fromAst$1: (ast: Filter$1) => Any$3;
8447
- /**
8448
- * Filter that matches all objects.
8449
- */
8450
- declare const everything: () => FilterClass;
8451
- /**
8452
- * Filter that matches no objects.
8453
- */
8454
- declare const nothing: () => FilterClass;
8455
- declare const id: (...ids: ObjectId[]) => Any$3;
8456
- /**
8457
- * Filter by type.
8458
- */
8459
- declare const type$2: <S$1 extends Schema.All>(schema: S$1 | string, props?: Props<Schema.Type<S$1>>) => Filter<Schema.Type<S$1>>;
8460
- /**
8461
- * Filter by non-qualified typename.
8462
- */
8463
- declare const typename$1: (typename: string) => Any$3;
8464
- /**
8465
- * Filter by fully qualified type DXN.
8466
- */
8467
- declare const typeDXN: (dxn: DXN) => Any$3;
8468
- /**
8469
- * Filter by tag.
8470
- */
8471
- declare const tag: (tag: string) => Any$3;
8472
- /**
8473
- * Filter by properties.
8474
- */
8475
- declare const props: <T$1>(props: Props<T$1>) => Filter<T$1>;
8476
- type TextSearchOptions = {
8477
- type?: 'full-text' | 'vector';
8478
- };
8479
- /**
8480
- * Full-text or vector search.
8481
- */
8482
- declare const text: (text: string, options?: TextSearchOptions) => Any$3;
8483
- /**
8484
- * Filter by foreign keys.
8485
- */
8486
- declare const foreignKeys: <S$1 extends Schema.All>(schema: S$1 | string, keys: ForeignKey[]) => Filter<Schema.Type<S$1>>;
8487
- /**
8488
- * Predicate for property to be equal to the provided value.
8489
- */
8490
- declare const eq: <T$1>(value: T$1) => Filter<T$1 | undefined>;
8491
- /**
8492
- * Predicate for property to be not equal to the provided value.
8493
- */
8494
- declare const neq: <T$1>(value: T$1) => Filter<T$1 | undefined>;
8495
- /**
8496
- * Predicate for property to be greater than the provided value.
8497
- */
8498
- declare const gt: <T$1>(value: T$1) => Filter<T$1 | undefined>;
8499
- /**
8500
- * Predicate for property to be greater than or equal to the provided value.
8501
- */
8502
- declare const gte: <T$1>(value: T$1) => Filter<T$1 | undefined>;
8503
- /**
8504
- * Predicate for property to be less than the provided value.
8505
- */
8506
- declare const lt: <T$1>(value: T$1) => Filter<T$1 | undefined>;
8507
- /**
8508
- * Predicate for property to be less than or equal to the provided value.
8509
- */
8510
- declare const lte: <T$1>(value: T$1) => Filter<T$1 | undefined>;
8511
- /**
8512
- * Predicate for property to be in the provided array.
8513
- * @param values - Values to check against.
8514
- */
8515
- declare const in$: <T$1>(...values: T$1[]) => Filter<T$1>;
8516
- /**
8517
- * Predicate for an array property to contain the provided value.
8518
- * @param value - Value to check against.
8519
- */
8520
- declare const contains: <T$1>(value: T$1) => Filter<readonly T$1[] | undefined>;
8521
- /**
8522
- * Predicate for property to be in the provided range.
8523
- * @param from - Start of the range (inclusive).
8524
- * @param to - End of the range (exclusive).
8525
- */
8526
- declare const between: <T$1>(from: T$1, to: T$1) => Filter<T$1>;
8527
- type TimeRange = {
8528
- after?: Date | number;
8529
- before?: Date | number;
8530
- };
8531
- /**
8532
- * Filter objects by updatedAt timestamp.
8533
- */
8534
- declare const updated: (range: TimeRange) => Any$3;
8535
- /**
8536
- * Filter objects by createdAt timestamp.
8537
- */
8538
- declare const created: (range: TimeRange) => Any$3;
8539
- /**
8540
- * Negate the filter.
8541
- */
8542
- declare const not: <F extends Any$3>(filter: F) => Filter<Type$2<F>>;
8543
- /**
8544
- * Combine filters with a logical AND.
8545
- */
8546
- declare const and: <Filters extends readonly Any$3[]>(...filters: Filters) => Filter<Type$2<Filters[number]>>;
8547
- /**
8548
- * Combine filters with a logical OR.
8549
- */
8550
- declare const or: <Filters extends readonly Any$3[]>(...filters: Filters) => Filter<Type$2<Filters[number]>>;
8551
- /**
8552
- * Returns a human-readable string representation of a Filter AST.
8553
- */
8554
- declare const pretty$1: (filter: Any$3) => string;
8555
8452
  //#endregion
8556
8453
  //#region ../echo/dist/types/src/internal/JsonSchema/json-schema-type.d.ts
8557
8454
  /**
@@ -8679,7 +8576,7 @@ declare const _JsonSchemaType: Struct<{
8679
8576
  patternProperties: optional<Record$<typeof String$, suspend<JsonSchemaType, JsonSchemaType, never>>>;
8680
8577
  propertyNames: optional<suspend<JsonSchemaType, JsonSchemaType, never>>;
8681
8578
  definitions: optional<Record$<typeof String$, suspend<JsonSchemaType, JsonSchemaType, never>>>;
8682
- dependencies: optional<Record$<typeof String$, suspend<string | readonly string[] | JsonSchemaType, string | readonly string[] | JsonSchemaType, never>>>;
8579
+ dependencies: optional<Record$<typeof String$, suspend<string | JsonSchemaType | readonly string[], string | JsonSchemaType | readonly string[], never>>>;
8683
8580
  contentMediaType: optional<typeof String$>;
8684
8581
  contentEncoding: optional<typeof String$>;
8685
8582
  if: optional<suspend<JsonSchemaType, JsonSchemaType, never>>;
@@ -8834,6 +8731,15 @@ interface Ref<T$1> extends Pipeable {
8834
8731
  * @returns Promise that will resolves with the target object or undefined if the object is not loaded locally.
8835
8732
  */
8836
8733
  tryLoad(): Promise<T$1 | undefined>;
8734
+ /**
8735
+ * Subscribe to the ref's resolution event.
8736
+ * The callback fires when the target object becomes available in the working set
8737
+ * (e.g. when its document is loaded after sibling-client mutation).
8738
+ * Note: the resolver only schedules a notification when the target is requested
8739
+ * via {@link target} while it is not yet loaded.
8740
+ * @returns Function that unsubscribes the callback.
8741
+ */
8742
+ onResolved(callback: () => void): () => void;
8837
8743
  /**
8838
8744
  * Do not inline the target object in the reference.
8839
8745
  * Makes .target unavailable unless the reference is connected to a database context.
@@ -8883,6 +8789,63 @@ interface RefResolver {
8883
8789
  resolveSchema(dxn: DXN): Promise<Schema.AnyNoContext | undefined>;
8884
8790
  }
8885
8791
  //#endregion
8792
+ //#region ../echo/dist/types/src/Ref.d.ts
8793
+ /**
8794
+ * Instance type for a reference.
8795
+ *
8796
+ * Reference can point to any object or relation.
8797
+ * References are lazy loaded.
8798
+ *
8799
+ * `ref.dxn` is the DXN of the referenced object.
8800
+ *
8801
+ * @example
8802
+ * ```ts
8803
+ * const taskRef: Ref<Task> = Ref.make(task);
8804
+ *
8805
+ * await taskRef.load(); // Returns Promise<Task>
8806
+ * yield* Database.load(taskRef); // Effectful version.
8807
+ *
8808
+ * database.makeRef(dxn); // Create a ref from a DXN.
8809
+ * ```
8810
+ */
8811
+ type Ref$1<T$1> = Ref<T$1>;
8812
+ type Unknown$2 = Ref<Unknown$1>;
8813
+ /**
8814
+ * Factory function to create a Ref schema for the given target schema.
8815
+ * Use this in schema definitions to declare reference fields.
8816
+ *
8817
+ * @example
8818
+ * ```ts
8819
+ * const Task = Schema.Struct({
8820
+ * assignee: Ref.Ref(Person), // Creates a Ref schema
8821
+ * }).pipe(Type.object({ typename: 'Task', version: '0.1.0' }));
8822
+ * ```
8823
+ */
8824
+ declare const Ref$1: <S$1 extends Schema.Any>(schema: S$1) => RefSchema<Schema.Type<S$1>>;
8825
+ /**
8826
+ * TypeScript type for a Ref schema.
8827
+ * This is the type of the SCHEMA itself, not the runtime ref instance.
8828
+ * For the instance type, use `Ref.Ref<T>` from the Ref module.
8829
+ *
8830
+ * @example
8831
+ * ```ts
8832
+ * // Schema type annotation (rarely needed, usually inferred):
8833
+ * const refSchema: Ref.RefSchema<typeof Task> = Ref.Ref(Task);
8834
+ *
8835
+ * // Instance type annotation (use Ref.Ref instead):
8836
+ * const refInstance: Ref.Ref<Task> = Ref.make(task);
8837
+ * ```
8838
+ */
8839
+ interface RefSchema<T$1 extends Unknown> extends RefSchema$1<T$1> {}
8840
+ /**
8841
+ * Extract reference target.
8842
+ */
8843
+ type Target<R$1 extends Unknown$2> = R$1 extends Ref<infer T> ? T : never;
8844
+ /**
8845
+ * Reference resolver.
8846
+ */
8847
+ type Resolver = RefResolver;
8848
+ //#endregion
8886
8849
  //#region ../echo/dist/types/src/internal/Obj/typed-object.d.ts
8887
8850
  /**
8888
8851
  * Definition for an object type that can be stored in an ECHO database.
@@ -9032,7 +8995,7 @@ declare class EchoSchema<A$1 = any, I$1 = any> extends EchoSchema_base implement
9032
8995
  */
9033
8996
  removeFields(fieldNames: string[]): void;
9034
8997
  /**
9035
- * Wrapper for Obj.change that handles the change context for the persistent schema.
8998
+ * Wrapper for Obj.update that handles the change context for the persistent schema.
9036
8999
  */
9037
9000
  private _change;
9038
9001
  /**
@@ -9153,7 +9116,7 @@ type OfShape<Props$1> = BaseObj & Props$1;
9153
9116
  * NOTE: This is a TypeScript type only, not a schema.
9154
9117
  * To validate that a value is an ECHO object, use `Schema.is(Type.Obj)`.
9155
9118
  */
9156
- interface Unknown$2 extends BaseObj {}
9119
+ interface Unknown$1 extends BaseObj {}
9157
9120
  /**
9158
9121
  * Runtime Effect schema for any ECHO object.
9159
9122
  * Use for validation, parsing, or as a reference target for collections.
@@ -9175,70 +9138,176 @@ interface Unknown$2 extends BaseObj {}
9175
9138
  * }).pipe(Type.object({ typename: 'Collection', version: '0.1.0' }));
9176
9139
  * ```
9177
9140
  */
9178
- declare const Unknown$2: Obj$1<Unknown$2>;
9141
+ declare const Unknown$1: Obj$1<Unknown$1>;
9179
9142
  /**
9180
9143
  * JSON-encoded properties for objects.
9181
9144
  */
9182
9145
  interface BaseObjJson {
9183
9146
  id: string;
9184
9147
  }
9185
- //#endregion
9186
- //#region ../echo/dist/types/src/Ref.d.ts
9148
+ declare namespace Filter_d_exports {
9149
+ export { Any$3 as Any, ChildOfOptions, Filter, KeyFilterOptions, Props, TextSearchOptions, Type$2 as Type, and, between, childOf, contains, created, eq, everything, foreignKeys, fromAst$1 as fromAst, gt, gte, id, in$ as in, is$1 as is, key$1 as key, lt, lte, neq, not, nothing, or, pretty$1 as pretty, props, tag, text, type$2 as type, typeDXN, typename$1 as typename, updated };
9150
+ }
9151
+ interface Filter<T$1> {
9152
+ '~Filter': {
9153
+ value: Covariant<T$1>;
9154
+ };
9155
+ ast: Filter$1;
9156
+ }
9157
+ type Props<T$1> = { [K in keyof T$1 & string]?: Filter<T$1[K]> | T$1[K] };
9158
+ type Any$3 = Filter<any>;
9159
+ type Type$2<F extends Any$3> = F extends Filter<infer T> ? T : never;
9160
+ declare class FilterClass implements Any$3 {
9161
+ readonly ast: Filter$1;
9162
+ private static 'variance';
9163
+ constructor(ast: Filter$1);
9164
+ '~Filter': {
9165
+ value: Covariant<any>;
9166
+ };
9167
+ }
9168
+ declare const is$1: (value: unknown) => value is Any$3;
9169
+ /** Construct a filter from an ast. */
9170
+ declare const fromAst$1: (ast: Filter$1) => Any$3;
9187
9171
  /**
9188
- * Instance type for a reference.
9189
- *
9190
- * Reference can point to any object or relation.
9191
- * References are lazy loaded.
9192
- *
9193
- * `ref.dxn` is the DXN of the referenced object.
9194
- *
9195
- * @example
9196
- * ```ts
9197
- * const taskRef: Ref<Task> = Ref.make(task);
9198
- *
9199
- * await taskRef.load(); // Returns Promise<Task>
9200
- * yield* Database.load(taskRef); // Effectful version.
9201
- *
9202
- * database.makeRef(dxn); // Create a ref from a DXN.
9203
- * ```
9172
+ * Filter that matches all objects.
9204
9173
  */
9205
- type Ref$1<T$1> = Ref<T$1>;
9206
- type Unknown$1 = Ref<Unknown$2>;
9174
+ declare const everything: () => FilterClass;
9207
9175
  /**
9208
- * Factory function to create a Ref schema for the given target schema.
9209
- * Use this in schema definitions to declare reference fields.
9210
- *
9211
- * @example
9212
- * ```ts
9213
- * const Task = Schema.Struct({
9214
- * assignee: Ref.Ref(Person), // Creates a Ref schema
9215
- * }).pipe(Type.object({ typename: 'Task', version: '0.1.0' }));
9216
- * ```
9176
+ * Filter that matches no objects.
9217
9177
  */
9218
- declare const Ref$1: <S$1 extends Schema.Any>(schema: S$1) => RefSchema<Schema.Type<S$1>>;
9178
+ declare const nothing: () => FilterClass;
9179
+ declare const id: (...ids: ObjectId[]) => Any$3;
9219
9180
  /**
9220
- * TypeScript type for a Ref schema.
9221
- * This is the type of the SCHEMA itself, not the runtime ref instance.
9222
- * For the instance type, use `Ref.Ref<T>` from the Ref module.
9181
+ * Filter by type.
9182
+ */
9183
+ declare const type$2: <S$1 extends Schema.All>(schema: S$1 | string, props?: Props<Schema.Type<S$1>>) => Filter<Schema.Type<S$1>>;
9184
+ /**
9185
+ * Filter by non-qualified typename.
9186
+ */
9187
+ declare const typename$1: (typename: string) => Any$3;
9188
+ /**
9189
+ * Filter by fully qualified type DXN.
9190
+ */
9191
+ declare const typeDXN: (dxn: DXN) => Any$3;
9192
+ /**
9193
+ * Filter by tag.
9194
+ */
9195
+ declare const tag: (tag: string) => Any$3;
9196
+ /**
9197
+ * Options for {@link key} filter.
9198
+ */
9199
+ type KeyFilterOptions = {
9200
+ /**
9201
+ * Optional semver range expression (e.g. `^1.2.3`, `~2.0.0`, `>=1.0.0 <2.0.0`).
9202
+ * Matches the object's meta `version` field against the range.
9203
+ * If omitted, matches any version (including objects with no version).
9204
+ */
9205
+ version?: string;
9206
+ };
9207
+ /**
9208
+ * Filter by registry key stored in object meta.
9223
9209
  *
9224
9210
  * @example
9225
9211
  * ```ts
9226
- * // Schema type annotation (rarely needed, usually inferred):
9227
- * const refSchema: Ref.RefSchema<typeof Task> = Ref.Ref(Task);
9228
- *
9229
- * // Instance type annotation (use Ref.Ref instead):
9230
- * const refInstance: Ref.Ref<Task> = Ref.make(task);
9212
+ * Filter.key('org.example.type.foo');
9213
+ * Filter.key('org.example.type.foo', { version: '^1.2.3' });
9231
9214
  * ```
9232
9215
  */
9233
- interface RefSchema<T$1 extends Unknown> extends RefSchema$1<T$1> {}
9216
+ declare const key$1: (key: string, options?: KeyFilterOptions) => Any$3;
9234
9217
  /**
9235
- * Extract reference target.
9218
+ * Filter by properties.
9236
9219
  */
9237
- type Target<R$1 extends Unknown$1> = R$1 extends Ref<infer T> ? T : never;
9220
+ declare const props: <T$1>(props: Props<T$1>) => Filter<T$1>;
9221
+ type TextSearchOptions = {
9222
+ type?: 'full-text' | 'vector';
9223
+ };
9238
9224
  /**
9239
- * Reference resolver.
9225
+ * Full-text or vector search.
9240
9226
  */
9241
- type Resolver = RefResolver;
9227
+ declare const text: (text: string, options?: TextSearchOptions) => Any$3;
9228
+ /**
9229
+ * Filter by foreign keys.
9230
+ */
9231
+ declare const foreignKeys: <S$1 extends Schema.All>(schema: S$1 | string, keys: ForeignKey[]) => Filter<Schema.Type<S$1>>;
9232
+ /**
9233
+ * Predicate for property to be equal to the provided value.
9234
+ */
9235
+ declare const eq: <T$1>(value: T$1) => Filter<T$1 | undefined>;
9236
+ /**
9237
+ * Predicate for property to be not equal to the provided value.
9238
+ */
9239
+ declare const neq: <T$1>(value: T$1) => Filter<T$1 | undefined>;
9240
+ /**
9241
+ * Predicate for property to be greater than the provided value.
9242
+ */
9243
+ declare const gt: <T$1>(value: T$1) => Filter<T$1 | undefined>;
9244
+ /**
9245
+ * Predicate for property to be greater than or equal to the provided value.
9246
+ */
9247
+ declare const gte: <T$1>(value: T$1) => Filter<T$1 | undefined>;
9248
+ /**
9249
+ * Predicate for property to be less than the provided value.
9250
+ */
9251
+ declare const lt: <T$1>(value: T$1) => Filter<T$1 | undefined>;
9252
+ /**
9253
+ * Predicate for property to be less than or equal to the provided value.
9254
+ */
9255
+ declare const lte: <T$1>(value: T$1) => Filter<T$1 | undefined>;
9256
+ /**
9257
+ * Predicate for property to be in the provided array.
9258
+ * @param values - Values to check against.
9259
+ */
9260
+ declare const in$: <T$1>(...values: T$1[]) => Filter<T$1>;
9261
+ /**
9262
+ * Predicate for an array property to contain the provided value.
9263
+ * @param value - Value to check against.
9264
+ */
9265
+ declare const contains: <T$1>(value: T$1) => Filter<readonly T$1[] | undefined>;
9266
+ /**
9267
+ * Predicate for property to be in the provided range.
9268
+ * @param from - Start of the range (inclusive).
9269
+ * @param to - End of the range (exclusive).
9270
+ */
9271
+ declare const between: <T$1>(from: T$1, to: T$1) => Filter<T$1>;
9272
+ type TimeRange = {
9273
+ after?: Date | number;
9274
+ before?: Date | number;
9275
+ };
9276
+ /**
9277
+ * Filter objects by updatedAt timestamp.
9278
+ */
9279
+ declare const updated: (range: TimeRange) => Any$3;
9280
+ /**
9281
+ * Filter objects by createdAt timestamp.
9282
+ */
9283
+ declare const created: (range: TimeRange) => Any$3;
9284
+ type ChildOfOptions = {
9285
+ /** Whether to match transitively (grandchildren, etc.). Defaults to true. */
9286
+ transitive?: boolean;
9287
+ };
9288
+ /**
9289
+ * Filter objects that are children of the specified parent(s).
9290
+ * Accepts ECHO objects, Refs, or arrays of either.
9291
+ * Refs are resolved to DXNs without loading; objects use {@link Obj.getDXN}.
9292
+ * With transitive=true (default), also matches grandchildren and beyond.
9293
+ */
9294
+ declare const childOf: (parents: Unknown$1 | Unknown$2 | readonly (Unknown$1 | Unknown$2)[], options?: ChildOfOptions) => Any$3;
9295
+ /**
9296
+ * Negate the filter.
9297
+ */
9298
+ declare const not: <F extends Any$3>(filter: F) => Filter<Type$2<F>>;
9299
+ /**
9300
+ * Combine filters with a logical AND.
9301
+ */
9302
+ declare const and: <Filters extends readonly Any$3[]>(...filters: Filters) => Filter<Type$2<Filters[number]>>;
9303
+ /**
9304
+ * Combine filters with a logical OR.
9305
+ */
9306
+ declare const or: <Filters extends readonly Any$3[]>(...filters: Filters) => Filter<Type$2<Filters[number]>>;
9307
+ /**
9308
+ * Returns a human-readable string representation of a Filter AST.
9309
+ */
9310
+ declare const pretty$1: (filter: Any$3) => string;
9242
9311
  //#endregion
9243
9312
  //#region ../echo/dist/types/src/JsonSchema.d.ts
9244
9313
  /**
@@ -9413,10 +9482,10 @@ interface RefResolutionContext {
9413
9482
  */
9414
9483
  space?: SpaceId;
9415
9484
  /**
9416
- * Queue that the resolution is happening from.
9417
- * This queue will be searched first, and then the space it belongs to.
9485
+ * Feed that the resolution is happening from (as the underlying queue DXN).
9486
+ * This feed will be searched first, and then the space it belongs to.
9418
9487
  */
9419
- queue?: DXN;
9488
+ feed?: DXN;
9420
9489
  }
9421
9490
  interface RefResolverOptions {
9422
9491
  /**
@@ -9467,7 +9536,7 @@ interface Hypergraph extends Queryable {
9467
9536
  */
9468
9537
  declare const Collection: Obj$1<{
9469
9538
  readonly name?: string | undefined;
9470
- readonly objects: readonly Ref<OfKind<EntityKind.Object> & Unknown$2>[];
9539
+ readonly objects: readonly Ref<OfKind<EntityKind.Object> & Unknown$1>[];
9471
9540
  }, Struct.Fields>;
9472
9541
  interface Collection extends Schema.Type<typeof Collection> {}
9473
9542
  //#endregion
@@ -9481,8 +9550,8 @@ interface Collection extends Schema.Type<typeof Collection> {}
9481
9550
  * ```
9482
9551
  */
9483
9552
  declare const Feed: Obj$1<{
9484
- readonly kind?: string | undefined;
9485
9553
  readonly name?: string | undefined;
9554
+ readonly kind?: string | undefined;
9486
9555
  readonly namespace?: "data" | "trace" | undefined;
9487
9556
  }, Struct.Fields>;
9488
9557
  /**
@@ -9497,8 +9566,8 @@ interface Feed extends Schema.Type<typeof Feed> {}
9497
9566
  */
9498
9567
  declare const ViewSchema: Obj$1<{
9499
9568
  readonly query: {
9500
- readonly ast: QuerySelectClause | QueryFilterClause | QueryReferenceTraversalClause | QueryIncomingReferencesClause | QueryRelationClause | QueryRelationTraversalClause | QueryHierarchyTraversalClause | QueryUnionClause | QuerySetDifferenceClause | QueryOrderClause | QueryOptionsClause | QueryLimitClause | QueryFromClause;
9501
9569
  readonly raw?: string | undefined;
9570
+ readonly ast: QueryFilterClause | QueryFromClause | QueryHierarchyTraversalClause | QueryIncomingReferencesClause | QueryLimitClause | QueryOptionsClause | QueryOrderClause | QueryReferenceTraversalClause | QueryRelationClause | QueryRelationTraversalClause | QuerySelectClause | QuerySetDifferenceClause | QueryUnionClause;
9502
9571
  };
9503
9572
  readonly projection: {
9504
9573
  readonly schema?: JsonSchemaType | undefined;
@@ -9522,12 +9591,12 @@ declare const View: Obj$1<View>;
9522
9591
  * Abstart set of objects, represented by a view, feed, or collection.
9523
9592
  */
9524
9593
  declare const Dataset: Union<[Obj$1<{
9525
- readonly kind?: string | undefined;
9526
9594
  readonly name?: string | undefined;
9595
+ readonly kind?: string | undefined;
9527
9596
  readonly namespace?: "data" | "trace" | undefined;
9528
9597
  }, Struct.Fields>, Obj$1<{
9529
9598
  readonly name?: string | undefined;
9530
- readonly objects: readonly Ref<OfKind<EntityKind.Object> & Unknown$2>[];
9599
+ readonly objects: readonly Ref<OfKind<EntityKind.Object> & Unknown$1>[];
9531
9600
  }, Struct.Fields>, Obj$1<View, Struct.Fields>]>;
9532
9601
  type Dataset = Feed | Collection | View;
9533
9602
  declare namespace Order_d_exports {
@@ -9571,7 +9640,7 @@ interface Query<T$1> {
9571
9640
  * @param key - Property path inside T that is a reference or optional reference.
9572
9641
  * @returns Query for the target of the reference.
9573
9642
  */
9574
- 'reference'<K$1 extends RefPropKey<T$1>>(key: K$1): Query<T$1[K$1] extends Unknown$1 ? Target<T$1[K$1]> : T$1[K$1] extends Unknown$1 | undefined ? Target<Exclude<T$1[K$1], undefined>> : never>;
9643
+ 'reference'<K$1 extends RefPropKey<T$1>>(key: K$1): Query<T$1[K$1] extends Unknown$2 ? Target<T$1[K$1]> : T$1[K$1] extends Unknown$2 | undefined ? Target<Exclude<T$1[K$1], undefined>> : never>;
9575
9644
  /**
9576
9645
  * Find objects referencing this object.
9577
9646
  * @param target - Schema of the referencing object. If not provided, matches any type.
@@ -9696,6 +9765,10 @@ interface Query<T$1> {
9696
9765
  * Add options to a query.
9697
9766
  */
9698
9767
  'options'(options: QueryOptions): Query<T$1>;
9768
+ /**
9769
+ * Attach a diagnostic label for logs and tooling (execution semantics unchanged).
9770
+ */
9771
+ 'debugLabel'(label: string): Query<T$1>;
9699
9772
  }
9700
9773
  type Any$1 = Query<any>;
9701
9774
  type Type$1<Q extends Any$1> = Q extends Query<infer T> ? T : never;
@@ -9740,7 +9813,7 @@ declare const without: <T$1>(source: Query<T$1>, exclude: Query<T$1>) => Query<T
9740
9813
  * @param source - Data source: database, feed, 'all-accessible-spaces', or another query.
9741
9814
  * @returns Query scoped to the given source.
9742
9815
  */
9743
- declare const from: (source: Database | Database[] | Feed | Feed[] | Any$1 | Scope | "all-accessible-spaces", options?: {
9816
+ declare const from: (source: Database | Database[] | Feed | Feed[] | Any$1 | Scope | 'all-accessible-spaces', options?: {
9744
9817
  includeFeeds?: boolean;
9745
9818
  }) => Any$1;
9746
9819
  /**
@@ -9757,7 +9830,7 @@ interface QueryFn {
9757
9830
  <F extends Any$3>(filter: F): QueryResult<Type$2<F>>;
9758
9831
  }
9759
9832
  /**
9760
- * Common interface for Database and Queue.
9833
+ * Common interface for Database, Feed, and Hypergraph.
9761
9834
  */
9762
9835
  interface Queryable {
9763
9836
  query: QueryFn;
@@ -9811,7 +9884,7 @@ interface Database extends Queryable {
9811
9884
  /**
9812
9885
  * Return object by local ID.
9813
9886
  */
9814
- getObjectById<T$1 extends Unknown$2 = OfShape<AnyProperties>>(id: string, opts?: GetObjectByIdOptions): T$1 | undefined;
9887
+ getObjectById<T$1 extends Unknown$1 = OfShape<AnyProperties>>(id: string, opts?: GetObjectByIdOptions): T$1 | undefined;
9815
9888
  /**
9816
9889
  * Query objects.
9817
9890
  */
@@ -9893,13 +9966,13 @@ interface AnyEntity {
9893
9966
  /**
9894
9967
  * String key used to identify the kind of an entity instance (object or relation).
9895
9968
  */
9896
- declare const KindId: "~@dxos/echo/Kind";
9969
+ declare const KindId: '~@dxos/echo/Kind';
9897
9970
  type KindId = typeof KindId;
9898
9971
  /**
9899
9972
  * String key used to identify the kind of a schema (object schema or relation schema).
9900
9973
  * Parallels KindId which identifies instance kinds.
9901
9974
  */
9902
- declare const SchemaKindId: "~@dxos/echo/SchemaKind";
9975
+ declare const SchemaKindId: '~@dxos/echo/SchemaKind';
9903
9976
  type SchemaKindId = typeof SchemaKindId;
9904
9977
  /**
9905
9978
  * Kinds of entities stored in ECHO: objects and relations.