@labelgrid/core 0.2.0 → 0.2.1
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 +9 -0
- package/dist/entities.d.ts +3 -1
- package/dist/entities.js +11 -9
- package/package.json +3 -12
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
8
8
|
`@labelgrid/core` is primarily an internal shared client for the LabelGrid MCP
|
|
9
9
|
server and CLI — there are no API-stability promises before 1.0.
|
|
10
10
|
|
|
11
|
+
## [0.2.1] - 2026-08-05
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- The catalog entity descriptions carried by this package were tightened. The
|
|
16
|
+
`RELEASE_LOCKED_FIELDS` caveat now lives only on the tool it applies to
|
|
17
|
+
instead of being repeated for every entity. Field requirements, paths and
|
|
18
|
+
exported types are unchanged.
|
|
19
|
+
|
|
11
20
|
## [0.2.0] - 2026-07-23
|
|
12
21
|
|
|
13
22
|
### Added
|
package/dist/entities.d.ts
CHANGED
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
* This is data, not behavior — the catalog tools stay thin wrappers and the
|
|
8
8
|
* API owns all validation. The wording here carries the caveats from the
|
|
9
9
|
* per-entity tool descriptions it replaces (recording_country on track create,
|
|
10
|
-
*
|
|
10
|
+
* the delete refusals). Caveats that belong to ONE tool stay in that tool's own
|
|
11
|
+
* description — the RELEASE_LOCKED_FIELDS rule lives on update_catalog_item, so
|
|
12
|
+
* repeating it here would only pad every client's catalog.
|
|
11
13
|
*/
|
|
12
14
|
export type EntityName = 'label' | 'artist' | 'writer' | 'publisher' | 'release' | 'track';
|
|
13
15
|
/** The entity names as a tuple, for zod enum inputs. */
|
package/dist/entities.js
CHANGED
|
@@ -7,45 +7,47 @@
|
|
|
7
7
|
* This is data, not behavior — the catalog tools stay thin wrappers and the
|
|
8
8
|
* API owns all validation. The wording here carries the caveats from the
|
|
9
9
|
* per-entity tool descriptions it replaces (recording_country on track create,
|
|
10
|
-
*
|
|
10
|
+
* the delete refusals). Caveats that belong to ONE tool stay in that tool's own
|
|
11
|
+
* description — the RELEASE_LOCKED_FIELDS rule lives on update_catalog_item, so
|
|
12
|
+
* repeating it here would only pad every client's catalog.
|
|
11
13
|
*/
|
|
12
14
|
/** The entity names as a tuple, for zod enum inputs. */
|
|
13
15
|
export const ENTITY_NAMES = ['label', 'artist', 'writer', 'publisher', 'release', 'track'];
|
|
14
16
|
export const ENTITIES = {
|
|
15
17
|
label: {
|
|
16
18
|
path: '/labels',
|
|
17
|
-
filtersDoc: 'label: no documented filters
|
|
19
|
+
filtersDoc: 'label: no documented filters.',
|
|
18
20
|
fieldsDoc: 'label — required: name, default_email; optional: support email, website/platform URLs, default copyright lines, isrc_base.',
|
|
19
21
|
deleteNote: 'label: refused while the label still has releases — remove or reassign its releases first.',
|
|
20
22
|
},
|
|
21
23
|
artist: {
|
|
22
24
|
path: '/artists',
|
|
23
|
-
filtersDoc: 'artist: artist_name
|
|
25
|
+
filtersDoc: 'artist: artist_name.',
|
|
24
26
|
fieldsDoc: 'artist — required: artist_name; optional: full_name, email, location, bios, isni, default_language, platform profile URLs.',
|
|
25
27
|
deleteNote: 'artist: refused while still referenced by releases or tracks.',
|
|
26
28
|
},
|
|
27
29
|
writer: {
|
|
28
30
|
path: '/writers',
|
|
29
|
-
filtersDoc: 'writer: name
|
|
31
|
+
filtersDoc: 'writer: name, ipi.',
|
|
30
32
|
fieldsDoc: 'writer — required: first_name, last_name; optional: middle_name, display_credits, email, country, pro, ipi, isni, publisher_id (or publisher_name/publisher_pro/publisher_ipi).',
|
|
31
33
|
deleteNote: 'writer: refused while still referenced by tracks.',
|
|
32
34
|
},
|
|
33
35
|
publisher: {
|
|
34
36
|
path: '/publishers',
|
|
35
|
-
filtersDoc: 'publisher: name
|
|
37
|
+
filtersDoc: 'publisher: name, ipi.',
|
|
36
38
|
fieldsDoc: 'publisher — required: name; optional: ipi, pro, isni, controlled_publisher.',
|
|
37
39
|
deleteNote: 'publisher: refused while still referenced by writers.',
|
|
38
40
|
},
|
|
39
41
|
release: {
|
|
40
42
|
path: '/releases',
|
|
41
|
-
filtersDoc: 'release: label_id
|
|
42
|
-
fieldsDoc: 'release — required on create: content_type, label_id, artists, titles, cat (catalog number), artwork_ai_usage, primary_genre_id; many optional fields (dates, copyright lines, genres, per-outlet URLs).
|
|
43
|
+
filtersDoc: 'release: label_id, is_live (1 = live only), barcode_number (UPC/EAN), cat.',
|
|
44
|
+
fieldsDoc: 'release — required on create: content_type, label_id, artists, titles, cat (catalog number), artwork_ai_usage, primary_genre_id; many optional fields (dates, copyright lines, genres, per-outlet URLs).',
|
|
43
45
|
deleteNote: 'release: only a never-submitted draft can be deleted.',
|
|
44
46
|
},
|
|
45
47
|
track: {
|
|
46
48
|
path: '/tracks',
|
|
47
|
-
filtersDoc: 'track: release_id
|
|
49
|
+
filtersDoc: 'track: release_id, isrc.',
|
|
48
50
|
fieldsDoc: 'track — required on create: release_id, disc, track_num, composition_type, artists, audio_ai_usage, composition_ai_usage, commercial_samples, audio_language, contributors, and recording_country (ISO 3166-1 alpha-2, e.g. "US"); optional: titles, isrc, iswc, writers, publishers, splits, and more.',
|
|
49
|
-
deleteNote: 'track:
|
|
51
|
+
deleteNote: 'track: refused once the release is no longer an editable draft.',
|
|
50
52
|
},
|
|
51
53
|
};
|
package/package.json
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@labelgrid/core",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Shared LabelGrid public-API client: HTTP transport, uploads, content types, the catalog-entity registry, and redacting logging",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"keywords": [
|
|
7
|
-
"labelgrid",
|
|
8
|
-
"music-distribution",
|
|
9
|
-
"api-client"
|
|
10
|
-
],
|
|
6
|
+
"keywords": ["labelgrid", "music-distribution", "api-client"],
|
|
11
7
|
"main": "dist/index.js",
|
|
12
8
|
"types": "dist/index.d.ts",
|
|
13
9
|
"exports": {
|
|
@@ -16,12 +12,7 @@
|
|
|
16
12
|
"default": "./dist/index.js"
|
|
17
13
|
}
|
|
18
14
|
},
|
|
19
|
-
"files": [
|
|
20
|
-
"dist",
|
|
21
|
-
"README.md",
|
|
22
|
-
"CHANGELOG.md",
|
|
23
|
-
"LICENSE"
|
|
24
|
-
],
|
|
15
|
+
"files": ["dist", "README.md", "CHANGELOG.md", "LICENSE"],
|
|
25
16
|
"scripts": {
|
|
26
17
|
"build": "tsc",
|
|
27
18
|
"dev": "tsc --watch",
|