gumnut-sdk 0.73.0 → 0.74.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.
Files changed (97) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +1 -1
  3. package/resources/album-assets.d.mts +23 -9
  4. package/resources/album-assets.d.mts.map +1 -1
  5. package/resources/album-assets.d.ts +23 -9
  6. package/resources/album-assets.d.ts.map +1 -1
  7. package/resources/album-assets.js +13 -5
  8. package/resources/album-assets.js.map +1 -1
  9. package/resources/album-assets.mjs +13 -5
  10. package/resources/album-assets.mjs.map +1 -1
  11. package/resources/albums/albums.d.mts +45 -13
  12. package/resources/albums/albums.d.mts.map +1 -1
  13. package/resources/albums/albums.d.ts +45 -13
  14. package/resources/albums/albums.d.ts.map +1 -1
  15. package/resources/albums/albums.js +22 -10
  16. package/resources/albums/albums.js.map +1 -1
  17. package/resources/albums/albums.mjs +22 -10
  18. package/resources/albums/albums.mjs.map +1 -1
  19. package/resources/albums/assets-associations.d.mts +28 -4
  20. package/resources/albums/assets-associations.d.mts.map +1 -1
  21. package/resources/albums/assets-associations.d.ts +28 -4
  22. package/resources/albums/assets-associations.d.ts.map +1 -1
  23. package/resources/albums/assets-associations.js +9 -4
  24. package/resources/albums/assets-associations.js.map +1 -1
  25. package/resources/albums/assets-associations.mjs +9 -4
  26. package/resources/albums/assets-associations.mjs.map +1 -1
  27. package/resources/assets.d.mts +44 -22
  28. package/resources/assets.d.mts.map +1 -1
  29. package/resources/assets.d.ts +44 -22
  30. package/resources/assets.d.ts.map +1 -1
  31. package/resources/assets.js +22 -10
  32. package/resources/assets.js.map +1 -1
  33. package/resources/assets.mjs +22 -10
  34. package/resources/assets.mjs.map +1 -1
  35. package/resources/events.d.mts +40 -31
  36. package/resources/events.d.mts.map +1 -1
  37. package/resources/events.d.ts +40 -31
  38. package/resources/events.d.ts.map +1 -1
  39. package/resources/events.js +24 -20
  40. package/resources/events.js.map +1 -1
  41. package/resources/events.mjs +24 -20
  42. package/resources/events.mjs.map +1 -1
  43. package/resources/faces.d.mts +43 -17
  44. package/resources/faces.d.mts.map +1 -1
  45. package/resources/faces.d.ts +43 -17
  46. package/resources/faces.d.ts.map +1 -1
  47. package/resources/faces.js +26 -9
  48. package/resources/faces.js.map +1 -1
  49. package/resources/faces.mjs +26 -9
  50. package/resources/faces.mjs.map +1 -1
  51. package/resources/libraries.d.mts +34 -7
  52. package/resources/libraries.d.mts.map +1 -1
  53. package/resources/libraries.d.ts +34 -7
  54. package/resources/libraries.d.ts.map +1 -1
  55. package/resources/libraries.js +22 -7
  56. package/resources/libraries.js.map +1 -1
  57. package/resources/libraries.mjs +22 -7
  58. package/resources/libraries.mjs.map +1 -1
  59. package/resources/people.d.mts +86 -16
  60. package/resources/people.d.mts.map +1 -1
  61. package/resources/people.d.ts +86 -16
  62. package/resources/people.d.ts.map +1 -1
  63. package/resources/people.js +33 -8
  64. package/resources/people.js.map +1 -1
  65. package/resources/people.mjs +33 -8
  66. package/resources/people.mjs.map +1 -1
  67. package/resources/search.d.mts +58 -17
  68. package/resources/search.d.mts.map +1 -1
  69. package/resources/search.d.ts +58 -17
  70. package/resources/search.d.ts.map +1 -1
  71. package/resources/search.js +20 -3
  72. package/resources/search.js.map +1 -1
  73. package/resources/search.mjs +20 -3
  74. package/resources/search.mjs.map +1 -1
  75. package/resources/users.d.mts +4 -1
  76. package/resources/users.d.mts.map +1 -1
  77. package/resources/users.d.ts +4 -1
  78. package/resources/users.d.ts.map +1 -1
  79. package/resources/users.js +4 -1
  80. package/resources/users.js.map +1 -1
  81. package/resources/users.mjs +4 -1
  82. package/resources/users.mjs.map +1 -1
  83. package/src/resources/album-assets.ts +23 -9
  84. package/src/resources/albums/albums.ts +45 -13
  85. package/src/resources/albums/assets-associations.ts +28 -4
  86. package/src/resources/assets.ts +44 -22
  87. package/src/resources/events.ts +40 -31
  88. package/src/resources/faces.ts +43 -17
  89. package/src/resources/libraries.ts +34 -7
  90. package/src/resources/people.ts +86 -16
  91. package/src/resources/search.ts +58 -17
  92. package/src/resources/users.ts +4 -1
  93. package/src/version.ts +1 -1
  94. package/version.d.mts +1 -1
  95. package/version.d.ts +1 -1
  96. package/version.js +1 -1
  97. package/version.mjs +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.74.0 (2026-04-20)
