@haverstack/core 0.42.0 → 0.44.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.
Files changed (185) hide show
  1. package/README.md +6 -9
  2. package/dist/access.d.ts +36 -34
  3. package/dist/access.d.ts.map +1 -1
  4. package/dist/access.js +51 -100
  5. package/dist/access.js.map +1 -1
  6. package/dist/adapter/combine.d.ts.map +1 -1
  7. package/dist/adapter/combine.js +14 -7
  8. package/dist/adapter/combine.js.map +1 -1
  9. package/dist/adapter/copy.d.ts +27 -0
  10. package/dist/adapter/copy.d.ts.map +1 -0
  11. package/dist/adapter/copy.js +105 -0
  12. package/dist/adapter/copy.js.map +1 -0
  13. package/dist/adapter/index.d.ts +9 -4
  14. package/dist/adapter/index.d.ts.map +1 -1
  15. package/dist/adapter/index.js +6 -3
  16. package/dist/adapter/index.js.map +1 -1
  17. package/dist/adapter/reach.d.ts +14 -0
  18. package/dist/adapter/reach.d.ts.map +1 -0
  19. package/dist/adapter/reach.js +31 -0
  20. package/dist/adapter/reach.js.map +1 -0
  21. package/dist/adapter/seed.d.ts +13 -0
  22. package/dist/adapter/seed.d.ts.map +1 -0
  23. package/dist/adapter/seed.js +26 -0
  24. package/dist/adapter/seed.js.map +1 -0
  25. package/dist/associations/identity.d.ts +18 -42
  26. package/dist/associations/identity.d.ts.map +1 -1
  27. package/dist/associations/identity.js +60 -84
  28. package/dist/associations/identity.js.map +1 -1
  29. package/dist/associations/validation.d.ts +1 -8
  30. package/dist/associations/validation.d.ts.map +1 -1
  31. package/dist/associations/validation.js +3 -30
  32. package/dist/associations/validation.js.map +1 -1
  33. package/dist/collection.d.ts +7 -11
  34. package/dist/collection.d.ts.map +1 -1
  35. package/dist/collection.js +24 -34
  36. package/dist/collection.js.map +1 -1
  37. package/dist/content-match.d.ts +2 -2
  38. package/dist/content-match.js +2 -2
  39. package/dist/errors.d.ts +41 -12
  40. package/dist/errors.d.ts.map +1 -1
  41. package/dist/errors.js +56 -15
  42. package/dist/errors.js.map +1 -1
  43. package/dist/grants.d.ts +18 -6
  44. package/dist/grants.d.ts.map +1 -1
  45. package/dist/grants.js +48 -37
  46. package/dist/grants.js.map +1 -1
  47. package/dist/hash.d.ts +8 -0
  48. package/dist/hash.d.ts.map +1 -0
  49. package/dist/hash.js +14 -0
  50. package/dist/hash.js.map +1 -0
  51. package/dist/index.d.ts +6 -6
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +2 -2
  54. package/dist/index.js.map +1 -1
  55. package/dist/install.d.ts +29 -5
  56. package/dist/install.d.ts.map +1 -1
  57. package/dist/install.js +69 -44
  58. package/dist/install.js.map +1 -1
  59. package/dist/lazy.d.ts +13 -0
  60. package/dist/lazy.d.ts.map +1 -0
  61. package/dist/lazy.js +27 -0
  62. package/dist/lazy.js.map +1 -0
  63. package/dist/merge.d.ts +1 -1
  64. package/dist/merge.js +1 -1
  65. package/dist/query-validation.d.ts +41 -28
  66. package/dist/query-validation.d.ts.map +1 -1
  67. package/dist/query-validation.js +85 -71
  68. package/dist/query-validation.js.map +1 -1
  69. package/dist/record-changes.d.ts +12 -36
  70. package/dist/record-changes.d.ts.map +1 -1
  71. package/dist/record-changes.js +9 -98
  72. package/dist/record-changes.js.map +1 -1
  73. package/dist/schema.d.ts.map +1 -1
  74. package/dist/schema.js +2 -5
  75. package/dist/schema.js.map +1 -1
  76. package/dist/scoped-stack/authority-snapshot.d.ts +37 -0
  77. package/dist/scoped-stack/authority-snapshot.d.ts.map +1 -0
  78. package/dist/scoped-stack/authority-snapshot.js +49 -0
  79. package/dist/scoped-stack/authority-snapshot.js.map +1 -0
  80. package/dist/scoped-stack/authority.d.ts +69 -51
  81. package/dist/scoped-stack/authority.d.ts.map +1 -1
  82. package/dist/scoped-stack/authority.js +189 -153
  83. package/dist/scoped-stack/authority.js.map +1 -1
  84. package/dist/scoped-stack/family-policy.d.ts +59 -0
  85. package/dist/scoped-stack/family-policy.d.ts.map +1 -0
  86. package/dist/scoped-stack/family-policy.js +68 -0
  87. package/dist/scoped-stack/family-policy.js.map +1 -0
  88. package/dist/scoped-stack/scoped-stack.d.ts +73 -86
  89. package/dist/scoped-stack/scoped-stack.d.ts.map +1 -1
  90. package/dist/scoped-stack/scoped-stack.js +279 -337
  91. package/dist/scoped-stack/scoped-stack.js.map +1 -1
  92. package/dist/scoped-stack/subscription.d.ts +14 -33
  93. package/dist/scoped-stack/subscription.d.ts.map +1 -1
  94. package/dist/scoped-stack/subscription.js +16 -57
  95. package/dist/scoped-stack/subscription.js.map +1 -1
  96. package/dist/stack/arguments.d.ts +27 -0
  97. package/dist/stack/arguments.d.ts.map +1 -0
  98. package/dist/stack/arguments.js +53 -0
  99. package/dist/stack/arguments.js.map +1 -0
  100. package/dist/stack/attachments.d.ts +1 -1
  101. package/dist/stack/attachments.js +1 -1
  102. package/dist/stack/changes.d.ts +4 -10
  103. package/dist/stack/changes.d.ts.map +1 -1
  104. package/dist/stack/changes.js +8 -8
  105. package/dist/stack/changes.js.map +1 -1
  106. package/dist/stack/client.d.ts +34 -58
  107. package/dist/stack/client.d.ts.map +1 -1
  108. package/dist/stack/field-rules.d.ts +27 -0
  109. package/dist/stack/field-rules.d.ts.map +1 -0
  110. package/dist/stack/field-rules.js +50 -0
  111. package/dist/stack/field-rules.js.map +1 -0
  112. package/dist/stack/install-app.d.ts +2 -2
  113. package/dist/stack/install-app.d.ts.map +1 -1
  114. package/dist/stack/install-app.js +16 -14
  115. package/dist/stack/install-app.js.map +1 -1
  116. package/dist/stack/integrity.d.ts +9 -53
  117. package/dist/stack/integrity.d.ts.map +1 -1
  118. package/dist/stack/integrity.js +47 -107
  119. package/dist/stack/integrity.js.map +1 -1
  120. package/dist/stack/limits.d.ts +1 -1
  121. package/dist/stack/limits.js +1 -1
  122. package/dist/stack/reads.d.ts +9 -5
  123. package/dist/stack/reads.d.ts.map +1 -1
  124. package/dist/stack/reads.js +24 -4
  125. package/dist/stack/reads.js.map +1 -1
  126. package/dist/stack/stack.d.ts +84 -79
  127. package/dist/stack/stack.d.ts.map +1 -1
  128. package/dist/stack/stack.js +236 -306
  129. package/dist/stack/stack.js.map +1 -1
  130. package/dist/stack/system-types.d.ts.map +1 -1
  131. package/dist/stack/system-types.js +1 -3
  132. package/dist/stack/system-types.js.map +1 -1
  133. package/dist/stack/type-grants.d.ts.map +1 -1
  134. package/dist/stack/type-grants.js +9 -6
  135. package/dist/stack/type-grants.js.map +1 -1
  136. package/dist/stack/write-expectation.d.ts +13 -12
  137. package/dist/stack/write-expectation.d.ts.map +1 -1
  138. package/dist/stack/write-expectation.js.map +1 -1
  139. package/dist/stack/write-gate.d.ts +23 -0
  140. package/dist/stack/write-gate.d.ts.map +1 -0
  141. package/dist/stack/write-gate.js +17 -0
  142. package/dist/stack/write-gate.js.map +1 -0
  143. package/dist/testing.d.ts +37 -24
  144. package/dist/testing.d.ts.map +1 -1
  145. package/dist/testing.js +176 -153
  146. package/dist/testing.js.map +1 -1
  147. package/dist/types/adapter.d.ts +115 -43
  148. package/dist/types/adapter.d.ts.map +1 -1
  149. package/dist/types/associations.d.ts +1 -17
  150. package/dist/types/associations.d.ts.map +1 -1
  151. package/dist/types/associations.js +1 -8
  152. package/dist/types/associations.js.map +1 -1
  153. package/dist/types/capabilities.d.ts +8 -8
  154. package/dist/types/capabilities.d.ts.map +1 -1
  155. package/dist/types/events.d.ts +3 -8
  156. package/dist/types/events.d.ts.map +1 -1
  157. package/dist/types/query.d.ts +4 -4
  158. package/dist/types/system.d.ts +2 -8
  159. package/dist/types/system.d.ts.map +1 -1
  160. package/dist/types/system.js.map +1 -1
  161. package/dist/validate.d.ts +2 -0
  162. package/dist/validate.d.ts.map +1 -1
  163. package/dist/validate.js +2 -1
  164. package/dist/validate.js.map +1 -1
  165. package/dist/wire/body.d.ts +32 -9
  166. package/dist/wire/body.d.ts.map +1 -1
  167. package/dist/wire/body.js +69 -8
  168. package/dist/wire/body.js.map +1 -1
  169. package/dist/wire/index.d.ts +4 -4
  170. package/dist/wire/index.d.ts.map +1 -1
  171. package/dist/wire/index.js +3 -3
  172. package/dist/wire/index.js.map +1 -1
  173. package/dist/wire/record.d.ts +1 -8
  174. package/dist/wire/record.d.ts.map +1 -1
  175. package/dist/wire/record.js +0 -48
  176. package/dist/wire/record.js.map +1 -1
  177. package/dist/wire/request.d.ts +18 -18
  178. package/dist/wire/request.d.ts.map +1 -1
  179. package/dist/wire/request.js +41 -36
  180. package/dist/wire/request.js.map +1 -1
  181. package/package.json +1 -1
  182. package/dist/stack/identity-bindings.d.ts +0 -13
  183. package/dist/stack/identity-bindings.d.ts.map +0 -1
  184. package/dist/stack/identity-bindings.js +0 -36
  185. package/dist/stack/identity-bindings.js.map +0 -1
