@buildinternet/releases-api-types 0.12.0 → 0.13.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buildinternet/releases-api-types",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "Wire protocol — request/response types for the Releases registry API. Shared by web, workers, and clients.",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/src/api-types.ts CHANGED
@@ -208,15 +208,22 @@ export interface ReleaseDetail {
208
208
  version: string | null;
209
209
  title: string;
210
210
  content: string;
211
- contentSummary: string | null;
211
+ /** AI-generated summary (#852, renamed in #860). Nullable — most rows unpopulated. */
212
+ summary: string | null;
212
213
  /**
213
- * AI-generated self-contained news-headline form of the release (#852).
214
- * Nullable because most rows are unpopulated — fall back to `title` for
215
- * display. `.optional()` for the same mid-deploy / pinned-worker reason
216
- * as `type` on {@link ReleaseItem}.
214
+ * AI-generated self-contained news-headline form of the release (#852,
215
+ * renamed in #860). Nullable because most rows are unpopulated — fall
216
+ * back to `title` for display. `.optional()` for the same mid-deploy /
217
+ * pinned-worker reason as `type` on {@link ReleaseItem}.
217
218
  */
219
+ titleGenerated?: string | null;
220
+ /** AI-generated smart-brevity headline (#852, renamed in #860). Same fallback as `titleGenerated`. */
221
+ titleShort?: string | null;
222
+ /** @deprecated Use `summary`. Kept as an alias populated with the same value. */
223
+ contentSummary: string | null;
224
+ /** @deprecated Use `titleGenerated`. Kept as an alias populated with the same value. */
218
225
  contentTitle?: string | null;
219
- /** AI-generated smart-brevity headline (#852). Same fallback as `contentTitle`. */
226
+ /** @deprecated Use `titleShort`. Kept as an alias populated with the same value. */
220
227
  contentTitleShort?: string | null;
221
228
  url: string | null;
222
229
  media: MediaItem[];
@@ -343,10 +350,16 @@ export interface SearchReleaseHit {
343
350
  version: string | null;
344
351
  title: string;
345
352
  summary: string;
346
- /** AI-generated headline (#852). Optional + nullable: most rows are unpopulated. */
353
+ /** AI-generated headline (#852, renamed in #860). Optional + nullable: most rows are unpopulated. */
354
+ titleGenerated?: string | null;
355
+ /** AI-generated smart-brevity headline (#852, renamed in #860). Same caveat as titleGenerated. */
356
+ titleShort?: string | null;
357
+ /** @deprecated Use `titleGenerated`. Kept as an alias populated with the same value. */
347
358
  contentTitle?: string | null;
348
- /** AI-generated smart-brevity headline (#852). Same caveat as contentTitle. */
359
+ /** @deprecated Use `titleShort`. Kept as an alias populated with the same value. */
349
360
  contentTitleShort?: string | null;
361
+ /** @deprecated Use `summary`. Kept as an alias populated with the same value. */
362
+ contentSummary?: string;
350
363
  /**
351
364
  * Full release body, media URLs hydrated through the MEDIA_ORIGIN proxy.
352
365
  * Present so the web can render the same markdown + thumbnail treatment
@@ -798,10 +811,17 @@ export interface ReleaseWithSource {
798
811
  version: string | null;
799
812
  title: string;
800
813
  content: string;
814
+ /** AI-generated summary (#852, renamed in #860). Nullable — most rows unpopulated. */
815
+ summary: string | null;
816
+ /** AI-generated headline (#852, renamed in #860). See {@link ReleaseDetail.titleGenerated}. */
817
+ titleGenerated?: string | null;
818
+ /** AI-generated smart-brevity headline (#852, renamed in #860). */
819
+ titleShort?: string | null;
820
+ /** @deprecated Use `summary`. Kept as an alias populated with the same value. */
801
821
  contentSummary: string | null;
802
- /** AI-generated headline (#852). See {@link ReleaseDetail.contentTitle}. */
822
+ /** @deprecated Use `titleGenerated`. Kept as an alias populated with the same value. */
803
823
  contentTitle?: string | null;
804
- /** AI-generated smart-brevity headline (#852). */
824
+ /** @deprecated Use `titleShort`. Kept as an alias populated with the same value. */
805
825
  contentTitleShort?: string | null;
806
826
  url: string | null;
807
827
  contentHash: string | null;
@@ -821,10 +841,17 @@ export interface LatestRelease {
821
841
  publishedAt: string | null;
822
842
  sourceName: string;
823
843
  sourceSlug: string;
844
+ /** AI-generated summary (#852, renamed in #860). Nullable — most rows unpopulated. */
845
+ summary: string | null;
846
+ /** AI-generated headline (#852, renamed in #860). See {@link ReleaseDetail.titleGenerated}. */
847
+ titleGenerated?: string | null;
848
+ /** AI-generated smart-brevity headline (#852, renamed in #860). */
849
+ titleShort?: string | null;
850
+ /** @deprecated Use `summary`. Kept as an alias populated with the same value. */
824
851
  contentSummary: string | null;
825
- /** AI-generated headline (#852). See {@link ReleaseDetail.contentTitle}. */
852
+ /** @deprecated Use `titleGenerated`. Kept as an alias populated with the same value. */
826
853
  contentTitle?: string | null;
827
- /** AI-generated smart-brevity headline (#852). */
854
+ /** @deprecated Use `titleShort`. Kept as an alias populated with the same value. */
828
855
  contentTitleShort?: string | null;
829
856
  media: MediaItem[];
830
857
  }
@@ -57,12 +57,18 @@ export const ReleaseItemSchema = z.object({
57
57
  // fall back to a SemVer-prerelease regex. `.optional()` for the same
58
58
  // older-response degrade-gracefully reason as `type`.
59
59
  prerelease: z.boolean().optional(),
60
- // AI-generated headline forms paired with `summary` (#852). Both nullable —
61
- // most rows in the DB have neither populated, and we don't plan to backfill,
62
- // so consumers must fall back to `title` for display. `.optional()` for the
63
- // same mid-deploy / pinned-worker reason as `type`.
60
+ // AI-generated headline forms paired with `summary` (#852, renamed in #860).
61
+ // Both nullable — most rows in the DB have neither populated, and we don't
62
+ // plan to backfill, so consumers must fall back to `title` for display.
63
+ // `.optional()` for the same mid-deploy / pinned-worker reason as `type`.
64
+ titleGenerated: z.string().nullable().optional(),
65
+ titleShort: z.string().nullable().optional(),
66
+ /** @deprecated Use `titleGenerated`. Kept as an alias populated with the same value. */
64
67
  contentTitle: z.string().nullable().optional(),
68
+ /** @deprecated Use `titleShort`. Kept as an alias populated with the same value. */
65
69
  contentTitleShort: z.string().nullable().optional(),
70
+ /** @deprecated Use `summary`. Kept as an alias populated with the same value. */
71
+ contentSummary: z.string().nullable().optional(),
66
72
  });
67
73
 
68
74
  export const ReleaseSummaryItemSchema = z.object({