@anthusai/papyrus 1.3.0 → 1.4.0-next.10

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 (141) hide show
  1. package/amplify/data/resource.js +134 -3
  2. package/amplify/data/resource.ts +145 -3
  3. package/amplify/data/schema.js +131 -0
  4. package/amplify/data/schema.ts +142 -0
  5. package/amplify/functions/category-action/handler.ts +272 -20
  6. package/amplify/functions/console-chat-responder/src/main.rs +1 -1
  7. package/amplify/functions/content-actions/handler.py +23 -0
  8. package/amplify/functions/content-actions/requirements.txt +1 -1
  9. package/amplify/functions/content-actions/resource.js +1 -1
  10. package/amplify/functions/content-actions/resource.ts +1 -1
  11. package/amplify/functions/model-attachment-upload/handler.ts +1 -0
  12. package/amplify/functions/renditions/requirements.txt +1 -1
  13. package/amplify/functions/shared/curation-delegation-flow.ts +147 -0
  14. package/amplify/functions/shared/curation-delegation.ts +115 -0
  15. package/amplify/functions/shared/python-bundle.js +3 -3
  16. package/amplify/functions/shared/python-bundle.ts +3 -3
  17. package/amplify/functions/shared/reference-curation-metadata.ts +51 -0
  18. package/amplify/functions/shared/slack-events.ts +2 -2
  19. package/amplify/publication/renditions-function.js +1 -1
  20. package/amplify/publication/renditions-function.ts +1 -1
  21. package/app/[year]/[month]/[day]/[articleSlug]/page.tsx +2 -1
  22. package/app/[year]/[month]/[day]/edition-route-page.tsx +2 -1
  23. package/app/[year]/[month]/[day]/page/[pageNumber]/page.tsx +2 -1
  24. package/app/[year]/[month]/[day]/page.tsx +3 -0
  25. package/app/[year]/[month]/[day]/section/[sectionKey]/page.tsx +2 -0
  26. package/app/api/archive/editions/route.ts +2 -0
  27. package/app/api/auth/prospectus/accounts/route.ts +9 -0
  28. package/app/api/local-preview/derive/route.ts +28 -0
  29. package/app/api/local-preview/media/route.ts +25 -0
  30. package/app/archive/page.tsx +3 -0
  31. package/app/globals.css +28 -28
  32. package/app/layout.tsx +8 -5
  33. package/app/newsroom/[section]/[...selection]/page.tsx +0 -1
  34. package/app/newsroom/[section]/page.tsx +8 -1
  35. package/app/newsroom/articles/page.tsx +10 -0
  36. package/app/newsroom/insights/[threadId]/page.tsx +5 -16
  37. package/app/newsroom/insights/page.tsx +4 -12
  38. package/app/newsroom/sections/[sectionId]/page.tsx +3 -0
  39. package/app/page.tsx +30 -1
  40. package/components/administration-delegations-panel.tsx +156 -0
  41. package/components/curation-delegation-client.ts +104 -0
  42. package/components/item-stream-view.tsx +63 -0
  43. package/components/markus-ir-preview.tsx +47 -2
  44. package/components/news-desk-client-provider.tsx +17 -2
  45. package/components/news-desk-page.tsx +0 -1
  46. package/components/news-desk-taxonomy-client.ts +154 -240
  47. package/components/newspaper.tsx +4 -4
  48. package/components/newsroom-article-editor.tsx +138 -40
  49. package/components/newsroom-assignment-detail.tsx +79 -0
  50. package/components/newsroom-assignments-view.tsx +1 -1
  51. package/components/newsroom-board-view.tsx +153 -43
  52. package/components/newsroom-client-shell.tsx +8 -1
  53. package/components/newsroom-newsprint-board.css +5 -46
  54. package/components/newsroom-ops-overview.tsx +27 -5
  55. package/components/newsroom-organizer-shell.tsx +36 -13
  56. package/components/newsroom-organizer.css +269 -13
  57. package/components/newsroom-references-view.tsx +118 -23
  58. package/components/newsroom-topics-view.tsx +1 -1
  59. package/components/priming-proof-page.tsx +17 -8
  60. package/components/prospectus-account-chooser.tsx +131 -0
  61. package/components/reference-cyclotron-priming.tsx +85 -0
  62. package/components/reference-cyclotron-status.tsx +5 -5
  63. package/components/reference-cyclotron-suggestion.tsx +143 -0
  64. package/components/reference-live-agreement.tsx +62 -0
  65. package/components/reference-section-suggestion.tsx +104 -0
  66. package/components/story-reporting-trail-client.ts +91 -0
  67. package/components/story-reporting-trail.tsx +115 -0
  68. package/components/topic-steering-workspace.tsx +280 -679
  69. package/components/ui/sheet.tsx +10 -4
  70. package/components/use-paged-content-item-versions.ts +151 -0
  71. package/components/wiki-concepts-view.tsx +153 -0
  72. package/components/wiki-index-client.ts +51 -0
  73. package/infra/amplify-app-shell.js +17 -3
  74. package/infra/amplify-app-shell.ts +18 -3
  75. package/infra/site-config.js +6 -1
  76. package/infra/site-config.ts +7 -1
  77. package/lib/approved-priming-proof-reports.ts +6 -3
  78. package/lib/approved-priming-proofs/papyrus.json +90 -0
  79. package/lib/article-flow.ts +95 -0
  80. package/lib/article-frame-solver.ts +519 -0
  81. package/lib/blog-feature-solver.ts +1 -109
  82. package/lib/category-repository.ts +1 -1
  83. package/lib/chrome-text.ts +504 -0
  84. package/lib/content-actions-client.ts +3 -0
  85. package/lib/content-actions-demo.ts +55 -0
  86. package/lib/content-item-lifecycle.ts +34 -5
  87. package/lib/content-source-context.ts +9 -1
  88. package/lib/curation-delegation-helpers.ts +69 -0
  89. package/lib/cyclotron-suggestions.ts +263 -0
  90. package/lib/front-matter-fields.ts +42 -0
  91. package/lib/front-mosaic.ts +1133 -0
  92. package/lib/furniture.ts +385 -0
  93. package/lib/graphql-content-repository.ts +42 -7
  94. package/lib/item-stream.ts +47 -0
  95. package/lib/labels.ts +37 -0
  96. package/lib/layout-config.ts +237 -0
  97. package/lib/layout-plan.ts +40 -11
  98. package/lib/layout-scenarios.ts +21 -11
  99. package/lib/layout-types.ts +457 -0
  100. package/lib/layout-warnings.ts +8 -0
  101. package/lib/local-preview-section-fixtures.ts +72 -0
  102. package/lib/local-preview-seed.ts +286 -0
  103. package/lib/local-preview-tenant.ts +27 -0
  104. package/lib/local-preview.ts +3 -0
  105. package/lib/newspaper-layout.ts +17 -3410
  106. package/lib/newsroom-articles.ts +2 -0
  107. package/lib/newsroom-assignments.ts +14 -1
  108. package/lib/newsroom-board.ts +99 -47
  109. package/lib/newsroom-demo-dashboard.ts +1 -1
  110. package/lib/newsroom-forum-routes.ts +2 -43
  111. package/lib/newsroom-index-filters.ts +3 -40
  112. package/lib/newsroom-media-backend.ts +5 -0
  113. package/lib/newsroom-nav.ts +1 -3
  114. package/lib/newsroom-organizer-nav.ts +9 -16
  115. package/lib/newsroom-section-routing.ts +1 -1
  116. package/lib/newsroom-sections.ts +12 -0
  117. package/lib/papyrus-web-locations.ts +3 -24
  118. package/lib/pretext-layout.ts +22 -0
  119. package/lib/priming-proof-report.ts +1 -0
  120. package/lib/prospectus-account-client.ts +90 -0
  121. package/lib/prospectus-sign-in-routes.ts +45 -0
  122. package/lib/prospectus-site-identity.ts +13 -1
  123. package/lib/prospectus-tenant.ts +22 -0
  124. package/lib/reader-static-params.ts +2 -1
  125. package/lib/relevance-decisions.ts +29 -0
  126. package/lib/relevance-status.ts +73 -0
  127. package/lib/reporting-story-budget.ts +2 -2
  128. package/lib/semantic-graph.ts +5 -5
  129. package/lib/site-brand.ts +28 -1
  130. package/lib/site-env.ts +5 -0
  131. package/lib/site-section-suggestions.ts +120 -0
  132. package/lib/site-stack.ts +1 -1
  133. package/lib/story-reporting-trail.ts +106 -0
  134. package/lib/tenant-keys.ts +32 -0
  135. package/lib/text-columns.ts +251 -0
  136. package/lib/wiki.ts +56 -0
  137. package/package.json +46 -3
  138. package/renderers/pretext/presentation-shell.tsx +1 -1
  139. package/renderers/pretext/rhythm-article-page.tsx +1 -18
  140. package/routes.manifest.json +34 -15
  141. package/app/newsroom/work/page.tsx +0 -10
