@openrails/contentkit-ui 0.73.0 → 0.75.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 (47) hide show
  1. package/README.md +28 -0
  2. package/dist/client/client.d.ts +3 -0
  3. package/dist/client/client.js +20 -18
  4. package/dist/client/client.js.map +1 -1
  5. package/dist/client/generated/routes.d.ts +66 -1
  6. package/dist/client/generated/routes.js +85 -0
  7. package/dist/client/generated/routes.js.map +1 -1
  8. package/dist/client/generated/wire.d.ts +30 -0
  9. package/dist/client/generated/wire.js.map +1 -1
  10. package/dist/client/http.d.ts +8 -1
  11. package/dist/client/http.js.map +1 -1
  12. package/dist/client/index.d.ts +1 -0
  13. package/dist/client/notifications.d.ts +23 -0
  14. package/dist/client/notifications.js +46 -0
  15. package/dist/client/notifications.js.map +1 -0
  16. package/dist/client.js +4 -3
  17. package/dist/components/notifications.d.ts +28 -0
  18. package/dist/components/notifications.js +222 -0
  19. package/dist/components/notifications.js.map +1 -0
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.js +3 -2
  22. package/dist/locales/en.d.ts +23 -0
  23. package/dist/locales/social/de.js +23 -0
  24. package/dist/locales/social/de.js.map +1 -1
  25. package/dist/locales/social/en.d.ts +23 -0
  26. package/dist/locales/social/en.js +23 -0
  27. package/dist/locales/social/en.js.map +1 -1
  28. package/dist/locales/social/es.js +23 -0
  29. package/dist/locales/social/es.js.map +1 -1
  30. package/dist/locales/social/ja.js +23 -0
  31. package/dist/locales/social/ja.js.map +1 -1
  32. package/dist/locales/social/ko.js +23 -0
  33. package/dist/locales/social/ko.js.map +1 -1
  34. package/dist/locales/social/zh.js +23 -0
  35. package/dist/locales/social/zh.js.map +1 -1
  36. package/dist/react/context.d.ts +1 -1
  37. package/dist/react/context.js.map +1 -1
  38. package/dist/react/index.d.ts +1 -0
  39. package/dist/react/notifications.d.ts +29 -0
  40. package/dist/react/notifications.js +56 -0
  41. package/dist/react/notifications.js.map +1 -0
  42. package/dist/react/resources.d.ts +1 -0
  43. package/dist/react/resources.js +26 -0
  44. package/dist/react/resources.js.map +1 -1
  45. package/dist/react.js +4 -3
  46. package/dist/styles.css +1 -1
  47. package/package.json +1 -1
package/README.md CHANGED
@@ -585,3 +585,31 @@ generated from ContentKit's route catalog (`pnpm contract`; CI runs
585
585
  `pnpm dlx shadcn@4.21.0 add …` (`components.json`); local edits are marked
586
586
  `// Local:`. The `release` workflow publishes the package to npm for every
587
587
  published `v*` release.
588
+
589
+
590
+ ## Notifications
591
+
592
+ `NotificationInbox` and `NotificationBell` use the authenticated ContentKit inbox.
593
+ The host supplies `renderItem(item)` for its own kinds and optional
594
+ `renderActions(item)` for domain links/actions. The components supply cursor
595
+ pagination, All/Unread/Archived filters, read/unread, archive/restore, errors and
596
+ retries, and actual tracked-work status. Reading or archiving never resolves
597
+ work or acknowledges a producer event stream.
598
+
599
+ ```tsx
600
+ import { NotificationBell, NotificationInbox } from "@openrails/contentkit-ui";
601
+ import { ContentKitProvider } from "@openrails/contentkit-ui/react";
602
+
603
+ <ContentKitProvider client={client} viewer={user.id} accessRevision={user.accessRevision}>
604
+ <NotificationBell renderItem={renderNotification} />
605
+ <NotificationInbox renderItem={renderNotification} renderActions={renderActions} />
606
+ </ContentKitProvider>
607
+ ```
608
+
609
+ Handle unknown kinds in the renderer. No billing-specific content is copied into
610
+ these components. The bell uses an unread-present dot and polls while visible
611
+ (default 30s, `unreadRefreshInterval={false}` disables it). Inbox pages do not
612
+ poll by default. Call `client.notifications.refresh()` when your application's
613
+ event channel announces new data. `useNotifications` and `useNotificationUnread`
614
+ are available from `/react` for a custom presentation. Keep provider viewer and
615
+ access revision current; signed-out viewers do not fetch an inbox.
@@ -9,6 +9,7 @@ import { ReactionsClient } from './content/reactions.js';
9
9
  import { Config, RefBody } from './generated/wire.js';
10
10
  import { ContentKitChange, ContentKitModule, HttpOptions } from './http.js';
11
11
  import { MediaClient, ContentFolders, MediaOptions } from './media/client.js';
12
+ import { NotificationsClient } from './notifications.js';
12
13
  import { TaxonomyClient } from './taxonomy.js';
