@hypercerts-org/lexicon 0.10.0-beta.6 → 0.10.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/README.md +46 -0
  3. package/SCHEMAS.md +114 -104
  4. package/dist/exports.d.ts +186 -20
  5. package/dist/exports.d.ts.map +1 -1
  6. package/dist/generated/exports.d.ts +186 -20
  7. package/dist/generated/exports.d.ts.map +1 -1
  8. package/dist/generated/lexicons.d.ts +376 -54
  9. package/dist/generated/lexicons.d.ts.map +1 -1
  10. package/dist/generated/types/app/bsky/richtext/facet.d.ts +8 -0
  11. package/dist/generated/types/app/bsky/richtext/facet.d.ts.map +1 -0
  12. package/dist/generated/types/org/hypercerts/claim/activity.d.ts +12 -13
  13. package/dist/generated/types/org/hypercerts/claim/activity.d.ts.map +1 -1
  14. package/dist/generated/types/org/hypercerts/claim/collection.d.ts +18 -2
  15. package/dist/generated/types/org/hypercerts/claim/collection.d.ts.map +1 -1
  16. package/dist/generated/types/org/hypercerts/defs.d.ts +44 -0
  17. package/dist/generated/types/org/hypercerts/defs.d.ts.map +1 -1
  18. package/dist/generated/types/org/hypercerts/helper/workScopeTag.d.ts +31 -0
  19. package/dist/generated/types/org/hypercerts/helper/workScopeTag.d.ts.map +1 -0
  20. package/dist/index.cjs +729 -267
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.mjs +721 -263
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/lexicons.cjs +218 -27
  25. package/dist/lexicons.cjs.map +1 -1
  26. package/dist/lexicons.d.ts +376 -54
  27. package/dist/lexicons.d.ts.map +1 -1
  28. package/dist/lexicons.mjs +218 -27
  29. package/dist/lexicons.mjs.map +1 -1
  30. package/dist/types/app/bsky/richtext/facet.d.ts +8 -0
  31. package/dist/types/app/bsky/richtext/facet.d.ts.map +1 -0
  32. package/dist/types/org/hypercerts/claim/activity.d.ts +12 -13
  33. package/dist/types/org/hypercerts/claim/activity.d.ts.map +1 -1
  34. package/dist/types/org/hypercerts/claim/collection.d.ts +18 -2
  35. package/dist/types/org/hypercerts/claim/collection.d.ts.map +1 -1
  36. package/dist/types/org/hypercerts/defs.d.ts +44 -0
  37. package/dist/types/org/hypercerts/defs.d.ts.map +1 -1
  38. package/dist/types/org/hypercerts/helper/workScopeTag.d.ts +31 -0
  39. package/dist/types/org/hypercerts/helper/workScopeTag.d.ts.map +1 -0
  40. package/lexicons/org/hypercerts/claim/activity.json +31 -25
  41. package/lexicons/org/hypercerts/claim/collection.json +33 -2
  42. package/lexicons/org/hypercerts/defs.json +88 -0
  43. package/lexicons/org/hypercerts/helper/workScopeTag.json +65 -0
  44. package/package.json +4 -1
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var lexicon$g = require('@atproto/lexicon');
3
+ var lexicon$h = require('@atproto/lexicon');
4
4
 