@@ -37,7 +37,7 @@ export function parseDate(val) {
37
37
  const d = new Date(val);
38
38
  return isNaN(d.getTime()) ? undefined : d;
39
39
  }
40
- const POSITIVE_INTEGER = /^\d+$/;
40
+ const UNSIGNED_INTEGER = /^\d+$/;
41
41
  const SORT_FIELDS = new Set(NATIVE_SORT_FIELDS);
42
42
  const SORT_DIRECTIONS = new Set(['asc', 'desc']);
43
43
  const CHANGE_KINDS = new Set(['created', 'changed', 'removed', 'purged']);
@@ -46,6 +46,7 @@ const TARGET_KINDS = new Set(['record', 'entity', 'external']);
46
46
  /** Every param `GET /records` defines. See docs/spec/wire-format.md § Records. */
47
47
  const RECORD_QUERY_PARAMS = [
48
48
  'typeId',
49
+ 'baseId',
49
50
  'parentId',
50
51
  'appId',
51
52
  'createdBySubject',
@@ -75,6 +76,7 @@ const RECORD_QUERY_PARAMS = [
75
76
  ];
76
77
  const QUERY_BODY_FILTER_KEYS = [
77
78
  'typeId',
79
+ 'baseId',
78
80
  'parentId',
79
81
  'appId',
80
82
  'createdBy',
@@ -107,12 +109,13 @@ const CHANGE_PARAMS = [
107
109
  'since',
108
110
  ];
109
111
  /**
110
- * Strict positive-integer parse for a URL param — rejects "1abc", "2.7",
111
- * "-5". Also serves the `:version` path params, which share this
112
- * "malformed, don't silently coerce" requirement.
112
+ * Strict digits-only parse for a URL param — rejects "1abc", "2.7", "-5".
113
+ * Shape only: whether 0 is in range is `Stack`'s to judge. Also serves the
114
+ * `:version` path params, which share this "malformed, don't silently
115
+ * coerce" requirement.
113
116
  */
114
- export function parsePositiveInt(raw, label) {
115
- if (!POSITIVE_INTEGER.test(raw))
117
+ export function parseUnsignedInt(raw, label) {
118
+ if (!UNSIGNED_INTEGER.test(raw))
116
119
  throw new StackBadRequestError(`Invalid ${label}: "${raw}"`);
117
120
  return parseInt(raw, 10);
118
121
  }
@@ -135,9 +138,10 @@ function requireSortField(raw) {
135
138
  */
136
139
  function buildSort(field, contentField, direction, contentFieldByType) {
137
140
  const named = [field, contentField, contentFieldByType].filter((member) => member !== undefined && member !== null);
138
- if (named.length > 1)
139
- throw new StackBadRequestError('A sort names one of a native field, a content field or a content field per type.');
140
141
  const dir = direction === undefined || direction === null ? undefined : requireSortDirection(direction);
142
+ // A direction alone names no sort: decoding it would drop the direction.
143
+ if (named.length > 1 || (named.length === 0 && dir !== undefined))
144
+ throw new StackBadRequestError('A sort names exactly one of a native field, a content field or a content field per type.');
141
145
  if (contentFieldByType !== undefined && contentFieldByType !== null) {
142
146
  return {
143
147
  contentFieldByType: parseSortByTypeBody(contentFieldByType),
@@ -234,35 +238,30 @@ function optionalBoolean(raw, label) {
234
238
  return raw;
235
239
  }
236
240
  // -------------------------------------------------------
237
- // Filter fields that never travel
241
+ // The query field that never travels
238
242
  // -------------------------------------------------------
239
- const BASE_ID_REFUSAL = 'baseId is resolved client-side against registered Types and never travels — send the ' +
240
- 'concrete typeId set it resolves to. See docs/spec/data-model.md § Filter.';
241
243
  const PRESENT_AT_REFUSAL = 'presentAt applies migrations, which are app code rather than server code, so no ' +
242
244
  'server can honor it — read records as stored and migrate them client-side. See ' +
243
245
  'docs/spec/data-model.md § Type migrations.';
244
246
  /**
245
- * Refuse the two `StackQuery` fields with no wire encoding, rather than
246
- * dropping them. Both would otherwise return a result the caller believes
247
- * is narrower (`baseId`) or migrated (`presentAt`) than what it holds —
248
- * the same silent degradation `assertQueryCapabilities()` refuses for a
247
+ * Refuse `presentAt`, which has no wire encoding, rather than dropping it:
248
+ * the caller would believe records as stored had been migrated — the same
249
+ * silent degradation `assertQueryCapabilities()` refuses for a
249
250
  * capability-gated filter. See docs/spec/wire-format.md § Records.
250
251
  */
251
- function assertNoUntravelableFields(hasBaseId, hasPresentAt) {
252
- if (hasBaseId)
253
- throw new StackBadRequestError(BASE_ID_REFUSAL);
252
+ function assertNoPresentAt(hasPresentAt) {
254
253
  if (hasPresentAt)
255
254
  throw new StackBadRequestError(PRESENT_AT_REFUSAL);
256
255
  }
257
256
  /**
258
257
  * The client half of the same refusal, before a request is built.
259
- * `Stack.query()` resolves `baseId` and `presentAt` itself, so this catches
260
- * the direct adapter call, where search params would drop them into a wider
261
- * result. Absent and `undefined` are one here; the parsers test presence,
262
- * since over the wire a written key is one the client meant to send.
258
+ * `Stack.query()` applies `presentAt` itself, so this catches the direct
259
+ * adapter call, where search params would drop it. Absent and `undefined`
260
+ * are one here; the parsers test presence, since over the wire a written
261
+ * key is one the client meant to send.
263
262
  */
264
263
  export function assertQueryTravels(query) {
265
- assertNoUntravelableFields(query.filter?.baseId !== undefined, query.presentAt !== undefined);
264
+ assertNoPresentAt(query.presentAt !== undefined);
266
265
  }
267
266
  // -------------------------------------------------------
268
267
  // Relationship filter
@@ -393,19 +392,22 @@ function parseCreatedByParams(url) {
393
392
  };
394
393
  }
395
394
  /**
396
- * Build a `StackQuery` from `GET /records` search params — the inverse of
395
+ * Build a `PlainQuery` from `GET /records` search params — the inverse of
397
396
  * what `APIAdapter` encodes for a server that reaches no content.
398
397
  * `parentId=null` is the literal string, the sentinel for "top level":
399
398
  * Crockford base-32 excludes `u` and `l`, so no record ID can collide
400
399
  * with it. See docs/spec/wire-format.md § Records.
401
400
  */
402
401
  export function parseQueryParams(url) {
403
- assertNoUntravelableFields(url.searchParams.has('baseId'), url.searchParams.has('presentAt'));
402
+ assertNoPresentAt(url.searchParams.has('presentAt'));
404
403
  requireKnownParams(url, RECORD_QUERY_PARAMS);
405
404
  const filter = {};
406
405
  const typeIds = url.searchParams.getAll('typeId');
407
406
  if (typeIds.length)
408
407
  filter.typeId = typeIds.length === 1 ? typeIds[0] : typeIds;
408
+ const baseIds = url.searchParams.getAll('baseId');
409
+ if (baseIds.length)
410
+ filter.baseId = baseIds.length === 1 ? baseIds[0] : baseIds;
409
411
  const parentId = url.searchParams.get('parentId');
410
412
  if (parentId !== null)
411
413
  filter.parentId = parentId === 'null' ? null : parentId;
@@ -458,7 +460,7 @@ export function parseQueryParams(url) {
458
460
  query.sort = sort;
459
461
  const limit = url.searchParams.get('limit');
460
462
  if (limit)
461
- query.limit = parsePositiveInt(limit, 'limit');
463
+ query.limit = parseUnsignedInt(limit, 'limit');
462
464
  const cursor = url.searchParams.get('cursor');
463
465
  if (cursor)
464
466
  query.cursor = cursor;
@@ -467,9 +469,9 @@ export function parseQueryParams(url) {
467
469
  // -------------------------------------------------------
468
470
  // POST /records/query
469
471
  // -------------------------------------------------------
470
- /** Validate a limit that already arrived as a JSON number. */
472
+ /** A limit's shape in a JSON body: a number. Its range is `Stack`'s to judge. */
471
473
  function parseLimitValue(raw) {
472
- if (typeof raw !== 'number' || !Number.isInteger(raw) || raw <= 0)
474
+ if (typeof raw !== 'number')
473
475
  throw new StackBadRequestError(`Invalid limit: ${JSON.stringify(raw)}`);
474
476
  return raw;
475
477
  }
@@ -508,7 +510,7 @@ function parseSortByTypeBody(raw) {
508
510
  return keys;
509
511
  }
510
512
  /**
511
- * Build a `StackQuery` from a `POST /records/query` body — the superset
513
+ * Build a `PlainQuery` from a `POST /records/query` body — the superset
512
514
  * form, which also carries `filter.content`, with ISO date strings decoded.
513
515
  * `undefined` is the absent body; any other non-object is refused.
514
516
  * See docs/spec/wire-format.md § Records.
@@ -518,7 +520,7 @@ export function parseQueryBody(raw) {
518
520
  return {};
519
521
  const body = requirePlainObject(raw, 'query body');
520
522
  const f = body.filter !== undefined ? requirePlainObject(body.filter, 'filter') : undefined;
521
- assertNoUntravelableFields(f !== undefined && 'baseId' in f, 'presentAt' in body);
523
+ assertNoPresentAt('presentAt' in body);
522
524
  requireKnownKeys(body, ['filter', 'sort', 'limit', 'cursor'], 'query body');
523
525
  if (f)
524
526
  requireKnownKeys(f, QUERY_BODY_FILTER_KEYS, 'filter');
@@ -527,6 +529,8 @@ export function parseQueryBody(raw) {
527
529
  const filter = {};
528
530
  if (f.typeId !== undefined)
529
531
  filter.typeId = requireStringOrArray(f.typeId, 'filter.typeId');
532
+ if (f.baseId !== undefined)
533
+ filter.baseId = requireStringOrArray(f.baseId, 'filter.baseId');
530
534
  if (f.parentId !== undefined)
531
535
  filter.parentId = f.parentId === null ? null : requireString(f.parentId, 'filter.parentId');
532
536
  if (f.appId !== undefined)
@@ -611,6 +615,8 @@ export function parseChangeParams(url) {
611
615
  const createdBy = parseCreatedByParams(url);
612
616
  if (createdBy)
613
617
  filter.createdBy = createdBy;
618
+ if (booleanParam(url, 'includeUnlisted'))
619
+ filter.includeUnlisted = true;
614
620
  const kinds = url.searchParams.getAll('kind');
615
621
  if (kinds.length) {
616
622
  for (const kind of kinds) {
@@ -625,7 +631,6 @@ export function parseChangeParams(url) {
625
631
  return {
626
632
  filter,
627
633
  includeRecords: include === 'record',
628
- includeUnlisted: booleanParam(url, 'includeUnlisted'),
629
634
  };
630
635
  }
631
636
  /**
@@ -639,10 +644,10 @@ export function parseJournalParams(url) {
639
644
  const query = {};
640
645
  const afterSeq = url.searchParams.get('afterSeq');
641
646
  if (afterSeq !== null)
642
- query.afterSeq = parsePositiveInt(afterSeq, 'afterSeq');
647
+ query.afterSeq = parseUnsignedInt(afterSeq, 'afterSeq');
643
648
  const limit = url.searchParams.get('limit');
644
649
  if (limit !== null)
645
- query.limit = parsePositiveInt(limit, 'limit');
650
+ query.limit = parseUnsignedInt(limit, 'limit');
646
651
  return query;
647
652
  }
648
653
  /**
@@ -655,11 +660,11 @@ export function parseVersionsParams(url) {
655
660
  const query = {};
656
661
  const beforeVersion = url.searchParams.get('beforeVersion');
657
662
  if (beforeVersion !== null) {
658
- query.beforeVersion = parsePositiveInt(beforeVersion, 'beforeVersion');
663
+ query.beforeVersion = parseUnsignedInt(beforeVersion, 'beforeVersion');
659
664
  }
660
665
  const limit = url.searchParams.get('limit');
661
666
  if (limit !== null)
662
- query.limit = parsePositiveInt(limit, 'limit');
667
+ query.limit = parseUnsignedInt(limit, 'limit');
663
668
  return query;
664
669
  }
665
670
  // -------------------------------------------------------
@@ -730,7 +735,7 @@ export function parseIfMatch(header) {
730
735
  return undefined;
731
736
  const trimmed = header.trim();
732
737
  const unquoted = /^"(.*)"$/.exec(trimmed)?.[1] ?? trimmed;
733
- return parsePositiveInt(unquoted, 'If-Match');
738
+ return parseUnsignedInt(unquoted, 'If-Match');
734
739
  }
735
740
  /**
736
741
  * Read an upload's filename from its `Content-Disposition`. Prefers the
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/wire/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/wire/request.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haverstack/core",
3
- "version": "0.42.0",
3
+ "version": "0.44.0",
4
4
  "description": "Core library for Haverstack — portable personal data stack",
5
5
  "type": "module",
6
6
  "exports": {
@@ -1,13 +0,0 @@
1
- /**
2
- * DID bindings
3
- * -------------------------------------------------------
4
- * Which content fields are lookup keys rather than display values, and
5
- * which of those a stack resolves *by*. Every one is immutable once set;
6
- * the unique subset is additionally one-per-stack, because a lookup with
7
- * two answers is all an impersonating card needs.
8
- *
9
- * See docs/spec/identity.md § DID bindings.
10
- */
11
- export declare const bindingFieldsOf: (family: string) => readonly ("did" | "appId")[];
12
- export declare const uniqueBindingFieldsOf: (family: string) => readonly ("did" | "appId")[];
13
- //# sourceMappingURL=identity-bindings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity-bindings.d.ts","sourceRoot":"","sources":["../../src/stack/identity-bindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA4BH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,SAAS,CAAC,KAAK,GAAG,OAAO,CAAC,EACzC,CAAC;AAEnC,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,KAAG,SAAS,CAAC,KAAK,GAAG,OAAO,CAAC,EACxC,CAAC"}
@@ -1,36 +0,0 @@
1
- /**
2
- * DID bindings
3
- * -------------------------------------------------------
4
- * Which content fields are lookup keys rather than display values, and
5
- * which of those a stack resolves *by*. Every one is immutable once set;
6
- * the unique subset is additionally one-per-stack, because a lookup with
7
- * two answers is all an impersonating card needs.
8
- *
9
- * See docs/spec/identity.md § DID bindings.
10
- */
11
- import { SYSTEM_TYPES } from '../types/index.js';
12
- /**
13
- * Content fields that are lookup keys rather than display values: a card
14
- * claims one, and something later resolves through it. Every one of them is
15
- * immutable once set. See docs/spec/identity.md § DID bindings.
16
- */
17
- const BINDING_FIELDS = new Map([
18
- [SYSTEM_TYPES.APP, ['did', 'appId']],
19
- [SYSTEM_TYPES.ENTITY, ['did']],
20
- [SYSTEM_TYPES.INSTALL, ['appId']],
21
- ]);
22
- /**
23
- * The subset that is additionally unique per stack: the fields an Actor is
24
- * resolved *by*, where a second claimant leaves the lookup ambiguous.
25
- * `_app.appId` is deliberately absent — nothing resolves by it, and a new
26
- * key's card must repeat it. See docs/spec/identity.md § DID bindings.
27
- */
28
- const UNIQUE_BINDING_FIELDS = new Map([
29
- [SYSTEM_TYPES.APP, ['did']],
30
- [SYSTEM_TYPES.ENTITY, ['did']],
31
- // One install answers for each app; see docs/spec/apps.md § The `_install` record.
32
- [SYSTEM_TYPES.INSTALL, ['appId']],
33
- ]);
34
- export const bindingFieldsOf = (family) => BINDING_FIELDS.get(family) ?? [];
35
- export const uniqueBindingFieldsOf = (family) => UNIQUE_BINDING_FIELDS.get(family) ?? [];
36
- //# sourceMappingURL=identity-bindings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity-bindings.js","sourceRoot":"","sources":["../../src/stack/identity-bindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,cAAc,GAAsD,IAAI,GAAG,CAAC;IAChF,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,CAAU,CAAC;IAC7C,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,KAAK,CAAU,CAAC;IACvC,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,CAAU,CAAC;CAC3C,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,qBAAqB,GAAsD,IAAI,GAAG,CAAC;IACvF,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,CAAU,CAAC;IACpC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,KAAK,CAAU,CAAC;IACvC,mFAAmF;IACnF,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,CAAU,CAAC;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAc,EAAgC,EAAE,CAC9E,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAEnC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAgC,EAAE,CACpF,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC"}