@registrystack/client 0.41.0 → 0.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -18
- package/breg/client.d.ts +173 -336
- package/breg/client.js +32 -106
- package/breg/index.d.ts +72 -141
- package/casework/client.d.ts +111 -282
- package/casework/client.js +20 -28
- package/casework/index.d.ts +17 -26
- package/discovery/client.d.ts +0 -3
- package/discovery/client.js +0 -5
- package/discovery/index.d.ts +0 -2
- package/native.js +1 -1
- package/package.json +6 -6
package/casework/client.d.ts
CHANGED
|
@@ -23,14 +23,7 @@ export interface CaseworkClientConfig {
|
|
|
23
23
|
maxMutationRetries?: SafeInteger | null
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
export type InboxView = 'mine' | 'my-teams' | 'team-holdings' | 'overdue' | 'completed-by-me'
|
|
27
|
-
export type OccurrenceKind = 'review' | 'application'
|
|
28
|
-
export type OccurrenceState = 'open' | 'claimed' | 'waiting-applicant' | 'waiting-application' | 'synchronizing' | 'completed' | 'superseded' | 'cancelled'
|
|
29
|
-
export type OperationName = string
|
|
30
|
-
export type AttemptState = 'pending' | 'uncertain' | 'completed' | 'refused'
|
|
31
26
|
export type PageStatus = 'complete' | 'budget-exhausted' | 'source-unavailable'
|
|
32
|
-
export type HistoryKind = 'observed' | 'opened' | 'claimed' | 'assigned' | 'delegated' | 'caseload-moved' | 'clock-reminder' | 'clock-step-applied' | 'clock-recomputed' | 'released' | 'draft-saved' | 'attempt-reserved' | 'attempt-uncertain' | 'action-completed' | 'attempt-settled' | 'superseded' | 'completed'
|
|
33
|
-
|
|
34
27
|
export interface IssuerPrincipal { issuer: string; subject: string }
|
|
35
28
|
export type TaskGrantBounds = { type: 'evidence'; requirement: string } | { type: 'breg'; permissions: ReadonlyArray<TaskPermission> } | { type: 'scheduling'; permissions: ReadonlyArray<SchedulingTaskPermission> }
|
|
36
29
|
export interface TaskPermission { collection: string; operations: ReadonlyArray<string> }
|
|
@@ -45,7 +38,7 @@ export interface TaskTemplatePreview {
|
|
|
45
38
|
/** Omitted for the existing immediate mode. */
|
|
46
39
|
authorizationMode?: TaskAuthorizationMode
|
|
47
40
|
}
|
|
48
|
-
export interface TaskTemplatePreviews {
|
|
41
|
+
export interface TaskTemplatePreviews { taskRevision: SafeInteger; templates: ReadonlyArray<TaskTemplatePreview> }
|
|
49
42
|
/** Grant metadata deliberately excludes stored subject values. */
|
|
50
43
|
export interface TaskGrantView {
|
|
51
44
|
id: string; templateId: string; templateVersion: string; agent: IssuerPrincipal; client: string; resource: string; scopes: ReadonlyArray<string>; purpose: string
|
|
@@ -64,50 +57,7 @@ export interface TaskGrantStatusDetails {
|
|
|
64
57
|
export interface TaskGrantStatus { active: boolean; grant?: TaskGrantStatusDetails }
|
|
65
58
|
|
|
66
59
|
export interface DirectoryMember { issuer: string; subject: string; displayName?: string | null }
|
|
67
|
-
export interface SubjectRef { sourceId: string; kind: string; id: string }
|
|
68
|
-
export interface SourceBinding {
|
|
69
|
-
sourceRevision: string
|
|
70
|
-
version: string
|
|
71
|
-
integrity?: string
|
|
72
|
-
generation: string
|
|
73
|
-
}
|
|
74
|
-
export type CaseworkActionName = 'claim' | 'release' | OperationName
|
|
75
|
-
export interface CaseworkAction { operation: CaseworkActionName; href: string; ifMatch: string }
|
|
76
|
-
export interface CorrectionRoutingCopy {
|
|
77
|
-
sourceBinding: SourceBinding
|
|
78
|
-
reason?: string
|
|
79
|
-
flaggedFields: ReadonlyArray<string>
|
|
80
|
-
}
|
|
81
|
-
export interface WorkItemRouting {
|
|
82
|
-
ruleId?: string
|
|
83
|
-
because?: string
|
|
84
|
-
policyDigest?: string
|
|
85
|
-
}
|
|
86
|
-
export interface WorkItem {
|
|
87
|
-
itemId: string
|
|
88
|
-
subject: SubjectRef
|
|
89
|
-
occurrenceKind: OccurrenceKind
|
|
90
|
-
stage?: string
|
|
91
|
-
binding: SourceBinding
|
|
92
|
-
bindingReference: string
|
|
93
|
-
displayReference?: string
|
|
94
|
-
state: OccurrenceState
|
|
95
|
-
queueId: string
|
|
96
|
-
holder?: IssuerPrincipal
|
|
97
|
-
heldSince?: string
|
|
98
|
-
assignment?: AssignmentContext
|
|
99
|
-
revision: SafeInteger
|
|
100
|
-
firstObservedAt: string
|
|
101
|
-
passiveDueAt?: string
|
|
102
|
-
updatedAt: string
|
|
103
|
-
actions: ReadonlyArray<CaseworkAction>
|
|
104
|
-
routingCopy?: CorrectionRoutingCopy
|
|
105
|
-
routing?: WorkItemRouting
|
|
106
|
-
clockOccurrences?: ReadonlyArray<ClockOccurrenceView>
|
|
107
|
-
liveAttempt?: AttemptStatus
|
|
108
|
-
}
|
|
109
60
|
export interface Page<T> { items: ReadonlyArray<T>; nextCursor?: string; status: PageStatus }
|
|
110
|
-
export interface WorkItemPage extends Page<WorkItem> { servedQueues: ReadonlyArray<string> }
|
|
111
61
|
export type DirectoryTargetPurpose = 'assignment' | 'absence-person' | 'absence-cover'
|
|
112
62
|
export type DirectoryTargetsQuery = {
|
|
113
63
|
cursor?: string
|
|
@@ -118,138 +68,29 @@ export type DirectoryTargetsQuery = {
|
|
|
118
68
|
| { purpose: 'absence-cover'; queue?: never; personIssuer: string; personSubject: string }
|
|
119
69
|
)
|
|
120
70
|
export type DirectoryTargetPage = Page<DirectoryMember>
|
|
121
|
-
export type ListWorkItemsQuery = {
|
|
122
|
-
view: InboxView
|
|
123
|
-
sort?: InboxSort
|
|
124
|
-
queue?: string
|
|
125
|
-
cursor?: string
|
|
126
|
-
limit?: SafeInteger
|
|
127
|
-
} & (
|
|
128
|
-
| { sourceId: string; subjectKind: string; subjectId: string; reference?: never }
|
|
129
|
-
| { reference: string; sourceId?: never; subjectKind?: never; subjectId?: never }
|
|
130
|
-
| { reference?: never; sourceId?: never; subjectKind?: never; subjectId?: never }
|
|
131
|
-
)
|
|
132
|
-
export type InboxSort = 'due' | 'age' | 'type'
|
|
133
|
-
export interface NextWorkItemQuery { queue?: string; cursor?: string }
|
|
134
|
-
export interface SaveDraftRequest {
|
|
135
|
-
binding: SourceBinding
|
|
136
|
-
reason: string
|
|
137
|
-
flaggedFields?: ReadonlyArray<string>
|
|
138
|
-
}
|
|
139
|
-
export interface Draft {
|
|
140
|
-
itemId: string
|
|
141
|
-
author: IssuerPrincipal
|
|
142
|
-
binding: SourceBinding
|
|
143
|
-
reason: string
|
|
144
|
-
flaggedFields: ReadonlyArray<string>
|
|
145
|
-
revision: SafeInteger
|
|
146
|
-
updatedAt: string
|
|
147
|
-
}
|
|
148
|
-
export interface DraftResponse { draft: Draft }
|
|
149
|
-
export interface DecideRequest {
|
|
150
|
-
displayedBinding: SourceBinding
|
|
151
|
-
operation: OperationName
|
|
152
|
-
reason?: string
|
|
153
|
-
flaggedFields?: ReadonlyArray<string>
|
|
154
|
-
}
|
|
155
71
|
/** The Registry-Source-Profile header selects the source profile; the body is empty. */
|
|
156
|
-
export type RecoverAttemptRequest = Record<string, never>
|
|
157
|
-
export interface SourceReceipt {
|
|
158
|
-
sourceRevision: string
|
|
159
|
-
resultingState: string
|
|
160
|
-
binding: SourceBinding
|
|
161
|
-
actorReference?: string
|
|
162
|
-
metadata: Readonly<Record<string, string>>
|
|
163
|
-
}
|
|
164
|
-
export interface AttemptStatus {
|
|
165
|
-
attemptId: string
|
|
166
|
-
itemId: string
|
|
167
|
-
state: AttemptState
|
|
168
|
-
itemRevision: SafeInteger
|
|
169
|
-
operation: OperationName
|
|
170
|
-
createdAt: string
|
|
171
|
-
receipt?: SourceReceipt
|
|
172
|
-
}
|
|
173
|
-
export interface MutationResponse { item: WorkItem; attempt?: AttemptStatus }
|
|
174
|
-
export interface HistoryEntryBase {
|
|
175
|
-
eventId: string
|
|
176
|
-
itemId: string
|
|
177
|
-
itemRevision: SafeInteger
|
|
178
|
-
kind: HistoryKind
|
|
179
|
-
occurredAt: string
|
|
180
|
-
actor?: IssuerPrincipal
|
|
181
|
-
profileId: string
|
|
182
|
-
}
|
|
183
|
-
export interface AttemptReservedHistoryEntry extends HistoryEntryBase {
|
|
184
|
-
kind: 'attempt-reserved'
|
|
185
|
-
detail: JsonObject & { attemptId: string; bindingReference: string; operation: OperationName }
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* An attempt-uncertain detail takes one of three shapes: recovery left the
|
|
189
|
-
* attempt uncertain, the source definitively refused it, or an operator marked
|
|
190
|
-
* an expired pending attempt uncertain. reason is the original decision reason.
|
|
191
|
-
*/
|
|
192
|
-
export type AttemptUncertainHistoryDetail = JsonObject & {
|
|
193
|
-
attemptId: string
|
|
194
|
-
bindingReference: string
|
|
195
|
-
operation: OperationName
|
|
196
|
-
reason?: string
|
|
197
|
-
} & (
|
|
198
|
-
| { sourceRevision?: string | null; definitivelyRefused?: never; operatorReason?: never }
|
|
199
|
-
| { definitivelyRefused: true; operatorReason?: never }
|
|
200
|
-
| { operatorReason: string; decidedBy: string; originalActor: IssuerPrincipal; originalProfileId: string; definitivelyRefused?: never }
|
|
201
|
-
)
|
|
202
|
-
export interface AttemptUncertainHistoryEntry extends HistoryEntryBase {
|
|
203
|
-
kind: 'attempt-uncertain'
|
|
204
|
-
detail: AttemptUncertainHistoryDetail
|
|
205
|
-
}
|
|
206
|
-
export interface ActionCompletedHistoryEntry extends HistoryEntryBase {
|
|
207
|
-
kind: 'action-completed'
|
|
208
|
-
detail: JsonObject & { attemptId: string; bindingReference: string; sourceRevision: string; sourceReceipt: SourceReceipt }
|
|
209
|
-
}
|
|
210
|
-
export interface AttemptSettledHistoryEntry extends HistoryEntryBase {
|
|
211
|
-
kind: 'attempt-settled'
|
|
212
|
-
detail: JsonObject & { attemptId: string; bindingReference: string; operation: OperationName; outcome: 'applied' | 'not-applied'; reason: string; decidedBy: string }
|
|
213
|
-
}
|
|
214
|
-
export interface OtherHistoryEntry extends HistoryEntryBase {
|
|
215
|
-
kind: Exclude<HistoryKind, 'attempt-reserved' | 'attempt-uncertain' | 'action-completed' | 'attempt-settled'>
|
|
216
|
-
detail: JsonValue
|
|
217
|
-
}
|
|
218
|
-
export type HistoryEntry = AttemptReservedHistoryEntry | AttemptUncertainHistoryEntry | ActionCompletedHistoryEntry | AttemptSettledHistoryEntry | OtherHistoryEntry
|
|
219
|
-
export interface HoldingSummary {
|
|
220
|
-
principal: IssuerPrincipal
|
|
221
|
-
queueId: string
|
|
222
|
-
activeItems: SafeInteger
|
|
223
|
-
overdueItems: SafeInteger
|
|
224
|
-
}
|
|
225
72
|
export interface QueueRecord { id: string; label: string }
|
|
226
|
-
export interface PassiveTargetPolicy { id: string; after: { elapsed: string } }
|
|
227
73
|
export type RoutingPredicate = { equals: JsonValue } | { oneOf: ReadonlyArray<JsonValue> }
|
|
228
|
-
export interface RoutingCondition {
|
|
74
|
+
export interface RoutingCondition { stage?: string; fields?: Readonly<Record<string, RoutingPredicate>> }
|
|
229
75
|
export interface RoutingRule { id: string; because: string; when: RoutingCondition; queue: string }
|
|
230
|
-
export interface DisplayReferencePolicy { field: string }
|
|
231
|
-
export interface SourceRequestPolicy { entity: string; queue: string; projection?: ReadonlyArray<string>; routing?: ReadonlyArray<RoutingRule>; displayReference?: DisplayReferencePolicy; clock?: string; target?: PassiveTargetPolicy }
|
|
232
76
|
export type WorkingWeekday = 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday'
|
|
233
77
|
export interface CalendarPolicy { id: string; timezone: string; workingWeekdays: ReadonlyArray<WorkingWeekday>; holidaySet: string }
|
|
234
|
-
export interface
|
|
78
|
+
export interface WorkingDays { workingDays: SafeInteger }
|
|
79
|
+
export interface ClockReminder { id: string; before: WorkingDays }
|
|
80
|
+
export type ElapsedDuration = { minutes: SafeInteger } | { hours: SafeInteger } | { days: SafeInteger }
|
|
235
81
|
export interface ClockStep { id: string; because: string; at: 'due'; action: { reassign: { queue: string } } }
|
|
236
82
|
export type ClockPolicy = {
|
|
237
|
-
type: 'subject'; id: string; anchor:
|
|
83
|
+
type: 'subject'; id: string; anchor: { type: 'request-accepted' }; after: ElapsedDuration
|
|
238
84
|
} | {
|
|
239
|
-
type: '
|
|
240
|
-
atRisk?: {
|
|
241
|
-
}
|
|
242
|
-
export interface SourcePolicy {
|
|
243
|
-
id: string
|
|
244
|
-
adapter: string
|
|
245
|
-
description: string
|
|
246
|
-
requests: ReadonlyArray<SourceRequestPolicy>
|
|
85
|
+
type: 'stage'; id: string; anchor: { type: 'stage-entered' }; calendar: string; after: WorkingDays; dueTime: string;
|
|
86
|
+
atRisk?: { before: WorkingDays }; reminders?: ReadonlyArray<ClockReminder>; steps?: ReadonlyArray<ClockStep>
|
|
247
87
|
}
|
|
248
88
|
export interface Description {
|
|
249
89
|
projectId: string
|
|
250
90
|
policyVersion: string
|
|
251
91
|
queues: ReadonlyArray<QueueRecord>
|
|
252
|
-
|
|
92
|
+
reviewPolicies: ReadonlyArray<ReviewPolicy>
|
|
93
|
+
contextProviders: ReadonlyArray<ReviewContextProviderPolicy>
|
|
253
94
|
calendars: ReadonlyArray<CalendarPolicy>
|
|
254
95
|
clocks: ReadonlyArray<ClockPolicy>
|
|
255
96
|
}
|
|
@@ -266,21 +107,20 @@ export interface AbsenceInput { person: IssuerPrincipal; from: string; until: st
|
|
|
266
107
|
export interface AbsenceRecord extends AbsenceInput { absenceId: string; revision: SafeInteger }
|
|
267
108
|
export interface AbsencesQuery { cursor?: string; limit?: SafeInteger }
|
|
268
109
|
export interface AbsenceList { directoryRevision: SafeInteger; items: ReadonlyArray<AbsenceRecord>; nextCursor?: string }
|
|
269
|
-
export
|
|
110
|
+
export type StaffingDiagnostic = 'no-cover-available' | 'insufficient-distinct-approvers'
|
|
270
111
|
export interface AssignmentRequest { assignee: IssuerPrincipal; reason?: string }
|
|
271
112
|
export interface DelegateRequest { delegate: IssuerPrincipal; reason?: string }
|
|
272
|
-
export interface
|
|
273
|
-
export interface
|
|
274
|
-
export interface
|
|
275
|
-
export interface
|
|
276
|
-
export interface
|
|
113
|
+
export interface ReviewCaseloadMoveRequest { from: IssuerPrincipal; to: IssuerPrincipal; queue?: string; reason: string }
|
|
114
|
+
export interface ReviewCaseloadTask { taskId: Uuid; revision: SafeInteger }
|
|
115
|
+
export interface ReviewCaseloadPreview { previewId: Uuid; directoryRevision: SafeInteger; tasks: ReadonlyArray<ReviewCaseloadTask>; expiresAt: string }
|
|
116
|
+
export interface ReviewCaseloadApplyRequest { previewId: Uuid }
|
|
117
|
+
export interface ReviewCaseloadResult { moved: ReadonlyArray<ReviewCaseloadTask> }
|
|
277
118
|
export interface BootstrapDirectoryRequest {
|
|
278
119
|
teamId: string
|
|
279
120
|
staff: ReadonlyArray<IssuerPrincipal>
|
|
280
121
|
supervisors: ReadonlyArray<IssuerPrincipal>
|
|
281
122
|
queueId: string
|
|
282
123
|
}
|
|
283
|
-
export interface HoldingsQuery { cursor?: string; limit?: SafeInteger }
|
|
284
124
|
export interface CaseworkOutcome<T> { kind: 'complete'; value: T; traceId: string }
|
|
285
125
|
|
|
286
126
|
export type KnownCaseworkProblemCode =
|
|
@@ -303,12 +143,13 @@ export type KnownCaseworkProblemCode =
|
|
|
303
143
|
| 'request.limit-out-of-range'
|
|
304
144
|
| 'request.method-not-allowed'
|
|
305
145
|
| 'request.not-found'
|
|
306
|
-
| 'request.reason-unsupported'
|
|
307
|
-
| 'request.source-rejected'
|
|
308
146
|
| 'request.unprocessable'
|
|
309
147
|
| 'request.unsupported-media-type'
|
|
148
|
+
| 'review.distinct-approver-required'
|
|
310
149
|
| 'review.initiator-excluded'
|
|
311
150
|
| 'review.initiator-required'
|
|
151
|
+
| 'review.query-too-broad'
|
|
152
|
+
| 'review.policy-mismatch'
|
|
312
153
|
| 'review.result-expired'
|
|
313
154
|
| 'review.submission-conflict'
|
|
314
155
|
| 'review.task-not-held'
|
|
@@ -317,21 +158,16 @@ export type KnownCaseworkProblemCode =
|
|
|
317
158
|
| 'source-profile.not-applicable'
|
|
318
159
|
| 'source-profile.required'
|
|
319
160
|
| 'source.bad-gateway'
|
|
320
|
-
| 'source.
|
|
321
|
-
| 'source.
|
|
322
|
-
| 'source.reviewer-not-authorized'
|
|
323
|
-
| 'source.signature-invalid'
|
|
324
|
-
| 'work-item.already-claimed'
|
|
325
|
-
| 'work-item.not-holder'
|
|
326
|
-
| 'work-item.not-offered'
|
|
327
|
-
| 'work-item.not-visible'
|
|
328
|
-
| 'work-item.proposal-changed'
|
|
329
|
-
| 'work-item.recovery-pending'
|
|
330
|
-
| 'work-item.source-unavailable'
|
|
331
|
-
| 'work-item.superseded'
|
|
161
|
+
| 'source.version-mismatch'
|
|
162
|
+
| 'source.version-unavailable'
|
|
332
163
|
export type CaseworkProblemCode = KnownCaseworkProblemCode | (string & {})
|
|
333
164
|
export type CaseworkProtocolFailure = 'header-bounds' | 'trace-context' | 'media-type' | 'body' | 'problem' | 'status' | 'protocol'
|
|
334
165
|
|
|
166
|
+
export interface ReviewTaskGrantReadOptions {
|
|
167
|
+
taskId: Uuid
|
|
168
|
+
sourceProfile?: string | null
|
|
169
|
+
}
|
|
170
|
+
|
|
335
171
|
export class CaseworkClientError extends Error {
|
|
336
172
|
readonly kind: 'configuration' | 'invalid-request' | 'transport' | 'problem' | 'protocol'
|
|
337
173
|
/**
|
|
@@ -351,53 +187,40 @@ export class CaseworkClientError extends Error {
|
|
|
351
187
|
readonly detail?: string
|
|
352
188
|
readonly status?: SafeInteger
|
|
353
189
|
readonly traceId?: string
|
|
354
|
-
readonly originalAttemptId?: string
|
|
355
190
|
readonly validation?: {
|
|
356
191
|
readonly path: string
|
|
357
|
-
readonly reason: '
|
|
192
|
+
readonly reason: 'policy-not-allowed' | 'reference-invalid' | 'object-required' | 'maximum-bytes-exceeded' | 'maximum-depth-exceeded' | 'schema-mismatch' | 'outcome-not-declared' | 'reason-required' | 'text-invalid' | 'result-not-declared' | 'result-required' | 'field-not-declared' | 'constraint-invalid' | 'constraint-violated' | 'public-reason-required' | 'public-reason-not-declared' | 'approval-outcome-differs'
|
|
193
|
+
/** Outcome identifiers the review policy declares for the requested settlement when an outcome is refused; empty otherwise. */
|
|
194
|
+
readonly allowed: ReadonlyArray<string>
|
|
358
195
|
}
|
|
359
196
|
readonly transportKind?: string
|
|
360
197
|
readonly protocolFailure?: CaseworkProtocolFailure
|
|
361
198
|
}
|
|
362
199
|
|
|
363
|
-
export type ClockRuntimeState = 'running' | '
|
|
200
|
+
export type ClockRuntimeState = 'running' | 'completed' | 'cancelled' | 'verification-pending' | 'source-facts-missing'
|
|
364
201
|
export type ClockNextEffect =
|
|
365
202
|
| { kind: 'reminder'; id: string; at: string }
|
|
366
203
|
| { kind: 'reassign'; id: string; at: string; because: string; queueId: string }
|
|
367
|
-
export interface ClockOccurrenceView {
|
|
368
|
-
clockOccurrenceId: string
|
|
369
|
-
subject: SubjectRef
|
|
370
|
-
clockId: string
|
|
371
|
-
state: ClockRuntimeState
|
|
372
|
-
policyDigest: string
|
|
373
|
-
calculationGeneration: SafeInteger
|
|
374
|
-
recomputeGeneration: SafeInteger
|
|
375
|
-
anchorAt?: string
|
|
376
|
-
startedAt?: string
|
|
377
|
-
dueAt?: string
|
|
378
|
-
atRiskAt?: string
|
|
379
|
-
completedAt?: string
|
|
380
|
-
nextEffect?: ClockNextEffect
|
|
381
|
-
upcomingEffects?: ReadonlyArray<ClockNextEffect>
|
|
382
|
-
}
|
|
383
204
|
export interface HolidaySetDocument { holidaySet: string; revision: SafeInteger; dates: ReadonlyArray<string> }
|
|
384
205
|
export interface HolidaySetRevisionInput { document: HolidaySetDocument }
|
|
385
|
-
export interface
|
|
386
|
-
export interface
|
|
387
|
-
export interface
|
|
388
|
-
export interface
|
|
389
|
-
export interface
|
|
206
|
+
export interface ReviewClockRecomputeRequest { taskIds: ReadonlyArray<Uuid> }
|
|
207
|
+
export interface ReviewClockRecomputeTask { taskId: Uuid; revision: SafeInteger; deadlineAt?: string }
|
|
208
|
+
export interface ReviewClockRecomputePreview { previewId: Uuid; directoryRevision: SafeInteger; tasks: ReadonlyArray<ReviewClockRecomputeTask>; expiresAt: string }
|
|
209
|
+
export interface ReviewClockRecomputeApplyRequest { previewId: Uuid }
|
|
210
|
+
export interface ReviewClockRecomputeResult { tasks: ReadonlyArray<ReviewClockRecomputeTask> }
|
|
390
211
|
|
|
391
212
|
export type ContentDigest = `sha256:${string}`
|
|
392
|
-
export interface
|
|
393
|
-
export interface
|
|
213
|
+
export interface SubjectBinding { source: string; type: string; id: string; version: string; digest: ContentDigest }
|
|
214
|
+
export interface PolicyBinding { id: string; version: string; digest: ContentDigest }
|
|
215
|
+
/** Select the current admitted policy by ID, or require one complete exact pin. */
|
|
216
|
+
export type PolicySelection = { id: string; version?: never; digest?: never } | PolicyBinding
|
|
394
217
|
export interface HumanIdentity { issuer: string; subject: string }
|
|
395
218
|
export type ReviewContext =
|
|
396
|
-
| {
|
|
397
|
-
| {
|
|
219
|
+
| { mode: 'submitted'; snapshot: Readonly<Record<string, JsonValue>> }
|
|
220
|
+
| { mode: 'current-source'; binding: { reference: string } }
|
|
398
221
|
export interface ReviewCreateRequest {
|
|
399
|
-
|
|
400
|
-
subject:
|
|
222
|
+
policy: PolicySelection
|
|
223
|
+
subject: SubjectBinding
|
|
401
224
|
requesterReference: string
|
|
402
225
|
initiator?: HumanIdentity
|
|
403
226
|
context: ReviewContext
|
|
@@ -405,8 +228,8 @@ export interface ReviewCreateRequest {
|
|
|
405
228
|
}
|
|
406
229
|
export interface ReviewRequestAccepted {
|
|
407
230
|
requestId: Uuid
|
|
408
|
-
subject:
|
|
409
|
-
policy:
|
|
231
|
+
subject: SubjectBinding
|
|
232
|
+
policy: PolicyBinding
|
|
410
233
|
submissionDigest: ContentDigest
|
|
411
234
|
}
|
|
412
235
|
export type ReviewRequestLifecycle = 'reviewing' | 'approved' | 'rejected' | 'changes-requested' | 'answered' | 'cancelled' | 'superseded'
|
|
@@ -422,6 +245,7 @@ export interface ReviewResult extends ReviewRequestAccepted {
|
|
|
422
245
|
resultId: Uuid
|
|
423
246
|
status: ReviewResultStatus
|
|
424
247
|
outcome?: string
|
|
248
|
+
publicReason?: string
|
|
425
249
|
result?: JsonObject
|
|
426
250
|
completedAt: string
|
|
427
251
|
availableUntil: string
|
|
@@ -431,22 +255,27 @@ export type ReviewResultOutcome =
|
|
|
431
255
|
| { kind: 'pending' | 'concealed_or_unknown' | 'expired'; value: null; traceId: string }
|
|
432
256
|
export interface ReviewResultFeedEntry { eventId: Uuid; requestId: Uuid; resultId: Uuid; completedAt: string }
|
|
433
257
|
export interface ReviewResultFeedPage { items: ReadonlyArray<ReviewResultFeedEntry>; nextCursor?: Uuid }
|
|
434
|
-
export interface ReviewCancelRequest { subject:
|
|
258
|
+
export interface ReviewCancelRequest { subject: SubjectBinding; reason: string }
|
|
435
259
|
export type ReviewCancelResponse =
|
|
436
260
|
| { outcome: 'cancelled'; result: ReviewResult }
|
|
437
261
|
| { outcome: 'already-terminal'; result: ReviewResult }
|
|
438
262
|
export interface ReviewPageQuery { cursor?: Uuid; limit?: SafeInteger }
|
|
439
263
|
export type ReviewTaskOwnership = 'assigned-to-me' | 'unclaimed'
|
|
440
|
-
export
|
|
264
|
+
export type ReviewTaskSort = 'due' | 'subject' | 'reference'
|
|
265
|
+
export interface ReviewStaffingPageQuery { queue?: string; ownership?: ReviewTaskOwnership; reference?: string; sort?: ReviewTaskSort; cursor?: Uuid; limit?: SafeInteger }
|
|
266
|
+
/** A subject selector is absent or names every component of its immutable binding. */
|
|
267
|
+
export type ReviewStaffingQuery = ReviewStaffingPageQuery & (
|
|
268
|
+
| { subjectSource?: never; subjectType?: never; subjectId?: never; subjectVersion?: never; subjectDigest?: never }
|
|
269
|
+
| { subjectSource: string; subjectType: string; subjectId: string; subjectVersion: string; subjectDigest: ContentDigest }
|
|
270
|
+
)
|
|
441
271
|
export interface SupervisoryReviewTaskQuery extends ReviewPageQuery { queue?: string; requestId?: Uuid }
|
|
442
272
|
export interface OwnReviewDecisionQuery extends ReviewPageQuery { queue?: string }
|
|
443
|
-
export
|
|
444
|
-
export type ReviewerTaskState = 'open' | { held: { holder: IssuerPrincipal } } | 'decided'
|
|
273
|
+
export type ReviewTaskState = 'open' | { held: { holder: IssuerPrincipal } } | 'decided'
|
|
445
274
|
export type ReviewDecisionType = 'approve' | 'reject' | 'changes-requested' | 'answer'
|
|
446
275
|
export interface ReviewDecisionReceipt {
|
|
447
|
-
policy:
|
|
276
|
+
policy: PolicyBinding
|
|
448
277
|
decision: ReviewDecisionType
|
|
449
|
-
outcome
|
|
278
|
+
outcome: string
|
|
450
279
|
outcomeLabel?: string
|
|
451
280
|
decidedAt: string
|
|
452
281
|
}
|
|
@@ -458,7 +287,12 @@ export interface OwnReviewDecision {
|
|
|
458
287
|
decisionReceipt: ReviewDecisionReceipt
|
|
459
288
|
}
|
|
460
289
|
export interface OwnReviewDecisionPage { items: ReadonlyArray<OwnReviewDecision>; nextCursor?: Uuid; status: PageStatus }
|
|
461
|
-
export interface
|
|
290
|
+
export interface ReviewTask {
|
|
291
|
+
subject: SubjectBinding
|
|
292
|
+
requesterReference: string
|
|
293
|
+
deadlineAt?: string | null
|
|
294
|
+
createdAt: string
|
|
295
|
+
displayReference?: string
|
|
462
296
|
taskId: Uuid
|
|
463
297
|
requestId: Uuid
|
|
464
298
|
stageIndex: SafeInteger
|
|
@@ -466,11 +300,12 @@ export interface ReviewerTask {
|
|
|
466
300
|
queue: string
|
|
467
301
|
revision: SafeInteger
|
|
468
302
|
eligibleProfiles: ReadonlyArray<string>
|
|
469
|
-
state:
|
|
303
|
+
state: ReviewTaskState
|
|
304
|
+
staffingDiagnostic?: StaffingDiagnostic
|
|
470
305
|
decidedByCaller?: boolean
|
|
471
306
|
decisionReceipt?: ReviewDecisionReceipt
|
|
472
307
|
}
|
|
473
|
-
export interface ReviewTaskPage { items: ReadonlyArray<
|
|
308
|
+
export interface ReviewTaskPage { items: ReadonlyArray<ReviewTask>; nextCursor?: Uuid; status: PageStatus }
|
|
474
309
|
export type SupervisoryReviewTaskState = 'open' | 'held' | 'decided'
|
|
475
310
|
export interface SupervisoryReviewTask {
|
|
476
311
|
taskId: Uuid
|
|
@@ -478,21 +313,22 @@ export interface SupervisoryReviewTask {
|
|
|
478
313
|
queue: string
|
|
479
314
|
revision: SafeInteger
|
|
480
315
|
state: SupervisoryReviewTaskState
|
|
316
|
+
staffingDiagnostic?: StaffingDiagnostic
|
|
481
317
|
accountabilityEventId?: Uuid
|
|
482
318
|
}
|
|
483
319
|
export interface SupervisoryReviewTaskPage { items: ReadonlyArray<SupervisoryReviewTask>; nextCursor?: Uuid; status: PageStatus }
|
|
484
320
|
export type ReviewSourceBindingStatus = 'current' | 'binding-changed'
|
|
485
|
-
export interface ReviewSourceProjection { binding:
|
|
321
|
+
export interface ReviewSourceProjection { binding: SubjectBinding; displayReference?: string; display: Readonly<Record<string, JsonValue>> }
|
|
486
322
|
export type ReviewTaskContextData =
|
|
487
|
-
| {
|
|
488
|
-
| {
|
|
323
|
+
| { mode: 'submitted'; snapshot: Readonly<Record<string, JsonValue>> }
|
|
324
|
+
| { mode: 'current-source'; reference: string; bindingStatus: ReviewSourceBindingStatus; projection?: ReviewSourceProjection }
|
|
489
325
|
export interface ReviewTaskContext {
|
|
490
326
|
taskId: Uuid
|
|
491
327
|
requestId: Uuid
|
|
492
|
-
subject:
|
|
328
|
+
subject: SubjectBinding
|
|
493
329
|
requesterReference: string
|
|
494
|
-
policy:
|
|
495
|
-
|
|
330
|
+
policy: PolicyBinding
|
|
331
|
+
policyClosure: ReviewPolicyClosure
|
|
496
332
|
resultConstraints?: JsonObject
|
|
497
333
|
context: ReviewTaskContextData
|
|
498
334
|
}
|
|
@@ -504,7 +340,7 @@ export interface ReviewClockOccurrence {
|
|
|
504
340
|
clockId: string
|
|
505
341
|
requestId: Uuid
|
|
506
342
|
correlation: ReviewClockCorrelation
|
|
507
|
-
state: 'running' | '
|
|
343
|
+
state: 'running' | 'completed' | 'cancelled' | 'source-facts-missing'
|
|
508
344
|
policyDigest: ContentDigest
|
|
509
345
|
anchorAt: string
|
|
510
346
|
dueAt?: string
|
|
@@ -513,10 +349,11 @@ export interface ReviewClockOccurrence {
|
|
|
513
349
|
}
|
|
514
350
|
export interface ReviewTaskDraftInput { body: JsonValue }
|
|
515
351
|
export interface ReviewTaskDraft { taskId: Uuid; author: IssuerPrincipal; body: JsonValue; revision: SafeInteger; updatedAt: string }
|
|
516
|
-
export type
|
|
517
|
-
| { type: 'approve' }
|
|
518
|
-
| { type: 'reject' | 'changes-requested' | 'answer'; outcome: string; reason?: string | null; result?: JsonObject | null }
|
|
519
|
-
export interface
|
|
352
|
+
export type DecisionKind =
|
|
353
|
+
| { type: 'approve'; outcome: string; publicReason?: string | null }
|
|
354
|
+
| { type: 'reject' | 'changes-requested' | 'answer'; outcome: string; reason?: string | null; publicReason?: string | null; result?: JsonObject | null }
|
|
355
|
+
export interface Decision { taskId: Uuid; requestId: Uuid; stageId: string; reviewer: IssuerPrincipal; profileId: string; decision: DecisionKind }
|
|
356
|
+
export interface ReviewTaskDecisionRequest { decision: DecisionKind }
|
|
520
357
|
export type ReviewHistoryAudience = 'reviewers' | 'requester'
|
|
521
358
|
export interface ReviewNoteRequest { audience: ReviewHistoryAudience; note: string }
|
|
522
359
|
export interface ReviewHistoryEntry { eventId: Uuid; requestId: Uuid; taskId?: Uuid; kind: string; actorRef?: string; detail: JsonValue; occurredAt: string }
|
|
@@ -528,19 +365,29 @@ export interface ReviewAccountabilityRecord {
|
|
|
528
365
|
decisionReceipt?: ReviewDecisionReceipt
|
|
529
366
|
}
|
|
530
367
|
export interface ReviewStagePolicy { id: string; queue: string; decidingProfiles: ReadonlyArray<string>; requiredApprovals: SafeInteger; excludeInitiator?: boolean; excludePreviousStageReviewers?: boolean }
|
|
531
|
-
export interface ReviewRetentionPolicy {
|
|
532
|
-
export interface
|
|
533
|
-
|
|
368
|
+
export interface ReviewRetentionPolicy { terminalRetentionDays: SafeInteger; accountabilityRetentionDays: SafeInteger }
|
|
369
|
+
export interface ReviewContextContract { id: string; revision: ContentDigest; schemaDigest: ContentDigest }
|
|
370
|
+
export type ReviewContextPolicy = { mode: 'submitted' } | { mode: 'current-source'; provider: string; contract: ReviewContextContract }
|
|
371
|
+
export type ReviewContextCapability = 'human-display' | 'service-status' | 'task-grant-context' | 'routing-context'
|
|
372
|
+
export interface ReviewContextProviderPolicy { id: string; capabilities: ReadonlyArray<ReviewContextCapability>; sourceNamespace: string; deploymentRef: string; serviceProfiles?: Partial<Record<ReviewContextCapability, string>> }
|
|
373
|
+
export interface ReviewPolicy { id: string; version: string; purpose: 'approval' | 'answer'; context: ReviewContextPolicy; routing?: ReadonlyArray<RoutingRule>; stages: ReadonlyArray<ReviewStagePolicy>; clocks?: ReadonlyArray<string>; retention: ReviewRetentionPolicy; displaySchema: JsonValue; resultSchema?: JsonValue; outcomes?: ReadonlyArray<{ id: string; label: string; settlement: 'approved' | 'rejected' | 'changes-requested' | 'answered'; reasonRequired: boolean; publicReason: 'required' | 'optional' | 'none'; resultRequired?: boolean }> }
|
|
374
|
+
export interface ReviewPolicyClosure {
|
|
375
|
+
identity: PolicyBinding
|
|
534
376
|
purpose: 'approval' | 'answer'
|
|
535
|
-
|
|
377
|
+
context: ReviewContextPolicy
|
|
378
|
+
routing?: ReadonlyArray<RoutingRule>
|
|
379
|
+
dependencies: JsonObject
|
|
536
380
|
stages: ReadonlyArray<ReviewStagePolicy>
|
|
537
381
|
clocks?: ReadonlyArray<string>
|
|
538
382
|
retention: ReviewRetentionPolicy
|
|
539
383
|
displaySchema: JsonValue
|
|
540
384
|
resultSchema?: JsonValue
|
|
541
|
-
outcomes?: ReadonlyArray<{ id: string; label: string; settlement: 'rejected' | 'changes-requested' | 'answered'; reasonRequired: boolean; resultRequired?: boolean }>
|
|
385
|
+
outcomes?: ReadonlyArray<{ id: string; label: string; settlement: 'approved' | 'rejected' | 'changes-requested' | 'answered'; reasonRequired: boolean; publicReason: 'required' | 'optional' | 'none'; resultRequired?: boolean }>
|
|
542
386
|
}
|
|
543
387
|
|
|
388
|
+
/** Compute the canonical producer submission digest locally, without I/O. */
|
|
389
|
+
export function submissionDigest(producer: string, sourceNamespace: string, request: ReviewCreateRequest): ContentDigest
|
|
390
|
+
|
|
544
391
|
export class CaseworkClient {
|
|
545
392
|
constructor(config: CaseworkClientConfig)
|
|
546
393
|
description(token: string, profile: string): Promise<CaseworkOutcome<Description>>
|
|
@@ -549,21 +396,22 @@ export class CaseworkClient {
|
|
|
549
396
|
reviewResult(token: string, profile: string, accepted: ReviewRequestAccepted): Promise<ReviewResultOutcome>
|
|
550
397
|
reviewResults(token: string, profile: string, query?: ReviewPageQuery | null): Promise<CaseworkOutcome<ReviewResultFeedPage>>
|
|
551
398
|
cancelReviewRequest(token: string, profile: string, accepted: ReviewRequestAccepted, idempotencyKey: string, request: ReviewCancelRequest): Promise<CaseworkOutcome<ReviewCancelResponse>>
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
399
|
+
reviewPolicies(token: string, profile: string): Promise<CaseworkOutcome<ReadonlyArray<ReviewPolicyClosure>>>
|
|
400
|
+
reviewPolicy(token: string, profile: string, policyId: string): Promise<CaseworkOutcome<ReviewPolicyClosure>>
|
|
401
|
+
nextReviewTask(token: string, profile: string, query?: ReviewStaffingQuery | null, sourceProfile?: string | null): Promise<CaseworkOutcome<ReviewTask | null>>
|
|
402
|
+
reviewTasks(token: string, profile: string, query?: ReviewStaffingQuery | null, sourceProfile?: string | null): Promise<CaseworkOutcome<ReviewTaskPage>>
|
|
555
403
|
supervisoryReviewTasks(token: string, profile: string, query?: SupervisoryReviewTaskQuery | null, sourceProfile?: string | null): Promise<CaseworkOutcome<SupervisoryReviewTaskPage>>
|
|
556
404
|
ownReviewDecisions(token: string, profile: string, query?: OwnReviewDecisionQuery | null, sourceProfile?: string | null): Promise<CaseworkOutcome<OwnReviewDecisionPage>>
|
|
557
|
-
reviewTask(token: string, profile: string, taskId: Uuid, sourceProfile?: string | null): Promise<CaseworkOutcome<
|
|
405
|
+
reviewTask(token: string, profile: string, taskId: Uuid, sourceProfile?: string | null): Promise<CaseworkOutcome<ReviewTask>>
|
|
558
406
|
reviewTaskContext(token: string, profile: string, taskId: Uuid, sourceProfile?: string | null): Promise<CaseworkOutcome<ReviewTaskContext>>
|
|
559
|
-
previewReviewTaskTemplates(token: string, profile: string,
|
|
560
|
-
listReviewTaskGrants(token: string, profile: string,
|
|
561
|
-
approveReviewTaskGrant(token: string, profile: string,
|
|
407
|
+
previewReviewTaskTemplates(token: string, profile: string, options: ReviewTaskGrantReadOptions): Promise<CaseworkOutcome<TaskTemplatePreviews>>
|
|
408
|
+
listReviewTaskGrants(token: string, profile: string, options: ReviewTaskGrantReadOptions): Promise<CaseworkOutcome<TaskGrantList>>
|
|
409
|
+
approveReviewTaskGrant(token: string, profile: string, taskId: Uuid, expectedRevision: SafeInteger, idempotencyKey: string, approval: TaskApprovalRequest, sourceProfile?: string | null): Promise<CaseworkOutcome<TaskGrantView>>
|
|
562
410
|
revokeReviewTaskGrant(token: string, profile: string, taskId: Uuid, grantId: string): Promise<CaseworkOutcome<TaskGrantRevocation>>
|
|
563
|
-
claimReviewTask(token: string, profile: string, taskId: Uuid, expectedRevision: SafeInteger, idempotencyKey: string, sourceProfile?: string | null): Promise<CaseworkOutcome<
|
|
564
|
-
releaseReviewTask(token: string, profile: string, taskId: Uuid, expectedRevision: SafeInteger, idempotencyKey: string): Promise<CaseworkOutcome<
|
|
565
|
-
assignReviewTask(token: string, profile: string, taskId: Uuid, expectedRevision: SafeInteger, idempotencyKey: string, request: AssignmentRequest, sourceProfile?: string): Promise<CaseworkOutcome<
|
|
566
|
-
delegateReviewTask(token: string, profile: string, taskId: Uuid, expectedRevision: SafeInteger, idempotencyKey: string, request: DelegateRequest, sourceProfile?: string): Promise<CaseworkOutcome<
|
|
411
|
+
claimReviewTask(token: string, profile: string, taskId: Uuid, expectedRevision: SafeInteger, idempotencyKey: string, sourceProfile?: string | null): Promise<CaseworkOutcome<ReviewTask>>
|
|
412
|
+
releaseReviewTask(token: string, profile: string, taskId: Uuid, expectedRevision: SafeInteger, idempotencyKey: string): Promise<CaseworkOutcome<ReviewTask>>
|
|
413
|
+
assignReviewTask(token: string, profile: string, taskId: Uuid, expectedRevision: SafeInteger, idempotencyKey: string, request: AssignmentRequest, sourceProfile?: string): Promise<CaseworkOutcome<ReviewTask>>
|
|
414
|
+
delegateReviewTask(token: string, profile: string, taskId: Uuid, expectedRevision: SafeInteger, idempotencyKey: string, request: DelegateRequest, sourceProfile?: string): Promise<CaseworkOutcome<ReviewTask>>
|
|
567
415
|
reviewTaskDraft(token: string, profile: string, taskId: Uuid, sourceProfile?: string): Promise<CaseworkOutcome<ReviewTaskDraft | null>>
|
|
568
416
|
saveReviewTaskDraft(token: string, profile: string, taskId: Uuid, expectedRevision: SafeInteger, idempotencyKey: string, draft: ReviewTaskDraftInput, sourceProfile?: string): Promise<CaseworkOutcome<ReviewTaskDraft>>
|
|
569
417
|
deleteReviewTaskDraft(token: string, profile: string, taskId: Uuid, expectedRevision: SafeInteger, idempotencyKey: string, sourceProfile?: string): Promise<CaseworkOutcome<null>>
|
|
@@ -572,42 +420,23 @@ export class CaseworkClient {
|
|
|
572
420
|
addReviewNote(token: string, profile: string, requestId: Uuid, idempotencyKey: string, note: ReviewNoteRequest, sourceProfile?: string | null): Promise<CaseworkOutcome<ReviewHistoryEntry>>
|
|
573
421
|
reviewClocks(token: string, profile: string, requestId: Uuid, sourceProfile?: string | null): Promise<CaseworkOutcome<ReadonlyArray<ReviewClockOccurrence>>>
|
|
574
422
|
reviewAccountability(token: string, profile: string, eventId: Uuid): Promise<CaseworkOutcome<ReviewAccountabilityRecord>>
|
|
575
|
-
listWorkItems(token: string, profile: string, sourceProfile: string, query: ListWorkItemsQuery): Promise<CaseworkOutcome<WorkItemPage>>
|
|
576
|
-
nextWorkItem(token: string, profile: string, sourceProfile: string, query?: NextWorkItemQuery | null): Promise<CaseworkOutcome<WorkItemPage>>
|
|
577
|
-
getWorkItem(token: string, profile: string, sourceProfile: string, itemId: string): Promise<CaseworkOutcome<WorkItem>>
|
|
578
|
-
previewTaskTemplates(token: string, profile: string, sourceProfile: string, itemId: string): Promise<CaseworkOutcome<TaskTemplatePreviews>>
|
|
579
|
-
listTaskGrants(token: string, profile: string, sourceProfile: string, itemId: string): Promise<CaseworkOutcome<TaskGrantList>>
|
|
580
|
-
approveTaskGrant(token: string, profile: string, sourceProfile: string, itemId: string, expectedRevision: SafeInteger, idempotencyKey: string, approval: TaskApprovalRequest): Promise<CaseworkOutcome<TaskGrantView>>
|
|
581
|
-
revokeTaskGrant(token: string, profile: string, sourceProfile: string, itemId: string, grantId: string): Promise<CaseworkOutcome<TaskGrantRevocation>>
|
|
582
423
|
taskAssertion(token: string, grantId: string): Promise<CaseworkOutcome<TaskAssertionResponse>>
|
|
583
424
|
/** Exact empty-POST authority route for the shared remote exchange provider. */
|
|
584
425
|
taskAssertionEndpoint(grantId: string): string
|
|
585
426
|
taskGrantStatus(token: string, grantId: string): Promise<CaseworkOutcome<TaskGrantStatus>>
|
|
586
|
-
|
|
587
|
-
releaseWorkItem(token: string, profile: string, sourceProfile: string, action: CaseworkAction, idempotencyKey: string): Promise<CaseworkOutcome<MutationResponse>>
|
|
588
|
-
getDraft(token: string, profile: string, sourceProfile: string, itemId: string): Promise<CaseworkOutcome<DraftResponse>>
|
|
589
|
-
saveDraft(token: string, profile: string, sourceProfile: string, itemId: string, expectedRevision: SafeInteger, idempotencyKey: string, draft: SaveDraftRequest): Promise<CaseworkOutcome<DraftResponse>>
|
|
590
|
-
deleteDraft(token: string, profile: string, sourceProfile: string, itemId: string, expectedRevision: SafeInteger, idempotencyKey: string): Promise<CaseworkOutcome<null>>
|
|
591
|
-
decideWorkItem(token: string, profile: string, sourceProfile: string, action: CaseworkAction, idempotencyKey: string, decision: DecideRequest): Promise<CaseworkOutcome<MutationResponse>>
|
|
592
|
-
recoverDecision(token: string, profile: string, sourceProfile: string, itemId: string, attemptId: string, recovery: RecoverAttemptRequest): Promise<CaseworkOutcome<MutationResponse>>
|
|
593
|
-
recoverDecisionByKey(token: string, profile: string, sourceProfile: string, itemId: string, idempotencyKey: string, recovery: RecoverAttemptRequest): Promise<CaseworkOutcome<MutationResponse>>
|
|
594
|
-
workItemHistory(token: string, profile: string, sourceProfile: string, itemId: string, query?: WorkItemHistoryQuery | null): Promise<CaseworkOutcome<Page<HistoryEntry>>>
|
|
595
|
-
holdings(token: string, profile: string, sourceProfile: string, query?: HoldingsQuery | null): Promise<CaseworkOutcome<Page<HoldingSummary>>>
|
|
427
|
+
reviewTaskHoldings(token: string, profile: string, query?: ReviewStaffingQuery | null, sourceProfile?: string | null): Promise<CaseworkOutcome<ReviewTaskPage>>
|
|
596
428
|
directory(token: string, profile: string): Promise<CaseworkOutcome<DirectoryResponse>>
|
|
597
429
|
directoryTargets(token: string, profile: string, query: DirectoryTargetsQuery): Promise<CaseworkOutcome<DirectoryTargetPage>>
|
|
598
430
|
bootstrapDirectory(token: string, profile: string, expectedRevision: SafeInteger, idempotencyKey: string, request: BootstrapDirectoryRequest): Promise<CaseworkOutcome<DirectoryResponse>>
|
|
599
431
|
updateDirectoryTeam(token: string, profile: string, teamId: string, expectedRevision: SafeInteger, idempotencyKey: string, request: DirectoryTeamUpdateRequest): Promise<CaseworkOutcome<DirectoryResponse>>
|
|
600
|
-
workItemClocks(token: string, profile: string, sourceProfile: string, itemId: string): Promise<CaseworkOutcome<ReadonlyArray<ClockOccurrenceView>>>
|
|
601
432
|
holidayRevision(token: string, profile: string, holidaySet: string, revision: SafeInteger): Promise<CaseworkOutcome<HolidaySetDocument>>
|
|
602
433
|
createHolidayRevision(token: string, profile: string, idempotencyKey: string, request: HolidaySetRevisionInput): Promise<CaseworkOutcome<HolidaySetDocument>>
|
|
603
|
-
previewClockRecompute(token: string, profile: string, request:
|
|
604
|
-
applyClockRecompute(token: string, profile: string, idempotencyKey: string, request:
|
|
434
|
+
previewClockRecompute(token: string, profile: string, request: ReviewClockRecomputeRequest): Promise<CaseworkOutcome<ReviewClockRecomputePreview>>
|
|
435
|
+
applyClockRecompute(token: string, profile: string, idempotencyKey: string, request: ReviewClockRecomputeApplyRequest): Promise<CaseworkOutcome<ReviewClockRecomputeResult>>
|
|
605
436
|
absences(token: string, profile: string, query?: AbsencesQuery | null): Promise<CaseworkOutcome<AbsenceList>>
|
|
606
437
|
createAbsence(token: string, profile: string, expectedRevision: SafeInteger, idempotencyKey: string, request: AbsenceInput): Promise<CaseworkOutcome<AbsenceRecord>>
|
|
607
438
|
updateAbsence(token: string, profile: string, absenceId: string, expectedRevision: SafeInteger, idempotencyKey: string, request: AbsenceInput): Promise<CaseworkOutcome<AbsenceRecord>>
|
|
608
439
|
deleteAbsence(token: string, profile: string, absenceId: string, expectedRevision: SafeInteger, idempotencyKey: string): Promise<CaseworkOutcome<null>>
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
previewCaseloadMove(token: string, profile: string, movement: CaseloadMoveRequest, query?: CaseloadPreviewQuery | null, sourceProfile?: string | null): Promise<CaseworkOutcome<Page<WorkItem>>>
|
|
612
|
-
applyCaseloadMove(token: string, profile: string, idempotencyKey: string, request: CaseloadApplyRequest, sourceProfile?: string | null): Promise<CaseworkOutcome<ReadonlyArray<CaseloadItemResult>>>
|
|
440
|
+
previewCaseloadMove(token: string, profile: string, movement: ReviewCaseloadMoveRequest, sourceProfile?: string | null): Promise<CaseworkOutcome<ReviewCaseloadPreview>>
|
|
441
|
+
applyCaseloadMove(token: string, profile: string, idempotencyKey: string, request: ReviewCaseloadApplyRequest, sourceProfile?: string | null): Promise<CaseworkOutcome<ReviewCaseloadResult>>
|
|
613
442
|
}
|