5
5
  /**
6
6
  * GENERATED CODE - DO NOT MODIFY
@@ -18,7 +18,7 @@ function is$type($type, id, hash) {
18
18
  $type.startsWith(id) &&
19
19
  $type.endsWith(hash);
20
20
  }
21
- function is$typed$f(v, id, hash) {
21
+ function is$typed$g(v, id, hash) {
22
22
  return isObject(v) && '$type' in v && is$type(v.$type, id, hash);
23
23
  }
24
24
  function maybe$typed(v, id, hash) {
@@ -284,16 +284,32 @@ const schemaDict = {
284
284
  },
285
285
  shortDescription: {
286
286
  type: 'string',
287
- description: 'Short blurb of the impact work done.',
287
+ description: 'Short summary of this activity claim, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.',
288
288
  maxLength: 3000,
289
289
  maxGraphemes: 300,
290
290
  },
291
+ shortDescriptionFacets: {
292
+ type: 'array',
293
+ description: 'Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).',
294
+ items: {
295
+ type: 'ref',
296
+ ref: 'lex:app.bsky.richtext.facet',
297
+ },
298
+ },
291
299
  description: {
292
300
  type: 'string',
293
- description: 'Optional longer description of the impact work done.',
301
+ description: 'Optional longer description of this activity claim, including context or interpretation. Rich text annotations may be provided via `descriptionFacets`.',
294
302
  maxLength: 30000,
295
303
  maxGraphemes: 3000,
296
304
  },
305
+ descriptionFacets: {
306
+ type: 'array',
307
+ description: 'Rich text annotations for `description` (mentions, URLs, hashtags, etc).',
308
+ items: {
309
+ type: 'ref',
310
+ ref: 'lex:app.bsky.richtext.facet',
311
+ },
312
+ },
297
313
  image: {
298
314
  type: 'union',
299
315
  refs: [
@@ -303,9 +319,14 @@ const schemaDict = {
303
319
  description: 'The hypercert visual representation as a URI or image blob.',
304
320
  },
305
321
  workScope: {
306
- type: 'ref',
307
- ref: 'lex:com.atproto.repo.strongRef',
308
- description: 'A strong reference to a record defining the scope of work. The record referenced should describe the logical scope using label-based conditions.',
322
+ type: 'union',
323
+ refs: [
324
+ 'lex:org.hypercerts.defs#workScopeAll',
325
+ 'lex:org.hypercerts.defs#workScopeAny',
326
+ 'lex:org.hypercerts.defs#workScopeNot',
327
+ 'lex:org.hypercerts.defs#workScopeAtom',
328
+ ],
329
+ description: 'Work scope logic expression using boolean operators (all/any/not) and atomic scope references.',
309
330
  },
310
331
  startDate: {
311
332
  type: 'string',
@@ -348,17 +369,17 @@ const schemaDict = {
348
369
  },
349
370
  contributor: {
350
371
  type: 'object',
351
- required: ['contributorInformation'],
372
+ required: ['contributorIdentity'],
352
373
  properties: {
353
- contributorInformation: {
374
+ contributorIdentity: {
354
375
  type: 'union',
355
376
  refs: [
356
377
  'lex:org.hypercerts.claim.activity#contributorIdentity',
357
378
  'lex:com.atproto.repo.strongRef',
358
379
  ],
359
- description: 'Contributor information as a string (DID or identifier) or strong reference to for instance org.hypercerts.claim.contributorInformation#main.',
380
+ description: 'Contributor identity as a string (DID or identifier) via org.hypercerts.claim.activity#contributorIdentity, or a strong reference to a contributor information record.',
360
381
  },
361
- weight: {
382
+ contributionWeight: {
362
383
  type: 'string',
363
384
  description: 'The relative weight/importance of this contribution (stored as a string to avoid float precision issues). Must be a positive numeric value. Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed.',
364
385
  },
@@ -368,7 +389,7 @@ const schemaDict = {
368
389
  'lex:org.hypercerts.claim.activity#contributorRole',
369
390
  'lex:com.atproto.repo.strongRef',
370
391
  ],
371
- description: 'Contribution details as a string or strong reference to org.hypercerts.claim.contributionDetails#main.',
392
+ description: 'Contribution details as a string via org.hypercerts.claim.activity#contributorRole, or a strong reference to a contribution details record.',
372
393
  },
373
394
  },
374
395
  },
@@ -382,21 +403,6 @@ const schemaDict = {
382
403
  maxLength: 10000,
383
404
  maxGraphemes: 1000,
384
405
  },
385
- activityWeight: {
386
- type: 'object',
387
- required: ['activity', 'weight'],
388
- properties: {
389
- activity: {
390
- type: 'ref',
391
- ref: 'lex:com.atproto.repo.strongRef',
392
- description: 'A strong reference to a hypercert activity record. This activity must conform to the lexicon org.hypercerts.claim.activity',
393
- },
394
- weight: {
395
- type: 'string',
396
- description: 'The relative weight/importance of this hypercert activity (stored as a string to avoid float precision issues). Weights can be any positive numeric values and do not need to sum to a specific total; normalization can be performed by the consuming application as needed.',
397
- },
398
- },
399
- },
400
406
  },
401
407
  },
402
408
  OrgHypercertsClaimCollection: {
@@ -432,12 +438,28 @@ const schemaDict = {
432
438
  ref: 'lex:pub.leaflet.pages.linearDocument#main',
433
439
  description: 'Rich-text description, represented as a Leaflet linear document.',
434
440
  },
441
+ avatar: {
442
+ type: 'union',
443
+ refs: [
444
+ 'lex:org.hypercerts.defs#uri',
445
+ 'lex:org.hypercerts.defs#smallImage',
446
+ ],
447
+ description: "The collection's avatar/profile image as a URI or image blob.",
448
+ },
449
+ banner: {
450
+ type: 'union',
451
+ refs: [
452
+ 'lex:org.hypercerts.defs#uri',
453
+ 'lex:org.hypercerts.defs#largeImage',
454
+ ],
455
+ description: 'Larger horizontal image to display behind the collection view.',
456
+ },
435
457
  items: {
436
458
  type: 'array',
437
- description: 'Array of strong references to items in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.claim.collection).',
459
+ description: 'Array of items in this collection with optional weights.',
438
460
  items: {
439
461
  type: 'ref',
440
- ref: 'lex:com.atproto.repo.strongRef',
462
+ ref: 'lex:org.hypercerts.claim.collection#item',
441
463
  },
442
464
  },
443
465
  createdAt: {
@@ -448,6 +470,21 @@ const schemaDict = {
448
470
  },
449
471
  },
450
472
  },
473
+ item: {
474
+ type: 'object',
475
+ required: ['itemIdentifier'],
476
+ properties: {
477
+ itemIdentifier: {
478
+ type: 'ref',
479
+ ref: 'lex:com.atproto.repo.strongRef',
480
+ description: 'Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.claim.collection).',
481
+ },
482
+ itemWeight: {
483
+ type: 'string',
484
+ description: 'Optional weight for this item (positive numeric value stored as string). Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed.',
485
+ },
486
+ },
487
+ },
451
488
  },
452
489
  },
453
490
  OrgHypercertsClaimContributionDetails: {
@@ -869,6 +906,94 @@ const schemaDict = {
869
906
  },
870
907
  },
871
908
  },
909
+ workScopeAll: {
910
+ type: 'object',
911
+ required: ['op', 'args'],
912
+ description: 'Logical AND operation: all arguments must be satisfied.',
913
+ properties: {
914
+ op: {
915
+ type: 'string',
916
+ const: 'all',
917
+ description: "Operator type: 'all' (logical AND)",
918
+ },
919
+ args: {
920
+ type: 'array',
921
+ items: {
922
+ type: 'union',
923
+ refs: [
924
+ 'lex:org.hypercerts.defs#workScopeAll',
925
+ 'lex:org.hypercerts.defs#workScopeAny',
926
+ 'lex:org.hypercerts.defs#workScopeNot',
927
+ 'lex:org.hypercerts.defs#workScopeAtom',
928
+ ],
929
+ },
930
+ minLength: 1,
931
+ maxLength: 100,
932
+ description: 'Array of work scope expressions that must all be satisfied',
933
+ },
934
+ },
935
+ },
936
+ workScopeAny: {
937
+ type: 'object',
938
+ required: ['op', 'args'],
939
+ description: 'Logical OR operation: at least one argument must be satisfied.',
940
+ properties: {
941
+ op: {
942
+ type: 'string',
943
+ const: 'any',
944
+ description: "Operator type: 'any' (logical OR)",
945
+ },
946
+ args: {
947
+ type: 'array',
948
+ items: {
949
+ type: 'union',
950
+ refs: [
951
+ 'lex:org.hypercerts.defs#workScopeAll',
952
+ 'lex:org.hypercerts.defs#workScopeAny',
953
+ 'lex:org.hypercerts.defs#workScopeNot',
954
+ 'lex:org.hypercerts.defs#workScopeAtom',
955
+ ],
956
+ },
957
+ minLength: 1,
958
+ maxLength: 100,
959
+ description: 'Array of work scope expressions, at least one of which must be satisfied',
960
+ },
961
+ },
962
+ },
963
+ workScopeNot: {
964
+ type: 'object',
965
+ required: ['op', 'arg'],
966
+ description: 'Logical NOT operation: the argument must not be satisfied.',
967
+ properties: {
968
+ op: {
969
+ type: 'string',
970
+ const: 'not',
971
+ description: "Operator type: 'not' (logical NOT)",
972
+ },
973
+ arg: {
974
+ type: 'union',
975
+ refs: [
976
+ 'lex:org.hypercerts.defs#workScopeAll',
977
+ 'lex:org.hypercerts.defs#workScopeAny',
978
+ 'lex:org.hypercerts.defs#workScopeNot',
979
+ 'lex:org.hypercerts.defs#workScopeAtom',
980
+ ],
981
+ description: 'Work scope expression that must not be satisfied',
982
+ },
983
+ },
984
+ },
985
+ workScopeAtom: {
986
+ type: 'object',
987
+ required: ['atom'],
988
+ description: 'Atomic scope reference: a strong reference to a scope record.',
989
+ properties: {
990
+ atom: {
991
+ type: 'ref',
992
+ ref: 'lex:com.atproto.repo.strongRef',
993
+ description: 'Strong reference to an org.hypercerts.helper.workScopeTag record',
994
+ },
995
+ },
996
+ },
872
997
  },
873
998
  },
874
999
  OrgHypercertsFundingReceipt: {
@@ -937,15 +1062,80 @@ const schemaDict = {
937
1062
  },
938
1063
  },
939
1064
  },
1065
+ OrgHypercertsHelperWorkScopeTag: {
1066
+ lexicon: 1,
1067
+ id: 'org.hypercerts.helper.workScopeTag',
1068
+ defs: {
1069
+ main: {
1070
+ type: 'record',
1071
+ description: 'A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels.',
1072
+ key: 'tid',
1073
+ record: {
1074
+ type: 'object',
1075
+ required: ['createdAt', 'key', 'label'],
1076
+ properties: {
1077
+ createdAt: {
1078
+ type: 'string',
1079
+ format: 'datetime',
1080
+ description: 'Client-declared timestamp when this record was originally created',
1081
+ },
1082
+ key: {
1083
+ type: 'string',
1084
+ description: "Lowercase, hyphenated machine-readable key for this scope (e.g., 'ipfs', 'go-lang', 'filecoin').",
1085
+ maxLength: 120,
1086
+ },
1087
+ label: {
1088
+ type: 'string',
1089
+ description: 'Human-readable label for this scope.',
1090
+ maxLength: 200,
1091
+ },
1092
+ kind: {
1093
+ type: 'string',
1094
+ description: 'Category type of this scope. Recommended values: topic, language, domain, method, tag.',
1095
+ maxLength: 50,
1096
+ },
1097
+ description: {
1098
+ type: 'string',
1099
+ description: 'Optional longer description of this scope.',
1100
+ maxLength: 10000,
1101
+ maxGraphemes: 1000,
1102
+ },
1103
+ parent: {
1104
+ type: 'ref',
1105
+ ref: 'lex:com.atproto.repo.strongRef',
1106
+ description: 'Optional strong reference to a parent scope record for taxonomy/hierarchy support.',
1107
+ },
1108
+ aliases: {
1109
+ type: 'array',
1110
+ items: {
1111
+ type: 'string',
1112
+ maxLength: 200,
1113
+ },
1114
+ maxLength: 50,
1115
+ description: 'Optional array of alternative names or identifiers for this scope.',
1116
+ },
1117
+ externalReference: {
1118
+ type: 'union',
1119
+ refs: [
1120
+ 'lex:org.hypercerts.defs#uri',
1121
+ 'lex:org.hypercerts.defs#smallBlob',
1122
+ ],
1123
+ description: 'Optional external reference for this scope as a URI or blob.',
1124
+ },
1125
+ },
1126
+ },
1127
+ },
1128
+ },
1129
+ },
940
1130
  };
941
1131
  const schemas = Object.values(schemaDict);
942
- const lexicons = new lexicon$g.Lexicons(schemas);
943
- function validate$f(v, id, hash, requiredType) {
944
- return (requiredType ? is$typed$f : maybe$typed)(v, id, hash)
1132
+ const lexicons = new lexicon$h.Lexicons(schemas);
1133
+ function validate$g(v, id, hash, requiredType) {
1134
+ return (requiredType ? is$typed$g : maybe$typed)(v, id, hash)
945
1135
  ? lexicons.validate(`${id}#${hash}`, v)
946
1136
  : {
947
1137
  success: false,
948
- error: new lexicon$g.ValidationError(`Must be an object with "${hash === 'main' ? id : `${id}#${hash}`}" $type property`),
1138
+ error: new lexicon$h.ValidationError(`Must be an object with "${hash === 'main' ? id : `${id}#${hash}`}" $type property`),
949
1139
  };
950
1140
  }
951
1141
  const ids = {
@@ -965,11 +1155,12 @@ const ids = {
965
1155
  OrgHypercertsClaimRights: 'org.hypercerts.claim.rights',
966
1156
  OrgHypercertsDefs: 'org.hypercerts.defs',
967
1157
  OrgHypercertsFundingReceipt: 'org.hypercerts.funding.receipt',
1158
+ OrgHypercertsHelperWorkScopeTag: 'org.hypercerts.helper.workScopeTag',
968
1159
  };
969
1160
 
970
- var lexicon$f = 1;
971
- var id$u = "app.certified.badge.award";
972
- var defs$h = {
1161
+ var lexicon$g = 1;
1162
+ var id$w = "app.certified.badge.award";
1163
+ var defs$i = {
973
1164
  main: {
974
1165
  type: "record",
975
1166
  description: "Records a badge award to a user, project, or activity claim.",
@@ -1009,14 +1200,14 @@ var defs$h = {
1009
1200
  }
1010
1201
  };
1011
1202
  var BADGE_AWARD_LEXICON_JSON = {
1012
- lexicon: lexicon$f,
1013
- id: id$u,
1014
- defs: defs$h
1203
+ lexicon: lexicon$g,
1204
+ id: id$w,
1205
+ defs: defs$i
1015
1206
  };
1016
1207
 
1017
- var lexicon$e = 1;
1018
- var id$t = "app.certified.badge.definition";
1019
- var defs$g = {
1208
+ var lexicon$f = 1;
1209
+ var id$v = "app.certified.badge.definition";
1210
+ var defs$h = {
1020
1211
  main: {
1021
1212
  type: "record",
1022
1213
  description: "Defines a badge that can be awarded via badge award records to users, projects, or activity claims.",
@@ -1071,14 +1262,14 @@ var defs$g = {
1071
1262
  }
1072
1263
  };
1073
1264
  var BADGE_DEFINITION_LEXICON_JSON = {
1074
- lexicon: lexicon$e,
1075
- id: id$t,
1076
- defs: defs$g
1265
+ lexicon: lexicon$f,
1266
+ id: id$v,
1267
+ defs: defs$h
1077
1268
  };
1078
1269
 
1079
- var lexicon$d = 1;
1080
- var id$s = "app.certified.badge.response";
1081
- var defs$f = {
1270
+ var lexicon$e = 1;
1271
+ var id$u = "app.certified.badge.response";
1272
+ var defs$g = {
1082
1273
  main: {
1083
1274
  type: "record",
1084
1275
  description: "Recipient response to a badge award.",
@@ -1118,15 +1309,15 @@ var defs$f = {
1118
1309
  }
1119
1310
  };
1120
1311
  var BADGE_RESPONSE_LEXICON_JSON = {
1121
- lexicon: lexicon$d,
1122
- id: id$s,
1123
- defs: defs$f
1312
+ lexicon: lexicon$e,
1313
+ id: id$u,
1314
+ defs: defs$g
1124
1315
  };
1125
1316
 
1126
- var lexicon$c = 1;
1127
- var id$r = "app.certified.defs";
1317
+ var lexicon$d = 1;
1318
+ var id$t = "app.certified.defs";
1128
1319
  var description$1 = "Common type definitions used across certified protocols.";
1129
- var defs$e = {
1320
+ var defs$f = {
1130
1321
  did: {
1131
1322
  type: "string",
1132
1323
  format: "did",
@@ -1134,15 +1325,15 @@ var defs$e = {
1134
1325
  }
1135
1326
  };
1136
1327
  var CERTIFIED_DEFS_LEXICON_JSON = {
1137
- lexicon: lexicon$c,
1138
- id: id$r,
1328
+ lexicon: lexicon$d,
1329
+ id: id$t,
1139
1330
  description: description$1,
1140
- defs: defs$e
1331
+ defs: defs$f
1141
1332
  };
1142
1333
 
1143
- var lexicon$b = 1;
1144
- var id$q = "app.certified.location";
1145
- var defs$d = {
1334
+ var lexicon$c = 1;
1335
+ var id$s = "app.certified.location";
1336
+ var defs$e = {
1146
1337
  main: {
1147
1338
  type: "record",
1148
1339
  description: "A location reference",
@@ -1207,15 +1398,15 @@ var defs$d = {
1207
1398
  }
1208
1399
  };
1209
1400
  var LOCATION_LEXICON_JSON = {
1210
- lexicon: lexicon$b,
1211
- id: id$q,
1212
- defs: defs$d
1401
+ lexicon: lexicon$c,
1402
+ id: id$s,
1403
+ defs: defs$e
1213
1404
  };
1214
1405
 
1215
- var lexicon$a = 1;
1216
- var id$p = "com.atproto.repo.strongRef";
1406
+ var lexicon$b = 1;
1407
+ var id$r = "com.atproto.repo.strongRef";
1217
1408
  var description = "A URI with a content-hash fingerprint.";
1218
- var defs$c = {
1409
+ var defs$d = {
1219
1410
  main: {
1220
1411
  type: "object",
1221
1412
  required: [
@@ -1235,15 +1426,15 @@ var defs$c = {
1235
1426
  }
1236
1427
  };
1237
1428
  var STRONGREF_LEXICON_JSON = {
1238
- lexicon: lexicon$a,
1239
- id: id$p,
1429
+ lexicon: lexicon$b,
1430
+ id: id$r,
1240
1431
  description: description,
1241
- defs: defs$c
1432
+ defs: defs$d
1242
1433
  };
1243
1434
 
1244
- var lexicon$9 = 1;
1245
- var id$o = "org.hypercerts.claim.activity";
1246
- var defs$b = {
1435
+ var lexicon$a = 1;
1436
+ var id$q = "org.hypercerts.claim.activity";
1437
+ var defs$c = {
1247
1438
  main: {
1248
1439
  type: "record",
1249
1440
  description: "A hypercert record tracking impact work.",
@@ -1263,16 +1454,32 @@ var defs$b = {
1263
1454
  },
1264
1455
  shortDescription: {
1265
1456
  type: "string",
1266
- description: "Short blurb of the impact work done.",
1457
+ description: "Short summary of this activity claim, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.",
1267
1458
  maxLength: 3000,
1268
1459
  maxGraphemes: 300
1269
1460
  },
1461
+ shortDescriptionFacets: {
1462
+ type: "array",
1463
+ description: "Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).",
1464
+ items: {
1465
+ type: "ref",
1466
+ ref: "app.bsky.richtext.facet"
1467
+ }
1468
+ },
1270
1469
  description: {
1271
1470
  type: "string",
1272
- description: "Optional longer description of the impact work done.",
1471
+ description: "Optional longer description of this activity claim, including context or interpretation. Rich text annotations may be provided via `descriptionFacets`.",
1273
1472
  maxLength: 30000,
1274
1473
  maxGraphemes: 3000
1275
1474
  },
1475
+ descriptionFacets: {
1476
+ type: "array",
1477
+ description: "Rich text annotations for `description` (mentions, URLs, hashtags, etc).",
1478
+ items: {
1479
+ type: "ref",
1480
+ ref: "app.bsky.richtext.facet"
1481
+ }
1482
+ },
1276
1483
  image: {
1277
1484
  type: "union",
1278
1485
  refs: [
@@ -1282,9 +1489,14 @@ var defs$b = {
1282
1489
  description: "The hypercert visual representation as a URI or image blob."
1283
1490
  },
1284
1491
  workScope: {
1285
- type: "ref",
1286
- ref: "com.atproto.repo.strongRef",
1287
- description: "A strong reference to a record defining the scope of work. The record referenced should describe the logical scope using label-based conditions."
1492
+ type: "union",
1493
+ refs: [
1494
+ "org.hypercerts.defs#workScopeAll",
1495
+ "org.hypercerts.defs#workScopeAny",
1496
+ "org.hypercerts.defs#workScopeNot",
1497
+ "org.hypercerts.defs#workScopeAtom"
1498
+ ],
1499
+ description: "Work scope logic expression using boolean operators (all/any/not) and atomic scope references."
1288
1500
  },
1289
1501
  startDate: {
1290
1502
  type: "string",
@@ -1328,18 +1540,18 @@ var defs$b = {
1328
1540
  contributor: {
1329
1541
  type: "object",
1330
1542
  required: [
1331
- "contributorInformation"
1543
+ "contributorIdentity"
1332
1544
  ],
1333
1545
  properties: {
1334
- contributorInformation: {
1546
+ contributorIdentity: {
1335
1547
  type: "union",
1336
1548
  refs: [
1337
1549
  "#contributorIdentity",
1338
1550
  "com.atproto.repo.strongRef"
1339
1551
  ],
1340
- description: "Contributor information as a string (DID or identifier) or strong reference to for instance org.hypercerts.claim.contributorInformation#main."
1552
+ description: "Contributor identity as a string (DID or identifier) via org.hypercerts.claim.activity#contributorIdentity, or a strong reference to a contributor information record."
1341
1553
  },
1342
- weight: {
1554
+ contributionWeight: {
1343
1555
  type: "string",
1344
1556
  description: "The relative weight/importance of this contribution (stored as a string to avoid float precision issues). Must be a positive numeric value. Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed."
1345
1557
  },
@@ -1349,7 +1561,7 @@ var defs$b = {
1349
1561
  "#contributorRole",
1350
1562
  "com.atproto.repo.strongRef"
1351
1563
  ],
1352
- description: "Contribution details as a string or strong reference to org.hypercerts.claim.contributionDetails#main."
1564
+ description: "Contribution details as a string via org.hypercerts.claim.activity#contributorRole, or a strong reference to a contribution details record."
1353
1565
  }
1354
1566
  }
1355
1567
  },
@@ -1362,35 +1574,17 @@ var defs$b = {
1362
1574
  description: "Contribution details as a string.",
1363
1575
  maxLength: 10000,
1364
1576
  maxGraphemes: 1000
1365
- },
1366
- activityWeight: {
1367
- type: "object",
1368
- required: [
1369
- "activity",
1370
- "weight"
1371
- ],
1372
- properties: {
1373
- activity: {
1374
- type: "ref",
1375
- ref: "com.atproto.repo.strongRef",
1376
- description: "A strong reference to a hypercert activity record. This activity must conform to the lexicon org.hypercerts.claim.activity"
1377
- },
1378
- weight: {
1379
- type: "string",
1380
- description: "The relative weight/importance of this hypercert activity (stored as a string to avoid float precision issues). Weights can be any positive numeric values and do not need to sum to a specific total; normalization can be performed by the consuming application as needed."
1381
- }
1382
- }
1383
1577
  }
1384
1578
  };
1385
1579
  var ACTIVITY_LEXICON_JSON = {
1386
- lexicon: lexicon$9,
1387
- id: id$o,
1388
- defs: defs$b
1580
+ lexicon: lexicon$a,
1581
+ id: id$q,
1582
+ defs: defs$c
1389
1583
  };
1390
1584
 
1391
- var lexicon$8 = 1;
1392
- var id$n = "org.hypercerts.claim.collection";
1393
- var defs$a = {
1585
+ var lexicon$9 = 1;
1586
+ var id$p = "org.hypercerts.claim.collection";
1587
+ var defs$b = {
1394
1588
  main: {
1395
1589
  type: "record",
1396
1590
  description: "A collection/group of items (activities and/or other collections). Collections support recursive nesting. Use app.certified.location as a sidecar (same TID) for location metadata.",
@@ -1424,12 +1618,28 @@ var defs$a = {
1424
1618
  ref: "pub.leaflet.pages.linearDocument#main",
1425
1619
  description: "Rich-text description, represented as a Leaflet linear document."
1426
1620
  },
1621
+ avatar: {
1622
+ type: "union",
1623
+ refs: [
1624
+ "org.hypercerts.defs#uri",
1625
+ "org.hypercerts.defs#smallImage"
1626
+ ],
1627
+ description: "The collection's avatar/profile image as a URI or image blob."
1628
+ },
1629
+ banner: {
1630
+ type: "union",
1631
+ refs: [
1632
+ "org.hypercerts.defs#uri",
1633
+ "org.hypercerts.defs#largeImage"
1634
+ ],
1635
+ description: "Larger horizontal image to display behind the collection view."
1636
+ },
1427
1637
  items: {
1428
1638
  type: "array",
1429
- description: "Array of strong references to items in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.claim.collection).",
1639
+ description: "Array of items in this collection with optional weights.",
1430
1640
  items: {
1431
1641
  type: "ref",
1432
- ref: "com.atproto.repo.strongRef"
1642
+ ref: "#item"
1433
1643
  }
1434
1644
  },
1435
1645
  createdAt: {
@@ -1439,17 +1649,34 @@ var defs$a = {
1439
1649
  }
1440
1650
  }
1441
1651
  }
1652
+ },
1653
+ item: {
1654
+ type: "object",
1655
+ required: [
1656
+ "itemIdentifier"
1657
+ ],
1658
+ properties: {
1659
+ itemIdentifier: {
1660
+ type: "ref",
1661
+ ref: "com.atproto.repo.strongRef",
1662
+ description: "Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.claim.collection)."
1663
+ },
1664
+ itemWeight: {
1665
+ type: "string",
1666
+ description: "Optional weight for this item (positive numeric value stored as string). Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed."
1667
+ }
1668
+ }
1442
1669
  }
1443
1670
  };
1444
1671
  var COLLECTION_LEXICON_JSON = {
1445
- lexicon: lexicon$8,
1446
- id: id$n,
1447
- defs: defs$a
1672
+ lexicon: lexicon$9,
1673
+ id: id$p,
1674
+ defs: defs$b
1448
1675
  };
1449
1676
 
1450
- var lexicon$7 = 1;
1451
- var id$m = "org.hypercerts.claim.contributionDetails";
1452
- var defs$9 = {
1677
+ var lexicon$8 = 1;
1678
+ var id$o = "org.hypercerts.claim.contributionDetails";
1679
+ var defs$a = {
1453
1680
  main: {
1454
1681
  type: "record",
1455
1682
  description: "Details about a specific contribution including role, description, and timeframe.",
@@ -1491,14 +1718,14 @@ var defs$9 = {
1491
1718
  }
1492
1719
  };
1493
1720
  var CONTRIBUTIONDETAILS_LEXICON_JSON = {
1494
- lexicon: lexicon$7,
1495
- id: id$m,
1496
- defs: defs$9
1721
+ lexicon: lexicon$8,
1722
+ id: id$o,
1723
+ defs: defs$a
1497
1724
  };
1498
1725
 
1499
- var lexicon$6 = 1;
1500
- var id$l = "org.hypercerts.claim.contributorInformation";
1501
- var defs$8 = {
1726
+ var lexicon$7 = 1;
1727
+ var id$n = "org.hypercerts.claim.contributorInformation";
1728
+ var defs$9 = {
1502
1729
  main: {
1503
1730
  type: "record",
1504
1731
  description: "Contributor information including identifier, display name, and image.",
@@ -1536,14 +1763,14 @@ var defs$8 = {
1536
1763
  }
1537
1764
  };
1538
1765
  var CONTRIBUTORINFORMATION_LEXICON_JSON = {
1539
- lexicon: lexicon$6,
1540
- id: id$l,
1541
- defs: defs$8
1766
+ lexicon: lexicon$7,
1767
+ id: id$n,
1768
+ defs: defs$9
1542
1769
  };
1543
1770
 
1544
- var lexicon$5 = 1;
1545
- var id$k = "org.hypercerts.claim.evaluation";
1546
- var defs$7 = {
1771
+ var lexicon$6 = 1;
1772
+ var id$m = "org.hypercerts.claim.evaluation";
1773
+ var defs$8 = {
1547
1774
  score: {
1548
1775
  type: "object",
1549
1776
  description: "Overall score for an evaluation on a numeric scale.",
@@ -1640,14 +1867,14 @@ var defs$7 = {
1640
1867
  }
1641
1868
  };
1642
1869
  var EVALUATION_LEXICON_JSON = {
1643
- lexicon: lexicon$5,
1644
- id: id$k,
1645
- defs: defs$7
1870
+ lexicon: lexicon$6,
1871
+ id: id$m,
1872
+ defs: defs$8
1646
1873
  };
1647
1874
 
1648
- var lexicon$4 = 1;
1649
- var id$j = "org.hypercerts.claim.evidence";
1650
- var defs$6 = {
1875
+ var lexicon$5 = 1;
1876
+ var id$l = "org.hypercerts.claim.evidence";
1877
+ var defs$7 = {
1651
1878
  main: {
1652
1879
  type: "record",
1653
1880
  description: "A piece of evidence related to a hypercert record (e.g. an activity, project, claim, or evaluation). Evidence may support, clarify, or challenge the referenced subject.",
@@ -1709,14 +1936,14 @@ var defs$6 = {
1709
1936
  }
1710
1937
  };
1711
1938
  var EVIDENCE_LEXICON_JSON = {
1712
- lexicon: lexicon$4,
1713
- id: id$j,
1714
- defs: defs$6
1939
+ lexicon: lexicon$5,
1940
+ id: id$l,
1941
+ defs: defs$7
1715
1942
  };
1716
1943
 
1717
- var lexicon$3 = 1;
1718
- var id$i = "org.hypercerts.claim.measurement";
1719
- var defs$5 = {
1944
+ var lexicon$4 = 1;
1945
+ var id$k = "org.hypercerts.claim.measurement";
1946
+ var defs$6 = {
1720
1947
  main: {
1721
1948
  type: "record",
1722
1949
  description: "Measurement data related to a hypercert record (e.g. an activity and its impact).",
@@ -1788,14 +2015,14 @@ var defs$5 = {
1788
2015
  }
1789
2016
  };
1790
2017
  var MEASUREMENT_LEXICON_JSON = {
1791
- lexicon: lexicon$3,
1792
- id: id$i,
1793
- defs: defs$5
2018
+ lexicon: lexicon$4,
2019
+ id: id$k,
2020
+ defs: defs$6
1794
2021
  };
1795
2022
 
1796
- var lexicon$2 = 1;
1797
- var id$h = "org.hypercerts.claim.rights";
1798
- var defs$4 = {
2023
+ var lexicon$3 = 1;
2024
+ var id$j = "org.hypercerts.claim.rights";
2025
+ var defs$5 = {
1799
2026
  main: {
1800
2027
  type: "record",
1801
2028
  description: "Describes the rights that a contributor and/or an owner has, such as whether the hypercert can be sold, transferred, and under what conditions.",
@@ -1841,14 +2068,14 @@ var defs$4 = {
1841
2068
  }
1842
2069
  };
1843
2070
  var RIGHTS_LEXICON_JSON = {
1844
- lexicon: lexicon$2,
1845
- id: id$h,
1846
- defs: defs$4
2071
+ lexicon: lexicon$3,
2072
+ id: id$j,
2073
+ defs: defs$5
1847
2074
  };
1848
2075
 
1849
- var lexicon$1 = 1;
1850
- var id$g = "org.hypercerts.defs";
1851
- var defs$3 = {
2076
+ var lexicon$2 = 1;
2077
+ var id$i = "org.hypercerts.defs";
2078
+ var defs$4 = {
1852
2079
  uri: {
1853
2080
  type: "object",
1854
2081
  required: [
@@ -1937,17 +2164,116 @@ var defs$3 = {
1937
2164
  description: "Image (up to 10MB)"
1938
2165
  }
1939
2166
  }
2167
+ },
2168
+ workScopeAll: {
2169
+ type: "object",
2170
+ required: [
2171
+ "op",
2172
+ "args"
2173
+ ],
2174
+ description: "Logical AND operation: all arguments must be satisfied.",
2175
+ properties: {
2176
+ op: {
2177
+ type: "string",
2178
+ "const": "all",
2179
+ description: "Operator type: 'all' (logical AND)"
2180
+ },
2181
+ args: {
2182
+ type: "array",
2183
+ items: {
2184
+ type: "union",
2185
+ refs: [
2186
+ "#workScopeAll",
2187
+ "#workScopeAny",
2188
+ "#workScopeNot",
2189
+ "#workScopeAtom"
2190
+ ]
2191
+ },
2192
+ minLength: 1,
2193
+ maxLength: 100,
2194
+ description: "Array of work scope expressions that must all be satisfied"
2195
+ }
2196
+ }
2197
+ },
2198
+ workScopeAny: {
2199
+ type: "object",
2200
+ required: [
2201
+ "op",
2202
+ "args"
2203
+ ],
2204
+ description: "Logical OR operation: at least one argument must be satisfied.",
2205
+ properties: {
2206
+ op: {
2207
+ type: "string",
2208
+ "const": "any",
2209
+ description: "Operator type: 'any' (logical OR)"
2210
+ },
2211
+ args: {
2212
+ type: "array",
2213
+ items: {
2214
+ type: "union",
2215
+ refs: [
2216
+ "#workScopeAll",
2217
+ "#workScopeAny",
2218
+ "#workScopeNot",
2219
+ "#workScopeAtom"
2220
+ ]
2221
+ },
2222
+ minLength: 1,
2223
+ maxLength: 100,
2224
+ description: "Array of work scope expressions, at least one of which must be satisfied"
2225
+ }
2226
+ }
2227
+ },
2228
+ workScopeNot: {
2229
+ type: "object",
2230
+ required: [
2231
+ "op",
2232
+ "arg"
2233
+ ],
2234
+ description: "Logical NOT operation: the argument must not be satisfied.",
2235
+ properties: {
2236
+ op: {
2237
+ type: "string",
2238
+ "const": "not",
2239
+ description: "Operator type: 'not' (logical NOT)"
2240
+ },
2241
+ arg: {
2242
+ type: "union",
2243
+ refs: [
2244
+ "#workScopeAll",
2245
+ "#workScopeAny",
2246
+ "#workScopeNot",
2247
+ "#workScopeAtom"
2248
+ ],
2249
+ description: "Work scope expression that must not be satisfied"
2250
+ }
2251
+ }
2252
+ },
2253
+ workScopeAtom: {
2254
+ type: "object",
2255
+ required: [
2256
+ "atom"
2257
+ ],
2258
+ description: "Atomic scope reference: a strong reference to a scope record.",
2259
+ properties: {
2260
+ atom: {
2261
+ type: "ref",
2262
+ ref: "com.atproto.repo.strongRef",
2263
+ description: "Strong reference to an org.hypercerts.helper.workScopeTag record"
2264
+ }
2265
+ }
1940
2266
  }
1941
2267
  };
1942
2268
  var HYPERCERTS_DEFS_LEXICON_JSON = {
1943
- lexicon: lexicon$1,
1944
- id: id$g,
1945
- defs: defs$3
2269
+ lexicon: lexicon$2,
2270
+ id: id$i,
2271
+ defs: defs$4
1946
2272
  };
1947
2273
 
1948
- var lexicon = 1;
1949
- var id$f = "org.hypercerts.funding.receipt";
1950
- var defs$2 = {
2274
+ var lexicon$1 = 1;
2275
+ var id$h = "org.hypercerts.funding.receipt";
2276
+ var defs$3 = {
1951
2277
  main: {
1952
2278
  type: "record",
1953
2279
  description: "Records a funding receipt for a payment from one user to another user. It may be recorded by the recipient, by the sender, or by a third party. The sender may remain anonymous.",
@@ -2016,13 +2342,104 @@ var defs$2 = {
2016
2342
  }
2017
2343
  };
2018
2344
  var FUNDING_RECEIPT_LEXICON_JSON = {
2345
+ lexicon: lexicon$1,
2346
+ id: id$h,
2347
+ defs: defs$3
2348
+ };
2349
+
2350
+ var lexicon = 1;
2351
+ var id$g = "org.hypercerts.helper.workScopeTag";
2352
+ var defs$2 = {
2353
+ main: {
2354
+ type: "record",
2355
+ description: "A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels.",
2356
+ key: "tid",
2357
+ record: {
2358
+ type: "object",
2359
+ required: [
2360
+ "createdAt",
2361
+ "key",
2362
+ "label"
2363
+ ],
2364
+ properties: {
2365
+ createdAt: {
2366
+ type: "string",
2367
+ format: "datetime",
2368
+ description: "Client-declared timestamp when this record was originally created"
2369
+ },
2370
+ key: {
2371
+ type: "string",
2372
+ description: "Lowercase, hyphenated machine-readable key for this scope (e.g., 'ipfs', 'go-lang', 'filecoin').",
2373
+ maxLength: 120
2374
+ },
2375
+ label: {
2376
+ type: "string",
2377
+ description: "Human-readable label for this scope.",
2378
+ maxLength: 200
2379
+ },
2380
+ kind: {
2381
+ type: "string",
2382
+ description: "Category type of this scope. Recommended values: topic, language, domain, method, tag.",
2383
+ maxLength: 50
2384
+ },
2385
+ description: {
2386
+ type: "string",
2387
+ description: "Optional longer description of this scope.",
2388
+ maxLength: 10000,
2389
+ maxGraphemes: 1000
2390
+ },
2391
+ parent: {
2392
+ type: "ref",
2393
+ ref: "com.atproto.repo.strongRef",
2394
+ description: "Optional strong reference to a parent scope record for taxonomy/hierarchy support."
2395
+ },
2396
+ aliases: {
2397
+ type: "array",
2398
+ items: {
2399
+ type: "string",
2400
+ maxLength: 200
2401
+ },
2402
+ maxLength: 50,
2403
+ description: "Optional array of alternative names or identifiers for this scope."
2404
+ },
2405
+ externalReference: {
2406
+ type: "union",
2407
+ refs: [
2408
+ "org.hypercerts.defs#uri",
2409
+ "org.hypercerts.defs#smallBlob"
2410
+ ],
2411
+ description: "Optional external reference for this scope as a URI or blob."
2412
+ }
2413
+ }
2414
+ }
2415
+ }
2416
+ };
2417
+ var HELPER_WORKSCOPETAG_LEXICON_JSON = {
2019
2418
  lexicon: lexicon,
2020
- id: id$f,
2419
+ id: id$g,
2021
2420
  defs: defs$2
2022
2421
  };
2023
2422
 
2024
- const is$typed$e = is$typed$f, validate$e = validate$f;
2025
- const id$e = 'app.certified.badge.award';
2423
+ const is$typed$f = is$typed$g, validate$f = validate$g;
2424
+ const id$f = 'app.certified.badge.award';
2425
+ const hashMain$e = 'main';
2426
+ function isMain$e(v) {
2427
+ return is$typed$f(v, id$f, hashMain$e);
2428
+ }
2429
+ function validateMain$e(v) {
2430
+ return validate$f(v, id$f, hashMain$e, true);
2431
+ }
2432
+
2433
+ var award = /*#__PURE__*/Object.freeze({
2434
+ __proto__: null,
2435
+ isMain: isMain$e,
2436
+ isRecord: isMain$e,
2437
+ validateMain: validateMain$e,
2438
+ validateRecord: validateMain$e
2439
+ });
2440
+
2441
+ const is$typed$e = is$typed$g, validate$e = validate$g;
2442
+ const id$e = 'app.certified.badge.definition';
2026
2443
  const hashMain$d = 'main';
