@registrystack/client 0.29.0 → 0.30.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 +26 -5
- package/breg/client.d.ts +419 -14
- package/breg/client.js +86 -4
- package/breg/index.d.ts +140 -0
- package/casework/client.d.ts +435 -0
- package/casework/client.js +155 -0
- package/casework/index.d.ts +64 -0
- package/casework/index.js +3 -0
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/native.js +2 -2
- package/package.json +8 -6
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# @registrystack/client
|
|
2
2
|
|
|
3
|
-
One versioned Node.js package for the Discovery, Evidence, Relay,
|
|
4
|
-
|
|
3
|
+
One versioned Node.js package for the Discovery, Evidence, Relay, Base Registry
|
|
4
|
+
Engine, and Casework client APIs in Registry Stack.
|
|
5
5
|
|
|
6
6
|
## Install
|
|
7
7
|
|
|
@@ -11,17 +11,20 @@ npm install "@registrystack/client@<version>"
|
|
|
11
11
|
|
|
12
12
|
Requires Node.js 22.12 or newer. Supported targets are macOS arm64, Linux
|
|
13
13
|
arm64 with glibc, and Linux x64 with glibc; installing the package pulls in
|
|
14
|
-
one platform-specific optional dependency containing all
|
|
14
|
+
one platform-specific optional dependency containing all five native
|
|
15
15
|
bindings.
|
|
16
16
|
|
|
17
17
|
## Usage
|
|
18
18
|
|
|
19
19
|
```js
|
|
20
|
-
const { discovery, evidence, relay, breg } = require('@registrystack/client');
|
|
20
|
+
const { discovery, evidence, relay, breg, casework } = require('@registrystack/client');
|
|
21
21
|
|
|
22
22
|
const registry = new breg.BaseRegistryClient({
|
|
23
23
|
baseUrl: 'https://registry.example.invalid/',
|
|
24
24
|
});
|
|
25
|
+
const work = new casework.CaseworkClient({
|
|
26
|
+
baseUrl: 'https://casework.example.invalid/',
|
|
27
|
+
});
|
|
25
28
|
```
|
|
26
29
|
|
|
27
30
|
## Products
|
|
@@ -32,6 +35,8 @@ const registry = new breg.BaseRegistryClient({
|
|
|
32
35
|
assertions.
|
|
33
36
|
- `relay`: Registry Relay, scoped read-only APIs over existing sources.
|
|
34
37
|
- `breg`: Base Registry Engine, records, contracts, writes, and lifecycle.
|
|
38
|
+
- `casework`: Registry Casework, staff inbox, claims, drafts, decisions,
|
|
39
|
+
recovery, history, holdings, and directory bootstrap.
|
|
35
40
|
|
|
36
41
|
Each product remains in its own namespace because its routing,
|
|
37
42
|
authentication, errors, and verification rules are different.
|
|
@@ -63,7 +68,8 @@ consumer does not need it.
|
|
|
63
68
|
## Base Registry Engine notes
|
|
64
69
|
|
|
65
70
|
`breg.BaseRegistryClient.registryContract()` returns caller-filtered
|
|
66
|
-
`operations` with typed field, request, and list-query
|
|
71
|
+
`operations` with typed field, readable request field, request, and list-query
|
|
72
|
+
descriptors; those
|
|
67
73
|
descriptions grant no authority, so select the opaque create, patch, and
|
|
68
74
|
lifecycle authorities from that same contract before executing a mutation.
|
|
69
75
|
Methods ending in `Json` keep values exact across the Node number boundary:
|
|
@@ -81,6 +87,21 @@ standalone client packages remain available for earlier versions, but the
|
|
|
81
87
|
release process does not publish new standalone versions once this package
|
|
82
88
|
is active.
|
|
83
89
|
|
|
90
|
+
The `casework` namespace is part of the unified package beginning with
|
|
91
|
+
Registry Stack v0.30.0.
|
|
92
|
+
|
|
93
|
+
## Casework notes
|
|
94
|
+
|
|
95
|
+
The Casework module is for a trusted server host. Each call takes that request's
|
|
96
|
+
bearer token and selected Casework profile; source-reading calls also take the
|
|
97
|
+
selected source profile. The client does not retain them. Browsers should send
|
|
98
|
+
only the host's session cookie. Claim, release, and decide consume the
|
|
99
|
+
caller-filtered action returned on the item, including its exact route and
|
|
100
|
+
`ifMatch` revision. Mutations require a caller-controlled idempotency key and
|
|
101
|
+
are never retried automatically. After a lost response, use
|
|
102
|
+
`recoverDecisionByKey` with the original key so recovery does not depend on the
|
|
103
|
+
attempt identifier being received.
|
|
104
|
+
|
|
84
105
|
## Documentation
|
|
85
106
|
|
|
86
107
|
- [Client API reference](https://docs.registrystack.org/reference/client-api/)
|
package/breg/client.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export type JsonScalar = string | number | boolean | null
|
|
2
2
|
export type JsonValue = JsonScalar | ReadonlyArray<JsonValue> | { readonly [key: string]: JsonValue }
|
|
3
|
+
/** Structured mutation inputs reject integer-valued numbers outside
|
|
4
|
+
* `Number.isSafeInteger`. Use the corresponding `...Json` method for exact
|
|
5
|
+
* wider integer values. */
|
|
3
6
|
export type JsonObject = { readonly [key: string]: JsonValue }
|
|
4
7
|
/** An integer that satisfies `Number.isSafeInteger` and the option's documented bounds. */
|
|
5
8
|
export type SafeInteger = number
|
|
@@ -40,17 +43,46 @@ export interface BaseRegistryClientConfig {
|
|
|
40
43
|
|
|
41
44
|
export type RecordFormat = 'json' | 'json-ld'
|
|
42
45
|
|
|
43
|
-
export interface
|
|
46
|
+
export interface RecordProjectionOptions {
|
|
44
47
|
select?: ReadonlyArray<string> | null
|
|
45
48
|
accessProfile?: string | null
|
|
46
49
|
format?: RecordFormat | null
|
|
47
50
|
}
|
|
48
51
|
|
|
49
|
-
export interface
|
|
52
|
+
export interface RecordOptions extends RecordProjectionOptions {
|
|
53
|
+
requestHistoryAfterProposalVersion?: SafeInteger | null
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export interface ListOptions extends RecordProjectionOptions {
|
|
57
|
+
top?: SafeInteger | null
|
|
58
|
+
filter?: string | null
|
|
59
|
+
orderby?: string | null
|
|
60
|
+
count?: boolean | null
|
|
61
|
+
bbox?: BoundingBox | null
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface CollectionOptions extends RecordProjectionOptions {
|
|
65
|
+
top?: SafeInteger | null
|
|
66
|
+
filter?: string | null
|
|
67
|
+
orderby?: string | null
|
|
68
|
+
count?: boolean | null
|
|
69
|
+
}
|
|
70
|
+
export interface AsOfListOptions extends CollectionOptions { asOf: string }
|
|
71
|
+
export interface SnapshotListOptions extends CollectionOptions {
|
|
72
|
+
snapshot?: string | null
|
|
73
|
+
validAt?: string | null
|
|
74
|
+
}
|
|
75
|
+
export type BoundingBox = readonly [west: string, south: string, east: string, north: string]
|
|
76
|
+
export interface GeoJsonOptions {
|
|
77
|
+
select?: ReadonlyArray<string> | null
|
|
78
|
+
accessProfile?: string | null
|
|
79
|
+
}
|
|
80
|
+
export interface GeoJsonListOptions extends GeoJsonOptions {
|
|
50
81
|
top?: SafeInteger | null
|
|
51
82
|
filter?: string | null
|
|
52
83
|
orderby?: string | null
|
|
53
84
|
count?: boolean | null
|
|
85
|
+
bbox?: BoundingBox | null
|
|
54
86
|
}
|
|
55
87
|
|
|
56
88
|
export interface ListContinuation {
|
|
@@ -62,14 +94,92 @@ export interface ListContinuation {
|
|
|
62
94
|
datasetIdentifier: string
|
|
63
95
|
entityTypeIdentifier: string
|
|
64
96
|
}
|
|
97
|
+
export type CurrentListContinuation = ListContinuation
|
|
98
|
+
export interface AsOfListContinuation extends ListContinuation { asOf: string }
|
|
99
|
+
export interface SnapshotListContinuation extends ListContinuation {
|
|
100
|
+
snapshot: string
|
|
101
|
+
validAt?: string
|
|
102
|
+
}
|
|
103
|
+
export interface RelationshipListContinuation extends ListContinuation {
|
|
104
|
+
rootRecordIdentifier: string
|
|
105
|
+
pathRoute: string
|
|
106
|
+
}
|
|
107
|
+
export interface GeoJsonListContinuation {
|
|
108
|
+
route: string
|
|
109
|
+
skiptoken: string
|
|
110
|
+
accessProfile?: string
|
|
111
|
+
}
|
|
65
112
|
|
|
66
113
|
export interface RegistryRecord {
|
|
67
114
|
recordIdentifier: string
|
|
68
115
|
revisionIdentifier: string
|
|
69
116
|
domainData: Readonly<Record<string, JsonValue>>
|
|
117
|
+
request?: BRegRequestMetadata
|
|
70
118
|
readonly [member: string]: JsonValue | undefined
|
|
71
119
|
}
|
|
72
120
|
|
|
121
|
+
export type BRegRequestReviewStage = JsonObject & {
|
|
122
|
+
readonly id: string
|
|
123
|
+
readonly approvals: SafeInteger
|
|
124
|
+
readonly excludeSubmitter: boolean
|
|
125
|
+
readonly excludePreviousReviewers?: boolean
|
|
126
|
+
}
|
|
127
|
+
export type BRegRequestReviewState = JsonObject & {
|
|
128
|
+
readonly stages: ReadonlyArray<BRegRequestReviewStage>
|
|
129
|
+
readonly submittedAt: string
|
|
130
|
+
readonly pendingStage: string | null
|
|
131
|
+
readonly stageEnteredAt: string | null
|
|
132
|
+
}
|
|
133
|
+
export type BRegRequestReviewTiming = JsonObject & {
|
|
134
|
+
readonly firstSubmittedAt: string
|
|
135
|
+
readonly pausedMilliseconds: SafeInteger
|
|
136
|
+
readonly pauseStartedAt: string | null
|
|
137
|
+
readonly completedAt: string | null
|
|
138
|
+
}
|
|
139
|
+
export type BRegRequestDecision = JsonObject & {
|
|
140
|
+
readonly stageId: string
|
|
141
|
+
readonly kind: 'approve' | 'reject' | 'request_revision'
|
|
142
|
+
readonly decidedAt: string
|
|
143
|
+
readonly reasonPresent: boolean
|
|
144
|
+
readonly reason?: string
|
|
145
|
+
readonly actorReference?: string
|
|
146
|
+
}
|
|
147
|
+
export type BRegRequestState = 'draft' | 'submitted' | 'approved' | 'needs_changes' | 'rejected' | 'canceled' | 'applied'
|
|
148
|
+
export type BRegRetainedRequestProposal = JsonObject & {
|
|
149
|
+
readonly requestEntityId: string
|
|
150
|
+
readonly requestId: string
|
|
151
|
+
readonly proposalVersion: SafeInteger
|
|
152
|
+
readonly bregState: BRegRequestState
|
|
153
|
+
readonly current: boolean
|
|
154
|
+
readonly contractFingerprint: string
|
|
155
|
+
readonly detailErased: boolean
|
|
156
|
+
readonly applicationId: string | null
|
|
157
|
+
readonly resultLinkCount: SafeInteger
|
|
158
|
+
readonly resultLinks: ReadonlyArray<JsonObject>
|
|
159
|
+
readonly effectDigest?: string
|
|
160
|
+
readonly decisions?: ReadonlyArray<BRegRequestDecision>
|
|
161
|
+
}
|
|
162
|
+
export type BRegRetainedRequestHistory = JsonObject & {
|
|
163
|
+
readonly proposals: ReadonlyArray<BRegRetainedRequestProposal>
|
|
164
|
+
readonly nextAfterProposalVersion: SafeInteger | null
|
|
165
|
+
}
|
|
166
|
+
export type BRegRequestMetadata = JsonObject & {
|
|
167
|
+
readonly bregState: BRegRequestState
|
|
168
|
+
readonly proposalVersion: SafeInteger
|
|
169
|
+
readonly effectDigest?: string | null
|
|
170
|
+
readonly proposal?: JsonObject | null
|
|
171
|
+
readonly editable: boolean
|
|
172
|
+
readonly detailErased?: true
|
|
173
|
+
readonly actions?: ReadonlyArray<JsonObject>
|
|
174
|
+
readonly application?: JsonObject | null
|
|
175
|
+
readonly history?: BRegRetainedRequestHistory
|
|
176
|
+
readonly review?: BRegRequestReviewState
|
|
177
|
+
readonly reviewTiming?: BRegRequestReviewTiming
|
|
178
|
+
readonly submitterReference?: string
|
|
179
|
+
readonly applierReference?: string
|
|
180
|
+
readonly decisions?: ReadonlyArray<BRegRequestDecision>
|
|
181
|
+
}
|
|
182
|
+
|
|
73
183
|
export interface RecordMetadata {
|
|
74
184
|
registryIdentifier: string
|
|
75
185
|
datasetIdentifier: string
|
|
@@ -106,12 +216,14 @@ export interface CompleteOutcome<T> {
|
|
|
106
216
|
location?: string
|
|
107
217
|
}
|
|
108
218
|
|
|
109
|
-
export interface PageOutcome {
|
|
219
|
+
export interface PageOutcome<T = RecordCollection, C = ListContinuation> {
|
|
110
220
|
kind: 'complete'
|
|
111
|
-
value:
|
|
112
|
-
continuation?:
|
|
221
|
+
value: T
|
|
222
|
+
continuation?: C
|
|
113
223
|
traceId: string
|
|
114
224
|
etag?: string
|
|
225
|
+
snapshot?: string
|
|
226
|
+
validAt?: string
|
|
115
227
|
}
|
|
116
228
|
|
|
117
229
|
export interface RawOutcome {
|
|
@@ -144,23 +256,55 @@ export interface LifecycleReviewTarget {
|
|
|
144
256
|
|
|
145
257
|
export interface LifecycleReview { targets: ReadonlyArray<LifecycleReviewTarget> }
|
|
146
258
|
|
|
147
|
-
export
|
|
148
|
-
id: string
|
|
149
|
-
revision: SafeInteger
|
|
150
|
-
snapshot: string
|
|
151
|
-
|
|
259
|
+
export type LifecycleReceipt = JsonObject & {
|
|
260
|
+
readonly id: string
|
|
261
|
+
readonly revision: SafeInteger
|
|
262
|
+
readonly snapshot: string
|
|
263
|
+
readonly actorReference?: string
|
|
264
|
+
readonly request: BRegLifecycleReceiptRequest
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
export type BRegLifecycleReceiptRequest = JsonObject & {
|
|
268
|
+
readonly bregState: BRegRequestState
|
|
269
|
+
readonly proposalVersion: SafeInteger | null
|
|
270
|
+
readonly effectDigest: string | null
|
|
271
|
+
readonly proposal?: JsonObject | null
|
|
272
|
+
readonly application: JsonObject | null
|
|
152
273
|
}
|
|
153
274
|
|
|
154
275
|
/** Exact validated JSON text, serialized before conversion to JavaScript numbers.
|
|
155
276
|
* Decode with a lossless JSON library if inspecting values outside the safe integer range.
|
|
156
277
|
* Decimal fields remain fixed-scale JSON strings. */
|
|
157
|
-
export interface JsonOutcome {
|
|
278
|
+
export interface JsonOutcome<C = ListContinuation> {
|
|
158
279
|
kind: 'complete'
|
|
159
280
|
valueJson: string
|
|
160
|
-
continuation?:
|
|
281
|
+
continuation?: C
|
|
161
282
|
traceId: string
|
|
162
283
|
etag?: string
|
|
163
284
|
location?: string
|
|
285
|
+
snapshot?: string
|
|
286
|
+
validAt?: string
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
export interface GeoJsonPoint {
|
|
290
|
+
readonly type: 'Point'
|
|
291
|
+
readonly coordinates: readonly [number, number]
|
|
292
|
+
}
|
|
293
|
+
export interface GeoJsonFeature {
|
|
294
|
+
readonly type: 'Feature'
|
|
295
|
+
readonly id: string
|
|
296
|
+
readonly geometry: GeoJsonPoint | null
|
|
297
|
+
readonly properties: Readonly<Record<string, JsonValue>>
|
|
298
|
+
readonly registry: { readonly revision: SafeInteger }
|
|
299
|
+
}
|
|
300
|
+
export interface GeoJsonFeatureCollection {
|
|
301
|
+
readonly type: 'FeatureCollection'
|
|
302
|
+
readonly features: ReadonlyArray<GeoJsonFeature>
|
|
303
|
+
readonly numberReturned: SafeInteger
|
|
304
|
+
readonly registry: {
|
|
305
|
+
readonly pageInfo: { readonly nextCursor: string | null }
|
|
306
|
+
readonly count?: SafeInteger
|
|
307
|
+
}
|
|
164
308
|
}
|
|
165
309
|
|
|
166
310
|
export interface BRegFieldDescriptor {
|
|
@@ -173,6 +317,20 @@ export interface BRegFieldDescriptor {
|
|
|
173
317
|
readonly readOnly: boolean
|
|
174
318
|
readonly removable: boolean
|
|
175
319
|
readonly referenceTargetEntity: string | null
|
|
320
|
+
readonly codeLabels: Readonly<Record<string, string>>
|
|
321
|
+
readonly storageValidation: {
|
|
322
|
+
readonly kind: string
|
|
323
|
+
readonly pattern: string
|
|
324
|
+
} | null
|
|
325
|
+
readonly reference: {
|
|
326
|
+
readonly manualEntry: boolean
|
|
327
|
+
readonly targetEntity: string | null
|
|
328
|
+
readonly operations: ReadonlyArray<{
|
|
329
|
+
readonly operationId: string
|
|
330
|
+
readonly accessProfile: string
|
|
331
|
+
readonly labelFields: ReadonlyArray<string>
|
|
332
|
+
}>
|
|
333
|
+
} | null
|
|
176
334
|
}
|
|
177
335
|
export interface BRegQueryField {
|
|
178
336
|
readonly id: string
|
|
@@ -192,6 +350,29 @@ export interface BRegQueryDescriptor {
|
|
|
192
350
|
readonly maxInValues: number
|
|
193
351
|
readonly pagination: { readonly parameter: string; readonly responsePath: string; readonly exclusive: boolean }
|
|
194
352
|
readonly temporal: JsonObject | null
|
|
353
|
+
readonly spatialQueries?: {
|
|
354
|
+
readonly bbox: {
|
|
355
|
+
readonly geometryProperty: string
|
|
356
|
+
readonly maximumLongitudeSpanDegrees: number
|
|
357
|
+
readonly maximumLatitudeSpanDegrees: number
|
|
358
|
+
readonly coordinateReferenceSystem: string
|
|
359
|
+
readonly semantics: string
|
|
360
|
+
} | null
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
export interface BRegLookupSelectorFieldDescriptor {
|
|
364
|
+
readonly id: string
|
|
365
|
+
readonly apiName: string
|
|
366
|
+
readonly label: string
|
|
367
|
+
readonly schemaJson: string
|
|
368
|
+
readonly required: boolean
|
|
369
|
+
}
|
|
370
|
+
export interface BRegLookupSelectorDescriptor {
|
|
371
|
+
readonly id: string
|
|
372
|
+
readonly label: string
|
|
373
|
+
readonly valueOrigin: string
|
|
374
|
+
readonly fields: ReadonlyArray<BRegLookupSelectorFieldDescriptor>
|
|
375
|
+
readonly requestFields: ReadonlyArray<string>
|
|
195
376
|
}
|
|
196
377
|
export interface BRegOperationDescriptor {
|
|
197
378
|
readonly id: string
|
|
@@ -206,9 +387,12 @@ export interface BRegOperationDescriptor {
|
|
|
206
387
|
readonly requiredCapabilities: ReadonlyArray<string>
|
|
207
388
|
readonly fields: ReadonlyArray<BRegFieldDescriptor>
|
|
208
389
|
readonly readableFields: ReadonlyArray<string>
|
|
390
|
+
readonly readableRequestFields: ReadonlyArray<string>
|
|
209
391
|
readonly createWritableFields: ReadonlyArray<string>
|
|
210
392
|
readonly patchWritableFields: ReadonlyArray<string>
|
|
211
393
|
readonly query: BRegQueryDescriptor | null
|
|
394
|
+
readonly selectors: ReadonlyArray<BRegLookupSelectorDescriptor>
|
|
395
|
+
readonly readPath: { readonly id: string; readonly label: string } | null
|
|
212
396
|
readonly request: {
|
|
213
397
|
readonly fieldNames: string | null
|
|
214
398
|
readonly queryParameters: ReadonlyArray<string>
|
|
@@ -221,6 +405,126 @@ export interface BRegOperationDescriptor {
|
|
|
221
405
|
readonly patchPathPrefix: string | null
|
|
222
406
|
readonly patchOperations: ReadonlyArray<string>
|
|
223
407
|
readonly removeSemantics: string | null
|
|
408
|
+
readonly maximumItems: SafeInteger | null
|
|
409
|
+
readonly maximumBodyBytes: SafeInteger | null
|
|
410
|
+
readonly allowCreate: boolean | null
|
|
411
|
+
readonly allowPatch: boolean | null
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
export interface BRegImmediateActionDescriptor {
|
|
416
|
+
readonly id: string
|
|
417
|
+
readonly contractFingerprint: string
|
|
418
|
+
readonly inputMode: string | null
|
|
419
|
+
readonly maximumInputStringBytes: SafeInteger | null
|
|
420
|
+
readonly inputs: ReadonlyArray<{
|
|
421
|
+
readonly id: string
|
|
422
|
+
readonly apiName: string
|
|
423
|
+
readonly fieldTypeJson: string
|
|
424
|
+
readonly required: boolean
|
|
425
|
+
readonly nullable: boolean | null
|
|
426
|
+
readonly classification: string
|
|
427
|
+
}>
|
|
428
|
+
readonly referenceInputs: ReadonlyArray<{
|
|
429
|
+
readonly input: string
|
|
430
|
+
readonly apiName: string
|
|
431
|
+
readonly targetEntity: string
|
|
432
|
+
}>
|
|
433
|
+
readonly requiredConditionKeys: ReadonlyArray<string>
|
|
434
|
+
readonly resultEffects: ReadonlyArray<{
|
|
435
|
+
readonly effect: string
|
|
436
|
+
readonly entity: string
|
|
437
|
+
readonly operation: string
|
|
438
|
+
}>
|
|
439
|
+
readonly accessProfile: string
|
|
440
|
+
readonly invokePath: string
|
|
441
|
+
readonly targetConditionsPath: string | null
|
|
442
|
+
readonly bounds: {
|
|
443
|
+
readonly maximumTargets: SafeInteger
|
|
444
|
+
readonly maximumFieldMutations: SafeInteger
|
|
445
|
+
readonly maximumSnapshotBytes: SafeInteger
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
export interface BRegActionReceipt {
|
|
450
|
+
readonly action: string
|
|
451
|
+
readonly applicationId: string
|
|
452
|
+
readonly results: Readonly<Record<string, {
|
|
453
|
+
readonly entity: string
|
|
454
|
+
readonly recordId: string
|
|
455
|
+
readonly revision: SafeInteger
|
|
456
|
+
}>>
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
export interface BRegBatchCreateItem {
|
|
460
|
+
readonly operation: 'create'
|
|
461
|
+
readonly data: JsonObject
|
|
462
|
+
}
|
|
463
|
+
export interface BRegBatchPatchItem {
|
|
464
|
+
readonly operation: 'patch'
|
|
465
|
+
readonly recordIdentifier: string
|
|
466
|
+
readonly etag: string
|
|
467
|
+
readonly operations: ReadonlyArray<PatchOperation | RemovePatchOperation>
|
|
468
|
+
}
|
|
469
|
+
export type BRegBatchItem = BRegBatchCreateItem | BRegBatchPatchItem
|
|
470
|
+
export type BRegChangeContext =
|
|
471
|
+
| {
|
|
472
|
+
readonly kind: 'change'
|
|
473
|
+
readonly reasonText?: string
|
|
474
|
+
readonly sourceReferences?: ReadonlyArray<string>
|
|
475
|
+
}
|
|
476
|
+
| {
|
|
477
|
+
readonly kind: 'correction'
|
|
478
|
+
readonly reasonCode: string
|
|
479
|
+
readonly reasonText?: string
|
|
480
|
+
readonly sourceReferences?: ReadonlyArray<string>
|
|
481
|
+
}
|
|
482
|
+
export interface BRegBatchInput {
|
|
483
|
+
readonly items: ReadonlyArray<BRegBatchItem>
|
|
484
|
+
readonly changeContext?: BRegChangeContext
|
|
485
|
+
}
|
|
486
|
+
export interface BRegBatchReceipt {
|
|
487
|
+
readonly snapshot: string
|
|
488
|
+
readonly results: ReadonlyArray<{
|
|
489
|
+
readonly operation: 'create' | 'patch'
|
|
490
|
+
readonly id: string
|
|
491
|
+
readonly revision: SafeInteger
|
|
492
|
+
readonly etag: string
|
|
493
|
+
readonly data: Readonly<Record<string, JsonValue>>
|
|
494
|
+
}>
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
export interface BRegChangeRequestCapability {
|
|
498
|
+
readonly planner: {
|
|
499
|
+
readonly kind: 'declarative' | 'rhai'
|
|
500
|
+
readonly abi: string | null
|
|
501
|
+
readonly limits: {
|
|
502
|
+
readonly maximumTargets: SafeInteger
|
|
503
|
+
readonly maximumFieldMutations: SafeInteger
|
|
504
|
+
readonly maximumSnapshotBytes: SafeInteger
|
|
505
|
+
readonly maximumSourceBytes: SafeInteger
|
|
506
|
+
readonly maximumOperations: SafeInteger
|
|
507
|
+
readonly maximumCallDepth: SafeInteger
|
|
508
|
+
readonly maximumExpressionDepth: SafeInteger
|
|
509
|
+
readonly maximumStringBytes: SafeInteger
|
|
510
|
+
readonly maximumArrayItems: SafeInteger
|
|
511
|
+
readonly maximumMapEntries: SafeInteger
|
|
512
|
+
readonly maximumModules: SafeInteger
|
|
513
|
+
} | null
|
|
514
|
+
readonly possibleWriteCount: SafeInteger | null
|
|
515
|
+
readonly possibleWriteOperations: ReadonlyArray<string>
|
|
516
|
+
}
|
|
517
|
+
readonly reviewMode: 'none' | 'staged'
|
|
518
|
+
readonly stages: ReadonlyArray<{
|
|
519
|
+
readonly id: string
|
|
520
|
+
readonly approvals: SafeInteger
|
|
521
|
+
readonly excludeSubmitter: boolean
|
|
522
|
+
readonly excludePreviousReviewers: boolean
|
|
523
|
+
}> | null
|
|
524
|
+
readonly application: {
|
|
525
|
+
readonly mode: 'manual' | 'automatic' | 'planner'
|
|
526
|
+
readonly allowedDispositions: ReadonlyArray<'apply' | 'queue'>
|
|
527
|
+
readonly queueReasons: ReadonlyArray<{ readonly code: string; readonly label: string }>
|
|
224
528
|
}
|
|
225
529
|
}
|
|
226
530
|
|
|
@@ -284,6 +588,29 @@ export declare class BRegPatchBinding {
|
|
|
284
588
|
private constructor()
|
|
285
589
|
private readonly __opaque: void
|
|
286
590
|
}
|
|
591
|
+
/** Opaque authority for one metadata-selected immediate action. */
|
|
592
|
+
export declare class BRegImmediateActionBinding {
|
|
593
|
+
private constructor()
|
|
594
|
+
private readonly __opaque: void
|
|
595
|
+
}
|
|
596
|
+
/** Opaque target conditions obtained for one selected action and input set. */
|
|
597
|
+
export declare class BRegActionTargetConditions {
|
|
598
|
+
private constructor()
|
|
599
|
+
private readonly __opaque: void
|
|
600
|
+
readonly preconditionKeys: ReadonlyArray<string>
|
|
601
|
+
readonly valueJson: string
|
|
602
|
+
readonly traceId: string
|
|
603
|
+
}
|
|
604
|
+
/** Opaque authority for one metadata-selected Tombstone operation. */
|
|
605
|
+
export declare class BRegTombstoneBinding {
|
|
606
|
+
private constructor()
|
|
607
|
+
private readonly __opaque: void
|
|
608
|
+
}
|
|
609
|
+
/** Opaque authority for one metadata-selected atomic Batch operation. */
|
|
610
|
+
export declare class BRegBatchBinding {
|
|
611
|
+
private constructor()
|
|
612
|
+
private readonly __opaque: void
|
|
613
|
+
}
|
|
287
614
|
/** Opaque lifecycle authority selected from metadata fetched by this client source. */
|
|
288
615
|
export declare class BRegLifecycleAuthority {
|
|
289
616
|
private constructor()
|
|
@@ -304,26 +631,61 @@ export declare class BRegLifecycleAction {
|
|
|
304
631
|
readonly review: LifecycleReview | null
|
|
305
632
|
}
|
|
306
633
|
|
|
634
|
+
/** Inert bounded Create evidence. Persist these bytes with owner-only access. */
|
|
635
|
+
export declare class BRegPreparedCreate {
|
|
636
|
+
private constructor()
|
|
637
|
+
private readonly __opaque: void
|
|
638
|
+
static fromBytes(bytes: Buffer): BRegPreparedCreate
|
|
639
|
+
toBytes(): Buffer
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
/** Inert bounded lifecycle evidence. Persist these bytes with owner-only access. */
|
|
643
|
+
export declare class BRegPreparedLifecycle {
|
|
644
|
+
private constructor()
|
|
645
|
+
private readonly __opaque: void
|
|
646
|
+
static fromBytes(bytes: Buffer): BRegPreparedLifecycle
|
|
647
|
+
toBytes(): Buffer
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
/** Revalidated Create request. It still requires fresh metadata authority to send. */
|
|
651
|
+
export declare class BRegRecoveredCreate {
|
|
652
|
+
private constructor()
|
|
653
|
+
private readonly __opaque: void
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
/** Revalidated lifecycle action. It remains inert until explicitly sent. */
|
|
657
|
+
export declare class BRegRecoveredLifecycle {
|
|
658
|
+
private constructor()
|
|
659
|
+
private readonly __opaque: void
|
|
660
|
+
}
|
|
661
|
+
|
|
307
662
|
/** Caller-filtered metadata bound to the exact client source that fetched it. */
|
|
308
663
|
export declare class BRegMetadata {
|
|
309
664
|
private constructor()
|
|
310
665
|
private readonly __opaque: void
|
|
311
666
|
readonly operations: ReadonlyArray<BRegOperationDescriptor>
|
|
667
|
+
readonly immediateActions: ReadonlyArray<BRegImmediateActionDescriptor>
|
|
668
|
+
readonly actionsJson: string | null
|
|
312
669
|
readonly registryIdentifier: string
|
|
313
670
|
readonly registryVersion: string
|
|
314
671
|
readonly registryRevision: string
|
|
315
672
|
readonly traceId: string
|
|
316
673
|
readonly etag: string | null
|
|
674
|
+
changeRequestCapability(entityIdentifier: string): BRegChangeRequestCapability | null
|
|
317
675
|
selectCreate(operationIdentifier: string, expectedProfile: string): BRegCreateBinding
|
|
318
676
|
selectPatch(operationIdentifier: string, expectedProfile: string): BRegPatchBinding
|
|
319
677
|
selectLifecycle(entityIdentifier: string, expectedProfile: string): BRegLifecycleAuthority
|
|
320
678
|
selectAttachments(entityIdentifier: string, expectedProfile: string): ReadonlyArray<BRegAttachmentSlot>
|
|
679
|
+
selectImmediateAction(actionIdentifier: string, expectedProfile: string): BRegImmediateActionBinding
|
|
680
|
+
selectTombstone(entityIdentifier: string, expectedProfile: string): BRegTombstoneBinding
|
|
681
|
+
selectBatch(entityIdentifier: string, expectedProfile: string): BRegBatchBinding
|
|
321
682
|
}
|
|
322
683
|
|
|
323
684
|
export interface BaseRegistryClientFailure extends Error {
|
|
324
685
|
readonly kind: string
|
|
325
686
|
readonly code?: string
|
|
326
687
|
readonly planRefusal?: string
|
|
688
|
+
readonly refusalCode?: string
|
|
327
689
|
readonly status?: number
|
|
328
690
|
readonly traceId?: string
|
|
329
691
|
readonly transportKind?: string
|
|
@@ -334,6 +696,7 @@ export declare class BaseRegistryClientError extends Error implements BaseRegist
|
|
|
334
696
|
readonly kind: string
|
|
335
697
|
readonly code?: string
|
|
336
698
|
readonly planRefusal?: string
|
|
699
|
+
readonly refusalCode?: string
|
|
337
700
|
readonly status?: number
|
|
338
701
|
readonly traceId?: string
|
|
339
702
|
readonly transportKind?: string
|
|
@@ -348,20 +711,62 @@ export declare class BaseRegistryClient {
|
|
|
348
711
|
registryMetadata(accessProfile?: string | null): Promise<RawOutcome>
|
|
349
712
|
registryContract(accessProfile?: string | null): Promise<BRegMetadata>
|
|
350
713
|
entitySchema(entityIdentifier: string, accessProfile?: string | null): Promise<RawOutcome>
|
|
714
|
+
recordRevisions(entityRoute: string, recordIdentifier: string, accessProfile?: string | null): Promise<RawOutcome>
|
|
715
|
+
getRecordRevision(entityRoute: string, recordIdentifier: string, revision: SafeInteger, options?: RecordProjectionOptions | null): Promise<RawOutcome>
|
|
351
716
|
getRecord(entityRoute: string, recordIdentifier: string, options?: RecordOptions | null): Promise<CompleteOutcome<RecordEnvelope>>
|
|
352
717
|
listRecords(entityRoute: string, options?: ListOptions | null): Promise<PageOutcome>
|
|
353
718
|
continueList(continuation: ListContinuation): Promise<PageOutcome>
|
|
354
|
-
|
|
719
|
+
getGeoJsonRecord(entityRoute: string, recordIdentifier: string, options?: GeoJsonOptions | null): Promise<CompleteOutcome<GeoJsonFeature>>
|
|
720
|
+
listGeoJsonRecords(entityRoute: string, options?: GeoJsonListOptions | null): Promise<PageOutcome<GeoJsonFeatureCollection, GeoJsonListContinuation>>
|
|
721
|
+
continueGeoJsonList(continuation: GeoJsonListContinuation): Promise<PageOutcome<GeoJsonFeatureCollection, GeoJsonListContinuation>>
|
|
722
|
+
listCurrentRecords(entityRoute: string, options?: CollectionOptions | null): Promise<PageOutcome<RecordCollection, CurrentListContinuation>>
|
|
723
|
+
continueCurrentList(continuation: CurrentListContinuation): Promise<PageOutcome<RecordCollection, CurrentListContinuation>>
|
|
724
|
+
listRecordsAsOf(entityRoute: string, options: AsOfListOptions): Promise<PageOutcome<RecordCollection, AsOfListContinuation>>
|
|
725
|
+
continueAsOfList(continuation: AsOfListContinuation): Promise<PageOutcome<RecordCollection, AsOfListContinuation>>
|
|
726
|
+
listSnapshotRecords(entityRoute: string, options?: SnapshotListOptions | null): Promise<PageOutcome<RecordCollection, SnapshotListContinuation>>
|
|
727
|
+
continueSnapshotList(continuation: SnapshotListContinuation): Promise<PageOutcome<RecordCollection, SnapshotListContinuation>>
|
|
728
|
+
listRelationshipRecords(entityRoute: string, recordIdentifier: string, pathRoute: string, options?: CollectionOptions | null): Promise<PageOutcome<RecordCollection, RelationshipListContinuation>>
|
|
729
|
+
continueRelationshipList(continuation: RelationshipListContinuation): Promise<PageOutcome<RecordCollection, RelationshipListContinuation>>
|
|
730
|
+
lookupRecord(entityRoute: string, selector: string, values?: JsonObject | null, options?: RecordProjectionOptions | null): Promise<CompleteOutcome<RecordEnvelope>>
|
|
731
|
+
actionTargetConditions(binding: BRegImmediateActionBinding, inputs: JsonObject): Promise<BRegActionTargetConditions>
|
|
732
|
+
actionTargetConditionsJson(binding: BRegImmediateActionBinding, inputsJson: string): Promise<BRegActionTargetConditions>
|
|
733
|
+
invokeAction(binding: BRegImmediateActionBinding, inputs: JsonObject, idempotencyKey: string, conditions?: BRegActionTargetConditions | null): Promise<CompleteOutcome<BRegActionReceipt>>
|
|
734
|
+
invokeActionJson(binding: BRegImmediateActionBinding, inputsJson: string, idempotencyKey: string, conditions?: BRegActionTargetConditions | null): Promise<JsonOutcome>
|
|
355
735
|
createRecord(binding: BRegCreateBinding, data: JsonObject, idempotencyKey: string, format?: RecordFormat | null): Promise<CompleteOutcome<RecordEnvelope>>
|
|
736
|
+
prepareCreate(binding: BRegCreateBinding, data: JsonObject, idempotencyKey: string, format?: RecordFormat | null): BRegPreparedCreate
|
|
737
|
+
prepareCreateJson(binding: BRegCreateBinding, dataJson: string, idempotencyKey: string, format?: RecordFormat | null): BRegPreparedCreate
|
|
738
|
+
recoverCreate(binding: BRegCreateBinding, prepared: BRegPreparedCreate): BRegRecoveredCreate
|
|
739
|
+
executeRecoveredCreate(binding: BRegCreateBinding, recovered: BRegRecoveredCreate): Promise<CompleteOutcome<RecordEnvelope>>
|
|
740
|
+
executeRecoveredCreateJson(binding: BRegCreateBinding, recovered: BRegRecoveredCreate): Promise<JsonOutcome>
|
|
356
741
|
patchRecord(binding: BRegPatchBinding, recordIdentifier: string, etag: string, operations: ReadonlyArray<PatchOperation | RemovePatchOperation>, idempotencyKey: string, format?: RecordFormat | null): Promise<CompleteOutcome<RecordEnvelope>>
|
|
742
|
+
batchRecords(binding: BRegBatchBinding, request: BRegBatchInput, idempotencyKey: string): Promise<CompleteOutcome<BRegBatchReceipt>>
|
|
743
|
+
batchRecordsJson(binding: BRegBatchBinding, requestJson: string, idempotencyKey: string): Promise<JsonOutcome>
|
|
744
|
+
tombstoneRecord(binding: BRegTombstoneBinding, recordIdentifier: string, etag: string, idempotencyKey: string, format?: RecordFormat | null): Promise<CompleteOutcome<RecordEnvelope>>
|
|
745
|
+
tombstoneRecordJson(binding: BRegTombstoneBinding, recordIdentifier: string, etag: string, idempotencyKey: string, format?: RecordFormat | null): Promise<JsonOutcome>
|
|
357
746
|
lifecycleActions(authority: BRegLifecycleAuthority, record: RecordEnvelope, format?: RecordFormat | null): ReadonlyArray<BRegLifecycleAction>
|
|
747
|
+
prepareLifecycleAction(authority: BRegLifecycleAuthority, record: RecordEnvelope, action: BRegLifecycleAction, idempotencyKey: string, format?: RecordFormat | null): BRegPreparedLifecycle
|
|
748
|
+
prepareLifecycleActionJson(authority: BRegLifecycleAuthority, recordJson: string, action: BRegLifecycleAction, idempotencyKey: string, format?: RecordFormat | null): BRegPreparedLifecycle
|
|
749
|
+
recoverLifecycleAction(authority: BRegLifecycleAuthority, prepared: BRegPreparedLifecycle): BRegRecoveredLifecycle
|
|
750
|
+
executeRecoveredLifecycleAction(recovered: BRegRecoveredLifecycle): Promise<CompleteOutcome<LifecycleReceipt>>
|
|
751
|
+
executeRecoveredLifecycleActionJson(recovered: BRegRecoveredLifecycle): Promise<JsonOutcome>
|
|
358
752
|
uploadAttachment(slot: BRegAttachmentSlot, recordIdentifier: string, etag: string, upload: BRegAttachmentUpload, idempotencyKey: string, format?: RecordFormat | null): Promise<CompleteOutcome<RecordEnvelope>>
|
|
359
753
|
downloadAttachment(slot: BRegAttachmentSlot, recordIdentifier: string, proposalVersion: SafeInteger): Promise<RawOutcome>
|
|
360
754
|
deleteAttachment(slot: BRegAttachmentSlot, recordIdentifier: string, etag: string, idempotencyKey: string, format?: RecordFormat | null): Promise<CompleteOutcome<RecordEnvelope>>
|
|
361
755
|
getRecordJson(entityRoute: string, recordIdentifier: string, options?: RecordOptions | null): Promise<JsonOutcome>
|
|
362
756
|
listRecordsJson(entityRoute: string, options?: ListOptions | null): Promise<JsonOutcome>
|
|
363
757
|
continueListJson(continuation: ListContinuation): Promise<JsonOutcome>
|
|
364
|
-
|
|
758
|
+
getGeoJsonRecordJson(entityRoute: string, recordIdentifier: string, options?: GeoJsonOptions | null): Promise<JsonOutcome>
|
|
759
|
+
listGeoJsonRecordsJson(entityRoute: string, options?: GeoJsonListOptions | null): Promise<JsonOutcome<GeoJsonListContinuation>>
|
|
760
|
+
continueGeoJsonListJson(continuation: GeoJsonListContinuation): Promise<JsonOutcome<GeoJsonListContinuation>>
|
|
761
|
+
listCurrentRecordsJson(entityRoute: string, options?: CollectionOptions | null): Promise<JsonOutcome<CurrentListContinuation>>
|
|
762
|
+
continueCurrentListJson(continuation: CurrentListContinuation): Promise<JsonOutcome<CurrentListContinuation>>
|
|
763
|
+
listRecordsAsOfJson(entityRoute: string, options: AsOfListOptions): Promise<JsonOutcome<AsOfListContinuation>>
|
|
764
|
+
continueAsOfListJson(continuation: AsOfListContinuation): Promise<JsonOutcome<AsOfListContinuation>>
|
|
765
|
+
listSnapshotRecordsJson(entityRoute: string, options?: SnapshotListOptions | null): Promise<JsonOutcome<SnapshotListContinuation>>
|
|
766
|
+
continueSnapshotListJson(continuation: SnapshotListContinuation): Promise<JsonOutcome<SnapshotListContinuation>>
|
|
767
|
+
listRelationshipRecordsJson(entityRoute: string, recordIdentifier: string, pathRoute: string, options?: CollectionOptions | null): Promise<JsonOutcome<RelationshipListContinuation>>
|
|
768
|
+
continueRelationshipListJson(continuation: RelationshipListContinuation): Promise<JsonOutcome<RelationshipListContinuation>>
|
|
769
|
+
lookupRecordJson(entityRoute: string, selector: string, valuesJson?: string | null, options?: RecordProjectionOptions | null): Promise<JsonOutcome>
|
|
365
770
|
createRecordJson(binding: BRegCreateBinding, dataJson: string, idempotencyKey: string, format?: RecordFormat | null): Promise<JsonOutcome>
|
|
366
771
|
patchRecordJson(binding: BRegPatchBinding, recordIdentifier: string, etag: string, operationsJson: string, idempotencyKey: string, format?: RecordFormat | null): Promise<JsonOutcome>
|
|
367
772
|
uploadAttachmentJson(slot: BRegAttachmentSlot, recordIdentifier: string, etag: string, upload: BRegAttachmentUpload, idempotencyKey: string, format?: RecordFormat | null): Promise<JsonOutcome>
|