@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/lexicons.mjs CHANGED
@@ -273,16 +273,32 @@ const schemaDict = {
273
273
  },
274
274
  shortDescription: {
275
275
  type: 'string',
276
- description: 'Short blurb of the impact work done.',
276
+ description: 'Short summary of this activity claim, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.',
277
277
  maxLength: 3000,
278
278
  maxGraphemes: 300,
279
279
  },
280
+ shortDescriptionFacets: {
281
+ type: 'array',
282
+ description: 'Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).',
283
+ items: {
284
+ type: 'ref',
285
+ ref: 'lex:app.bsky.richtext.facet',
286
+ },
287
+ },
280
288
  description: {
281
289
  type: 'string',
282
- description: 'Optional longer description of the impact work done.',
290
+ description: 'Optional longer description of this activity claim, including context or interpretation. Rich text annotations may be provided via `descriptionFacets`.',
283
291
  maxLength: 30000,
284
292
  maxGraphemes: 3000,
285
293
  },
294
+ descriptionFacets: {
295
+ type: 'array',
296
+ description: 'Rich text annotations for `description` (mentions, URLs, hashtags, etc).',
297
+ items: {
298
+ type: 'ref',
299
+ ref: 'lex:app.bsky.richtext.facet',
300
+ },
301
+ },
286
302
  image: {
287
303
  type: 'union',
288
304
  refs: [
@@ -292,9 +308,14 @@ const schemaDict = {
292
308
  description: 'The hypercert visual representation as a URI or image blob.',
293
309
  },
294
310
  workScope: {
295
- type: 'ref',
296
- ref: 'lex:com.atproto.repo.strongRef',
297
- description: 'A strong reference to a record defining the scope of work. The record referenced should describe the logical scope using label-based conditions.',
311
+ type: 'union',
312
+ refs: [
313
+ 'lex:org.hypercerts.defs#workScopeAll',
314
+ 'lex:org.hypercerts.defs#workScopeAny',
315
+ 'lex:org.hypercerts.defs#workScopeNot',
316
+ 'lex:org.hypercerts.defs#workScopeAtom',
317
+ ],
318
+ description: 'Work scope logic expression using boolean operators (all/any/not) and atomic scope references.',
298
319
  },
299
320
  startDate: {
300
321
  type: 'string',
@@ -337,17 +358,17 @@ const schemaDict = {
337
358
  },
338
359
  contributor: {
339
360
  type: 'object',
340
- required: ['contributorInformation'],
361
+ required: ['contributorIdentity'],
341
362
  properties: {
342
- contributorInformation: {
363
+ contributorIdentity: {
343
364
  type: 'union',
344
365
  refs: [
345
366
  'lex:org.hypercerts.claim.activity#contributorIdentity',
346
367
  'lex:com.atproto.repo.strongRef',
347
368
  ],
348
- description: 'Contributor information as a string (DID or identifier) or strong reference to for instance org.hypercerts.claim.contributorInformation#main.',
369
+ description: 'Contributor identity as a string (DID or identifier) via org.hypercerts.claim.activity#contributorIdentity, or a strong reference to a contributor information record.',
349
370
  },
350
- weight: {
371
+ contributionWeight: {
351
372
  type: 'string',
352
373
  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.',
353
374
  },
@@ -357,7 +378,7 @@ const schemaDict = {
357
378
  'lex:org.hypercerts.claim.activity#contributorRole',
358
379
  'lex:com.atproto.repo.strongRef',
359
380
  ],
360
- description: 'Contribution details as a string or strong reference to org.hypercerts.claim.contributionDetails#main.',
381
+ description: 'Contribution details as a string via org.hypercerts.claim.activity#contributorRole, or a strong reference to a contribution details record.',
361
382
  },
362
383
  },
363
384
  },
@@ -371,21 +392,6 @@ const schemaDict = {
371
392
  maxLength: 10000,
372
393
  maxGraphemes: 1000,
373
394
  },
374
- activityWeight: {
375
- type: 'object',
376
- required: ['activity', 'weight'],
377
- properties: {
378
- activity: {
379
- type: 'ref',
380
- ref: 'lex:com.atproto.repo.strongRef',
381
- description: 'A strong reference to a hypercert activity record. This activity must conform to the lexicon org.hypercerts.claim.activity',
382
- },
383
- weight: {
384
- type: 'string',
385
- 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.',
386
- },
387
- },
388
- },
389
395
  },
390
396
  },
391
397
  OrgHypercertsClaimCollection: {
@@ -421,12 +427,28 @@ const schemaDict = {
421
427
  ref: 'lex:pub.leaflet.pages.linearDocument#main',
422
428
  description: 'Rich-text description, represented as a Leaflet linear document.',
423
429
  },
430
+ avatar: {
431
+ type: 'union',
432
+ refs: [
433
+ 'lex:org.hypercerts.defs#uri',
434
+ 'lex:org.hypercerts.defs#smallImage',
435
+ ],
436
+ description: "The collection's avatar/profile image as a URI or image blob.",
437
+ },
438
+ banner: {
439
+ type: 'union',
440
+ refs: [
441
+ 'lex:org.hypercerts.defs#uri',
442
+ 'lex:org.hypercerts.defs#largeImage',
443
+ ],
444
+ description: 'Larger horizontal image to display behind the collection view.',
445
+ },
424
446
  items: {
425
447
  type: 'array',
426
- 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).',
448
+ description: 'Array of items in this collection with optional weights.',
427
449
  items: {
428
450
  type: 'ref',
429
- ref: 'lex:com.atproto.repo.strongRef',
451
+ ref: 'lex:org.hypercerts.claim.collection#item',
430
452
  },
431
453
  },
432
454
  createdAt: {
@@ -437,6 +459,21 @@ const schemaDict = {
437
459
  },
438
460
  },
439
461
  },
462
+ item: {
463
+ type: 'object',
464
+ required: ['itemIdentifier'],
465
+ properties: {
466
+ itemIdentifier: {
467
+ type: 'ref',
468
+ ref: 'lex:com.atproto.repo.strongRef',
469
+ 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).',
470
+ },
471
+ itemWeight: {
472
+ type: 'string',
473
+ 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.',
474
+ },
475
+ },
476
+ },
440
477
  },