@@ -203,6 +203,34 @@ const baseDefinitions = {
203
203
  .returns(a.ref("SteeringActionResult"))
204
204
  .authorization((allow) => [allow.groups(categoryWriteGroups)])
205
205
  .handler(a.handler.function(categoryAction)),
206
+ CurationDelegationResult: a.customType({
207
+ ok: a.boolean().required(),
208
+ delegationId: a.id().required(),
209
+ token: a.string(),
210
+ agentLabel: a.string().required(),
211
+ grantorLabel: a.string(),
212
+ expiresAt: a.datetime().required(),
213
+ revokedAt: a.datetime(),
214
+ state: a.string(),
215
+ userCode: a.string(),
216
+ requestedHours: a.integer(),
217
+ pendingExpiresAt: a.datetime(),
218
+ approvedAt: a.datetime(),
219
+ deniedAt: a.datetime(),
220
+ }),
221
+ CurationDelegationRequestResult: a.customType({
222
+ ok: a.boolean().required(),
223
+ delegationId: a.id().required(),
224
+ userCode: a.string().required(),
225
+ pendingExpiresAt: a.datetime().required(),
226
+ requestedHours: a.integer().required(),
227
+ }),
228
+ CurationDelegationStatusResult: a.customType({
229
+ delegationId: a.id().required(),
230
+ state: a.string().required(),
231
+ expiresAt: a.datetime().required(),
232
+ grantorLabel: a.string(),
233
+ }),
206
234
  ReferenceCurationActionResult: a.customType({
207
235
  ok: a.boolean().required(),
208
236
  action: a.string().required(),
@@ -247,12 +275,105 @@ const baseDefinitions = {
247
275
  reasonCode: a.string(),
248
276
  decisionRelationId: a.id(),
249
277
  shareable: a.boolean(),
278
+ sectionId: a.id(),
250
279
  })
251
280
  .returns(a.ref("ReferenceCurationActionResult"))
252
281
  .authorization((allow) => [
253
282
  allow.groups(categoryWriteGroups),
254
283
  ])
255
284
  .handler(a.handler.function(categoryAction)),
285
+ createCurationDelegation: a
286
+ .mutation()
287
+ .arguments({
288
+ agentLabel: a.string().required(),
289
+ hours: a.integer(),
290
+ })
291
+ .returns(a.ref("CurationDelegationResult"))
292
+ .authorization((allow) => [
293
+ allow.groups(categoryWriteGroups),
294
+ ])
295
+ .handler(a.handler.function(categoryAction)),
296
+ revokeCurationDelegation: a
297
+ .mutation()
298
+ .arguments({
299
+ delegationId: a.id().required(),
300
+ })
301
+ .returns(a.ref("CurationDelegationResult"))
302
+ .authorization((allow) => [
303
+ allow.groups(categoryWriteGroups),
304
+ ])
305
+ .handler(a.handler.function(categoryAction)),
306
+ listCurationDelegations: a
307
+ .query()
308
+ .returns(a.ref("CurationDelegationResult").array())
309
+ .authorization((allow) => [
310
+ allow.groups(categoryWriteGroups),
311
+ ])
312
+ .handler(a.handler.function(categoryAction)),
313
+ requestCurationDelegation: a
314
+ .mutation()
315
+ .arguments({
316
+ delegationId: a.id().required(),
317
+ tokenHash: a.string().required(),
318
+ agentLabel: a.string().required(),
319
+ hours: a.integer(),
320
+ })
321
+ .returns(a.ref("CurationDelegationRequestResult"))
322
+ .authorization((allow) => [
323
+ allow.authenticated("identityPool"),
324
+ ])
325
+ .handler(a.handler.function(categoryAction)),
326
+ approveCurationDelegation: a
327
+ .mutation()
328
+ .arguments({
329
+ userCode: a.string().required(),
330
+ })
331
+ .returns(a.ref("CurationDelegationResult"))
332
+ .authorization((allow) => [
333
+ allow.groups(categoryWriteGroups),
334
+ ])
335
+ .handler(a.handler.function(categoryAction)),
336
+ denyCurationDelegation: a
337
+ .mutation()
338
+ .arguments({
339
+ userCode: a.string().required(),
340
+ })
341
+ .returns(a.ref("CurationDelegationResult"))
342
+ .authorization((allow) => [
343
+ allow.groups(categoryWriteGroups),
344
+ ])
345
+ .handler(a.handler.function(categoryAction)),
346
+ getCurationDelegationStatus: a
347
+ .query()
348
+ .arguments({
349
+ delegationId: a.id().required(),
350
+ })
351
+ .returns(a.ref("CurationDelegationStatusResult"))
352
+ .authorization((allow) => [
353
+ allow.authenticated("identityPool"),
354
+ ])
355
+ .handler(a.handler.function(categoryAction)),
356
+ recordDelegatedCuration: a
357
+ .mutation()
358
+ .arguments({
359
+ referenceId: a.id().required(),
360
+ action: a.string().required(),
361
+ delegationId: a.id().required(),
362
+ delegationToken: a.string().required(),
363
+ agentLabel: a.string().required(),
364
+ onBehalfOf: a.string().required(),
365
+ instruction: a.string().required(),
366
+ note: a.string(),
367
+ reasonCode: a.string(),
368
+ decisionRelationId: a.id(),
369
+ shareable: a.boolean(),
370
+ sectionId: a.id(),
371
+ })
372
+ .returns(a.ref("ReferenceCurationActionResult"))
373
+ .authorization((allow) => [
374
+ allow.authenticated("identityPool"),
375
+ ])
376
+ .handler(a.handler.function(categoryAction)),
256
377
  setReferenceQualityRating: a
257
378
  .mutation()
258
379
  .arguments({
@@ -918,6 +1039,7 @@ const baseDefinitions = {
918
1039
  ]),
919
1040
  NewsroomSection: modelWithoutSubscriptions({
920
1041
  id: a.id().required(),
1042
+ tenantId: a.string(),
921
1043
  title: a.string().required(),
922
1044
  type: a.string().required(),
923
1045
  editorialMission: a.string().required(),
@@ -936,6 +1058,7 @@ const baseDefinitions = {
936
1058
  })
937
1059
  .secondaryIndexes((index) => [
938
1060
  index("sortOrder").sortKeys(["id"]).queryField("listNewsroomSectionsBySortOrder"),
1061
+ index("tenantId").sortKeys(["sortOrder"]).queryField("listNewsroomSectionsByTenantAndSortOrder"),
939
1062
  index("type").sortKeys(["sortOrder"]).queryField("listNewsroomSectionsByTypeAndSortOrder"),
940
1063
  index("enabledStatus").sortKeys(["sortOrder"]).queryField("listNewsroomSectionsByEnabledStatusAndSortOrder"),
941
1064
  ])
@@ -1503,6 +1626,7 @@ const baseDefinitions = {
1503
1626
  Item: modelWithoutSubscriptions({
1504
1627
  id: a.id().required(),
1505
1628
  lineageId: a.id().required(),
1629
+ tenantId: a.string(),
1506
1630
  versionNumber: a.integer().required(),
1507
1631
  previousVersionId: a.id(),
1508
1632
  versionState: a.string().required(),
@@ -1515,6 +1639,7 @@ const baseDefinitions = {
1515
1639
  status: a.string().required(),
1516
1640
  typeStatus: a.string().required(),
1517
1641
  slug: a.string().required(),
1642
+ tenantSlug: a.string(),
1518
1643
  shortSlug: a.string(),
1519
1644
  section: a.string(),
1520
1645
  sectionStatus: a.string(),
@@ -1542,6 +1667,7 @@ const baseDefinitions = {
1542
1667
  .secondaryIndexes((index) => [
1543
1668
  index("lineageId").sortKeys(["versionNumber"]).queryField("listItemsByLineageAndVersion"),
1544
1669
  index("slug").queryField("itemBySlug"),
1670
+ index("tenantSlug").queryField("itemByTenantSlug"),
1545
1671
  index("typeStatus").sortKeys(["publishedAt"]).queryField("listItemsByTypeStatusAndPublishedAt"),
1546
1672
  index("sectionStatus").sortKeys(["publishedAt"]).queryField("listItemsBySectionStatusAndPublishedAt"),
1547
1673
  index("versionState").sortKeys(["updatedAt"]).queryField("listItemsByVersionStateAndUpdatedAt"),
@@ -1586,6 +1712,7 @@ const baseDefinitions = {
1586
1712
  MediaAsset: modelWithoutSubscriptions({
1587
1713
  id: a.id().required(),
1588
1714
  itemId: a.id().required(),
1715
+ tenantId: a.string(),
1589
1716
  type: a.string().required(),
1590
1717
  role: a.string().required(),
1591
1718
  sortKey: a.string().required(),
@@ -1669,11 +1796,13 @@ const baseDefinitions = {
1669
1796
  id: a.id().required(),
1670
1797
  sourceItemId: a.id().required(),
1671
1798
  itemLineageId: a.id().required(),
1799
+ tenantId: a.string(),
1672
1800
  versionNumber: a.integer().required(),
1673
1801
  type: a.string().required(),
1674
1802
  status: a.string().required(),
1675
1803
  typeStatus: a.string().required(),
1676
1804
  slug: a.string().required(),
1805
+ tenantSlug: a.string(),
1677
1806
  shortSlug: a.string(),
1678
1807
  section: a.string(),
1679
1808
  sectionStatus: a.string(),
@@ -1696,6 +1825,7 @@ const baseDefinitions = {
1696
1825
  })
1697
1826
  .secondaryIndexes((index) => [
1698
1827
  index("slug").queryField("publishedItemBySlug"),
1828
+ index("tenantSlug").queryField("publishedItemByTenantSlug"),
1699
1829
  index("typeStatus").sortKeys(["publishedAt"]).queryField("listPublishedItemsByTypeStatusAndPublishedAt"),
1700
1830
  index("sectionStatus").sortKeys(["publishedAt"]).queryField("listPublishedItemsBySectionStatusAndPublishedAt"),
1701
1831
  index("itemLineageId").sortKeys(["versionNumber"]).queryField("listPublishedItemsByLineageAndVersion"),
@@ -1707,6 +1837,7 @@ const baseDefinitions = {
1707
1837
  PublishedMediaAsset: modelWithoutSubscriptions({
1708
1838
  id: a.id().required(),
1709
1839
  sourceMediaAssetId: a.id().required(),
1840
+ tenantId: a.string(),
1710
1841
  publishedItemId: a.id().required(),
1711
1842
  sourceItemId: a.id().required(),
1712
1843
  itemLineageId: a.id().required(),
@@ -222,6 +222,37 @@ const baseDefinitions = {
222
222
  .authorization((allow) => [allow.groups(categoryWriteGroups)])
223
223
  .handler(a.handler.function(categoryAction)),
224
224
 
225
+ CurationDelegationResult: a.customType({
226
+ ok: a.boolean().required(),
227
+ delegationId: a.id().required(),
228
+ token: a.string(),
229
+ agentLabel: a.string().required(),
230
+ grantorLabel: a.string(),
231
+ expiresAt: a.datetime().required(),
232
+ revokedAt: a.datetime(),
233
+ state: a.string(),
234
+ userCode: a.string(),
235
+ requestedHours: a.integer(),
236
+ pendingExpiresAt: a.datetime(),
237
+ approvedAt: a.datetime(),
238
+ deniedAt: a.datetime(),
239
+ }),
240
+
241
+ CurationDelegationRequestResult: a.customType({
242
+ ok: a.boolean().required(),
243
+ delegationId: a.id().required(),
244
+ userCode: a.string().required(),
245
+ pendingExpiresAt: a.datetime().required(),
246
+ requestedHours: a.integer().required(),
247
+ }),
248
+
249
+ CurationDelegationStatusResult: a.customType({
250
+ delegationId: a.id().required(),
251
+ state: a.string().required(),
252
+ expiresAt: a.datetime().required(),
253
+ grantorLabel: a.string(),
254
+ }),
255
+
225
256
  ReferenceCurationActionResult: a.customType({
226
257
  ok: a.boolean().required(),
227
258
  action: a.string().required(),
@@ -270,6 +301,7 @@ const baseDefinitions = {
270
301
  reasonCode: a.string(),
271
302
  decisionRelationId: a.id(),
272
303
  shareable: a.boolean(),
304
+ sectionId: a.id(),
273
305
  })
274
306
  .returns(a.ref("ReferenceCurationActionResult"))
275
307
  .authorization((allow) => [
@@ -277,6 +309,106 @@ const baseDefinitions = {
277
309
  ])
278
310
  .handler(a.handler.function(categoryAction)),
279
311
 
312
+ createCurationDelegation: a
313
+ .mutation()
314
+ .arguments({
315
+ agentLabel: a.string().required(),
316
+ hours: a.integer(),
317
+ })
318
+ .returns(a.ref("CurationDelegationResult"))
319
+ .authorization((allow) => [
320
+ allow.groups(categoryWriteGroups),
321
+ ])
322
+ .handler(a.handler.function(categoryAction)),
323
+
324
+ revokeCurationDelegation: a
325
+ .mutation()
326
+ .arguments({
327
+ delegationId: a.id().required(),
328
+ })
329
+ .returns(a.ref("CurationDelegationResult"))
330
+ .authorization((allow) => [
331
+ allow.groups(categoryWriteGroups),
332
+ ])
333
+ .handler(a.handler.function(categoryAction)),
334
+
335
+ listCurationDelegations: a
336
+ .query()
337
+ .returns(a.ref("CurationDelegationResult").array())
338
+ .authorization((allow) => [
339
+ allow.groups(categoryWriteGroups),
340
+ ])
341
+ .handler(a.handler.function(categoryAction)),
342
+
343
+ requestCurationDelegation: a
344
+ .mutation()
345
+ .arguments({
346
+ delegationId: a.id().required(),
347
+ tokenHash: a.string().required(),
348
+ agentLabel: a.string().required(),
349
+ hours: a.integer(),
350
+ })
351
+ .returns(a.ref("CurationDelegationRequestResult"))
352
+ .authorization((allow) => [
353
+ allow.authenticated("identityPool"),
354
+ ])
355
+ .handler(a.handler.function(categoryAction)),
356
+
357
+ approveCurationDelegation: a
358
+ .mutation()
359
+ .arguments({
360
+ userCode: a.string().required(),
361
+ })
362
+ .returns(a.ref("CurationDelegationResult"))
363
+ .authorization((allow) => [
364
+ allow.groups(categoryWriteGroups),
365
+ ])
366
+ .handler(a.handler.function(categoryAction)),
367
+
368
+ denyCurationDelegation: a
369
+ .mutation()
370
+ .arguments({
371
+ userCode: a.string().required(),
372
+ })
373
+ .returns(a.ref("CurationDelegationResult"))
374
+ .authorization((allow) => [
375
+ allow.groups(categoryWriteGroups),
376
+ ])
377
+ .handler(a.handler.function(categoryAction)),
378
+
379
+ getCurationDelegationStatus: a
380
+ .query()
381
+ .arguments({
382
+ delegationId: a.id().required(),
383
+ })
384
+ .returns(a.ref("CurationDelegationStatusResult"))
385
+ .authorization((allow) => [
386
+ allow.authenticated("identityPool"),
387
+ ])
388
+ .handler(a.handler.function(categoryAction)),
389
+
390
+ recordDelegatedCuration: a
391
+ .mutation()
392
+ .arguments({
393
+ referenceId: a.id().required(),
394
+ action: a.string().required(),
395
+ delegationId: a.id().required(),
396
+ delegationToken: a.string().required(),
397
+ agentLabel: a.string().required(),
398
+ onBehalfOf: a.string().required(),
399
+ instruction: a.string().required(),
400
+ note: a.string(),
401
+ reasonCode: a.string(),
402
+ decisionRelationId: a.id(),
403
+ shareable: a.boolean(),
404
+ sectionId: a.id(),
405
+ })
406
+ .returns(a.ref("ReferenceCurationActionResult"))
407
+ .authorization((allow) => [
408
+ allow.authenticated("identityPool"),
409
+ ])
410
+ .handler(a.handler.function(categoryAction)),
411
+
280
412
  setReferenceQualityRating: a
281
413
  .mutation()
282
414
  .arguments({
@@ -994,6 +1126,7 @@ const baseDefinitions = {
994
1126
 
995
1127
  NewsroomSection: modelWithoutSubscriptions({
996
1128
  id: a.id().required(),
1129
+ tenantId: a.string(),
997
1130
  title: a.string().required(),
998
1131
  type: a.string().required(),
999
1132
  editorialMission: a.string().required(),
@@ -1012,6 +1145,7 @@ const baseDefinitions = {
1012
1145
  })
1013
1146
  .secondaryIndexes((index) => [
1014
1147
  index("sortOrder").sortKeys(["id"]).queryField("listNewsroomSectionsBySortOrder"),
1148
+ index("tenantId").sortKeys(["sortOrder"]).queryField("listNewsroomSectionsByTenantAndSortOrder"),
1015
1149
  index("type").sortKeys(["sortOrder"]).queryField("listNewsroomSectionsByTypeAndSortOrder"),
1016
1150
  index("enabledStatus").sortKeys(["sortOrder"]).queryField("listNewsroomSectionsByEnabledStatusAndSortOrder"),
1017
1151
  ])
@@ -1598,6 +1732,7 @@ const baseDefinitions = {
1598
1732
  Item: modelWithoutSubscriptions({
1599
1733
  id: a.id().required(),
1600
1734
  lineageId: a.id().required(),
1735
+ tenantId: a.string(),
1601
1736
  versionNumber: a.integer().required(),
1602
1737
  previousVersionId: a.id(),
1603
1738
  versionState: a.string().required(),
@@ -1610,6 +1745,7 @@ const baseDefinitions = {
1610
1745
  status: a.string().required(),
1611
1746
  typeStatus: a.string().required(),
1612
1747
  slug: a.string().required(),
1748
+ tenantSlug: a.string(),
1613
1749
  shortSlug: a.string(),
1614
1750
  section: a.string(),
1615
1751
  sectionStatus: a.string(),
@@ -1637,6 +1773,7 @@ const baseDefinitions = {
1637
1773
  .secondaryIndexes((index) => [
1638
1774
  index("lineageId").sortKeys(["versionNumber"]).queryField("listItemsByLineageAndVersion"),
1639
1775
  index("slug").queryField("itemBySlug"),
1776
+ index("tenantSlug").queryField("itemByTenantSlug"),
1640
1777
  index("typeStatus").sortKeys(["publishedAt"]).queryField("listItemsByTypeStatusAndPublishedAt"),
1641
1778
  index("sectionStatus").sortKeys(["publishedAt"]).queryField("listItemsBySectionStatusAndPublishedAt"),
1642
1779
  index("versionState").sortKeys(["updatedAt"]).queryField("listItemsByVersionStateAndUpdatedAt"),
@@ -1684,6 +1821,7 @@ const baseDefinitions = {
1684
1821
  MediaAsset: modelWithoutSubscriptions({
1685
1822
  id: a.id().required(),
1686
1823
  itemId: a.id().required(),
1824
+ tenantId: a.string(),
1687
1825
  type: a.string().required(),
1688
1826
  role: a.string().required(),
1689
1827
  sortKey: a.string().required(),
@@ -1770,11 +1908,13 @@ const baseDefinitions = {
1770
1908
  id: a.id().required(),
1771
1909
  sourceItemId: a.id().required(),
1772
1910
  itemLineageId: a.id().required(),
1911
+ tenantId: a.string(),
1773
1912
  versionNumber: a.integer().required(),
1774
1913
  type: a.string().required(),
1775
1914
  status: a.string().required(),
1776
1915
  typeStatus: a.string().required(),
1777
1916
  slug: a.string().required(),
1917
+ tenantSlug: a.string(),
1778
1918
  shortSlug: a.string(),
1779
1919
  section: a.string(),
1780
1920
  sectionStatus: a.string(),
@@ -1797,6 +1937,7 @@ const baseDefinitions = {
1797
1937
  })
1798
1938
  .secondaryIndexes((index) => [
1799
1939
  index("slug").queryField("publishedItemBySlug"),
1940
+ index("tenantSlug").queryField("publishedItemByTenantSlug"),
1800
1941
  index("typeStatus").sortKeys(["publishedAt"]).queryField("listPublishedItemsByTypeStatusAndPublishedAt"),
1801
1942
  index("sectionStatus").sortKeys(["publishedAt"]).queryField("listPublishedItemsBySectionStatusAndPublishedAt"),
1802
1943
  index("itemLineageId").sortKeys(["versionNumber"]).queryField("listPublishedItemsByLineageAndVersion"),
@@ -1809,6 +1950,7 @@ const baseDefinitions = {
1809
1950
  PublishedMediaAsset: modelWithoutSubscriptions({
1810
1951
  id: a.id().required(),
1811
1952
  sourceMediaAssetId: a.id().required(),
1953
+ tenantId: a.string(),
1812
1954
  publishedItemId: a.id().required(),
1813
1955
  sourceItemId: a.id().required(),
1814
1956
  itemLineageId: a.id().required(),