@hypercerts-org/lexicon 0.10.0-beta.0 → 0.10.0-beta.10
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.
- package/CHANGELOG.md +313 -0
- package/README.md +205 -291
- package/SCHEMAS.md +294 -0
- package/dist/exports.d.ts +1145 -0
- package/dist/exports.d.ts.map +1 -0
- package/dist/generated/exports.d.ts +1145 -0
- package/dist/generated/exports.d.ts.map +1 -0
- package/dist/generated/lexicons.d.ts +2049 -0
- package/dist/generated/lexicons.d.ts.map +1 -0
- package/dist/generated/types/app/bsky/richtext/facet.d.ts +8 -0
- package/dist/generated/types/app/bsky/richtext/facet.d.ts.map +1 -0
- package/dist/generated/types/app/certified/badge/award.d.ts +24 -0
- package/dist/generated/types/app/certified/badge/award.d.ts.map +1 -0
- package/dist/generated/types/app/certified/badge/definition.d.ts +25 -0
- package/dist/generated/types/app/certified/badge/definition.d.ts.map +1 -0
- package/dist/generated/types/app/certified/badge/response.d.ts +20 -0
- package/dist/generated/types/app/certified/badge/response.d.ts.map +1 -0
- package/dist/generated/types/app/certified/defs.d.ts +3 -0
- package/dist/generated/types/app/certified/defs.d.ts.map +1 -0
- package/dist/generated/types/app/certified/location.d.ts +29 -0
- package/dist/generated/types/app/certified/location.d.ts.map +1 -0
- package/dist/generated/types/com/atproto/repo/strongRef.d.ts +12 -0
- package/dist/generated/types/com/atproto/repo/strongRef.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/claim/activity.d.ts +60 -0
- package/dist/generated/types/org/hypercerts/claim/activity.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/claim/collection.d.ts +41 -0
- package/dist/generated/types/org/hypercerts/claim/collection.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/claim/contributionDetails.d.ts +22 -0
- package/dist/generated/types/org/hypercerts/claim/contributionDetails.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/claim/contributorInformation.d.ts +23 -0
- package/dist/generated/types/org/hypercerts/claim/contributorInformation.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/claim/evaluation.d.ts +43 -0
- package/dist/generated/types/org/hypercerts/claim/evaluation.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/claim/evidence.d.ts +29 -0
- package/dist/generated/types/org/hypercerts/claim/evidence.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/claim/measurement.d.ts +30 -0
- package/dist/generated/types/org/hypercerts/claim/measurement.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/claim/rights.d.ts +25 -0
- package/dist/generated/types/org/hypercerts/claim/rights.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/defs.d.ts +89 -0
- package/dist/generated/types/org/hypercerts/defs.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/funding/receipt.d.ts +34 -0
- package/dist/generated/types/org/hypercerts/funding/receipt.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/helper/workScopeTag.d.ts +31 -0
- package/dist/generated/types/org/hypercerts/helper/workScopeTag.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/pages/linearDocument.d.ts +2 -0
- package/dist/generated/types/pub/leaflet/pages/linearDocument.d.ts.map +1 -0
- package/dist/generated/util.d.ts +37 -0
- package/dist/generated/util.d.ts.map +1 -0
- package/dist/index.cjs +3017 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.mjs +2937 -0
- package/dist/index.mjs.map +1 -0
- package/dist/lexicons.cjs +1157 -0
- package/dist/lexicons.cjs.map +1 -0
- package/dist/lexicons.d.ts +2049 -0
- package/dist/lexicons.d.ts.map +1 -0
- package/dist/lexicons.mjs +1151 -0
- package/dist/lexicons.mjs.map +1 -0
- package/dist/types/app/bsky/richtext/facet.d.ts +8 -0
- package/dist/types/app/bsky/richtext/facet.d.ts.map +1 -0
- package/dist/types/app/certified/badge/award.d.ts +24 -0
- package/dist/types/app/certified/badge/award.d.ts.map +1 -0
- package/dist/types/app/certified/badge/definition.d.ts +25 -0
- package/dist/types/app/certified/badge/definition.d.ts.map +1 -0
- package/dist/types/app/certified/badge/response.d.ts +20 -0
- package/dist/types/app/certified/badge/response.d.ts.map +1 -0
- package/dist/types/app/certified/defs.d.ts +3 -0
- package/dist/types/app/certified/defs.d.ts.map +1 -0
- package/dist/types/app/certified/location.d.ts +29 -0
- package/dist/types/app/certified/location.d.ts.map +1 -0
- package/dist/types/com/atproto/repo/strongRef.d.ts +12 -0
- package/dist/types/com/atproto/repo/strongRef.d.ts.map +1 -0
- package/dist/types/org/hypercerts/claim/activity.d.ts +60 -0
- package/dist/types/org/hypercerts/claim/activity.d.ts.map +1 -0
- package/dist/types/org/hypercerts/claim/collection.d.ts +41 -0
- package/dist/types/org/hypercerts/claim/collection.d.ts.map +1 -0
- package/dist/types/org/hypercerts/claim/contributionDetails.d.ts +22 -0
- package/dist/types/org/hypercerts/claim/contributionDetails.d.ts.map +1 -0
- package/dist/types/org/hypercerts/claim/contributorInformation.d.ts +23 -0
- package/dist/types/org/hypercerts/claim/contributorInformation.d.ts.map +1 -0
- package/dist/types/org/hypercerts/claim/evaluation.d.ts +43 -0
- package/dist/types/org/hypercerts/claim/evaluation.d.ts.map +1 -0
- package/dist/types/org/hypercerts/claim/evidence.d.ts +29 -0
- package/dist/types/org/hypercerts/claim/evidence.d.ts.map +1 -0
- package/dist/types/org/hypercerts/claim/measurement.d.ts +30 -0
- package/dist/types/org/hypercerts/claim/measurement.d.ts.map +1 -0
- package/dist/types/org/hypercerts/claim/rights.d.ts +25 -0
- package/dist/types/org/hypercerts/claim/rights.d.ts.map +1 -0
- package/dist/types/org/hypercerts/defs.d.ts +89 -0
- package/dist/types/org/hypercerts/defs.d.ts.map +1 -0
- package/dist/types/org/hypercerts/funding/receipt.d.ts +34 -0
- package/dist/types/org/hypercerts/funding/receipt.d.ts.map +1 -0
- package/dist/types/org/hypercerts/helper/workScopeTag.d.ts +31 -0
- package/dist/types/org/hypercerts/helper/workScopeTag.d.ts.map +1 -0
- package/dist/types/pub/leaflet/pages/linearDocument.d.ts +2 -0
- package/dist/types/pub/leaflet/pages/linearDocument.d.ts.map +1 -0
- package/dist/util.d.ts +37 -0
- package/dist/util.d.ts.map +1 -0
- package/lexicons/org/hypercerts/claim/activity.json +59 -60
- package/lexicons/org/hypercerts/claim/collection.json +43 -15
- package/lexicons/org/hypercerts/claim/contributionDetails.json +43 -0
- package/lexicons/org/hypercerts/claim/contributorInformation.json +39 -0
- package/lexicons/org/hypercerts/claim/evaluation.json +1 -1
- package/lexicons/org/hypercerts/defs.json +88 -0
- package/lexicons/org/hypercerts/helper/workScopeTag.json +65 -0
- package/package.json +61 -23
- package/README.md.orig +0 -267
- package/lexicons/org/hypercerts/claim/contribution.json +0 -50
- package/lexicons/org/hypercerts/claim/project.json +0 -64
- package/types/index.ts +0 -1257
- package/types/lexicons.ts +0 -1071
- package/types/types/app/certified/badge/award.ts +0 -48
- package/types/types/app/certified/badge/definition.ts +0 -49
- package/types/types/app/certified/badge/response.ts +0 -44
- package/types/types/app/certified/defs.ts +0 -14
- package/types/types/app/certified/location.ts +0 -49
- package/types/types/com/atproto/repo/strongRef.ts +0 -31
- package/types/types/org/hypercerts/claim/activity.ts +0 -99
- package/types/types/org/hypercerts/claim/collection.ts +0 -49
- package/types/types/org/hypercerts/claim/contribution.ts +0 -48
- package/types/types/org/hypercerts/claim/evaluation.ts +0 -77
- package/types/types/org/hypercerts/claim/evidence.ts +0 -53
- package/types/types/org/hypercerts/claim/measurement.ts +0 -54
- package/types/types/org/hypercerts/claim/project.ts +0 -53
- package/types/types/org/hypercerts/claim/rights.ts +0 -49
- package/types/types/org/hypercerts/defs.ts +0 -96
- package/types/types/org/hypercerts/funding/receipt.ts +0 -58
- package/types/util.ts +0 -82
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
# @hypercerts-org/lexicon
|
|
2
|
+
|
|
3
|
+
## 0.10.0-beta.10
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#122](https://github.com/hypercerts-org/hypercerts-lexicon/pull/122) [`3e3da41`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/3e3da41df8016d4d7f63477000a01756704d0820) Thanks [@aspiers](https://github.com/aspiers)! - Drop HELPER\_ prefix from workScopeTag constants. `HELPER_WORK_SCOPE_TAG_NSID`, `HELPER_WORK_SCOPE_TAG_LEXICON_JSON`, and `HELPER_WORK_SCOPE_TAG_LEXICON_DOC` are now `WORK_SCOPE_TAG_NSID`, `WORK_SCOPE_TAG_LEXICON_JSON`, and `WORK_SCOPE_TAG_LEXICON_DOC`.
|
|
8
|
+
|
|
9
|
+
## 0.10.0-beta.9
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [#121](https://github.com/hypercerts-org/hypercerts-lexicon/pull/121) [`5c33b79`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/5c33b796f78eca2a207116d246a715cd5712f392) Thanks [@aspiers](https://github.com/aspiers)! - Fix camelCase export names to use underscores. Generated constants like `CONTRIBUTIONDETAILS_LEXICON_*` are now `CONTRIBUTION_DETAILS_LEXICON_*` for consistency.
|
|
14
|
+
|
|
15
|
+
Affected exports:
|
|
16
|
+
- `CONTRIBUTION_DETAILS_NSID`, `CONTRIBUTION_DETAILS_LEXICON_JSON`, `CONTRIBUTION_DETAILS_LEXICON_DOC` (was `CONTRIBUTIONDETAILS_*`)
|
|
17
|
+
- `CONTRIBUTOR_INFORMATION_NSID`, `CONTRIBUTOR_INFORMATION_LEXICON_JSON`, `CONTRIBUTOR_INFORMATION_LEXICON_DOC` (was `CONTRIBUTORINFORMATION_*`)
|
|
18
|
+
- `STRONG_REF_NSID`, `STRONG_REF_LEXICON_JSON`, `STRONG_REF_LEXICON_DOC` (was `STRONGREF_*`)
|
|
19
|
+
- `HELPER_WORK_SCOPE_TAG_NSID`, `HELPER_WORK_SCOPE_TAG_LEXICON_JSON`, `HELPER_WORK_SCOPE_TAG_LEXICON_DOC` (was `HELPER_WORKSCOPETAG_*`)
|
|
20
|
+
|
|
21
|
+
## 0.10.0-beta.8
|
|
22
|
+
|
|
23
|
+
### Minor Changes
|
|
24
|
+
|
|
25
|
+
- [#107](https://github.com/hypercerts-org/hypercerts-lexicon/pull/107) [`678de97`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/678de97614826fc124ed3208cccb236d9b6e2bb1) Thanks [@holkexyz](https://github.com/holkexyz)! - Add work scope logic expression system with boolean operators
|
|
26
|
+
|
|
27
|
+
**New Features:**
|
|
28
|
+
- **Work scope logic AST (`org.hypercerts.defs`):**
|
|
29
|
+
- Added `org.hypercerts.defs#workScopeAll` (logical AND): requires all arguments to be satisfied, with recursive union support for nested expressions
|
|
30
|
+
- Added `org.hypercerts.defs#workScopeAny` (logical OR): requires at least one argument to be satisfied, with recursive union support for nested expressions
|
|
31
|
+
- Added `org.hypercerts.defs#workScopeNot` (logical NOT): negates an expression, with recursive union support for nested expressions
|
|
32
|
+
- Added `org.hypercerts.defs#workScopeAtom`: atomic reference to a scope tag record via strongRef
|
|
33
|
+
- All operators support recursive boolean logic expressions through union types in their `args`/`arg` properties, allowing nested combinations of `workScopeAll`, `workScopeAny`, `workScopeNot`, and `workScopeAtom`
|
|
34
|
+
- **Work scope tag lexicon (`org.hypercerts.helper.workScopeTag`):**
|
|
35
|
+
- New record type for reusable scope atoms
|
|
36
|
+
- Fields: `createdAt`, `key`, `label` (required), `kind`, `description`, `parent`, `aliases`, `externalReference` (optional)
|
|
37
|
+
- Supports taxonomy/hierarchy via `parent` strongRef
|
|
38
|
+
- Supports external references via URI or blob
|
|
39
|
+
- **Activity lexicon (`org.hypercerts.claim.activity`):**
|
|
40
|
+
- Added `org.hypercerts.claim.activity#workScope` field using a union type that references `org.hypercerts.defs#workScopeAll`, `org.hypercerts.defs#workScopeAny`, `org.hypercerts.defs#workScopeNot`, and `org.hypercerts.defs#workScopeAtom`
|
|
41
|
+
- Enables complex boolean logic expressions for work scope definitions with recursive nesting support
|
|
42
|
+
- Replaces simple strongRef approach with expressive AST-based system
|
|
43
|
+
|
|
44
|
+
**Breaking Changes:**
|
|
45
|
+
- The `workScope` field in `org.hypercerts.claim.activity` now expects a work scope logic expression instead of a simple strongRef. Existing records using the old format will need to be migrated to use the new AST structure.
|
|
46
|
+
|
|
47
|
+
## 0.10.0-beta.7
|
|
48
|
+
|
|
49
|
+
### Minor Changes
|
|
50
|
+
|
|
51
|
+
- [#106](https://github.com/hypercerts-org/hypercerts-lexicon/pull/106) [`b03a1f7`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/b03a1f7925b56a5d614bb3a40f7fe5e6321f3d34) Thanks [@copilot-swe-agent](https://github.com/apps/copilot-swe-agent)! - Add avatar and banner fields to collection lexicon for visual representation
|
|
52
|
+
|
|
53
|
+
- [#113](https://github.com/hypercerts-org/hypercerts-lexicon/pull/113) [`c3f9ca2`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/c3f9ca2f5cb2c5da4d0f4272a74d06f6798e058b) Thanks [@holkexyz](https://github.com/holkexyz)! - Refactor collection items structure to support optional weights and remove activityWeight from activity schema
|
|
54
|
+
|
|
55
|
+
**Breaking Changes:**
|
|
56
|
+
- **Activity lexicon (`org.hypercerts.claim.activity`):**
|
|
57
|
+
- Removed `org.hypercerts.claim.activity#activityWeight` def
|
|
58
|
+
- Activity records no longer include activity weight information
|
|
59
|
+
- **Collection lexicon (`org.hypercerts.claim.collection`):**
|
|
60
|
+
- Changed `org.hypercerts.claim.collection#items` from array of strongRefs to array of item objects
|
|
61
|
+
- Added `org.hypercerts.claim.collection#item` def with:
|
|
62
|
+
- `itemIdentifier` (required): strongRef to an item (activity or collection)
|
|
63
|
+
- `itemWeight` (optional): positive numeric value stored as string
|
|
64
|
+
- Supports recursive collection nesting (items can reference activities or other collections)
|
|
65
|
+
|
|
66
|
+
**Migration:**
|
|
67
|
+
|
|
68
|
+
**Collection items:** Convert from array of strongRefs to array of item objects:
|
|
69
|
+
|
|
70
|
+
```json
|
|
71
|
+
// Before
|
|
72
|
+
"items": [strongRef1, strongRef2]
|
|
73
|
+
|
|
74
|
+
// After
|
|
75
|
+
"items": [
|
|
76
|
+
{ "itemIdentifier": strongRef1, "itemWeight": "1.5" },
|
|
77
|
+
{ "itemIdentifier": strongRef2 }
|
|
78
|
+
]
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**Activity weights:** Migrate existing `org.hypercerts.claim.activity#activityWeight` data to collection `org.hypercerts.claim.collection#item.itemWeight`:
|
|
82
|
+
|
|
83
|
+
```json
|
|
84
|
+
// Old (removed from activity)
|
|
85
|
+
{ "activity": { "uri": "...", "cid": "..." }, "weight": "1.5" }
|
|
86
|
+
|
|
87
|
+
// New (in collection items)
|
|
88
|
+
{ "itemIdentifier": { "uri": "...", "cid": "..." }, "itemWeight": "1.5" }
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Update collections that reference activities to include weights in `org.hypercerts.claim.collection#item.itemWeight`. Weights can be dropped if not needed.
|
|
92
|
+
|
|
93
|
+
- [#91](https://github.com/hypercerts-org/hypercerts-lexicon/pull/91) [`0c6da09`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/0c6da093c8a38a3ee516a85b6bffee0850535b14) Thanks [@holkexyz](https://github.com/holkexyz)! - Add rich text facet support to activity claim descriptions
|
|
94
|
+
|
|
95
|
+
Add `shortDescriptionFacets` and `descriptionFacets` fields to the activity lexicon to support rich text annotations (mentions, URLs, hashtags, etc.) in activity claim descriptions.
|
|
96
|
+
|
|
97
|
+
## 0.10.0-beta.6
|
|
98
|
+
|
|
99
|
+
### Minor Changes
|
|
100
|
+
|
|
101
|
+
- [#102](https://github.com/hypercerts-org/hypercerts-lexicon/pull/102) [`68011ae`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/68011ae1f58dcc35408e2400c02dfa16559e18d6) Thanks [@holkexyz](https://github.com/holkexyz)! - Refactor contributions structure and split contributor lexicon
|
|
102
|
+
|
|
103
|
+
**Breaking Changes:**
|
|
104
|
+
- **Activity lexicon (`org.hypercerts.claim.activity`):**
|
|
105
|
+
- Renamed `contributions` field to `contributors`
|
|
106
|
+
- Replaced `contributions` array (array of strongRefs) with new `contributors` array containing contributor objects
|
|
107
|
+
- Each contributor object has three fields:
|
|
108
|
+
- `contributorInformation` (required): string (DID/identifier) or strongRef to `org.hypercerts.claim.contributorInformation#main`
|
|
109
|
+
- `weight` (optional): positive number (stored as string)
|
|
110
|
+
- `contributionDetails` (optional): string or strongRef to `org.hypercerts.claim.contributionDetails#main`
|
|
111
|
+
- Renamed internal `contribution` object type to `contributor`
|
|
112
|
+
- Renamed string wrapper defs: `contributorInformationString` → `contributorIdentity`, `contributionDetailsString` → `contributorRole`
|
|
113
|
+
- Updated `contributorRole` string limits: maxLength 10000, maxGraphemes 1000
|
|
114
|
+
- **Contributor lexicon (`org.hypercerts.claim.contributor`):**
|
|
115
|
+
- Split into two separate lexicon files:
|
|
116
|
+
- `org.hypercerts.claim.contributorInformation`: new lexicon file containing `identifier`, `displayName`, `image` (contributor profile information)
|
|
117
|
+
- `org.hypercerts.claim.contributionDetails`: new lexicon file containing `role`, `contributionDescription`, `startDate`, `endDate` (contribution-specific details)
|
|
118
|
+
- The original `org.hypercerts.claim.contributor` lexicon has been removed
|
|
119
|
+
|
|
120
|
+
Existing contributions using the old structure will need to be migrated to the new format.
|
|
121
|
+
|
|
122
|
+
## 0.10.0-beta.5
|
|
123
|
+
|
|
124
|
+
### Minor Changes
|
|
125
|
+
|
|
126
|
+
- [#78](https://github.com/hypercerts-org/hypercerts-lexicon/pull/78) [`c55d8a7`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/c55d8a77ff2949136bab0c6680b7e458712404f1) Thanks [@bitbeckers](https://github.com/bitbeckers)! - Remove org.hypercerts.claim.project lexicon and replace with org.hypercerts.claim.collection.project sidecar. Projects are now represented as collections with an optional project sidecar (same TID) that provides rich-text descriptions, avatars, and cover photos. Avatar and coverPhoto fields moved from base collection to project sidecar. Collections without the project sidecar are simple groupings; collections with it are "projects" with rich documentation.
|
|
127
|
+
|
|
128
|
+
- [#93](https://github.com/hypercerts-org/hypercerts-lexicon/pull/93) [`3276d6e`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/3276d6e59975ac8cfdd9a8eed09ddfd57fdddf41) Thanks [@bitbeckers](https://github.com/bitbeckers)! - Change workScope from inline object definition to strongRef in activity lexicon. This breaking change removes the workScope definition (withinAllOf, withinAnyOf, withinNoneOf properties) and changes the workScope property to reference an external record via strongRef, allowing for more flexible work scope definitions.
|
|
129
|
+
|
|
130
|
+
- [#97](https://github.com/hypercerts-org/hypercerts-lexicon/pull/97) [`ceddab9`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/ceddab9e829d8ade3868eac4d10dd906e12a153c) Thanks [@aspiers](https://github.com/aspiers)! - Move schema documentation tables from README.md to auto-generated SCHEMAS.md to reduce git merge conflicts. The SCHEMAS.md file is now auto-generated from lexicon definitions and included in the distributed package.
|
|
131
|
+
|
|
132
|
+
- [#78](https://github.com/hypercerts-org/hypercerts-lexicon/pull/78) [`cc9d7bf`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/cc9d7bff3dc63f155ce8e11204fc1506ca687711) Thanks [@bitbeckers](https://github.com/bitbeckers)! - Refactor collection lexicon to use items array instead of activities. The items array contains plain strongRefs (com.atproto.repo.strongRef) that can reference activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.claim.collection), enabling recursive collection nesting. This change removes the activityWeight object structure from the base collection lexicon.
|
|
133
|
+
|
|
134
|
+
- [#67](https://github.com/hypercerts-org/hypercerts-lexicon/pull/67) [`b51dd76`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/b51dd7652b73c5ae6bba103f07eca9f5195809f0) Thanks [@bitbeckers](https://github.com/bitbeckers)! - Remove bidirectional project-activity link. Activities no longer include a `project` field reference. Projects continue to reference activities via the `activities` array, making the relationship unidirectional (project → activities only).
|
|
135
|
+
|
|
136
|
+
- [#98](https://github.com/hypercerts-org/hypercerts-lexicon/pull/98) [`43b0431`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/43b04316d8cb11066d61d79e70f262f0d2426cde) Thanks [@aspiers](https://github.com/aspiers)! - Remove org.hypercerts.claim.collection.project lexicon
|
|
137
|
+
|
|
138
|
+
- [#75](https://github.com/hypercerts-org/hypercerts-lexicon/pull/75) [`95e2ba1`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/95e2ba174ea348746ce64507bf94b73c3d3d3954) Thanks [@s-adamantine](https://github.com/s-adamantine)! - Unify project and collection schemas into a single
|
|
139
|
+
`org.hypercerts.claim.collection` lexicon with `type` discriminator
|
|
140
|
+
field to allow collections to be designated as projects. Custom
|
|
141
|
+
strings are also allowed in `type`.
|
|
142
|
+
|
|
143
|
+
Also make `shortDescription` field optional in
|
|
144
|
+
`org.hypercerts.claim.collection` to match
|
|
145
|
+
`org.hypercerts.claim.project`.
|
|
146
|
+
|
|
147
|
+
This unification removes `org.hypercerts.claim.project`, so existing
|
|
148
|
+
projects should be migrated to collections with `type` set to
|
|
149
|
+
`project`.
|
|
150
|
+
|
|
151
|
+
- [#80](https://github.com/hypercerts-org/hypercerts-lexicon/pull/80) [`e8d5a7c`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/e8d5a7cd080e4f8d4e6b96ce5762678deaeb2902) Thanks [@s-adamantine](https://github.com/s-adamantine)! - Updated `org.hypercerts.claim.collection` lexicon:
|
|
152
|
+
- Added optional `type` field to specify collection type (e.g., 'favorites', 'project')
|
|
153
|
+
- Renamed fields for consistency:
|
|
154
|
+
- `collectionTitle` → `title`
|
|
155
|
+
- `shortCollectionDescription` → `shortDescription`
|
|
156
|
+
- `collectionDescription` → `description`
|
|
157
|
+
- Changed `description` from string to Leaflet linear document reference (`pub.leaflet.pages.linearDocument#main`) to support rich-text descriptions
|
|
158
|
+
|
|
159
|
+
**Breaking changes**:
|
|
160
|
+
- Field names have been renamed (e.g., `collectionTitle` → `title`)
|
|
161
|
+
- The `description` field now expects a reference object instead of a plain string
|
|
162
|
+
|
|
163
|
+
- [#92](https://github.com/hypercerts-org/hypercerts-lexicon/pull/92) [`bec8e63`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/bec8e63195fb73734b68f3d5201864b9bede0904) Thanks [@s-adamantine](https://github.com/s-adamantine)! - Update `org.hypercerts.claim.contributor` lexicon to support individual contributor profiles and roles.
|
|
164
|
+
|
|
165
|
+
Breaking Changes:
|
|
166
|
+
- Removed `contributors` array.
|
|
167
|
+
- Added `identifier`, `displayName`, and `image` fields for individual profiles.
|
|
168
|
+
- Renamed `description` to `contributionDescription`.
|
|
169
|
+
- Updated `required` fields to only include `createdAt`.
|
|
170
|
+
|
|
171
|
+
Also corrected incorrect references to `org.hypercerts.claim.contribution` across the codebase to use the correct ID `org.hypercerts.claim.contributor`.
|
|
172
|
+
|
|
173
|
+
### Patch Changes
|
|
174
|
+
|
|
175
|
+
- [#77](https://github.com/hypercerts-org/hypercerts-lexicon/pull/77) [`0d61ff7`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/0d61ff7e030a25682cd71877ae603b8782b09c3b) Thanks [@bitbeckers](https://github.com/bitbeckers)! - Document ATProto sidecar pattern for collections using app.certified.location. Collections can now have location metadata by creating a location record with the same TID, allowing location updates without changing the collection CID. Updated README with usage example and ERD with sidecar relationship.
|
|
176
|
+
|
|
177
|
+
- [#74](https://github.com/hypercerts-org/hypercerts-lexicon/pull/74) [`f845f92`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/f845f924907f62c8b96afa6a18ac203c4bd4cad5) Thanks [@aspiers](https://github.com/aspiers)! - Make startDate and endDate optional in activity lexicon
|
|
178
|
+
|
|
179
|
+
## 0.10.0-beta.4
|
|
180
|
+
|
|
181
|
+
### Minor Changes
|
|
182
|
+
|
|
183
|
+
- [#47](https://github.com/hypercerts-org/hypercerts-lexicon/pull/47) [`6a66e4b`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/6a66e4b78ef676cc66b35773f2f9828ea697d332) Thanks [@satyam-mishra-pce](https://github.com/satyam-mishra-pce)! - Add support for multiple locations in an activity claim.
|
|
184
|
+
|
|
185
|
+
## 0.10.0-beta.3
|
|
186
|
+
|
|
187
|
+
### Patch Changes
|
|
188
|
+
|
|
189
|
+
- [`ece7629`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/ece7629956d6efbfed757d66609fe4ccc1c81d5a) Thanks [@aspiers](https://github.com/aspiers)! - Include CHANGELOG.md in package distribution for better user documentation.
|
|
190
|
+
|
|
191
|
+
## 0.10.0-beta.2
|
|
192
|
+
|
|
193
|
+
### Patch Changes
|
|
194
|
+
|
|
195
|
+
- [`5a490bf`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/5a490bf4404f6690fe832f82023ea05663050977) Thanks [@aspiers](https://github.com/aspiers)! - Add basic test suite using vitest 4.
|
|
196
|
+
|
|
197
|
+
## 0.10.0-beta.1
|
|
198
|
+
|
|
199
|
+
### Minor Changes
|
|
200
|
+
|
|
201
|
+
- [`96bdb6c`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/96bdb6c9c7107680da301a92a8120ee60e676f15) Thanks [@aspiers](https://github.com/aspiers)! - Improved exports structure with semantic collection mappings for extra syntactic sugar.
|
|
202
|
+
|
|
203
|
+
**Breaking Changes:**
|
|
204
|
+
- Renamed `ids` export to `HYPERCERTS_NSIDS_BY_TYPE` (maps type namespaces to NSIDs)
|
|
205
|
+
|
|
206
|
+
**New Features:**
|
|
207
|
+
- Added `HYPERCERTS_NSIDS` object with semantic keys (e.g., `ACTIVITY`, `RIGHTS`, `CONTRIBUTION`)
|
|
208
|
+
- Added `HYPERCERTS_LEXICON_JSON` object with semantic keys mapping to raw JSON lexicons
|
|
209
|
+
- Added `HYPERCERTS_LEXICON_DOC` object with semantic keys mapping to typed lexicon documents
|
|
210
|
+
- All three new objects share the same key structure for consistency
|
|
211
|
+
|
|
212
|
+
**Migration Guide:**
|
|
213
|
+
|
|
214
|
+
If you were using the `ids` export (rare):
|
|
215
|
+
|
|
216
|
+
```typescript
|
|
217
|
+
// Before
|
|
218
|
+
import { ids } from "@hypercerts-org/lexicon";
|
|
219
|
+
const nsid = ids.OrgHypercertsClaimActivity;
|
|
220
|
+
|
|
221
|
+
// After
|
|
222
|
+
import { HYPERCERTS_NSIDS_BY_TYPE } from "@hypercerts-org/lexicon";
|
|
223
|
+
const nsid = HYPERCERTS_NSIDS_BY_TYPE.OrgHypercertsClaimActivity;
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
Most users should use individual NSID constants (unchanged):
|
|
227
|
+
|
|
228
|
+
```typescript
|
|
229
|
+
import { ACTIVITY_NSID, RIGHTS_NSID } from "@hypercerts-org/lexicon";
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Or the new semantic mapping:
|
|
233
|
+
|
|
234
|
+
```typescript
|
|
235
|
+
import { HYPERCERTS_NSIDS } from "@hypercerts-org/lexicon";
|
|
236
|
+
const nsid = HYPERCERTS_NSIDS.ACTIVITY; // Same as ACTIVITY_NSID
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
- [`ec91289`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/ec912892497198741254a861fd9104fa7c6dc827) Thanks [@aspiers](https://github.com/aspiers)! - chore: switch to build via rollup
|
|
240
|
+
|
|
241
|
+
Major build system improvements:
|
|
242
|
+
- **Build System**: Migrated from direct TypeScript to Rollup-based builds
|
|
243
|
+
- Generates proper ESM (`dist/index.mjs`) and CommonJS (`dist/index.cjs`) bundles
|
|
244
|
+
- Generates TypeScript declarations (`dist/index.d.ts`)
|
|
245
|
+
- Includes source maps for debugging
|
|
246
|
+
- Adds `/lexicons` export for lighter bundle (validation only)
|
|
247
|
+
- **Code Generation**:
|
|
248
|
+
- Auto-generates `generated/exports.ts` with clean, organized exports
|
|
249
|
+
- Creates type shims for external lexicons (@atcute/leaflet)
|
|
250
|
+
- All generated code now in `generated/` directory (gitignored)
|
|
251
|
+
- **Package Exports**:
|
|
252
|
+
- Main export: `@hypercerts-org/lexicon` (full package with types)
|
|
253
|
+
- Lexicons export: `@hypercerts-org/lexicon/lexicons` (schemas only, smaller bundle)
|
|
254
|
+
- Proper dual package support (ESM + CommonJS)
|
|
255
|
+
- **Code Quality**:
|
|
256
|
+
- Added ESLint configuration
|
|
257
|
+
- Added TypeScript type-checking to CI
|
|
258
|
+
- Improved build validation workflow
|
|
259
|
+
- **Dependencies**:
|
|
260
|
+
- Added `@atcute/leaflet` for external lexicon references
|
|
261
|
+
- Added `multiformats` as runtime dependency
|
|
262
|
+
- Moved `@atproto/lex-cli` to devDependencies (build-time only)
|
|
263
|
+
|
|
264
|
+
**Migration**: No breaking changes for existing users. Package structure is improved
|
|
265
|
+
but import paths remain compatible.
|
|
266
|
+
|
|
267
|
+
### Patch Changes
|
|
268
|
+
|
|
269
|
+
- [`913eb06`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/913eb06bcec519552f45f5d9797579ce99be1635) Thanks [@aspiers](https://github.com/aspiers)! - Switch from bundled to individual type declaration files
|
|
270
|
+
|
|
271
|
+
**Changes:**
|
|
272
|
+
- Removed `rollup-plugin-dts` dependency
|
|
273
|
+
- Switched to native TypeScript declaration generation
|
|
274
|
+
- Type declarations now mirror source structure in `dist/types/`
|
|
275
|
+
- Individual type files are small (1-3KB each) and lazy-loaded by TypeScript
|
|
276
|
+
- Improves IDE performance by avoiding single 39MB bundled declaration file
|
|
277
|
+
|
|
278
|
+
**Technical Details:**
|
|
279
|
+
|
|
280
|
+
The package now generates individual `.d.ts` files alongside the bundled JavaScript
|
|
281
|
+
output. This provides better IDE performance as TypeScript can lazy-load type files
|
|
282
|
+
on demand rather than parsing a massive bundled declaration file upfront.
|
|
283
|
+
|
|
284
|
+
## 0.10.0-beta.0
|
|
285
|
+
|
|
286
|
+
### Minor Changes
|
|
287
|
+
|
|
288
|
+
- [`6a62c04`](https://github.com/hypercerts-org/hypercerts-lexicon/commit/6a62c04e98950756a196110490cabd72f936a976) Thanks [@aspiers](https://github.com/aspiers)! - This release represents the migration of the lexicon package from the SDK monorepo (`hypercerts-sdk/packages/lexicon`) to a dedicated standalone repository (`hypercerts-lexicon`). This separation allows for independent versioning and development of the lexicon definitions.
|
|
289
|
+
|
|
290
|
+
Major architectural and feature updates compared to the SDK lexicon package include but are not limited to the following:
|
|
291
|
+
|
|
292
|
+
**New Lexicons:**
|
|
293
|
+
- Activity model: `org.hypercerts.claim.activity` - activity-based hypercert records (replaces single claim model)
|
|
294
|
+
- Project records: `org.hypercerts.claim.project` - projects that group multiple activities
|
|
295
|
+
- Shared definitions: `org.hypercerts.defs` - common types (uri, smallBlob, largeBlob, smallImage, largeImage)
|
|
296
|
+
- Badge system: `app.certified.badge.definition`, `app.certified.badge.award`, `app.certified.badge.response` for badge-based endorsements
|
|
297
|
+
- Funding receipts: `org.hypercerts.funding.receipt` - payment and funding tracking
|
|
298
|
+
|
|
299
|
+
**Architectural Changes:**
|
|
300
|
+
- **Claim model**: Replaced single `org.hypercerts.claim` record with activity-based `org.hypercerts.claim.activity` model
|
|
301
|
+
- **Collection model**: Collections now reference activities (via `activityWeight`) instead of claims (via `claimItem`)
|
|
302
|
+
- **Work scope**: Activity model uses structured `workScope` object with label-based conditions (`withinAllOf`, `withinAnyOf`, `withinNoneOf`)
|
|
303
|
+
- **Time fields**: Activity uses `startDate`/`endDate` instead of `workTimeFrameFrom`/`workTimeFrameTo`
|
|
304
|
+
- **Image references**: Activity model references `org.hypercerts.defs#smallImage` instead of `app.certified.defs#uri`/`smallBlob`
|
|
305
|
+
|
|
306
|
+
**Definition Updates:**
|
|
307
|
+
- `app.certified.defs` now includes `did` type definition
|
|
308
|
+
- Added `org.hypercerts.defs` with image and blob type definitions
|
|
309
|
+
- Activity model references project via AT-URI instead of strongRef
|
|
310
|
+
|
|
311
|
+
**Removed/Replaced:**
|
|
312
|
+
- `org.hypercerts.claim` (replaced by `org.hypercerts.claim.activity`)
|
|
313
|
+
- Top-level `org.hypercerts.collection` (replaced by `org.hypercerts.claim.collection` using activities)
|