441
478
  },
442
479
  OrgHypercertsClaimContributionDetails: {
@@ -858,6 +895,94 @@ const schemaDict = {
858
895
  },
859
896
  },
860
897
  },
898
+ workScopeAll: {
899
+ type: 'object',
900
+ required: ['op', 'args'],
901
+ description: 'Logical AND operation: all arguments must be satisfied.',
902
+ properties: {
903
+ op: {
904
+ type: 'string',
905
+ const: 'all',
906
+ description: "Operator type: 'all' (logical AND)",
907
+ },
908
+ args: {
909
+ type: 'array',
910
+ items: {
911
+ type: 'union',
912
+ refs: [
913
+ 'lex:org.hypercerts.defs#workScopeAll',
914
+ 'lex:org.hypercerts.defs#workScopeAny',
915
+ 'lex:org.hypercerts.defs#workScopeNot',
916
+ 'lex:org.hypercerts.defs#workScopeAtom',
917
+ ],
918
+ },
919
+ minLength: 1,
920
+ maxLength: 100,
921
+ description: 'Array of work scope expressions that must all be satisfied',
922
+ },
923
+ },
924
+ },
925
+ workScopeAny: {
926
+ type: 'object',
927
+ required: ['op', 'args'],
928
+ description: 'Logical OR operation: at least one argument must be satisfied.',
929
+ properties: {
930
+ op: {
931
+ type: 'string',
932
+ const: 'any',
933
+ description: "Operator type: 'any' (logical OR)",
934
+ },
935
+ args: {
936
+ type: 'array',
937
+ items: {
938
+ type: 'union',
939
+ refs: [
940
+ 'lex:org.hypercerts.defs#workScopeAll',
941
+ 'lex:org.hypercerts.defs#workScopeAny',
942
+ 'lex:org.hypercerts.defs#workScopeNot',
943
+ 'lex:org.hypercerts.defs#workScopeAtom',
944
+ ],
945
+ },
946
+ minLength: 1,
947
+ maxLength: 100,
948
+ description: 'Array of work scope expressions, at least one of which must be satisfied',
949
+ },
950
+ },
951
+ },
952
+ workScopeNot: {
953
+ type: 'object',
954
+ required: ['op', 'arg'],
955
+ description: 'Logical NOT operation: the argument must not be satisfied.',
956
+ properties: {
957
+ op: {
958
+ type: 'string',
959
+ const: 'not',
960
+ description: "Operator type: 'not' (logical NOT)",
961
+ },
962
+ arg: {
963
+ type: 'union',
964
+ refs: [
965
+ 'lex:org.hypercerts.defs#workScopeAll',
966
+ 'lex:org.hypercerts.defs#workScopeAny',
967
+ 'lex:org.hypercerts.defs#workScopeNot',
968
+ 'lex:org.hypercerts.defs#workScopeAtom',
969
+ ],
970
+ description: 'Work scope expression that must not be satisfied',
971
+ },
972
+ },
973
+ },
974
+ workScopeAtom: {
975
+ type: 'object',
976
+ required: ['atom'],
977
+ description: 'Atomic scope reference: a strong reference to a scope record.',
978
+ properties: {
979
+ atom: {
980
+ type: 'ref',
981
+ ref: 'lex:com.atproto.repo.strongRef',
982
+ description: 'Strong reference to an org.hypercerts.helper.workScopeTag record',
983
+ },
984
+ },
985
+ },
861
986
  },
