@openzeppelin/guardian-operator-client 0.14.3 → 0.14.6
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 +173 -8
- package/dist/http.d.ts +102 -2
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +407 -10
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +192 -7
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -42,19 +42,122 @@ const verified = await client.verify({
|
|
|
42
42
|
console.log(verified.operatorId);
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
### List Accounts
|
|
45
|
+
### List Accounts (Paginated)
|
|
46
46
|
|
|
47
47
|
```typescript
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
console.log(
|
|
48
|
+
// Default page size is 50; max is 500.
|
|
49
|
+
const page = await client.listAccounts({ limit: 50 });
|
|
50
|
+
console.log(page.items[0]?.accountId);
|
|
51
|
+
|
|
52
|
+
// Resume the next page with the cursor from the previous response.
|
|
53
|
+
if (page.nextCursor !== null) {
|
|
54
|
+
const next = await client.listAccounts({
|
|
55
|
+
limit: 50,
|
|
56
|
+
cursor: page.nextCursor,
|
|
57
|
+
});
|
|
58
|
+
console.log(next.items.length);
|
|
59
|
+
}
|
|
51
60
|
```
|
|
52
61
|
|
|
53
62
|
### Fetch One Account
|
|
54
63
|
|
|
64
|
+
`getAccount()` returns the bare `DashboardAccountDetail` — there is no
|
|
65
|
+
`{ success, account }` wrapper. Read fields directly on the response.
|
|
66
|
+
|
|
67
|
+
```typescript
|
|
68
|
+
const detail = await client.getAccount('0x...');
|
|
69
|
+
console.log(detail.authorizedSignerIds);
|
|
70
|
+
console.log(detail.currentCommitment, detail.stateUpdatedAt);
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Decoded Account Snapshot
|
|
74
|
+
|
|
75
|
+
Returns the decoded state (vault contents, pending-candidate flag) at
|
|
76
|
+
the commitment Guardian last canonicalized for the account. Sourced
|
|
77
|
+
from Guardian's stored state — no live Miden RPC calls.
|
|
78
|
+
|
|
79
|
+
```typescript
|
|
80
|
+
const snapshot = await client.getAccountSnapshot('0x...');
|
|
81
|
+
console.log(snapshot.commitment, snapshot.updatedAt);
|
|
82
|
+
if (snapshot.hasPendingCandidate) {
|
|
83
|
+
console.warn('vault may be stale — candidate delta in flight');
|
|
84
|
+
}
|
|
85
|
+
for (const asset of snapshot.vault.fungible) {
|
|
86
|
+
console.log(asset.faucetId, asset.amount);
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Inventory And Health Snapshot
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
const info = await client.getDashboardInfo();
|
|
94
|
+
console.log(info.totalAccountCount, info.environment);
|
|
95
|
+
console.log(info.deltaStatusCounts.candidate);
|
|
96
|
+
console.log(info.inFlightProposalCount);
|
|
97
|
+
if (info.serviceStatus === 'degraded') {
|
|
98
|
+
console.warn('degraded aggregates:', info.degradedAggregates);
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Per-Account Delta Feed
|
|
103
|
+
|
|
55
104
|
```typescript
|
|
56
|
-
const
|
|
57
|
-
|
|
105
|
+
const page = await client.listAccountDeltas('0x...', { limit: 50 });
|
|
106
|
+
for (const entry of page.items) {
|
|
107
|
+
console.log(entry.nonce, entry.status, entry.statusTimestamp);
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Per-Account In-Flight Proposals
|
|
112
|
+
|
|
113
|
+
Single-key Miden accounts and EVM accounts always return an empty
|
|
114
|
+
proposal queue.
|
|
115
|
+
|
|
116
|
+
```typescript
|
|
117
|
+
const page = await client.listAccountProposals('0x...', { limit: 50 });
|
|
118
|
+
for (const entry of page.items) {
|
|
119
|
+
console.log(
|
|
120
|
+
entry.commitment,
|
|
121
|
+
entry.signaturesCollected,
|
|
122
|
+
'/',
|
|
123
|
+
entry.signaturesRequired,
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Cross-Account Delta Feed
|
|
129
|
+
|
|
130
|
+
Paginated newest-first by `status_timestamp DESC`. The optional
|
|
131
|
+
`status` filter accepts a single status or an array; the wrapper
|
|
132
|
+
serializes the array to a comma-separated query parameter.
|
|
133
|
+
|
|
134
|
+
```typescript
|
|
135
|
+
const page = await client.listGlobalDeltas({
|
|
136
|
+
limit: 50,
|
|
137
|
+
status: ['candidate', 'canonical'],
|
|
138
|
+
});
|
|
139
|
+
for (const entry of page.items) {
|
|
140
|
+
console.log(entry.accountId, entry.nonce, entry.status);
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Cross-Account In-Flight Proposal Feed
|
|
145
|
+
|
|
146
|
+
Paginated newest-first by `originating_timestamp DESC`. There is no
|
|
147
|
+
`status` filter — every entry is in-flight by definition. EVM accounts
|
|
148
|
+
do not appear in v1.
|
|
149
|
+
|
|
150
|
+
```typescript
|
|
151
|
+
const page = await client.listGlobalProposals({ limit: 50 });
|
|
152
|
+
for (const entry of page.items) {
|
|
153
|
+
console.log(
|
|
154
|
+
entry.accountId,
|
|
155
|
+
entry.commitment,
|
|
156
|
+
entry.signaturesCollected,
|
|
157
|
+
'/',
|
|
158
|
+
entry.signaturesRequired,
|
|
159
|
+
);
|
|
160
|
+
}
|
|
58
161
|
```
|
|
59
162
|
|
|
60
163
|
### Logout
|
|
@@ -63,6 +166,33 @@ console.log(response.account.authorizedSignerIds);
|
|
|
63
166
|
await client.logout();
|
|
64
167
|
```
|
|
65
168
|
|
|
169
|
+
## Pagination Shape
|
|
170
|
+
|
|
171
|
+
Every paginated dashboard endpoint returns a `PagedResult<T>` envelope:
|
|
172
|
+
|
|
173
|
+
```jsonc
|
|
174
|
+
{
|
|
175
|
+
"items": [ /* T entries */ ],
|
|
176
|
+
"next_cursor": "string | null" // null at end of list
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
- `limit` defaults to `50` and is capped at `500`. A bare `?limit=`
|
|
181
|
+
(present but empty) is treated as omitted; out-of-range values
|
|
182
|
+
return `400 invalid_limit`.
|
|
183
|
+
- `cursor` is opaque, server-signed, and tied to a specific endpoint
|
|
184
|
+
kind (e.g. an account-list cursor cannot be replayed on the
|
|
185
|
+
deltas endpoint). Tampered or stale cursors return
|
|
186
|
+
`400 invalid_cursor`. There is no client-visible TTL.
|
|
187
|
+
- A `cursor` may be supplied without a `limit`; the default of 50
|
|
188
|
+
applies.
|
|
189
|
+
- The account list endpoint sorts by `(updated_at DESC, account_id
|
|
190
|
+
ASC)`. Concurrent updates to `updated_at` MAY cause an account to
|
|
191
|
+
be skipped or repeated across a traversal — documented expected
|
|
192
|
+
behavior of cursor pagination over a mutable sort key. All other
|
|
193
|
+
paginated endpoints sort by an immutable per-account `nonce` (or
|
|
194
|
+
`(nonce, commitment)` for proposals) and are fully stable.
|
|
195
|
+
|
|
66
196
|
## Cookie Transport
|
|
67
197
|
|
|
68
198
|
The Guardian operator session is cookie-based. This package does not manage a
|
|
@@ -75,13 +205,36 @@ appropriate for your runtime.
|
|
|
75
205
|
import {
|
|
76
206
|
GuardianOperatorContractError,
|
|
77
207
|
GuardianOperatorHttpError,
|
|
208
|
+
isDashboardErrorCode,
|
|
78
209
|
} from '@openzeppelin/guardian-operator-client';
|
|
79
210
|
|
|
80
211
|
try {
|
|
81
|
-
await client.listAccounts();
|
|
212
|
+
await client.listAccounts({ limit: 9999 });
|
|
82
213
|
} catch (error) {
|
|
83
214
|
if (error instanceof GuardianOperatorHttpError) {
|
|
84
|
-
|
|
215
|
+
// Stable machine-readable code lives on `error.data.code`.
|
|
216
|
+
// Branch on it rather than on `error.status` or
|
|
217
|
+
// `error.data.error` (the human message).
|
|
218
|
+
const code = error.data?.code;
|
|
219
|
+
if (code && isDashboardErrorCode(code)) {
|
|
220
|
+
switch (code) {
|
|
221
|
+
case 'invalid_limit':
|
|
222
|
+
case 'invalid_cursor':
|
|
223
|
+
case 'invalid_status_filter':
|
|
224
|
+
// Caller bug — fix the request.
|
|
225
|
+
break;
|
|
226
|
+
case 'account_not_found':
|
|
227
|
+
// Path-addressed account does not exist.
|
|
228
|
+
break;
|
|
229
|
+
case 'data_unavailable':
|
|
230
|
+
// Metadata exists but storage cannot be read; retry later.
|
|
231
|
+
break;
|
|
232
|
+
case 'authentication_failed':
|
|
233
|
+
// Operator session is missing, tampered, or expired —
|
|
234
|
+
// re-issue the challenge / verify flow.
|
|
235
|
+
break;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
85
238
|
}
|
|
86
239
|
|
|
87
240
|
if (error instanceof GuardianOperatorContractError) {
|
|
@@ -89,3 +242,15 @@ try {
|
|
|
89
242
|
}
|
|
90
243
|
}
|
|
91
244
|
```
|
|
245
|
+
|
|
246
|
+
The dashboard error taxonomy (feature `005-operator-dashboard-metrics`
|
|
247
|
+
FR-028) is:
|
|
248
|
+
|
|
249
|
+
| HTTP | Body `code` | When |
|
|
250
|
+
|------|-------------|------|
|
|
251
|
+
| 401 | `authentication_failed` | missing / tampered / expired operator session |
|
|
252
|
+
| 404 | `account_not_found` | path-addressed account does not exist |
|
|
253
|
+
| 400 | `invalid_cursor` | tampered, malformed, or stale cursor |
|
|
254
|
+
| 400 | `invalid_limit` | `limit` outside `[1, 500]` |
|
|
255
|
+
| 400 | `invalid_status_filter` | global delta feed `status` filter is unknown or malformed |
|
|
256
|
+
| 503 | `data_unavailable` | metadata exists but underlying records cannot be read |
|
package/dist/http.d.ts
CHANGED
|
@@ -1,4 +1,39 @@
|
|
|
1
|
-
import type { DashboardAccountResponse,
|
|
1
|
+
import type { DashboardAccountResponse, DashboardAccountSnapshot, DashboardAccountSummary, DashboardDeltaEntry, DashboardErrorCode, DashboardGlobalDeltaEntry, DashboardGlobalProposalEntry, DashboardInfoResponse, DashboardProposalEntry, GlobalDeltasOptions, GuardianOperatorHttpClientOptions, GuardianOperatorHttpErrorData, LogoutOperatorResponse, OperatorChallengeResponse, PagedResult, VerifyOperatorRequest, VerifyOperatorResponse } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Common pagination query options for the new dashboard feeds
|
|
4
|
+
* endpoints. Spec reference: `005-operator-dashboard-metrics` FR-001.
|
|
5
|
+
*/
|
|
6
|
+
export interface PaginationOptions {
|
|
7
|
+
/** Page size; default 50 server-side, max 500. */
|
|
8
|
+
limit?: number;
|
|
9
|
+
/** Opaque cursor token from a prior page's `nextCursor`. */
|
|
10
|
+
cursor?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Result of parsing an error response body. The {@link code} field is
|
|
14
|
+
* narrowed to {@link DashboardErrorCode} when the server emitted one of
|
|
15
|
+
* the dashboard error codes; otherwise it is forwarded as a raw string
|
|
16
|
+
* (or `null` if the body was missing/malformed).
|
|
17
|
+
*/
|
|
18
|
+
export interface ParsedErrorBody {
|
|
19
|
+
code: DashboardErrorCode | string | null;
|
|
20
|
+
message: string | null;
|
|
21
|
+
retryAfterSecs?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Parse an error response body into a typed `{ code, message }` shape.
|
|
25
|
+
* Clients SHOULD branch on `code` rather than on the HTTP status alone
|
|
26
|
+
* — see FR-028 of `005-operator-dashboard-metrics`.
|
|
27
|
+
*
|
|
28
|
+
* Accepts either a `Response` (fetch result) or a pre-read JSON body.
|
|
29
|
+
* Returns `{ code: null, message: null }` when the body is absent or
|
|
30
|
+
* malformed; never throws.
|
|
31
|
+
*/
|
|
32
|
+
export declare function parseErrorBody(response: Response | unknown): Promise<ParsedErrorBody>;
|
|
33
|
+
/**
|
|
34
|
+
* Type guard narrowing an arbitrary string to {@link DashboardErrorCode}.
|
|
35
|
+
*/
|
|
36
|
+
export declare function isDashboardErrorCode(value: string): value is DashboardErrorCode;
|
|
2
37
|
export declare class GuardianOperatorHttpError extends Error {
|
|
3
38
|
readonly status: number;
|
|
4
39
|
readonly statusText: string;
|
|
@@ -21,8 +56,73 @@ export declare class GuardianOperatorHttpClient {
|
|
|
21
56
|
challenge(commitment: string): Promise<OperatorChallengeResponse>;
|
|
22
57
|
verify(request: VerifyOperatorRequest): Promise<VerifyOperatorResponse>;
|
|
23
58
|
logout(): Promise<LogoutOperatorResponse>;
|
|
24
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Paginated account list per feature
|
|
61
|
+
* `005-operator-dashboard-metrics` US1 / FR-001..FR-008.
|
|
62
|
+
*
|
|
63
|
+
* **Breaking change vs. `003-operator-account-apis`**: the response
|
|
64
|
+
* is now a {@link PagedResult} envelope. The previous
|
|
65
|
+
* unparameterized full-inventory mode and `total_count` field are
|
|
66
|
+
* removed; aggregate inventory totals are exposed via
|
|
67
|
+
* {@link GuardianOperatorHttpClient.getDashboardInfo}. Callers that
|
|
68
|
+
* relied on `listAccounts()` must migrate to this method.
|
|
69
|
+
*/
|
|
70
|
+
listAccounts(options?: PaginationOptions): Promise<PagedResult<DashboardAccountSummary>>;
|
|
71
|
+
/**
|
|
72
|
+
* Inventory and lifecycle health snapshot per feature
|
|
73
|
+
* `005-operator-dashboard-metrics` US2 / FR-008..FR-012.
|
|
74
|
+
*/
|
|
75
|
+
getDashboardInfo(): Promise<DashboardInfoResponse>;
|
|
25
76
|
getAccount(accountId: string): Promise<DashboardAccountResponse>;
|
|
77
|
+
/**
|
|
78
|
+
* Return a decoded snapshot of `accountId`'s stored state at the
|
|
79
|
+
* commitment Guardian last canonicalized — v1 surface exposes the
|
|
80
|
+
* fungible/non-fungible vault. The endpoint distinguishes its
|
|
81
|
+
* failure modes via the FR-045 error taxonomy:
|
|
82
|
+
*
|
|
83
|
+
* - `400 unsupported_for_network` — the account's `network_config`
|
|
84
|
+
* is EVM. The snapshot endpoint is Miden-only by construction;
|
|
85
|
+
* this is a permanent condition for the account on this surface,
|
|
86
|
+
* not a transient failure.
|
|
87
|
+
* - `404 account_not_found` — no metadata exists.
|
|
88
|
+
* - `503 account_data_unavailable` — metadata exists but the state
|
|
89
|
+
* row cannot be loaded, or the stored blob fails to deserialize
|
|
90
|
+
* as a Miden `Account`. Transient/recoverable.
|
|
91
|
+
*
|
|
92
|
+
* Spec reference: follow-up addition to `005-operator-dashboard-metrics`
|
|
93
|
+
* FR-043..FR-046.
|
|
94
|
+
*/
|
|
95
|
+
getAccountSnapshot(accountId: string): Promise<DashboardAccountSnapshot>;
|
|
96
|
+
/**
|
|
97
|
+
* List the per-account delta feed for `accountId`, paginated
|
|
98
|
+
* newest-first by `nonce DESC`. Spec reference:
|
|
99
|
+
* `005-operator-dashboard-metrics` US3.
|
|
100
|
+
*/
|
|
101
|
+
listAccountDeltas(accountId: string, options?: PaginationOptions): Promise<PagedResult<DashboardDeltaEntry>>;
|
|
102
|
+
/**
|
|
103
|
+
* List the per-account in-flight multisig proposal queue for
|
|
104
|
+
* `accountId`, paginated newest-first by `(nonce DESC, commitment
|
|
105
|
+
* DESC)`. Single-key Miden and EVM accounts always return an empty
|
|
106
|
+
* page per FR-017. Spec reference:
|
|
107
|
+
* `005-operator-dashboard-metrics` US4.
|
|
108
|
+
*/
|
|
109
|
+
listAccountProposals(accountId: string, options?: PaginationOptions): Promise<PagedResult<DashboardProposalEntry>>;
|
|
110
|
+
/**
|
|
111
|
+
* Cross-account delta feed. Paginated newest-first by
|
|
112
|
+
* `status_timestamp DESC`. The optional `status` filter accepts a
|
|
113
|
+
* single status or an array; the wrapper serializes the array to
|
|
114
|
+
* comma-separated. Spec reference:
|
|
115
|
+
* `005-operator-dashboard-metrics` US6.
|
|
116
|
+
*/
|
|
117
|
+
listGlobalDeltas(options?: GlobalDeltasOptions): Promise<PagedResult<DashboardGlobalDeltaEntry>>;
|
|
118
|
+
/**
|
|
119
|
+
* Cross-account in-flight proposal feed. Paginated newest-first by
|
|
120
|
+
* `originating_timestamp DESC`. Takes no `status` filter — every
|
|
121
|
+
* entry is in-flight by definition. EVM accounts do not appear in
|
|
122
|
+
* v1 per FR-017. Spec reference:
|
|
123
|
+
* `005-operator-dashboard-metrics` US7.
|
|
124
|
+
*/
|
|
125
|
+
listGlobalProposals(options?: PaginationOptions): Promise<PagedResult<DashboardGlobalProposalEntry>>;
|
|
26
126
|
private request;
|
|
27
127
|
private toHttpError;
|
|
28
128
|
}
|
package/dist/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,wBAAwB,EAExB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/http.js
CHANGED
|
@@ -1,3 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Set of stable error codes added by feature
|
|
3
|
+
* `005-operator-dashboard-metrics`. Used by {@link parseErrorBody} to
|
|
4
|
+
* narrow the unknown server `code` to the typed
|
|
5
|
+
* {@link DashboardErrorCode} union.
|
|
6
|
+
*/
|
|
7
|
+
const DASHBOARD_ERROR_CODES = new Set([
|
|
8
|
+
'authentication_failed',
|
|
9
|
+
'account_not_found',
|
|
10
|
+
'invalid_cursor',
|
|
11
|
+
'invalid_limit',
|
|
12
|
+
'invalid_status_filter',
|
|
13
|
+
'data_unavailable',
|
|
14
|
+
// Snapshot-specific codes (FR-045).
|
|
15
|
+
'unsupported_for_network',
|
|
16
|
+
'account_data_unavailable',
|
|
17
|
+
]);
|
|
18
|
+
/**
|
|
19
|
+
* Parse an error response body into a typed `{ code, message }` shape.
|
|
20
|
+
* Clients SHOULD branch on `code` rather than on the HTTP status alone
|
|
21
|
+
* — see FR-028 of `005-operator-dashboard-metrics`.
|
|
22
|
+
*
|
|
23
|
+
* Accepts either a `Response` (fetch result) or a pre-read JSON body.
|
|
24
|
+
* Returns `{ code: null, message: null }` when the body is absent or
|
|
25
|
+
* malformed; never throws.
|
|
26
|
+
*/
|
|
27
|
+
export async function parseErrorBody(response) {
|
|
28
|
+
let raw;
|
|
29
|
+
if (response &&
|
|
30
|
+
typeof response === 'object' &&
|
|
31
|
+
'text' in response &&
|
|
32
|
+
typeof response.text === 'function') {
|
|
33
|
+
// `response.text()` itself can reject when the body has already
|
|
34
|
+
// been consumed or the underlying stream errors. The function's
|
|
35
|
+
// contract says we never throw, so swallow that and treat it the
|
|
36
|
+
// same as an empty body.
|
|
37
|
+
let body;
|
|
38
|
+
try {
|
|
39
|
+
body = await response.text();
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return { code: null, message: null };
|
|
43
|
+
}
|
|
44
|
+
if (!body) {
|
|
45
|
+
return { code: null, message: null };
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
raw = JSON.parse(body);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return { code: null, message: null };
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
raw = response;
|
|
56
|
+
}
|
|
57
|
+
if (raw === null || typeof raw !== 'object') {
|
|
58
|
+
return { code: null, message: null };
|
|
59
|
+
}
|
|
60
|
+
const record = raw;
|
|
61
|
+
const codeRaw = record['code'];
|
|
62
|
+
const code = typeof codeRaw === 'string' ? codeRaw : null;
|
|
63
|
+
const messageRaw = record['error'];
|
|
64
|
+
const message = typeof messageRaw === 'string' ? messageRaw : null;
|
|
65
|
+
const retryRaw = record['retry_after_secs'];
|
|
66
|
+
const retryAfterSecs = typeof retryRaw === 'number' && Number.isInteger(retryRaw)
|
|
67
|
+
? retryRaw
|
|
68
|
+
: undefined;
|
|
69
|
+
return { code, message, retryAfterSecs };
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Type guard narrowing an arbitrary string to {@link DashboardErrorCode}.
|
|
73
|
+
*/
|
|
74
|
+
export function isDashboardErrorCode(value) {
|
|
75
|
+
return DASHBOARD_ERROR_CODES.has(value);
|
|
76
|
+
}
|
|
1
77
|
export class GuardianOperatorHttpError extends Error {
|
|
2
78
|
status;
|
|
3
79
|
statusText;
|
|
@@ -53,13 +129,116 @@ export class GuardianOperatorHttpClient {
|
|
|
53
129
|
async logout() {
|
|
54
130
|
return this.request(new URL('auth/logout', this.baseUrl), { method: 'POST' }, parseLogoutResponse);
|
|
55
131
|
}
|
|
56
|
-
|
|
57
|
-
|
|
132
|
+
/**
|
|
133
|
+
* Paginated account list per feature
|
|
134
|
+
* `005-operator-dashboard-metrics` US1 / FR-001..FR-008.
|
|
135
|
+
*
|
|
136
|
+
* **Breaking change vs. `003-operator-account-apis`**: the response
|
|
137
|
+
* is now a {@link PagedResult} envelope. The previous
|
|
138
|
+
* unparameterized full-inventory mode and `total_count` field are
|
|
139
|
+
* removed; aggregate inventory totals are exposed via
|
|
140
|
+
* {@link GuardianOperatorHttpClient.getDashboardInfo}. Callers that
|
|
141
|
+
* relied on `listAccounts()` must migrate to this method.
|
|
142
|
+
*/
|
|
143
|
+
async listAccounts(options = {}) {
|
|
144
|
+
const url = new URL('dashboard/accounts', this.baseUrl);
|
|
145
|
+
applyPaginationParams(url, options);
|
|
146
|
+
return this.request(url, { method: 'GET' }, parseAccountListPage);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Inventory and lifecycle health snapshot per feature
|
|
150
|
+
* `005-operator-dashboard-metrics` US2 / FR-008..FR-012.
|
|
151
|
+
*/
|
|
152
|
+
async getDashboardInfo() {
|
|
153
|
+
return this.request(new URL('dashboard/info', this.baseUrl), { method: 'GET' }, parseDashboardInfo);
|
|
58
154
|
}
|
|
59
155
|
async getAccount(accountId) {
|
|
60
156
|
const encodedAccountId = encodeURIComponent(accountId);
|
|
61
157
|
return this.request(new URL(`dashboard/accounts/${encodedAccountId}`, this.baseUrl), { method: 'GET' }, parseAccountResponse);
|
|
62
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* Return a decoded snapshot of `accountId`'s stored state at the
|
|
161
|
+
* commitment Guardian last canonicalized — v1 surface exposes the
|
|
162
|
+
* fungible/non-fungible vault. The endpoint distinguishes its
|
|
163
|
+
* failure modes via the FR-045 error taxonomy:
|
|
164
|
+
*
|
|
165
|
+
* - `400 unsupported_for_network` — the account's `network_config`
|
|
166
|
+
* is EVM. The snapshot endpoint is Miden-only by construction;
|
|
167
|
+
* this is a permanent condition for the account on this surface,
|
|
168
|
+
* not a transient failure.
|
|
169
|
+
* - `404 account_not_found` — no metadata exists.
|
|
170
|
+
* - `503 account_data_unavailable` — metadata exists but the state
|
|
171
|
+
* row cannot be loaded, or the stored blob fails to deserialize
|
|
172
|
+
* as a Miden `Account`. Transient/recoverable.
|
|
173
|
+
*
|
|
174
|
+
* Spec reference: follow-up addition to `005-operator-dashboard-metrics`
|
|
175
|
+
* FR-043..FR-046.
|
|
176
|
+
*/
|
|
177
|
+
async getAccountSnapshot(accountId) {
|
|
178
|
+
const encodedAccountId = encodeURIComponent(accountId);
|
|
179
|
+
return this.request(new URL(`dashboard/accounts/${encodedAccountId}/snapshot`, this.baseUrl), { method: 'GET' }, parseAccountSnapshot);
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* List the per-account delta feed for `accountId`, paginated
|
|
183
|
+
* newest-first by `nonce DESC`. Spec reference:
|
|
184
|
+
* `005-operator-dashboard-metrics` US3.
|
|
185
|
+
*/
|
|
186
|
+
async listAccountDeltas(accountId, options = {}) {
|
|
187
|
+
const encodedAccountId = encodeURIComponent(accountId);
|
|
188
|
+
const url = new URL(`dashboard/accounts/${encodedAccountId}/deltas`, this.baseUrl);
|
|
189
|
+
applyPaginationParams(url, options);
|
|
190
|
+
return this.request(url, { method: 'GET' }, parseDeltaPage);
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* List the per-account in-flight multisig proposal queue for
|
|
194
|
+
* `accountId`, paginated newest-first by `(nonce DESC, commitment
|
|
195
|
+
* DESC)`. Single-key Miden and EVM accounts always return an empty
|
|
196
|
+
* page per FR-017. Spec reference:
|
|
197
|
+
* `005-operator-dashboard-metrics` US4.
|
|
198
|
+
*/
|
|
199
|
+
async listAccountProposals(accountId, options = {}) {
|
|
200
|
+
const encodedAccountId = encodeURIComponent(accountId);
|
|
201
|
+
const url = new URL(`dashboard/accounts/${encodedAccountId}/proposals`, this.baseUrl);
|
|
202
|
+
applyPaginationParams(url, options);
|
|
203
|
+
return this.request(url, { method: 'GET' }, parseProposalPage);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Cross-account delta feed. Paginated newest-first by
|
|
207
|
+
* `status_timestamp DESC`. The optional `status` filter accepts a
|
|
208
|
+
* single status or an array; the wrapper serializes the array to
|
|
209
|
+
* comma-separated. Spec reference:
|
|
210
|
+
* `005-operator-dashboard-metrics` US6.
|
|
211
|
+
*/
|
|
212
|
+
async listGlobalDeltas(options = {}) {
|
|
213
|
+
const url = new URL('dashboard/deltas', this.baseUrl);
|
|
214
|
+
if (options.limit !== undefined) {
|
|
215
|
+
url.searchParams.set('limit', String(options.limit));
|
|
216
|
+
}
|
|
217
|
+
if (options.cursor !== undefined) {
|
|
218
|
+
url.searchParams.set('cursor', options.cursor);
|
|
219
|
+
}
|
|
220
|
+
if (options.status !== undefined) {
|
|
221
|
+
const statuses = Array.isArray(options.status)
|
|
222
|
+
? options.status
|
|
223
|
+
: [options.status];
|
|
224
|
+
if (statuses.length > 0) {
|
|
225
|
+
url.searchParams.set('status', statuses.join(','));
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
return this.request(url, { method: 'GET' }, parseGlobalDeltasPage);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Cross-account in-flight proposal feed. Paginated newest-first by
|
|
232
|
+
* `originating_timestamp DESC`. Takes no `status` filter — every
|
|
233
|
+
* entry is in-flight by definition. EVM accounts do not appear in
|
|
234
|
+
* v1 per FR-017. Spec reference:
|
|
235
|
+
* `005-operator-dashboard-metrics` US7.
|
|
236
|
+
*/
|
|
237
|
+
async listGlobalProposals(options = {}) {
|
|
238
|
+
const url = new URL('dashboard/proposals', this.baseUrl);
|
|
239
|
+
applyPaginationParams(url, options);
|
|
240
|
+
return this.request(url, { method: 'GET' }, parseGlobalProposalsPage);
|
|
241
|
+
}
|
|
63
242
|
async request(url, init, parse) {
|
|
64
243
|
const response = await this.fetchImpl(url.toString(), {
|
|
65
244
|
...init,
|
|
@@ -174,19 +353,109 @@ function parseLogoutResponse(value) {
|
|
|
174
353
|
success: requireSuccess(record, 'logout response'),
|
|
175
354
|
};
|
|
176
355
|
}
|
|
177
|
-
function
|
|
178
|
-
|
|
356
|
+
function parseAccountListPage(value) {
|
|
357
|
+
return parsePagedResult(value, parseAccountSummary, 'accounts page');
|
|
358
|
+
}
|
|
359
|
+
function parseDashboardInfo(value) {
|
|
360
|
+
const record = asRecord(value, 'dashboard info');
|
|
361
|
+
const serviceStatusRaw = requireString(record, 'service_status', 'dashboard info');
|
|
362
|
+
let serviceStatus;
|
|
363
|
+
if (serviceStatusRaw === 'healthy' || serviceStatusRaw === 'degraded') {
|
|
364
|
+
serviceStatus = serviceStatusRaw;
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
throw new GuardianOperatorContractError('dashboard info', `expected service_status to be "healthy" or "degraded", got ${JSON.stringify(serviceStatusRaw)}`);
|
|
368
|
+
}
|
|
369
|
+
const counts = asRecord(requireField(record, 'delta_status_counts', 'dashboard info'), 'dashboard info.delta_status_counts');
|
|
370
|
+
const buildRecord = asRecord(requireField(record, 'build', 'dashboard info'), 'dashboard info.build');
|
|
371
|
+
const profileRaw = requireString(buildRecord, 'profile', 'dashboard info.build');
|
|
372
|
+
if (profileRaw !== 'debug' && profileRaw !== 'release') {
|
|
373
|
+
throw new GuardianOperatorContractError('dashboard info.build', `expected profile to be "debug" or "release", got ${JSON.stringify(profileRaw)}`);
|
|
374
|
+
}
|
|
375
|
+
const build = {
|
|
376
|
+
version: requireString(buildRecord, 'version', 'dashboard info.build'),
|
|
377
|
+
gitCommit: requireString(buildRecord, 'git_commit', 'dashboard info.build'),
|
|
378
|
+
profile: profileRaw,
|
|
379
|
+
startedAt: requireString(buildRecord, 'started_at', 'dashboard info.build'),
|
|
380
|
+
};
|
|
381
|
+
const backendRecord = asRecord(requireField(record, 'backend', 'dashboard info'), 'dashboard info.backend');
|
|
382
|
+
const storageRaw = requireString(backendRecord, 'storage', 'dashboard info.backend');
|
|
383
|
+
if (storageRaw !== 'filesystem' && storageRaw !== 'postgres') {
|
|
384
|
+
throw new GuardianOperatorContractError('dashboard info.backend', `expected storage to be "filesystem" or "postgres", got ${JSON.stringify(storageRaw)}`);
|
|
385
|
+
}
|
|
386
|
+
const canonicalizationField = backendRecord['canonicalization'];
|
|
387
|
+
let canonicalization;
|
|
388
|
+
if (canonicalizationField === null || canonicalizationField === undefined) {
|
|
389
|
+
canonicalization = null;
|
|
390
|
+
}
|
|
391
|
+
else {
|
|
392
|
+
const c = asRecord(canonicalizationField, 'dashboard info.backend.canonicalization');
|
|
393
|
+
canonicalization = {
|
|
394
|
+
checkIntervalSeconds: requireInteger(c, 'check_interval_seconds', 'dashboard info.backend.canonicalization'),
|
|
395
|
+
maxRetries: requireInteger(c, 'max_retries', 'dashboard info.backend.canonicalization'),
|
|
396
|
+
submissionGracePeriodSeconds: requireInteger(c, 'submission_grace_period_seconds', 'dashboard info.backend.canonicalization'),
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
const backend = {
|
|
400
|
+
storage: storageRaw,
|
|
401
|
+
supportedAckSchemes: requireStringArray(backendRecord, 'supported_ack_schemes', 'dashboard info.backend'),
|
|
402
|
+
canonicalization,
|
|
403
|
+
};
|
|
404
|
+
const authMethodsRecord = asRecord(requireField(record, 'accounts_by_auth_method', 'dashboard info'), 'dashboard info.accounts_by_auth_method');
|
|
405
|
+
const accountsByAuthMethod = {};
|
|
406
|
+
for (const [key, raw] of Object.entries(authMethodsRecord)) {
|
|
407
|
+
if (typeof raw !== 'number' || !Number.isInteger(raw) || raw < 0) {
|
|
408
|
+
throw new GuardianOperatorContractError('dashboard info.accounts_by_auth_method', `expected non-negative integer count for "${key}", got ${JSON.stringify(raw)}`);
|
|
409
|
+
}
|
|
410
|
+
accountsByAuthMethod[key] = raw;
|
|
411
|
+
}
|
|
179
412
|
return {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
413
|
+
serviceStatus,
|
|
414
|
+
environment: requireString(record, 'environment', 'dashboard info'),
|
|
415
|
+
build,
|
|
416
|
+
backend,
|
|
417
|
+
totalAccountCount: requireInteger(record, 'total_account_count', 'dashboard info'),
|
|
418
|
+
accountsByAuthMethod,
|
|
419
|
+
latestActivity: requireNullableString(record, 'latest_activity', 'dashboard info'),
|
|
420
|
+
deltaStatusCounts: {
|
|
421
|
+
candidate: requireInteger(counts, 'candidate', 'dashboard info.delta_status_counts'),
|
|
422
|
+
canonical: requireInteger(counts, 'canonical', 'dashboard info.delta_status_counts'),
|
|
423
|
+
discarded: requireInteger(counts, 'discarded', 'dashboard info.delta_status_counts'),
|
|
424
|
+
},
|
|
425
|
+
inFlightProposalCount: requireInteger(record, 'in_flight_proposal_count', 'dashboard info'),
|
|
426
|
+
degradedAggregates: requireStringArray(record, 'degraded_aggregates', 'dashboard info'),
|
|
183
427
|
};
|
|
184
428
|
}
|
|
185
429
|
function parseAccountResponse(value) {
|
|
186
|
-
|
|
430
|
+
return parseAccountDetail(value, 'account response');
|
|
431
|
+
}
|
|
432
|
+
function parseAccountSnapshot(value) {
|
|
433
|
+
const record = asRecord(value, 'account snapshot');
|
|
434
|
+
const vaultRecord = asRecord(requireField(record, 'vault', 'account snapshot'), 'account snapshot.vault');
|
|
435
|
+
const fungibleRaw = requireArray(vaultRecord, 'fungible', 'account snapshot.vault');
|
|
436
|
+
const nonFungibleRaw = requireArray(vaultRecord, 'non_fungible', 'account snapshot.vault');
|
|
437
|
+
const fungible = fungibleRaw.map((entry, idx) => {
|
|
438
|
+
const ctx = `account snapshot.vault.fungible[${idx}]`;
|
|
439
|
+
const r = asRecord(entry, ctx);
|
|
440
|
+
return {
|
|
441
|
+
faucetId: requireString(r, 'faucet_id', ctx),
|
|
442
|
+
amount: requireString(r, 'amount', ctx),
|
|
443
|
+
};
|
|
444
|
+
});
|
|
445
|
+
const nonFungible = nonFungibleRaw.map((entry, idx) => {
|
|
446
|
+
const ctx = `account snapshot.vault.non_fungible[${idx}]`;
|
|
447
|
+
const r = asRecord(entry, ctx);
|
|
448
|
+
return {
|
|
449
|
+
faucetId: requireString(r, 'faucet_id', ctx),
|
|
450
|
+
vaultKey: requireString(r, 'vault_key', ctx),
|
|
451
|
+
};
|
|
452
|
+
});
|
|
453
|
+
const vault = { fungible, nonFungible };
|
|
187
454
|
return {
|
|
188
|
-
|
|
189
|
-
|
|
455
|
+
commitment: requireString(record, 'commitment', 'account snapshot'),
|
|
456
|
+
updatedAt: requireString(record, 'updated_at', 'account snapshot'),
|
|
457
|
+
hasPendingCandidate: requireBoolean(record, 'has_pending_candidate', 'account snapshot'),
|
|
458
|
+
vault,
|
|
190
459
|
};
|
|
191
460
|
}
|
|
192
461
|
function parseAccountSummary(value, context) {
|
|
@@ -226,8 +495,21 @@ function parseErrorResponse(value) {
|
|
|
226
495
|
}
|
|
227
496
|
retryAfterSecs = retryAfterValue;
|
|
228
497
|
}
|
|
498
|
+
// Optional stable machine-readable error code added by feature
|
|
499
|
+
// `005-operator-dashboard-metrics` and required for the dashboard
|
|
500
|
+
// error taxonomy (FR-028). Older servers may omit it; tolerate that
|
|
501
|
+
// by leaving the field undefined.
|
|
502
|
+
const codeValue = record.code;
|
|
503
|
+
let code;
|
|
504
|
+
if (codeValue !== undefined) {
|
|
505
|
+
if (typeof codeValue !== 'string') {
|
|
506
|
+
throw new GuardianOperatorContractError('error response', 'code must be a string when present');
|
|
507
|
+
}
|
|
508
|
+
code = codeValue;
|
|
509
|
+
}
|
|
229
510
|
return {
|
|
230
511
|
success: false,
|
|
512
|
+
code,
|
|
231
513
|
error: requireString(record, 'error', 'error response'),
|
|
232
514
|
retryAfterSecs,
|
|
233
515
|
};
|
|
@@ -303,4 +585,119 @@ function requireStringArray(record, key, context) {
|
|
|
303
585
|
return entry;
|
|
304
586
|
});
|
|
305
587
|
}
|
|
588
|
+
// ---------------------------------------------------------------------------
|
|
589
|
+
// Pagination helpers — feature `005-operator-dashboard-metrics`.
|
|
590
|
+
// ---------------------------------------------------------------------------
|
|
591
|
+
function applyPaginationParams(url, options) {
|
|
592
|
+
if (options.limit !== undefined) {
|
|
593
|
+
url.searchParams.set('limit', String(options.limit));
|
|
594
|
+
}
|
|
595
|
+
if (options.cursor !== undefined) {
|
|
596
|
+
url.searchParams.set('cursor', options.cursor);
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
function parseDeltaPage(value) {
|
|
600
|
+
return parsePagedResult(value, parseDeltaEntry, 'deltas page');
|
|
601
|
+
}
|
|
602
|
+
function parseProposalPage(value) {
|
|
603
|
+
return parsePagedResult(value, parseProposalEntry, 'proposals page');
|
|
604
|
+
}
|
|
605
|
+
function parseGlobalDeltasPage(value) {
|
|
606
|
+
return parsePagedResult(value, (entry, ctx) => parseGlobalDeltaEntry(entry, ctx), 'global deltas page');
|
|
607
|
+
}
|
|
608
|
+
function parseGlobalProposalsPage(value) {
|
|
609
|
+
return parsePagedResult(value, (entry, ctx) => parseGlobalProposalEntry(entry, ctx), 'global proposals page');
|
|
610
|
+
}
|
|
611
|
+
function parseGlobalDeltaEntry(value, context) {
|
|
612
|
+
const base = parseDeltaEntry(value, context);
|
|
613
|
+
if (!base.accountId) {
|
|
614
|
+
throw new GuardianOperatorContractError(context, 'global delta feed entries must include account_id');
|
|
615
|
+
}
|
|
616
|
+
return base;
|
|
617
|
+
}
|
|
618
|
+
function parseGlobalProposalEntry(value, context) {
|
|
619
|
+
const base = parseProposalEntry(value, context);
|
|
620
|
+
if (!base.accountId) {
|
|
621
|
+
throw new GuardianOperatorContractError(context, 'global proposal feed entries must include account_id');
|
|
622
|
+
}
|
|
623
|
+
return base;
|
|
624
|
+
}
|
|
625
|
+
function parsePagedResult(value, parseItem, context) {
|
|
626
|
+
const record = asRecord(value, context);
|
|
627
|
+
const items = requireArray(record, 'items', context).map((entry, index) => parseItem(entry, `${context}.items[${index}]`));
|
|
628
|
+
const nextCursorRaw = requireField(record, 'next_cursor', context);
|
|
629
|
+
let nextCursor;
|
|
630
|
+
if (nextCursorRaw === null) {
|
|
631
|
+
nextCursor = null;
|
|
632
|
+
}
|
|
633
|
+
else if (typeof nextCursorRaw === 'string') {
|
|
634
|
+
nextCursor = nextCursorRaw;
|
|
635
|
+
}
|
|
636
|
+
else {
|
|
637
|
+
throw new GuardianOperatorContractError(context, 'next_cursor must be a string or null');
|
|
638
|
+
}
|
|
639
|
+
return { items, nextCursor };
|
|
640
|
+
}
|
|
641
|
+
function parseDeltaEntry(value, context) {
|
|
642
|
+
const record = asRecord(value, context);
|
|
643
|
+
const entry = {
|
|
644
|
+
nonce: requireInteger(record, 'nonce', context),
|
|
645
|
+
status: parseDeltaStatus(requireString(record, 'status', context), `${context}.status`),
|
|
646
|
+
statusTimestamp: requireString(record, 'status_timestamp', context),
|
|
647
|
+
prevCommitment: requireString(record, 'prev_commitment', context),
|
|
648
|
+
newCommitment: requireNullableString(record, 'new_commitment', context),
|
|
649
|
+
};
|
|
650
|
+
if (record.retry_count !== undefined) {
|
|
651
|
+
const retry = record.retry_count;
|
|
652
|
+
if (typeof retry !== 'number' || !Number.isInteger(retry) || retry < 0) {
|
|
653
|
+
throw new GuardianOperatorContractError(context, 'retry_count must be a non-negative integer when present');
|
|
654
|
+
}
|
|
655
|
+
entry.retryCount = retry;
|
|
656
|
+
}
|
|
657
|
+
if (record.account_id !== undefined) {
|
|
658
|
+
if (typeof record.account_id !== 'string') {
|
|
659
|
+
throw new GuardianOperatorContractError(context, 'account_id must be a string when present');
|
|
660
|
+
}
|
|
661
|
+
entry.accountId = record.account_id;
|
|
662
|
+
}
|
|
663
|
+
if (record.proposal_type !== undefined) {
|
|
664
|
+
if (typeof record.proposal_type !== 'string') {
|
|
665
|
+
throw new GuardianOperatorContractError(context, 'proposal_type must be a string when present');
|
|
666
|
+
}
|
|
667
|
+
entry.proposalType = record.proposal_type;
|
|
668
|
+
}
|
|
669
|
+
return entry;
|
|
670
|
+
}
|
|
671
|
+
function parseProposalEntry(value, context) {
|
|
672
|
+
const record = asRecord(value, context);
|
|
673
|
+
const entry = {
|
|
674
|
+
commitment: requireString(record, 'commitment', context),
|
|
675
|
+
nonce: requireInteger(record, 'nonce', context),
|
|
676
|
+
proposerId: requireString(record, 'proposer_id', context),
|
|
677
|
+
originatingTimestamp: requireString(record, 'originating_timestamp', context),
|
|
678
|
+
signaturesCollected: requireInteger(record, 'signatures_collected', context),
|
|
679
|
+
signaturesRequired: requireInteger(record, 'signatures_required', context),
|
|
680
|
+
prevCommitment: requireString(record, 'prev_commitment', context),
|
|
681
|
+
newCommitment: requireNullableString(record, 'new_commitment', context),
|
|
682
|
+
};
|
|
683
|
+
if (record.account_id !== undefined) {
|
|
684
|
+
if (typeof record.account_id !== 'string') {
|
|
685
|
+
throw new GuardianOperatorContractError(context, 'account_id must be a string when present');
|
|
686
|
+
}
|
|
687
|
+
entry.accountId = record.account_id;
|
|
688
|
+
}
|
|
689
|
+
if (record.proposal_type !== undefined) {
|
|
690
|
+
if (typeof record.proposal_type !== 'string') {
|
|
691
|
+
throw new GuardianOperatorContractError(context, 'proposal_type must be a string when present');
|
|
692
|
+
}
|
|
693
|
+
entry.proposalType = record.proposal_type;
|
|
694
|
+
}
|
|
695
|
+
return entry;
|
|
696
|
+
}
|
|
697
|
+
function parseDeltaStatus(value, context) {
|
|
698
|
+
if (value === 'candidate' || value === 'canonical' || value === 'discarded') {
|
|
699
|
+
return value;
|
|
700
|
+
}
|
|
701
|
+
throw new GuardianOperatorContractError(context, `expected status to be "candidate" / "canonical" / "discarded", got ${JSON.stringify(value)}`);
|
|
702
|
+
}
|
|
306
703
|
//# sourceMappingURL=http.js.map
|
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { GuardianOperatorContractError, GuardianOperatorHttpClient, GuardianOperatorHttpError, } from './http.js';
|
|
2
|
-
export type {
|
|
1
|
+
export { GuardianOperatorContractError, GuardianOperatorHttpClient, GuardianOperatorHttpError, isDashboardErrorCode, parseErrorBody, } from './http.js';
|
|
2
|
+
export type { PaginationOptions, ParsedErrorBody } from './http.js';
|
|
3
|
+
export type { DashboardAccountDetail, DashboardAccountResponse, DashboardAccountStateStatus, DashboardAccountSummary, DashboardDeltaEntry, DashboardDeltaStatus, DashboardErrorCode, DashboardGlobalDeltaEntry, DashboardGlobalDeltaStatusFilter, DashboardGlobalProposalEntry, DashboardInfoResponse, DashboardProposalEntry, GlobalDeltasOptions, GuardianOperatorHttpClientOptions, GuardianOperatorHttpErrorData, LogoutOperatorResponse, OperatorChallenge, OperatorChallengeResponse, PagedResult, VerifyOperatorRequest, VerifyOperatorResponse, } from './types.js';
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEpE,YAAY,EACV,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,gCAAgC,EAChC,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,iCAAiC,EACjC,6BAA6B,EAC7B,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,WAAW,EACX,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { GuardianOperatorContractError, GuardianOperatorHttpClient, GuardianOperatorHttpError, } from './http.js';
|
|
1
|
+
export { GuardianOperatorContractError, GuardianOperatorHttpClient, GuardianOperatorHttpError, isDashboardErrorCode, parseErrorBody, } from './http.js';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,cAAc,GACf,MAAM,WAAW,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
export type DashboardAccountStateStatus = 'available' | 'unavailable';
|
|
2
2
|
export interface GuardianOperatorHttpErrorData {
|
|
3
3
|
success: false;
|
|
4
|
+
/**
|
|
5
|
+
* Stable, machine-readable error code emitted by the server. Clients
|
|
6
|
+
* SHOULD branch on this rather than on `error` (the human message) or
|
|
7
|
+
* the HTTP status alone. Codes added by feature
|
|
8
|
+
* `005-operator-dashboard-metrics` are typed via {@link DashboardErrorCode};
|
|
9
|
+
* other codes (e.g. `account_not_found`, `authentication_failed`) are
|
|
10
|
+
* forwarded as raw strings.
|
|
11
|
+
*/
|
|
12
|
+
code?: string;
|
|
4
13
|
error: string;
|
|
5
14
|
retryAfterSecs?: number;
|
|
6
15
|
}
|
|
@@ -48,13 +57,189 @@ export interface DashboardAccountDetail extends DashboardAccountSummary {
|
|
|
48
57
|
stateCreatedAt: string | null;
|
|
49
58
|
stateUpdatedAt: string | null;
|
|
50
59
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
60
|
+
/**
|
|
61
|
+
* @deprecated Removed in feature `005-operator-dashboard-metrics`. The
|
|
62
|
+
* account list endpoint now returns
|
|
63
|
+
* `PagedResult<DashboardAccountSummary>` (see
|
|
64
|
+
* `GuardianOperatorHttpClient.listAccounts`). Aggregate inventory
|
|
65
|
+
* totals are exposed via `getDashboardInfo()`.
|
|
66
|
+
*/
|
|
67
|
+
export type DashboardAccountsResponse = never;
|
|
68
|
+
/**
|
|
69
|
+
* `GET /dashboard/accounts/{id}` returns the account detail directly
|
|
70
|
+
* (no `success`, no `account` wrapper). The endpoint relies on the
|
|
71
|
+
* HTTP status code for success/failure and on the `DashboardErrorCode`
|
|
72
|
+
* body for typed errors.
|
|
73
|
+
*
|
|
74
|
+
* Kept as a named alias so callers and library code can still reference
|
|
75
|
+
* "the response shape" without having to spell out the detail type at
|
|
76
|
+
* each site. New shapes added to this endpoint MUST keep the bare
|
|
77
|
+
* payload form.
|
|
78
|
+
*/
|
|
79
|
+
export type DashboardAccountResponse = DashboardAccountDetail;
|
|
80
|
+
/**
|
|
81
|
+
* Stable error codes that the dashboard endpoints can emit. The server's
|
|
82
|
+
* 401 path uses `authentication_failed` (the cookie/session middleware
|
|
83
|
+
* variant); a hypothetical token-bearer path could emit `unauthorized`,
|
|
84
|
+
* but that does not happen on the operator dashboard surface today.
|
|
85
|
+
*
|
|
86
|
+
* Mirrors the `code` enum on `ErrorBody` in
|
|
87
|
+
* `005-operator-dashboard-metrics/contracts/dashboard.openapi.yaml`.
|
|
88
|
+
*/
|
|
89
|
+
export type DashboardErrorCode = 'authentication_failed' | 'account_not_found' | 'invalid_cursor' | 'invalid_limit' | 'invalid_status_filter' | 'data_unavailable' | 'unsupported_for_network' | 'account_data_unavailable';
|
|
90
|
+
export interface PagedResult<T> {
|
|
91
|
+
items: T[];
|
|
92
|
+
nextCursor: string | null;
|
|
55
93
|
}
|
|
56
|
-
export
|
|
57
|
-
|
|
58
|
-
|
|
94
|
+
export type DashboardDeltaStatus = 'candidate' | 'canonical' | 'discarded';
|
|
95
|
+
export interface DashboardDeltaEntry {
|
|
96
|
+
nonce: number;
|
|
97
|
+
accountId?: string;
|
|
98
|
+
status: DashboardDeltaStatus;
|
|
99
|
+
statusTimestamp: string;
|
|
100
|
+
prevCommitment: string;
|
|
101
|
+
newCommitment: string | null;
|
|
102
|
+
retryCount?: number;
|
|
103
|
+
/**
|
|
104
|
+
* Multisig proposal type tag carried in
|
|
105
|
+
* `delta_payload.metadata.proposal_type` on the underlying record
|
|
106
|
+
* (e.g. `"add_signer"`, `"p2id"`, `"change_threshold"`, ...). Absent
|
|
107
|
+
* for direct `push_delta` single-key Miden writes and for EVM
|
|
108
|
+
* deltas, which carry no metadata blob.
|
|
109
|
+
*/
|
|
110
|
+
proposalType?: string;
|
|
111
|
+
}
|
|
112
|
+
export interface DashboardProposalEntry {
|
|
113
|
+
commitment: string;
|
|
114
|
+
nonce: number;
|
|
115
|
+
accountId?: string;
|
|
116
|
+
proposerId: string;
|
|
117
|
+
originatingTimestamp: string;
|
|
118
|
+
signaturesCollected: number;
|
|
119
|
+
signaturesRequired: number;
|
|
120
|
+
prevCommitment: string;
|
|
121
|
+
newCommitment: string | null;
|
|
122
|
+
/** See {@link DashboardDeltaEntry.proposalType}. In practice always
|
|
123
|
+
* populated for in-flight multisig proposals on this endpoint. */
|
|
124
|
+
proposalType?: string;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Global delta feed entry. Identical to {@link DashboardDeltaEntry}
|
|
128
|
+
* but `accountId` is required (every entry on the global feed is
|
|
129
|
+
* tagged with the account it belongs to).
|
|
130
|
+
*/
|
|
131
|
+
export interface DashboardGlobalDeltaEntry extends DashboardDeltaEntry {
|
|
132
|
+
accountId: string;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Global proposal feed entry. Identical to
|
|
136
|
+
* {@link DashboardProposalEntry} but `accountId` is required.
|
|
137
|
+
*/
|
|
138
|
+
export interface DashboardGlobalProposalEntry extends DashboardProposalEntry {
|
|
139
|
+
accountId: string;
|
|
140
|
+
}
|
|
141
|
+
/** Fungible asset entry in an account vault snapshot. `amount` is a
|
|
142
|
+
* string to keep `u64` precision safe across JS. Decimal handling and
|
|
143
|
+
* USD conversion are dashboard-client concerns; Guardian does not
|
|
144
|
+
* carry token metadata or price oracles. */
|
|
145
|
+
export interface DashboardVaultFungibleEntry {
|
|
146
|
+
faucetId: string;
|
|
147
|
+
amount: string;
|
|
148
|
+
}
|
|
149
|
+
/** Non-fungible asset entry. `vaultKey` is the canonical Miden
|
|
150
|
+
* identifier for the asset within the vault. */
|
|
151
|
+
export interface DashboardVaultNonFungibleEntry {
|
|
152
|
+
faucetId: string;
|
|
153
|
+
vaultKey: string;
|
|
154
|
+
}
|
|
155
|
+
export interface DashboardVaultSnapshot {
|
|
156
|
+
fungible: DashboardVaultFungibleEntry[];
|
|
157
|
+
nonFungible: DashboardVaultNonFungibleEntry[];
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Decoded snapshot of one account's stored state at the commitment
|
|
161
|
+
* Guardian last canonicalized. Source of truth is Guardian's stored
|
|
162
|
+
* state — no live Miden RPC calls. New fields land here as additive
|
|
163
|
+
* top-level keys derivable from the existing state blob.
|
|
164
|
+
*/
|
|
165
|
+
export interface DashboardAccountSnapshot {
|
|
166
|
+
/** Hex state commitment the snapshot was decoded from. Equals
|
|
167
|
+
* `DashboardAccountDetail.currentCommitment` for the same account
|
|
168
|
+
* at the same point in time; callers can correlate the snapshot
|
|
169
|
+
* with a delta history entry by matching on this hex. */
|
|
170
|
+
commitment: string;
|
|
171
|
+
/** RFC3339 wall-clock time of the underlying state row's
|
|
172
|
+
* `updated_at` — i.e. when Guardian last persisted the
|
|
173
|
+
* canonicalized state this snapshot was decoded from. Equals
|
|
174
|
+
* `DashboardAccountDetail.stateUpdatedAt` for the same account at
|
|
175
|
+
* the same point in time. */
|
|
176
|
+
updatedAt: string;
|
|
177
|
+
/** True when the account has a candidate delta in flight that has
|
|
178
|
+
* not yet been canonicalized. The snapshot reflects the current
|
|
179
|
+
* canonical state only — when this is `true`, the vault content
|
|
180
|
+
* may already be stale relative to the chain. UIs SHOULD warn
|
|
181
|
+
* rather than silently display stale data. */
|
|
182
|
+
hasPendingCandidate: boolean;
|
|
183
|
+
vault: DashboardVaultSnapshot;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Optional `?status=` filter on the global delta feed (FR-033).
|
|
187
|
+
* Accepts either a single value or an array; the wrapper serializes
|
|
188
|
+
* to comma-separated.
|
|
189
|
+
*/
|
|
190
|
+
export type DashboardGlobalDeltaStatusFilter = DashboardDeltaStatus | DashboardDeltaStatus[];
|
|
191
|
+
export interface GlobalDeltasOptions {
|
|
192
|
+
limit?: number;
|
|
193
|
+
cursor?: string;
|
|
194
|
+
status?: DashboardGlobalDeltaStatusFilter;
|
|
195
|
+
}
|
|
196
|
+
/** Build identity for the running `guardian-server` binary. */
|
|
197
|
+
export interface DashboardBuildInfo {
|
|
198
|
+
/** `guardian-server` package version (`CARGO_PKG_VERSION`). */
|
|
199
|
+
version: string;
|
|
200
|
+
/** Short git SHA at build time, or `"unknown"` when unavailable. */
|
|
201
|
+
gitCommit: string;
|
|
202
|
+
/** Cargo build profile: `"debug"` or `"release"`. */
|
|
203
|
+
profile: 'debug' | 'release';
|
|
204
|
+
/** RFC3339 wall-clock time the server initialized dashboard state. */
|
|
205
|
+
startedAt: string;
|
|
206
|
+
}
|
|
207
|
+
/** Canonicalization worker config when the server runs in
|
|
208
|
+
* candidate-commit mode. `null` indicates optimistic-commit mode. */
|
|
209
|
+
export interface DashboardCanonicalizationConfig {
|
|
210
|
+
checkIntervalSeconds: number;
|
|
211
|
+
maxRetries: number;
|
|
212
|
+
submissionGracePeriodSeconds: number;
|
|
213
|
+
}
|
|
214
|
+
/** Backend configuration snapshot. */
|
|
215
|
+
export interface DashboardBackendInfo {
|
|
216
|
+
/** `"filesystem"` or `"postgres"` based on the server's compiled
|
|
217
|
+
* feature flag. */
|
|
218
|
+
storage: 'filesystem' | 'postgres';
|
|
219
|
+
/** Acknowledgement signature schemes wired into the server's
|
|
220
|
+
* `AckRegistry`. */
|
|
221
|
+
supportedAckSchemes: string[];
|
|
222
|
+
/** `null` in optimistic-commit mode. */
|
|
223
|
+
canonicalization: DashboardCanonicalizationConfig | null;
|
|
224
|
+
}
|
|
225
|
+
export interface DashboardInfoResponse {
|
|
226
|
+
serviceStatus: 'healthy' | 'degraded';
|
|
227
|
+
environment: string;
|
|
228
|
+
build: DashboardBuildInfo;
|
|
229
|
+
backend: DashboardBackendInfo;
|
|
230
|
+
totalAccountCount: number;
|
|
231
|
+
/** Counts of accounts grouped by stable auth-method label
|
|
232
|
+
* (`"miden_falcon"`, `"miden_ecdsa"`, `"evm"`). Empty when marked
|
|
233
|
+
* degraded — check `degradedAggregates` for
|
|
234
|
+
* `"accounts_by_auth_method"`. */
|
|
235
|
+
accountsByAuthMethod: Record<string, number>;
|
|
236
|
+
latestActivity: string | null;
|
|
237
|
+
deltaStatusCounts: {
|
|
238
|
+
candidate: number;
|
|
239
|
+
canonical: number;
|
|
240
|
+
discarded: number;
|
|
241
|
+
};
|
|
242
|
+
inFlightProposalCount: number;
|
|
243
|
+
degradedAggregates: string[];
|
|
59
244
|
}
|
|
60
245
|
//# 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;CACzB;AAED,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,IAAI,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,IAAI,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,2BAA2B,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|