@registrystack/client 0.29.0 → 0.31.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/breg/client.d.ts CHANGED
@@ -1,9 +1,47 @@
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
6
9
 
10
+ export type WebhookVerificationRefusalCode =
11
+ | 'missing_header'
12
+ | 'malformed_signature'
13
+ | 'signature_mismatch'
14
+ | 'unsupported_version'
15
+
16
+ export interface WebhookDeliveryInput {
17
+ method: string
18
+ path: string
19
+ headers: Readonly<Record<string, string>>
20
+ /** Exact bytes in a non-shared backing store. */
21
+ body: Buffer
22
+ /** Secret bytes in a non-shared backing store. */
23
+ key: Buffer
24
+ }
25
+
26
+ export interface VerifiedWebhookDelivery {
27
+ readonly id: string
28
+ readonly source: string
29
+ readonly type: string
30
+ readonly time: string
31
+ readonly dataschema: string
32
+ readonly generation: string
33
+ readonly attempt: string
34
+ readonly deliveryTime: string
35
+ readonly idempotencyKey: string
36
+ readonly body: Buffer
37
+ }
38
+
39
+ /**
40
+ * Authenticate one exact Base Registry Engine Version 1 webhook delivery.
41
+ * Apply delivery-time skew and idempotency policy before acting on the body.
42
+ */
43
+ export declare function verifyWebhookDelivery(input: WebhookDeliveryInput): VerifiedWebhookDelivery
44
+
7
45
  export interface PrivateJwk {
8
46
  readonly kty: string
9
47
  readonly kid: string
@@ -15,7 +53,23 @@ export interface PrivateKeyJwtConfig {
15
53
  tokenEndpoint: string
16
54
  clientId: string
17
55
  clientKey: PrivateJwk
56
+ /**
57
+ * The audience of the client assertion (who checks the client's
58
+ * authentication). Defaults to the token endpoint URL. This is not the
59
+ * `resource` of the token request.
60
+ */
18
61
  audience?: string | null
62
+ /**
63
+ * The RFC 8707 resource indicator the token is requested for: the resource
64
+ * server's registered identifier, not a URL to fetch.
65
+ */
66
+ resource?: string | null
67
+ /**
68
+ * The scopes requested for the token, sent as one space-delimited `scope`
69
+ * parameter. A requested scope may narrow the client's registered
70
+ * permission set; it can never widen it.
71
+ */
72
+ scopes?: ReadonlyArray<string> | null
19
73
  assertionLifetimeSeconds?: SafeInteger | null
20
74
  refreshMarginSeconds?: SafeInteger | null
21
75
  requestTimeoutMilliseconds?: SafeInteger | null
@@ -24,6 +78,15 @@ export interface PrivateKeyJwtConfig {
24
78
  trustedRootCertificates?: string | null
25
79
  }
26
80
 
81
+ /** OAuth credentials are returned to the caller. Keep them out of logs and persistence. */
82
+ export class PrivateKeyJwt {
83
+ constructor(config: PrivateKeyJwtConfig)
84
+ /** Fresh RFC 8693 exchange. Requires resource and scopes; never shares the service cache. */
85
+ exchange(subjectToken: string): Promise<string>
86
+ /** Client credentials with the shared provider's bounded service-token cache. */
87
+ bearerToken(): Promise<string>
88
+ }
89
+
27
90
  export type BaseRegistryAuthorization =
28
91
  | { static: string }
29
92
  | { privateKeyJwt: PrivateKeyJwtConfig }
@@ -40,17 +103,46 @@ export interface BaseRegistryClientConfig {
40
103
 
41
104
  export type RecordFormat = 'json' | 'json-ld'
42
105
 
43
- export interface RecordOptions {
106
+ export interface RecordProjectionOptions {
44
107
  select?: ReadonlyArray<string> | null
45
108
  accessProfile?: string | null
46
109
  format?: RecordFormat | null
47
110
  }
48
111
 
49
- export interface ListOptions extends RecordOptions {
112
+ export interface RecordOptions extends RecordProjectionOptions {
113
+ requestHistoryAfterProposalVersion?: SafeInteger | null
114
+ }
115
+
116
+ export interface ListOptions extends RecordProjectionOptions {
117
+ top?: SafeInteger | null
118
+ filter?: string | null
119
+ orderby?: string | null
120
+ count?: boolean | null
121
+ bbox?: BoundingBox | null
122
+ }
123
+
124
+ export interface CollectionOptions extends RecordProjectionOptions {
125
+ top?: SafeInteger | null
126
+ filter?: string | null
127
+ orderby?: string | null
128
+ count?: boolean | null
129
+ }
130
+ export interface AsOfListOptions extends CollectionOptions { asOf: string }
131
+ export interface SnapshotListOptions extends CollectionOptions {
132
+ snapshot?: string | null
133
+ validAt?: string | null
134
+ }
135
+ export type BoundingBox = readonly [west: string, south: string, east: string, north: string]
136
+ export interface GeoJsonOptions {
137
+ select?: ReadonlyArray<string> | null
138
+ accessProfile?: string | null
139
+ }
140
+ export interface GeoJsonListOptions extends GeoJsonOptions {
50
141
  top?: SafeInteger | null
51
142
  filter?: string | null
52
143
  orderby?: string | null
53
144
  count?: boolean | null
145
+ bbox?: BoundingBox | null
54
146
  }
55
147
 
56
148
  export interface ListContinuation {
@@ -62,14 +154,92 @@ export interface ListContinuation {
62
154
  datasetIdentifier: string
63
155
  entityTypeIdentifier: string
64
156
  }
157
+ export type CurrentListContinuation = ListContinuation
158
+ export interface AsOfListContinuation extends ListContinuation { asOf: string }
159
+ export interface SnapshotListContinuation extends ListContinuation {
160
+ snapshot: string
161
+ validAt?: string
162
+ }
163
+ export interface RelationshipListContinuation extends ListContinuation {
164
+ rootRecordIdentifier: string
165
+ pathRoute: string
166
+ }
167
+ export interface GeoJsonListContinuation {
168
+ route: string
169
+ skiptoken: string
170
+ accessProfile?: string
171
+ }
65
172
 
66
173
  export interface RegistryRecord {
67
174
  recordIdentifier: string
68
175
  revisionIdentifier: string
69
176
  domainData: Readonly<Record<string, JsonValue>>
177
+ request?: BRegRequestMetadata
70
178
  readonly [member: string]: JsonValue | undefined
71
179
  }
72
180
 
181
+ export type BRegRequestReviewStage = JsonObject & {
182
+ readonly id: string
183
+ readonly approvals: SafeInteger
184
+ readonly excludeSubmitter: boolean
185
+ readonly excludePreviousReviewers?: boolean
186
+ }
187
+ export type BRegRequestReviewState = JsonObject & {
188
+ readonly stages: ReadonlyArray<BRegRequestReviewStage>
189
+ readonly submittedAt: string
190
+ readonly pendingStage: string | null
191
+ readonly stageEnteredAt: string | null
192
+ }
193
+ export type BRegRequestReviewTiming = JsonObject & {
194
+ readonly firstSubmittedAt: string
195
+ readonly pausedMilliseconds: SafeInteger
196
+ readonly pauseStartedAt: string | null
197
+ readonly completedAt: string | null
198
+ }
199
+ export type BRegRequestDecision = JsonObject & {
200
+ readonly stageId: string
201
+ readonly kind: 'approve' | 'reject' | 'request_revision'
202
+ readonly decidedAt: string
203
+ readonly reasonPresent: boolean
204
+ readonly reason?: string
205
+ readonly actorReference?: string
206
+ }
207
+ export type BRegRequestState = 'draft' | 'submitted' | 'approved' | 'needs_changes' | 'rejected' | 'canceled' | 'applied'
208
+ export type BRegRetainedRequestProposal = JsonObject & {
209
+ readonly requestEntityId: string
210
+ readonly requestId: string
211
+ readonly proposalVersion: SafeInteger
212
+ readonly bregState: BRegRequestState
213
+ readonly current: boolean
214
+ readonly contractFingerprint: string
215
+ readonly detailErased: boolean
216
+ readonly applicationId: string | null
217
+ readonly resultLinkCount: SafeInteger
218
+ readonly resultLinks: ReadonlyArray<JsonObject>
219
+ readonly effectDigest?: string
220
+ readonly decisions?: ReadonlyArray<BRegRequestDecision>
221
+ }
222
+ export type BRegRetainedRequestHistory = JsonObject & {
223
+ readonly proposals: ReadonlyArray<BRegRetainedRequestProposal>
224
+ readonly nextAfterProposalVersion: SafeInteger | null
225
+ }
226
+ export type BRegRequestMetadata = JsonObject & {
227
+ readonly bregState: BRegRequestState
228
+ readonly proposalVersion: SafeInteger
229
+ readonly effectDigest?: string | null
230
+ readonly proposal?: JsonObject | null
231
+ readonly editable: boolean
232
+ readonly detailErased?: true
233
+ readonly actions?: ReadonlyArray<JsonObject>
234
+ readonly application?: JsonObject | null
235
+ readonly history?: BRegRetainedRequestHistory
236
+ readonly review?: BRegRequestReviewState
237
+ readonly reviewTiming?: BRegRequestReviewTiming
238
+ readonly submitterReference?: string
239
+ readonly applierReference?: string
240
+ readonly decisions?: ReadonlyArray<BRegRequestDecision>
241
+ }
242
+
73
243
  export interface RecordMetadata {
74
244
  registryIdentifier: string
75
245
  datasetIdentifier: string
@@ -106,12 +276,14 @@ export interface CompleteOutcome<T> {
106
276
  location?: string
107
277
  }
108
278
 
109
- export interface PageOutcome {
279
+ export interface PageOutcome<T = RecordCollection, C = ListContinuation> {
110
280
  kind: 'complete'
111
- value: RecordCollection
112
- continuation?: ListContinuation
281
+ value: T
282
+ continuation?: C
113
283
  traceId: string
114
284
  etag?: string
285
+ snapshot?: string
286
+ validAt?: string
115
287
  }
116
288
 
117
289
  export interface RawOutcome {
@@ -144,23 +316,55 @@ export interface LifecycleReviewTarget {
144
316
 
145
317
  export interface LifecycleReview { targets: ReadonlyArray<LifecycleReviewTarget> }
146
318
 
147
- export interface LifecycleReceipt extends JsonObject {
148
- id: string
149
- revision: SafeInteger
150
- snapshot: string
151
- request: JsonObject
319
+ export type LifecycleReceipt = JsonObject & {
320
+ readonly id: string
321
+ readonly revision: SafeInteger
322
+ readonly snapshot: string
323
+ readonly actorReference?: string
324
+ readonly request: BRegLifecycleReceiptRequest
325
+ }
326
+
327
+ export type BRegLifecycleReceiptRequest = JsonObject & {
328
+ readonly bregState: BRegRequestState
329
+ readonly proposalVersion: SafeInteger | null
330
+ readonly effectDigest: string | null
331
+ readonly proposal?: JsonObject | null
332
+ readonly application: JsonObject | null
152
333
  }
153
334
 
154
335
  /** Exact validated JSON text, serialized before conversion to JavaScript numbers.
155
336
  * Decode with a lossless JSON library if inspecting values outside the safe integer range.
156
337
  * Decimal fields remain fixed-scale JSON strings. */
157
- export interface JsonOutcome {
338
+ export interface JsonOutcome<C = ListContinuation> {
158
339
  kind: 'complete'
159
340
  valueJson: string
160
- continuation?: ListContinuation
341
+ continuation?: C
161
342
  traceId: string
162
343
  etag?: string
163
344
  location?: string
345
+ snapshot?: string
346
+ validAt?: string
347
+ }
348
+
349
+ export interface GeoJsonPoint {
350
+ readonly type: 'Point'
351
+ readonly coordinates: readonly [number, number]
352
+ }
353
+ export interface GeoJsonFeature {
354
+ readonly type: 'Feature'
355
+ readonly id: string
356
+ readonly geometry: GeoJsonPoint | null
357
+ readonly properties: Readonly<Record<string, JsonValue>>
358
+ readonly registry: { readonly revision: SafeInteger }
359
+ }
360
+ export interface GeoJsonFeatureCollection {
361
+ readonly type: 'FeatureCollection'
362
+ readonly features: ReadonlyArray<GeoJsonFeature>
363
+ readonly numberReturned: SafeInteger
364
+ readonly registry: {
365
+ readonly pageInfo: { readonly nextCursor: string | null }
366
+ readonly count?: SafeInteger
367
+ }
164
368
  }
165
369
 
166
370
  export interface BRegFieldDescriptor {
@@ -173,6 +377,20 @@ export interface BRegFieldDescriptor {
173
377
  readonly readOnly: boolean
174
378
  readonly removable: boolean
175
379
  readonly referenceTargetEntity: string | null
380
+ readonly codeLabels: Readonly<Record<string, string>>
381
+ readonly storageValidation: {
382
+ readonly kind: string
383
+ readonly pattern: string
384
+ } | null
385
+ readonly reference: {
386
+ readonly manualEntry: boolean
387
+ readonly targetEntity: string | null
388
+ readonly operations: ReadonlyArray<{
389
+ readonly operationId: string
390
+ readonly accessProfile: string
391
+ readonly labelFields: ReadonlyArray<string>
392
+ }>
393
+ } | null
176
394
  }
177
395
  export interface BRegQueryField {
178
396
  readonly id: string
@@ -192,6 +410,29 @@ export interface BRegQueryDescriptor {
192
410
  readonly maxInValues: number
193
411
  readonly pagination: { readonly parameter: string; readonly responsePath: string; readonly exclusive: boolean }
194
412
  readonly temporal: JsonObject | null
413
+ readonly spatialQueries?: {
414
+ readonly bbox: {
415
+ readonly geometryProperty: string
416
+ readonly maximumLongitudeSpanDegrees: number
417
+ readonly maximumLatitudeSpanDegrees: number
418
+ readonly coordinateReferenceSystem: string
419
+ readonly semantics: string
420
+ } | null
421
+ }
422
+ }
423
+ export interface BRegLookupSelectorFieldDescriptor {
424
+ readonly id: string
425
+ readonly apiName: string
426
+ readonly label: string
427
+ readonly schemaJson: string
428
+ readonly required: boolean
429
+ }
430
+ export interface BRegLookupSelectorDescriptor {
431
+ readonly id: string
432
+ readonly label: string
433
+ readonly valueOrigin: string
434
+ readonly fields: ReadonlyArray<BRegLookupSelectorFieldDescriptor>
435
+ readonly requestFields: ReadonlyArray<string>
195
436
  }
196
437
  export interface BRegOperationDescriptor {
197
438
  readonly id: string
@@ -206,9 +447,12 @@ export interface BRegOperationDescriptor {
206
447
  readonly requiredCapabilities: ReadonlyArray<string>
207
448
  readonly fields: ReadonlyArray<BRegFieldDescriptor>
208
449
  readonly readableFields: ReadonlyArray<string>
450
+ readonly readableRequestFields: ReadonlyArray<string>
209
451
  readonly createWritableFields: ReadonlyArray<string>
210
452
  readonly patchWritableFields: ReadonlyArray<string>
211
453
  readonly query: BRegQueryDescriptor | null
454
+ readonly selectors: ReadonlyArray<BRegLookupSelectorDescriptor>
455
+ readonly readPath: { readonly id: string; readonly label: string } | null
212
456
  readonly request: {
213
457
  readonly fieldNames: string | null
214
458
  readonly queryParameters: ReadonlyArray<string>
@@ -221,6 +465,126 @@ export interface BRegOperationDescriptor {
221
465
  readonly patchPathPrefix: string | null
222
466
  readonly patchOperations: ReadonlyArray<string>
223
467
  readonly removeSemantics: string | null
468
+ readonly maximumItems: SafeInteger | null
469
+ readonly maximumBodyBytes: SafeInteger | null
470
+ readonly allowCreate: boolean | null
471
+ readonly allowPatch: boolean | null
472
+ }
473
+ }
474
+
475
+ export interface BRegImmediateActionDescriptor {
476
+ readonly id: string
477
+ readonly contractFingerprint: string
478
+ readonly inputMode: string | null
479
+ readonly maximumInputStringBytes: SafeInteger | null
480
+ readonly inputs: ReadonlyArray<{
481
+ readonly id: string
482
+ readonly apiName: string
483
+ readonly fieldTypeJson: string
484
+ readonly required: boolean
485
+ readonly nullable: boolean | null
486
+ readonly classification: string
487
+ }>
488
+ readonly referenceInputs: ReadonlyArray<{
489
+ readonly input: string
490
+ readonly apiName: string
491
+ readonly targetEntity: string
492
+ }>
493
+ readonly requiredConditionKeys: ReadonlyArray<string>
494
+ readonly resultEffects: ReadonlyArray<{
495
+ readonly effect: string
496
+ readonly entity: string
497
+ readonly operation: string
498
+ }>
499
+ readonly accessProfile: string
500
+ readonly invokePath: string
501
+ readonly targetConditionsPath: string | null
502
+ readonly bounds: {
503
+ readonly maximumTargets: SafeInteger
504
+ readonly maximumFieldMutations: SafeInteger
505
+ readonly maximumSnapshotBytes: SafeInteger
506
+ }
507
+ }
508
+
509
+ export interface BRegActionReceipt {
510
+ readonly action: string
511
+ readonly applicationId: string
512
+ readonly results: Readonly<Record<string, {
513
+ readonly entity: string
514
+ readonly recordId: string
515
+ readonly revision: SafeInteger
516
+ }>>
517
+ }
518
+
519
+ export interface BRegBatchCreateItem {
520
+ readonly operation: 'create'
521
+ readonly data: JsonObject
522
+ }
523
+ export interface BRegBatchPatchItem {
524
+ readonly operation: 'patch'
525
+ readonly recordIdentifier: string
526
+ readonly etag: string
527
+ readonly operations: ReadonlyArray<PatchOperation | RemovePatchOperation>
528
+ }
529
+ export type BRegBatchItem = BRegBatchCreateItem | BRegBatchPatchItem
530
+ export type BRegChangeContext =
531
+ | {
532
+ readonly kind: 'change'
533
+ readonly reasonText?: string
534
+ readonly sourceReferences?: ReadonlyArray<string>
535
+ }
536
+ | {
537
+ readonly kind: 'correction'
538
+ readonly reasonCode: string
539
+ readonly reasonText?: string
540
+ readonly sourceReferences?: ReadonlyArray<string>
541
+ }
542
+ export interface BRegBatchInput {
543
+ readonly items: ReadonlyArray<BRegBatchItem>
544
+ readonly changeContext?: BRegChangeContext
545
+ }
546
+ export interface BRegBatchReceipt {
547
+ readonly snapshot: string
548
+ readonly results: ReadonlyArray<{
549
+ readonly operation: 'create' | 'patch'
550
+ readonly id: string
551
+ readonly revision: SafeInteger
552
+ readonly etag: string
553
+ readonly data: Readonly<Record<string, JsonValue>>
554
+ }>
555
+ }
556
+
557
+ export interface BRegChangeRequestCapability {
558
+ readonly planner: {
559
+ readonly kind: 'declarative' | 'rhai'
560
+ readonly abi: string | null
561
+ readonly limits: {
562
+ readonly maximumTargets: SafeInteger
563
+ readonly maximumFieldMutations: SafeInteger
564
+ readonly maximumSnapshotBytes: SafeInteger
565
+ readonly maximumSourceBytes: SafeInteger
566
+ readonly maximumOperations: SafeInteger
567
+ readonly maximumCallDepth: SafeInteger
568
+ readonly maximumExpressionDepth: SafeInteger
569
+ readonly maximumStringBytes: SafeInteger
570
+ readonly maximumArrayItems: SafeInteger
571
+ readonly maximumMapEntries: SafeInteger
572
+ readonly maximumModules: SafeInteger
573
+ } | null
574
+ readonly possibleWriteCount: SafeInteger | null
575
+ readonly possibleWriteOperations: ReadonlyArray<string>
576
+ }
577
+ readonly reviewMode: 'none' | 'staged'
578
+ readonly stages: ReadonlyArray<{
579
+ readonly id: string
580
+ readonly approvals: SafeInteger
581
+ readonly excludeSubmitter: boolean
582
+ readonly excludePreviousReviewers: boolean
583
+ }> | null
584
+ readonly application: {
585
+ readonly mode: 'manual' | 'automatic' | 'planner'
586
+ readonly allowedDispositions: ReadonlyArray<'apply' | 'queue'>
587
+ readonly queueReasons: ReadonlyArray<{ readonly code: string; readonly label: string }>
224
588
  }
225
589
  }
226
590
 
@@ -284,6 +648,29 @@ export declare class BRegPatchBinding {
284
648
  private constructor()
285
649
  private readonly __opaque: void
286
650
  }
651
+ /** Opaque authority for one metadata-selected immediate action. */
652
+ export declare class BRegImmediateActionBinding {
653
+ private constructor()
654
+ private readonly __opaque: void
655
+ }
656
+ /** Opaque target conditions obtained for one selected action and input set. */
657
+ export declare class BRegActionTargetConditions {
658
+ private constructor()
659
+ private readonly __opaque: void
660
+ readonly preconditionKeys: ReadonlyArray<string>
661
+ readonly valueJson: string
662
+ readonly traceId: string
663
+ }
664
+ /** Opaque authority for one metadata-selected Tombstone operation. */
665
+ export declare class BRegTombstoneBinding {
666
+ private constructor()
667
+ private readonly __opaque: void
668
+ }
669
+ /** Opaque authority for one metadata-selected atomic Batch operation. */
670
+ export declare class BRegBatchBinding {
671
+ private constructor()
672
+ private readonly __opaque: void
673
+ }
287
674
  /** Opaque lifecycle authority selected from metadata fetched by this client source. */
288
675
  export declare class BRegLifecycleAuthority {
289
676
  private constructor()
@@ -304,26 +691,61 @@ export declare class BRegLifecycleAction {
304
691
  readonly review: LifecycleReview | null
305
692
  }
306
693
 
694
+ /** Inert bounded Create evidence. Persist these bytes with owner-only access. */
695
+ export declare class BRegPreparedCreate {
696
+ private constructor()
697
+ private readonly __opaque: void
698
+ static fromBytes(bytes: Buffer): BRegPreparedCreate
699
+ toBytes(): Buffer
700
+ }
701
+
702
+ /** Inert bounded lifecycle evidence. Persist these bytes with owner-only access. */
703
+ export declare class BRegPreparedLifecycle {
704
+ private constructor()
705
+ private readonly __opaque: void
706
+ static fromBytes(bytes: Buffer): BRegPreparedLifecycle
707
+ toBytes(): Buffer
708
+ }
709
+
710
+ /** Revalidated Create request. It still requires fresh metadata authority to send. */
711
+ export declare class BRegRecoveredCreate {
712
+ private constructor()
713
+ private readonly __opaque: void
714
+ }
715
+
716
+ /** Revalidated lifecycle action. It remains inert until explicitly sent. */
717
+ export declare class BRegRecoveredLifecycle {
718
+ private constructor()
719
+ private readonly __opaque: void
720
+ }
721
+
307
722
  /** Caller-filtered metadata bound to the exact client source that fetched it. */
308
723
  export declare class BRegMetadata {
309
724
  private constructor()
310
725
  private readonly __opaque: void
311
726
  readonly operations: ReadonlyArray<BRegOperationDescriptor>
727
+ readonly immediateActions: ReadonlyArray<BRegImmediateActionDescriptor>
728
+ readonly actionsJson: string | null
312
729
  readonly registryIdentifier: string
313
730
  readonly registryVersion: string
314
731
  readonly registryRevision: string
315
732
  readonly traceId: string
316
733
  readonly etag: string | null
734
+ changeRequestCapability(entityIdentifier: string): BRegChangeRequestCapability | null
317
735
  selectCreate(operationIdentifier: string, expectedProfile: string): BRegCreateBinding
318
736
  selectPatch(operationIdentifier: string, expectedProfile: string): BRegPatchBinding
319
737
  selectLifecycle(entityIdentifier: string, expectedProfile: string): BRegLifecycleAuthority
320
738
  selectAttachments(entityIdentifier: string, expectedProfile: string): ReadonlyArray<BRegAttachmentSlot>
739
+ selectImmediateAction(actionIdentifier: string, expectedProfile: string): BRegImmediateActionBinding
740
+ selectTombstone(entityIdentifier: string, expectedProfile: string): BRegTombstoneBinding
741
+ selectBatch(entityIdentifier: string, expectedProfile: string): BRegBatchBinding
321
742
  }
322
743
 
323
744
  export interface BaseRegistryClientFailure extends Error {
324
745
  readonly kind: string
325
746
  readonly code?: string
326
747
  readonly planRefusal?: string
748
+ readonly refusalCode?: string
327
749
  readonly status?: number
328
750
  readonly traceId?: string
329
751
  readonly transportKind?: string
@@ -334,6 +756,7 @@ export declare class BaseRegistryClientError extends Error implements BaseRegist
334
756
  readonly kind: string
335
757
  readonly code?: string
336
758
  readonly planRefusal?: string
759
+ readonly refusalCode?: string
337
760
  readonly status?: number
338
761
  readonly traceId?: string
339
762
  readonly transportKind?: string
@@ -348,20 +771,62 @@ export declare class BaseRegistryClient {
348
771
  registryMetadata(accessProfile?: string | null): Promise<RawOutcome>
349
772
  registryContract(accessProfile?: string | null): Promise<BRegMetadata>
350
773
  entitySchema(entityIdentifier: string, accessProfile?: string | null): Promise<RawOutcome>
774
+ recordRevisions(entityRoute: string, recordIdentifier: string, accessProfile?: string | null): Promise<RawOutcome>
775
+ getRecordRevision(entityRoute: string, recordIdentifier: string, revision: SafeInteger, options?: RecordProjectionOptions | null): Promise<RawOutcome>
351
776
  getRecord(entityRoute: string, recordIdentifier: string, options?: RecordOptions | null): Promise<CompleteOutcome<RecordEnvelope>>
352
777
  listRecords(entityRoute: string, options?: ListOptions | null): Promise<PageOutcome>
353
778
  continueList(continuation: ListContinuation): Promise<PageOutcome>
354
- lookupRecord(entityRoute: string, selector: string, values?: JsonObject | null, options?: RecordOptions | null): Promise<CompleteOutcome<RecordEnvelope>>
779
+ getGeoJsonRecord(entityRoute: string, recordIdentifier: string, options?: GeoJsonOptions | null): Promise<CompleteOutcome<GeoJsonFeature>>
780
+ listGeoJsonRecords(entityRoute: string, options?: GeoJsonListOptions | null): Promise<PageOutcome<GeoJsonFeatureCollection, GeoJsonListContinuation>>
781
+ continueGeoJsonList(continuation: GeoJsonListContinuation): Promise<PageOutcome<GeoJsonFeatureCollection, GeoJsonListContinuation>>
782
+ listCurrentRecords(entityRoute: string, options?: CollectionOptions | null): Promise<PageOutcome<RecordCollection, CurrentListContinuation>>
783
+ continueCurrentList(continuation: CurrentListContinuation): Promise<PageOutcome<RecordCollection, CurrentListContinuation>>
784
+ listRecordsAsOf(entityRoute: string, options: AsOfListOptions): Promise<PageOutcome<RecordCollection, AsOfListContinuation>>
785
+ continueAsOfList(continuation: AsOfListContinuation): Promise<PageOutcome<RecordCollection, AsOfListContinuation>>
786
+ listSnapshotRecords(entityRoute: string, options?: SnapshotListOptions | null): Promise<PageOutcome<RecordCollection, SnapshotListContinuation>>
787
+ continueSnapshotList(continuation: SnapshotListContinuation): Promise<PageOutcome<RecordCollection, SnapshotListContinuation>>
788
+ listRelationshipRecords(entityRoute: string, recordIdentifier: string, pathRoute: string, options?: CollectionOptions | null): Promise<PageOutcome<RecordCollection, RelationshipListContinuation>>
789
+ continueRelationshipList(continuation: RelationshipListContinuation): Promise<PageOutcome<RecordCollection, RelationshipListContinuation>>
790
+ lookupRecord(entityRoute: string, selector: string, values?: JsonObject | null, options?: RecordProjectionOptions | null): Promise<CompleteOutcome<RecordEnvelope>>
791
+ actionTargetConditions(binding: BRegImmediateActionBinding, inputs: JsonObject): Promise<BRegActionTargetConditions>
792
+ actionTargetConditionsJson(binding: BRegImmediateActionBinding, inputsJson: string): Promise<BRegActionTargetConditions>
793
+ invokeAction(binding: BRegImmediateActionBinding, inputs: JsonObject, idempotencyKey: string, conditions?: BRegActionTargetConditions | null): Promise<CompleteOutcome<BRegActionReceipt>>
794
+ invokeActionJson(binding: BRegImmediateActionBinding, inputsJson: string, idempotencyKey: string, conditions?: BRegActionTargetConditions | null): Promise<JsonOutcome>
355
795
  createRecord(binding: BRegCreateBinding, data: JsonObject, idempotencyKey: string, format?: RecordFormat | null): Promise<CompleteOutcome<RecordEnvelope>>
796
+ prepareCreate(binding: BRegCreateBinding, data: JsonObject, idempotencyKey: string, format?: RecordFormat | null): BRegPreparedCreate
797
+ prepareCreateJson(binding: BRegCreateBinding, dataJson: string, idempotencyKey: string, format?: RecordFormat | null): BRegPreparedCreate
798
+ recoverCreate(binding: BRegCreateBinding, prepared: BRegPreparedCreate): BRegRecoveredCreate
799
+ executeRecoveredCreate(binding: BRegCreateBinding, recovered: BRegRecoveredCreate): Promise<CompleteOutcome<RecordEnvelope>>
800
+ executeRecoveredCreateJson(binding: BRegCreateBinding, recovered: BRegRecoveredCreate): Promise<JsonOutcome>
356
801
  patchRecord(binding: BRegPatchBinding, recordIdentifier: string, etag: string, operations: ReadonlyArray<PatchOperation | RemovePatchOperation>, idempotencyKey: string, format?: RecordFormat | null): Promise<CompleteOutcome<RecordEnvelope>>
802
+ batchRecords(binding: BRegBatchBinding, request: BRegBatchInput, idempotencyKey: string): Promise<CompleteOutcome<BRegBatchReceipt>>
803
+ batchRecordsJson(binding: BRegBatchBinding, requestJson: string, idempotencyKey: string): Promise<JsonOutcome>
804
+ tombstoneRecord(binding: BRegTombstoneBinding, recordIdentifier: string, etag: string, idempotencyKey: string, format?: RecordFormat | null): Promise<CompleteOutcome<RecordEnvelope>>
805
+ tombstoneRecordJson(binding: BRegTombstoneBinding, recordIdentifier: string, etag: string, idempotencyKey: string, format?: RecordFormat | null): Promise<JsonOutcome>
357
806
  lifecycleActions(authority: BRegLifecycleAuthority, record: RecordEnvelope, format?: RecordFormat | null): ReadonlyArray<BRegLifecycleAction>
807
+ prepareLifecycleAction(authority: BRegLifecycleAuthority, record: RecordEnvelope, action: BRegLifecycleAction, idempotencyKey: string, format?: RecordFormat | null): BRegPreparedLifecycle
808
+ prepareLifecycleActionJson(authority: BRegLifecycleAuthority, recordJson: string, action: BRegLifecycleAction, idempotencyKey: string, format?: RecordFormat | null): BRegPreparedLifecycle
809
+ recoverLifecycleAction(authority: BRegLifecycleAuthority, prepared: BRegPreparedLifecycle): BRegRecoveredLifecycle
810
+ executeRecoveredLifecycleAction(recovered: BRegRecoveredLifecycle): Promise<CompleteOutcome<LifecycleReceipt>>
811
+ executeRecoveredLifecycleActionJson(recovered: BRegRecoveredLifecycle): Promise<JsonOutcome>
358
812
  uploadAttachment(slot: BRegAttachmentSlot, recordIdentifier: string, etag: string, upload: BRegAttachmentUpload, idempotencyKey: string, format?: RecordFormat | null): Promise<CompleteOutcome<RecordEnvelope>>
359
813
  downloadAttachment(slot: BRegAttachmentSlot, recordIdentifier: string, proposalVersion: SafeInteger): Promise<RawOutcome>
360
814
  deleteAttachment(slot: BRegAttachmentSlot, recordIdentifier: string, etag: string, idempotencyKey: string, format?: RecordFormat | null): Promise<CompleteOutcome<RecordEnvelope>>
361
815
  getRecordJson(entityRoute: string, recordIdentifier: string, options?: RecordOptions | null): Promise<JsonOutcome>
362
816
  listRecordsJson(entityRoute: string, options?: ListOptions | null): Promise<JsonOutcome>
363
817
  continueListJson(continuation: ListContinuation): Promise<JsonOutcome>
364
- lookupRecordJson(entityRoute: string, selector: string, valuesJson?: string | null, options?: RecordOptions | null): Promise<JsonOutcome>
818
+ getGeoJsonRecordJson(entityRoute: string, recordIdentifier: string, options?: GeoJsonOptions | null): Promise<JsonOutcome>
819
+ listGeoJsonRecordsJson(entityRoute: string, options?: GeoJsonListOptions | null): Promise<JsonOutcome<GeoJsonListContinuation>>
820
+ continueGeoJsonListJson(continuation: GeoJsonListContinuation): Promise<JsonOutcome<GeoJsonListContinuation>>
821
+ listCurrentRecordsJson(entityRoute: string, options?: CollectionOptions | null): Promise<JsonOutcome<CurrentListContinuation>>
822
+ continueCurrentListJson(continuation: CurrentListContinuation): Promise<JsonOutcome<CurrentListContinuation>>
823
+ listRecordsAsOfJson(entityRoute: string, options: AsOfListOptions): Promise<JsonOutcome<AsOfListContinuation>>
824
+ continueAsOfListJson(continuation: AsOfListContinuation): Promise<JsonOutcome<AsOfListContinuation>>
825
+ listSnapshotRecordsJson(entityRoute: string, options?: SnapshotListOptions | null): Promise<JsonOutcome<SnapshotListContinuation>>
826
+ continueSnapshotListJson(continuation: SnapshotListContinuation): Promise<JsonOutcome<SnapshotListContinuation>>
827
+ listRelationshipRecordsJson(entityRoute: string, recordIdentifier: string, pathRoute: string, options?: CollectionOptions | null): Promise<JsonOutcome<RelationshipListContinuation>>
828
+ continueRelationshipListJson(continuation: RelationshipListContinuation): Promise<JsonOutcome<RelationshipListContinuation>>
829
+ lookupRecordJson(entityRoute: string, selector: string, valuesJson?: string | null, options?: RecordProjectionOptions | null): Promise<JsonOutcome>
365
830
  createRecordJson(binding: BRegCreateBinding, dataJson: string, idempotencyKey: string, format?: RecordFormat | null): Promise<JsonOutcome>
366
831
  patchRecordJson(binding: BRegPatchBinding, recordIdentifier: string, etag: string, operationsJson: string, idempotencyKey: string, format?: RecordFormat | null): Promise<JsonOutcome>
367
832
  uploadAttachmentJson(slot: BRegAttachmentSlot, recordIdentifier: string, etag: string, upload: BRegAttachmentUpload, idempotencyKey: string, format?: RecordFormat | null): Promise<JsonOutcome>