@dxos/echo 0.8.4-main.406dc2a → 0.8.4-main.548089c

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 (74) hide show
  1. package/dist/lib/browser/chunk-3FCPYTWA.mjs +585 -0
  2. package/dist/lib/browser/chunk-3FCPYTWA.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-MB6MMNFP.mjs → chunk-5BNXQE6S.mjs} +106 -236
  4. package/dist/lib/browser/chunk-5BNXQE6S.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-U43CXUCL.mjs +410 -0
  6. package/dist/lib/browser/chunk-U43CXUCL.mjs.map +7 -0
  7. package/dist/lib/browser/index.mjs +9 -9
  8. package/dist/lib/browser/internal/index.mjs +5 -1
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/query/index.mjs +4 -6
  11. package/dist/lib/browser/testing/index.mjs +32 -63
  12. package/dist/lib/browser/testing/index.mjs.map +3 -3
  13. package/dist/lib/node-esm/{chunk-BQRA4VLX.mjs → chunk-3FGSPSYN.mjs} +106 -236
  14. package/dist/lib/node-esm/chunk-3FGSPSYN.mjs.map +7 -0
  15. package/dist/lib/node-esm/chunk-C7LTTWRL.mjs +585 -0
  16. package/dist/lib/node-esm/chunk-C7LTTWRL.mjs.map +7 -0
  17. package/dist/lib/node-esm/chunk-OHJ5WBB6.mjs +410 -0
  18. package/dist/lib/node-esm/chunk-OHJ5WBB6.mjs.map +7 -0
  19. package/dist/lib/node-esm/index.mjs +9 -9
  20. package/dist/lib/node-esm/internal/index.mjs +5 -1
  21. package/dist/lib/node-esm/meta.json +1 -1
  22. package/dist/lib/node-esm/query/index.mjs +4 -6
  23. package/dist/lib/node-esm/testing/index.mjs +32 -63
  24. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  25. package/dist/types/src/Obj.d.ts +4 -2
  26. package/dist/types/src/Obj.d.ts.map +1 -1
  27. package/dist/types/src/{query/tag.d.ts → Tag.d.ts} +7 -7
  28. package/dist/types/src/Tag.d.ts.map +1 -0
  29. package/dist/types/src/errors.d.ts +8 -16
  30. package/dist/types/src/errors.d.ts.map +1 -1
  31. package/dist/types/src/index.d.ts +1 -0
  32. package/dist/types/src/index.d.ts.map +1 -1
  33. package/dist/types/src/internal/ast/annotations.d.ts +6 -0
  34. package/dist/types/src/internal/ast/annotations.d.ts.map +1 -1
  35. package/dist/types/src/internal/index.d.ts +2 -2
  36. package/dist/types/src/internal/index.d.ts.map +1 -1
  37. package/dist/types/src/internal/object/create.d.ts +1 -1
  38. package/dist/types/src/internal/object/typename.d.ts +1 -1
  39. package/dist/types/src/internal/testing/types.d.ts +5 -79
  40. package/dist/types/src/internal/testing/types.d.ts.map +1 -1
  41. package/dist/types/src/query/index.d.ts +0 -1
  42. package/dist/types/src/query/index.d.ts.map +1 -1
  43. package/dist/types/src/testing/types.d.ts +161 -46
  44. package/dist/types/src/testing/types.d.ts.map +1 -1
  45. package/dist/types/tsconfig.tsbuildinfo +1 -1
  46. package/package.json +12 -12
  47. package/src/Obj.ts +21 -2
  48. package/src/{query/tag.ts → Tag.ts} +8 -6
  49. package/src/index.ts +1 -0
  50. package/src/internal/ast/annotations.ts +7 -0
  51. package/src/internal/index.ts +2 -2
  52. package/src/internal/json/json-schema.test.ts +27 -35
  53. package/src/internal/object/create.test.ts +11 -11
  54. package/src/internal/object/create.ts +1 -1
  55. package/src/internal/object/json-serializer.test.ts +11 -11
  56. package/src/internal/object/typename.ts +1 -1
  57. package/src/internal/proxy/typed-handler.test.ts +7 -7
  58. package/src/internal/proxy/typed-object.test.ts +1 -1
  59. package/src/internal/ref/ref.test.ts +1 -1
  60. package/src/internal/testing/types.ts +10 -77
  61. package/src/internal/testing/utils.ts +1 -1
  62. package/src/query/index.ts +1 -1
  63. package/src/testing/types.ts +39 -22
  64. package/dist/lib/browser/chunk-HKFCK2GL.mjs +0 -175
  65. package/dist/lib/browser/chunk-HKFCK2GL.mjs.map +0 -7
  66. package/dist/lib/browser/chunk-MAAYELT7.mjs +0 -830
  67. package/dist/lib/browser/chunk-MAAYELT7.mjs.map +0 -7
  68. package/dist/lib/browser/chunk-MB6MMNFP.mjs.map +0 -7
  69. package/dist/lib/node-esm/chunk-5NWDGIBT.mjs +0 -830
  70. package/dist/lib/node-esm/chunk-5NWDGIBT.mjs.map +0 -7
  71. package/dist/lib/node-esm/chunk-AUAH4E2J.mjs +0 -175
  72. package/dist/lib/node-esm/chunk-AUAH4E2J.mjs.map +0 -7
  73. package/dist/lib/node-esm/chunk-BQRA4VLX.mjs.map +0 -7
  74. package/dist/types/src/query/tag.d.ts.map +0 -1
