@serve.zone/interfaces 7.19.0 → 7.21.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/changelog.md +16 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/requests/mail.d.ts +32 -0
- package/dist_ts/requests/node.d.ts +16 -0
- package/dist_ts/requests/routing.d.ts +38 -0
- package/package.json +1 -1
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/requests/mail.ts +38 -0
- package/ts/requests/node.ts +20 -0
- package/ts/requests/routing.ts +41 -0
package/changelog.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026-06-11 - 7.21.0
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- add Cloudly mail overview request interfaces (mail)
|
|
8
|
+
- Adds interfaces for mail overview domains and recent email queue entries.
|
|
9
|
+
- Defines the getMailOverview typed request contract with configuration status, gateway URL, domains, emails, and error text.
|
|
10
|
+
|
|
11
|
+
## 2026-06-11 - 7.20.0
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
- add live proxy traffic stats request interfaces (requests)
|
|
16
|
+
- Add per-host traffic stats shape with byte rates, request rate, and active connections
|
|
17
|
+
- Add Cloudly, coreflow, and coretraffic request contracts for retrieving live traffic stats
|
|
18
|
+
|
|
3
19
|
## 2026-06-11 - 7.19.0
|
|
4
20
|
|
|
5
21
|
### Features
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/interfaces',
|
|
6
|
-
version: '7.
|
|
6
|
+
version: '7.21.0',
|
|
7
7
|
description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLHVGQUF1RjtDQUNyRyxDQUFBIn0=
|
|
@@ -199,3 +199,35 @@ export interface IReq_EnqueueMail extends plugins.typedrequestInterfaces.impleme
|
|
|
199
199
|
message?: string;
|
|
200
200
|
};
|
|
201
201
|
}
|
|
202
|
+
/**
|
|
203
|
+
* Cloudly admin UI mail overview, relayed from the hub dcrouter's ops API.
|
|
204
|
+
* Read-only summary: configured email domains and recent queue entries.
|
|
205
|
+
*/
|
|
206
|
+
export interface IMailOverviewDomain {
|
|
207
|
+
domain: string;
|
|
208
|
+
dnsMode?: string;
|
|
209
|
+
status?: string;
|
|
210
|
+
}
|
|
211
|
+
export interface IMailOverviewEmail {
|
|
212
|
+
id: string;
|
|
213
|
+
direction?: string;
|
|
214
|
+
from?: string;
|
|
215
|
+
to?: string;
|
|
216
|
+
subject?: string;
|
|
217
|
+
status?: string;
|
|
218
|
+
timestamp?: number;
|
|
219
|
+
}
|
|
220
|
+
export interface IReq_Any_Cloudly_GetMailOverview extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_GetMailOverview> {
|
|
221
|
+
method: 'getMailOverview';
|
|
222
|
+
request: {
|
|
223
|
+
identity: IIdentity;
|
|
224
|
+
};
|
|
225
|
+
response: {
|
|
226
|
+
/** False when no dcrouter ops API token is configured in settings. */
|
|
227
|
+
configured: boolean;
|
|
228
|
+
gatewayUrl?: string;
|
|
229
|
+
domains: IMailOverviewDomain[];
|
|
230
|
+
emails: IMailOverviewEmail[];
|
|
231
|
+
errorText?: string;
|
|
232
|
+
};
|
|
233
|
+
}
|
|
@@ -128,6 +128,22 @@ export interface IReq_Any_Cloudly_GetNodeActions extends plugins.typedrequestInt
|
|
|
128
128
|
actions: INodeAction[];
|
|
129
129
|
};
|
|
130
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Admin UI asks Cloudly for a node's live proxy traffic rates; Cloudly
|
|
133
|
+
* relays to the node's coreflow which queries its local coretraffic.
|
|
134
|
+
*/
|
|
135
|
+
export interface IReq_Any_Cloudly_GetNodeTrafficStats extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_Cloudly_GetNodeTrafficStats> {
|
|
136
|
+
method: 'getNodeTrafficStats';
|
|
137
|
+
request: {
|
|
138
|
+
identity: IIdentity;
|
|
139
|
+
nodeId: string;
|
|
140
|
+
windowSeconds?: number;
|
|
141
|
+
};
|
|
142
|
+
response: {
|
|
143
|
+
hosts: import('./routing.js').ITrafficHostStats[];
|
|
144
|
+
timestamp: number;
|
|
145
|
+
};
|
|
146
|
+
}
|
|
131
147
|
/**
|
|
132
148
|
* Cloudly -> admin UIs: live node metrics relay (1s cadence, not persisted).
|
|
133
149
|
*/
|
|
@@ -21,3 +21,41 @@ export interface IRequest_Coretraffic_Coreflow_GetCurrentRouting {
|
|
|
21
21
|
reverseConfigs: IReverseProxyConfig[];
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Live proxy traffic rates for one served hostname.
|
|
26
|
+
*/
|
|
27
|
+
export interface ITrafficHostStats {
|
|
28
|
+
hostName: string;
|
|
29
|
+
bytesInPerSec: number;
|
|
30
|
+
bytesOutPerSec: number;
|
|
31
|
+
requestsPerSec: number;
|
|
32
|
+
connectionsActive: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Coreflow asks its local coretraffic for current per-hostname traffic
|
|
36
|
+
* rates (sourced from the proxy's metrics, not persisted).
|
|
37
|
+
*/
|
|
38
|
+
export interface IRequest_Coreflow_Coretraffic_GetTrafficStats {
|
|
39
|
+
method: 'getTrafficStats';
|
|
40
|
+
request: {
|
|
41
|
+
windowSeconds?: number;
|
|
42
|
+
};
|
|
43
|
+
response: {
|
|
44
|
+
hosts: ITrafficHostStats[];
|
|
45
|
+
timestamp: number;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Cloudly asks a node's coreflow for that node's current proxy traffic
|
|
50
|
+
* rates; coreflow relays to its local coretraffic.
|
|
51
|
+
*/
|
|
52
|
+
export interface IRequest_Cloudly_Coreflow_GetTrafficStats {
|
|
53
|
+
method: 'coreflowGetTrafficStats';
|
|
54
|
+
request: {
|
|
55
|
+
windowSeconds?: number;
|
|
56
|
+
};
|
|
57
|
+
response: {
|
|
58
|
+
hosts: ITrafficHostStats[];
|
|
59
|
+
timestamp: number;
|
|
60
|
+
};
|
|
61
|
+
}
|
package/package.json
CHANGED
package/ts/00_commitinfo_data.ts
CHANGED
package/ts/requests/mail.ts
CHANGED
|
@@ -288,3 +288,41 @@ export interface IReq_EnqueueMail extends plugins.typedrequestInterfaces.impleme
|
|
|
288
288
|
message?: string;
|
|
289
289
|
};
|
|
290
290
|
}
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Cloudly admin UI mail overview, relayed from the hub dcrouter's ops API.
|
|
294
|
+
* Read-only summary: configured email domains and recent queue entries.
|
|
295
|
+
*/
|
|
296
|
+
export interface IMailOverviewDomain {
|
|
297
|
+
domain: string;
|
|
298
|
+
dnsMode?: string;
|
|
299
|
+
status?: string;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
export interface IMailOverviewEmail {
|
|
303
|
+
id: string;
|
|
304
|
+
direction?: string;
|
|
305
|
+
from?: string;
|
|
306
|
+
to?: string;
|
|
307
|
+
subject?: string;
|
|
308
|
+
status?: string;
|
|
309
|
+
timestamp?: number;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
export interface IReq_Any_Cloudly_GetMailOverview extends plugins.typedrequestInterfaces.implementsTR<
|
|
313
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
314
|
+
IReq_Any_Cloudly_GetMailOverview
|
|
315
|
+
> {
|
|
316
|
+
method: 'getMailOverview';
|
|
317
|
+
request: {
|
|
318
|
+
identity: IIdentity;
|
|
319
|
+
};
|
|
320
|
+
response: {
|
|
321
|
+
/** False when no dcrouter ops API token is configured in settings. */
|
|
322
|
+
configured: boolean;
|
|
323
|
+
gatewayUrl?: string;
|
|
324
|
+
domains: IMailOverviewDomain[];
|
|
325
|
+
emails: IMailOverviewEmail[];
|
|
326
|
+
errorText?: string;
|
|
327
|
+
};
|
|
328
|
+
}
|
package/ts/requests/node.ts
CHANGED
|
@@ -164,6 +164,26 @@ export interface IReq_Any_Cloudly_GetNodeActions extends plugins.typedrequestInt
|
|
|
164
164
|
};
|
|
165
165
|
}
|
|
166
166
|
|
|
167
|
+
/**
|
|
168
|
+
* Admin UI asks Cloudly for a node's live proxy traffic rates; Cloudly
|
|
169
|
+
* relays to the node's coreflow which queries its local coretraffic.
|
|
170
|
+
*/
|
|
171
|
+
export interface IReq_Any_Cloudly_GetNodeTrafficStats extends plugins.typedrequestInterfaces.implementsTR<
|
|
172
|
+
plugins.typedrequestInterfaces.ITypedRequest,
|
|
173
|
+
IReq_Any_Cloudly_GetNodeTrafficStats
|
|
174
|
+
> {
|
|
175
|
+
method: 'getNodeTrafficStats';
|
|
176
|
+
request: {
|
|
177
|
+
identity: IIdentity;
|
|
178
|
+
nodeId: string;
|
|
179
|
+
windowSeconds?: number;
|
|
180
|
+
};
|
|
181
|
+
response: {
|
|
182
|
+
hosts: import('./routing.js').ITrafficHostStats[];
|
|
183
|
+
timestamp: number;
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
|
|
167
187
|
/**
|
|
168
188
|
* Cloudly -> admin UIs: live node metrics relay (1s cadence, not persisted).
|
|
169
189
|
*/
|
package/ts/requests/routing.ts
CHANGED
|
@@ -23,3 +23,44 @@ export interface IRequest_Coretraffic_Coreflow_GetCurrentRouting {
|
|
|
23
23
|
reverseConfigs: IReverseProxyConfig[];
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Live proxy traffic rates for one served hostname.
|
|
29
|
+
*/
|
|
30
|
+
export interface ITrafficHostStats {
|
|
31
|
+
hostName: string;
|
|
32
|
+
bytesInPerSec: number;
|
|
33
|
+
bytesOutPerSec: number;
|
|
34
|
+
requestsPerSec: number;
|
|
35
|
+
connectionsActive: number;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Coreflow asks its local coretraffic for current per-hostname traffic
|
|
40
|
+
* rates (sourced from the proxy's metrics, not persisted).
|
|
41
|
+
*/
|
|
42
|
+
export interface IRequest_Coreflow_Coretraffic_GetTrafficStats {
|
|
43
|
+
method: 'getTrafficStats';
|
|
44
|
+
request: {
|
|
45
|
+
windowSeconds?: number;
|
|
46
|
+
};
|
|
47
|
+
response: {
|
|
48
|
+
hosts: ITrafficHostStats[];
|
|
49
|
+
timestamp: number;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Cloudly asks a node's coreflow for that node's current proxy traffic
|
|
55
|
+
* rates; coreflow relays to its local coretraffic.
|
|
56
|
+
*/
|
|
57
|
+
export interface IRequest_Cloudly_Coreflow_GetTrafficStats {
|
|
58
|
+
method: 'coreflowGetTrafficStats';
|
|
59
|
+
request: {
|
|
60
|
+
windowSeconds?: number;
|
|
61
|
+
};
|
|
62
|
+
response: {
|
|
63
|
+
hosts: ITrafficHostStats[];
|
|
64
|
+
timestamp: number;
|
|
65
|
+
};
|
|
66
|
+
}
|