@withpica/mcp-sdk 3.25.0 → 3.26.0

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 CHANGED
@@ -11,6 +11,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [3.26.0] - 2026-10-17
15
+
16
+ ### Added
17
+
18
+ - `credits.listRowsForWork(workId)` → `WorkCreditRows`: every credit row on a work, one entry per row
19
+ with its own `id`, its `role`, its `grain` (`composition` = songwriting, `master` = recording) and,
20
+ for a master credit, its `recording_id`; plus `count` (rows) and `people_count` (distinct people).
21
+ Reads `GET /admin/works/{id}/credits?view=rows`. `listForWork` still groups per person.
22
+
14
23
  ## [3.25.0] - 2026-10-14
15
24
 
16
25
  > **Publish order:** `asideFromReport` is imported as a value by
package/dist/index.d.ts CHANGED
@@ -402,6 +402,30 @@ interface WorkCredit {
402
402
  split_status?: string;
403
403
  is_owner?: boolean;
404
404
  }
405
+ /** One credit row on a work, from GET /admin/works/:id/credits?view=rows. */
406
+ export interface WorkCreditRow {
407
+ /** The row's own id: work_collaborators.id or recording_credits.id. */
408
+ id: string;
409
+ /** "composition" = songwriting (work_collaborators), "master" = recording (recording_credits). */
410
+ grain: "composition" | "master";
411
+ person_id: string;
412
+ person_name: string;
413
+ ipi: string | null;
414
+ role: string;
415
+ split_percentage: number | null;
416
+ /** Set for a master credit: the recording it is on. */
417
+ recording_id: string | null;
418
+ is_primary: boolean | null;
419
+ notes: string | null;
420
+ attestation_status: string | null;
421
+ }
422
+ export interface WorkCreditRows {
423
+ credits: WorkCreditRow[];
424
+ /** Number of credit rows. */
425
+ count: number;
426
+ /** Number of distinct people among them. */
427
+ people_count: number;
428
+ }
405
429
  interface WorkCreditsInput {
406
430
  credits: Array<{
407
431
  person_id: string;
@@ -919,9 +943,10 @@ export declare function currentCatalogue(): string | undefined;
919
943
  /**
920
944
  * Run `fn` in the current client catalogue (its requests still name it), but
921
945
  * leave its requests off the current call's report: for a check PICA makes
922
- * for itself (the billing gate reading the client's plan), which must not
923
- * read as the tool's own work having been answered (the MCP server judges a
924
- * call "every part refused" by that report).
946
+ * for itself, which must not read as the tool's own work having been
947
+ * answered (the MCP server judges a call "every part refused" by that
948
+ * report). No caller since the MCP billing gate was retired (ADR-335); kept
949
+ * because it is part of the published SDK.
925
950
  */
926
951
  export declare function asideFromReport<T>(fn: () => Promise<T>): Promise<T>;
927
952
  export declare class CatalogueNotHonouredError extends ApiError {
@@ -1578,6 +1603,11 @@ export interface AtomicCreditResult {
1578
1603
  }
1579
1604
  declare class CreditsResource extends BaseResource {
1580
1605
  listForWork(workId: string): Promise<WorkCredit[]>;
1606
+ /**
1607
+ * Every credit row on a work, composition and master, one entry per row
1608
+ * with its own id (listForWork groups per person and keeps one id).
1609
+ */
1610
+ listRowsForWork(workId: string): Promise<WorkCreditRows>;
1581
1611
  updateForWork(workId: string, credits: WorkCreditsInput): Promise<WorkCredit[]>;
1582
1612
  listCollaborators(workId: string): Promise<WorkCredit[]>;
1583
1613
  updateCollaborators(workId: string, collaborators: WorkCreditsInput): Promise<WorkCredit[]>;