@@ -94,6 +94,8 @@ var LabelAnnotationId = Symbol.for("@dxos/schema/annotation/Label");
94
94
  var LabelAnnotation = createAnnotationHelper(LabelAnnotationId);
95
95
  var DescriptionAnnotationId = Symbol.for("@dxos/schema/annotation/Description");
96
96
  var DescriptionAnnotation = createAnnotationHelper(DescriptionAnnotationId);
97
+ var FormAnnotationId = Symbol.for("@dxos/schema/annotation/Form");
98
+ var FormAnnotation = createAnnotationHelper(FormAnnotationId);
97
99
  var FieldLookupAnnotationId = Symbol.for("@dxos/schema/annotation/FieldLookup");
98
100
  var GeneratorAnnotationId = Symbol.for("@dxos/schema/annotation/Generator");
99
101
  var GeneratorAnnotation = createAnnotationHelper(GeneratorAnnotationId);
@@ -725,8 +727,7 @@ var getSchemaProperty = (schema, property) => {
725
727
  return schema.properties?.[property];
726
728
  };
727
729
  var setSchemaProperty = (schema, property, value) => {
728
- var _schema;
729
- (_schema = schema).properties ?? (_schema.properties = {});
730
+ schema.properties ??= {};
730
731
  schema.properties[property] = value;
731
732
  return schema;
732
733
  };
@@ -1116,23 +1117,17 @@ var getType = (obj) => {
1116
1117
  };
1117
1118
 
1118
1119
  // src/internal/object/common.ts
