mdmaid-desk 0.1.31 → 0.1.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -32,6 +32,8 @@ The repository contains the first usable shared-service vertical slice:
32
32
  - Server-Sent Event refreshes for both clients;
33
33
  - explicit revision-bound human review requests with durable request/response
34
34
  text and conditional web/TUI actions;
35
+ - durable feedback on every document, including general notes, selected
36
+ Markdown text, and native diff file/line/range comments;
35
37
  - first-class change-review documents with a dedicated terminal Changes space
36
38
  and revision-bound implementation decisions;
37
39
  - atomic, user-only daemon discovery state so the TUI reuses a running service;
@@ -39,10 +41,10 @@ The repository contains the first usable shared-service vertical slice:
39
41
  - daemon-first CLI writes with daemonless SQLite fallback;
40
42
  - explicit start, status, stop, login-service install, and uninstall lifecycle;
41
43
  - stable port-80 default with explicit alternate ports for isolated testing;
42
- - `workspace`, `validate`, `register`, `import`, `review`, `list`, `web`, `tui`,
43
- and `daemon` commands.
44
+ - `workspace`, `validate`, `register`, `import`, `review`, `feedback`, `list`,
45
+ `web`, `tui`, and `daemon` commands.
44
46
 
45
- Stdin import, comments, and editing remain planned milestones. Document
47
+ Stdin import and editing remain planned milestones. Document
46
48
  registration works without a daemon, but automatically
47
49
  uses its authenticated API when one is running. `web` reuses a daemon or runs
48
50
  the service in the foreground; `tui` attaches to it when present and uses a
@@ -60,6 +62,7 @@ session-scoped embedded loopback service otherwise.
60
62
  - local CLI and API access;
61
63
  - attention metadata;
62
64
  - explicit local human-review requests and their durable responses;
65
+ - document feedback with stable IDs, routes, API reads, and CLI reads;
63
66
  - presentation security boundaries.
64
67
 
65
68
  It does not own:
@@ -215,6 +218,17 @@ mdmaid-desk review respond review-0123456789abcdefabcd \
215
218
  --message "Add a restore verification step."
