@serve.zone/interfaces 7.0.0 → 7.1.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,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026-06-09 - 7.1.0
4
+
5
+ ### Features
6
+
7
+ - add service reconciliation status contracts (service-status)
8
+ - Add reconciliation status types and an optional reconciliationStatus field to service data
9
+ - Add typed request contract for reporting reconciliation status updates
10
+ - Align the cloudlyStatus request contract with typedrequest interfaces
11
+ - add optional identity context to settings requests (settings)
12
+ - Adds optional identity to get, update, clear, provider connection test, and internal get setting request payloads.
13
+
3
14
  ## 2026-06-08 - 7.0.0
4
15
 
5
16
  ### Breaking Changes
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/interfaces',
6
- version: '7.0.0',
6
+ version: '7.1.0',
7
7
  description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHVGQUF1RjtDQUNyRyxDQUFBIn0=
@@ -17,6 +17,21 @@ export interface IServiceVolume {
17
17
  /** Driver-specific options forwarded to Docker's VolumeDriver.Create request. */
18
18
  options?: Record<string, string>;
19
19
  }
20
+ export type TServiceReconciliationStatus = 'running' | 'ready' | 'degraded' | 'failed';
21
+ export interface IServiceReconciliationStageStatus {
22
+ stage: string;
23
+ stageKey: string;
24
+ status: TServiceReconciliationStatus;
25
+ domainName?: string;
26
+ message?: string;
27
+ errorText?: string;
28
+ reportedAt: number;
29
+ }
30
+ export interface IServiceReconciliationStatus {
31
+ status: TServiceReconciliationStatus;
32
+ updatedAt: number;
33
+ stages: Record<string, IServiceReconciliationStageStatus>;
34
+ }
20
35
  export interface IService {
21
36
  id: string;
22
37
  data: {
@@ -30,6 +45,7 @@ export interface IService {
30
45
  appTemplateVersion?: string;
31
46
  appStoreUpgradePolicy?: 'manual' | 'notify' | 'auto';
32
47
  hostedAppLifecycle?: IHostedAppLifecycleState;
48
+ reconciliationStatus?: IServiceReconciliationStatus;
33
49
  environment: {
34
50
  [key: string]: string;
35
51
  };
@@ -1,8 +1,11 @@
1
1
  import * as plugins from '../plugins.js';
2
2
  import type { ICloudlySettings, ICloudlySettingsMasked } from '../data/settings.js';
3
+ import type { IIdentity } from '../data/user.js';
3
4
  export interface IRequest_GetSettings extends plugins.typedrequestInterfaces.ITypedRequest {
4
5
  method: 'getSettings';
5
- request: {};
6
+ request: {
7
+ identity?: IIdentity;
8
+ };
6
9
  response: {
7
10
  settings: ICloudlySettingsMasked;
8
11
  };
@@ -10,6 +13,7 @@ export interface IRequest_GetSettings extends plugins.typedrequestInterfaces.ITy
10
13
  export interface IRequest_UpdateSettings extends plugins.typedrequestInterfaces.ITypedRequest {
11
14
  method: 'updateSettings';
12
15
  request: {
16
+ identity?: IIdentity;
13
17
  updates: Partial<ICloudlySettings>;
14
18
  };
15
19
  response: {
@@ -20,6 +24,7 @@ export interface IRequest_UpdateSettings extends plugins.typedrequestInterfaces.
20
24
  export interface IRequest_ClearSetting extends plugins.typedrequestInterfaces.ITypedRequest {
21
25
  method: 'clearSetting';
22
26
  request: {
27
+ identity?: IIdentity;
23
28
  key: keyof ICloudlySettings;
24
29
  };
25
30
  response: {
@@ -30,6 +35,7 @@ export interface IRequest_ClearSetting extends plugins.typedrequestInterfaces.IT
30
35
  export interface IRequest_TestProviderConnection extends plugins.typedrequestInterfaces.ITypedRequest {
31
36
  method: 'testProviderConnection';
32
37
  request: {
38
+ identity?: IIdentity;
33
39
  provider: 'hetzner' | 'cloudflare' | 'aws' | 'digitalocean' | 'azure' | 'google' | 'vultr' | 'linode' | 'ovh' | 'scaleway';
34
40
  };
35
41
  response: {
@@ -41,6 +47,7 @@ export interface IRequest_TestProviderConnection extends plugins.typedrequestInt
41
47
  export interface IRequest_GetSetting extends plugins.typedrequestInterfaces.ITypedRequest {
42
48
  method: 'getSetting';
43
49
  request: {
50
+ identity?: IIdentity;
44
51
  key: keyof ICloudlySettings;
45
52
  };
46
53
  response: {
@@ -1,11 +1,29 @@
1
+ import * as plugins from '../plugins.js';
2
+ import * as serviceInterfaces from '../data/service.js';
1
3
  import * as userInterfaces from '../data/user.js';
2
4
  /**
3
5
  * a status update dashboard
4
6
  */
5
- export interface IRequest_Coreflow_Cloudly_CoreflowManagerStatusupdate {
7
+ export interface IRequest_Coreflow_Cloudly_CoreflowManagerStatusupdate extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IRequest_Coreflow_Cloudly_CoreflowManagerStatusupdate> {
6
8
  method: 'cloudlyStatus';
7
9
  request: {
8
10
  identity: userInterfaces.IIdentity;
9
11
  };
10
12
  response: {};
11
13
  }
14
+ export interface IRequest_Coreflow_Cloudly_ReportReconciliationStatus extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IRequest_Coreflow_Cloudly_ReportReconciliationStatus> {
15
+ method: 'reportReconciliationStatus';
16
+ request: {
17
+ identity: userInterfaces.IIdentity;
18
+ serviceId: string;
19
+ serviceName?: string;
20
+ stage: string;
21
+ stageKey?: string;
22
+ status: serviceInterfaces.TServiceReconciliationStatus;
23
+ domainName?: string;
24
+ message?: string;
25
+ errorText?: string;
26
+ reportedAt?: number;
27
+ };
28
+ response: {};
29
+ }
@@ -1,2 +1,4 @@
1
+ import * as plugins from '../plugins.js';
2
+ import * as serviceInterfaces from '../data/service.js';
1
3
  import * as userInterfaces from '../data/user.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvcmVxdWVzdHMvc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxjQUFjLE1BQU0saUJBQWlCLENBQUMifQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvcmVxdWVzdHMvc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEtBQUssY0FBYyxNQUFNLGlCQUFpQixDQUFDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serve.zone/interfaces",
3
- "version": "7.0.0",
3
+ "version": "7.1.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.0.0',
6
+ version: '7.1.0',
7
7
  description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
8
8
  }
@@ -19,6 +19,24 @@ export interface IServiceVolume {
19
19
  options?: Record<string, string>;
20
20
  }
21
21
 
22
+ export type TServiceReconciliationStatus = 'running' | 'ready' | 'degraded' | 'failed';
23
+
24
+ export interface IServiceReconciliationStageStatus {
25
+ stage: string;
26
+ stageKey: string;
27
+ status: TServiceReconciliationStatus;
28
+ domainName?: string;
29
+ message?: string;
30
+ errorText?: string;
31
+ reportedAt: number;
32
+ }
33
+
34
+ export interface IServiceReconciliationStatus {
35
+ status: TServiceReconciliationStatus;
36
+ updatedAt: number;
37
+ stages: Record<string, IServiceReconciliationStageStatus>;
38
+ }
39
+
22
40
  export interface IService {
23
41
  id: string;
24
42
  data: {
@@ -32,6 +50,7 @@ export interface IService {
32
50
  appTemplateVersion?: string;
33
51
  appStoreUpgradePolicy?: 'manual' | 'notify' | 'auto';
34
52
  hostedAppLifecycle?: IHostedAppLifecycleState;
53
+ reconciliationStatus?: IServiceReconciliationStatus;
35
54
  environment: { [key: string]: string };
36
55
  /**
37
56
  * the main secret bundle id, exclusive to the service
@@ -1,10 +1,13 @@
1
1
  import * as plugins from '../plugins.js';
2
2
  import type { ICloudlySettings, ICloudlySettingsMasked } from '../data/settings.js';
3
+ import type { IIdentity } from '../data/user.js';
3
4
 
4
5
  // Get Settings
5
6
  export interface IRequest_GetSettings extends plugins.typedrequestInterfaces.ITypedRequest {
6
7
  method: 'getSettings';
7
- request: {};
8
+ request: {
9
+ identity?: IIdentity;
10
+ };
8
11
  response: {
9
12
  settings: ICloudlySettingsMasked;
10
13
  };
@@ -14,6 +17,7 @@ export interface IRequest_GetSettings extends plugins.typedrequestInterfaces.ITy
14
17
  export interface IRequest_UpdateSettings extends plugins.typedrequestInterfaces.ITypedRequest {
15
18
  method: 'updateSettings';
16
19
  request: {
20
+ identity?: IIdentity;
17
21
  updates: Partial<ICloudlySettings>;
18
22
  };
19
23
  response: {
@@ -26,6 +30,7 @@ export interface IRequest_UpdateSettings extends plugins.typedrequestInterfaces.
26
30
  export interface IRequest_ClearSetting extends plugins.typedrequestInterfaces.ITypedRequest {
27
31
  method: 'clearSetting';
28
32
  request: {
33
+ identity?: IIdentity;
29
34
  key: keyof ICloudlySettings;
30
35
  };
31
36
  response: {
@@ -38,6 +43,7 @@ export interface IRequest_ClearSetting extends plugins.typedrequestInterfaces.IT
38
43
  export interface IRequest_TestProviderConnection extends plugins.typedrequestInterfaces.ITypedRequest {
39
44
  method: 'testProviderConnection';
40
45
  request: {
46
+ identity?: IIdentity;
41
47
  provider: 'hetzner' | 'cloudflare' | 'aws' | 'digitalocean' | 'azure' | 'google' | 'vultr' | 'linode' | 'ovh' | 'scaleway';
42
48
  };
43
49
  response: {
@@ -51,9 +57,10 @@ export interface IRequest_TestProviderConnection extends plugins.typedrequestInt
51
57
  export interface IRequest_GetSetting extends plugins.typedrequestInterfaces.ITypedRequest {
52
58
  method: 'getSetting';
53
59
  request: {
60
+ identity?: IIdentity;
54
61
  key: keyof ICloudlySettings;
55
62
  };
56
63
  response: {
57
64
  value: string | undefined;
58
65
  };
59
- }
66
+ }
@@ -1,12 +1,39 @@
1
+ import * as plugins from '../plugins.js';
2
+ import * as serviceInterfaces from '../data/service.js';
1
3
  import * as userInterfaces from '../data/user.js';
2
4
 
3
5
  /**
4
6
  * a status update dashboard
5
7
  */
6
- export interface IRequest_Coreflow_Cloudly_CoreflowManagerStatusupdate {
8
+ export interface IRequest_Coreflow_Cloudly_CoreflowManagerStatusupdate
9
+ extends plugins.typedrequestInterfaces.implementsTR<
10
+ plugins.typedrequestInterfaces.ITypedRequest,
11
+ IRequest_Coreflow_Cloudly_CoreflowManagerStatusupdate
12
+ > {
7
13
  method: 'cloudlyStatus';
8
14
  request: {
9
15
  identity: userInterfaces.IIdentity;
10
16
  };
11
17
  response: {};
12
18
  }
19
+
20
+ export interface IRequest_Coreflow_Cloudly_ReportReconciliationStatus
21
+ extends plugins.typedrequestInterfaces.implementsTR<
22
+ plugins.typedrequestInterfaces.ITypedRequest,
23
+ IRequest_Coreflow_Cloudly_ReportReconciliationStatus
24
+ > {
25
+ method: 'reportReconciliationStatus';
26
+ request: {
27
+ identity: userInterfaces.IIdentity;
28
+ serviceId: string;
29
+ serviceName?: string;
30
+ stage: string;
31
+ stageKey?: string;
32
+ status: serviceInterfaces.TServiceReconciliationStatus;
33
+ domainName?: string;
34
+ message?: string;
35
+ errorText?: string;
36
+ reportedAt?: number;
37
+ };
38
+ response: {};
39
+ }