@registrystack/client 0.45.0 → 0.46.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 +1 -1
- package/compatibility.json +3 -3
- package/coordinator/client.d.ts +8 -5
- package/coordinator/index.d.ts +1 -1
- package/evidence/client.d.ts +45 -0
- package/evidence/index.d.ts +6 -2
- package/native.js +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -189,7 +189,7 @@ Coordinator joins the seven-product roster at v0.44.0. The source facade also
|
|
|
189
189
|
contains held `render` and `@registrystack/client/render` namespaces. Default
|
|
190
190
|
assembly omits Render; `--include-render` adds it to an explicit local candidate
|
|
191
191
|
and does not authorize publication. Render takes a token or a resource-bound provider with
|
|
192
|
-
`bearerToken()` and performs one bounded render exchange. A correlation key is
|
|
192
|
+
`bearerToken()` and performs one bounded render or seal exchange. A correlation key is
|
|
193
193
|
not a durable idempotency promise. `outcomeUnknown` and `transportKind` preserve
|
|
194
194
|
whether an exchange may have completed; provider errors keep their own class.
|
|
195
195
|
Coordinator is optional.
|
package/compatibility.json
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
"schemaVersion": "registry-stack.sdk-compatibility.v1",
|
|
3
3
|
"sdkPackage": {
|
|
4
4
|
"name": "registry-stack-client",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.46.0"
|
|
6
6
|
},
|
|
7
7
|
"namespaces": {
|
|
8
8
|
"discovery": {
|
|
9
|
-
"testedServerBaseline": "0.
|
|
10
|
-
"compatibleServerPatchLine": "0.
|
|
9
|
+
"testedServerBaseline": "0.46.0",
|
|
10
|
+
"compatibleServerPatchLine": "0.46.x",
|
|
11
11
|
"responseCompatibility": {
|
|
12
12
|
"additiveObjectMembers": "ignored-after-duplicate-key-rejection",
|
|
13
13
|
"unknownProblemCodes": "http-status-only",
|
package/coordinator/client.d.ts
CHANGED
|
@@ -227,12 +227,15 @@ export class CoordinatorClient {
|
|
|
227
227
|
reconcile(token: string, runId: RunId, reason: string): Promise<CoordinatorOutcome<RunInspection>>
|
|
228
228
|
/**
|
|
229
229
|
* Read one stable page of caller-visible runs. Pass `nextCursor` unchanged
|
|
230
|
-
* with the same caller, `state`, `attention`, `proposal`,
|
|
231
|
-
* values. `attention: true` selects the effective states
|
|
232
|
-
* `failed`. `proposal` selects runs waiting on that BReg
|
|
233
|
-
* selects runs whose Proposal wait last showed that turn.
|
|
230
|
+
* with the same caller, `state`, `attention`, `proposal`, `turn`, and
|
|
231
|
+
* `outcome` values. `attention: true` selects the effective states
|
|
232
|
+
* `attention` and `failed`. `proposal` selects runs waiting on that BReg
|
|
233
|
+
* Proposal; `turn` selects runs whose Proposal wait last showed that turn.
|
|
234
|
+
* `outcome` selects runs that finished with that workflow outcome, matched
|
|
235
|
+
* exactly; it is 1 to 64 letters, digits, hyphens or underscores, checked
|
|
236
|
+
* before sending.
|
|
234
237
|
*/
|
|
235
|
-
list(token: string, limit: SafeInteger, cursor?: string | null, state?: RunListState | null, attention?: boolean | null, proposal?: string | null, turn?: ProposalTurn | null): Promise<CoordinatorOutcome<RunList>>
|
|
238
|
+
list(token: string, limit: SafeInteger, cursor?: string | null, state?: RunListState | null, attention?: boolean | null, proposal?: string | null, turn?: ProposalTurn | null, outcome?: string | null): Promise<CoordinatorOutcome<RunList>>
|
|
236
239
|
/**
|
|
237
240
|
* Schedule the run's saved command again, unchanged, when its inspection
|
|
238
241
|
* allows a retry. Takes no idempotency key, so it is sent exactly once. `reason` is
|
package/coordinator/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare class CoordinatorClient {
|
|
|
8
8
|
status(token: string, runId: import('./client').RunId): Promise<import('./client').CoordinatorOutcome<import('./client').RunStatus>>
|
|
9
9
|
inspect(token: string, runId: import('./client').RunId): Promise<import('./client').CoordinatorOutcome<import('./client').RunInspection>>
|
|
10
10
|
reconcile(token: string, runId: import('./client').RunId, reason: string): Promise<import('./client').CoordinatorOutcome<import('./client').RunInspection>>
|
|
11
|
-
list(token: string, limit: number, cursor?: string | null, state?: import('./client').RunListState | null, attention?: boolean | null, proposal?: string | null, turn?: import('./client').ProposalTurn | null): Promise<import('./client').CoordinatorOutcome<import('./client').RunList>>
|
|
11
|
+
list(token: string, limit: number, cursor?: string | null, state?: import('./client').RunListState | null, attention?: boolean | null, proposal?: string | null, turn?: import('./client').ProposalTurn | null, outcome?: string | null): Promise<import('./client').CoordinatorOutcome<import('./client').RunList>>
|
|
12
12
|
retrySame(token: string, runId: import('./client').RunId, reason: string): Promise<import('./client').CoordinatorOutcome<import('./client').RetryScheduled>>
|
|
13
13
|
cancel(token: string, runId: import('./client').RunId, reason: string): Promise<import('./client').CoordinatorOutcome<import('./client').RunStatus>>
|
|
14
14
|
}
|
package/evidence/client.d.ts
CHANGED
|
@@ -30,6 +30,39 @@ import {
|
|
|
30
30
|
/** The signed response encoding closed before one request is sent. */
|
|
31
31
|
export type EvidenceResponseFormat = 'signed-jws' | 'sd-jwt-vc'
|
|
32
32
|
|
|
33
|
+
/**
|
|
34
|
+
* How an assertion's facts were obtained. `source` means Evidence acquired
|
|
35
|
+
* them itself from an authoritative source; `holder-presented` means a holder
|
|
36
|
+
* presented another issuer's credential and Evidence verified it. A request
|
|
37
|
+
* accepts `source` only unless it names more in `acceptedChannels`.
|
|
38
|
+
*/
|
|
39
|
+
export type EvidenceChannel = 'source' | 'holder-presented'
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* The channel policy a request or request batch may state. Both members are
|
|
43
|
+
* optional: absent `acceptedChannels` means `['source']` only, so a request
|
|
44
|
+
* that never names a channel refuses an assertion a holder presented, and
|
|
45
|
+
* absent `maximumCredentialAgeSeconds` means no credential age bound, which
|
|
46
|
+
* applies to `holder-presented` assertions only.
|
|
47
|
+
*/
|
|
48
|
+
export interface EvidenceChannelPolicy {
|
|
49
|
+
acceptedChannels?: ReadonlyArray<EvidenceChannel>
|
|
50
|
+
maximumCredentialAgeSeconds?: number
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* What a `holder-presented` assertion states about the credential the holder
|
|
55
|
+
* presented: the `presentedCredential` member of a verified `evidence`, present
|
|
56
|
+
* if and only if its `channel` is `holder-presented`.
|
|
57
|
+
*/
|
|
58
|
+
export interface PresentedCredential {
|
|
59
|
+
readonly trustEntry: string
|
|
60
|
+
readonly issuer: string
|
|
61
|
+
readonly type: string
|
|
62
|
+
readonly issuedAt: string
|
|
63
|
+
readonly subjectLink: 'possession' | 'attribute-match'
|
|
64
|
+
}
|
|
65
|
+
|
|
33
66
|
/** An opaque, versioned subject-continuity receipt owned by the application. */
|
|
34
67
|
export interface SubjectBindingReceipt {
|
|
35
68
|
readonly schema: 'registry.evidence-subject-binding-receipt/v1'
|
|
@@ -81,6 +114,10 @@ export type AudienceScopedRequest = {
|
|
|
81
114
|
subjects?: Readonly<Record<string, Readonly<Record<string, string | number | boolean>>>>
|
|
82
115
|
/** A prior receipt the application chose to retain. Nothing is persisted by this package. */
|
|
83
116
|
bindingReceipt?: SubjectBindingReceipt
|
|
117
|
+
/** See `EvidenceChannelPolicy`. Absent means `source` only. */
|
|
118
|
+
acceptedChannels?: ReadonlyArray<EvidenceChannel>
|
|
119
|
+
/** See `EvidenceChannelPolicy`. Absent means no credential age bound. */
|
|
120
|
+
maximumCredentialAgeSeconds?: number
|
|
84
121
|
}
|
|
85
122
|
|
|
86
123
|
/**
|
|
@@ -296,6 +333,10 @@ export interface EvidenceRequestSpec {
|
|
|
296
333
|
expectedOutputs: ReadonlyArray<Readonly<Record<string, unknown>>>
|
|
297
334
|
maximumAssertionLifetimeSeconds: number
|
|
298
335
|
clockSkewSeconds: number
|
|
336
|
+
/** See `EvidenceChannelPolicy`. Absent means `source` only. */
|
|
337
|
+
acceptedChannels?: ReadonlyArray<EvidenceChannel>
|
|
338
|
+
/** See `EvidenceChannelPolicy`. Absent means no credential age bound. */
|
|
339
|
+
maximumCredentialAgeSeconds?: number
|
|
299
340
|
subjectExpectations:
|
|
300
341
|
| 'acceptFirstUse'
|
|
301
342
|
| { pinned: ReadonlyArray<{ role: string; binding: string }> }
|
|
@@ -329,6 +370,10 @@ export interface EvidenceRequestBatchSpec {
|
|
|
329
370
|
expectedOutputs: ReadonlyArray<Readonly<Record<string, unknown>>>
|
|
330
371
|
maximumAssertionLifetimeSeconds: number
|
|
331
372
|
clockSkewSeconds: number
|
|
373
|
+
/** See `EvidenceChannelPolicy`. Absent means `source` only. */
|
|
374
|
+
acceptedChannels?: ReadonlyArray<EvidenceChannel>
|
|
375
|
+
/** See `EvidenceChannelPolicy`. Absent means no credential age bound. */
|
|
376
|
+
maximumCredentialAgeSeconds?: number
|
|
332
377
|
items: ReadonlyArray<EvidenceRequestBatchItemSpec>
|
|
333
378
|
}
|
|
334
379
|
|
package/evidence/index.d.ts
CHANGED
|
@@ -56,7 +56,7 @@ export declare class EvidenceClient {
|
|
|
56
56
|
* a multi-subject request batch. No I/O happens here, and the returned
|
|
57
57
|
* opaque batch is good for exactly one exchange.
|
|
58
58
|
*/
|
|
59
|
-
prepareBatch(spec: { requirement: string; purpose: string; audience: string; evidenceType: string; issuedBy: string; providedBy: string; configurationRevision: string; expectedAssuranceProfile: any; expectedOutputs: ReadonlyArray<Readonly<Record<string, any>>>; maximumAssertionLifetimeSeconds: number; clockSkewSeconds: number; items: ReadonlyArray<{ subjects: ReadonlyArray<{ role: string; selectorProfile: string; selectorValues?: Readonly<Record<string, string | number | boolean>> | null }>; subjectExpectations: 'acceptFirstUse' | { pinned: ReadonlyArray<{ role: string; binding: string }> } }> }): PreparedEvidenceRequestBatch
|
|
59
|
+
prepareBatch(spec: { requirement: string; purpose: string; audience: string; evidenceType: string; issuedBy: string; providedBy: string; configurationRevision: string; expectedAssuranceProfile: any; expectedOutputs: ReadonlyArray<Readonly<Record<string, any>>>; maximumAssertionLifetimeSeconds: number; clockSkewSeconds: number; acceptedChannels?: ReadonlyArray<'source' | 'holder-presented'>; maximumCredentialAgeSeconds?: number; items: ReadonlyArray<{ subjects: ReadonlyArray<{ role: string; selectorProfile: string; selectorValues?: Readonly<Record<string, string | number | boolean>> | null }>; subjectExpectations: 'acceptFirstUse' | { pinned: ReadonlyArray<{ role: string; binding: string }> } }> }): PreparedEvidenceRequestBatch
|
|
60
60
|
/**
|
|
61
61
|
* Read the request shapes this requester is entitled to send. Discovery
|
|
62
62
|
* is authoring input, not a trust anchor: it never supplies verification
|
|
@@ -275,7 +275,11 @@ export type SubjectContinuity =
|
|
|
275
275
|
* opaque.
|
|
276
276
|
*/
|
|
277
277
|
export interface VerifiedEvidence {
|
|
278
|
-
/**
|
|
278
|
+
/**
|
|
279
|
+
* The verified payload, serialized field for field with no hand mapping.
|
|
280
|
+
* Its `channel` is `source` or `holder-presented`, and a
|
|
281
|
+
* `holder-presented` payload also carries `presentedCredential`.
|
|
282
|
+
*/
|
|
279
283
|
evidence: any
|
|
280
284
|
/**
|
|
281
285
|
* The validated W3C trace identifier for the exchange that produced this
|
package/native.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@registrystack/client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.46.0",
|
|
4
4
|
"description": "Unified Node.js client for Registry Stack products.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://docs.registrystack.org/reference/client-api/",
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
"typescript": "6.0.3"
|
|
69
69
|
},
|
|
70
70
|
"optionalDependencies": {
|
|
71
|
-
"@registrystack/client-darwin-arm64": "0.
|
|
72
|
-
"@registrystack/client-linux-arm64-gnu": "0.
|
|
73
|
-
"@registrystack/client-linux-x64-gnu": "0.
|
|
71
|
+
"@registrystack/client-darwin-arm64": "0.46.0",
|
|
72
|
+
"@registrystack/client-linux-arm64-gnu": "0.46.0",
|
|
73
|
+
"@registrystack/client-linux-x64-gnu": "0.46.0"
|
|
74
74
|
}
|
|
75
75
|
}
|