4
+
5
+ Full Changelog: [v0.73.0...v0.74.0](https://github.com/gumnut-ai/photos-sdk-typescript/compare/v0.73.0...v0.74.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([28ddbde](https://github.com/gumnut-ai/photos-sdk-typescript/commit/28ddbde251fff858fe84d59233d94ae4b4f95de9))
10
+
3
11
  ## 0.73.0 (2026-04-17)
4
12
 
5
13
  Full Changelog: [v0.72.0...v0.73.0](https://github.com/gumnut-ai/photos-sdk-typescript/compare/v0.72.0...v0.73.0)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gumnut-sdk",
3
- "version": "0.73.0",
3
+ "version": "0.74.0",
4
4
  "description": "The official TypeScript library for the Gumnut API",
5
5
  "author": "Gumnut <tedmao@gmail.com>",
6
6
  "types": "./index.d.ts",
@@ -4,15 +4,23 @@ import { CursorPage, type CursorPageParams, PagePromise } from "../core/paginati
4
4
  import { RequestOptions } from "../internal/request-options.mjs";
5
5
  export declare class AlbumAssets extends APIResource {
6
6
  /**
7
- * Retrieves a paginated list of album-asset links, ordered by creation time,
8
- * descending. Can be filtered by album_id, asset_id, or specific album-asset IDs.
7
+ * Returns paginated _link_ records describing which assets are in which albums —
8
+ * each row contains `album_id` + `asset_id` + link timestamps, not the full asset
9
+ * or album metadata. Use this when you specifically need the junction records (for
10
+ * sync or change tracking).
9
11
  *
10
- * **Pagination:** When `has_more` is true, pass the `id` of the last album-asset
11
- * in `data` as `starting_after_id` to fetch the next page.
12
+ * **For most use cases you want a different tool:** use `list_assets` with
13
+ * `album_id` to get the full asset metadata for a specific album; use
14
+ * `list_albums` with `asset_id` to find which albums contain an asset.
15
+ *
16
+ * **Pagination** is cursor-based: when `has_more` is true, pass the `id` of the
17
+ * last album-asset in `data` as `starting_after_id` to fetch the next page.
12
18
  */
13
19
  list(query?: AlbumAssetListParams | null | undefined, options?: RequestOptions): PagePromise<AlbumAssetResponsesCursorPage, AlbumAssetResponse>;
14
20
  /**
15
- * Retrieves details for a specific album-asset link.
21
+ * Fetches one album-asset link record (the junction row between an album and an
22
+ * asset). Rarely needed directly; most callers want `get_asset` or `get_album`
23
+ * instead.
16
24
  */
17
25
  get(albumAssetID: string, options?: RequestOptions): APIPromise<AlbumAssetResponse>;
18
26
  }
@@ -44,19 +52,25 @@ export interface AlbumAssetResponse {
44
52
  }
45
53
  export interface AlbumAssetListParams extends CursorPageParams {
46
54
  /**
47
- * Filter by album ID
55
+ * Return only link records for this album ID. Equivalent to 'list the assets in
56
+ * this album' — in most cases prefer `list_assets` with `album_id` to get the
57
+ * asset metadata directly instead of the lightweight link records.
48
58
  */
49
59
  album_id?: string | null;
50
60
  /**
51
- * Filter by asset ID
61
+ * Return only link records for this asset ID. Equivalent to 'which albums contain
62
+ * this asset' — in most cases prefer `list_albums` with `asset_id` to get the
63
+ * album metadata directly.
52
64
  */
53
65
  asset_id?: string | null;
54
66
  /**
55
- * Filter by specific album-asset IDs (max 100)
67
+ * Look up specific album-asset link records by ID (max 100). The ID has the
68
+ * `album_asset_` prefix.
56
69
  */
57
70
  ids?: Array<string> | null;
58
71
  /**
59
- * Library ID (required if user has multiple libraries)
72
+ * Library to list from. Optional if the user has a single library; required when
73
+ * they have multiple.
60
74
  */
61
75
  library_id?: string | null;
62
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"album-assets.d.mts","sourceRoot":"","sources":["../src/resources/album-assets.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,WAAW,EAAE;OAClD,EAAE,cAAc,EAAE;AAGzB,qBAAa,WAAY,SAAQ,WAAW;IAC1C;;;;;;OAMG;IACH,IAAI,CACF,KAAK,GAAE,oBAAoB,GAAG,IAAI,GAAG,SAAc,EACnD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;IAOjE;;OAEG;IACH,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,kBAAkB,CAAC;CAGpF;AAED,MAAM,MAAM,6BAA6B,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,OAAO,EACL,KAAK,kBAAkB,IAAI,kBAAkB,EAC7C,KAAK,6BAA6B,IAAI,6BAA6B,EACnE,KAAK,oBAAoB,IAAI,oBAAoB,GAClD,CAAC;CACH"}
1
+ {"version":3,"file":"album-assets.d.mts","sourceRoot":"","sources":["../src/resources/album-assets.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,WAAW,EAAE;OAClD,EAAE,cAAc,EAAE;AAGzB,qBAAa,WAAY,SAAQ,WAAW;IAC1C;;;;;;;;;;;;OAYG;IACH,IAAI,CACF,KAAK,GAAE,oBAAoB,GAAG,IAAI,GAAG,SAAc,EACnD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;IAOjE;;;;OAIG;IACH,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,kBAAkB,CAAC;CAGpF;AAED,MAAM,MAAM,6BAA6B,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;;OAGG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,OAAO,EACL,KAAK,kBAAkB,IAAI,kBAAkB,EAC7C,KAAK,6BAA6B,IAAI,6BAA6B,EACnE,KAAK,oBAAoB,IAAI,oBAAoB,GAClD,CAAC;CACH"}
@@ -4,15 +4,23 @@ import { CursorPage, type CursorPageParams, PagePromise } from "../core/paginati
4
4
  import { RequestOptions } from "../internal/request-options.js";
5
5
  export declare class AlbumAssets extends APIResource {
6
6
  /**
7
- * Retrieves a paginated list of album-asset links, ordered by creation time,
8
- * descending. Can be filtered by album_id, asset_id, or specific album-asset IDs.
7
+ * Returns paginated _link_ records describing which assets are in which albums —
8
+ * each row contains `album_id` + `asset_id` + link timestamps, not the full asset
9
+ * or album metadata. Use this when you specifically need the junction records (for
10
+ * sync or change tracking).
9
11
  *
10
- * **Pagination:** When `has_more` is true, pass the `id` of the last album-asset
11
- * in `data` as `starting_after_id` to fetch the next page.
12
+ * **For most use cases you want a different tool:** use `list_assets` with
13
+ * `album_id` to get the full asset metadata for a specific album; use
14
+ * `list_albums` with `asset_id` to find which albums contain an asset.
15
+ *
16
+ * **Pagination** is cursor-based: when `has_more` is true, pass the `id` of the
17
+ * last album-asset in `data` as `starting_after_id` to fetch the next page.
12
18
  */
13
19
  list(query?: AlbumAssetListParams | null | undefined, options?: RequestOptions): PagePromise<AlbumAssetResponsesCursorPage, AlbumAssetResponse>;
14
20
  /**
15
- * Retrieves details for a specific album-asset link.
21
+ * Fetches one album-asset link record (the junction row between an album and an
22
+ * asset). Rarely needed directly; most callers want `get_asset` or `get_album`
23
+ * instead.
16
24
  */
17
25
  get(albumAssetID: string, options?: RequestOptions): APIPromise<AlbumAssetResponse>;
18
26
  }
@@ -44,19 +52,25 @@ export interface AlbumAssetResponse {
44
52
  }
45
53
  export interface AlbumAssetListParams extends CursorPageParams {
46
54
  /**
47
- * Filter by album ID
55
+ * Return only link records for this album ID. Equivalent to 'list the assets in
56
+ * this album' — in most cases prefer `list_assets` with `album_id` to get the
57
+ * asset metadata directly instead of the lightweight link records.
48
58
  */
49
59
  album_id?: string | null;
50
60
  /**
51
- * Filter by asset ID
61
+ * Return only link records for this asset ID. Equivalent to 'which albums contain
62
+ * this asset' — in most cases prefer `list_albums` with `asset_id` to get the
63
+ * album metadata directly.
52
64
  */
53
65
  asset_id?: string | null;
54
66
  /**
55
- * Filter by specific album-asset IDs (max 100)
67
+ * Look up specific album-asset link records by ID (max 100). The ID has the
68
+ * `album_asset_` prefix.
56
69
  */
57
70
  ids?: Array<string> | null;
58
71
  /**
59
- * Library ID (required if user has multiple libraries)
72
+ * Library to list from. Optional if the user has a single library; required when
73
+ * they have multiple.
60
74
  */
61
75
  library_id?: string | null;
62
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"album-assets.d.ts","sourceRoot":"","sources":["../src/resources/album-assets.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,WAAW,EAAE;OAClD,EAAE,cAAc,EAAE;AAGzB,qBAAa,WAAY,SAAQ,WAAW;IAC1C;;;;;;OAMG;IACH,IAAI,CACF,KAAK,GAAE,oBAAoB,GAAG,IAAI,GAAG,SAAc,EACnD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;IAOjE;;OAEG;IACH,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,kBAAkB,CAAC;CAGpF;AAED,MAAM,MAAM,6BAA6B,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,OAAO,EACL,KAAK,kBAAkB,IAAI,kBAAkB,EAC7C,KAAK,6BAA6B,IAAI,6BAA6B,EACnE,KAAK,oBAAoB,IAAI,oBAAoB,GAClD,CAAC;CACH"}
1
+ {"version":3,"file":"album-assets.d.ts","sourceRoot":"","sources":["../src/resources/album-assets.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,WAAW,EAAE;OAClD,EAAE,cAAc,EAAE;AAGzB,qBAAa,WAAY,SAAQ,WAAW;IAC1C;;;;;;;;;;;;OAYG;IACH,IAAI,CACF,KAAK,GAAE,oBAAoB,GAAG,IAAI,GAAG,SAAc,EACnD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;IAOjE;;;;OAIG;IACH,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,kBAAkB,CAAC;CAGpF;AAED,MAAM,MAAM,6BAA6B,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;;OAGG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,OAAO,EACL,KAAK,kBAAkB,IAAI,kBAAkB,EAC7C,KAAK,6BAA6B,IAAI,6BAA6B,EACnE,KAAK,oBAAoB,IAAI,oBAAoB,GAClD,CAAC;CACH"}
@@ -7,11 +7,17 @@ const pagination_1 = require("../core/pagination.js");
7
7
  const path_1 = require("../internal/utils/path.js");
8
8
  class AlbumAssets extends resource_1.APIResource {
9
9
  /**
10
- * Retrieves a paginated list of album-asset links, ordered by creation time,
11
- * descending. Can be filtered by album_id, asset_id, or specific album-asset IDs.
10
+ * Returns paginated _link_ records describing which assets are in which albums —
11
+ * each row contains `album_id` + `asset_id` + link timestamps, not the full asset
12
+ * or album metadata. Use this when you specifically need the junction records (for
13
+ * sync or change tracking).
12
14
  *
13
- * **Pagination:** When `has_more` is true, pass the `id` of the last album-asset
14
- * in `data` as `starting_after_id` to fetch the next page.
15
+ * **For most use cases you want a different tool:** use `list_assets` with
16
+ * `album_id` to get the full asset metadata for a specific album; use
17
+ * `list_albums` with `asset_id` to find which albums contain an asset.
18
+ *
19
+ * **Pagination** is cursor-based: when `has_more` is true, pass the `id` of the
20
+ * last album-asset in `data` as `starting_after_id` to fetch the next page.
15
21
  */
16
22
  list(query = {}, options) {
17
23
  return this._client.getAPIList('/api/album-assets', (pagination_1.CursorPage), {
@@ -20,7 +26,9 @@ class AlbumAssets extends resource_1.APIResource {
20
26
  });
21
27
  }
22
28
  /**
23
- * Retrieves details for a specific album-asset link.
29
+ * Fetches one album-asset link record (the junction row between an album and an
30
+ * asset). Rarely needed directly; most callers want `get_asset` or `get_album`
31
+ * instead.
24
32
  */
25
33
  get(albumAssetID, options) {
26
34
  return this._client.get((0, path_1.path) `/api/album-assets/${albumAssetID}`, options);
@@ -1 +1 @@
1
- {"version":3,"file":"album-assets.js","sourceRoot":"","sources":["../src/resources/album-assets.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAE/C,sDAAoF;AAEpF,oDAA8C;AAE9C,MAAa,WAAY,SAAQ,sBAAW;IAC1C;;;;;;OAMG;IACH,IAAI,CACF,QAAiD,EAAE,EACnD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAA,uBAA8B,CAAA,EAAE;YAClF,KAAK;YACL,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,YAAoB,EAAE,OAAwB;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,qBAAqB,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;CACF;AAxBD,kCAwBC"}
1
+ {"version":3,"file":"album-assets.js","sourceRoot":"","sources":["../src/resources/album-assets.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAE/C,sDAAoF;AAEpF,oDAA8C;AAE9C,MAAa,WAAY,SAAQ,sBAAW;IAC1C;;;;;;;;;;;;OAYG;IACH,IAAI,CACF,QAAiD,EAAE,EACnD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAA,uBAA8B,CAAA,EAAE;YAClF,KAAK;YACL,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,YAAoB,EAAE,OAAwB;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,qBAAqB,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;CACF;AAhCD,kCAgCC"}
@@ -4,11 +4,17 @@ import { CursorPage } from "../core/pagination.mjs";
4
4
  import { path } from "../internal/utils/path.mjs";
5
5
  export class AlbumAssets extends APIResource {
6
6
  /**
7
- * Retrieves a paginated list of album-asset links, ordered by creation time,
8
- * descending. Can be filtered by album_id, asset_id, or specific album-asset IDs.
7
+ * Returns paginated _link_ records describing which assets are in which albums —
8
+ * each row contains `album_id` + `asset_id` + link timestamps, not the full asset
9
+ * or album metadata. Use this when you specifically need the junction records (for
10
+ * sync or change tracking).
9
11
  *
10
- * **Pagination:** When `has_more` is true, pass the `id` of the last album-asset
11
- * in `data` as `starting_after_id` to fetch the next page.
12
+ * **For most use cases you want a different tool:** use `list_assets` with
13
+ * `album_id` to get the full asset metadata for a specific album; use
14
+ * `list_albums` with `asset_id` to find which albums contain an asset.
15
+ *
16
+ * **Pagination** is cursor-based: when `has_more` is true, pass the `id` of the
17
+ * last album-asset in `data` as `starting_after_id` to fetch the next page.
12
18
  */
13
19
  list(query = {}, options) {
14
20
  return this._client.getAPIList('/api/album-assets', (CursorPage), {
@@ -17,7 +23,9 @@ export class AlbumAssets extends APIResource {
17
23
  });
18
24
  }
19
25
  /**
20
- * Retrieves details for a specific album-asset link.
26
+ * Fetches one album-asset link record (the junction row between an album and an
27
+ * asset). Rarely needed directly; most callers want `get_asset` or `get_album`
28
+ * instead.
21
29
  */
22
30
  get(albumAssetID, options) {
23
31
  return this._client.get(path `/api/album-assets/${albumAssetID}`, options);
@@ -1 +1 @@
1
- {"version":3,"file":"album-assets.mjs","sourceRoot":"","sources":["../src/resources/album-assets.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,EAAE,UAAU,EAAsC;OAElD,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC1C;;;;;;OAMG;IACH,IAAI,CACF,QAAiD,EAAE,EACnD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAA,UAA8B,CAAA,EAAE;YAClF,KAAK;YACL,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,YAAoB,EAAE,OAAwB;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,qBAAqB,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;CACF"}
1
+ {"version":3,"file":"album-assets.mjs","sourceRoot":"","sources":["../src/resources/album-assets.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,EAAE,UAAU,EAAsC;OAElD,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC1C;;;;;;;;;;;;OAYG;IACH,IAAI,CACF,QAAiD,EAAE,EACnD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAA,UAA8B,CAAA,EAAE;YAClF,KAAK;YACL,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,YAAoB,EAAE,OAAwB;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,qBAAqB,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;CACF"}
@@ -7,29 +7,41 @@ import { RequestOptions } from "../../internal/request-options.mjs";
7
7
  export declare class Albums extends APIResource {
8
8
  assetsAssociations: AssetsAssociationsAPI.AssetsAssociations;
9
9
  /**
10
- * Creates a new, empty album with optional name and description in the specified
11
- * library.
10
+ * Creates an album (with optional name and description) and returns it. The album
11
+ * starts empty — follow up with `add_assets_to_album` to populate it. To rename an
12
+ * existing album, use `update_album` instead of creating a new one.
12
13
  */
13
14
  create(body: AlbumCreateParams, options?: RequestOptions): APIPromise<AlbumResponse>;
14
15
  /**
15
- * Retrieves details for a specific album.
16
+ * Fetches one album's metadata (name, description, cover, counts). Use when you
17
+ * already have an album ID. Does not include the album's assets — use
18
+ * `list_album_assets` or `list_assets` with `album_id` for that.
16
19
  */
17
20
  retrieve(albumID: string, options?: RequestOptions): APIPromise<AlbumResponse>;
18
21
  /**
19
- * Updates the name and/or description of a specific album.
22
+ * Updates the `name` and/or `description` of an existing album. Only the fields
23
+ * included in the request body are changed. To modify the contents of an album,
24
+ * use `add_assets_to_album` / `remove_assets_from_album` instead — this tool only
25
+ * changes album metadata.
20
26
  */
21
27
  update(albumID: string, body: AlbumUpdateParams, options?: RequestOptions): APIPromise<AlbumResponse>;
22
28
  /**
23
- * Retrieves a paginated list of albums from the specified library, ordered by
24
- * creation time, descending. Can be filtered by asset_id or specific album IDs.
29
+ * Returns a paginated list of albums ordered by creation time (newest first). Use
30
+ * this to enumerate a user's albums or to find which albums contain a specific
31
+ * asset (via `asset_id`).
25
32
  *
26
- * **Pagination:** When `has_more` is true, pass the `id` of the last album in
27
- * `data` as `starting_after_id` to fetch the next page.
33
+ * `list_albums` returns album metadata only to list the assets inside a
34
+ * particular album, use `list_album_assets` or `list_assets` with `album_id`.
35
+ *
36
+ * **Pagination** is cursor-based: when `has_more` is true, pass the `id` of the
37
+ * last album in `data` as `starting_after_id` to fetch the next page.
28
38
  */
29
39
  list(query?: AlbumListParams | null | undefined, options?: RequestOptions): PagePromise<AlbumResponsesCursorPage, AlbumResponse>;
30
40
  /**
31
- * Deletes a specific album. Note: This does not delete the assets within the
32
- * album.
41
+ * Deletes the album itself. Assets that were in the album remain in the library —
42
+ * only the album and its asset-links are removed. Use `delete_asset` to delete the
43
+ * underlying assets, or `remove_assets_from_album` to detach specific assets from
44
+ * an album you want to keep.
33
45
  */
34
46
  delete(albumID: string, options?: RequestOptions): APIPromise<void>;
35
47
  }
@@ -101,25 +113,45 @@ export declare namespace AlbumResponse {
101
113
  }
102
114
  }
103
115
  export interface AlbumCreateParams {
116
+ /**
117
+ * Optional free-form description shown alongside the album name.
118
+ */
104
119
  description?: string | null;
120
+ /**
121
+ * Library to create the album in. Optional if the user has a single library;
122
+ * required when they have multiple. Use `list_libraries` to enumerate.
123
+ */
105
124
  library_id?: string | null;
125
+ /**
126
+ * Display name for the new album. Optional; callers that need to name an album can
127
+ * set it here or via `update_album` after creation.
128
+ */
106
129
  name?: string | null;
107
130
  }
108
131
  export interface AlbumUpdateParams {
132
+ /**
133
+ * New free-form description for the album. Omit to leave unchanged.
134
+ */
109
135
  description?: string | null;
136
+ /**
137
+ * New display name for the album. Omit to leave unchanged.
138
+ */
110
139
  name?: string | null;
111
140
  }
112
141
  export interface AlbumListParams extends CursorPageParams {
113
142
  /**
114
- * Filter albums containing this asset ID (optional)
143
+ * Return only albums that contain this asset. Useful for answering 'which albums
144
+ * is this photo in?' without calling `list_album_assets`.
115
145
  */
116
146
  asset_id?: string | null;
117
147
  /**
118
- * Filter by specific album IDs (max 100)
148
+ * Look up specific albums by ID (max 100; each ID has the `album_` prefix). Use
149
+ * for bulk fetch when IDs are already known.
119
150
  */
120
151
  ids?: Array<string> | null;
121
152
  /**
122
- * Library to list albums from (optional)
153
+ * Library to list albums from. Optional if the user has a single library; required
154
+ * when they have multiple. Use `list_libraries` to enumerate.
123
155
  */
124
156
  library_id?: string | null;
125
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"albums.d.mts","sourceRoot":"","sources":["../../src/resources/albums/albums.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"albums.d.mts","sourceRoot":"","sources":["../../src/resources/albums/albums.ts"],"names":[],"mappings":"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"}
@@ -7,29 +7,41 @@ import { RequestOptions } from "../../internal/request-options.js";
7
7
  export declare class Albums extends APIResource {
8
8
  assetsAssociations: AssetsAssociationsAPI.AssetsAssociations;
9
9
  /**
10
- * Creates a new, empty album with optional name and description in the specified
11
- * library.
10
+ * Creates an album (with optional name and description) and returns it. The album
11
+ * starts empty — follow up with `add_assets_to_album` to populate it. To rename an
12
+ * existing album, use `update_album` instead of creating a new one.
12
13
  */
13
14
  create(body: AlbumCreateParams, options?: RequestOptions): APIPromise<AlbumResponse>;
14
15
  /**
15
- * Retrieves details for a specific album.
16
+ * Fetches one album's metadata (name, description, cover, counts). Use when you
17
+ * already have an album ID. Does not include the album's assets — use
18
+ * `list_album_assets` or `list_assets` with `album_id` for that.
16
19
  */
17
20
  retrieve(albumID: string, options?: RequestOptions): APIPromise<AlbumResponse>;
18
21
  /**
19
- * Updates the name and/or description of a specific album.
22
+ * Updates the `name` and/or `description` of an existing album. Only the fields
23
+ * included in the request body are changed. To modify the contents of an album,
24
+ * use `add_assets_to_album` / `remove_assets_from_album` instead — this tool only
25
+ * changes album metadata.
20
26
  */
21
27
  update(albumID: string, body: AlbumUpdateParams, options?: RequestOptions): APIPromise<AlbumResponse>;
22
28
  /**
23
- * Retrieves a paginated list of albums from the specified library, ordered by
24
- * creation time, descending. Can be filtered by asset_id or specific album IDs.
29
+ * Returns a paginated list of albums ordered by creation time (newest first). Use
30
+ * this to enumerate a user's albums or to find which albums contain a specific
31
+ * asset (via `asset_id`).
25
32
  *
26
- * **Pagination:** When `has_more` is true, pass the `id` of the last album in
27
- * `data` as `starting_after_id` to fetch the next page.
33
+ * `list_albums` returns album metadata only to list the assets inside a
34
+ * particular album, use `list_album_assets` or `list_assets` with `album_id`.
35
+ *
36
+ * **Pagination** is cursor-based: when `has_more` is true, pass the `id` of the
37
+ * last album in `data` as `starting_after_id` to fetch the next page.
28
38
  */
29
39
  list(query?: AlbumListParams | null | undefined, options?: RequestOptions): PagePromise<AlbumResponsesCursorPage, AlbumResponse>;
30
40
  /**
31
- * Deletes a specific album. Note: This does not delete the assets within the
32
- * album.
41
+ * Deletes the album itself. Assets that were in the album remain in the library —
42
+ * only the album and its asset-links are removed. Use `delete_asset` to delete the
43
+ * underlying assets, or `remove_assets_from_album` to detach specific assets from
44
+ * an album you want to keep.
33
45
  */
34
46
  delete(albumID: string, options?: RequestOptions): APIPromise<void>;
35
47
  }
@@ -101,25 +113,45 @@ export declare namespace AlbumResponse {
101
113
  }
102
114
  }
103
115
  export interface AlbumCreateParams {
116
+ /**
117
+ * Optional free-form description shown alongside the album name.
118
+ */
104
119
  description?: string | null;
120
+ /**
121
+ * Library to create the album in. Optional if the user has a single library;
122
+ * required when they have multiple. Use `list_libraries` to enumerate.
123
+ */
105
124
  library_id?: string | null;
125
+ /**
126
+ * Display name for the new album. Optional; callers that need to name an album can
127
+ * set it here or via `update_album` after creation.
128
+ */
106
129
  name?: string | null;
107
130
  }
108
131
  export interface AlbumUpdateParams {
132
+ /**
133
+ * New free-form description for the album. Omit to leave unchanged.
134
+ */
109
135
  description?: string | null;
136
+ /**
137
+ * New display name for the album. Omit to leave unchanged.
138
+ */
110
139
  name?: string | null;
111
140
  }
112
141
  export interface AlbumListParams extends CursorPageParams {
113
142
  /**
114
- * Filter albums containing this asset ID (optional)
143
+ * Return only albums that contain this asset. Useful for answering 'which albums
144
+ * is this photo in?' without calling `list_album_assets`.
115
145
  */
116
146
  asset_id?: string | null;
117
147
  /**
118
- * Filter by specific album IDs (max 100)
148
+ * Look up specific albums by ID (max 100; each ID has the `album_` prefix). Use
149
+ * for bulk fetch when IDs are already known.
119
150
  */
120
151
  ids?: Array<string> | null;
121
152
  /**
122
- * Library to list albums from (optional)
153
+ * Library to list albums from. Optional if the user has a single library; required
154
+ * when they have multiple. Use `list_libraries` to enumerate.
123
155
  */
124
156
  library_id?: string | null;
125
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"albums.d.ts","sourceRoot":"","sources":["../../src/resources/albums/albums.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"albums.d.ts","sourceRoot":"","sources":["../../src/resources/albums/albums.ts"],"names":[],"mappings":"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"}
@@ -15,37 +15,49 @@ class Albums extends resource_1.APIResource {
15
15
  this.assetsAssociations = new AssetsAssociationsAPI.AssetsAssociations(this._client);
16
16
  }
17
17
  /**
18
- * Creates a new, empty album with optional name and description in the specified
19
- * library.
18
+ * Creates an album (with optional name and description) and returns it. The album
19
+ * starts empty — follow up with `add_assets_to_album` to populate it. To rename an
20
+ * existing album, use `update_album` instead of creating a new one.
20
21
  */
21
22
  create(body, options) {
22
23
  return this._client.post('/api/albums', { body, ...options });
23
24
  }
24
25
  /**
25
- * Retrieves details for a specific album.
26
+ * Fetches one album's metadata (name, description, cover, counts). Use when you
27
+ * already have an album ID. Does not include the album's assets — use
28
+ * `list_album_assets` or `list_assets` with `album_id` for that.
26
29
  */
27
30
  retrieve(albumID, options) {
28
31
  return this._client.get((0, path_1.path) `/api/albums/${albumID}`, options);
29
32
  }
30
33
  /**
31
- * Updates the name and/or description of a specific album.
34
+ * Updates the `name` and/or `description` of an existing album. Only the fields
35
+ * included in the request body are changed. To modify the contents of an album,
36
+ * use `add_assets_to_album` / `remove_assets_from_album` instead — this tool only
37
+ * changes album metadata.
32
38
  */
33
39
  update(albumID, body, options) {
34
40
  return this._client.patch((0, path_1.path) `/api/albums/${albumID}`, { body, ...options });
35
41
  }
36
42
  /**
37
- * Retrieves a paginated list of albums from the specified library, ordered by
38
- * creation time, descending. Can be filtered by asset_id or specific album IDs.
43
+ * Returns a paginated list of albums ordered by creation time (newest first). Use
44
+ * this to enumerate a user's albums or to find which albums contain a specific
45
+ * asset (via `asset_id`).
39
46
  *
40
- * **Pagination:** When `has_more` is true, pass the `id` of the last album in
41
- * `data` as `starting_after_id` to fetch the next page.
47
+ * `list_albums` returns album metadata only to list the assets inside a
48
+ * particular album, use `list_album_assets` or `list_assets` with `album_id`.
49
+ *
50
+ * **Pagination** is cursor-based: when `has_more` is true, pass the `id` of the
51
+ * last album in `data` as `starting_after_id` to fetch the next page.
42
52
  */
43
53
  list(query = {}, options) {
44
54
  return this._client.getAPIList('/api/albums', (pagination_1.CursorPage), { query, ...options });
45
55
  }
46
56
  /**
47
- * Deletes a specific album. Note: This does not delete the assets within the
48
- * album.
57
+ * Deletes the album itself. Assets that were in the album remain in the library —
58
+ * only the album and its asset-links are removed. Use `delete_asset` to delete the
59
+ * underlying assets, or `remove_assets_from_album` to detach specific assets from
60
+ * an album you want to keep.
49
61
  */
50
62
  delete(albumID, options) {
51
63
  return this._client.delete((0, path_1.path) `/api/albums/${albumID}`, {
@@ -1 +1 @@
1
- {"version":3,"file":"albums.js","sourceRoot":"","sources":["../../src/resources/albums/albums.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;AAEtF,qDAAkD;AAClD,wFAA+D;AAC/D,kEAM+B;AAE/B,yDAAuF;AACvF,uDAAsD;AAEtD,uDAAiD;AAEjD,MAAa,MAAO,SAAQ,sBAAW;IAAvC;;QACE,uBAAkB,GAA6C,IAAI,qBAAqB,CAAC,kBAAkB,CACzG,IAAI,CAAC,OAAO,CACb,CAAC;IAgDJ,CAAC;IA9CC;;;OAGG;IACH,MAAM,CAAC,IAAuB,EAAE,OAAwB;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,OAAe,EAAE,OAAwB;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,eAAe,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAe,EAAE,IAAuB,EAAE,OAAwB;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAA,WAAI,EAAA,eAAe,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CACF,QAA4C,EAAE,EAC9C,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,CAAA,uBAAyB,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAe,EAAE,OAAwB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,eAAe,OAAO,EAAE,EAAE;YACvD,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF;AAnDD,wBAmDC;AAgHD,MAAM,CAAC,kBAAkB,GAAG,wCAAkB,CAAC"}
1
+ {"version":3,"file":"albums.js","sourceRoot":"","sources":["../../src/resources/albums/albums.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;AAEtF,qDAAkD;AAClD,wFAA+D;AAC/D,kEAM+B;AAE/B,yDAAuF;AACvF,uDAAsD;AAEtD,uDAAiD;AAEjD,MAAa,MAAO,SAAQ,sBAAW;IAAvC;;QACE,uBAAkB,GAA6C,IAAI,qBAAqB,CAAC,kBAAkB,CACzG,IAAI,CAAC,OAAO,CACb,CAAC;IA4DJ,CAAC;IA1DC;;;;OAIG;IACH,MAAM,CAAC,IAAuB,EAAE,OAAwB;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,OAAe,EAAE,OAAwB;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,eAAe,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAe,EAAE,IAAuB,EAAE,OAAwB;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAA,WAAI,EAAA,eAAe,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,CACF,QAA4C,EAAE,EAC9C,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,CAAA,uBAAyB,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClG,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAe,EAAE,OAAwB;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,eAAe,OAAO,EAAE,EAAE;YACvD,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF;AA/DD,wBA+DC;AAoID,MAAM,CAAC,kBAAkB,GAAG,wCAAkB,CAAC"}
@@ -11,37 +11,49 @@ export class Albums extends APIResource {
11
11
  this.assetsAssociations = new AssetsAssociationsAPI.AssetsAssociations(this._client);
12
12
  }
13
13
  /**
14
- * Creates a new, empty album with optional name and description in the specified
15
- * library.
14
+ * Creates an album (with optional name and description) and returns it. The album
15
+ * starts empty — follow up with `add_assets_to_album` to populate it. To rename an
16
+ * existing album, use `update_album` instead of creating a new one.
16
17
  */
17
18
  create(body, options) {
18
19
  return this._client.post('/api/albums', { body, ...options });
19
20
  }
20
21
  /**
21
- * Retrieves details for a specific album.
22
+ * Fetches one album's metadata (name, description, cover, counts). Use when you
23
+ * already have an album ID. Does not include the album's assets — use
24
+ * `list_album_assets` or `list_assets` with `album_id` for that.
22
25
  */
23
26
  retrieve(albumID, options) {
24
27
  return this._client.get(path `/api/albums/${albumID}`, options);
25
28
  }
26
29
  /**
27
- * Updates the name and/or description of a specific album.
30
+ * Updates the `name` and/or `description` of an existing album. Only the fields
31
+ * included in the request body are changed. To modify the contents of an album,
32
+ * use `add_assets_to_album` / `remove_assets_from_album` instead — this tool only
33
+ * changes album metadata.
28
34
  */
29
35
  update(albumID, body, options) {
30
36
  return this._client.patch(path `/api/albums/${albumID}`, { body, ...options });
31
37
  }
32
38
  /**
33
- * Retrieves a paginated list of albums from the specified library, ordered by
34
- * creation time, descending. Can be filtered by asset_id or specific album IDs.
39
+ * Returns a paginated list of albums ordered by creation time (newest first). Use
40
+ * this to enumerate a user's albums or to find which albums contain a specific
41
+ * asset (via `asset_id`).
35
42
  *
36
- * **Pagination:** When `has_more` is true, pass the `id` of the last album in
37
- * `data` as `starting_after_id` to fetch the next page.
43
+ * `list_albums` returns album metadata only to list the assets inside a
44
+ * particular album, use `list_album_assets` or `list_assets` with `album_id`.
45
+ *
46
+ * **Pagination** is cursor-based: when `has_more` is true, pass the `id` of the
47
+ * last album in `data` as `starting_after_id` to fetch the next page.
38
48
  */
39
49
  list(query = {}, options) {
40
50
  return this._client.getAPIList('/api/albums', (CursorPage), { query, ...options });
41
51
  }
42
52
  /**
43
- * Deletes a specific album. Note: This does not delete the assets within the
44
- * album.
53
+ * Deletes the album itself. Assets that were in the album remain in the library —
54
+ * only the album and its asset-links are removed. Use `delete_asset` to delete the
55
+ * underlying assets, or `remove_assets_from_album` to detach specific assets from
56
+ * an album you want to keep.
45
57
  */
46
58
  delete(albumID, options) {
47
59
  return this._client.delete(path `/api/albums/${albumID}`, {