216
219
  ```
217
220
 
221
+ Feedback does not require a review request and never changes decision state.
222
+ Agents can retrieve a submission by stable ID or enumerate a document revision:
223
+
224
+ ```bash
225
+ mdmaid-desk feedback show feedback-0123456789abcdefabcd --json
226
+ mdmaid-desk feedback list \
227
+ --document doc-0123456789abcdefabcd \
228
+ --revision 3 \
229
+ --json
230
+ ```
231
+
218
232
  Import a durable copy when the original file may disappear (for example, an
219
233
  agent-run file in a temporary worktree):
220
234
 
@@ -381,6 +395,12 @@ Pending review requests add `r` for the Actions view and `y`, `c`, or `x` for
381
395
  Approve, Request changes, or Reject. The response composer uses `Enter` for a
382
396
  newline, `Ctrl-D` to submit, and `Esc` to cancel.
383
397
 
398
+ Feedback remains available whether or not a decision is pending. In a document
399
+ reader, use `[`/`]` to choose a source row, `f` to comment on it, `g` for a
400
+ general note, and `s` to submit. Native diffs use `f` for a line/range and `t`
401
+ for a file comment. The browser exposes the same operations through text
402
+ selection and visible `+` controls.
403
+
384
404
  Press `c` from the terminal queue to switch between Docs and Change reviews.
385
405
  This content mode is independent from the Actions filter, so “Waiting for you”
386
406
  can narrow either mode.
@@ -421,13 +441,11 @@ and press `f` to comment on a same-side range. Use `t` to add file feedback and
421
441
  `z` to undo the most recent unsent note. In the browser, click a visible `+` or
422
442
  Shift-click another same-side line to select a range. Anchored comments appear
423
443
  inline beside the related diff and in the feedback summary. They become durable
424
- structured response items when Approve or Request Changes
425
- is submitted, alongside a separate general note. Approval records them as
426
- non-blocking comments. Browser drafts survive reload and can be edited or
427
- removed before submission. `review wait --json` returns their file paths,
428
- stable hunk IDs, optional line, range end, and side, kinds, and messages. Open
429
- notes prevent accidental Reject or
430
- Supersede actions. The review surface is intentionally read-only:
444
+ structured feedback when sent directly. If a decision is pending, the same
445
+ draft can be stored atomically with that decision. Browser drafts survive
446
+ reload and can be edited or removed before submission. Feedback has its own
447
+ stable `/f/:id` route and can be fetched through the API or `feedback` CLI.
448
+ The review surface is intentionally read-only:
431
449
  staging, reverting, or editing would invalidate the frozen snapshot being
432
450
  approved. Change Reviews with no native diff or with parser safety warnings
433
451
  cannot be approved; the human can still Request Changes or Reject them.
@@ -481,6 +499,7 @@ Document registration and presentation never imply workflow approval.
481
499
 
482
500
  - [Architecture and roadmap](docs/ARCHITECTURE.md)
483
501
  - [Human review requests](docs/REVIEW_REQUESTS.md)
502
+ - [Document feedback](docs/DOCUMENT_FEEDBACK.md)
484
503
  - [Releasing and distribution](docs/RELEASING.md)
485
504
  - [Security policy](SECURITY.md)
486
505
  - [Contributing](CONTRIBUTING.md)
@@ -1,5 +1,5 @@
1
1
  import type { ContentScope } from "./domain.js";
2
- import type { BulkDocumentResult, DocumentAction, DocumentImport, DocumentRegistration, HealthData, PublicDocument, PublicProject, PublicRepository, PublicReviewRequest, PublicSpace, PublicSpaceMatcher, PublicWorkspace, PublicWorkspaceReconciliation, TerminalRenderPreferences, TerminalRender, WebRender, ReviewRequestRegistration, ReviewRequestResponse, ReviewStatus, WorkspaceRegistration, WorkspaceReconciliationRequest } from "./api-types.js";
2
+ import type { BulkDocumentResult, DocumentAction, DocumentImport, DocumentRegistration, FeedbackSubmissionRegistration, HealthData, PublicDocument, PublicFeedbackPage, PublicFeedbackSubmission, PublicProject, PublicRepository, PublicReviewRequest, PublicSpace, PublicSpaceMatcher, PublicWorkspace, PublicWorkspaceReconciliation, TerminalRenderPreferences, TerminalRender, WebRender, ReviewRequestRegistration, ReviewRequestResponse, ReviewStatus, WorkspaceRegistration, WorkspaceReconciliationRequest } from "./api-types.js";
3
3
  import type { MermaidValidationReport } from "./mermaid-validation.js";
4
4
  export declare class DeskApiError extends Error {
5
5
  readonly status: number;
@@ -52,6 +52,14 @@ export declare class DeskApiClient {
52
52
  getReviewRequest(id: string, scope?: ContentScope): Promise<PublicReviewRequest>;
53
53
  createReviewRequest(input: ReviewRequestRegistration, scope?: ContentScope): Promise<PublicReviewRequest>;
54
54
  respondToReviewRequest(id: string, input: ReviewRequestResponse, scope?: ContentScope): Promise<PublicReviewRequest>;
55
+ createFeedback(input: FeedbackSubmissionRegistration, scope?: ContentScope): Promise<PublicFeedbackSubmission>;
56
+ getFeedback(id: string, scope?: ContentScope): Promise<PublicFeedbackSubmission>;
57
+ listFeedback(input: {
58
+ documentId: string;
59
+ documentRevision?: number;
60
+ cursor?: string;
61
+ limit?: number;
62
+ }, scope?: ContentScope): Promise<PublicFeedbackPage>;
55
63
  renderDocument(id: string, target: "terminal", width?: number, preferences?: TerminalRenderPreferences, scope?: ContentScope): Promise<TerminalRender>;
56
64
  renderDocument(id: string, target: "web", width?: number, preferences?: undefined, scope?: ContentScope): Promise<WebRender>;
57
65
  act(id: string, action: DocumentAction, scope?: ContentScope): Promise<PublicDocument>;
@@ -67,3 +75,4 @@ export declare class DeskApiClient {
67
75
  subscribeCatalog(listener: (event: CatalogEvent) => void, options?: CatalogSubscriptionOptions): Promise<void>;
68
76
  }
69
77
  export declare function isPublicReviewRequest(value: unknown): value is PublicReviewRequest;
78
+ export declare function isPublicFeedbackSubmission(value: unknown): value is PublicFeedbackSubmission;
@@ -240,6 +240,41 @@ export class DeskApiClient {
240
240
  }
241
241
  return value;
242
242
  }
243
+ async createFeedback(input, scope = {}) {
244
+ const value = await this.#request(withScope("/api/v1/feedback", scope), {
245
+ method: "POST",
246
+ body: input,
247
+ });
248
+ if (!isPublicFeedbackSubmission(value)) {
249
+ throw new Error("Daemon returned an invalid feedback submission");
250
+ }
251
+ return value;
252
+ }
253
+ async getFeedback(id, scope = {}) {
254
+ assertFeedbackId(id);
255
+ const value = await this.#request(withScope(`/api/v1/feedback/${encodeURIComponent(id)}`, scope));
256
+ if (!isPublicFeedbackSubmission(value)) {
257
+ throw new Error("Daemon returned an invalid feedback submission");
258
+ }
259
+ return value;
260
+ }
261
+ async listFeedback(input, scope = {}) {
262
+ assertDocumentId(input.documentId);
263
+ const query = new URLSearchParams({ document: input.documentId });
264
+ if (input.documentRevision !== undefined) {
265
+ query.set("revision", String(input.documentRevision));
266
+ }
267
+ if (input.cursor !== undefined)
268
+ query.set("cursor", input.cursor);
269
+ if (input.limit !== undefined)
270
+ query.set("limit", String(input.limit));
271
+ addScope(query, scope);
272
+ const value = await this.#request(`/api/v1/feedback?${query.toString()}`);
273
+ if (!isPublicFeedbackPage(value)) {
274
+ throw new Error("Daemon returned an invalid feedback page");
275
+ }
276
+ return value;
277
+ }
243
278
  async renderDocument(id, target, width = 100, preferences = {}, scope = {}) {
244
279
  assertDocumentId(id);
245
280
  if (!Number.isSafeInteger(width) || width < 20 || width > 1_000) {
@@ -512,6 +547,9 @@ export function isPublicReviewRequest(value) {
512
547
  (value.response.items === undefined ||
513
548
  (Array.isArray(value.response.items) &&
514
549
  value.response.items.every(isReviewFeedbackItem))) &&
550
+ (value.response.feedbackId === undefined ||
551
+ (typeof value.response.feedbackId === "string" &&
552
+ /^feedback-[a-f0-9]{20}$/.test(value.response.feedbackId))) &&
515
553
  typeof value.response.createdAt === "string");
516
554
  return (typeof value.id === "string" &&
517
555
  /^review-[a-f0-9]{20}$/.test(value.id) &&
@@ -579,6 +617,9 @@ function isWebRender(value) {
579
617
  return (isRecord(value) &&
580
618
  value.target === "web" &&
581
619
  typeof value.content === "string" &&
620
+ typeof value.sourceWitness === "string" &&
621
+ /^witness-[a-f0-9]{64}$/.test(value.sourceWitness) &&
622
+ isMarkdownSourceMap(value.sourceMap) &&
582
623
  (value.changeReview === undefined || isChangeReviewDiff(value.changeReview)) &&
583
624
  isPublicDocument(value.document));
584
625
  }
@@ -589,9 +630,83 @@ function isTerminalRender(value) {
589
630
  typeof value.backend === "string" &&
590
631
  Array.isArray(value.warnings) &&
591
632
  value.warnings.every((warning) => typeof warning === "string") &&
633
+ typeof value.sourceWitness === "string" &&
634
+ /^witness-[a-f0-9]{64}$/.test(value.sourceWitness) &&
635
+ isMarkdownSourceMap(value.sourceMap) &&
592
636
  (value.changeReview === undefined || isChangeReviewDiff(value.changeReview)) &&
593
637
  isPublicDocument(value.document));
594
638
  }
639
+ export function isPublicFeedbackSubmission(value) {
640
+ return isRecord(value) &&
641
+ typeof value.id === "string" &&
642
+ /^feedback-[a-f0-9]{20}$/.test(value.id) &&
643
+ typeof value.documentId === "string" &&
644
+ isDocumentId(value.documentId) &&
645
+ isInteger(value.documentRevision) &&
646
+ (value.generalMessage === undefined || typeof value.generalMessage === "string") &&
647
+ Array.isArray(value.comments) &&
648
+ value.comments.every(isFeedbackComment) &&
649
+ (value.reviewRequestId === undefined ||
650
+ (typeof value.reviewRequestId === "string" &&
651
+ /^review-[a-f0-9]{20}$/.test(value.reviewRequestId))) &&
652
+ typeof value.createdAt === "string" &&
653
+ value.route === `/f/${value.id}`;
654
+ }
655
+ function isPublicFeedbackPage(value) {
656
+ return isRecord(value) &&
657
+ Array.isArray(value.items) &&
658
+ value.items.every(isPublicFeedbackSubmission) &&
659
+ (value.nextCursor === undefined || typeof value.nextCursor === "string");
660
+ }
661
+ function isFeedbackComment(value) {
662
+ return isRecord(value) &&
663
+ typeof value.id === "string" &&
664
+ /^(?:comment|feedback)-[a-f0-9]{20}$/.test(value.id) &&
665
+ (value.intent === "feedback" || value.intent === "todo") &&
666
+ typeof value.message === "string" &&
667
+ isFeedbackAnchor(value.anchor);
668
+ }
669
+ function isFeedbackAnchor(value) {
670
+ if (!isRecord(value))
671
+ return false;
672
+ if (value.kind === "markdown-v1") {
673
+ return isSourcePoint(value.start) &&
674
+ isSourcePoint(value.end) &&
675
+ typeof value.exact === "string" &&
676
+ typeof value.prefix === "string" &&
677
+ typeof value.suffix === "string";
678
+ }
679
+ if (value.kind === "diff-file-v1")
680
+ return typeof value.path === "string";
681
+ return value.kind === "diff-lines-v1" &&
682
+ typeof value.path === "string" &&
683
+ typeof value.hunkId === "string" &&
684
+ (value.side === "old" || value.side === "new") &&
685
+ isInteger(value.line) &&
686
+ (value.endLine === undefined || isInteger(value.endLine));
687
+ }
688
+ function isMarkdownSourceMap(value) {
689
+ return isRecord(value) &&
690
+ value.version === 1 &&
691
+ value.coordinateSystem === "utf16-code-units" &&
692
+ isInteger(value.sourceLength) &&
693
+ Array.isArray(value.segments) &&
694
+ value.segments.every((segment) => isRecord(segment) &&
695
+ typeof segment.ref === "string" &&
696
+ typeof segment.blockRef === "string" &&
697
+ typeof segment.text === "string" &&
698
+ isSourcePoint(segment.sourceStart) &&
699
+ isSourcePoint(segment.sourceEnd) &&
700
+ (segment.mapping === "identity" || segment.mapping === "atomic")) &&
701
+ Array.isArray(value.logicalLines) &&
702
+ Array.isArray(value.exclusions);
703
+ }
704
+ function isSourcePoint(value) {
705
+ return isRecord(value) &&
706
+ isInteger(value.offset) &&
707
+ isInteger(value.line) &&
708
+ isInteger(value.column);
709
+ }
595
710
  function isErrorEnvelope(value) {
596
711
  return (isRecord(value) &&
597
712
  isRecord(value.error) &&
@@ -689,6 +804,11 @@ function assertReviewRequestId(id) {
689
804
  throw new Error("invalid review request id");
690
805
  }
691
806
  }
807
+ function assertFeedbackId(id) {
808
+ if (!/^feedback-[a-f0-9]{20}$/.test(id)) {
809
+ throw new Error("invalid feedback id");
810
+ }
811
+ }
692
812
  function assertSpaceId(id) {
693
813
  if (!/^[a-z0-9][a-z0-9-]{0,63}$/.test(id)) {
694
814
  throw new Error("invalid Space id");
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- import type { Attention, DocumentKind, ReadingStatus, ReviewKind, ReviewFeedbackItem, ReviewOutcome, ReviewRequest, ReviewStatus, RepositoryInventoryItem, Space, SpaceMatcher } from "./domain.js";
1
+ import type { Attention, DocumentKind, FeedbackSubmission, ReadingStatus, ReviewKind, ReviewFeedbackItem, ReviewOutcome, ReviewRequest, ReviewStatus, RepositoryInventoryItem, Space, SpaceMatcher } from "./domain.js";
2
+ import type { MarkdownSourceMapV1 } from "mdmaid";
3
+ import type { CreateFeedbackInput, FeedbackPage } from "./catalog.js";
2
4
  import type { ChangeReviewDiff } from "./change-review.js";
3
5
  export type { Attention, DocumentKind, ReadingStatus, ReviewKind, ReviewFeedbackItem, ReviewOutcome, ReviewStatus, };
4
6
  export type { ChangeReviewDiff } from "./change-review.js";
@@ -80,6 +82,9 @@ export interface DocumentRegistration {
80
82
  }
81
83
  export type DocumentImport = DocumentRegistration;
82
84
  export type PublicReviewRequest = ReviewRequest;
85
+ export type PublicFeedbackSubmission = FeedbackSubmission;
86
+ export type FeedbackSubmissionRegistration = CreateFeedbackInput;
87
+ export type PublicFeedbackPage = FeedbackPage;
83
88
  export interface ReviewRequestRegistration {
84
89
  documentId: string;
85
90
  documentRevision?: number;
@@ -90,6 +95,7 @@ export interface ReviewRequestResponse {
90
95
  outcome: ReviewOutcome;
91
96
  message: string;
92
97
  items?: ReviewFeedbackItem[];
98
+ feedback?: FeedbackSubmissionRegistration;
93
99
  }
94
100
  export interface HealthData {
95
101
  service: "mdmaid.desk";
@@ -106,6 +112,8 @@ export interface WebRender {
106
112
  document: PublicDocument;
107
113
  target: "web";
108
114
  content: string;
115
+ sourceWitness: string;
116
+ sourceMap: MarkdownSourceMapV1;
109
117
  changeReview?: ChangeReviewDiff;
110
118
  }
111
119
  export interface TerminalRender {
@@ -114,6 +122,8 @@ export interface TerminalRender {
114
122
  content: string;
115
123
  backend: string;
116
124
  warnings: string[];
125
+ sourceWitness: string;
126
+ sourceMap: MarkdownSourceMapV1;
117
127
  changeReview?: ChangeReviewDiff;
118
128
  }
119
129
  export type DocumentRender = WebRender | TerminalRender;
@@ -1 +1 @@
1
- {"version":3,"file":"api-types.js","sourceRoot":"","sources":["../src/api-types.ts"],"names":[],"mappings":"AAoDA,MAAM,UAAU,oBAAoB,CAClC,OAAkC;IAElC,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"api-types.js","sourceRoot":"","sources":["../src/api-types.ts"],"names":[],"mappings":"AA0DA,MAAM,UAAU,oBAAoB,CAClC,OAAkC;IAElC,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;AAC9D,CAAC"}
package/dist/catalog.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { type Attention, type ContentScope, type Document, type DocumentFilters, type DocumentKind, type RepositoryInventoryItem, type ReviewKind, type ReviewFeedbackItem, type ReviewOutcome, type ReviewRequest, type ReviewRequestFilters, type Space, type Workspace } from "./domain.js";
2
- export type { Attention, Document, DocumentFilters, DocumentKind, DocumentSourceLink, DocumentStorage, ContentScope, ReadingStatus, ReviewKind, ReviewFeedbackItem, ReviewOutcome, ReviewRequest, ReviewRequestFilters, ReviewResponse, ReviewStatus, Workspace, Project, RepositoryInventoryItem, Space, SpaceMatcher, } from "./domain.js";
1
+ import { type Attention, type ContentScope, type Document, type DocumentFilters, type DocumentKind, type DiffFileFeedbackAnchor, type DiffLinesFeedbackAnchor, type FeedbackCommentIntent, type FeedbackSubmission, type RepositoryInventoryItem, type ReviewKind, type ReviewFeedbackItem, type ReviewOutcome, type ReviewRequest, type ReviewRequestFilters, type Space, type Workspace } from "./domain.js";
2
+ export type { Attention, Document, DocumentFilters, DocumentKind, DocumentSourceLink, DocumentStorage, FeedbackAnchor, FeedbackComment, FeedbackCommentIntent, FeedbackSubmission, ContentScope, ReadingStatus, ReviewKind, ReviewFeedbackItem, ReviewOutcome, ReviewRequest, ReviewRequestFilters, ReviewResponse, ReviewStatus, Workspace, Project, RepositoryInventoryItem, Space, SpaceMatcher, } from "./domain.js";
3
3
  export declare const CATALOG_SCHEMA_VERSION = 1;
4
4
  export interface CatalogOptions {
5
5
  maxDocumentBytes?: number;
@@ -67,6 +67,43 @@ export interface RespondToReviewRequestInput {
67
67
  outcome: ReviewOutcome;
68
68
  message: string;
69
69
  items?: ReviewFeedbackItem[];
70
+ feedback?: CreateFeedbackInput;
71
+ }
72
+ export interface MarkdownFeedbackSelectionInput {
73
+ kind: "markdown-selection-v1";
74
+ start: {
75
+ ref: string;
76
+ offset: number;
77
+ };
78
+ end: {
79
+ ref: string;
80
+ offset: number;
81
+ };
82
+ }
83
+ export type FeedbackAnchorInput = MarkdownFeedbackSelectionInput | DiffFileFeedbackAnchor | DiffLinesFeedbackAnchor;
84
+ export interface CreateFeedbackCommentInput {
85
+ id: string;
86
+ intent: FeedbackCommentIntent;
87
+ anchor: FeedbackAnchorInput;
88
+ message: string;
89
+ }
90
+ export interface CreateFeedbackInput {
91
+ id: string;
92
+ documentId: string;
93
+ documentRevision: number;
94
+ sourceWitness?: string;
95
+ generalMessage?: string;
96
+ comments: CreateFeedbackCommentInput[];
97
+ }
98
+ export interface ListFeedbackInput {
99
+ documentId: string;
100
+ documentRevision?: number;
101
+ cursor?: string;
102
+ limit?: number;
103
+ }
104
+ export interface FeedbackPage {
105
+ items: FeedbackSubmission[];
106
+ nextCursor?: string;
70
107
  }
71
108
  export interface DocumentSource {
72
109
  content: string;
@@ -101,6 +138,9 @@ export declare class LinkedSourceUnavailableError extends Error {
101
138
  export declare class ReviewConflictError extends Error {
102
139
  constructor(message: string);
103
140
  }
141
+ export declare class FeedbackConflictError extends Error {
142
+ constructor(message: string);
143
+ }
104
144
  export declare class SpaceNotFoundError extends Error {
105
145
  readonly spaceId: string;
106
146
  constructor(spaceId: string);
@@ -129,6 +169,10 @@ export declare class Catalog {
129
169
  listWorkspaces(scope?: ContentScope): Workspace[];
130
170
  listDocuments(filters?: DocumentFilters, scope?: ContentScope): Document[];
131
171
  getDocument(id: string, scope?: ContentScope): Document | undefined;
172
+ getFeedback(id: string, scope?: ContentScope): FeedbackSubmission | undefined;
173
+ feedbackSourceWitness(documentId: string, scope?: ContentScope): string;
174
+ listFeedback(input: ListFeedbackInput, scope?: ContentScope): FeedbackPage;
175
+ createFeedback(input: CreateFeedbackInput, scope?: ContentScope): Promise<FeedbackSubmission>;
132
176
  listReviewRequests(filters?: ReviewRequestFilters, scope?: ContentScope): ReviewRequest[];
133
177
  getReviewRequest(id: string, scope?: ContentScope): ReviewRequest | undefined;
134
178
  createReviewRequest(input: CreateReviewRequestInput, scope?: ContentScope): Promise<ReviewRequest>;