862
987
  },
863
988
  OrgHypercertsFundingReceipt: {
@@ -926,6 +1051,71 @@ const schemaDict = {
926
1051
  },
927
1052
  },
928
1053
  },
1054
+ OrgHypercertsHelperWorkScopeTag: {
1055
+ lexicon: 1,
1056
+ id: 'org.hypercerts.helper.workScopeTag',
1057
+ defs: {
1058
+ main: {
1059
+ type: 'record',
1060
+ description: 'A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels.',
1061
+ key: 'tid',
1062
+ record: {
1063
+ type: 'object',
1064
+ required: ['createdAt', 'key', 'label'],
1065
+ properties: {
1066
+ createdAt: {
1067
+ type: 'string',
1068
+ format: 'datetime',
1069
+ description: 'Client-declared timestamp when this record was originally created',
1070
+ },
1071
+ key: {
1072
+ type: 'string',
1073
+ description: "Lowercase, hyphenated machine-readable key for this scope (e.g., 'ipfs', 'go-lang', 'filecoin').",
1074
+ maxLength: 120,
1075
+ },
1076
+ label: {
1077
+ type: 'string',
1078
+ description: 'Human-readable label for this scope.',
1079
+ maxLength: 200,
1080
+ },
1081
+ kind: {
1082
+ type: 'string',
1083
+ description: 'Category type of this scope. Recommended values: topic, language, domain, method, tag.',
1084
+ maxLength: 50,
1085
+ },
1086
+ description: {
1087
+ type: 'string',
1088
+ description: 'Optional longer description of this scope.',
1089
+ maxLength: 10000,
1090
+ maxGraphemes: 1000,
1091
+ },
1092
+ parent: {
1093
+ type: 'ref',
1094
+ ref: 'lex:com.atproto.repo.strongRef',
1095
+ description: 'Optional strong reference to a parent scope record for taxonomy/hierarchy support.',
1096
+ },
1097
+ aliases: {
1098
+ type: 'array',
1099
+ items: {
1100
+ type: 'string',
1101
+ maxLength: 200,
1102
+ },
1103
+ maxLength: 50,
1104
+ description: 'Optional array of alternative names or identifiers for this scope.',
1105
+ },
1106
+ externalReference: {
1107
+ type: 'union',
1108
+ refs: [
1109
+ 'lex:org.hypercerts.defs#uri',
1110
+ 'lex:org.hypercerts.defs#smallBlob',
1111
+ ],
1112
+ description: 'Optional external reference for this scope as a URI or blob.',
1113
+ },
1114
+ },
1115
+ },
1116
+ },
1117
+ },
1118
+ },
929
1119
  };
930
1120
  const schemas = Object.values(schemaDict);
931
1121
  const lexicons = new Lexicons(schemas);
@@ -954,6 +1144,7 @@ const ids = {
954
1144
  OrgHypercertsClaimRights: 'org.hypercerts.claim.rights',
955
1145
  OrgHypercertsDefs: 'org.hypercerts.defs',
956
1146
  OrgHypercertsFundingReceipt: 'org.hypercerts.funding.receipt',
1147
+ OrgHypercertsHelperWorkScopeTag: 'org.hypercerts.helper.workScopeTag',
957
1148
  };
958
1149
 
959
1150
  export { ids, lexicons, schemaDict, schemas, validate };