@shipstatic/types 2.5.0-beta.6 → 2.5.0-beta.7

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/dist/index.d.ts CHANGED
@@ -57,8 +57,6 @@ export interface DeploymentListResponse {
57
57
  deployments: Deployment[];
58
58
  /** Cursor for pagination, null if no more pages */
59
59
  cursor: string | null;
60
- /** Total number of deployments */
61
- total: number;
62
60
  }
63
61
  /**
64
62
  * Domain status constants
@@ -118,8 +116,6 @@ export interface DomainListResponse {
118
116
  domains: Domain[];
119
117
  /** Cursor for pagination, null if no more pages */
120
118
  cursor: string | null;
121
- /** Total number of domains */
122
- total: number;
123
119
  }
124
120
  /**
125
121
  * DNS record types supported for domain configuration
@@ -203,8 +199,6 @@ export interface TokenListResponse {
203
199
  tokens: TokenListItem[];
204
200
  /** Cursor for pagination, null if no more pages */
205
201
  cursor: string | null;
206
- /** Total number of tokens */
207
- total: number;
208
202
  }
209
203
  /**
210
204
  * Response for token creation
@@ -814,10 +808,20 @@ export interface DeploymentUploadOptions {
814
808
  captcha?: string;
815
809
  }
816
810
  /**
817
- * Pagination options for the paginated list endpoints (`GET /deployments`,
818
- * `GET /domains`). The response's `cursor` feeds the next request; a `null`
819
- * cursor on the response means the last page. Omitting both returns the
820
- * server's default first page.
811
+ * Pagination options for every list endpoint. The response's `cursor` feeds
812
+ * the next request; a `null` cursor means the last page. Omitting both
813
+ * returns the server's default first page.
814
+ *
815
+ * A list answers `{ <collection>, cursor }` and nothing else — `cursor`
816
+ * carries the entire has-more signal, so no redundant boolean, and no
817
+ * `total`. **A count is an aggregate over a collection, not a property of a
818
+ * page:** including one makes every read pay for a full scan it did not ask
819
+ * for, which is precisely the cost keyset pagination exists to avoid.
820
+ *
821
+ * Counts therefore live on the summary resource that owns them —
822
+ * `GET /account` (`usage`) for a caller's own totals, `GET /admin/stats` for
823
+ * platform-wide ones. Ask for a count when you want a count; ask for a page
824
+ * when you want a page.
821
825
  */
822
826
  export interface ListOptions {
823
827
  /** Maximum number of items to return in one page. */
@@ -978,8 +982,6 @@ export interface ActivityListResponse {
978
982
  activities: Activity[];
979
983
  /** Cursor for pagination, null if no more pages */
980
984
  cursor: string | null;
981
- /** Total number of activities */
982
- total: number;
983
985
  }
984
986
  /**
985
987
  * File status constants for validation state tracking
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shipstatic/types",
3
- "version": "2.5.0-beta.6",
3
+ "version": "2.5.0-beta.7",
4
4
  "description": "Shared types for ShipStatic platform",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/index.ts CHANGED
@@ -66,8 +66,6 @@ export interface DeploymentListResponse {
66
66
  deployments: Deployment[];
67
67
  /** Cursor for pagination, null if no more pages */
68
68
  cursor: string | null;
69
- /** Total number of deployments */
70
- total: number;
71
69
  }
72
70
 
73
71
  // =============================================================================
@@ -136,8 +134,6 @@ export interface DomainListResponse {
136
134
  domains: Domain[];
137
135
  /** Cursor for pagination, null if no more pages */
138
136
  cursor: string | null;
139
- /** Total number of domains */
140
- total: number;
141
137
  }
142
138
 
143
139
  /**
@@ -231,8 +227,6 @@ export interface TokenListResponse {
231
227
  tokens: TokenListItem[];
232
228
  /** Cursor for pagination, null if no more pages */
233
229
  cursor: string | null;
234
- /** Total number of tokens */
235
- total: number;
236
230
  }
237
231
 
238
232
  /**
@@ -1305,10 +1299,20 @@ export interface DeploymentUploadOptions {
1305
1299
  }
1306
1300
 
1307
1301
  /**
1308
- * Pagination options for the paginated list endpoints (`GET /deployments`,
1309
- * `GET /domains`). The response's `cursor` feeds the next request; a `null`
1310
- * cursor on the response means the last page. Omitting both returns the
1311
- * server's default first page.
1302
+ * Pagination options for every list endpoint. The response's `cursor` feeds
1303
+ * the next request; a `null` cursor means the last page. Omitting both
1304
+ * returns the server's default first page.
1305
+ *
1306
+ * A list answers `{ <collection>, cursor }` and nothing else — `cursor`
1307
+ * carries the entire has-more signal, so no redundant boolean, and no
1308
+ * `total`. **A count is an aggregate over a collection, not a property of a
1309
+ * page:** including one makes every read pay for a full scan it did not ask
1310
+ * for, which is precisely the cost keyset pagination exists to avoid.
1311
+ *
1312
+ * Counts therefore live on the summary resource that owns them —
1313
+ * `GET /account` (`usage`) for a caller's own totals, `GET /admin/stats` for
1314
+ * platform-wide ones. Ask for a count when you want a count; ask for a page
1315
+ * when you want a page.
1312
1316
  */
1313
1317
  export interface ListOptions {
1314
1318
  /** Maximum number of items to return in one page. */
@@ -1554,8 +1558,6 @@ export interface ActivityListResponse {
1554
1558
  activities: Activity[];
1555
1559
  /** Cursor for pagination, null if no more pages */
1556
1560
  cursor: string | null;
1557
- /** Total number of activities */
1558
- total: number;
1559
1561
  }
1560
1562
 
1561
1563
  // =============================================================================