@buildinternet/releases-api-types 0.12.0 → 0.14.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.14.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,16 +208,17 @@ 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
  */
218
- contentTitle?: string | null;
219
- /** AI-generated smart-brevity headline (#852). Same fallback as `contentTitle`. */
220
- contentTitleShort?: string | null;
219
+ titleGenerated?: string | null;
220
+ /** AI-generated smart-brevity headline (#852, renamed in #860). Same fallback as `titleGenerated`. */
221
+ titleShort?: string | null;
221
222
  url: string | null;
222
223
  media: MediaItem[];
223
224
  publishedAt: string | null;
@@ -343,10 +344,10 @@ export interface SearchReleaseHit {
343
344
  version: string | null;
344
345
  title: string;
345
346
  summary: string;
346
- /** AI-generated headline (#852). Optional + nullable: most rows are unpopulated. */
347
- contentTitle?: string | null;
348
- /** AI-generated smart-brevity headline (#852). Same caveat as contentTitle. */
349
- contentTitleShort?: string | null;
347
+ /** AI-generated headline (#852, renamed in #860). Optional + nullable: most rows are unpopulated. */
348
+ titleGenerated?: string | null;
349
+ /** AI-generated smart-brevity headline (#852, renamed in #860). Same caveat as titleGenerated. */
350
+ titleShort?: string | null;
350
351
  /**
351
352
  * Full release body, media URLs hydrated through the MEDIA_ORIGIN proxy.
352
353
  * Present so the web can render the same markdown + thumbnail treatment
@@ -798,11 +799,12 @@ export interface ReleaseWithSource {
798
799
  version: string | null;
799
800
  title: string;
800
801
  content: string;
801
- contentSummary: string | null;
802
- /** AI-generated headline (#852). See {@link ReleaseDetail.contentTitle}. */
803
- contentTitle?: string | null;
804
- /** AI-generated smart-brevity headline (#852). */
805
- contentTitleShort?: string | null;
802
+ /** AI-generated summary (#852, renamed in #860). Nullable — most rows unpopulated. */
803
+ summary: string | null;
804
+ /** AI-generated headline (#852, renamed in #860). See {@link ReleaseDetail.titleGenerated}. */
805
+ titleGenerated?: string | null;
806
+ /** AI-generated smart-brevity headline (#852, renamed in #860). */
807
+ titleShort?: string | null;
806
808
  url: string | null;
807
809
  contentHash: string | null;
808
810
  metadata: string | null;
@@ -821,11 +823,12 @@ export interface LatestRelease {
821
823
  publishedAt: string | null;
822
824
  sourceName: string;
823
825
  sourceSlug: string;
824
- contentSummary: string | null;
825
- /** AI-generated headline (#852). See {@link ReleaseDetail.contentTitle}. */
826
- contentTitle?: string | null;
827
- /** AI-generated smart-brevity headline (#852). */
828
- contentTitleShort?: string | null;
826
+ /** AI-generated summary (#852, renamed in #860). Nullable — most rows unpopulated. */
827
+ summary: string | null;
828
+ /** AI-generated headline (#852, renamed in #860). See {@link ReleaseDetail.titleGenerated}. */
829
+ titleGenerated?: string | null;
830
+ /** AI-generated smart-brevity headline (#852, renamed in #860). */
831
+ titleShort?: string | null;
829
832
  media: MediaItem[];
830
833
  }
831
834
 
@@ -57,12 +57,12 @@ 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`.
64
- contentTitle: z.string().nullable().optional(),
65
- contentTitleShort: z.string().nullable().optional(),
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
66
  });
67
67
 
68
68
  export const ReleaseSummaryItemSchema = z.object({