@serve.zone/interfaces 6.0.0 → 6.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
@@ -3,6 +3,25 @@
3
3
  ## Pending
4
4
 
5
5
 
6
+ ## 2026-05-26 - 6.1.0
7
+
8
+ - add generic hosted app lifecycle contracts (hostedapp)
9
+ - Adds service-scoped runtime identity, lifecycle reporting, bootstrap action, and managed upgrade request interfaces.
10
+ - Adds optional hosted app lifecycle state to service data for host runtimes such as Onebox and Cloudly.
11
+
12
+ ### Features
13
+
14
+ - add hosted app lifecycle contracts (hostedapp)
15
+ - Add hosted app runtime identity, lifecycle state, bootstrap action, and managed upgrade data contracts
16
+ - Expose typed request interfaces for lifecycle reporting, bootstrap actions, and managed upgrade operations
17
+ - Allow services to include optional hosted app lifecycle state
18
+
19
+ ## 2026-05-26 - 6.0.1
20
+
21
+ - add App Store service upgrade contracts (appstore)
22
+ - Adds App Store upgrade preview, operation tracking, start/apply, and progress push request contracts
23
+ - Adds service-level App Store upgrade policy, published ports, and service IDs to related service types
24
+
6
25
  ## 2026-05-25 - 6.0.0
7
26
 
8
27
  ### Breaking Changes
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/interfaces',
6
- version: '6.0.0',
6
+ version: '6.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=
@@ -160,6 +160,7 @@ export interface IAppStoreInstallRequest {
160
160
  envVars?: Record<string, string>;
161
161
  }
