🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@labelgrid/core

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@labelgrid/core - npm Package Compare versions

Comparing version
0.2.0
to
0.2.1
+9
-0
CHANGELOG.md

@@ -11,2 +11,11 @@ # Changelog

## [0.2.1] - 2026-08-05
### Changed
- The catalog entity descriptions carried by this package were tightened. The
`RELEASE_LOCKED_FIELDS` caveat now lives only on the tool it applies to
instead of being repeated for every entity. Field requirements, paths and
exported types are unchanged.
## [0.2.0] - 2026-07-23

@@ -13,0 +22,0 @@

+3
-1

@@ -10,3 +10,5 @@ /**

* per-entity tool descriptions it replaces (recording_country on track create,
* RELEASE_LOCKED_FIELDS on release update, the delete refusals).
* the delete refusals). Caveats that belong to ONE tool stay in that tool's own
* description — the RELEASE_LOCKED_FIELDS rule lives on update_catalog_item, so
* repeating it here would only pad every client's catalog.
*/

@@ -13,0 +15,0 @@ export type EntityName = 'label' | 'artist' | 'writer' | 'publisher' | 'release' | 'track';

@@ -10,3 +10,5 @@ /**

* per-entity tool descriptions it replaces (recording_country on track create,
* RELEASE_LOCKED_FIELDS on release update, the delete refusals).
* the delete refusals). Caveats that belong to ONE tool stay in that tool's own
* description — the RELEASE_LOCKED_FIELDS rule lives on update_catalog_item, so
* repeating it here would only pad every client's catalog.
*/

@@ -18,3 +20,3 @@ /** The entity names as a tuple, for zod enum inputs. */

path: '/labels',
filtersDoc: 'label: no documented filters — paginate with page/per_page.',
filtersDoc: 'label: no documented filters.',
fieldsDoc: 'label — required: name, default_email; optional: support email, website/platform URLs, default copyright lines, isrc_base.',

@@ -25,3 +27,3 @@ deleteNote: 'label: refused while the label still has releases — remove or reassign its releases first.',

path: '/artists',
filtersDoc: 'artist: artist_name (filter by artist name).',
filtersDoc: 'artist: artist_name.',
fieldsDoc: 'artist — required: artist_name; optional: full_name, email, location, bios, isni, default_language, platform profile URLs.',

@@ -32,3 +34,3 @@ deleteNote: 'artist: refused while still referenced by releases or tracks.',

path: '/writers',
filtersDoc: 'writer: name (writer name), ipi (IPI number).',
filtersDoc: 'writer: name, ipi.',
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).',

@@ -39,3 +41,3 @@ deleteNote: 'writer: refused while still referenced by tracks.',

path: '/publishers',
filtersDoc: 'publisher: name (publisher name), ipi (IPI number).',
filtersDoc: 'publisher: name, ipi.',
fieldsDoc: 'publisher — required: name; optional: ipi, pro, isni, controlled_publisher.',

@@ -46,4 +48,4 @@ deleteNote: 'publisher: refused while still referenced by writers.',

path: '/releases',
filtersDoc: 'release: label_id (owning label id), is_live (1 = live/distributed only), barcode_number (UPC/EAN), cat (catalog number).',
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). Once submitted or distributed some fields are locked — changing one returns a 403 with code RELEASE_LOCKED_FIELDS naming exactly which fields cannot change.',
filtersDoc: 'release: label_id, is_live (1 = live only), barcode_number (UPC/EAN), cat.',
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).',
deleteNote: 'release: only a never-submitted draft can be deleted.',

@@ -53,6 +55,6 @@ },

path: '/tracks',
filtersDoc: 'track: release_id (one release’s tracks), isrc (filter by ISRC).',
filtersDoc: 'track: release_id, isrc.',
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.',
deleteNote: 'track: allowed while the parent release is an editable draft; refused once submitted or distributed.',
deleteNote: 'track: refused once the release is no longer an editable draft.',
},
};
{
"name": "@labelgrid/core",
"version": "0.2.0",
"version": "0.2.1",
"description": "Shared LabelGrid public-API client: HTTP transport, uploads, content types, the catalog-entity registry, and redacting logging",
"type": "module",
"keywords": [
"labelgrid",
"music-distribution",
"api-client"
],
"keywords": ["labelgrid", "music-distribution", "api-client"],
"main": "dist/index.js",

@@ -19,8 +15,3 @@ "types": "dist/index.d.ts",

},
"files": [
"dist",
"README.md",
"CHANGELOG.md",
"LICENSE"
],
"files": ["dist", "README.md", "CHANGELOG.md", "LICENSE"],
"scripts": {

@@ -27,0 +18,0 @@ "build": "tsc",