13
14
  export interface ContentKitClientOptions extends HttpOptions {
14
15
  /** Upload tuning (transport, part concurrency, retries). */
@@ -41,6 +42,8 @@ export interface ContentKitClient {
41
42
  readonly taxonomy: TaxonomyClient;
42
43
  /** Content-code lookup. */
43
44
  readonly codes: CodesClient;
45
+ /** The signed-in person's native and imported notifications. */
46
+ readonly notifications: NotificationsClient;
44
47
  /** What the content module allows: which interactions signed-out visitors may make. */
45
48
  config(signal?: AbortSignal): Promise<Config>;
46
49
  /** A module's base URL as configured (no trailing slash). */
@@ -9,28 +9,30 @@ import { PollsClient as s } from "./content/polls.js";
9
9
  import { PostsClient as c } from "./content/posts.js";
10
10
  import { ReactionsClient as l } from "./content/reactions.js";
11
11
  import { Http as u } from "./http.js";
12
- import { TaxonomyClient as d } from "./taxonomy.js";
12
+ import { NotificationsClient as d } from "./notifications.js";
13
+ import { TaxonomyClient as f } from "./taxonomy.js";
13
14
  //#region src/client/client.ts
14
- function f(f) {
15
- let { media: p, folders: m, ...h } = f, g = new u(h), _ = new t(g, p, m);
15
+ function p(p) {
16
+ let { media: m, folders: h, ...g } = p, _ = new u(g), v = new t(_, m, h);
16
17
  return {
17
- media: _,
18
- posts: new c(g, _),
19
- comments: new i(g),
20
- reactions: new l(g),
21
- favorites: new a(g),
22
- polls: new s(g, _),
23
- bans: new r(g),
24
- moderation: new o(g),
25
- taxonomy: new d(g),
26
- codes: new n(g),
27
- config: (t) => e(g, "GET", "/config", { signal: t }),
28
- url: (e, t) => g.mount(e, t),
29
- setReadScope: (e) => g.setReadScope(e),
30
- subscribe: (e) => g.subscribe(e)
18
+ media: v,
19
+ posts: new c(_, v),
20
+ comments: new i(_),
21
+ reactions: new l(_),
22
+ favorites: new a(_),
23
+ polls: new s(_, v),
24
+ bans: new r(_),
25
+ moderation: new o(_),
26
+ taxonomy: new f(_),
27
+ codes: new n(_),
28
+ notifications: new d(_),
29
+ config: (t) => e(_, "GET", "/config", { signal: t }),
30
+ url: (e, t) => _.mount(e, t),
31
+ setReadScope: (e) => _.setReadScope(e),
32
+ subscribe: (e) => _.subscribe(e)
31
33
  };
32
34
  }
33
35
  //#endregion
34
- export { f as createContentKitClient };
36
+ export { p as createContentKitClient };
35
37
 
36
38
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","names":[],"sources":["../../src/client/client.ts"],"sourcesContent":["import { CodesClient } from \"./codes.js\";\nimport { BansClient } from \"./content/bans.js\";\nimport { CommentsClient } from \"./content/comments.js\";\nimport { FavoritesClient } from \"./content/favorites.js\";\nimport { ModerationClient } from \"./content/moderation.js\";\nimport { PollsClient } from \"./content/polls.js\";\nimport { PostsClient } from \"./content/posts.js\";\nimport { ReactionsClient } from \"./content/reactions.js\";\nimport type { Config, RefBody } from \"./generated/wire.js\";\nimport { Http, type ContentKitChange, type ContentKitModule, type HttpOptions } from \"./http.js\";\nimport { MediaClient, type ContentFolders, type MediaOptions } from \"./media/client.js\";\nimport { call } from \"./route.js\";\nimport { TaxonomyClient } from \"./taxonomy.js\";\n\nexport interface ContentKitClientOptions extends HttpOptions {\n /** Upload tuning (transport, part concurrency, retries). */\n media?: MediaOptions;\n /** The media kinds of post and poll folders, when the host renamed them (content.Media). */\n folders?: ContentFolders;\n}\n\n/**\n * One ContentKit deployment as the browser sees it. Each module is a property\n * over one shared transport (mounts, auth, language, errors, change events).\n */\nexport interface ContentKitClient {\n /** Uploads, multipart, commits, reads, frames, HLS bases, hls.js `xhrSetup` and inline images. */\n readonly media: MediaClient;\n /** Published posts, staff CRUD, reactions, cover and body images. */\n readonly posts: PostsClient;\n /** Threads, replies, edits, tombstones, reactions, standing, the latest feed, moderation. */\n readonly comments: CommentsClient;\n /** Likes and dislikes of an item. */\n readonly reactions: ReactionsClient;\n /** The signed-in caller's favorites. */\n readonly favorites: FavoritesClient;\n /** Polls: votes, free-text answers and the staff editor. */\n readonly polls: PollsClient;\n /** Comment bans, owner and global. */\n readonly bans: BansClient;\n /** The review queue of held comments and posts. */\n readonly moderation: ModerationClient;\n /** The taxonomy admin API. */\n readonly taxonomy: TaxonomyClient;\n /** Content-code lookup. */\n readonly codes: CodesClient;\n\n /** What the content module allows: which interactions signed-out visitors may make. */\n config(signal?: AbortSignal): Promise<Config>;\n /** A module's base URL as configured (no trailing slash). */\n url(module: ContentKitModule, ref?: RefBody): string;\n /** Cache context only, not authentication. The React provider keeps this in sync. */\n setReadScope(scope: string): void;\n /** Every successful mutation; a null scope means its data predates a context change. */\n subscribe(listener: (change: ContentKitChange, scope: string | null) => void): () => void;\n}\n\nexport function createContentKitClient(options: ContentKitClientOptions): ContentKitClient {\n const { media: mediaOptions, folders, ...http } = options;\n const h = new Http(http);\n const media = new MediaClient(h, mediaOptions, folders);\n return {\n media,\n posts: new PostsClient(h, media),\n comments: new CommentsClient(h),\n reactions: new ReactionsClient(h),\n favorites: new FavoritesClient(h),\n polls: new PollsClient(h, media),\n bans: new BansClient(h),\n moderation: new ModerationClient(h),\n taxonomy: new TaxonomyClient(h),\n codes: new CodesClient(h),\n config: (signal) => call(h, \"GET\", \"/config\", { signal }),\n url: (module, ref) => h.mount(module, ref),\n setReadScope: (scope) => h.setReadScope(scope),\n subscribe: (listener) => h.subscribe(listener),\n };\n}\n"],"mappings":";;;;;;;;;;;;;AAyDA,SAAgB,EAAuB,GAAoD;CACzF,IAAM,EAAE,OAAO,GAAc,YAAS,GAAG,MAAS,GAC5C,IAAI,IAAI,EAAK,CAAI,GACjB,IAAQ,IAAI,EAAY,GAAG,GAAc,CAAO;CACtD,OAAO;EACL;EACA,OAAO,IAAI,EAAY,GAAG,CAAK;EAC/B,UAAU,IAAI,EAAe,CAAC;EAC9B,WAAW,IAAI,EAAgB,CAAC;EAChC,WAAW,IAAI,EAAgB,CAAC;EAChC,OAAO,IAAI,EAAY,GAAG,CAAK;EAC/B,MAAM,IAAI,EAAW,CAAC;EACtB,YAAY,IAAI,EAAiB,CAAC;EAClC,UAAU,IAAI,EAAe,CAAC;EAC9B,OAAO,IAAI,EAAY,CAAC;EACxB,SAAS,MAAW,EAAK,GAAG,OAAO,WAAW,EAAE,UAAO,CAAC;EACxD,MAAM,GAAQ,MAAQ,EAAE,MAAM,GAAQ,CAAG;EACzC,eAAe,MAAU,EAAE,aAAa,CAAK;EAC7C,YAAY,MAAa,EAAE,UAAU,CAAQ;CAC/C;AACF"}
1
+ {"version":3,"file":"client.js","names":[],"sources":["../../src/client/client.ts"],"sourcesContent":["import { CodesClient } from \"./codes.js\";\nimport { BansClient } from \"./content/bans.js\";\nimport { CommentsClient } from \"./content/comments.js\";\nimport { FavoritesClient } from \"./content/favorites.js\";\nimport { ModerationClient } from \"./content/moderation.js\";\nimport { PollsClient } from \"./content/polls.js\";\nimport { PostsClient } from \"./content/posts.js\";\nimport { ReactionsClient } from \"./content/reactions.js\";\nimport type { Config, RefBody } from \"./generated/wire.js\";\nimport { Http, type ContentKitChange, type ContentKitModule, type HttpOptions } from \"./http.js\";\nimport { MediaClient, type ContentFolders, type MediaOptions } from \"./media/client.js\";\nimport { call } from \"./route.js\";\nimport { NotificationsClient } from \"./notifications.js\";\nimport { TaxonomyClient } from \"./taxonomy.js\";\n\nexport interface ContentKitClientOptions extends HttpOptions {\n /** Upload tuning (transport, part concurrency, retries). */\n media?: MediaOptions;\n /** The media kinds of post and poll folders, when the host renamed them (content.Media). */\n folders?: ContentFolders;\n}\n\n/**\n * One ContentKit deployment as the browser sees it. Each module is a property\n * over one shared transport (mounts, auth, language, errors, change events).\n */\nexport interface ContentKitClient {\n /** Uploads, multipart, commits, reads, frames, HLS bases, hls.js `xhrSetup` and inline images. */\n readonly media: MediaClient;\n /** Published posts, staff CRUD, reactions, cover and body images. */\n readonly posts: PostsClient;\n /** Threads, replies, edits, tombstones, reactions, standing, the latest feed, moderation. */\n readonly comments: CommentsClient;\n /** Likes and dislikes of an item. */\n readonly reactions: ReactionsClient;\n /** The signed-in caller's favorites. */\n readonly favorites: FavoritesClient;\n /** Polls: votes, free-text answers and the staff editor. */\n readonly polls: PollsClient;\n /** Comment bans, owner and global. */\n readonly bans: BansClient;\n /** The review queue of held comments and posts. */\n readonly moderation: ModerationClient;\n /** The taxonomy admin API. */\n readonly taxonomy: TaxonomyClient;\n /** Content-code lookup. */\n readonly codes: CodesClient;\n /** The signed-in person's native and imported notifications. */\n readonly notifications: NotificationsClient;\n\n /** What the content module allows: which interactions signed-out visitors may make. */\n config(signal?: AbortSignal): Promise<Config>;\n /** A module's base URL as configured (no trailing slash). */\n url(module: ContentKitModule, ref?: RefBody): string;\n /** Cache context only, not authentication. The React provider keeps this in sync. */\n setReadScope(scope: string): void;\n /** Every successful mutation; a null scope means its data predates a context change. */\n subscribe(listener: (change: ContentKitChange, scope: string | null) => void): () => void;\n}\n\nexport function createContentKitClient(options: ContentKitClientOptions): ContentKitClient {\n const { media: mediaOptions, folders, ...http } = options;\n const h = new Http(http);\n const media = new MediaClient(h, mediaOptions, folders);\n return {\n media,\n posts: new PostsClient(h, media),\n comments: new CommentsClient(h),\n reactions: new ReactionsClient(h),\n favorites: new FavoritesClient(h),\n polls: new PollsClient(h, media),\n bans: new BansClient(h),\n moderation: new ModerationClient(h),\n taxonomy: new TaxonomyClient(h),\n codes: new CodesClient(h),\n notifications: new NotificationsClient(h),\n config: (signal) => call(h, \"GET\", \"/config\", { signal }),\n url: (module, ref) => h.mount(module, ref),\n setReadScope: (scope) => h.setReadScope(scope),\n subscribe: (listener) => h.subscribe(listener),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AA4DA,SAAgB,EAAuB,GAAoD;CACzF,IAAM,EAAE,OAAO,GAAc,YAAS,GAAG,MAAS,GAC5C,IAAI,IAAI,EAAK,CAAI,GACjB,IAAQ,IAAI,EAAY,GAAG,GAAc,CAAO;CACtD,OAAO;EACL;EACA,OAAO,IAAI,EAAY,GAAG,CAAK;EAC/B,UAAU,IAAI,EAAe,CAAC;EAC9B,WAAW,IAAI,EAAgB,CAAC;EAChC,WAAW,IAAI,EAAgB,CAAC;EAChC,OAAO,IAAI,EAAY,GAAG,CAAK;EAC/B,MAAM,IAAI,EAAW,CAAC;EACtB,YAAY,IAAI,EAAiB,CAAC;EAClC,UAAU,IAAI,EAAe,CAAC;EAC9B,OAAO,IAAI,EAAY,CAAC;EACxB,eAAe,IAAI,EAAoB,CAAC;EACxC,SAAS,MAAW,EAAK,GAAG,OAAO,WAAW,EAAE,UAAO,CAAC;EACxD,MAAM,GAAQ,MAAQ,EAAE,MAAM,GAAQ,CAAG;EACzC,eAAe,MAAU,EAAE,aAAa,CAAK;EAC7C,YAAY,MAAa,EAAE,UAAU,CAAQ;CAC/C;AACF"}
@@ -1,4 +1,4 @@
1
- export type ContentKitModule = "content" | "upload" | "media" | "codes" | "taxonomy";
1
+ export type ContentKitModule = "content" | "upload" | "media" | "codes" | "taxonomy" | "notifications";
2
2
  export declare const CONTENTKIT_MODULES: Readonly<Record<ContentKitModule, string>>;
3
3
  export type ContentKitRoute = {
4
4
  method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
@@ -1056,5 +1056,70 @@ export declare const CONTENTKIT_ROUTES: readonly [{
1056
1056
  };
1057
1057
  readonly errors: readonly [];
1058
1058
  readonly errorSets: readonly ["module:taxonomy", "auth"];
1059
+ }, {
1060
+ readonly method: "GET";
1061
+ readonly module: "notifications";
1062
+ readonly path: "/inbox";
1063
+ readonly auth: "user";
1064
+ readonly permission: null;
1065
+ readonly query: readonly ["limit", "cursor", "unread", "dismissed"];
1066
+ readonly request: null;
1067
+ readonly responses: {
1068
+ readonly 200: "Page";
1069
+ };
1070
+ readonly errors: readonly [];
1071
+ readonly errorSets: readonly ["module:notifications", "auth", "request"];
1072
+ }, {
1073
+ readonly method: "PUT";
1074
+ readonly module: "notifications";
1075
+ readonly path: "/{id}/read";
1076
+ readonly auth: "user";
1077
+ readonly permission: null;
1078
+ readonly query: readonly [];
1079
+ readonly request: null;
1080
+ readonly responses: {
1081
+ readonly 200: "Item";
1082
+ };
1083
+ readonly errors: readonly ["not_found"];
1084
+ readonly errorSets: readonly ["module:notifications", "auth", "request"];
1085
+ }, {
1086
+ readonly method: "DELETE";
1087
+ readonly module: "notifications";
1088
+ readonly path: "/{id}/read";
1089
+ readonly auth: "user";
1090
+ readonly permission: null;
1091
+ readonly query: readonly [];
1092
+ readonly request: null;
1093
+ readonly responses: {
1094
+ readonly 200: "Item";
1095
+ };
1096
+ readonly errors: readonly ["not_found"];
1097
+ readonly errorSets: readonly ["module:notifications", "auth", "request"];
1098
+ }, {
1099
+ readonly method: "PUT";
1100
+ readonly module: "notifications";
1101
+ readonly path: "/{id}/dismiss";
1102
+ readonly auth: "user";
1103
+ readonly permission: null;
1104
+ readonly query: readonly [];
1105
+ readonly request: null;
1106
+ readonly responses: {
1107
+ readonly 200: "Item";
1108
+ };
1109
+ readonly errors: readonly ["not_found"];
1110
+ readonly errorSets: readonly ["module:notifications", "auth", "request"];
1111
+ }, {
1112
+ readonly method: "DELETE";
1113
+ readonly module: "notifications";
1114
+ readonly path: "/{id}/dismiss";
1115
+ readonly auth: "user";
1116
+ readonly permission: null;
1117
+ readonly query: readonly [];
1118
+ readonly request: null;
1119
+ readonly responses: {
1120
+ readonly 200: "Item";
1121
+ };
1122
+ readonly errors: readonly ["not_found"];
1123
+ readonly errorSets: readonly ["module:notifications", "auth", "request"];
1059
1124
  }];
1060
1125
  export declare const CONTENTKIT_ERROR_SETS: Readonly<Record<string, readonly string[]>>;
@@ -1448,6 +1448,91 @@ var e = [
1448
1448
  responses: { 200: "CountsRebuilt" },
1449
1449
  errors: [],
1450
1450
  errorSets: ["module:taxonomy", "auth"]
1451
+ },
1452
+ {
1453
+ method: "GET",
1454
+ module: "notifications",
1455
+ path: "/inbox",
1456
+ auth: "user",
1457
+ permission: null,
1458
+ query: [
1459
+ "limit",
1460
+ "cursor",
1461
+ "unread",
1462
+ "dismissed"
1463
+ ],
1464
+ request: null,
1465
+ responses: { 200: "Page" },
1466
+ errors: [],
1467
+ errorSets: [
1468
+ "module:notifications",
1469
+ "auth",
1470
+ "request"
1471
+ ]
1472
+ },
1473
+ {
1474
+ method: "PUT",
1475
+ module: "notifications",
1476
+ path: "/{id}/read",
1477
+ auth: "user",
1478
+ permission: null,
1479
+ query: [],
1480
+ request: null,
1481
+ responses: { 200: "Item" },
1482
+ errors: ["not_found"],
1483
+ errorSets: [
1484
+ "module:notifications",
1485
+ "auth",
1486
+ "request"
1487
+ ]
1488
+ },
1489
+ {
1490
+ method: "DELETE",
1491
+ module: "notifications",
1492
+ path: "/{id}/read",
1493
+ auth: "user",
1494
+ permission: null,
1495
+ query: [],
1496
+ request: null,
1497
+ responses: { 200: "Item" },
1498
+ errors: ["not_found"],
1499
+ errorSets: [
1500
+ "module:notifications",
1501
+ "auth",
1502
+ "request"
1503
+ ]
1504
+ },
1505
+ {
1506
+ method: "PUT",
1507
+ module: "notifications",
1508
+ path: "/{id}/dismiss",
1509
+ auth: "user",
1510
+ permission: null,
1511
+ query: [],
1512
+ request: null,
1513
+ responses: { 200: "Item" },
1514
+ errors: ["not_found"],
1515
+ errorSets: [
1516
+ "module:notifications",
1517
+ "auth",
1518
+ "request"
1519
+ ]
1520
+ },
1521
+ {
1522
+ method: "DELETE",
1523
+ module: "notifications",
1524
+ path: "/{id}/dismiss",
1525
+ auth: "user",
1526
+ permission: null,
1527
+ query: [],
1528
+ request: null,
1529
+ responses: { 200: "Item" },
1530
+ errors: ["not_found"],
1531
+ errorSets: [
1532
+ "module:notifications",
1533
+ "auth",
1534
+ "request"
1535
+ ]
1451
1536
  }
1452
1537
  ];
1453
1538
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","names":[],"sources":["../../../src/client/generated/routes.ts"],"sourcesContent":["// Generated by `go generate ./internal/contract` from ContentKit's route catalog. Do not edit.\n\nexport type ContentKitModule = \"content\" | \"upload\" | \"media\" | \"codes\" | \"taxonomy\";\n\n// Each module's sub-path under the one mount (contentkit.Runtime.Handler).\nexport const CONTENTKIT_MODULES: Readonly<Record<ContentKitModule, string>> = {\n content: \"\",\n upload: \"/media/upload\",\n media: \"/media\",\n codes: \"/codes\",\n taxonomy: \"/taxonomy\",\n};\n\nexport type ContentKitRoute = {\n method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n module: ContentKitModule;\n // The path from the module's mount: CONTENTKIT_MODULES[module] + path under the one mount.\n path: string;\n // open: never authenticates; public: the actor is optional; user: a signed-in person;\n // staff: a person or an application holding the host permission.\n auth: \"open\" | \"public\" | \"user\" | \"staff\";\n // A staff route's permission: root:<resource>:<action>.\n permission: string | null;\n query: readonly string[];\n // wire.ts type names (or a content type): the JSON body, and each success by status.\n request: string | null;\n responses: Readonly<Record<number, string | null>>;\n // The route's own codes, and the shared sets (CONTENTKIT_ERROR_SETS) it also answers.\n errors: readonly string[];\n errorSets: readonly string[];\n};\n\nexport const CONTENTKIT_ROUTES = [\n { method: \"GET\", module: \"content\", path: \"/config\", auth: \"open\", permission: null, query: [], request: null, responses: { 200: \"Config\" }, errors: [], errorSets: [\"module:content\"] },\n { method: \"GET\", module: \"content\", path: \"/posts\", auth: \"public\", permission: null, query: [\"language\", \"sort\", \"limit\", \"offset\"], request: null, responses: { 200: \"Post[]\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/posts/admin\", auth: \"staff\", permission: \"root:posts:write\", query: [\"language\", \"draft\", \"deleted\", \"q\", \"limit\", \"offset\"], request: null, responses: { 200: \"Post[]\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/posts/{id}\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"Post\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/posts\", auth: \"staff\", permission: \"root:posts:write\", query: [], request: \"PostInput\", responses: { 201: \"Post\", 202: \"Post\" }, errors: [\"conflict\", \"forbidden\", \"moderation_rejected\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PATCH\", module: \"content\", path: \"/posts/{id}\", auth: \"staff\", permission: \"root:posts:write\", query: [], request: \"PostInput\", responses: { 200: \"Post\", 202: \"Post\" }, errors: [\"conflict\", \"forbidden\", \"moderation_rejected\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/posts/{id}\", auth: \"staff\", permission: \"root:posts:write\", query: [], request: null, responses: { 204: null }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/posts/{id}/restore\", auth: \"staff\", permission: \"root:posts:write\", query: [], request: null, responses: { 200: \"Post\" }, errors: [\"conflict\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PUT\", module: \"content\", path: \"/posts/{id}/cover\", auth: \"staff\", permission: \"root:posts:write\", query: [], request: \"ImageInput\", responses: { 200: \"PostCover\" }, errors: [\"not_configured\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/posts/{id}/images\", auth: \"staff\", permission: \"root:posts:write\", query: [], request: \"ImageInput\", responses: { 200: \"InlineImage\" }, errors: [\"not_configured\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/{kind}/{id}/comments\", auth: \"public\", permission: null, query: [\"sort\", \"limit\", \"offset\"], request: null, responses: { 200: \"Comment[]\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/{kind}/{id}/comments\", auth: \"public\", permission: null, query: [], request: \"CommentInput\", responses: { 201: \"Comment\", 202: \"Comment\" }, errors: [\"comment_banned\", \"comment_too_long\", \"forbidden\", \"moderation_rejected\", \"not_found\", \"rate_limited\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/comments/latest\", auth: \"public\", permission: null, query: [\"limit\", \"offset\"], request: null, responses: { 200: \"FeedItem[]\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/comments/admin\", auth: \"staff\", permission: \"root:comments:moderate\", query: [\"content_kind\", \"author\", \"limit\", \"offset\"], request: null, responses: { 200: \"AdminComment[]\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/comments/{cid}/restore\", auth: \"staff\", permission: \"root:comments:moderate\", query: [], request: null, responses: { 200: \"Restored\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/comments/{cid}/replies\", auth: \"public\", permission: null, query: [\"limit\", \"offset\"], request: null, responses: { 200: \"Comment[]\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PATCH\", module: \"content\", path: \"/comments/{cid}\", auth: \"public\", permission: null, query: [], request: \"CommentEdit\", responses: { 200: \"Comment\", 202: \"Comment\" }, errors: [\"comment_banned\", \"comment_too_long\", \"conflict\", \"forbidden\", \"moderation_rejected\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/comments/{cid}\", auth: \"public\", permission: null, query: [], request: null, responses: { 204: null }, errors: [\"forbidden\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/comments/{cid}/like\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"ReactionCounts\" }, errors: [\"forbidden\", \"invalid_request\", \"not_found\", \"rate_limited\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/comments/{cid}/dislike\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"ReactionCounts\" }, errors: [\"forbidden\", \"invalid_request\", \"not_found\", \"rate_limited\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/comments/{cid}/reaction\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"ReactionCounts\" }, errors: [\"forbidden\", \"invalid_request\", \"not_found\", \"rate_limited\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/{kind}/{id}/like\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"ReactionCounts\" }, errors: [\"forbidden\", \"invalid_request\", \"not_found\", \"rate_limited\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/{kind}/{id}/dislike\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"ReactionCounts\" }, errors: [\"forbidden\", \"invalid_request\", \"not_found\", \"rate_limited\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/{kind}/{id}/reaction\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"ReactionCounts\" }, errors: [\"forbidden\", \"invalid_request\", \"not_found\", \"rate_limited\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/{kind}/{id}/reaction\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"ReactionCounts\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/favorites\", auth: \"user\", permission: null, query: [\"limit\", \"offset\"], request: null, responses: { 200: \"FavoriteItem[]\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/{kind}/{id}/favorite\", auth: \"user\", permission: null, query: [], request: null, responses: { 200: \"FavoriteState\" }, errors: [\"forbidden\", \"not_found\", \"rate_limited\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/{kind}/{id}/favorite\", auth: \"user\", permission: null, query: [], request: null, responses: { 200: \"FavoriteState\" }, errors: [\"forbidden\", \"invalid_request\", \"rate_limited\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/{kind}/{id}/favorite\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"FavoriteState\" }, errors: [\"invalid_request\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/polls\", auth: \"public\", permission: null, query: [\"language\", \"month\", \"date\", \"limit\", \"offset\"], request: null, responses: { 200: \"Poll[]\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/polls/admin\", auth: \"staff\", permission: \"root:polls:write\", query: [\"language\", \"month\", \"date\", \"state\", \"q\", \"limit\", \"offset\"], request: null, responses: { 200: \"Poll[]\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/polls/{id}\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"Poll\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/polls\", auth: \"staff\", permission: \"root:polls:write\", query: [], request: \"PollInput\", responses: { 201: \"Poll\" }, errors: [\"not_configured\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PATCH\", module: \"content\", path: \"/polls/{id}\", auth: \"staff\", permission: \"root:polls:write\", query: [], request: \"PollUpdate\", responses: { 200: \"Poll\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/polls/{id}\", auth: \"staff\", permission: \"root:polls:write\", query: [], request: null, responses: { 204: null }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/polls/{id}/vote\", auth: \"public\", permission: null, query: [], request: \"PollVote\", responses: { 200: \"Poll\" }, errors: [\"forbidden\", \"not_found\", \"rate_limited\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/polls/{id}/answer\", auth: \"user\", permission: null, query: [], request: \"PollAnswerInput\", responses: { 200: \"Poll\" }, errors: [\"forbidden\", \"not_found\", \"rate_limited\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PUT\", module: \"content\", path: \"/polls/{id}/image\", auth: \"staff\", permission: \"root:polls:write\", query: [], request: \"ImageInput\", responses: { 200: \"PollImage\" }, errors: [\"not_configured\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/polls/{id}/options\", auth: \"staff\", permission: \"root:polls:write\", query: [], request: \"PollOptionPatch\", responses: { 201: \"PollOption\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PATCH\", module: \"content\", path: \"/polls/{id}/options/{oid}\", auth: \"staff\", permission: \"root:polls:write\", query: [], request: \"PollOptionPatch\", responses: { 200: \"PollOption\" }, errors: [\"not_configured\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/polls/{id}/options/{oid}\", auth: \"staff\", permission: \"root:polls:write\", query: [], request: null, responses: { 204: null }, errors: [\"invalid_request\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PUT\", module: \"content\", path: \"/polls/{id}/options/{oid}/image\", auth: \"staff\", permission: \"root:polls:write\", query: [], request: \"ImageInput\", responses: { 200: \"PollImage\" }, errors: [\"not_configured\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/comment-bans\", auth: \"user\", permission: null, query: [\"limit\", \"offset\"], request: null, responses: { 200: \"CommentBan[]\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PUT\", module: \"content\", path: \"/comment-bans/{user}\", auth: \"user\", permission: null, query: [], request: \"BanInput\", responses: { 200: \"CommentBan\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/comment-bans/{user}\", auth: \"user\", permission: null, query: [], request: null, responses: { 204: null }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/global-comment-bans\", auth: \"staff\", permission: \"root:comments:ban\", query: [\"limit\", \"offset\"], request: null, responses: { 200: \"CommentBan[]\" }, errors: [\"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/global-comment-bans/{user}\", auth: \"staff\", permission: \"root:comments:ban\", query: [], request: null, responses: { 200: \"CommentBan\" }, errors: [\"not_found\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PUT\", module: \"content\", path: \"/global-comment-bans/{user}\", auth: \"staff\", permission: \"root:comments:ban\", query: [], request: \"BanInput\", responses: { 200: \"CommentBan\" }, errors: [\"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/global-comment-bans/{user}\", auth: \"staff\", permission: \"root:comments:ban\", query: [], request: null, responses: { 204: null }, errors: [\"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/{kind}/{id}/can-comment\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"CommentStanding\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/moderation/held\", auth: \"staff\", permission: \"root:moderation:review\", query: [\"kind\", \"cursor\", \"limit\"], request: null, responses: { 200: \"HeldPage\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/moderation/{kind}/{id}/resolve\", auth: \"staff\", permission: \"root:moderation:review\", query: [], request: \"ResolveInput\", responses: { 200: \"ReviewOutcome\" }, errors: [\"conflict\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"upload\", path: \"/presign\", auth: \"user\", permission: null, query: [], request: \"PresignBody\", responses: { 200: \"PresignReply\" }, errors: [\"conflict\", \"forbidden\", \"not_found\", \"quota_exceeded\", \"rate_limited\", \"too_large\", \"too_many_files\", \"type_not_allowed\"], errorSets: [\"module:upload\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"upload\", path: \"/parts\", auth: \"user\", permission: null, query: [], request: \"PartsBody\", responses: { 200: \"PartsReply\" }, errors: [\"forbidden\", \"not_found\"], errorSets: [\"module:upload\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"upload\", path: \"/parts/list\", auth: \"user\", permission: null, query: [], request: \"TicketBody\", responses: { 200: \"PartsReply\" }, errors: [\"forbidden\", \"not_found\"], errorSets: [\"module:upload\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"upload\", path: \"/complete\", auth: \"user\", permission: null, query: [], request: \"TicketBody\", responses: { 200: \"CompleteReply\" }, errors: [\"checksum_mismatch\", \"forbidden\", \"incomplete\", \"not_found\"], errorSets: [\"module:upload\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"upload\", path: \"/abort\", auth: \"user\", permission: null, query: [], request: \"TicketBody\", responses: { 204: null }, errors: [\"forbidden\", \"not_found\"], errorSets: [\"module:upload\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"upload\", path: \"/commit\", auth: \"user\", permission: null, query: [], request: \"CommitBody\", responses: { 200: \"CommitReply\" }, errors: [\"conflict\", \"forbidden\", \"image_too_small\", \"not_found\", \"not_uploaded\", \"quota_exceeded\", \"rate_limited\", \"too_large\", \"too_many_files\", \"type_not_allowed\"], errorSets: [\"module:upload\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"upload\", path: \"/frame\", auth: \"user\", permission: null, query: [\"kind\", \"id\", \"path\", \"t\", \"w\"], request: null, responses: { 200: \"image/jpeg\" }, errors: [\"forbidden\", \"not_found\"], errorSets: [\"module:upload\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"media\", path: \"/presets\", auth: \"open\", permission: null, query: [], request: null, responses: { 200: \"PresetRule[]\" }, errors: [], errorSets: [\"module:media\"] },\n { method: \"GET\", module: \"media\", path: \"/{kind}/{id}\", auth: \"public\", permission: null, query: [\"prefix\", \"offset\", \"limit\", \"download\", \"editor\"], request: null, responses: { 200: \"ReadResult\" }, errors: [], errorSets: [\"module:media\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"media\", path: \"/{kind}/{id}/hls/{path...}\", auth: \"public\", permission: null, query: [\"audio\", \"subs\"], request: null, responses: { 200: \"application/vnd.apple.mpegurl\" }, errors: [], errorSets: [\"module:media\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"codes\", path: \"/{code}\", auth: \"open\", permission: null, query: [\"lang\"], request: null, responses: { 200: \"Resolved\" }, errors: [\"gone\", \"not_found\"], errorSets: [\"module:codes\", \"request\"] },\n { method: \"GET\", module: \"taxonomy\", path: \"/nodes\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [\"kind\", \"state\", \"id\", \"slug\", \"language\", \"language_mode\", \"name_prefix\", \"q\", \"content_kind\", \"min_count\", \"sort\", \"cursor\", \"offset\", \"limit\"], request: null, responses: { 200: \"NodePage\" }, errors: [], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"taxonomy\", path: \"/nodes\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"NodeInput[]\", responses: { 201: \"Node[]\" }, errors: [\"conflict\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"taxonomy\", path: \"/nodes/{id}\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: null, responses: { 200: \"NodeDetail\" }, errors: [\"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"PATCH\", module: \"taxonomy\", path: \"/nodes/{id}\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"NodeUpdate\", responses: { 200: \"Node\" }, errors: [\"conflict\", \"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"taxonomy\", path: \"/nodes/{id}\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: null, responses: { 200: \"Node\" }, errors: [\"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"PUT\", module: \"taxonomy\", path: \"/nodes/{id}/names\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"Name[]\", responses: { 200: \"NodeDetail\" }, errors: [\"conflict\", \"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"taxonomy\", path: \"/nodes/{id}/names\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"Name[]\", responses: { 200: \"NodeDetail\" }, errors: [\"conflict\", \"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"taxonomy\", path: \"/nodes/{id}/names\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"Name[]\", responses: { 200: \"NodeDetail\" }, errors: [\"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"taxonomy\", path: \"/nodes/{id}/assignments\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [\"content_kind\", \"relation\", \"cursor\", \"limit\"], request: null, responses: { 200: \"AssignmentPage\" }, errors: [\"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"taxonomy\", path: \"/nodes/{id}/merge\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"MergeInput\", responses: { 200: \"MergeReport\" }, errors: [\"conflict\", \"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"taxonomy\", path: \"/edges\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"Edge[]\", responses: { 200: \"EdgesWritten\" }, errors: [\"conflict\", \"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"taxonomy\", path: \"/edges\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"Edge[]\", responses: { 200: \"EdgesWritten\" }, errors: [], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"taxonomy\", path: \"/assignments\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [\"suppress_counts\"], request: \"Assignment[]\", responses: { 200: \"AssignmentsWritten\" }, errors: [\"conflict\", \"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"taxonomy\", path: \"/assignments\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [\"suppress_counts\"], request: \"Assignment[]\", responses: { 200: \"AssignmentsWritten\" }, errors: [], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"taxonomy\", path: \"/effective\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"ContentRef[]\", responses: { 200: \"EffectiveTagsOf[]\" }, errors: [], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"taxonomy\", path: \"/counts\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [\"taxonomy_id\"], request: null, responses: { 200: \"Record<string, Count[]>\" }, errors: [], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"taxonomy\", path: \"/counts/rebuild\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: null, responses: { 200: \"CountsRebuilt\" }, errors: [], errorSets: [\"module:taxonomy\", \"auth\"] },\n] as const satisfies readonly ContentKitRoute[];\n\n// The codes every route of a kind answers, by set name.\nexport const CONTENTKIT_ERROR_SETS: Readonly<Record<string, readonly string[]>> = {\n \"auth\": [\"forbidden\", \"unauthorized\", \"unavailable\"],\n \"module:codes\": [\"internal_error\"],\n \"module:content\": [\"internal_error\", \"tenant_mismatch\"],\n \"module:media\": [\"internal_error\", \"not_found\", \"rate_limited\", \"unavailable\", \"upgrade_required\"],\n \"module:taxonomy\": [\"internal_error\"],\n \"module:upload\": [\"internal_error\", \"unavailable\", \"upgrade_required\"],\n \"request\": [\"invalid_request\"],\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","names":[],"sources":["../../../src/client/generated/routes.ts"],"sourcesContent":["// Generated by `go generate ./internal/contract` from ContentKit's route catalog. Do not edit.\n\nexport type ContentKitModule = \"content\" | \"upload\" | \"media\" | \"codes\" | \"taxonomy\" | \"notifications\";\n\n// Each module's sub-path under the one mount (contentkit.Runtime.Handler).\nexport const CONTENTKIT_MODULES: Readonly<Record<ContentKitModule, string>> = {\n content: \"\",\n upload: \"/media/upload\",\n media: \"/media\",\n codes: \"/codes\",\n taxonomy: \"/taxonomy\",\n notifications: \"/notifications\",\n};\n\nexport type ContentKitRoute = {\n method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n module: ContentKitModule;\n // The path from the module's mount: CONTENTKIT_MODULES[module] + path under the one mount.\n path: string;\n // open: never authenticates; public: the actor is optional; user: a signed-in person;\n // staff: a person or an application holding the host permission.\n auth: \"open\" | \"public\" | \"user\" | \"staff\";\n // A staff route's permission: root:<resource>:<action>.\n permission: string | null;\n query: readonly string[];\n // wire.ts type names (or a content type): the JSON body, and each success by status.\n request: string | null;\n responses: Readonly<Record<number, string | null>>;\n // The route's own codes, and the shared sets (CONTENTKIT_ERROR_SETS) it also answers.\n errors: readonly string[];\n errorSets: readonly string[];\n};\n\nexport const CONTENTKIT_ROUTES = [\n { method: \"GET\", module: \"content\", path: \"/config\", auth: \"open\", permission: null, query: [], request: null, responses: { 200: \"Config\" }, errors: [], errorSets: [\"module:content\"] },\n { method: \"GET\", module: \"content\", path: \"/posts\", auth: \"public\", permission: null, query: [\"language\", \"sort\", \"limit\", \"offset\"], request: null, responses: { 200: \"Post[]\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/posts/admin\", auth: \"staff\", permission: \"root:posts:write\", query: [\"language\", \"draft\", \"deleted\", \"q\", \"limit\", \"offset\"], request: null, responses: { 200: \"Post[]\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/posts/{id}\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"Post\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/posts\", auth: \"staff\", permission: \"root:posts:write\", query: [], request: \"PostInput\", responses: { 201: \"Post\", 202: \"Post\" }, errors: [\"conflict\", \"forbidden\", \"moderation_rejected\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PATCH\", module: \"content\", path: \"/posts/{id}\", auth: \"staff\", permission: \"root:posts:write\", query: [], request: \"PostInput\", responses: { 200: \"Post\", 202: \"Post\" }, errors: [\"conflict\", \"forbidden\", \"moderation_rejected\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/posts/{id}\", auth: \"staff\", permission: \"root:posts:write\", query: [], request: null, responses: { 204: null }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/posts/{id}/restore\", auth: \"staff\", permission: \"root:posts:write\", query: [], request: null, responses: { 200: \"Post\" }, errors: [\"conflict\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PUT\", module: \"content\", path: \"/posts/{id}/cover\", auth: \"staff\", permission: \"root:posts:write\", query: [], request: \"ImageInput\", responses: { 200: \"PostCover\" }, errors: [\"not_configured\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/posts/{id}/images\", auth: \"staff\", permission: \"root:posts:write\", query: [], request: \"ImageInput\", responses: { 200: \"InlineImage\" }, errors: [\"not_configured\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/{kind}/{id}/comments\", auth: \"public\", permission: null, query: [\"sort\", \"limit\", \"offset\"], request: null, responses: { 200: \"Comment[]\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/{kind}/{id}/comments\", auth: \"public\", permission: null, query: [], request: \"CommentInput\", responses: { 201: \"Comment\", 202: \"Comment\" }, errors: [\"comment_banned\", \"comment_too_long\", \"forbidden\", \"moderation_rejected\", \"not_found\", \"rate_limited\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/comments/latest\", auth: \"public\", permission: null, query: [\"limit\", \"offset\"], request: null, responses: { 200: \"FeedItem[]\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/comments/admin\", auth: \"staff\", permission: \"root:comments:moderate\", query: [\"content_kind\", \"author\", \"limit\", \"offset\"], request: null, responses: { 200: \"AdminComment[]\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/comments/{cid}/restore\", auth: \"staff\", permission: \"root:comments:moderate\", query: [], request: null, responses: { 200: \"Restored\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/comments/{cid}/replies\", auth: \"public\", permission: null, query: [\"limit\", \"offset\"], request: null, responses: { 200: \"Comment[]\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PATCH\", module: \"content\", path: \"/comments/{cid}\", auth: \"public\", permission: null, query: [], request: \"CommentEdit\", responses: { 200: \"Comment\", 202: \"Comment\" }, errors: [\"comment_banned\", \"comment_too_long\", \"conflict\", \"forbidden\", \"moderation_rejected\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/comments/{cid}\", auth: \"public\", permission: null, query: [], request: null, responses: { 204: null }, errors: [\"forbidden\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/comments/{cid}/like\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"ReactionCounts\" }, errors: [\"forbidden\", \"invalid_request\", \"not_found\", \"rate_limited\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/comments/{cid}/dislike\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"ReactionCounts\" }, errors: [\"forbidden\", \"invalid_request\", \"not_found\", \"rate_limited\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/comments/{cid}/reaction\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"ReactionCounts\" }, errors: [\"forbidden\", \"invalid_request\", \"not_found\", \"rate_limited\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/{kind}/{id}/like\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"ReactionCounts\" }, errors: [\"forbidden\", \"invalid_request\", \"not_found\", \"rate_limited\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/{kind}/{id}/dislike\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"ReactionCounts\" }, errors: [\"forbidden\", \"invalid_request\", \"not_found\", \"rate_limited\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/{kind}/{id}/reaction\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"ReactionCounts\" }, errors: [\"forbidden\", \"invalid_request\", \"not_found\", \"rate_limited\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/{kind}/{id}/reaction\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"ReactionCounts\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/favorites\", auth: \"user\", permission: null, query: [\"limit\", \"offset\"], request: null, responses: { 200: \"FavoriteItem[]\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/{kind}/{id}/favorite\", auth: \"user\", permission: null, query: [], request: null, responses: { 200: \"FavoriteState\" }, errors: [\"forbidden\", \"not_found\", \"rate_limited\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/{kind}/{id}/favorite\", auth: \"user\", permission: null, query: [], request: null, responses: { 200: \"FavoriteState\" }, errors: [\"forbidden\", \"invalid_request\", \"rate_limited\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/{kind}/{id}/favorite\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"FavoriteState\" }, errors: [\"invalid_request\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/polls\", auth: \"public\", permission: null, query: [\"language\", \"month\", \"date\", \"limit\", \"offset\"], request: null, responses: { 200: \"Poll[]\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/polls/admin\", auth: \"staff\", permission: \"root:polls:write\", query: [\"language\", \"month\", \"date\", \"state\", \"q\", \"limit\", \"offset\"], request: null, responses: { 200: \"Poll[]\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/polls/{id}\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"Poll\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/polls\", auth: \"staff\", permission: \"root:polls:write\", query: [], request: \"PollInput\", responses: { 201: \"Poll\" }, errors: [\"not_configured\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PATCH\", module: \"content\", path: \"/polls/{id}\", auth: \"staff\", permission: \"root:polls:write\", query: [], request: \"PollUpdate\", responses: { 200: \"Poll\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/polls/{id}\", auth: \"staff\", permission: \"root:polls:write\", query: [], request: null, responses: { 204: null }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/polls/{id}/vote\", auth: \"public\", permission: null, query: [], request: \"PollVote\", responses: { 200: \"Poll\" }, errors: [\"forbidden\", \"not_found\", \"rate_limited\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/polls/{id}/answer\", auth: \"user\", permission: null, query: [], request: \"PollAnswerInput\", responses: { 200: \"Poll\" }, errors: [\"forbidden\", \"not_found\", \"rate_limited\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PUT\", module: \"content\", path: \"/polls/{id}/image\", auth: \"staff\", permission: \"root:polls:write\", query: [], request: \"ImageInput\", responses: { 200: \"PollImage\" }, errors: [\"not_configured\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/polls/{id}/options\", auth: \"staff\", permission: \"root:polls:write\", query: [], request: \"PollOptionPatch\", responses: { 201: \"PollOption\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PATCH\", module: \"content\", path: \"/polls/{id}/options/{oid}\", auth: \"staff\", permission: \"root:polls:write\", query: [], request: \"PollOptionPatch\", responses: { 200: \"PollOption\" }, errors: [\"not_configured\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/polls/{id}/options/{oid}\", auth: \"staff\", permission: \"root:polls:write\", query: [], request: null, responses: { 204: null }, errors: [\"invalid_request\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PUT\", module: \"content\", path: \"/polls/{id}/options/{oid}/image\", auth: \"staff\", permission: \"root:polls:write\", query: [], request: \"ImageInput\", responses: { 200: \"PollImage\" }, errors: [\"not_configured\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/comment-bans\", auth: \"user\", permission: null, query: [\"limit\", \"offset\"], request: null, responses: { 200: \"CommentBan[]\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PUT\", module: \"content\", path: \"/comment-bans/{user}\", auth: \"user\", permission: null, query: [], request: \"BanInput\", responses: { 200: \"CommentBan\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/comment-bans/{user}\", auth: \"user\", permission: null, query: [], request: null, responses: { 204: null }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/global-comment-bans\", auth: \"staff\", permission: \"root:comments:ban\", query: [\"limit\", \"offset\"], request: null, responses: { 200: \"CommentBan[]\" }, errors: [\"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/global-comment-bans/{user}\", auth: \"staff\", permission: \"root:comments:ban\", query: [], request: null, responses: { 200: \"CommentBan\" }, errors: [\"not_found\", \"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"PUT\", module: \"content\", path: \"/global-comment-bans/{user}\", auth: \"staff\", permission: \"root:comments:ban\", query: [], request: \"BanInput\", responses: { 200: \"CommentBan\" }, errors: [\"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"content\", path: \"/global-comment-bans/{user}\", auth: \"staff\", permission: \"root:comments:ban\", query: [], request: null, responses: { 204: null }, errors: [\"unauthorized\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/{kind}/{id}/can-comment\", auth: \"public\", permission: null, query: [], request: null, responses: { 200: \"CommentStanding\" }, errors: [\"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"content\", path: \"/moderation/held\", auth: \"staff\", permission: \"root:moderation:review\", query: [\"kind\", \"cursor\", \"limit\"], request: null, responses: { 200: \"HeldPage\" }, errors: [], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"content\", path: \"/moderation/{kind}/{id}/resolve\", auth: \"staff\", permission: \"root:moderation:review\", query: [], request: \"ResolveInput\", responses: { 200: \"ReviewOutcome\" }, errors: [\"conflict\", \"not_found\"], errorSets: [\"module:content\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"upload\", path: \"/presign\", auth: \"user\", permission: null, query: [], request: \"PresignBody\", responses: { 200: \"PresignReply\" }, errors: [\"conflict\", \"forbidden\", \"not_found\", \"quota_exceeded\", \"rate_limited\", \"too_large\", \"too_many_files\", \"type_not_allowed\"], errorSets: [\"module:upload\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"upload\", path: \"/parts\", auth: \"user\", permission: null, query: [], request: \"PartsBody\", responses: { 200: \"PartsReply\" }, errors: [\"forbidden\", \"not_found\"], errorSets: [\"module:upload\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"upload\", path: \"/parts/list\", auth: \"user\", permission: null, query: [], request: \"TicketBody\", responses: { 200: \"PartsReply\" }, errors: [\"forbidden\", \"not_found\"], errorSets: [\"module:upload\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"upload\", path: \"/complete\", auth: \"user\", permission: null, query: [], request: \"TicketBody\", responses: { 200: \"CompleteReply\" }, errors: [\"checksum_mismatch\", \"forbidden\", \"incomplete\", \"not_found\"], errorSets: [\"module:upload\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"upload\", path: \"/abort\", auth: \"user\", permission: null, query: [], request: \"TicketBody\", responses: { 204: null }, errors: [\"forbidden\", \"not_found\"], errorSets: [\"module:upload\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"upload\", path: \"/commit\", auth: \"user\", permission: null, query: [], request: \"CommitBody\", responses: { 200: \"CommitReply\" }, errors: [\"conflict\", \"forbidden\", \"image_too_small\", \"not_found\", \"not_uploaded\", \"quota_exceeded\", \"rate_limited\", \"too_large\", \"too_many_files\", \"type_not_allowed\"], errorSets: [\"module:upload\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"upload\", path: \"/frame\", auth: \"user\", permission: null, query: [\"kind\", \"id\", \"path\", \"t\", \"w\"], request: null, responses: { 200: \"image/jpeg\" }, errors: [\"forbidden\", \"not_found\"], errorSets: [\"module:upload\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"media\", path: \"/presets\", auth: \"open\", permission: null, query: [], request: null, responses: { 200: \"PresetRule[]\" }, errors: [], errorSets: [\"module:media\"] },\n { method: \"GET\", module: \"media\", path: \"/{kind}/{id}\", auth: \"public\", permission: null, query: [\"prefix\", \"offset\", \"limit\", \"download\", \"editor\"], request: null, responses: { 200: \"ReadResult\" }, errors: [], errorSets: [\"module:media\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"media\", path: \"/{kind}/{id}/hls/{path...}\", auth: \"public\", permission: null, query: [\"audio\", \"subs\"], request: null, responses: { 200: \"application/vnd.apple.mpegurl\" }, errors: [], errorSets: [\"module:media\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"codes\", path: \"/{code}\", auth: \"open\", permission: null, query: [\"lang\"], request: null, responses: { 200: \"Resolved\" }, errors: [\"gone\", \"not_found\"], errorSets: [\"module:codes\", \"request\"] },\n { method: \"GET\", module: \"taxonomy\", path: \"/nodes\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [\"kind\", \"state\", \"id\", \"slug\", \"language\", \"language_mode\", \"name_prefix\", \"q\", \"content_kind\", \"min_count\", \"sort\", \"cursor\", \"offset\", \"limit\"], request: null, responses: { 200: \"NodePage\" }, errors: [], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"taxonomy\", path: \"/nodes\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"NodeInput[]\", responses: { 201: \"Node[]\" }, errors: [\"conflict\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"taxonomy\", path: \"/nodes/{id}\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: null, responses: { 200: \"NodeDetail\" }, errors: [\"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"PATCH\", module: \"taxonomy\", path: \"/nodes/{id}\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"NodeUpdate\", responses: { 200: \"Node\" }, errors: [\"conflict\", \"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"taxonomy\", path: \"/nodes/{id}\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: null, responses: { 200: \"Node\" }, errors: [\"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"PUT\", module: \"taxonomy\", path: \"/nodes/{id}/names\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"Name[]\", responses: { 200: \"NodeDetail\" }, errors: [\"conflict\", \"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"taxonomy\", path: \"/nodes/{id}/names\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"Name[]\", responses: { 200: \"NodeDetail\" }, errors: [\"conflict\", \"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"taxonomy\", path: \"/nodes/{id}/names\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"Name[]\", responses: { 200: \"NodeDetail\" }, errors: [\"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"taxonomy\", path: \"/nodes/{id}/assignments\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [\"content_kind\", \"relation\", \"cursor\", \"limit\"], request: null, responses: { 200: \"AssignmentPage\" }, errors: [\"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"taxonomy\", path: \"/nodes/{id}/merge\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"MergeInput\", responses: { 200: \"MergeReport\" }, errors: [\"conflict\", \"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"taxonomy\", path: \"/edges\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"Edge[]\", responses: { 200: \"EdgesWritten\" }, errors: [\"conflict\", \"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"taxonomy\", path: \"/edges\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"Edge[]\", responses: { 200: \"EdgesWritten\" }, errors: [], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"taxonomy\", path: \"/assignments\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [\"suppress_counts\"], request: \"Assignment[]\", responses: { 200: \"AssignmentsWritten\" }, errors: [\"conflict\", \"not_found\"], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"taxonomy\", path: \"/assignments\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [\"suppress_counts\"], request: \"Assignment[]\", responses: { 200: \"AssignmentsWritten\" }, errors: [], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"taxonomy\", path: \"/effective\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: \"ContentRef[]\", responses: { 200: \"EffectiveTagsOf[]\" }, errors: [], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"GET\", module: \"taxonomy\", path: \"/counts\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [\"taxonomy_id\"], request: null, responses: { 200: \"Record<string, Count[]>\" }, errors: [], errorSets: [\"module:taxonomy\", \"auth\", \"request\"] },\n { method: \"POST\", module: \"taxonomy\", path: \"/counts/rebuild\", auth: \"staff\", permission: \"root:taxonomy:write\", query: [], request: null, responses: { 200: \"CountsRebuilt\" }, errors: [], errorSets: [\"module:taxonomy\", \"auth\"] },\n { method: \"GET\", module: \"notifications\", path: \"/inbox\", auth: \"user\", permission: null, query: [\"limit\", \"cursor\", \"unread\", \"dismissed\"], request: null, responses: { 200: \"Page\" }, errors: [], errorSets: [\"module:notifications\", \"auth\", \"request\"] },\n { method: \"PUT\", module: \"notifications\", path: \"/{id}/read\", auth: \"user\", permission: null, query: [], request: null, responses: { 200: \"Item\" }, errors: [\"not_found\"], errorSets: [\"module:notifications\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"notifications\", path: \"/{id}/read\", auth: \"user\", permission: null, query: [], request: null, responses: { 200: \"Item\" }, errors: [\"not_found\"], errorSets: [\"module:notifications\", \"auth\", \"request\"] },\n { method: \"PUT\", module: \"notifications\", path: \"/{id}/dismiss\", auth: \"user\", permission: null, query: [], request: null, responses: { 200: \"Item\" }, errors: [\"not_found\"], errorSets: [\"module:notifications\", \"auth\", \"request\"] },\n { method: \"DELETE\", module: \"notifications\", path: \"/{id}/dismiss\", auth: \"user\", permission: null, query: [], request: null, responses: { 200: \"Item\" }, errors: [\"not_found\"], errorSets: [\"module:notifications\", \"auth\", \"request\"] },\n] as const satisfies readonly ContentKitRoute[];\n\n// The codes every route of a kind answers, by set name.\nexport const CONTENTKIT_ERROR_SETS: Readonly<Record<string, readonly string[]>> = {\n \"auth\": [\"forbidden\", \"unauthorized\", \"unavailable\"],\n \"module:codes\": [\"internal_error\"],\n \"module:content\": [\"internal_error\", \"tenant_mismatch\"],\n \"module:media\": [\"internal_error\", \"not_found\", \"rate_limited\", \"unavailable\", \"upgrade_required\"],\n \"module:notifications\": [\"internal_error\"],\n \"module:taxonomy\": [\"internal_error\"],\n \"module:upload\": [\"internal_error\", \"unavailable\", \"upgrade_required\"],\n \"request\": [\"invalid_request\"],\n};\n"],"mappings":";AAiCA,IAAa,IAAoB;CAC/B;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAW,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,SAAS;EAAG,QAAQ,CAAC;EAAG,WAAW,CAAC,gBAAgB;CAAE;CACvL;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAU,MAAM;EAAU,YAAY;EAAM,OAAO;GAAC;GAAY;GAAQ;GAAS;EAAQ;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,SAAS;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAChP;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAgB,MAAM;EAAS,YAAY;EAAoB,OAAO;GAAC;GAAY;GAAS;GAAW;GAAK;GAAS;EAAQ;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,SAAS;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACpR;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAe,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,OAAO;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACzN;EAAE,QAAQ;EAAQ,QAAQ;EAAW,MAAM;EAAU,MAAM;EAAS,YAAY;EAAoB,OAAO,CAAC;EAAG,SAAS;EAAa,WAAW;GAAE,KAAK;GAAQ,KAAK;EAAO;EAAG,QAAQ;GAAC;GAAY;GAAa;EAAqB;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACzR;EAAE,QAAQ;EAAS,QAAQ;EAAW,MAAM;EAAe,MAAM;EAAS,YAAY;EAAoB,OAAO,CAAC;EAAG,SAAS;EAAa,WAAW;GAAE,KAAK;GAAQ,KAAK;EAAO;EAAG,QAAQ;GAAC;GAAY;GAAa;GAAuB;EAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC5S;EAAE,QAAQ;EAAU,QAAQ;EAAW,MAAM;EAAe,MAAM;EAAS,YAAY;EAAoB,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,KAAK;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACvO;EAAE,QAAQ;EAAQ,QAAQ;EAAW,MAAM;EAAuB,MAAM;EAAS,YAAY;EAAoB,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,OAAO;EAAG,QAAQ,CAAC,YAAY,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC3P;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAqB,MAAM;EAAS,YAAY;EAAoB,OAAO,CAAC;EAAG,SAAS;EAAc,WAAW,EAAE,KAAK,YAAY;EAAG,QAAQ,CAAC,kBAAkB,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC3Q;EAAE,QAAQ;EAAQ,QAAQ;EAAW,MAAM;EAAsB,MAAM;EAAS,YAAY;EAAoB,OAAO,CAAC;EAAG,SAAS;EAAc,WAAW,EAAE,KAAK,cAAc;EAAG,QAAQ,CAAC,kBAAkB,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC/Q;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAyB,MAAM;EAAU,YAAY;EAAM,OAAO;GAAC;GAAQ;GAAS;EAAQ;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,YAAY;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACjQ;EAAE,QAAQ;EAAQ,QAAQ;EAAW,MAAM;EAAyB,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAgB,WAAW;GAAE,KAAK;GAAW,KAAK;EAAU;EAAG,QAAQ;GAAC;GAAkB;GAAoB;GAAa;GAAuB;GAAa;GAAgB;EAAc;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC3W;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAoB,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC,SAAS,QAAQ;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,aAAa;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC1O;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAmB,MAAM;EAAS,YAAY;EAA0B,OAAO;GAAC;GAAgB;GAAU;GAAS;EAAQ;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,iBAAiB;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC1R;EAAE,QAAQ;EAAQ,QAAQ;EAAW,MAAM;EAA2B,MAAM;EAAS,YAAY;EAA0B,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,WAAW;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC7P;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAA2B,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC,SAAS,QAAQ;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,YAAY;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC3P;EAAE,QAAQ;EAAS,QAAQ;EAAW,MAAM;EAAmB,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAe,WAAW;GAAE,KAAK;GAAW,KAAK;EAAU;EAAG,QAAQ;GAAC;GAAkB;GAAoB;GAAY;GAAa;GAAuB;EAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACjV;EAAE,QAAQ;EAAU,QAAQ;EAAW,MAAM;EAAmB,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,KAAK;EAAG,QAAQ,CAAC,aAAa,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC3O;EAAE,QAAQ;EAAQ,QAAQ;EAAW,MAAM;EAAwB,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,iBAAiB;EAAG,QAAQ;GAAC;GAAa;GAAmB;GAAa;GAAgB;EAAc;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC7S;EAAE,QAAQ;EAAQ,QAAQ;EAAW,MAAM;EAA2B,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,iBAAiB;EAAG,QAAQ;GAAC;GAAa;GAAmB;GAAa;GAAgB;EAAc;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAChT;EAAE,QAAQ;EAAU,QAAQ;EAAW,MAAM;EAA4B,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,iBAAiB;EAAG,QAAQ;GAAC;GAAa;GAAmB;GAAa;GAAgB;EAAc;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACnT;EAAE,QAAQ;EAAQ,QAAQ;EAAW,MAAM;EAAqB,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,iBAAiB;EAAG,QAAQ;GAAC;GAAa;GAAmB;GAAa;GAAgB;EAAc;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC1S;EAAE,QAAQ;EAAQ,QAAQ;EAAW,MAAM;EAAwB,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,iBAAiB;EAAG,QAAQ;GAAC;GAAa;GAAmB;GAAa;GAAgB;EAAc;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC7S;EAAE,QAAQ;EAAU,QAAQ;EAAW,MAAM;EAAyB,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,iBAAiB;EAAG,QAAQ;GAAC;GAAa;GAAmB;GAAa;GAAgB;EAAc;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAChT;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAyB,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,iBAAiB;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC7O;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAc,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC,SAAS,QAAQ;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,iBAAiB;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACtO;EAAE,QAAQ;EAAQ,QAAQ;EAAW,MAAM;EAAyB,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,gBAAgB;EAAG,QAAQ;GAAC;GAAa;GAAa;EAAc;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACxQ;EAAE,QAAQ;EAAU,QAAQ;EAAW,MAAM;EAAyB,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,gBAAgB;EAAG,QAAQ;GAAC;GAAa;GAAmB;EAAc;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAChR;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAyB,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,gBAAgB;EAAG,QAAQ,CAAC,mBAAmB,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC/P;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAU,MAAM;EAAU,YAAY;EAAM,OAAO;GAAC;GAAY;GAAS;GAAQ;GAAS;EAAQ;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,SAAS;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACzP;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAgB,MAAM;EAAS,YAAY;EAAoB,OAAO;GAAC;GAAY;GAAS;GAAQ;GAAS;GAAK;GAAS;EAAQ;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,SAAS;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC1R;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAe,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,OAAO;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACzN;EAAE,QAAQ;EAAQ,QAAQ;EAAW,MAAM;EAAU,MAAM;EAAS,YAAY;EAAoB,OAAO,CAAC;EAAG,SAAS;EAAa,WAAW,EAAE,KAAK,OAAO;EAAG,QAAQ,CAAC,gBAAgB;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC9O;EAAE,QAAQ;EAAS,QAAQ;EAAW,MAAM;EAAe,MAAM;EAAS,YAAY;EAAoB,OAAO,CAAC;EAAG,SAAS;EAAc,WAAW,EAAE,KAAK,OAAO;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAChP;EAAE,QAAQ;EAAU,QAAQ;EAAW,MAAM;EAAe,MAAM;EAAS,YAAY;EAAoB,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,KAAK;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACvO;EAAE,QAAQ;EAAQ,QAAQ;EAAW,MAAM;EAAoB,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAY,WAAW,EAAE,KAAK,OAAO;EAAG,QAAQ;GAAC;GAAa;GAAa;GAAgB;EAAc;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAClR;EAAE,QAAQ;EAAQ,QAAQ;EAAW,MAAM;EAAsB,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAmB,WAAW,EAAE,KAAK,OAAO;EAAG,QAAQ;GAAC;GAAa;GAAa;EAAc;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACzQ;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAqB,MAAM;EAAS,YAAY;EAAoB,OAAO,CAAC;EAAG,SAAS;EAAc,WAAW,EAAE,KAAK,YAAY;EAAG,QAAQ,CAAC,kBAAkB,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC3Q;EAAE,QAAQ;EAAQ,QAAQ;EAAW,MAAM;EAAuB,MAAM;EAAS,YAAY;EAAoB,OAAO,CAAC;EAAG,SAAS;EAAmB,WAAW,EAAE,KAAK,aAAa;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAClQ;EAAE,QAAQ;EAAS,QAAQ;EAAW,MAAM;EAA6B,MAAM;EAAS,YAAY;EAAoB,OAAO,CAAC;EAAG,SAAS;EAAmB,WAAW,EAAE,KAAK,aAAa;EAAG,QAAQ,CAAC,kBAAkB,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC3R;EAAE,QAAQ;EAAU,QAAQ;EAAW,MAAM;EAA6B,MAAM;EAAS,YAAY;EAAoB,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,KAAK;EAAG,QAAQ,CAAC,mBAAmB,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACxQ;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAmC,MAAM;EAAS,YAAY;EAAoB,OAAO,CAAC;EAAG,SAAS;EAAc,WAAW,EAAE,KAAK,YAAY;EAAG,QAAQ,CAAC,kBAAkB,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACzR;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAiB,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC,SAAS,QAAQ;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,eAAe;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACvO;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAwB,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAY,WAAW,EAAE,KAAK,aAAa;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACjO;EAAE,QAAQ;EAAU,QAAQ;EAAW,MAAM;EAAwB,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,KAAK;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACtN;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAwB,MAAM;EAAS,YAAY;EAAqB,OAAO,CAAC,SAAS,QAAQ;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,eAAe;EAAG,QAAQ,CAAC,cAAc;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC5Q;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAA+B,MAAM;EAAS,YAAY;EAAqB,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,aAAa;EAAG,QAAQ,CAAC,aAAa,cAAc;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC7Q;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAA+B,MAAM;EAAS,YAAY;EAAqB,OAAO,CAAC;EAAG,SAAS;EAAY,WAAW,EAAE,KAAK,aAAa;EAAG,QAAQ,CAAC,cAAc;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACtQ;EAAE,QAAQ;EAAU,QAAQ;EAAW,MAAM;EAA+B,MAAM;EAAS,YAAY;EAAqB,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,KAAK;EAAG,QAAQ,CAAC,cAAc;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAC3P;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAA4B,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,kBAAkB;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACjP;EAAE,QAAQ;EAAO,QAAQ;EAAW,MAAM;EAAoB,MAAM;EAAS,YAAY;EAA0B,OAAO;GAAC;GAAQ;GAAU;EAAO;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,WAAW;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CACnQ;EAAE,QAAQ;EAAQ,QAAQ;EAAW,MAAM;EAAmC,MAAM;EAAS,YAAY;EAA0B,OAAO,CAAC;EAAG,SAAS;EAAgB,WAAW,EAAE,KAAK,gBAAgB;EAAG,QAAQ,CAAC,YAAY,WAAW;EAAG,WAAW;GAAC;GAAkB;GAAQ;EAAS;CAAE;CAChS;EAAE,QAAQ;EAAQ,QAAQ;EAAU,MAAM;EAAY,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAe,WAAW,EAAE,KAAK,eAAe;EAAG,QAAQ;GAAC;GAAY;GAAa;GAAa;GAAkB;GAAgB;GAAa;GAAkB;EAAkB;EAAG,WAAW;GAAC;GAAiB;GAAQ;EAAS;CAAE;CAClV;EAAE,QAAQ;EAAQ,QAAQ;EAAU,MAAM;EAAU,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAa,WAAW,EAAE,KAAK,aAAa;EAAG,QAAQ,CAAC,aAAa,WAAW;EAAG,WAAW;GAAC;GAAiB;GAAQ;EAAS;CAAE;CAC3O;EAAE,QAAQ;EAAQ,QAAQ;EAAU,MAAM;EAAe,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAc,WAAW,EAAE,KAAK,aAAa;EAAG,QAAQ,CAAC,aAAa,WAAW;EAAG,WAAW;GAAC;GAAiB;GAAQ;EAAS;CAAE;CACjP;EAAE,QAAQ;EAAQ,QAAQ;EAAU,MAAM;EAAa,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAc,WAAW,EAAE,KAAK,gBAAgB;EAAG,QAAQ;GAAC;GAAqB;GAAa;GAAc;EAAW;EAAG,WAAW;GAAC;GAAiB;GAAQ;EAAS;CAAE;CACrR;EAAE,QAAQ;EAAQ,QAAQ;EAAU,MAAM;EAAU,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAc,WAAW,EAAE,KAAK,KAAK;EAAG,QAAQ,CAAC,aAAa,WAAW;EAAG,WAAW;GAAC;GAAiB;GAAQ;EAAS;CAAE;CACpO;EAAE,QAAQ;EAAQ,QAAQ;EAAU,MAAM;EAAW,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAc,WAAW,EAAE,KAAK,cAAc;EAAG,QAAQ;GAAC;GAAY;GAAa;GAAmB;GAAa;GAAgB;GAAkB;GAAgB;GAAa;GAAkB;EAAkB;EAAG,WAAW;GAAC;GAAiB;GAAQ;EAAS;CAAE;CAClX;EAAE,QAAQ;EAAO,QAAQ;EAAU,MAAM;EAAU,MAAM;EAAQ,YAAY;EAAM,OAAO;GAAC;GAAQ;GAAM;GAAQ;GAAK;EAAG;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,aAAa;EAAG,QAAQ,CAAC,aAAa,WAAW;EAAG,WAAW;GAAC;GAAiB;GAAQ;EAAS;CAAE;CACjQ;EAAE,QAAQ;EAAO,QAAQ;EAAS,MAAM;EAAY,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,eAAe;EAAG,QAAQ,CAAC;EAAG,WAAW,CAAC,cAAc;CAAE;CAC1L;EAAE,QAAQ;EAAO,QAAQ;EAAS,MAAM;EAAgB,MAAM;EAAU,YAAY;EAAM,OAAO;GAAC;GAAU;GAAU;GAAS;GAAY;EAAQ;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,aAAa;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAgB;GAAQ;EAAS;CAAE;CAClQ;EAAE,QAAQ;EAAO,QAAQ;EAAS,MAAM;EAA8B,MAAM;EAAU,YAAY;EAAM,OAAO,CAAC,SAAS,MAAM;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,gCAAgC;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAgB;GAAQ;EAAS;CAAE;CACjQ;EAAE,QAAQ;EAAO,QAAQ;EAAS,MAAM;EAAW,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC,MAAM;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,WAAW;EAAG,QAAQ,CAAC,QAAQ,WAAW;EAAG,WAAW,CAAC,gBAAgB,SAAS;CAAE;CACzN;EAAE,QAAQ;EAAO,QAAQ;EAAY,MAAM;EAAU,MAAM;EAAS,YAAY;EAAuB,OAAO;GAAC;GAAQ;GAAS;GAAM;GAAQ;GAAY;GAAiB;GAAe;GAAK;GAAgB;GAAa;GAAQ;GAAU;GAAU;EAAO;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,WAAW;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAmB;GAAQ;EAAS;CAAE;CAC/W;EAAE,QAAQ;EAAQ,QAAQ;EAAY,MAAM;EAAU,MAAM;EAAS,YAAY;EAAuB,OAAO,CAAC;EAAG,SAAS;EAAe,WAAW,EAAE,KAAK,SAAS;EAAG,QAAQ,CAAC,UAAU;EAAG,WAAW;GAAC;GAAmB;GAAQ;EAAS;CAAE;CACjP;EAAE,QAAQ;EAAO,QAAQ;EAAY,MAAM;EAAe,MAAM;EAAS,YAAY;EAAuB,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,aAAa;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAmB;GAAQ;EAAS;CAAE;CACjP;EAAE,QAAQ;EAAS,QAAQ;EAAY,MAAM;EAAe,MAAM;EAAS,YAAY;EAAuB,OAAO,CAAC;EAAG,SAAS;EAAc,WAAW,EAAE,KAAK,OAAO;EAAG,QAAQ,CAAC,YAAY,WAAW;EAAG,WAAW;GAAC;GAAmB;GAAQ;EAAS;CAAE;CACjQ;EAAE,QAAQ;EAAU,QAAQ;EAAY,MAAM;EAAe,MAAM;EAAS,YAAY;EAAuB,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,OAAO;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAmB;GAAQ;EAAS;CAAE;CAC9O;EAAE,QAAQ;EAAO,QAAQ;EAAY,MAAM;EAAqB,MAAM;EAAS,YAAY;EAAuB,OAAO,CAAC;EAAG,SAAS;EAAU,WAAW,EAAE,KAAK,aAAa;EAAG,QAAQ,CAAC,YAAY,WAAW;EAAG,WAAW;GAAC;GAAmB;GAAQ;EAAS;CAAE;CACvQ;EAAE,QAAQ;EAAQ,QAAQ;EAAY,MAAM;EAAqB,MAAM;EAAS,YAAY;EAAuB,OAAO,CAAC;EAAG,SAAS;EAAU,WAAW,EAAE,KAAK,aAAa;EAAG,QAAQ,CAAC,YAAY,WAAW;EAAG,WAAW;GAAC;GAAmB;GAAQ;EAAS;CAAE;CACxQ;EAAE,QAAQ;EAAU,QAAQ;EAAY,MAAM;EAAqB,MAAM;EAAS,YAAY;EAAuB,OAAO,CAAC;EAAG,SAAS;EAAU,WAAW,EAAE,KAAK,aAAa;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAmB;GAAQ;EAAS;CAAE;CAC9P;EAAE,QAAQ;EAAO,QAAQ;EAAY,MAAM;EAA2B,MAAM;EAAS,YAAY;EAAuB,OAAO;GAAC;GAAgB;GAAY;GAAU;EAAO;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,iBAAiB;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAmB;GAAQ;EAAS;CAAE;CAC9S;EAAE,QAAQ;EAAQ,QAAQ;EAAY,MAAM;EAAqB,MAAM;EAAS,YAAY;EAAuB,OAAO,CAAC;EAAG,SAAS;EAAc,WAAW,EAAE,KAAK,cAAc;EAAG,QAAQ,CAAC,YAAY,WAAW;EAAG,WAAW;GAAC;GAAmB;GAAQ;EAAS;CAAE;CAC7Q;EAAE,QAAQ;EAAQ,QAAQ;EAAY,MAAM;EAAU,MAAM;EAAS,YAAY;EAAuB,OAAO,CAAC;EAAG,SAAS;EAAU,WAAW,EAAE,KAAK,eAAe;EAAG,QAAQ,CAAC,YAAY,WAAW;EAAG,WAAW;GAAC;GAAmB;GAAQ;EAAS;CAAE;CAC/P;EAAE,QAAQ;EAAU,QAAQ;EAAY,MAAM;EAAU,MAAM;EAAS,YAAY;EAAuB,OAAO,CAAC;EAAG,SAAS;EAAU,WAAW,EAAE,KAAK,eAAe;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAmB;GAAQ;EAAS;CAAE;CAC1O;EAAE,QAAQ;EAAQ,QAAQ;EAAY,MAAM;EAAgB,MAAM;EAAS,YAAY;EAAuB,OAAO,CAAC,iBAAiB;EAAG,SAAS;EAAgB,WAAW,EAAE,KAAK,qBAAqB;EAAG,QAAQ,CAAC,YAAY,WAAW;EAAG,WAAW;GAAC;GAAmB;GAAQ;EAAS;CAAE;CAClS;EAAE,QAAQ;EAAU,QAAQ;EAAY,MAAM;EAAgB,MAAM;EAAS,YAAY;EAAuB,OAAO,CAAC,iBAAiB;EAAG,SAAS;EAAgB,WAAW,EAAE,KAAK,qBAAqB;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAmB;GAAQ;EAAS;CAAE;CAC7Q;EAAE,QAAQ;EAAQ,QAAQ;EAAY,MAAM;EAAc,MAAM;EAAS,YAAY;EAAuB,OAAO,CAAC;EAAG,SAAS;EAAgB,WAAW,EAAE,KAAK,oBAAoB;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAmB;GAAQ;EAAS;CAAE;CACvP;EAAE,QAAQ;EAAO,QAAQ;EAAY,MAAM;EAAW,MAAM;EAAS,YAAY;EAAuB,OAAO,CAAC,aAAa;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,0BAA0B;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAmB;GAAQ;EAAS;CAAE;CAC5P;EAAE,QAAQ;EAAQ,QAAQ;EAAY,MAAM;EAAmB,MAAM;EAAS,YAAY;EAAuB,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,gBAAgB;EAAG,QAAQ,CAAC;EAAG,WAAW,CAAC,mBAAmB,MAAM;CAAE;CACnO;EAAE,QAAQ;EAAO,QAAQ;EAAiB,MAAM;EAAU,MAAM;EAAQ,YAAY;EAAM,OAAO;GAAC;GAAS;GAAU;GAAU;EAAW;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,OAAO;EAAG,QAAQ,CAAC;EAAG,WAAW;GAAC;GAAwB;GAAQ;EAAS;CAAE;CAC3P;EAAE,QAAQ;EAAO,QAAQ;EAAiB,MAAM;EAAc,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,OAAO;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAwB;GAAQ;EAAS;CAAE;CAClO;EAAE,QAAQ;EAAU,QAAQ;EAAiB,MAAM;EAAc,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,OAAO;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAwB;GAAQ;EAAS;CAAE;CACrO;EAAE,QAAQ;EAAO,QAAQ;EAAiB,MAAM;EAAiB,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,OAAO;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAwB;GAAQ;EAAS;CAAE;CACrO;EAAE,QAAQ;EAAU,QAAQ;EAAiB,MAAM;EAAiB,MAAM;EAAQ,YAAY;EAAM,OAAO,CAAC;EAAG,SAAS;EAAM,WAAW,EAAE,KAAK,OAAO;EAAG,QAAQ,CAAC,WAAW;EAAG,WAAW;GAAC;GAAwB;GAAQ;EAAS;CAAE;AAC1O"}
@@ -309,6 +309,22 @@ export interface InlineImage {
309
309
  ref: string;
310
310
  url: string | null;
311
311
  }
312
+ export interface Item {
313
+ id: string;
314
+ recipient: Recipient;
315
+ origin: Origin;
316
+ kind: string;
317
+ data: unknown;
318
+ created_at: string;
319
+ status?: string;
320
+ action_requested?: boolean;
321
+ severity?: string;
322
+ read_at: string | null;
323
+ dismissed_at: string | null;
324
+ resolved_at: string | null;
325
+ updated_at: string;
326
+ revision: number;
327
+ }
312
328
  export interface MergeInput {
313
329
  into_taxonomy_id: string;
314
330
  }
@@ -403,6 +419,16 @@ export interface Op {
403
419
  force?: boolean;
404
420
  takedown?: boolean;
405
421
  }
422
+ export interface Origin {
423
+ system: string;
424
+ scope: string;
425
+ id: string;
426
+ subject?: string;
427
+ }
428
+ export interface Page {
429
+ items: Item[];
430
+ next_cursor?: string;
431
+ }
406
432
  export interface PartBody {
407
433
  number: number;
408
434
  size: number;
@@ -584,6 +610,10 @@ export interface ReadResult {
584
610
  uploads?: UploadRule[];
585
611
  files: FileInfo[];
586
612
  }
613
+ export interface Recipient {
614
+ audience: string;
615
+ id: string;
616
+ }
587
617
  export interface RefBody {
588
618
  kind: string;
589
619
  id: string;