2027
2444
  function isMain$d(v) {
2028
2445
  return is$typed$e(v, id$e, hashMain$d);
@@ -2031,7 +2448,7 @@ function validateMain$d(v) {
2031
2448
  return validate$e(v, id$e, hashMain$d, true);
2032
2449
  }
2033
2450
 
2034
- var award = /*#__PURE__*/Object.freeze({
2451
+ var definition = /*#__PURE__*/Object.freeze({
2035
2452
  __proto__: null,
2036
2453
  isMain: isMain$d,
2037
2454
  isRecord: isMain$d,
@@ -2039,8 +2456,8 @@ var award = /*#__PURE__*/Object.freeze({
2039
2456
  validateRecord: validateMain$d
2040
2457
  });
2041
2458
 
2042
- const is$typed$d = is$typed$f, validate$d = validate$f;
2043
- const id$d = 'app.certified.badge.definition';
2459
+ const is$typed$d = is$typed$g, validate$d = validate$g;
2460
+ const id$d = 'app.certified.badge.response';
2044
2461
  const hashMain$c = 'main';
2045
2462
  function isMain$c(v) {
2046
2463
  return is$typed$d(v, id$d, hashMain$c);
@@ -2049,7 +2466,7 @@ function validateMain$c(v) {
2049
2466
  return validate$d(v, id$d, hashMain$c, true);
2050
2467
  }
2051
2468
 
2052
- var definition = /*#__PURE__*/Object.freeze({
2469
+ var response = /*#__PURE__*/Object.freeze({
2053
2470
  __proto__: null,
2054
2471
  isMain: isMain$c,
2055
2472
  isRecord: isMain$c,
@@ -2057,8 +2474,12 @@ var definition = /*#__PURE__*/Object.freeze({
2057
2474
  validateRecord: validateMain$c
2058
2475
  });
2059
2476
 
2060
- const is$typed$c = is$typed$f, validate$c = validate$f;
2061
- const id$c = 'app.certified.badge.response';
2477
+ var defs$1 = /*#__PURE__*/Object.freeze({
2478
+ __proto__: null
2479
+ });
2480
+
2481
+ const is$typed$c = is$typed$g, validate$c = validate$g;
2482
+ const id$c = 'app.certified.location';
2062
2483
  const hashMain$b = 'main';
2063
2484
  function isMain$b(v) {
2064
2485
  return is$typed$c(v, id$c, hashMain$b);
@@ -2067,7 +2488,7 @@ function validateMain$b(v) {
2067
2488
  return validate$c(v, id$c, hashMain$b, true);
2068
2489
  }
2069
2490
 
2070
- var response = /*#__PURE__*/Object.freeze({
2491
+ var location = /*#__PURE__*/Object.freeze({
2071
2492
  __proto__: null,
2072
2493
  isMain: isMain$b,
2073
2494
  isRecord: isMain$b,
@@ -2075,46 +2496,51 @@ var response = /*#__PURE__*/Object.freeze({
2075
2496
  validateRecord: validateMain$b
2076
2497
  });
2077
2498
 
2078
- var defs$1 = /*#__PURE__*/Object.freeze({
2079
- __proto__: null
2080
- });
2081
-
2082
- const is$typed$b = is$typed$f, validate$b = validate$f;
2083
- const id$b = 'app.certified.location';
2499
+ const is$typed$b = is$typed$g, validate$b = validate$g;
2500
+ const id$b = 'com.atproto.repo.strongRef';
2084
2501
  const hashMain$a = 'main';
2085
2502
  function isMain$a(v) {
2086
2503
  return is$typed$b(v, id$b, hashMain$a);
2087
2504
  }
2088
2505
  function validateMain$a(v) {
2089
- return validate$b(v, id$b, hashMain$a, true);
2506
+ return validate$b(v, id$b, hashMain$a);
2090
2507
  }
2091
2508
 
2092
- var location = /*#__PURE__*/Object.freeze({
2509
+ var strongRef = /*#__PURE__*/Object.freeze({
2093
2510
  __proto__: null,
2094
2511
  isMain: isMain$a,
2095
- isRecord: isMain$a,
2096
- validateMain: validateMain$a,
2097
- validateRecord: validateMain$a
2512
+ validateMain: validateMain$a
2098
2513
  });
2099
2514
 
2100
- const is$typed$a = is$typed$f, validate$a = validate$f;
2101
- const id$a = 'com.atproto.repo.strongRef';
2515
+ const is$typed$a = is$typed$g, validate$a = validate$g;
2516
+ const id$a = 'org.hypercerts.claim.activity';
2102
2517
  const hashMain$9 = 'main';
2103
2518
  function isMain$9(v) {
2104
2519
  return is$typed$a(v, id$a, hashMain$9);
2105
2520
  }
2106
2521
  function validateMain$9(v) {
2107
- return validate$a(v, id$a, hashMain$9);
2522
+ return validate$a(v, id$a, hashMain$9, true);
2523
+ }
2524
+ const hashContributor = 'contributor';
2525
+ function isContributor(v) {
2526
+ return is$typed$a(v, id$a, hashContributor);
2527
+ }
2528
+ function validateContributor(v) {
2529
+ return validate$a(v, id$a, hashContributor);
2108
2530
  }
2109
2531
 
2110
- var strongRef = /*#__PURE__*/Object.freeze({
2532
+ var activity = /*#__PURE__*/Object.freeze({
2111
2533
  __proto__: null,
2534
+ isContributor: isContributor,
2112
2535
  isMain: isMain$9,
2113
- validateMain: validateMain$9
2536
+ isRecord: isMain$9,
2537
+ validateContributor: validateContributor,
2538
+ validateMain: validateMain$9,
2539
+ validateRecord: validateMain$9
2114
2540
  });
2115
2541
 
2116
- const is$typed$9 = is$typed$f, validate$9 = validate$f;
2117
- const id$9 = 'org.hypercerts.claim.activity';
2542
+ const is$typed$9 = is$typed$g, validate$9 = validate$g;
2543
+ const id$9 = 'org.hypercerts.claim.collection';
2118
2544
  const hashMain$8 = 'main';
2119
2545
  function isMain$8(v) {
2120
2546
  return is$typed$9(v, id$9, hashMain$8);
@@ -2122,35 +2548,26 @@ function isMain$8(v) {
2122
2548
  function validateMain$8(v) {
2123
2549
  return validate$9(v, id$9, hashMain$8, true);
2124
2550
  }
2125
- const hashContributor = 'contributor';
2126
- function isContributor(v) {
2127
- return is$typed$9(v, id$9, hashContributor);
2128
- }
2129
- function validateContributor(v) {
2130
- return validate$9(v, id$9, hashContributor);
2131
- }
2132
- const hashActivityWeight = 'activityWeight';
2133
- function isActivityWeight(v) {
2134
- return is$typed$9(v, id$9, hashActivityWeight);
2551
+ const hashItem = 'item';
2552
+ function isItem(v) {
2553
+ return is$typed$9(v, id$9, hashItem);
2135
2554
  }
2136
- function validateActivityWeight(v) {
2137
- return validate$9(v, id$9, hashActivityWeight);
2555
+ function validateItem(v) {
2556
+ return validate$9(v, id$9, hashItem);
2138
2557
  }
2139
2558
 
2140
- var activity = /*#__PURE__*/Object.freeze({
2559
+ var collection = /*#__PURE__*/Object.freeze({
2141
2560
  __proto__: null,
2142
- isActivityWeight: isActivityWeight,
2143
- isContributor: isContributor,
2561
+ isItem: isItem,
2144
2562
  isMain: isMain$8,
2145
2563
  isRecord: isMain$8,
2146
- validateActivityWeight: validateActivityWeight,
2147
- validateContributor: validateContributor,
2564
+ validateItem: validateItem,
2148
2565
  validateMain: validateMain$8,
2149
2566
  validateRecord: validateMain$8
2150
2567
  });
2151
2568
 
2152
- const is$typed$8 = is$typed$f, validate$8 = validate$f;
2153
- const id$8 = 'org.hypercerts.claim.collection';
2569
+ const is$typed$8 = is$typed$g, validate$8 = validate$g;
2570
+ const id$8 = 'org.hypercerts.claim.contributionDetails';
2154
2571
  const hashMain$7 = 'main';
2155
2572
  function isMain$7(v) {
2156
2573
  return is$typed$8(v, id$8, hashMain$7);
@@ -2159,7 +2576,7 @@ function validateMain$7(v) {
2159
2576
  return validate$8(v, id$8, hashMain$7, true);
2160
2577
  }
2161
2578
 
2162
- var collection = /*#__PURE__*/Object.freeze({
2579
+ var contributionDetails = /*#__PURE__*/Object.freeze({
2163
2580
  __proto__: null,
2164
2581
  isMain: isMain$7,
2165
2582
  isRecord: isMain$7,
@@ -2167,8 +2584,8 @@ var collection = /*#__PURE__*/Object.freeze({
2167
2584
  validateRecord: validateMain$7
2168
2585
  });
2169
2586
 
2170
- const is$typed$7 = is$typed$f, validate$7 = validate$f;
2171
- const id$7 = 'org.hypercerts.claim.contributionDetails';
2587
+ const is$typed$7 = is$typed$g, validate$7 = validate$g;
2588
+ const id$7 = 'org.hypercerts.claim.contributorInformation';
2172
2589
  const hashMain$6 = 'main';
2173
2590
  function isMain$6(v) {
2174
2591
  return is$typed$7(v, id$7, hashMain$6);
@@ -2177,7 +2594,7 @@ function validateMain$6(v) {
2177
2594
  return validate$7(v, id$7, hashMain$6, true);
2178
2595
  }
2179
2596
 
2180
- var contributionDetails = /*#__PURE__*/Object.freeze({
2597
+ var contributorInformation = /*#__PURE__*/Object.freeze({
2181
2598
  __proto__: null,
2182
2599
  isMain: isMain$6,
2183
2600
  isRecord: isMain$6,
@@ -2185,8 +2602,15 @@ var contributionDetails = /*#__PURE__*/Object.freeze({
2185
2602
  validateRecord: validateMain$6
2186
2603
  });
2187
2604
 
2188
- const is$typed$6 = is$typed$f, validate$6 = validate$f;
2189
- const id$6 = 'org.hypercerts.claim.contributorInformation';
2605
+ const is$typed$6 = is$typed$g, validate$6 = validate$g;
2606
+ const id$6 = 'org.hypercerts.claim.evaluation';
2607
+ const hashScore = 'score';
2608
+ function isScore(v) {
2609
+ return is$typed$6(v, id$6, hashScore);
2610
+ }
2611
+ function validateScore(v) {
2612
+ return validate$6(v, id$6, hashScore);
2613
+ }
2190
2614
  const hashMain$5 = 'main';
2191
2615
  function isMain$5(v) {
2192
2616
  return is$typed$6(v, id$6, hashMain$5);
@@ -2195,23 +2619,18 @@ function validateMain$5(v) {
2195
2619
  return validate$6(v, id$6, hashMain$5, true);
2196
2620
  }
2197
2621
 
2198
- var contributorInformation = /*#__PURE__*/Object.freeze({
2622
+ var evaluation = /*#__PURE__*/Object.freeze({
2199
2623
  __proto__: null,
2200
2624
  isMain: isMain$5,
2201
2625
  isRecord: isMain$5,
2626
+ isScore: isScore,
2202
2627
  validateMain: validateMain$5,
2203
- validateRecord: validateMain$5
2628
+ validateRecord: validateMain$5,
2629
+ validateScore: validateScore
2204
2630
  });
2205
2631
 
2206
- const is$typed$5 = is$typed$f, validate$5 = validate$f;
2207
- const id$5 = 'org.hypercerts.claim.evaluation';
2208
- const hashScore = 'score';
2209
- function isScore(v) {
2210
- return is$typed$5(v, id$5, hashScore);
2211
- }
2212
- function validateScore(v) {
2213
- return validate$5(v, id$5, hashScore);
2214
- }
2632
+ const is$typed$5 = is$typed$g, validate$5 = validate$g;
2633
+ const id$5 = 'org.hypercerts.claim.evidence';
2215
2634
  const hashMain$4 = 'main';
2216
2635
  function isMain$4(v) {
2217
2636
  return is$typed$5(v, id$5, hashMain$4);
@@ -2220,18 +2639,16 @@ function validateMain$4(v) {
2220
2639
  return validate$5(v, id$5, hashMain$4, true);
2221
2640
  }
2222
2641
 
2223
- var evaluation = /*#__PURE__*/Object.freeze({
2642
+ var evidence = /*#__PURE__*/Object.freeze({
2224
2643
  __proto__: null,
2225
2644
  isMain: isMain$4,
2226
2645
  isRecord: isMain$4,
2227
- isScore: isScore,
2228
2646
  validateMain: validateMain$4,
2229
- validateRecord: validateMain$4,
2230
- validateScore: validateScore
2647
+ validateRecord: validateMain$4
2231
2648
  });
2232
2649
 
2233
- const is$typed$4 = is$typed$f, validate$4 = validate$f;
2234
- const id$4 = 'org.hypercerts.claim.evidence';
2650
+ const is$typed$4 = is$typed$g, validate$4 = validate$g;
2651
+ const id$4 = 'org.hypercerts.claim.measurement';
2235
2652
  const hashMain$3 = 'main';
2236
2653
  function isMain$3(v) {
2237
2654
  return is$typed$4(v, id$4, hashMain$3);
@@ -2240,7 +2657,7 @@ function validateMain$3(v) {
2240
2657
  return validate$4(v, id$4, hashMain$3, true);
2241
2658
  }
2242
2659
 
2243
- var evidence = /*#__PURE__*/Object.freeze({
2660
+ var measurement = /*#__PURE__*/Object.freeze({
2244
2661
  __proto__: null,
2245
2662
  isMain: isMain$3,
2246
2663
  isRecord: isMain$3,
@@ -2248,8 +2665,8 @@ var evidence = /*#__PURE__*/Object.freeze({
2248
2665
  validateRecord: validateMain$3
2249
2666
  });
2250
2667
 
2251
- const is$typed$3 = is$typed$f, validate$3 = validate$f;
2252
- const id$3 = 'org.hypercerts.claim.measurement';
2668
+ const is$typed$3 = is$typed$g, validate$3 = validate$g;
2669
+ const id$3 = 'org.hypercerts.claim.rights';
2253
2670
  const hashMain$2 = 'main';
2254
2671
  function isMain$2(v) {
2255
2672
  return is$typed$3(v, id$3, hashMain$2);
@@ -2258,7 +2675,7 @@ function validateMain$2(v) {
2258
2675
  return validate$3(v, id$3, hashMain$2, true);
2259
2676
  }
2260
2677
 
2261
- var measurement = /*#__PURE__*/Object.freeze({
2678
+ var rights = /*#__PURE__*/Object.freeze({
2262
2679
  __proto__: null,
2263
2680
  isMain: isMain$2,
2264
2681
  isRecord: isMain$2,
@@ -2266,60 +2683,70 @@ var measurement = /*#__PURE__*/Object.freeze({
2266
2683
  validateRecord: validateMain$2
2267
2684
  });
2268
2685
 
2269
- const is$typed$2 = is$typed$f, validate$2 = validate$f;
2270
- const id$2 = 'org.hypercerts.claim.rights';
2271
- const hashMain$1 = 'main';
2272
- function isMain$1(v) {
2273
- return is$typed$2(v, id$2, hashMain$1);
2274
- }
2275
- function validateMain$1(v) {
2276
- return validate$2(v, id$2, hashMain$1, true);
2277
- }
2278
-
2279
- var rights = /*#__PURE__*/Object.freeze({
2280
- __proto__: null,
2281
- isMain: isMain$1,
2282
- isRecord: isMain$1,
2283
- validateMain: validateMain$1,
2284
- validateRecord: validateMain$1
2285
- });
2286
-
2287
- const is$typed$1 = is$typed$f, validate$1 = validate$f;
2288
- const id$1 = 'org.hypercerts.defs';
2686
+ const is$typed$2 = is$typed$g, validate$2 = validate$g;
2687
+ const id$2 = 'org.hypercerts.defs';
2289
2688
  const hashUri = 'uri';
2290
2689
  function isUri(v) {
2291
- return is$typed$1(v, id$1, hashUri);
2690
+ return is$typed$2(v, id$2, hashUri);
2292
2691
  }
2293
2692
  function validateUri(v) {
2294
- return validate$1(v, id$1, hashUri);
2693
+ return validate$2(v, id$2, hashUri);
2295
2694
  }
2296
2695
  const hashSmallBlob = 'smallBlob';
2297
2696
  function isSmallBlob(v) {
2298
- return is$typed$1(v, id$1, hashSmallBlob);
2697
+ return is$typed$2(v, id$2, hashSmallBlob);
2299
2698
  }
2300
2699
  function validateSmallBlob(v) {
2301
- return validate$1(v, id$1, hashSmallBlob);
2700
+ return validate$2(v, id$2, hashSmallBlob);
2302
2701
  }
2303
2702
  const hashLargeBlob = 'largeBlob';
2304
2703
  function isLargeBlob(v) {
2305
- return is$typed$1(v, id$1, hashLargeBlob);
2704
+ return is$typed$2(v, id$2, hashLargeBlob);
2306
2705
  }
2307
2706
  function validateLargeBlob(v) {
2308
- return validate$1(v, id$1, hashLargeBlob);
2707
+ return validate$2(v, id$2, hashLargeBlob);
2309
2708
  }
2310
2709
  const hashSmallImage = 'smallImage';
2311
2710
  function isSmallImage(v) {
2312
- return is$typed$1(v, id$1, hashSmallImage);
2711
+ return is$typed$2(v, id$2, hashSmallImage);
2313
2712
  }
2314
2713
  function validateSmallImage(v) {
2315
- return validate$1(v, id$1, hashSmallImage);
2714
+ return validate$2(v, id$2, hashSmallImage);
2316
2715
  }
2317
2716
  const hashLargeImage = 'largeImage';
2318
2717
  function isLargeImage(v) {
2319
- return is$typed$1(v, id$1, hashLargeImage);
2718
+ return is$typed$2(v, id$2, hashLargeImage);
2320
2719
  }
2321
2720
  function validateLargeImage(v) {
2322
- return validate$1(v, id$1, hashLargeImage);
2721
+ return validate$2(v, id$2, hashLargeImage);
2722
+ }
2723
+ const hashWorkScopeAll = 'workScopeAll';
2724
+ function isWorkScopeAll(v) {
2725
+ return is$typed$2(v, id$2, hashWorkScopeAll);
2726
+ }
2727
+ function validateWorkScopeAll(v) {
2728
+ return validate$2(v, id$2, hashWorkScopeAll);
2729
+ }
2730
+ const hashWorkScopeAny = 'workScopeAny';
2731
+ function isWorkScopeAny(v) {
2732
+ return is$typed$2(v, id$2, hashWorkScopeAny);
2733
+ }
2734
+ function validateWorkScopeAny(v) {
2735
+ return validate$2(v, id$2, hashWorkScopeAny);
2736
+ }
2737
+ const hashWorkScopeNot = 'workScopeNot';
2738
+ function isWorkScopeNot(v) {
2739
+ return is$typed$2(v, id$2, hashWorkScopeNot);
2740
+ }
2741
+ function validateWorkScopeNot(v) {
2742
+ return validate$2(v, id$2, hashWorkScopeNot);
2743
+ }
2744
+ const hashWorkScopeAtom = 'workScopeAtom';
2745
+ function isWorkScopeAtom(v) {
2746
+ return is$typed$2(v, id$2, hashWorkScopeAtom);
2747
+ }
2748
+ function validateWorkScopeAtom(v) {
2749
+ return validate$2(v, id$2, hashWorkScopeAtom);
2323
2750
  }
2324
2751
 
2325
2752
  var defs = /*#__PURE__*/Object.freeze({
@@ -2329,15 +2756,41 @@ var defs = /*#__PURE__*/Object.freeze({
2329
2756
  isSmallBlob: isSmallBlob,
2330
2757
  isSmallImage: isSmallImage,
2331
2758
  isUri: isUri,
2759
+ isWorkScopeAll: isWorkScopeAll,
2760
+ isWorkScopeAny: isWorkScopeAny,
2761
+ isWorkScopeAtom: isWorkScopeAtom,
2762
+ isWorkScopeNot: isWorkScopeNot,
2332
2763
  validateLargeBlob: validateLargeBlob,
2333
2764
  validateLargeImage: validateLargeImage,
2334
2765
  validateSmallBlob: validateSmallBlob,
2335
2766
  validateSmallImage: validateSmallImage,
2336
- validateUri: validateUri
2767
+ validateUri: validateUri,
2768
+ validateWorkScopeAll: validateWorkScopeAll,
2769
+ validateWorkScopeAny: validateWorkScopeAny,
2770
+ validateWorkScopeAtom: validateWorkScopeAtom,
2771
+ validateWorkScopeNot: validateWorkScopeNot
2337
2772
  });
2338
2773
 
2339
- const is$typed = is$typed$f, validate = validate$f;
2340
- const id = 'org.hypercerts.funding.receipt';
2774
+ const is$typed$1 = is$typed$g, validate$1 = validate$g;
2775
+ const id$1 = 'org.hypercerts.funding.receipt';
2776
+ const hashMain$1 = 'main';
2777
+ function isMain$1(v) {
2778
+ return is$typed$1(v, id$1, hashMain$1);
2779
+ }
2780
+ function validateMain$1(v) {
2781
+ return validate$1(v, id$1, hashMain$1, true);
2782
+ }
2783
+
2784
+ var receipt = /*#__PURE__*/Object.freeze({
2785
+ __proto__: null,
2786
+ isMain: isMain$1,
2787
+ isRecord: isMain$1,
2788
+ validateMain: validateMain$1,
2789
+ validateRecord: validateMain$1
2790
+ });
2791
+
2792
+ const is$typed = is$typed$g, validate = validate$g;
2793
+ const id = 'org.hypercerts.helper.workScopeTag';
2341
2794
  const hashMain = 'main';
2342
2795
  function isMain(v) {
2343
2796
  return is$typed(v, id, hashMain);
@@ -2346,7 +2799,7 @@ function validateMain(v) {
2346
2799
  return validate(v, id, hashMain, true);
2347
2800
  }
2348
2801
 
2349
- var receipt = /*#__PURE__*/Object.freeze({
2802
+ var workScopeTag = /*#__PURE__*/Object.freeze({
2350
2803
  __proto__: null,
2351
2804
  isMain: isMain,
2352
2805
  isRecord: isMain,
@@ -2360,7 +2813,7 @@ var receipt = /*#__PURE__*/Object.freeze({
2360
2813
  * ⚠️ DO NOT EDIT THIS FILE MANUALLY ⚠️
2361
2814
  *
2362
2815
  * This file is automatically generated by scripts/generate-exports.js
2363
- * Generated: 2026-01-21T07:15:37.790Z
2816
+ * Generated: 2026-01-21T23:19:57.583Z
2364
2817
  *
2365
2818
  * To regenerate this file, run:
2366
2819
  * npm run gen-api
@@ -2393,6 +2846,7 @@ const MEASUREMENT_NSID = "org.hypercerts.claim.measurement";
2393
2846
  const RIGHTS_NSID = "org.hypercerts.claim.rights";
2394
2847
  const HYPERCERTS_DEFS_NSID = "org.hypercerts.defs";
2395
2848
  const FUNDING_RECEIPT_NSID = "org.hypercerts.funding.receipt";
2849
+ const HELPER_WORKSCOPETAG_NSID = "org.hypercerts.helper.workScopeTag";
2396
2850
  /**
2397
2851
  * Collection NSIDs organized by semantic record type.
2398
2852
  *
@@ -2416,6 +2870,7 @@ const HYPERCERTS_NSIDS = {
2416
2870
  RIGHTS: RIGHTS_NSID,
2417
2871
  HYPERCERTS_DEFS: HYPERCERTS_DEFS_NSID,
2418
2872
  FUNDING_RECEIPT: FUNDING_RECEIPT_NSID,
2873
+ HELPER_WORKSCOPETAG: HELPER_WORKSCOPETAG_NSID,
2419
2874
  };
2420
2875
  /**
2421
2876
  * Lexicon JSON objects organized by semantic record type.
@@ -2437,6 +2892,7 @@ const HYPERCERTS_LEXICON_JSON = {
2437
2892
  RIGHTS: RIGHTS_LEXICON_JSON,
2438
2893
  HYPERCERTS_DEFS: HYPERCERTS_DEFS_LEXICON_JSON,
2439
2894
  FUNDING_RECEIPT: FUNDING_RECEIPT_LEXICON_JSON,
2895
+ HELPER_WORKSCOPETAG: HELPER_WORKSCOPETAG_LEXICON_JSON,
2440
2896
  };
2441
2897
  // Individual lexicon objects (from lexicons.get())
2442
2898
  const BADGE_AWARD_LEXICON_DOC = lexicons.get(BADGE_AWARD_NSID);
@@ -2455,6 +2911,7 @@ const MEASUREMENT_LEXICON_DOC = lexicons.get(MEASUREMENT_NSID);
2455
2911
  const RIGHTS_LEXICON_DOC = lexicons.get(RIGHTS_NSID);
2456
2912
  const HYPERCERTS_DEFS_LEXICON_DOC = lexicons.get(HYPERCERTS_DEFS_NSID);
2457
2913
  const FUNDING_RECEIPT_LEXICON_DOC = lexicons.get(FUNDING_RECEIPT_NSID);
2914
+ const HELPER_WORKSCOPETAG_LEXICON_DOC = lexicons.get(HELPER_WORKSCOPETAG_NSID);
2458
2915
  /**
2459
2916
  * Lexicon document objects organized by semantic record type.
2460
2917
  */
@@ -2475,6 +2932,7 @@ const HYPERCERTS_LEXICON_DOC = {
2475
2932
  RIGHTS: RIGHTS_LEXICON_DOC,
2476
2933
  HYPERCERTS_DEFS: HYPERCERTS_DEFS_LEXICON_DOC,
2477
2934
  FUNDING_RECEIPT: FUNDING_RECEIPT_LEXICON_DOC,
2935
+ HELPER_WORKSCOPETAG: HELPER_WORKSCOPETAG_LEXICON_DOC,
2478
2936
  };
2479
2937
 
2480
2938
  exports.ACTIVITY_LEXICON_DOC = ACTIVITY_LEXICON_DOC;
@@ -2516,6 +2974,9 @@ exports.EVIDENCE_NSID = EVIDENCE_NSID;
2516
2974
  exports.FUNDING_RECEIPT_LEXICON_DOC = FUNDING_RECEIPT_LEXICON_DOC;
2517
2975
  exports.FUNDING_RECEIPT_LEXICON_JSON = FUNDING_RECEIPT_LEXICON_JSON;
2518
2976
  exports.FUNDING_RECEIPT_NSID = FUNDING_RECEIPT_NSID;
2977
+ exports.HELPER_WORKSCOPETAG_LEXICON_DOC = HELPER_WORKSCOPETAG_LEXICON_DOC;
2978
+ exports.HELPER_WORKSCOPETAG_LEXICON_JSON = HELPER_WORKSCOPETAG_LEXICON_JSON;
2979
+ exports.HELPER_WORKSCOPETAG_NSID = HELPER_WORKSCOPETAG_NSID;
2519
2980
  exports.HYPERCERTS_DEFS_LEXICON_DOC = HYPERCERTS_DEFS_LEXICON_DOC;
2520
2981
  exports.HYPERCERTS_DEFS_LEXICON_JSON = HYPERCERTS_DEFS_LEXICON_JSON;
2521
2982
  exports.HYPERCERTS_DEFS_NSID = HYPERCERTS_DEFS_NSID;
@@ -2541,6 +3002,7 @@ exports.OrgHypercertsClaimMeasurement = measurement;
2541
3002
  exports.OrgHypercertsClaimRights = rights;
2542
3003
  exports.OrgHypercertsDefs = defs;
2543
3004
  exports.OrgHypercertsFundingReceipt = receipt;
3005
+ exports.OrgHypercertsHelperWorkScopeTag = workScopeTag;
2544
3006
  exports.RIGHTS_LEXICON_DOC = RIGHTS_LEXICON_DOC;
2545
3007
  exports.RIGHTS_LEXICON_JSON = RIGHTS_LEXICON_JSON;
2546
3008
  exports.RIGHTS_NSID = RIGHTS_NSID;
@@ -2548,8 +3010,8 @@ exports.STRONGREF_LEXICON_DOC = STRONGREF_LEXICON_DOC;
2548
3010
  exports.STRONGREF_LEXICON_JSON = STRONGREF_LEXICON_JSON;
2549
3011
  exports.STRONGREF_NSID = STRONGREF_NSID;
2550
3012
  exports.asPredicate = asPredicate;
2551
- exports.is$typed = is$typed$f;
3013
+ exports.is$typed = is$typed$g;
2552
3014
  exports.lexicons = lexicons;
2553
3015
  exports.maybe$typed = maybe$typed;
2554
- exports.validate = validate$f;
3016
+ exports.validate = validate$g;
2555
3017
  //# sourceMappingURL=index.cjs.map