@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 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.19.0',
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serve.zone/interfaces",
3
- "version": "7.19.0",
3
+ "version": "7.21.0",
4
4
  "private": false,
5
5
  "description": "Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.",
6
6
  "exports": {
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/interfaces',
6
- version: '7.19.0',
6
+ version: '7.21.0',
7
7
  description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
8
8
  }
@@ -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
+ }
@@ -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
  */
@@ -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
+ }