162
162
  export interface IUpgradeableAppStoreService {
163
+ serviceId?: string;
163
164
  serviceName: string;
164
165
  appTemplateId: string;
165
166
  currentVersion: string;
@@ -0,0 +1,57 @@
1
+ export type THostedAppHostType = 'onebox' | 'cloudly' | string;
2
+ export type THostedAppRuntimeStatus = 'starting' | 'running' | 'setupRequired' | 'degraded' | 'stopped' | 'unknown';
3
+ export type THostedAppBootstrapActionType = 'setupLink' | 'credentials' | 'message';
4
+ export type THostedAppBootstrapActionStatus = 'requested' | 'ready' | 'completed' | 'dismissed' | 'expired';
5
+ export type THostedAppUpgradeStatus = 'unknown' | 'upToDate' | 'available' | 'running' | 'success' | 'failed';
6
+ export interface IHostedAppRuntimeIdentity {
7
+ appInstanceId: string;
8
+ appControlToken: string;
9
+ hostType?: THostedAppHostType;
10
+ }
11
+ export interface IHostedAppBootstrapAction {
12
+ id: string;
13
+ type: THostedAppBootstrapActionType;
14
+ status: THostedAppBootstrapActionStatus;
15
+ label: string;
16
+ url?: string;
17
+ username?: string;
18
+ password?: string;
19
+ message?: string;
20
+ expiresAt?: number;
21
+ createdAt: number;
22
+ updatedAt: number;
23
+ completedAt?: number;
24
+ dismissedAt?: number;
25
+ }
26
+ export interface IHostedAppUpgradeState {
27
+ status: THostedAppUpgradeStatus;
28
+ appTemplateId?: string;
29
+ currentVersion?: string;
30
+ latestVersion?: string;
31
+ targetVersion?: string;
32
+ operationId?: string;
33
+ warnings?: string[];
34
+ blockers?: string[];
35
+ error?: string;
36
+ startedAt?: number;
37
+ updatedAt?: number;
38
+ completedAt?: number;
39
+ }
40
+ export interface IHostedAppLifecycleReport {
41
+ appName?: string;
42
+ appVersion?: string;
43
+ publicUrl?: string;
44
+ runtimeStatus?: THostedAppRuntimeStatus;
45
+ statusMessage?: string;
46
+ capabilities?: string[];
47
+ }
48
+ export interface IHostedAppLifecycleState extends IHostedAppLifecycleReport {
49
+ appInstanceId: string;
50
+ hostType: THostedAppHostType;
51
+ reportedAt?: number;
52
+ bootstrapAction?: IHostedAppBootstrapAction;
53
+ upgradeState?: IHostedAppUpgradeState;
54
+ }
55
+ export type IHostedAppBootstrapActionRequest = Omit<IHostedAppBootstrapAction, 'id' | 'status' | 'createdAt' | 'updatedAt' | 'completedAt' | 'dismissedAt'> & {
56
+ id?: string;
57
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvZGF0YS9ob3N0ZWRhcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -7,6 +7,7 @@ export * from './docker.js';
7
7
  export * from './domain.js';
8
8
  export * from './event.js';
9
9
  export * from './externalregistry.js';
10
+ export * from './hostedapp.js';
10
11
  export * from './image.js';
11
12
  export * from './registry.js';
12
13
  export * from './secretbundle.js';
@@ -7,6 +7,7 @@ export * from './docker.js';
7
7
  export * from './domain.js';
8
8
  export * from './event.js';
9
9
  export * from './externalregistry.js';
10
+ export * from './hostedapp.js';
10
11
  export * from './image.js';
11
12
  export * from './registry.js';
12
13
  export * from './secretbundle.js';
@@ -22,4 +23,4 @@ export * from './taskexecution.js';
22
23
  export * from './traffic.js';
23
24
  export * from './user.js';
24
25
  export * from './version.js';
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQyJ9
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9kYXRhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsY0FBYyxDQUFDIn0=
@@ -1,5 +1,7 @@
1
1
  import type { IServiceRessources } from './docker.js';
2
2
  import type { IRegistryTarget } from './registry.js';
3
+ import type { IAppStorePublishedPort } from '../appstore/index.js';
4
+ import type { IHostedAppLifecycleState } from './hostedapp.js';
3
5
  export interface IServiceVolume {
4
6
  /** Stable Docker volume name. If omitted, Coreflow derives one from service id and mount path. */
5
7
  name?: string;
@@ -26,6 +28,8 @@ export interface IService {
26
28
  deployOnPush?: boolean;
27
29
  appTemplateId?: string;
28
30
  appTemplateVersion?: string;
31
+ appStoreUpgradePolicy?: 'manual' | 'notify' | 'auto';
32
+ hostedAppLifecycle?: IHostedAppLifecycleState;
29
33
  environment: {
30
34
  [key: string]: string;
31
35
  };
@@ -71,6 +75,7 @@ export interface IService {
71
75
  };
72
76
  };
73
77
  volumes?: IServiceVolume[];
78
+ publishedPorts?: IAppStorePublishedPort[];
74
79
  resources?: IServiceRessources;
75
80
  domains: {
76
81
  /**
@@ -2,6 +2,45 @@ import * as plugins from '../plugins.js';
2
2
  import type { IIdentity } from '../data/user.js';
3
3
  import type { IService } from '../data/service.js';
4
4
  import type { IAppStoreApp, IAppStoreAppMeta, IAppStoreInstallRequest, IAppStoreVersionConfig, IUpgradeableAppStoreService } from '../appstore/index.js';
5
+ export type TAppStoreUpgradeStatus = 'running' | 'success' | 'failed';
6
+ export type TAppStoreUpgradeStep = 'queued' | 'validating' | 'migration' | 'applying' | 'updating-service' | 'pushing-config' | 'complete' | 'failed';
7
+ export interface IAppStoreUpgradeChange {
8
+ field: string;
9
+ currentValue: string;
10
+ targetValue: string;
11
+ }
12
+ export interface IAppStoreUpgradePreview {
13
+ serviceId: string;
14
+ serviceName: string;
15
+ appTemplateId: string;
16
+ fromVersion: string;
17
+ targetVersion: string;
18
+ resolvedTargetVersion: string;
19
+ hasMigration: boolean;
20
+ requiresManualReview: boolean;
21
+ changes: IAppStoreUpgradeChange[];
22
+ warnings: string[];
23
+ blockers: string[];
24
+ config: IAppStoreVersionConfig;
25
+ appMeta: IAppStoreAppMeta;
26
+ }
27
+ export interface IAppStoreUpgradeOperation {
28
+ id: string;
29
+ serviceId: string;
30
+ serviceName: string;
31
+ appTemplateId: string;
32
+ fromVersion: string;
33
+ targetVersion: string;
34
+ status: TAppStoreUpgradeStatus;
35
+ step: TAppStoreUpgradeStep;
36
+ progressLines: string[];
37
+ warnings: string[];
38
+ error?: string;
39
+ startedAt: number;
40
+ updatedAt: number;
41
+ completedAt?: number;
42
+ service?: IService;
43
+ }
5
44
  export interface IReq_Any_GetAppStoreTemplates extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_GetAppStoreTemplates> {
6
45
  method: 'getAppStoreTemplates';
7
46
  request: {
@@ -42,3 +81,53 @@ export interface IReq_Any_GetUpgradeableAppStoreServices extends plugins.typedre
42
81
  services: IUpgradeableAppStoreService[];
43
82
  };
44
83
  }
84
+ export interface IReq_Any_GetAppStoreUpgradePreview extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_GetAppStoreUpgradePreview> {
85
+ method: 'getAppStoreUpgradePreview';
86
+ request: {
87
+ identity: IIdentity;
88
+ serviceId: string;
89
+ targetVersion?: string;
90
+ };
91
+ response: {
92
+ preview: IAppStoreUpgradePreview;
93
+ };
94
+ }
95
+ export interface IReq_Any_UpgradeAppStoreService extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_UpgradeAppStoreService> {
96
+ method: 'upgradeAppStoreService';
97
+ request: {
98
+ identity: IIdentity;
99
+ serviceId: string;
100
+ targetVersion: string;
101
+ };
102
+ response: {
103
+ service: IService;
104
+ warnings: string[];
105
+ };
106
+ }
107
+ export interface IReq_Any_StartAppStoreServiceUpgrade extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_StartAppStoreServiceUpgrade> {
108
+ method: 'startAppStoreServiceUpgrade';
109
+ request: {
110
+ identity: IIdentity;
111
+ serviceId: string;
112
+ targetVersion: string;
113
+ };
114
+ response: {
115
+ operation: IAppStoreUpgradeOperation;
116
+ };
117
+ }
118
+ export interface IReq_Any_GetAppStoreUpgradeOperations extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_GetAppStoreUpgradeOperations> {
119
+ method: 'getAppStoreUpgradeOperations';
120
+ request: {
121
+ identity: IIdentity;
122
+ };
123
+ response: {
124
+ operations: IAppStoreUpgradeOperation[];
125
+ };
126
+ }
127
+ export interface IReq_Any_PushAppStoreUpgradeProgress extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_Any_PushAppStoreUpgradeProgress> {
128
+ method: 'pushAppStoreUpgradeProgress';
129
+ request: {
130
+ operation: IAppStoreUpgradeOperation;
131
+ };
132
+ response: Record<string, never>;
133
+ }
@@ -0,0 +1,63 @@
1
+ import * as plugins from '../plugins.js';
2
+ import type { IHostedAppBootstrapAction, IHostedAppBootstrapActionRequest, IHostedAppLifecycleReport, IHostedAppLifecycleState, IHostedAppRuntimeIdentity, IHostedAppUpgradeState } from '../data/hostedapp.js';
3
+ export interface IReq_HostedApp_ReportLifecycleState extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_HostedApp_ReportLifecycleState> {
4
+ method: 'hostedAppReportLifecycleState';
5
+ request: {
6
+ identity: IHostedAppRuntimeIdentity;
7
+ report: IHostedAppLifecycleReport;
8
+ };
9
+ response: {
10
+ state: IHostedAppLifecycleState;
11
+ };
12
+ }
13
+ export interface IReq_HostedApp_GetLifecycleState extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_HostedApp_GetLifecycleState> {
14
+ method: 'hostedAppGetLifecycleState';
15
+ request: {
16
+ identity: IHostedAppRuntimeIdentity;
17
+ };
18
+ response: {
19
+ state: IHostedAppLifecycleState;
20
+ };
21
+ }
22
+ export interface IReq_HostedApp_RequestBootstrapAction extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_HostedApp_RequestBootstrapAction> {
23
+ method: 'hostedAppRequestBootstrapAction';
24
+ request: {
25
+ identity: IHostedAppRuntimeIdentity;
26
+ action: IHostedAppBootstrapActionRequest;
27
+ };
28
+ response: {
29
+ action: IHostedAppBootstrapAction;
30
+ state: IHostedAppLifecycleState;
31
+ };
32
+ }
33
+ export interface IReq_HostedApp_CompleteBootstrapAction extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_HostedApp_CompleteBootstrapAction> {
34
+ method: 'hostedAppCompleteBootstrapAction';
35
+ request: {
36
+ identity: IHostedAppRuntimeIdentity;
37
+ actionId?: string;
38
+ message?: string;
39
+ };
40
+ response: {
41
+ state: IHostedAppLifecycleState;
42
+ };
43
+ }
44
+ export interface IReq_HostedApp_StartManagedUpgrade extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_HostedApp_StartManagedUpgrade> {
45
+ method: 'hostedAppStartManagedUpgrade';
46
+ request: {
47
+ identity: IHostedAppRuntimeIdentity;
48
+ targetVersion?: string;
49
+ };
50
+ response: {
51
+ upgradeState: IHostedAppUpgradeState;
52
+ state: IHostedAppLifecycleState;
53
+ };
54
+ }
55
+ export interface IReq_HostedApp_GetManagedUpgradeStatus extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_HostedApp_GetManagedUpgradeStatus> {
56
+ method: 'hostedAppGetManagedUpgradeStatus';
57
+ request: {
58
+ identity: IHostedAppRuntimeIdentity;
59
+ };
60
+ response: {
61
+ upgradeState: IHostedAppUpgradeState;
62
+ };
63
+ }
@@ -0,0 +1,2 @@
1
+ import * as plugins from '../plugins.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvcmVxdWVzdHMvaG9zdGVkYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDIn0=
@@ -10,6 +10,7 @@ import * as deploymentRequests from './deployment.js';
10
10
  import * as dnsRequests from './dns.js';
11
11
  import * as domainRequests from './domain.js';
12
12
  import * as externalRegistryRequests from './externalregistry.js';
13
+ import * as hostedAppRequests from './hostedapp.js';
13
14
  import * as identityRequests from './identity.js';
14
15
  import * as imageRequests from './image.js';
15
16
  import * as informRequests from './inform.js';
@@ -26,5 +27,6 @@ import * as settingsRequests from './settings.js';
26
27
  import * as statusRequests from './status.js';
27
28
  import * as taskRequests from './task.js';
28
29
  import * as versionRequests from './version.js';
29
- export { adminRequests as admin, appStoreRequests as appstore, baremetalRequests as baremetal, baseOsRequests as baseos, backupRequests as backup, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, };
30
+ export { adminRequests as admin, appStoreRequests as appstore, baremetalRequests as baremetal, baseOsRequests as baseos, backupRequests as backup, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, hostedAppRequests as hostedapp, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, };
30
31
  export * from './inform.js';
32
+ export * from './hostedapp.js';
@@ -11,6 +11,7 @@ import * as deploymentRequests from './deployment.js';
11
11
  import * as dnsRequests from './dns.js';
12
12
  import * as domainRequests from './domain.js';
13
13
  import * as externalRegistryRequests from './externalregistry.js';
14
+ import * as hostedAppRequests from './hostedapp.js';
14
15
  import * as identityRequests from './identity.js';
15
16
  import * as imageRequests from './image.js';
16
17
  import * as informRequests from './inform.js';
@@ -27,6 +28,7 @@ import * as settingsRequests from './settings.js';
27
28
  import * as statusRequests from './status.js';
28
29
  import * as taskRequests from './task.js';
29
30
  import * as versionRequests from './version.js';
30
- export { adminRequests as admin, appStoreRequests as appstore, baremetalRequests as baremetal, baseOsRequests as baseos, backupRequests as backup, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, };
31
+ export { adminRequests as admin, appStoreRequests as appstore, baremetalRequests as baremetal, baseOsRequests as baseos, backupRequests as backup, certificateRequests as certificate, clusterRequests as cluster, configRequests as config, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, hostedAppRequests as hostedapp, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, };
31
32
  export * from './inform.js';
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9yZXF1ZXN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEtBQUssYUFBYSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssbUJBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLGtCQUFrQixNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxXQUFXLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyx3QkFBd0IsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxhQUFhLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxXQUFXLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sS0FBSyxZQUFZLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLG9CQUFvQixNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxZQUFZLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBRWhELE9BQU8sRUFDTCxhQUFhLElBQUksS0FBSyxFQUN0QixnQkFBZ0IsSUFBSSxRQUFRLEVBQzVCLGlCQUFpQixJQUFJLFNBQVMsRUFDOUIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsbUJBQW1CLElBQUksV0FBVyxFQUNsQyxlQUFlLElBQUksT0FBTyxFQUMxQixjQUFjLElBQUksTUFBTSxFQUN4QixrQkFBa0IsSUFBSSxVQUFVLEVBQ2hDLFdBQVcsSUFBSSxHQUFHLEVBQ2xCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLHdCQUF3QixJQUFJLGdCQUFnQixFQUM1QyxnQkFBZ0IsSUFBSSxRQUFRLEVBQzVCLGFBQWEsSUFBSSxLQUFLLEVBQ3RCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLFdBQVcsSUFBSSxHQUFHLEVBQ2xCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLFlBQVksSUFBSSxJQUFJLEVBQ3BCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsZUFBZSxJQUFJLE9BQU8sRUFDMUIsb0JBQW9CLElBQUksWUFBWSxFQUNwQyxtQkFBbUIsSUFBSSxXQUFXLEVBQ2xDLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsWUFBWSxJQUFJLElBQUksRUFDcEIsZUFBZSxJQUFJLE9BQU8sR0FDM0IsQ0FBQztBQUVGLGNBQWMsYUFBYSxDQUFDIn0=
33
+ export * from './hostedapp.js';
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9yZXF1ZXN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEtBQUssYUFBYSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssbUJBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLGtCQUFrQixNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxXQUFXLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyx3QkFBd0IsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEtBQUssaUJBQWlCLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxLQUFLLGdCQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEtBQUssYUFBYSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssV0FBVyxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssWUFBWSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sS0FBSyxvQkFBb0IsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEtBQUssbUJBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLGdCQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssWUFBWSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUVoRCxPQUFPLEVBQ0wsYUFBYSxJQUFJLEtBQUssRUFDdEIsZ0JBQWdCLElBQUksUUFBUSxFQUM1QixpQkFBaUIsSUFBSSxTQUFTLEVBQzlCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLG1CQUFtQixJQUFJLFdBQVcsRUFDbEMsZUFBZSxJQUFJLE9BQU8sRUFDMUIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsa0JBQWtCLElBQUksVUFBVSxFQUNoQyxXQUFXLElBQUksR0FBRyxFQUNsQixjQUFjLElBQUksTUFBTSxFQUN4Qix3QkFBd0IsSUFBSSxnQkFBZ0IsRUFDNUMsaUJBQWlCLElBQUksU0FBUyxFQUM5QixnQkFBZ0IsSUFBSSxRQUFRLEVBQzVCLGFBQWEsSUFBSSxLQUFLLEVBQ3RCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLFdBQVcsSUFBSSxHQUFHLEVBQ2xCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLFlBQVksSUFBSSxJQUFJLEVBQ3BCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsZUFBZSxJQUFJLE9BQU8sRUFDMUIsb0JBQW9CLElBQUksWUFBWSxFQUNwQyxtQkFBbUIsSUFBSSxXQUFXLEVBQ2xDLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsWUFBWSxJQUFJLElBQUksRUFDcEIsZUFBZSxJQUFJLE9BQU8sR0FDM0IsQ0FBQztBQUVGLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZ0JBQWdCLENBQUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serve.zone/interfaces",
3
- "version": "6.0.0",
3
+ "version": "6.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: '6.0.0',
6
+ version: '6.1.0',
7
7
  description: 'Shared TypeScript interfaces and TypedRequest contracts for the serve.zone ecosystem.'
8
8
  }
@@ -181,6 +181,7 @@ export interface IAppStoreInstallRequest {
181
181
  }
182
182
 
183
183
  export interface IUpgradeableAppStoreService {
184
+ serviceId?: string;
184
185
  serviceName: string;
185
186
  appTemplateId: string;
186
187
  currentVersion: string;
@@ -0,0 +1,87 @@
1
+ export type THostedAppHostType = 'onebox' | 'cloudly' | string;
2
+
3
+ export type THostedAppRuntimeStatus =
4
+ | 'starting'
5
+ | 'running'
6
+ | 'setupRequired'
7
+ | 'degraded'
8
+ | 'stopped'
9
+ | 'unknown';
10
+
11
+ export type THostedAppBootstrapActionType = 'setupLink' | 'credentials' | 'message';
12
+
13
+ export type THostedAppBootstrapActionStatus =
14
+ | 'requested'
15
+ | 'ready'
16
+ | 'completed'
17
+ | 'dismissed'
18
+ | 'expired';
19
+
20
+ export type THostedAppUpgradeStatus =
21
+ | 'unknown'
22
+ | 'upToDate'
23
+ | 'available'
24
+ | 'running'
25
+ | 'success'
26
+ | 'failed';
27
+
28
+ export interface IHostedAppRuntimeIdentity {
29
+ appInstanceId: string;
30
+ appControlToken: string;
31
+ hostType?: THostedAppHostType;
32
+ }
33
+
34
+ export interface IHostedAppBootstrapAction {
35
+ id: string;
36
+ type: THostedAppBootstrapActionType;
37
+ status: THostedAppBootstrapActionStatus;
38
+ label: string;
39
+ url?: string;
40
+ username?: string;
41
+ password?: string;
42
+ message?: string;
43
+ expiresAt?: number;
44
+ createdAt: number;
45
+ updatedAt: number;
46
+ completedAt?: number;
47
+ dismissedAt?: number;
48
+ }
49
+
50
+ export interface IHostedAppUpgradeState {
51
+ status: THostedAppUpgradeStatus;
52
+ appTemplateId?: string;
53
+ currentVersion?: string;
54
+ latestVersion?: string;
55
+ targetVersion?: string;
56
+ operationId?: string;
57
+ warnings?: string[];
58
+ blockers?: string[];
59
+ error?: string;
60
+ startedAt?: number;
61
+ updatedAt?: number;
62
+ completedAt?: number;
63
+ }
64
+
65
+ export interface IHostedAppLifecycleReport {
66
+ appName?: string;
67
+ appVersion?: string;
68
+ publicUrl?: string;
69
+ runtimeStatus?: THostedAppRuntimeStatus;
70
+ statusMessage?: string;
71
+ capabilities?: string[];
72
+ }
73
+
74
+ export interface IHostedAppLifecycleState extends IHostedAppLifecycleReport {
75
+ appInstanceId: string;
76
+ hostType: THostedAppHostType;
77
+ reportedAt?: number;
78
+ bootstrapAction?: IHostedAppBootstrapAction;
79
+ upgradeState?: IHostedAppUpgradeState;
80
+ }
81
+
82
+ export type IHostedAppBootstrapActionRequest = Omit<
83
+ IHostedAppBootstrapAction,
84
+ 'id' | 'status' | 'createdAt' | 'updatedAt' | 'completedAt' | 'dismissedAt'
85
+ > & {
86
+ id?: string;
87
+ };
package/ts/data/index.ts CHANGED
@@ -7,6 +7,7 @@ export * from './docker.js';
7
7
  export * from './domain.js';
8
8
  export * from './event.js';
9
9
  export * from './externalregistry.js';
10
+ export * from './hostedapp.js';
10
11
  export * from './image.js';
11
12
  export * from './registry.js';
12
13
  export * from './secretbundle.js';
@@ -1,5 +1,7 @@
1
1
  import type { IServiceRessources } from './docker.js';
2
2
  import type { IRegistryTarget } from './registry.js';
3
+ import type { IAppStorePublishedPort } from '../appstore/index.js';
4
+ import type { IHostedAppLifecycleState } from './hostedapp.js';
3
5
 
4
6
  export interface IServiceVolume {
5
7
  /** Stable Docker volume name. If omitted, Coreflow derives one from service id and mount path. */
@@ -28,6 +30,8 @@ export interface IService {
28
30
  deployOnPush?: boolean;
29
31
  appTemplateId?: string;
30
32
  appTemplateVersion?: string;
33
+ appStoreUpgradePolicy?: 'manual' | 'notify' | 'auto';
34
+ hostedAppLifecycle?: IHostedAppLifecycleState;
31
35
  environment: { [key: string]: string };
32
36
  /**
33
37
  * the main secret bundle id, exclusive to the service
@@ -74,6 +78,7 @@ export interface IService {
74
78
  custom?: { [domain: string]: string };
75
79
  };
76
80
  volumes?: IServiceVolume[];
81
+ publishedPorts?: IAppStorePublishedPort[];
77
82
  resources?: IServiceRessources;
78
83
  domains: {
79
84
  /**
@@ -9,6 +9,58 @@ import type {
9
9
  IUpgradeableAppStoreService,
10
10
  } from '../appstore/index.js';
11
11
 
12
+ export type TAppStoreUpgradeStatus = 'running' | 'success' | 'failed';
13
+
14
+ export type TAppStoreUpgradeStep =
15
+ | 'queued'
16
+ | 'validating'
17
+ | 'migration'
18
+ | 'applying'
19
+ | 'updating-service'
20
+ | 'pushing-config'
21
+ | 'complete'
22
+ | 'failed';
23
+
24
+ export interface IAppStoreUpgradeChange {
25
+ field: string;
26
+ currentValue: string;
27
+ targetValue: string;
28
+ }
29
+
30
+ export interface IAppStoreUpgradePreview {
31
+ serviceId: string;
32
+ serviceName: string;
33
+ appTemplateId: string;
34
+ fromVersion: string;
35
+ targetVersion: string;
36
+ resolvedTargetVersion: string;
37
+ hasMigration: boolean;
38
+ requiresManualReview: boolean;
39
+ changes: IAppStoreUpgradeChange[];
40
+ warnings: string[];
41
+ blockers: string[];
42
+ config: IAppStoreVersionConfig;
43
+ appMeta: IAppStoreAppMeta;
44
+ }
45
+
46
+ export interface IAppStoreUpgradeOperation {
47
+ id: string;
48
+ serviceId: string;
49
+ serviceName: string;
50
+ appTemplateId: string;
51
+ fromVersion: string;
52
+ targetVersion: string;
53
+ status: TAppStoreUpgradeStatus;
54
+ step: TAppStoreUpgradeStep;
55
+ progressLines: string[];
56
+ warnings: string[];
57
+ error?: string;
58
+ startedAt: number;
59
+ updatedAt: number;
60
+ completedAt?: number;
61
+ service?: IService;
62
+ }
63
+
12
64
  export interface IReq_Any_GetAppStoreTemplates extends plugins.typedrequestInterfaces.implementsTR<
13
65
  plugins.typedrequestInterfaces.ITypedRequest,
14
66
  IReq_Any_GetAppStoreTemplates
@@ -64,3 +116,73 @@ export interface IReq_Any_GetUpgradeableAppStoreServices extends plugins.typedre
64
116
  services: IUpgradeableAppStoreService[];
65
117
  };
66
118
  }
119
+
120
+ export interface IReq_Any_GetAppStoreUpgradePreview extends plugins.typedrequestInterfaces.implementsTR<
121
+ plugins.typedrequestInterfaces.ITypedRequest,
122
+ IReq_Any_GetAppStoreUpgradePreview
123
+ > {
124
+ method: 'getAppStoreUpgradePreview';
125
+ request: {
126
+ identity: IIdentity;
127
+ serviceId: string;
128
+ targetVersion?: string;
129
+ };
130
+ response: {
131
+ preview: IAppStoreUpgradePreview;
132
+ };
133
+ }
134
+
135
+ export interface IReq_Any_UpgradeAppStoreService extends plugins.typedrequestInterfaces.implementsTR<
136
+ plugins.typedrequestInterfaces.ITypedRequest,
137
+ IReq_Any_UpgradeAppStoreService
138
+ > {
139
+ method: 'upgradeAppStoreService';
140
+ request: {
141
+ identity: IIdentity;
142
+ serviceId: string;
143
+ targetVersion: string;
144
+ };
145
+ response: {
146
+ service: IService;
147
+ warnings: string[];
148
+ };
149
+ }
150
+
151
+ export interface IReq_Any_StartAppStoreServiceUpgrade extends plugins.typedrequestInterfaces.implementsTR<
152
+ plugins.typedrequestInterfaces.ITypedRequest,
153
+ IReq_Any_StartAppStoreServiceUpgrade
154
+ > {
155
+ method: 'startAppStoreServiceUpgrade';
156
+ request: {
157
+ identity: IIdentity;
158
+ serviceId: string;
159
+ targetVersion: string;
160
+ };
161
+ response: {
162
+ operation: IAppStoreUpgradeOperation;
163
+ };
164
+ }
165
+
166
+ export interface IReq_Any_GetAppStoreUpgradeOperations extends plugins.typedrequestInterfaces.implementsTR<
167
+ plugins.typedrequestInterfaces.ITypedRequest,
168
+ IReq_Any_GetAppStoreUpgradeOperations
169
+ > {
170
+ method: 'getAppStoreUpgradeOperations';
171
+ request: {
172
+ identity: IIdentity;
173
+ };
174
+ response: {
175
+ operations: IAppStoreUpgradeOperation[];
176
+ };
177
+ }
178
+
179
+ export interface IReq_Any_PushAppStoreUpgradeProgress extends plugins.typedrequestInterfaces.implementsTR<
180
+ plugins.typedrequestInterfaces.ITypedRequest,
181
+ IReq_Any_PushAppStoreUpgradeProgress
182
+ > {
183
+ method: 'pushAppStoreUpgradeProgress';
184
+ request: {
185
+ operation: IAppStoreUpgradeOperation;
186
+ };
187
+ response: Record<string, never>;
188
+ }
@@ -0,0 +1,94 @@
1
+ import * as plugins from '../plugins.js';
2
+ import type {
3
+ IHostedAppBootstrapAction,
4
+ IHostedAppBootstrapActionRequest,
5
+ IHostedAppLifecycleReport,
6
+ IHostedAppLifecycleState,
7
+ IHostedAppRuntimeIdentity,
8
+ IHostedAppUpgradeState,
9
+ } from '../data/hostedapp.js';
10
+
11
+ export interface IReq_HostedApp_ReportLifecycleState extends plugins.typedrequestInterfaces.implementsTR<
12
+ plugins.typedrequestInterfaces.ITypedRequest,
13
+ IReq_HostedApp_ReportLifecycleState
14
+ > {
15
+ method: 'hostedAppReportLifecycleState';
16
+ request: {
17
+ identity: IHostedAppRuntimeIdentity;
18
+ report: IHostedAppLifecycleReport;
19
+ };
20
+ response: {
21
+ state: IHostedAppLifecycleState;
22
+ };
23
+ }
24
+
25
+ export interface IReq_HostedApp_GetLifecycleState extends plugins.typedrequestInterfaces.implementsTR<
26
+ plugins.typedrequestInterfaces.ITypedRequest,
27
+ IReq_HostedApp_GetLifecycleState
28
+ > {
29
+ method: 'hostedAppGetLifecycleState';
30
+ request: {
31
+ identity: IHostedAppRuntimeIdentity;
32
+ };
33
+ response: {
34
+ state: IHostedAppLifecycleState;
35
+ };
36
+ }
37
+
38
+ export interface IReq_HostedApp_RequestBootstrapAction extends plugins.typedrequestInterfaces.implementsTR<
39
+ plugins.typedrequestInterfaces.ITypedRequest,
40
+ IReq_HostedApp_RequestBootstrapAction
41
+ > {
42
+ method: 'hostedAppRequestBootstrapAction';
43
+ request: {
44
+ identity: IHostedAppRuntimeIdentity;
45
+ action: IHostedAppBootstrapActionRequest;
46
+ };
47
+ response: {
48
+ action: IHostedAppBootstrapAction;
49
+ state: IHostedAppLifecycleState;
50
+ };
51
+ }
52
+
53
+ export interface IReq_HostedApp_CompleteBootstrapAction extends plugins.typedrequestInterfaces.implementsTR<
54
+ plugins.typedrequestInterfaces.ITypedRequest,
55
+ IReq_HostedApp_CompleteBootstrapAction
56
+ > {
57
+ method: 'hostedAppCompleteBootstrapAction';
58
+ request: {
59
+ identity: IHostedAppRuntimeIdentity;
60
+ actionId?: string;
61
+ message?: string;
62
+ };
63
+ response: {
64
+ state: IHostedAppLifecycleState;
65
+ };
66
+ }
67
+
68
+ export interface IReq_HostedApp_StartManagedUpgrade extends plugins.typedrequestInterfaces.implementsTR<
69
+ plugins.typedrequestInterfaces.ITypedRequest,
70
+ IReq_HostedApp_StartManagedUpgrade
71
+ > {
72
+ method: 'hostedAppStartManagedUpgrade';
73
+ request: {
74
+ identity: IHostedAppRuntimeIdentity;
75
+ targetVersion?: string;
76
+ };
77
+ response: {
78
+ upgradeState: IHostedAppUpgradeState;
79
+ state: IHostedAppLifecycleState;
80
+ };
81
+ }
82
+
83
+ export interface IReq_HostedApp_GetManagedUpgradeStatus extends plugins.typedrequestInterfaces.implementsTR<
84
+ plugins.typedrequestInterfaces.ITypedRequest,
85
+ IReq_HostedApp_GetManagedUpgradeStatus
86
+ > {
87
+ method: 'hostedAppGetManagedUpgradeStatus';
88
+ request: {
89
+ identity: IHostedAppRuntimeIdentity;
90
+ };
91
+ response: {
92
+ upgradeState: IHostedAppUpgradeState;
93
+ };
94
+ }
@@ -12,6 +12,7 @@ import * as deploymentRequests from './deployment.js';
12
12
  import * as dnsRequests from './dns.js';
13
13
  import * as domainRequests from './domain.js';
14
14
  import * as externalRegistryRequests from './externalregistry.js';
15
+ import * as hostedAppRequests from './hostedapp.js';
15
16
  import * as identityRequests from './identity.js';
16
17
  import * as imageRequests from './image.js';
17
18
  import * as informRequests from './inform.js';
@@ -42,6 +43,7 @@ export {
42
43
  dnsRequests as dns,
43
44
  domainRequests as domain,
44
45
  externalRegistryRequests as externalRegistry,
46
+ hostedAppRequests as hostedapp,
45
47
  identityRequests as identity,
46
48
  imageRequests as image,
47
49
  informRequests as inform,
@@ -61,3 +63,4 @@ export {
61
63
  };
62
64
 
63
65
  export * from './inform.js';
66
+ export * from './hostedapp.js';