@openzeppelin/guardian-operator-client 0.14.3 → 0.14.7
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 +319 -8
- package/dist/http.d.ts +158 -2
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +909 -11
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/permissions.d.ts +15 -0
- package/dist/permissions.d.ts.map +1 -0
- package/dist/permissions.js +13 -0
- package/dist/permissions.js.map +1 -0
- package/dist/server-types.d.ts +35 -0
- package/dist/server-types.d.ts.map +1 -1
- package/dist/server-types.js +5 -1
- package/dist/server-types.js.map +1 -1
- package/dist/types.d.ts +403 -7
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,44 @@
|
|
|
1
|
+
import type { OperatorPermission } from './permissions.js';
|
|
1
2
|
export type DashboardAccountStateStatus = 'available' | 'unavailable';
|
|
2
3
|
export interface GuardianOperatorHttpErrorData {
|
|
3
4
|
success: false;
|
|
5
|
+
/**
|
|
6
|
+
* Stable, machine-readable error code emitted by the server. Clients
|
|
7
|
+
* SHOULD branch on this rather than on `error` (the human message) or
|
|
8
|
+
* the HTTP status alone. Codes added by feature
|
|
9
|
+
* `005-operator-dashboard-metrics` are typed via {@link DashboardErrorCode};
|
|
10
|
+
* other codes (e.g. `account_not_found`, `authentication_failed`) are
|
|
11
|
+
* forwarded as raw strings.
|
|
12
|
+
*/
|
|
13
|
+
code?: string;
|
|
4
14
|
error: string;
|
|
5
15
|
retryAfterSecs?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Feature 006-operator-authz FR-016 / FR-017: populated only for
|
|
18
|
+
* `insufficient_operator_permission` responses. Lists the
|
|
19
|
+
* permission strings the route required that the authenticated
|
|
20
|
+
* operator does not hold, sorted lexicographically. Absent for
|
|
21
|
+
* every other error code.
|
|
22
|
+
*/
|
|
23
|
+
missingPermissions?: readonly string[];
|
|
24
|
+
/**
|
|
25
|
+
* Feature 006-operator-authz FR-016: explicit retryability flag.
|
|
26
|
+
* `false` for permission denials (the contract pins this); absent
|
|
27
|
+
* for every other code so existing parsers see no change.
|
|
28
|
+
*/
|
|
29
|
+
retryable?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Populated only for `account_paused` responses. RFC 3339 UTC
|
|
32
|
+
* timestamp of the original pause.
|
|
33
|
+
*/
|
|
34
|
+
pausedAt?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Populated only for `account_paused`. Reason captured at first
|
|
37
|
+
* pause; `null` is possible when the server has no recorded reason
|
|
38
|
+
* (the request body required a reason, but the field is nullable
|
|
39
|
+
* for forward compatibility).
|
|
40
|
+
*/
|
|
41
|
+
pausedReason?: string | null;
|
|
6
42
|
}
|
|
7
43
|
export interface GuardianOperatorHttpClientOptions {
|
|
8
44
|
baseUrl: string;
|
|
@@ -33,8 +69,26 @@ export interface VerifyOperatorResponse {
|
|
|
33
69
|
export interface LogoutOperatorResponse {
|
|
34
70
|
success: true;
|
|
35
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Response shape for `GET /dashboard/session`. `permissions` is sorted
|
|
74
|
+
* lexicographic ASCII and may be empty (means "logged in, no
|
|
75
|
+
* capabilities" — distinct from a 401). The parser validates every
|
|
76
|
+
* entry against the known operator-permission vocabulary, so an
|
|
77
|
+
* unknown string surfaces as a contract error rather than flowing
|
|
78
|
+
* through silently.
|
|
79
|
+
*/
|
|
80
|
+
export interface SessionInfoResponse {
|
|
81
|
+
operatorId: string;
|
|
82
|
+
permissions: OperatorPermission[];
|
|
83
|
+
}
|
|
36
84
|
export interface DashboardAccountSummary {
|
|
37
85
|
accountId: string;
|
|
86
|
+
/**
|
|
87
|
+
* Bech32m encoding of the Miden `AccountId` using the network's
|
|
88
|
+
* HRP (`mm` mainnet, `mtst` testnet, `mdev` devnet/local). Absent
|
|
89
|
+
* for EVM accounts and any Miden id that fails to parse.
|
|
90
|
+
*/
|
|
91
|
+
accountIdBech32?: string;
|
|
38
92
|
authScheme: string;
|
|
39
93
|
authorizedSignerCount: number;
|
|
40
94
|
hasPendingCandidate: boolean;
|
|
@@ -42,19 +96,361 @@ export interface DashboardAccountSummary {
|
|
|
42
96
|
stateStatus: DashboardAccountStateStatus;
|
|
43
97
|
createdAt: string;
|
|
44
98
|
updatedAt: string;
|
|
99
|
+
/** RFC 3339 UTC timestamp of the original pause; `null` when active. */
|
|
100
|
+
pausedAt: string | null;
|
|
101
|
+
/** Reason captured at first pause; `null` when active. */
|
|
102
|
+
pausedReason: string | null;
|
|
45
103
|
}
|
|
46
104
|
export interface DashboardAccountDetail extends DashboardAccountSummary {
|
|
47
105
|
authorizedSignerIds: string[];
|
|
48
106
|
stateCreatedAt: string | null;
|
|
49
107
|
stateUpdatedAt: string | null;
|
|
50
108
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
109
|
+
/** Two-state account lifecycle flag. */
|
|
110
|
+
export type AccountStatus = 'active' | 'paused';
|
|
111
|
+
export interface PauseAccountResponse {
|
|
112
|
+
accountId: string;
|
|
113
|
+
beforeState: AccountStatus;
|
|
114
|
+
afterState: AccountStatus;
|
|
115
|
+
pausedAt: string;
|
|
116
|
+
pausedReason: string;
|
|
55
117
|
}
|
|
56
|
-
export interface
|
|
57
|
-
|
|
58
|
-
|
|
118
|
+
export interface UnpauseAccountResponse {
|
|
119
|
+
accountId: string;
|
|
120
|
+
beforeState: AccountStatus;
|
|
121
|
+
afterState: AccountStatus;
|
|
122
|
+
reason: string | null;
|
|
123
|
+
}
|
|
124
|
+
/** Typed details carried on the `GUARDIAN_ACCOUNT_PAUSED` error envelope. */
|
|
125
|
+
export interface AccountPausedErrorDetails {
|
|
126
|
+
pausedAt: string;
|
|
127
|
+
pausedReason: string | null;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* @deprecated Removed in feature `005-operator-dashboard-metrics`. The
|
|
131
|
+
* account list endpoint now returns
|
|
132
|
+
* `PagedResult<DashboardAccountSummary>` (see
|
|
133
|
+
* `GuardianOperatorHttpClient.listAccounts`). Aggregate inventory
|
|
134
|
+
* totals are exposed via `getDashboardInfo()`.
|
|
135
|
+
*/
|
|
136
|
+
export type DashboardAccountsResponse = never;
|
|
137
|
+
/**
|
|
138
|
+
* `GET /dashboard/accounts/{id}` returns the account detail directly
|
|
139
|
+
* (no `success`, no `account` wrapper). The endpoint relies on the
|
|
140
|
+
* HTTP status code for success/failure and on the `DashboardErrorCode`
|
|
141
|
+
* body for typed errors.
|
|
142
|
+
*
|
|
143
|
+
* Kept as a named alias so callers and library code can still reference
|
|
144
|
+
* "the response shape" without having to spell out the detail type at
|
|
145
|
+
* each site. New shapes added to this endpoint MUST keep the bare
|
|
146
|
+
* payload form.
|
|
147
|
+
*/
|
|
148
|
+
export type DashboardAccountResponse = DashboardAccountDetail;
|
|
149
|
+
/**
|
|
150
|
+
* Stable error codes that the dashboard endpoints can emit. The server's
|
|
151
|
+
* 401 path uses `authentication_failed` (the cookie/session middleware
|
|
152
|
+
* variant); a hypothetical token-bearer path could emit `unauthorized`,
|
|
153
|
+
* but that does not happen on the operator dashboard surface today.
|
|
154
|
+
*
|
|
155
|
+
* Mirrors the `code` enum on `ErrorBody` in
|
|
156
|
+
* `005-operator-dashboard-metrics/contracts/dashboard.openapi.yaml`.
|
|
157
|
+
*/
|
|
158
|
+
export type DashboardErrorCode = 'authentication_failed' | 'account_not_found' | 'invalid_cursor' | 'invalid_limit' | 'invalid_status_filter' | 'data_unavailable' | 'unsupported_for_network' | 'account_data_unavailable' | 'insufficient_operator_permission' | 'account_paused';
|
|
159
|
+
export interface PagedResult<T> {
|
|
160
|
+
items: T[];
|
|
161
|
+
nextCursor: string | null;
|
|
162
|
+
}
|
|
163
|
+
export type DashboardDeltaStatus = 'candidate' | 'canonical' | 'discarded';
|
|
164
|
+
/**
|
|
165
|
+
* Closed enumeration of dashboard delta categories. Adding a value
|
|
166
|
+
* here is a wire-contract change that must land on the Rust server first.
|
|
167
|
+
*/
|
|
168
|
+
export type DashboardDeltaCategory = 'asset_transfer' | 'note_consumption' | 'note_creation' | 'account_storage_change' | 'guardian_switch' | 'custom';
|
|
169
|
+
export type DeltaAssetKind = 'fungible' | 'non_fungible';
|
|
170
|
+
export interface DashboardDeltaAssetSummary {
|
|
171
|
+
assetId: string;
|
|
172
|
+
kind: DeltaAssetKind;
|
|
173
|
+
/** Signed decimal magnitude for fungible holdings (e.g. `"-100"`).
|
|
174
|
+
* Omitted for non-fungible holdings; the detail view carries
|
|
175
|
+
* `added` / `removed` lists. */
|
|
176
|
+
amount?: string;
|
|
177
|
+
}
|
|
178
|
+
export type DeltaCounterpartyDirection = 'in' | 'out';
|
|
179
|
+
export interface DashboardDeltaCounterpartySummary {
|
|
180
|
+
accountId: string;
|
|
181
|
+
direction: DeltaCounterpartyDirection;
|
|
182
|
+
}
|
|
183
|
+
export interface DashboardDeltaNoteCounts {
|
|
184
|
+
input: number;
|
|
185
|
+
output: number;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Operator-stated proposal intent lifted from the matching
|
|
189
|
+
* `delta_proposals` row at push time. Present only on multisig
|
|
190
|
+
* commits. Mirrors `ProposalMetadataPayload` from the multisig client.
|
|
191
|
+
*/
|
|
192
|
+
export interface DashboardDeltaProposalMetadata {
|
|
193
|
+
proposalType: string;
|
|
194
|
+
description?: string;
|
|
195
|
+
salt?: string;
|
|
196
|
+
requiredSignatures?: number;
|
|
197
|
+
recipientId?: string;
|
|
198
|
+
faucetId?: string;
|
|
199
|
+
amount?: string;
|
|
200
|
+
noteIds?: string[];
|
|
201
|
+
consumeNotesMetadataVersion?: number;
|
|
202
|
+
consumeNotesNotes?: string[];
|
|
203
|
+
targetThreshold?: number;
|
|
204
|
+
signerCommitments?: string[];
|
|
205
|
+
newGuardianPubkey?: string;
|
|
206
|
+
newGuardianEndpoint?: string;
|
|
207
|
+
targetProcedure?: string;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Coarse note-tag classification surfaced on the detail endpoint's
|
|
211
|
+
* decoded notes.
|
|
212
|
+
*/
|
|
213
|
+
export type DashboardDeltaNoteTag = 'p2id' | 'p2ide' | 'pswap' | 'mint' | 'burn' | 'custom';
|
|
214
|
+
export interface DashboardDeltaDecodedAsset {
|
|
215
|
+
assetId: string;
|
|
216
|
+
kind: DeltaAssetKind;
|
|
217
|
+
/** Decimal amount as a string (unsigned; direction is implied by
|
|
218
|
+
* whether this note is an input or output). */
|
|
219
|
+
amount?: string;
|
|
220
|
+
}
|
|
221
|
+
export interface DashboardDeltaDecodedNote {
|
|
222
|
+
noteId: string;
|
|
223
|
+
tag: DashboardDeltaNoteTag;
|
|
224
|
+
assets: DashboardDeltaDecodedAsset[];
|
|
225
|
+
sender?: string;
|
|
226
|
+
recipient?: string;
|
|
227
|
+
}
|
|
228
|
+
export type DashboardDeltaVaultChange = {
|
|
229
|
+
kind: 'fungible';
|
|
230
|
+
assetId: string;
|
|
231
|
+
/** Signed decimal magnitude, e.g. `"-100"`, `"+50"`. */
|
|
232
|
+
change: string;
|
|
233
|
+
} | {
|
|
234
|
+
kind: 'non_fungible';
|
|
235
|
+
assetId: string;
|
|
236
|
+
added: string[];
|
|
237
|
+
removed: string[];
|
|
238
|
+
};
|
|
239
|
+
export interface DashboardDeltaStorageChange {
|
|
240
|
+
/** Human-readable slot name from Miden's `StorageSlotName`
|
|
241
|
+
* (e.g. `"consumed_notes"`). Slots are identified by name, not
|
|
242
|
+
* by numeric index. */
|
|
243
|
+
slotName: string;
|
|
244
|
+
/** Hex `Word` map key for `StorageMap` slot entries; omitted for
|
|
245
|
+
* scalar value slots. For the multisig procedure-threshold overrides
|
|
246
|
+
* map this is the MASM procedure root. */
|
|
247
|
+
key?: string;
|
|
248
|
+
/** Always omitted in v1 — prior slot values are not in the delta. */
|
|
249
|
+
before?: string | null;
|
|
250
|
+
/** Hex `Word` after the change, or `null` when the slot was cleared. */
|
|
251
|
+
after: string | null;
|
|
252
|
+
}
|
|
253
|
+
export type DashboardDeltaDecodeSection = 'tx_summary' | 'metadata' | 'input_notes' | 'output_notes' | 'vault' | 'storage';
|
|
254
|
+
export interface DashboardDeltaDecodeWarning {
|
|
255
|
+
section: DashboardDeltaDecodeSection;
|
|
256
|
+
reason: string;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Wire shape for `GET /dashboard/accounts/{account_id}/deltas/{nonce}`.
|
|
260
|
+
*
|
|
261
|
+
* Carries push-time `category` and optional multisig `proposal` at L1
|
|
262
|
+
* plus structured detail sections decoded at request time. Asset,
|
|
263
|
+
* counterparty, and note counts are derivable from the decoded sections.
|
|
264
|
+
*/
|
|
265
|
+
export interface DashboardDeltaDetail {
|
|
266
|
+
accountId: string;
|
|
267
|
+
/**
|
|
268
|
+
* Per-account monotonic transaction counter. Server type is `u64`,
|
|
269
|
+
* but the JSON wire encoding is a JSON number and the client parses
|
|
270
|
+
* it as a JavaScript `number`. Values above `Number.MAX_SAFE_INTEGER`
|
|
271
|
+
* (2^53 − 1) cannot round-trip without precision loss. Miden account
|
|
272
|
+
* nonces are not expected to reach this range in practice.
|
|
273
|
+
*/
|
|
274
|
+
nonce: number;
|
|
275
|
+
status: DashboardDeltaStatus;
|
|
276
|
+
statusTimestamp: string;
|
|
277
|
+
prevCommitment: string;
|
|
278
|
+
newCommitment: string | null;
|
|
279
|
+
retryCount?: number;
|
|
280
|
+
/** Server-curated classification from push-time metadata. */
|
|
281
|
+
category?: DashboardDeltaCategory;
|
|
282
|
+
/** Operator-stated proposal intent for multisig commits. */
|
|
283
|
+
proposal?: DashboardDeltaProposalMetadata;
|
|
284
|
+
inputNotes: DashboardDeltaDecodedNote[];
|
|
285
|
+
outputNotes: DashboardDeltaDecodedNote[];
|
|
286
|
+
vaultChanges: DashboardDeltaVaultChange[];
|
|
287
|
+
storageChanges: DashboardDeltaStorageChange[];
|
|
288
|
+
/** Non-empty when one or more sections could not be decoded. The
|
|
289
|
+
* request still returns 200; affected sections are empty. */
|
|
290
|
+
decodeWarnings?: DashboardDeltaDecodeWarning[];
|
|
291
|
+
/** Present only when the request used `?include=raw`. */
|
|
292
|
+
rawTransactionSummary?: string;
|
|
293
|
+
}
|
|
294
|
+
export interface DashboardDeltaEntry {
|
|
295
|
+
/** See note on `DashboardDeltaDetail.nonce` for the JS-number precision limit. */
|
|
296
|
+
nonce: number;
|
|
297
|
+
accountId?: string;
|
|
298
|
+
status: DashboardDeltaStatus;
|
|
299
|
+
statusTimestamp: string;
|
|
300
|
+
prevCommitment: string;
|
|
301
|
+
newCommitment: string | null;
|
|
302
|
+
retryCount?: number;
|
|
303
|
+
/** Push-time enrichment spread to L1 on listing endpoints. */
|
|
304
|
+
category?: DashboardDeltaCategory;
|
|
305
|
+
/** Operator intent label (`metadata.proposal.proposal_type` only). */
|
|
306
|
+
proposalType?: string;
|
|
307
|
+
/**
|
|
308
|
+
* Every asset surfaced from the transaction's notes (or, for `p2id`
|
|
309
|
+
* multisig with no decodable summary, the proposal's single declared
|
|
310
|
+
* asset). Multi-asset transactions populate every entry so a one-line
|
|
311
|
+
* row does not show a misleading single-asset summary. Omitted when
|
|
312
|
+
* empty.
|
|
313
|
+
*/
|
|
314
|
+
assets?: DashboardDeltaAssetSummary[];
|
|
315
|
+
counterparty?: DashboardDeltaCounterpartySummary;
|
|
316
|
+
noteCounts?: DashboardDeltaNoteCounts;
|
|
317
|
+
}
|
|
318
|
+
export interface DashboardProposalEntry {
|
|
319
|
+
commitment: string;
|
|
320
|
+
nonce: number;
|
|
321
|
+
accountId?: string;
|
|
322
|
+
proposerId: string;
|
|
323
|
+
originatingTimestamp: string;
|
|
324
|
+
signaturesCollected: number;
|
|
325
|
+
signaturesRequired: number;
|
|
326
|
+
prevCommitment: string;
|
|
327
|
+
newCommitment: string | null;
|
|
328
|
+
/** See {@link DashboardDeltaEntry.proposalType}. In practice always
|
|
329
|
+
* populated for in-flight multisig proposals on this endpoint. */
|
|
330
|
+
proposalType?: string;
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Global delta feed entry. Identical to {@link DashboardDeltaEntry}
|
|
334
|
+
* but `accountId` is required (every entry on the global feed is
|
|
335
|
+
* tagged with the account it belongs to).
|
|
336
|
+
*/
|
|
337
|
+
export interface DashboardGlobalDeltaEntry extends DashboardDeltaEntry {
|
|
338
|
+
accountId: string;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Global proposal feed entry. Identical to
|
|
342
|
+
* {@link DashboardProposalEntry} but `accountId` is required.
|
|
343
|
+
*/
|
|
344
|
+
export interface DashboardGlobalProposalEntry extends DashboardProposalEntry {
|
|
345
|
+
accountId: string;
|
|
346
|
+
}
|
|
347
|
+
/** Fungible asset entry in an account vault snapshot. `amount` is a
|
|
348
|
+
* string to keep `u64` precision safe across JS. Decimal handling and
|
|
349
|
+
* USD conversion are dashboard-client concerns; Guardian does not
|
|
350
|
+
* carry token metadata or price oracles. */
|
|
351
|
+
export interface DashboardVaultFungibleEntry {
|
|
352
|
+
faucetId: string;
|
|
353
|
+
amount: string;
|
|
354
|
+
}
|
|
355
|
+
/** Non-fungible asset entry. `vaultKey` is the canonical Miden
|
|
356
|
+
* identifier for the asset within the vault. */
|
|
357
|
+
export interface DashboardVaultNonFungibleEntry {
|
|
358
|
+
faucetId: string;
|
|
359
|
+
vaultKey: string;
|
|
360
|
+
}
|
|
361
|
+
export interface DashboardVaultSnapshot {
|
|
362
|
+
fungible: DashboardVaultFungibleEntry[];
|
|
363
|
+
nonFungible: DashboardVaultNonFungibleEntry[];
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Decoded snapshot of one account's stored state at the commitment
|
|
367
|
+
* Guardian last canonicalized. Source of truth is Guardian's stored
|
|
368
|
+
* state — no live Miden RPC calls. New fields land here as additive
|
|
369
|
+
* top-level keys derivable from the existing state blob.
|
|
370
|
+
*/
|
|
371
|
+
export interface DashboardAccountSnapshot {
|
|
372
|
+
/** Hex state commitment the snapshot was decoded from. Equals
|
|
373
|
+
* `DashboardAccountDetail.currentCommitment` for the same account
|
|
374
|
+
* at the same point in time; callers can correlate the snapshot
|
|
375
|
+
* with a delta history entry by matching on this hex. */
|
|
376
|
+
commitment: string;
|
|
377
|
+
/** RFC3339 wall-clock time of the underlying state row's
|
|
378
|
+
* `updated_at` — i.e. when Guardian last persisted the
|
|
379
|
+
* canonicalized state this snapshot was decoded from. Equals
|
|
380
|
+
* `DashboardAccountDetail.stateUpdatedAt` for the same account at
|
|
381
|
+
* the same point in time. */
|
|
382
|
+
updatedAt: string;
|
|
383
|
+
/** True when the account has a candidate delta in flight that has
|
|
384
|
+
* not yet been canonicalized. The snapshot reflects the current
|
|
385
|
+
* canonical state only — when this is `true`, the vault content
|
|
386
|
+
* may already be stale relative to the chain. UIs SHOULD warn
|
|
387
|
+
* rather than silently display stale data. */
|
|
388
|
+
hasPendingCandidate: boolean;
|
|
389
|
+
vault: DashboardVaultSnapshot;
|
|
390
|
+
}
|
|
391
|
+
export interface DeltaDetailOptions {
|
|
392
|
+
/** When true, requests `?include=raw` so the server attaches the
|
|
393
|
+
* base64-encoded persisted `TransactionSummary` (debug only). */
|
|
394
|
+
includeRaw?: boolean;
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Optional `?status=` filter on the global delta feed (FR-033).
|
|
398
|
+
* Accepts either a single value or an array; the wrapper serializes
|
|
399
|
+
* to comma-separated.
|
|
400
|
+
*/
|
|
401
|
+
export type DashboardGlobalDeltaStatusFilter = DashboardDeltaStatus | DashboardDeltaStatus[];
|
|
402
|
+
export interface GlobalDeltasOptions {
|
|
403
|
+
limit?: number;
|
|
404
|
+
cursor?: string;
|
|
405
|
+
status?: DashboardGlobalDeltaStatusFilter;
|
|
406
|
+
}
|
|
407
|
+
/** Build identity for the running `guardian-server` binary. */
|
|
408
|
+
export interface DashboardBuildInfo {
|
|
409
|
+
/** `guardian-server` package version (`CARGO_PKG_VERSION`). */
|
|
410
|
+
version: string;
|
|
411
|
+
/** Short git SHA at build time, or `"unknown"` when unavailable. */
|
|
412
|
+
gitCommit: string;
|
|
413
|
+
/** Cargo build profile: `"debug"` or `"release"`. */
|
|
414
|
+
profile: 'debug' | 'release';
|
|
415
|
+
/** RFC3339 wall-clock time the server initialized dashboard state. */
|
|
416
|
+
startedAt: string;
|
|
417
|
+
}
|
|
418
|
+
/** Canonicalization worker config when the server runs in
|
|
419
|
+
* candidate-commit mode. `null` indicates optimistic-commit mode. */
|
|
420
|
+
export interface DashboardCanonicalizationConfig {
|
|
421
|
+
checkIntervalSeconds: number;
|
|
422
|
+
maxRetries: number;
|
|
423
|
+
submissionGracePeriodSeconds: number;
|
|
424
|
+
}
|
|
425
|
+
/** Backend configuration snapshot. */
|
|
426
|
+
export interface DashboardBackendInfo {
|
|
427
|
+
/** `"filesystem"` or `"postgres"` based on the server's compiled
|
|
428
|
+
* feature flag. */
|
|
429
|
+
storage: 'filesystem' | 'postgres';
|
|
430
|
+
/** Acknowledgement signature schemes wired into the server's
|
|
431
|
+
* `AckRegistry`. */
|
|
432
|
+
supportedAckSchemes: string[];
|
|
433
|
+
/** `null` in optimistic-commit mode. */
|
|
434
|
+
canonicalization: DashboardCanonicalizationConfig | null;
|
|
435
|
+
}
|
|
436
|
+
export interface DashboardInfoResponse {
|
|
437
|
+
serviceStatus: 'healthy' | 'degraded';
|
|
438
|
+
environment: string;
|
|
439
|
+
build: DashboardBuildInfo;
|
|
440
|
+
backend: DashboardBackendInfo;
|
|
441
|
+
totalAccountCount: number;
|
|
442
|
+
/** Counts of accounts grouped by stable auth-method label
|
|
443
|
+
* (`"miden_falcon"`, `"miden_ecdsa"`, `"evm"`). Empty when marked
|
|
444
|
+
* degraded — check `degradedAggregates` for
|
|
445
|
+
* `"accounts_by_auth_method"`. */
|
|
446
|
+
accountsByAuthMethod: Record<string, number>;
|
|
447
|
+
latestActivity: string | null;
|
|
448
|
+
deltaStatusCounts: {
|
|
449
|
+
candidate: number;
|
|
450
|
+
canonical: number;
|
|
451
|
+
discarded: number;
|
|
452
|
+
};
|
|
453
|
+
inFlightProposalCount: number;
|
|
454
|
+
degradedAggregates: string[];
|
|
59
455
|
}
|
|
60
456
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,2BAA2B,GAAG,WAAW,GAAG,aAAa,CAAC;AAEtE,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|