Skip to main content

AiReview

One review: a document selection, the columns asked of it, and the cells those columns produced across every run.

type AiReview {
id: ID!
name: String!
createdAt: DateTime!
dataRoom: DataRoom!
fields: [AiReviewField!]!
documents: [AiReviewDocument!]!
latestRun: AiReviewRun
runs(
first: Int
after: String
last: Int
before: String
): AiReviewRunsConnection
cells(
first: Int
after: String
last: Int
before: String
): AiReviewCellsConnection
flaggedCells: [AiReviewFlaggedCell!]!
progress: AiReviewProgress
usage: AiReviewUsage!
}

Fields​

AiReview.id ● ID! non-null scalar​

Opaque to clients. A room plus a UUIDv7 inside, which is what makes review lists sort by time and gives every mutation a room to authorize against.

AiReview.name ● String! non-null scalar​

AiReview.createdAt ● DateTime! non-null scalar​

AiReview.dataRoom ● DataRoom! non-null object​

AiReview.fields ● [AiReviewField!]! non-null object​

Stored inline on the review. Draft and generated columns share this shape.

AiReview.documents ● [AiReviewDocument!]! non-null object​

The grid's rows, flat and in index order. Selection-scoped, not run-scoped: they exist before any dispatch and outlive every run.

AiReview.latestRun ● AiReviewRun object​

Display metadata for recency on the review list, not the entry point for reading grid values. Null until the first generation run exists.

AiReview.runs ● AiReviewRunsConnection object​

AiReview.runs.first ● Int scalar​

Returns the first _n_ elements from the list.

AiReview.runs.after ● String scalar​

Returns the elements in the list that come after the specified cursor.

AiReview.runs.last ● Int scalar​

Returns the last _n_ elements from the list.

AiReview.runs.before ● String scalar​

Returns the elements in the list that come before the specified cursor.

AiReview.cells ● AiReviewCellsConnection object​

The grid's resolved values, flat, keyed by (documentId, fieldId).

Review-scoped and not run-scoped, because columns are added and run over time, so one grid is assembled from the cells of many runs. The resolver picks, per document and column, an extracted cell before any other and the newest run before an older one.

Hanging this off a run would be wrong in the ordinary case rather than the exotic one: a run covers one column, so a grid read through it would show one column of values and nothing else.

AiReview.cells.first ● Int scalar​

Returns the first _n_ elements from the list.

AiReview.cells.after ● String scalar​

Returns the elements in the list that come after the specified cursor.

AiReview.cells.last ● Int scalar​

Returns the last _n_ elements from the list.

AiReview.cells.before ● String scalar​

Returns the elements in the list that come before the specified cursor.

AiReview.flaggedCells ● [AiReviewFlaggedCell!]! non-null object​

Every flagged cell of this review, address and flag time only.

A separate field rather than part of the cell: a client can read flags without changing the fragment it selects for the grid.

AiReview.progress ● AiReviewProgress object​

Poll while the review has active runs. Null when none are active, which is the client's signal to stop polling.

A field on the review rather than a root query: progress is review-scoped state, and the workspace already scopes the room, so there is nothing a root field would add but a second entry point.

AiReview.usage ● AiReviewUsage! non-null object​

What this review has spent: tokens and USD over every attempt of every run, broken down by the model that ran.

Not part of progress, which is about a dispatch in flight. Usage outlives every run and is read long after the last one finished.

Member Of​

AiReviewColumnPayload object ● AiReviewColumnsPayload object ● AiReviewPayload object ● AiReviewsConnection object ● AiReviewsEdge object ● AiReviewWorkspace object ● CreateAiReviewPayload object