1119
- function _define_property(obj, key, value) {
1120
- if (key in obj) {
1121
- Object.defineProperty(obj, key, {
1122
- value,
1123
- enumerable: true,
1124
- configurable: true,
1125
- writable: true
1126
- });
1127
- } else {
1128
- obj[key] = value;
1129
- }
1130
- return obj;
1131
- }
1132
1120
  var makeTypedEntityClass = (typename, version, baseSchema) => {
1133
- let _Schema_TypeId2;
1134
- var _class;
1135
- return _Schema_TypeId2 = Schema11.TypeId, _class = class {
1121
+ return class {
1122
+ // Implement TypedObject properties.
1123
+ static typename = typename;
1124
+ static version = version;
1125
+ // Implement Schema.Schema properties.
1126
+ // TODO(burdon): Comment required.
1127
+ static [Schema11.TypeId] = schemaVariance;
1128
+ static ast = baseSchema.ast;
1129
+ static annotations = baseSchema.annotations.bind(baseSchema);
1130
+ static pipe = baseSchema.pipe.bind(baseSchema);
1136
1131
  // TODO(burdon): Comment required.
1137
1132
  static [Symbol.hasInstance](obj) {
1138
1133
  return obj != null && getTypename(obj) === typename;
@@ -1141,10 +1136,7 @@ var makeTypedEntityClass = (typename, version, baseSchema) => {
1141
1136
  constructor() {
1142
1137
  throw new Error("Use live(Typename, { ...fields }) to instantiate an object.");
1143
1138
  }
1144
- }, // Implement TypedObject properties.
1145
- _define_property(_class, "typename", typename), _define_property(_class, "version", version), // Implement Schema.Schema properties.
1146
- // TODO(burdon): Comment required.
1147
- _define_property(_class, _Schema_TypeId2, schemaVariance), _define_property(_class, "ast", baseSchema.ast), _define_property(_class, "annotations", baseSchema.annotations.bind(baseSchema)), _define_property(_class, "pipe", baseSchema.pipe.bind(baseSchema)), _class;
1139
+ };
1148
1140
  };
1149
1141
  var schemaVariance = {
1150
1142
  _A: (_) => _,
@@ -1201,59 +1193,6 @@ import { Reference } from "@dxos/echo-protocol";
1201
1193
  import { compositeRuntime } from "@dxos/echo-signals/runtime";
1202
1194
  import { assertArgument as assertArgument3, invariant as invariant4 } from "@dxos/invariant";
1203
1195
  import { DXN as DXN6, ObjectId as ObjectId3 } from "@dxos/keys";
1204
- function _check_private_redeclaration(obj, privateCollection) {
1205
- if (privateCollection.has(obj)) {
1206
- throw new TypeError("Cannot initialize the same private elements twice on an object");
1207
- }
1208
- }
1209
- function _class_apply_descriptor_get(receiver, descriptor) {
1210
- if (descriptor.get) {
1211
- return descriptor.get.call(receiver);
1212
- }
1213
- return descriptor.value;
1214
- }
1215
- function _class_apply_descriptor_set(receiver, descriptor, value) {
1216
- if (descriptor.set) {
1217
- descriptor.set.call(receiver, value);
1218
- } else {
1219
- if (!descriptor.writable) {
1220
- throw new TypeError("attempted to set read only private field");
1221
- }
1222
- descriptor.value = value;
1223
- }
1224
- }
1225
- function _class_extract_field_descriptor(receiver, privateMap, action) {
1226
- if (!privateMap.has(receiver)) {
1227
- throw new TypeError("attempted to " + action + " private field on non-instance");
1228
- }
1229
- return privateMap.get(receiver);
1230
- }
1231
- function _class_private_field_get(receiver, privateMap) {
1232
- var descriptor = _class_extract_field_descriptor(receiver, privateMap, "get");
1233
- return _class_apply_descriptor_get(receiver, descriptor);
1234
- }
1235
- function _class_private_field_init(obj, privateMap, value) {
1236
- _check_private_redeclaration(obj, privateMap);
1237
- privateMap.set(obj, value);
1238
- }
1239
- function _class_private_field_set(receiver, privateMap, value) {
1240
- var descriptor = _class_extract_field_descriptor(receiver, privateMap, "set");
1241
- _class_apply_descriptor_set(receiver, descriptor, value);
1242
- return value;
1243
- }
1244
- function _define_property2(obj, key, value) {
1245
- if (key in obj) {
1246
- Object.defineProperty(obj, key, {
1247
- value,
1248
- enumerable: true,
1249
- configurable: true,
1250
- writable: true
1251
- });
1252
- } else {
1253
- obj[key] = value;
1254
- }
1255
- return obj;
1256
- }
1257
1196
  var __dxlog_file4 = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/ref/ref.ts";
1258
1197
  var JSON_SCHEMA_ECHO_REF_ID = "/schemas/echo/ref";
1259
1198
  var getSchemaReference = (property) => {
@@ -1370,28 +1309,40 @@ var createEchoReferenceSchema = (echoId, typename, version, schemaName) => {
1370
1309
  var getSchemaExpectedName = (ast) => {
1371
1310
  return SchemaAST6.getIdentifierAnnotation(ast).pipe(Option4.orElse(() => SchemaAST6.getTitleAnnotation(ast)), Option4.orElse(() => SchemaAST6.getDescriptionAnnotation(ast)), Option4.getOrElse(() => void 0));
1372
1311
  };
1373
- var _dxn = /* @__PURE__ */ new WeakMap();
1374
- var _resolver = /* @__PURE__ */ new WeakMap();
1375
- var _signal = /* @__PURE__ */ new WeakMap();
1376
- var _target = /* @__PURE__ */ new WeakMap();
1377
- var _resolverCallback = /* @__PURE__ */ new WeakMap();
1378
- var _RefTypeId = RefTypeId;
1379
1312
  var RefImpl = class _RefImpl {
1313
+ #dxn;
1314
+ #resolver = void 0;
1315
+ #signal = compositeRuntime.createSignal();
1316
+ /**
1317
+ * Target is set when the reference is created from a specific object.
1318
+ * In this case, the target might not be in the database.
1319
+ */
1320
+ #target = void 0;
1321
+ /**
1322
+ * Callback to issue a reactive notification when object is resolved.
1323
+ */
1324
+ #resolverCallback = () => {
1325
+ this.#signal.notifyWrite();
1326
+ };
1327
+ constructor(dxn, target) {
1328
+ this.#dxn = dxn;
1329
+ this.#target = target;
1330
+ }
1380
1331
  /**
1381
1332
  * @inheritdoc
1382
1333
  */
1383
1334
  get dxn() {
1384
- return _class_private_field_get(this, _dxn);
1335
+ return this.#dxn;
1385
1336
  }
1386
1337
  /**
1387
1338
  * @inheritdoc
1388
1339
  */
1389
1340
  get target() {
1390
- _class_private_field_get(this, _signal).notifyRead();
1391
- if (_class_private_field_get(this, _target)) {
1392
- return _class_private_field_get(this, _target);
1341
+ this.#signal.notifyRead();
1342
+ if (this.#target) {
1343
+ return this.#target;
1393
1344
  }
1394
- invariant4(_class_private_field_get(this, _resolver), "Resolver is not set", {
1345
+ invariant4(this.#resolver, "Resolver is not set", {
1395
1346
  F: __dxlog_file4,
1396
1347
  L: 368,
1397
1348
  S: this,
@@ -1400,16 +1351,16 @@ var RefImpl = class _RefImpl {
1400
1351
  "'Resolver is not set'"
1401
1352
  ]
1402
1353
  });
1403
- return _class_private_field_get(this, _resolver).resolveSync(_class_private_field_get(this, _dxn), true, _class_private_field_get(this, _resolverCallback));
1354
+ return this.#resolver.resolveSync(this.#dxn, true, this.#resolverCallback);
1404
1355
  }
1405
1356
  /**
1406
1357
  * @inheritdoc
1407
1358
  */
1408
1359
  async load() {
1409
- if (_class_private_field_get(this, _target)) {
1410
- return _class_private_field_get(this, _target);
1360
+ if (this.#target) {
1361
+ return this.#target;
1411
1362
  }
1412
- invariant4(_class_private_field_get(this, _resolver), "Resolver is not set", {
1363
+ invariant4(this.#resolver, "Resolver is not set", {
1413
1364
  F: __dxlog_file4,
1414
1365
  L: 379,
1415
1366
  S: this,
@@ -1418,7 +1369,7 @@ var RefImpl = class _RefImpl {
1418
1369
  "'Resolver is not set'"
1419
1370
  ]
1420
1371
  });
1421
- const obj = await _class_private_field_get(this, _resolver).resolve(_class_private_field_get(this, _dxn));
1372
+ const obj = await this.#resolver.resolve(this.#dxn);
1422
1373
  if (obj == null) {
1423
1374
  throw new Error("Object not found");
1424
1375
  }
@@ -1428,7 +1379,7 @@ var RefImpl = class _RefImpl {
1428
1379
  * @inheritdoc
1429
1380
  */
1430
1381
  async tryLoad() {
1431
- invariant4(_class_private_field_get(this, _resolver), "Resolver is not set", {
1382
+ invariant4(this.#resolver, "Resolver is not set", {
1432
1383
  F: __dxlog_file4,
1433
1384
  L: 391,
1434
1385
  S: this,
@@ -1437,7 +1388,7 @@ var RefImpl = class _RefImpl {
1437
1388
  "'Resolver is not set'"
1438
1389
  ]
1439
1390
  });
1440
- return await _class_private_field_get(this, _resolver).resolve(_class_private_field_get(this, _dxn));
1391
+ return await this.#resolver.resolve(this.#dxn);
1441
1392
  }
1442
1393
  /**
1443
1394
  * Do not inline the target object in the reference.
@@ -1445,15 +1396,15 @@ var RefImpl = class _RefImpl {
1445
1396
  * Clones the reference object.
1446
1397
  */
1447
1398
  noInline() {
1448
- const ref = new _RefImpl(_class_private_field_get(this, _dxn), void 0);
1449
- _class_private_field_set(ref, _resolver, _class_private_field_get(this, _resolver));
1399
+ const ref = new _RefImpl(this.#dxn, void 0);
1400
+ ref.#resolver = this.#resolver;
1450
1401
  return ref;
1451
1402
  }
1452
1403
  encode() {
1453
1404
  return {
1454
- "/": _class_private_field_get(this, _dxn).toString(),
1455
- ..._class_private_field_get(this, _target) ? {
1456
- target: _class_private_field_get(this, _target)
1405
+ "/": this.#dxn.toString(),
1406
+ ...this.#target ? {
1407
+ target: this.#target
1457
1408
  } : {}
1458
1409
  };
1459
1410
  }
@@ -1467,17 +1418,18 @@ var RefImpl = class _RefImpl {
1467
1418
  return this.encode();
1468
1419
  }
1469
1420
  toString() {
1470
- if (_class_private_field_get(this, _target)) {
1471
- return `Ref(${_class_private_field_get(this, _target).toString()})`;
1421
+ if (this.#target) {
1422
+ return `Ref(${this.#target.toString()})`;
1472
1423
  }
1473
- return `Ref(${_class_private_field_get(this, _dxn).toString()})`;
1424
+ return `Ref(${this.#dxn.toString()})`;
1474
1425
  }
1426
+ [RefTypeId] = refVariance;
1475
1427
  /**
1476
1428
  * Internal method to set the resolver.
1477
1429
  * @internal
1478
1430
  */
1479
1431
  _setResolver(resolver) {
1480
- _class_private_field_set(this, _resolver, resolver);
1432
+ this.#resolver = resolver;
1481
1433
  }
1482
1434
  /**
1483
1435
  * Internal method to get the saved target.
@@ -1485,34 +1437,7 @@ var RefImpl = class _RefImpl {
1485
1437
  * @internal
1486
1438
  */
1487
1439
  _getSavedTarget() {
1488
- return _class_private_field_get(this, _target);
1489
- }
1490
- constructor(dxn, target) {
1491
- _class_private_field_init(this, _dxn, {
1492
- writable: true,
1493
- value: void 0
1494
- });
1495
- _class_private_field_init(this, _resolver, {
1496
- writable: true,
1497
- value: void 0
1498
- });
1499
- _class_private_field_init(this, _signal, {
1500
- writable: true,
1501
- value: compositeRuntime.createSignal()
1502
- });
1503
- _class_private_field_init(this, _target, {
1504
- writable: true,
1505
- value: void 0
1506
- });
1507
- _class_private_field_init(this, _resolverCallback, {
1508
- writable: true,
1509
- value: () => {
1510
- _class_private_field_get(this, _signal).notifyWrite();
1511
- }
1512
- });
1513
- _define_property2(this, _RefTypeId, refVariance);
1514
- _class_private_field_set(this, _dxn, dxn);
1515
- _class_private_field_set(this, _target, target);
1440
+ return this.#target;
1516
1441
  }
1517
1442
  };
1518
1443
  var setRefResolver = (ref, resolver) => {
@@ -1551,6 +1476,8 @@ var refFromEncodedReference = (encodedReference, resolver) => {
1551
1476
  return ref;
1552
1477
  };
1553
1478
  var StaticRefResolver = class {
1479
+ objects = /* @__PURE__ */ new Map();
1480
+ schemas = /* @__PURE__ */ new Map();
1554
1481
  addObject(obj) {
1555
1482
  this.objects.set(obj.id, obj);
1556
1483
  return this;
@@ -1586,10 +1513,6 @@ var StaticRefResolver = class {
1586
1513
  async resolveSchema(dxn) {
1587
1514
  return this.schemas.get(dxn.toString());
1588
1515
  }
1589
- constructor() {
1590
- _define_property2(this, "objects", /* @__PURE__ */ new Map());
1591
- _define_property2(this, "schemas", /* @__PURE__ */ new Map());
1592
- }
1593
1516
  };
1594
1517
 
1595
1518
  // src/internal/ref/ref-array.ts
@@ -1926,19 +1849,6 @@ import * as SchemaAST7 from "effect/SchemaAST";
1926
1849
  import { raise as raise3 } from "@dxos/debug";
1927
1850
  import { assertArgument as assertArgument6, invariant as invariant7 } from "@dxos/invariant";
1928
1851
  import { DXN as DXN8 } from "@dxos/keys";
1929
- function _define_property3(obj, key, value) {
1930
- if (key in obj) {
1931
- Object.defineProperty(obj, key, {
1932
- value,
1933
- enumerable: true,
1934
- configurable: true,
1935
- writable: true
1936
- });
1937
- } else {
1938
- obj[key] = value;
1939
- }
1940
- return obj;
1941
- }
1942
1852
  var __dxlog_file7 = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/object/entity.ts";
1943
1853
  var EchoObject = ({ typename, version }) => {
1944
1854
  return (self) => {
@@ -2070,8 +1980,9 @@ var getDXNForRelationSchemaRef = (schema) => {
2070
1980
  return DXN8.fromTypename(typename).toString();
2071
1981
  };
2072
1982
  var makeEchoObjectSchema = (ast, typename, version) => {
2073
- var _Schema_make, _EchoObjectSchemaClass;
2074
- return _EchoObjectSchemaClass = class EchoObjectSchemaClass extends (_Schema_make = Schema15.make(ast)) {
1983
+ return class EchoObjectSchemaClass extends Schema15.make(ast) {
1984
+ static typename = typename;
1985
+ static version = version;
2075
1986
  static annotations(annotations7) {
2076
1987
  const schema = Schema15.make(ast).annotations(annotations7);
2077
1988
  return makeEchoObjectSchema(
@@ -2095,7 +2006,7 @@ var makeEchoObjectSchema = (ast, typename, version) => {
2095
2006
  static instanceOf(value) {
2096
2007
  return Schema15.is(this)(value);
2097
2008
  }
2098
- }, _define_property3(_EchoObjectSchemaClass, "typename", typename), _define_property3(_EchoObjectSchemaClass, "version", version), _EchoObjectSchemaClass;
2009
+ };
2099
2010
  };
2100
2011
 
2101
2012
  // src/internal/object/expando.ts
@@ -2739,8 +2650,7 @@ var annotations_toJsonSchemaFields = (annotations7) => {
2739
2650
  }
2740
2651
  const echoIdentifier = annotations7[TypeIdentifierAnnotationId];
2741
2652
  if (echoIdentifier) {
2742
- var _schemaFields, _ECHO_ANNOTATIONS_NS_KEY;
2743
- (_schemaFields = schemaFields)[_ECHO_ANNOTATIONS_NS_KEY = ECHO_ANNOTATIONS_NS_KEY] ?? (_schemaFields[_ECHO_ANNOTATIONS_NS_KEY] = {});
2653
+ schemaFields[ECHO_ANNOTATIONS_NS_KEY] ??= {};
2744
2654
  schemaFields[ECHO_ANNOTATIONS_NS_KEY].schemaId = echoIdentifier;
2745
2655
  }
2746
2656
  for (const [key, annotationId] of Object.entries(CustomAnnotations)) {
@@ -3035,26 +2945,27 @@ var StoredSchema = Schema22.Struct({
3035
2945
  }));
3036
2946
 
3037
2947
  // src/internal/schema/echo-schema.ts
3038
- function _define_property4(obj, key, value) {
3039
- if (key in obj) {
3040
- Object.defineProperty(obj, key, {
3041
- value,
3042
- enumerable: true,
3043
- configurable: true,
3044
- writable: true
3045
- });
3046
- } else {
3047
- obj[key] = value;
3048
- }
3049
- return obj;
3050
- }
3051
2948
  var __dxlog_file12 = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/schema/echo-schema.ts";
3052
- var _Schema_TypeId = Schema23.TypeId;
3053
2949
  var ImmutableSchema = class {
2950
+ _schema;
2951
+ _objectAnnotation;
2952
+ constructor(_schema) {
2953
+ this._schema = _schema;
2954
+ this._objectAnnotation = getTypeAnnotation(this._schema);
2955
+ invariant12(this._objectAnnotation, void 0, {
2956
+ F: __dxlog_file12,
2957
+ L: 47,
2958
+ S: this,
2959
+ A: [
2960
+ "this._objectAnnotation",
2961
+ ""
2962
+ ]
2963
+ });
2964
+ }
3054
2965
  //
3055
2966
  // Effect Schema (push to abstract base class).
3056
2967
  //
3057
- get [_Schema_TypeId]() {
2968
+ get [Schema23.TypeId]() {
3058
2969
  return schemaVariance2;
3059
2970
  }
3060
2971
  get Type() {
@@ -3100,29 +3011,13 @@ var ImmutableSchema = class {
3100
3011
  get mutable() {
3101
3012
  throw new Error("Schema is readonly.");
3102
3013
  }
3103
- constructor(_schema) {
3104
- _define_property4(this, "_schema", void 0);
3105
- _define_property4(this, "_objectAnnotation", void 0);
3106
- this._schema = _schema;
3107
- this._objectAnnotation = getTypeAnnotation(this._schema);
3108
- invariant12(this._objectAnnotation, void 0, {
3109
- F: __dxlog_file12,
3110
- L: 47,
3111
- S: this,
3112
- A: [
3113
- "this._objectAnnotation",
3114
- ""
3115
- ]
3116
- });
3117
- }
3118
3014
  };
3119
3015
  var EchoSchemaConstructor = () => {
3120
- let _Schema_TypeId2;
3121
- var _class;
3122
- return _Schema_TypeId2 = Schema23.TypeId, _class = class {
3016
+ return class {
3123
3017
  static get _schema() {
3124
3018
  return Schema23.Union(StoredSchema, Schema23.instanceOf(EchoSchema)).annotations(StoredSchema.ast.annotations);
3125
3019
  }
3020
+ static [Schema23.TypeId] = schemaVariance2;
3126
3021
  static get ast() {
3127
3022
  const schema = this._schema;
3128
3023
  return schema.ast;
@@ -3135,7 +3030,7 @@ var EchoSchemaConstructor = () => {
3135
3030
  const schema = this._schema;
3136
3031
  return schema.pipe.bind(schema);
3137
3032
  }
3138
- }, _define_property4(_class, _Schema_TypeId2, schemaVariance2), _class;
3033
+ };
3139
3034
  };
3140
3035
  var isMutable = (schema) => {
3141
3036
  return schema instanceof EchoSchema;
@@ -3145,13 +3040,17 @@ var schemaVariance2 = {
3145
3040
  _I: (_) => _,
3146
3041
  _R: (_) => _
3147
3042
  };
3148
- var _Schema_TypeId1 = Schema23.TypeId;
3149
- var _SchemaMetaSymbol = SchemaMetaSymbol;
3150
3043
  var EchoSchema = class extends EchoSchemaConstructor() {
3044
+ _storedSchema;
3045
+ _schema;
3046
+ _isDirty = true;
3047
+ constructor(_storedSchema) {
3048
+ super(), this._storedSchema = _storedSchema;
3049
+ }
3151
3050
  //
3152
3051
  // Effect Schema (push to abstract base class).
3153
3052
  //
3154
- get [_Schema_TypeId1]() {
3053
+ get [Schema23.TypeId]() {
3155
3054
  return schemaVariance2;
3156
3055
  }
3157
3056
  get Type() {
@@ -3230,7 +3129,7 @@ var EchoSchema = class extends EchoSchemaConstructor() {
3230
3129
  get name() {
3231
3130
  return this._storedSchema.name;
3232
3131
  }
3233
- get [_SchemaMetaSymbol]() {
3132
+ get [SchemaMetaSymbol]() {
3234
3133
  return {
3235
3134
  id: this.id,
3236
3135
  typename: this.typename,
@@ -3324,9 +3223,6 @@ var EchoSchema = class extends EchoSchemaConstructor() {
3324
3223
  this._rebuild();
3325
3224
  return this._schema;
3326
3225
  }
3327
- constructor(_storedSchema) {
3328
- super(), _define_property4(this, "_storedSchema", void 0), _define_property4(this, "_schema", void 0), _define_property4(this, "_isDirty", void 0), this._storedSchema = _storedSchema, this._isDirty = true;
3329
- }
3330
3226
  };
3331
3227
  var unwrapOptionality = (property) => {
3332
3228
  if (!SchemaAST14.isUnion(property.type)) {
@@ -3342,21 +3238,14 @@ var unwrapOptionality = (property) => {
3342
3238
  import { raise as raise5 } from "@dxos/debug";
3343
3239
  import { invariant as invariant13 } from "@dxos/invariant";
3344
3240
  import { defaultMap } from "@dxos/util";
3345
- function _define_property5(obj, key, value) {
3346
- if (key in obj) {
3347
- Object.defineProperty(obj, key, {
3348
- value,
3349
- enumerable: true,
3350
- configurable: true,
3351
- writable: true
3352
- });
3353
- } else {
3354
- obj[key] = value;
3355
- }
3356
- return obj;
3357
- }
3358
3241
  var __dxlog_file13 = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/schema/runtime-schema-registry.ts";
3359
3242
  var RuntimeSchemaRegistry = class {
3243
+ _registry = /* @__PURE__ */ new Map();
3244
+ constructor() {
3245
+ this._registry.set(StoredSchema.typename, [
3246
+ StoredSchema
3247
+ ]);
3248
+ }
3360
3249
  get schemas() {
3361
3250
  return Array.from(this._registry.values()).flat();
3362
3251
  }
@@ -3405,12 +3294,6 @@ var RuntimeSchemaRegistry = class {
3405
3294
  versions.push(schema);
3406
3295
  });
3407
3296
  }
3408
- constructor() {
3409
- _define_property5(this, "_registry", /* @__PURE__ */ new Map());
3410
- this._registry.set(StoredSchema.typename, [
3411
- StoredSchema
3412
- ]);
3413
- }
3414
3297
  };
3415
3298
 
3416
3299
  // src/internal/projection/compose.ts
@@ -3439,12 +3322,10 @@ var composeSchema = (source, target) => {
3439
3322
  const propSchema = source.properties[prop];
3440
3323
  const annotations7 = propSchema?.annotations?.meta;
3441
3324
  if (annotations7) {
3442
- var _result_properties_prop, _result_properties_prop_annotations;
3443
- (_result_properties_prop = result.properties[prop]).annotations ?? (_result_properties_prop.annotations = {});
3444
- (_result_properties_prop_annotations = result.properties[prop].annotations).meta ?? (_result_properties_prop_annotations.meta = {});
3325
+ result.properties[prop].annotations ??= {};
3326
+ result.properties[prop].annotations.meta ??= {};
3445
3327
  for (const key in annotations7) {
3446
- var _result_properties_prop_annotations_meta, _key;
3447
- (_result_properties_prop_annotations_meta = result.properties[prop].annotations.meta)[_key = key] ?? (_result_properties_prop_annotations_meta[_key] = {});
3328
+ result.properties[prop].annotations.meta[key] ??= {};
3448
3329
  Object.assign(result.properties[prop].annotations.meta[key], annotations7[key], {
3449
3330
  ...result.properties[prop].annotations.meta[key]
3450
3331
  });
@@ -3465,23 +3346,14 @@ import { inspectCustom as inspectCustom2 } from "@dxos/debug";
3465
3346
  import { compositeRuntime as compositeRuntime2 } from "@dxos/echo-signals/runtime";
3466
3347
  import { invariant as invariant15 } from "@dxos/invariant";
3467
3348
  import { ReactiveArray, createProxy, defineHiddenProperty as defineHiddenProperty3, isValidProxyTarget, objectData, symbolIsProxy } from "@dxos/live-object";
3468
- function _define_property6(obj, key, value) {
3469
- if (key in obj) {
3470
- Object.defineProperty(obj, key, {
3471
- value,
3472
- enumerable: true,
3473
- configurable: true,
3474
- writable: true
3475
- });
3476
- } else {
3477
- obj[key] = value;
3478
- }
3479
- return obj;
3480
- }
3481
3349
  var __dxlog_file15 = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/proxy/typed-handler.ts";
3482
3350
  var symbolSignal = Symbol("signal");
3483
3351
  var symbolPropertySignal = Symbol("property-signal");
3484
- var TypedReactiveHandler = class {
3352
+ var TypedReactiveHandler = class _TypedReactiveHandler {
3353
+ static instance = new _TypedReactiveHandler();
3354
+ _proxyMap = /* @__PURE__ */ new WeakMap();
3355
+ constructor() {
3356
+ }
3485
3357
  init(target) {
3486
3358
  invariant15(typeof target === "object" && target !== null, void 0, {
3487
3359
  F: __dxlog_file15,
@@ -3582,11 +3454,7 @@ var TypedReactiveHandler = class {
3582
3454
  customInspect: false
3583
3455
  })}`;
3584
3456
  }
3585
- constructor() {
3586
- _define_property6(this, "_proxyMap", /* @__PURE__ */ new WeakMap());
3587
- }
3588
3457
  };
3589
- _define_property6(TypedReactiveHandler, "instance", new TypedReactiveHandler());
3590
3458
  var toJSON = (target) => {
3591
3459
  return {
3592
3460
  "@type": "TypedReactiveObject",
@@ -3716,6 +3584,8 @@ export {
3716
3584
  LabelAnnotation,
3717
3585
  DescriptionAnnotationId,
3718
3586
  DescriptionAnnotation,
3587
+ FormAnnotationId,
3588
+ FormAnnotation,
3719
3589
  FieldLookupAnnotationId,
3720
3590
  GeneratorAnnotationId,
3721
3591
  GeneratorAnnotation,
@@ -3854,4 +3724,4 @@ export {
3854
3724
  ForeignKey2 as ForeignKey,
3855
3725
  defineHiddenProperty5 as defineHiddenProperty
3856
3726
  };
3857
- //# sourceMappingURL=chunk-BQRA4VLX.mjs.map
3727
+ //# sourceMappingURL=chunk-3FGSPSYN.mjs.map