@layr-labs/ecloud-sdk 1.0.0-dev.6 → 1.0.0-dev.8

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.
@@ -1,5 +1,5 @@
1
- import { E as EnvironmentConfig, af as SubscriptionStatus, i as BillingEnvironmentConfig, a6 as ProductID, o as CreateSubscriptionOptions, p as CreateSubscriptionResponse, K as GetSubscriptionOptions, a7 as ProductSubscriptionResponse, V as PaymentMethodsResponse, q as CreditPurchaseResponse, n as CreateCouponResponse, P as ListCouponsResponse, J as GetCouponResponse, a as AddAdminResponse, O as ListAdminsResponse, a8 as RedeemCouponResponse, H as GasEstimate, Q as Logger } from './index-CLhRJNai.js';
2
- import { Address, Hex, WalletClient, PublicClient, SignAuthorizationReturnType, Chain } from 'viem';
1
+ import { F as EnvironmentConfig, aj as SubscriptionStatus, j as BillingEnvironmentConfig, aa as ProductID, q as CreateSubscriptionOptions, r as CreateSubscriptionResponse, O as GetSubscriptionOptions, ab as ProductSubscriptionResponse, Z as PaymentMethodsResponse, s as CreditPurchaseResponse, p as CreateCouponResponse, T as ListCouponsResponse, N as GetCouponResponse, a as AddAdminResponse, S as ListAdminsResponse, ac as RedeemCouponResponse, L as GasEstimate, U as Logger } from './index-BVnxNfqb.js';
2
+ import { Hex, Address, WalletClient, PublicClient, SignAuthorizationReturnType, Chain } from 'viem';
3
3
 
4
4
  /**
5
5
  * Environment configuration for different networks
@@ -33,170 +33,6 @@ declare function isEnvironmentAvailable(environment: string): boolean;
33
33
  */
34
34
  declare function isMainnet(environmentConfig: EnvironmentConfig): boolean;
35
35
 
36
- /**
37
- * Non-interactive validation utilities for SDK
38
- *
39
- * These functions validate parameters without any interactive prompts.
40
- * They either return the validated value or throw an error.
41
- */
42
-
43
- /**
44
- * Validate app name format
45
- * @throws Error if name is invalid
46
- */
47
- declare function validateAppName(name: string): void;
48
- /**
49
- * Validate Docker image reference format
50
- * @returns true if valid, error message string if invalid
51
- */
52
- declare function validateImageReference(value: string): true | string;
53
- /**
54
- * Validate image reference and throw if invalid
55
- * @throws Error if image reference is invalid
56
- */
57
- declare function assertValidImageReference(value: string): void;
58
- /**
59
- * Extract app name from image reference
60
- */
61
- declare function extractAppNameFromImage(imageRef: string): string;
62
- /**
63
- * Validate that a file path exists
64
- * @returns true if valid, error message string if invalid
65
- */
66
- declare function validateFilePath(value: string): true | string;
67
- /**
68
- * Validate file path and throw if invalid
69
- * @throws Error if file path is invalid or doesn't exist
70
- */
71
- declare function assertValidFilePath(value: string): void;
72
- /**
73
- * Validate instance type SKU against available types
74
- * @returns the validated SKU
75
- * @throws Error if SKU is not in the available types list
76
- */
77
- declare function validateInstanceTypeSKU(sku: string, availableTypes: Array<{
78
- sku: string;
79
- }>): string;
80
- /**
81
- * Validate private key format
82
- * Matches Go's common.ValidatePrivateKey() function
83
- */
84
- declare function validatePrivateKeyFormat(key: string): boolean;
85
- /**
86
- * Validate private key and throw if invalid
87
- * @throws Error if private key format is invalid
88
- */
89
- declare function assertValidPrivateKey(key: string): void;
90
- /**
91
- * Validate URL format
92
- * @returns undefined if valid, error message string if invalid
93
- */
94
- declare function validateURL(rawURL: string): string | undefined;
95
- /**
96
- * Validate X/Twitter URL format
97
- * @returns undefined if valid, error message string if invalid
98
- */
99
- declare function validateXURL(rawURL: string): string | undefined;
100
- /**
101
- * Validate description length
102
- * @returns undefined if valid, error message string if invalid
103
- */
104
- declare function validateDescription(description: string): string | undefined;
105
- /**
106
- * Validate image file path
107
- * @returns undefined if valid, error message string if invalid
108
- */
109
- declare function validateImagePath(filePath: string): string | undefined;
110
- /**
111
- * Validate and normalize app ID address
112
- * @param appID - App ID (must be a valid address)
113
- * @returns Normalized app address
114
- * @throws Error if app ID is not a valid address
115
- *
116
- * Note: Name resolution should be handled by CLI before calling SDK functions.
117
- * The SDK only accepts resolved addresses.
118
- */
119
- declare function validateAppID(appID: string | Address): Address;
120
- type LogVisibility = "public" | "private" | "off";
121
- /**
122
- * Validate and convert log visibility setting to internal format
123
- * @param logVisibility - Log visibility setting
124
- * @returns Object with logRedirect and publicLogs settings
125
- * @throws Error if log visibility value is invalid
126
- */
127
- declare function validateLogVisibility(logVisibility: LogVisibility): {
128
- logRedirect: string;
129
- publicLogs: boolean;
130
- };
131
- type ResourceUsageMonitoring = "enable" | "disable";
132
- /**
133
- * Validate and convert resource usage monitoring setting to internal format
134
- * @param resourceUsageMonitoring - Resource usage monitoring setting
135
- * @returns The resourceUsageAllow value for the Dockerfile label ("always" or "never")
136
- * @throws Error if resource usage monitoring value is invalid
137
- */
138
- declare function validateResourceUsageMonitoring(resourceUsageMonitoring: ResourceUsageMonitoring | undefined): string;
139
- /**
140
- * Sanitize string (HTML escape and trim)
141
- */
142
- declare function sanitizeString(s: string): string;
143
- /**
144
- * Sanitize URL (add https:// if missing, validate)
145
- * @throws Error if URL is invalid after sanitization
146
- */
147
- declare function sanitizeURL(rawURL: string): string;
148
- /**
149
- * Sanitize X/Twitter URL (handle username-only input, normalize)
150
- * @throws Error if URL is invalid after sanitization
151
- */
152
- declare function sanitizeXURL(rawURL: string): string;
153
- interface DeployParams {
154
- dockerfilePath?: string;
155
- imageRef?: string;
156
- appName: string;
157
- envFilePath?: string;
158
- instanceType: string;
159
- logVisibility: LogVisibility;
160
- }
161
- /**
162
- * Validate deploy parameters
163
- * @throws Error if required parameters are missing or invalid
164
- */
165
- declare function validateDeployParams(params: Partial<DeployParams>): void;
166
- interface UpgradeParams {
167
- appID: string | Address;
168
- dockerfilePath?: string;
169
- imageRef?: string;
170
- envFilePath?: string;
171
- instanceType: string;
172
- logVisibility: LogVisibility;
173
- }
174
- /**
175
- * Validate upgrade parameters
176
- * @throws Error if required parameters are missing or invalid
177
- */
178
- declare function validateUpgradeParams(params: Partial<UpgradeParams>): void;
179
- interface CreateAppParams {
180
- name: string;
181
- language: string;
182
- template?: string;
183
- templateVersion?: string;
184
- }
185
- /**
186
- * Validate create app parameters
187
- * @throws Error if required parameters are missing or invalid
188
- */
189
- declare function validateCreateAppParams(params: Partial<CreateAppParams>): void;
190
- interface LogsParams {
191
- appID: string | Address;
192
- watch?: boolean;
193
- }
194
- /**
195
- * Validate logs parameters
196
- * @throws Error if required parameters are missing or invalid
197
- */
198
- declare function validateLogsParams(params: Partial<LogsParams>): void;
199
-
200
36
  /**
201
37
  * Billing utility functions
202
38
  */
@@ -1007,4 +843,4 @@ declare function addHexPrefix(value: string): Hex;
1007
843
  */
1008
844
  declare function stripHexPrefix(value: string): string;
1009
845
 
1010
- export { loginToComputeApi as $, type AppInfo as A, BillingApiClient as B, type ComputeApiConfig as C, extractAppNameFromImage as D, type EstimateBatchGasOptions as E, generateNewPrivateKey as F, type GeneratedKey as G, generateNonce as H, getAvailableEnvironments as I, getBillingApiSession as J, getBillingEnvironmentConfig as K, type LogVisibility as L, getBuildType as M, getChainFromID as N, getComputeApiSession as O, getEnvironmentConfig as P, isBillingSessionValid as Q, isEnvironmentAvailable as R, type SessionInfo as S, isMainnet as T, UserApiClient as U, isSessionValid as V, isSiweMessageExpired as W, isSiweMessageNotYetValid as X, isSubscriptionActive as Y, loginToBillingApi as Z, loginToBothApis as _, SessionError as a, logoutFromBillingApi as a0, logoutFromBothApis as a1, logoutFromComputeApi as a2, parseSiweMessage as a3, sanitizeString as a4, sanitizeURL as a5, sanitizeXURL as a6, stripHexPrefix as a7, validateAppID as a8, validateAppName as a9, validateCreateAppParams as aa, validateDescription as ab, validateImageReference as ac, validateInstanceTypeSKU as ad, validateLogVisibility as ae, validateLogsParams as af, validatePrivateKeyFormat as ag, validateURL as ah, validateXURL as ai, type ResourceUsageMonitoring as aj, type AppRelease as ak, type AppReleaseBuild as al, type AppResponse as am, BASE_SEPOLIA_CHAIN_ID as an, type DeployParams as ao, type UpgradeParams as ap, assertValidFilePath as aq, createClients as ar, validateDeployParams as as, validateFilePath as at, validateImagePath as au, validateResourceUsageMonitoring as av, validateUpgradeParams as aw, type SiweMessageParams as b, type AppInfoResponse as c, type AppMetrics as d, type AppProfileInfo as e, type BillingApiClientOptions as f, type BillingApiConfig as g, type BillingLoginRequest as h, type BillingLoginResult as i, BillingSessionError as j, type BillingSessionInfo as k, type CreateAppParams as l, type ExecuteBatchOptions as m, type Execution as n, type LoginRequest as o, type LoginResult as p, type LogsParams as q, type SiweMessageResult as r, type UserApiClientOptions as s, addHexPrefix as t, assertValidImageReference as u, assertValidPrivateKey as v, checkERC7702Delegation as w, createSiweMessage as x, estimateBatchGas as y, executeBatch as z };
846
+ export { type AppRelease as $, type AppInfo as A, BillingApiClient as B, type ComputeApiConfig as C, getBuildType as D, type EstimateBatchGasOptions as E, getChainFromID as F, type GeneratedKey as G, getComputeApiSession as H, getEnvironmentConfig as I, isBillingSessionValid as J, isEnvironmentAvailable as K, type LoginRequest as L, isMainnet as M, isSessionValid as N, isSiweMessageExpired as O, isSiweMessageNotYetValid as P, isSubscriptionActive as Q, loginToBillingApi as R, type SessionInfo as S, loginToBothApis as T, UserApiClient as U, loginToComputeApi as V, logoutFromBillingApi as W, logoutFromBothApis as X, logoutFromComputeApi as Y, parseSiweMessage as Z, stripHexPrefix as _, SessionError as a, type AppReleaseBuild as a0, type AppResponse as a1, BASE_SEPOLIA_CHAIN_ID as a2, createClients as a3, type SiweMessageParams as b, type AppInfoResponse as c, type AppMetrics as d, type AppProfileInfo as e, type BillingApiClientOptions as f, type BillingApiConfig as g, type BillingLoginRequest as h, type BillingLoginResult as i, BillingSessionError as j, type BillingSessionInfo as k, type ExecuteBatchOptions as l, type Execution as m, type LoginResult as n, type SiweMessageResult as o, type UserApiClientOptions as p, addHexPrefix as q, checkERC7702Delegation as r, createSiweMessage as s, estimateBatchGas as t, executeBatch as u, generateNewPrivateKey as v, generateNonce as w, getAvailableEnvironments as x, getBillingApiSession as y, getBillingEnvironmentConfig as z };
@@ -1,5 +1,5 @@
1
- import { E as EnvironmentConfig, af as SubscriptionStatus, i as BillingEnvironmentConfig, a6 as ProductID, o as CreateSubscriptionOptions, p as CreateSubscriptionResponse, K as GetSubscriptionOptions, a7 as ProductSubscriptionResponse, V as PaymentMethodsResponse, q as CreditPurchaseResponse, n as CreateCouponResponse, P as ListCouponsResponse, J as GetCouponResponse, a as AddAdminResponse, O as ListAdminsResponse, a8 as RedeemCouponResponse, H as GasEstimate, Q as Logger } from './index-CLhRJNai.cjs';
2
- import { Address, Hex, WalletClient, PublicClient, SignAuthorizationReturnType, Chain } from 'viem';
1
+ import { F as EnvironmentConfig, aj as SubscriptionStatus, j as BillingEnvironmentConfig, aa as ProductID, q as CreateSubscriptionOptions, r as CreateSubscriptionResponse, O as GetSubscriptionOptions, ab as ProductSubscriptionResponse, Z as PaymentMethodsResponse, s as CreditPurchaseResponse, p as CreateCouponResponse, T as ListCouponsResponse, N as GetCouponResponse, a as AddAdminResponse, S as ListAdminsResponse, ac as RedeemCouponResponse, L as GasEstimate, U as Logger } from './index-BVnxNfqb.cjs';
2
+ import { Hex, Address, WalletClient, PublicClient, SignAuthorizationReturnType, Chain } from 'viem';
3
3
 
4
4
  /**
5
5
  * Environment configuration for different networks
@@ -33,170 +33,6 @@ declare function isEnvironmentAvailable(environment: string): boolean;
33
33
  */
34
34
  declare function isMainnet(environmentConfig: EnvironmentConfig): boolean;
35
35
 
36
- /**
37
- * Non-interactive validation utilities for SDK
38
- *
39
- * These functions validate parameters without any interactive prompts.
40
- * They either return the validated value or throw an error.
41
- */
42
-
43
- /**
44
- * Validate app name format
45
- * @throws Error if name is invalid
46
- */
47
- declare function validateAppName(name: string): void;
48
- /**
49
- * Validate Docker image reference format
50
- * @returns true if valid, error message string if invalid
51
- */
52
- declare function validateImageReference(value: string): true | string;
53
- /**
54
- * Validate image reference and throw if invalid
55
- * @throws Error if image reference is invalid
56
- */
57
- declare function assertValidImageReference(value: string): void;
58
- /**
59
- * Extract app name from image reference
60
- */
61
- declare function extractAppNameFromImage(imageRef: string): string;
62
- /**
63
- * Validate that a file path exists
64
- * @returns true if valid, error message string if invalid
65
- */
66
- declare function validateFilePath(value: string): true | string;
67
- /**
68
- * Validate file path and throw if invalid
69
- * @throws Error if file path is invalid or doesn't exist
70
- */
71
- declare function assertValidFilePath(value: string): void;
72
- /**
73
- * Validate instance type SKU against available types
74
- * @returns the validated SKU
75
- * @throws Error if SKU is not in the available types list
76
- */
77
- declare function validateInstanceTypeSKU(sku: string, availableTypes: Array<{
78
- sku: string;
79
- }>): string;
80
- /**
81
- * Validate private key format
82
- * Matches Go's common.ValidatePrivateKey() function
83
- */
84
- declare function validatePrivateKeyFormat(key: string): boolean;
85
- /**
86
- * Validate private key and throw if invalid
87
- * @throws Error if private key format is invalid
88
- */
89
- declare function assertValidPrivateKey(key: string): void;
90
- /**
91
- * Validate URL format
92
- * @returns undefined if valid, error message string if invalid
93
- */
94
- declare function validateURL(rawURL: string): string | undefined;
95
- /**
96
- * Validate X/Twitter URL format
97
- * @returns undefined if valid, error message string if invalid
98
- */
99
- declare function validateXURL(rawURL: string): string | undefined;
100
- /**
101
- * Validate description length
102
- * @returns undefined if valid, error message string if invalid
103
- */
104
- declare function validateDescription(description: string): string | undefined;
105
- /**
106
- * Validate image file path
107
- * @returns undefined if valid, error message string if invalid
108
- */
109
- declare function validateImagePath(filePath: string): string | undefined;
110
- /**
111
- * Validate and normalize app ID address
112
- * @param appID - App ID (must be a valid address)
113
- * @returns Normalized app address
114
- * @throws Error if app ID is not a valid address
115
- *
116
- * Note: Name resolution should be handled by CLI before calling SDK functions.
117
- * The SDK only accepts resolved addresses.
118
- */
119
- declare function validateAppID(appID: string | Address): Address;
120
- type LogVisibility = "public" | "private" | "off";
121
- /**
122
- * Validate and convert log visibility setting to internal format
123
- * @param logVisibility - Log visibility setting
124
- * @returns Object with logRedirect and publicLogs settings
125
- * @throws Error if log visibility value is invalid
126
- */
127
- declare function validateLogVisibility(logVisibility: LogVisibility): {
128
- logRedirect: string;
129
- publicLogs: boolean;
130
- };
131
- type ResourceUsageMonitoring = "enable" | "disable";
132
- /**
133
- * Validate and convert resource usage monitoring setting to internal format
134
- * @param resourceUsageMonitoring - Resource usage monitoring setting
135
- * @returns The resourceUsageAllow value for the Dockerfile label ("always" or "never")
136
- * @throws Error if resource usage monitoring value is invalid
137
- */
138
- declare function validateResourceUsageMonitoring(resourceUsageMonitoring: ResourceUsageMonitoring | undefined): string;
139
- /**
140
- * Sanitize string (HTML escape and trim)
141
- */
142
- declare function sanitizeString(s: string): string;
143
- /**
144
- * Sanitize URL (add https:// if missing, validate)
145
- * @throws Error if URL is invalid after sanitization
146
- */
147
- declare function sanitizeURL(rawURL: string): string;
148
- /**
149
- * Sanitize X/Twitter URL (handle username-only input, normalize)
150
- * @throws Error if URL is invalid after sanitization
151
- */
152
- declare function sanitizeXURL(rawURL: string): string;
153
- interface DeployParams {
154
- dockerfilePath?: string;
155
- imageRef?: string;
156
- appName: string;
157
- envFilePath?: string;
158
- instanceType: string;
159
- logVisibility: LogVisibility;
160
- }
161
- /**
162
- * Validate deploy parameters
163
- * @throws Error if required parameters are missing or invalid
164
- */
165
- declare function validateDeployParams(params: Partial<DeployParams>): void;
166
- interface UpgradeParams {
167
- appID: string | Address;
168
- dockerfilePath?: string;
169
- imageRef?: string;
170
- envFilePath?: string;
171
- instanceType: string;
172
- logVisibility: LogVisibility;
173
- }
174
- /**
175
- * Validate upgrade parameters
176
- * @throws Error if required parameters are missing or invalid
177
- */
178
- declare function validateUpgradeParams(params: Partial<UpgradeParams>): void;
179
- interface CreateAppParams {
180
- name: string;
181
- language: string;
182
- template?: string;
183
- templateVersion?: string;
184
- }
185
- /**
186
- * Validate create app parameters
187
- * @throws Error if required parameters are missing or invalid
188
- */
189
- declare function validateCreateAppParams(params: Partial<CreateAppParams>): void;
190
- interface LogsParams {
191
- appID: string | Address;
192
- watch?: boolean;
193
- }
194
- /**
195
- * Validate logs parameters
196
- * @throws Error if required parameters are missing or invalid
197
- */
198
- declare function validateLogsParams(params: Partial<LogsParams>): void;
199
-
200
36
  /**
201
37
  * Billing utility functions
202
38
  */
@@ -1007,4 +843,4 @@ declare function addHexPrefix(value: string): Hex;
1007
843
  */
1008
844
  declare function stripHexPrefix(value: string): string;
1009
845
 
1010
- export { loginToComputeApi as $, type AppInfo as A, BillingApiClient as B, type ComputeApiConfig as C, extractAppNameFromImage as D, type EstimateBatchGasOptions as E, generateNewPrivateKey as F, type GeneratedKey as G, generateNonce as H, getAvailableEnvironments as I, getBillingApiSession as J, getBillingEnvironmentConfig as K, type LogVisibility as L, getBuildType as M, getChainFromID as N, getComputeApiSession as O, getEnvironmentConfig as P, isBillingSessionValid as Q, isEnvironmentAvailable as R, type SessionInfo as S, isMainnet as T, UserApiClient as U, isSessionValid as V, isSiweMessageExpired as W, isSiweMessageNotYetValid as X, isSubscriptionActive as Y, loginToBillingApi as Z, loginToBothApis as _, SessionError as a, logoutFromBillingApi as a0, logoutFromBothApis as a1, logoutFromComputeApi as a2, parseSiweMessage as a3, sanitizeString as a4, sanitizeURL as a5, sanitizeXURL as a6, stripHexPrefix as a7, validateAppID as a8, validateAppName as a9, validateCreateAppParams as aa, validateDescription as ab, validateImageReference as ac, validateInstanceTypeSKU as ad, validateLogVisibility as ae, validateLogsParams as af, validatePrivateKeyFormat as ag, validateURL as ah, validateXURL as ai, type ResourceUsageMonitoring as aj, type AppRelease as ak, type AppReleaseBuild as al, type AppResponse as am, BASE_SEPOLIA_CHAIN_ID as an, type DeployParams as ao, type UpgradeParams as ap, assertValidFilePath as aq, createClients as ar, validateDeployParams as as, validateFilePath as at, validateImagePath as au, validateResourceUsageMonitoring as av, validateUpgradeParams as aw, type SiweMessageParams as b, type AppInfoResponse as c, type AppMetrics as d, type AppProfileInfo as e, type BillingApiClientOptions as f, type BillingApiConfig as g, type BillingLoginRequest as h, type BillingLoginResult as i, BillingSessionError as j, type BillingSessionInfo as k, type CreateAppParams as l, type ExecuteBatchOptions as m, type Execution as n, type LoginRequest as o, type LoginResult as p, type LogsParams as q, type SiweMessageResult as r, type UserApiClientOptions as s, addHexPrefix as t, assertValidImageReference as u, assertValidPrivateKey as v, checkERC7702Delegation as w, createSiweMessage as x, estimateBatchGas as y, executeBatch as z };
846
+ export { type AppRelease as $, type AppInfo as A, BillingApiClient as B, type ComputeApiConfig as C, getBuildType as D, type EstimateBatchGasOptions as E, getChainFromID as F, type GeneratedKey as G, getComputeApiSession as H, getEnvironmentConfig as I, isBillingSessionValid as J, isEnvironmentAvailable as K, type LoginRequest as L, isMainnet as M, isSessionValid as N, isSiweMessageExpired as O, isSiweMessageNotYetValid as P, isSubscriptionActive as Q, loginToBillingApi as R, type SessionInfo as S, loginToBothApis as T, UserApiClient as U, loginToComputeApi as V, logoutFromBillingApi as W, logoutFromBothApis as X, logoutFromComputeApi as Y, parseSiweMessage as Z, stripHexPrefix as _, SessionError as a, type AppReleaseBuild as a0, type AppResponse as a1, BASE_SEPOLIA_CHAIN_ID as a2, createClients as a3, type SiweMessageParams as b, type AppInfoResponse as c, type AppMetrics as d, type AppProfileInfo as e, type BillingApiClientOptions as f, type BillingApiConfig as g, type BillingLoginRequest as h, type BillingLoginResult as i, BillingSessionError as j, type BillingSessionInfo as k, type ExecuteBatchOptions as l, type Execution as m, type LoginResult as n, type SiweMessageResult as o, type UserApiClientOptions as p, addHexPrefix as q, checkERC7702Delegation as r, createSiweMessage as s, estimateBatchGas as t, executeBatch as u, generateNewPrivateKey as v, generateNonce as w, getAvailableEnvironments as x, getBillingApiSession as y, getBillingEnvironmentConfig as z };
@@ -604,11 +604,20 @@ interface DeployResult {
604
604
  /** Transaction hash */
605
605
  txHash: Hex;
606
606
  }
607
+ /**
608
+ * On-chain AppController ABI version for an environment.
609
+ * - "v1.4": 3-field Release struct (sepolia, mainnet-alpha)
610
+ * - "v1.5": 4-field Release struct with containerPolicy (sepolia-dev)
611
+ * Omitted defaults to the latest ("v1.5") in the contract caller.
612
+ */
613
+ type AppControllerAbiVersion = "v1.4" | "v1.5";
607
614
  interface EnvironmentConfig {
608
615
  name: string;
609
616
  build: "dev" | "prod";
610
617
  chainID: bigint;
611
618
  appControllerAddress: Address;
619
+ /** Deployed AppController ABI version; selects Release encoding. Defaults to v1.5 when omitted. */
620
+ releaseAbiVersion?: AppControllerAbiVersion;
612
621
  permissionControllerAddress: string;
613
622
  erc7702DelegatorAddress: string;
614
623
  kmsServerURL: string;
@@ -619,6 +628,27 @@ interface EnvironmentConfig {
619
628
  baseUsdcCreditsAddress?: Address;
620
629
  baseRPCURL?: string;
621
630
  }
631
+ interface EnvVar {
632
+ key: string;
633
+ value: string;
634
+ }
635
+ /**
636
+ * Container runtime policy attached to a release (AppController v1.5.0+).
637
+ *
638
+ * Added to the on-chain `Release` struct in eigenx-contracts (KMS-006). All
639
+ * fields are optional knobs over the container's entrypoint/runtime; an empty
640
+ * policy (see EMPTY_CONTAINER_POLICY) preserves the image's own
641
+ * CMD/ENTRYPOINT/env.
642
+ */
643
+ interface ContainerPolicy {
644
+ args: string[];
645
+ cmdOverride: string[];
646
+ env: EnvVar[];
647
+ envOverride: EnvVar[];
648
+ restartPolicy: string;
649
+ }
650
+ /** An empty ContainerPolicy — defers entirely to the image defaults. */
651
+ declare const EMPTY_CONTAINER_POLICY: ContainerPolicy;
622
652
  interface Release {
623
653
  rmsRelease: {
624
654
  artifacts: Array<{
@@ -629,6 +659,7 @@ interface Release {
629
659
  };
630
660
  publicEnv: Uint8Array;
631
661
  encryptedEnv: Uint8Array;
662
+ containerPolicy?: ContainerPolicy;
632
663
  }
633
664
  interface ParsedEnvironment {
634
665
  public: Record<string, string>;
@@ -827,4 +858,4 @@ interface RedeemCouponResponse {
827
858
  amountCents: number;
828
859
  }
829
860
 
830
- export { type PrepareUpgradeOpts as $, type AppId as A, type BatchedDeployResult as B, type CalculateAppIDOptions as C, type DeployAppOptions as D, type EnvironmentConfig as E, type ExecuteDeploySequentialOptions as F, type ExecuteUpgradeResult as G, type GasEstimate as H, type GasOpts as I, type GetCouponResponse as J, type GetSubscriptionOptions as K, type ImageDigestResult as L, type IsDelegatedOptions as M, type LifecycleOpts as N, type ListAdminsResponse as O, type ListCouponsResponse as P, type Logger as Q, type NoActiveSubscriptionResponse as R, type ParsedEnvironment as S, type PaymentIssueResponse as T, type PaymentMethod as U, type PaymentMethodsResponse as V, type PrepareDeployBatchOptions as W, type PrepareDeployFromVerifiableBuildOpts as X, type PrepareDeployOpts as Y, type PrepareUpgradeBatchOptions as Z, type PrepareUpgradeFromVerifiableBuildOpts as _, type AddAdminResponse as a, type PreparedDeploy as a0, type PreparedDeployBatch as a1, type PreparedDeployData as a2, type PreparedUpgrade as a3, type PreparedUpgradeBatch as a4, type PreparedUpgradeData as a5, type ProductID as a6, type ProductSubscriptionResponse as a7, type RedeemCouponResponse as a8, type Release as a9, type logVisibility as aA, noopLogger as aB, prepareDeployBatch as aC, prepareUpgradeBatch as aD, sendAndWaitForTransaction as aE, supportsEIP5792 as aF, supportsEIP7702 as aG, suspend as aH, undelegate as aI, upgradeApp as aJ, getAppLatestReleaseBlockNumbers as aK, getBlockTimestamps as aL, type SendTransactionOptions as aa, type SequentialDeployResult as ab, type SubscribeResponse as ac, type SubscriptionLineItem as ad, type SubscriptionOpts as ae, type SubscriptionStatus as af, type SuspendOptions as ag, type UndelegateOptions as ah, type UpgradeAppOptions as ai, type UpgradeAppOpts as aj, calculateAppID as ak, deployApp as al, estimateTransactionGas as am, executeDeployBatch as an, executeDeployBatched as ao, executeDeploySequential as ap, executeUpgradeBatch as aq, formatETH as ar, getActiveAppCount as as, getAllAppsByDeveloper as at, getAppsByBillingAccount as au, getAppsByCreator as av, getAppsByDeveloper as aw, getBillingType as ax, getMaxActiveAppsPerUser as ay, isDelegated as az, type AdminCoupon as b, type AdminUser as c, type AlreadyActiveResponse as d, type AppConfig as e, type AppProfile as f, type AppProfileResponse as g, type AppRecord as h, type BillingEnvironmentConfig as i, type CancelResponse as j, type CancelSuccessResponse as k, type ChainID as l, type CheckoutCreatedResponse as m, type CreateCouponResponse as n, type CreateSubscriptionOptions as o, type CreateSubscriptionResponse as p, type CreditPurchaseResponse as q, type DeployAppOpts as r, type DeployOptions as s, type DeployProgressCallback as t, type DeployResult as u, type DeployStep as v, type DockerImageConfig as w, type EstimateGasOptions as x, type ExecuteDeployBatchedOptions as y, type ExecuteDeployResult as z };
861
+ export { type PrepareDeployFromVerifiableBuildOpts as $, type AppId as A, type BatchedDeployResult as B, type CalculateAppIDOptions as C, type DeployAppOptions as D, EMPTY_CONTAINER_POLICY as E, type EnvironmentConfig as F, type EstimateGasOptions as G, type ExecuteDeployBatchedOptions as H, type ExecuteDeployResult as I, type ExecuteDeploySequentialOptions as J, type ExecuteUpgradeResult as K, type GasEstimate as L, type GasOpts as M, type GetCouponResponse as N, type GetSubscriptionOptions as O, type ImageDigestResult as P, type IsDelegatedOptions as Q, type LifecycleOpts as R, type ListAdminsResponse as S, type ListCouponsResponse as T, type Logger as U, type NoActiveSubscriptionResponse as V, type ParsedEnvironment as W, type PaymentIssueResponse as X, type PaymentMethod as Y, type PaymentMethodsResponse as Z, type PrepareDeployBatchOptions as _, type AddAdminResponse as a, type PrepareDeployOpts as a0, type PrepareUpgradeBatchOptions as a1, type PrepareUpgradeFromVerifiableBuildOpts as a2, type PrepareUpgradeOpts as a3, type PreparedDeploy as a4, type PreparedDeployBatch as a5, type PreparedDeployData as a6, type PreparedUpgrade as a7, type PreparedUpgradeBatch as a8, type PreparedUpgradeData as a9, getAppsByDeveloper as aA, getBillingType as aB, getMaxActiveAppsPerUser as aC, isDelegated as aD, type logVisibility as aE, noopLogger as aF, prepareDeployBatch as aG, prepareUpgradeBatch as aH, sendAndWaitForTransaction as aI, supportsEIP5792 as aJ, supportsEIP7702 as aK, suspend as aL, undelegate as aM, upgradeApp as aN, getAppLatestReleaseBlockNumbers as aO, getBlockTimestamps as aP, type ProductID as aa, type ProductSubscriptionResponse as ab, type RedeemCouponResponse as ac, type Release as ad, type SendTransactionOptions as ae, type SequentialDeployResult as af, type SubscribeResponse as ag, type SubscriptionLineItem as ah, type SubscriptionOpts as ai, type SubscriptionStatus as aj, type SuspendOptions as ak, type UndelegateOptions as al, type UpgradeAppOptions as am, type UpgradeAppOpts as an, calculateAppID as ao, deployApp as ap, estimateTransactionGas as aq, executeDeployBatch as ar, executeDeployBatched as as, executeDeploySequential as at, executeUpgradeBatch as au, formatETH as av, getActiveAppCount as aw, getAllAppsByDeveloper as ax, getAppsByBillingAccount as ay, getAppsByCreator as az, type AdminCoupon as b, type AdminUser as c, type AlreadyActiveResponse as d, type AppConfig as e, type AppControllerAbiVersion as f, type AppProfile as g, type AppProfileResponse as h, type AppRecord as i, type BillingEnvironmentConfig as j, type CancelResponse as k, type CancelSuccessResponse as l, type ChainID as m, type CheckoutCreatedResponse as n, type ContainerPolicy as o, type CreateCouponResponse as p, type CreateSubscriptionOptions as q, type CreateSubscriptionResponse as r, type CreditPurchaseResponse as s, type DeployAppOpts as t, type DeployOptions as u, type DeployProgressCallback as v, type DeployResult as w, type DeployStep as x, type DockerImageConfig as y, type EnvVar as z };
@@ -604,11 +604,20 @@ interface DeployResult {
604
604
  /** Transaction hash */
605
605
  txHash: Hex;
606
606
  }
607
+ /**
608
+ * On-chain AppController ABI version for an environment.
609
+ * - "v1.4": 3-field Release struct (sepolia, mainnet-alpha)
610
+ * - "v1.5": 4-field Release struct with containerPolicy (sepolia-dev)
611
+ * Omitted defaults to the latest ("v1.5") in the contract caller.
612
+ */
613
+ type AppControllerAbiVersion = "v1.4" | "v1.5";
607
614
  interface EnvironmentConfig {
608
615
  name: string;
609
616
  build: "dev" | "prod";
610
617
  chainID: bigint;
611
618
  appControllerAddress: Address;
619
+ /** Deployed AppController ABI version; selects Release encoding. Defaults to v1.5 when omitted. */
620
+ releaseAbiVersion?: AppControllerAbiVersion;
612
621
  permissionControllerAddress: string;
613
622
  erc7702DelegatorAddress: string;
614
623
  kmsServerURL: string;
@@ -619,6 +628,27 @@ interface EnvironmentConfig {
619
628
  baseUsdcCreditsAddress?: Address;
620
629
  baseRPCURL?: string;
621
630
  }
631
+ interface EnvVar {
632
+ key: string;
633
+ value: string;
634
+ }
635
+ /**
636
+ * Container runtime policy attached to a release (AppController v1.5.0+).
637
+ *
638
+ * Added to the on-chain `Release` struct in eigenx-contracts (KMS-006). All
639
+ * fields are optional knobs over the container's entrypoint/runtime; an empty
640
+ * policy (see EMPTY_CONTAINER_POLICY) preserves the image's own
641
+ * CMD/ENTRYPOINT/env.
642
+ */
643
+ interface ContainerPolicy {
644
+ args: string[];
645
+ cmdOverride: string[];
646
+ env: EnvVar[];
647
+ envOverride: EnvVar[];
648
+ restartPolicy: string;
649
+ }
650
+ /** An empty ContainerPolicy — defers entirely to the image defaults. */
651
+ declare const EMPTY_CONTAINER_POLICY: ContainerPolicy;
622
652
  interface Release {
623
653
  rmsRelease: {
624
654
  artifacts: Array<{
@@ -629,6 +659,7 @@ interface Release {
629
659
  };
630
660
  publicEnv: Uint8Array;
631
661
  encryptedEnv: Uint8Array;
662
+ containerPolicy?: ContainerPolicy;
632
663
  }
633
664
  interface ParsedEnvironment {
634
665
  public: Record<string, string>;
@@ -827,4 +858,4 @@ interface RedeemCouponResponse {
827
858
  amountCents: number;
828
859
  }
829
860
 
830
- export { type PrepareUpgradeOpts as $, type AppId as A, type BatchedDeployResult as B, type CalculateAppIDOptions as C, type DeployAppOptions as D, type EnvironmentConfig as E, type ExecuteDeploySequentialOptions as F, type ExecuteUpgradeResult as G, type GasEstimate as H, type GasOpts as I, type GetCouponResponse as J, type GetSubscriptionOptions as K, type ImageDigestResult as L, type IsDelegatedOptions as M, type LifecycleOpts as N, type ListAdminsResponse as O, type ListCouponsResponse as P, type Logger as Q, type NoActiveSubscriptionResponse as R, type ParsedEnvironment as S, type PaymentIssueResponse as T, type PaymentMethod as U, type PaymentMethodsResponse as V, type PrepareDeployBatchOptions as W, type PrepareDeployFromVerifiableBuildOpts as X, type PrepareDeployOpts as Y, type PrepareUpgradeBatchOptions as Z, type PrepareUpgradeFromVerifiableBuildOpts as _, type AddAdminResponse as a, type PreparedDeploy as a0, type PreparedDeployBatch as a1, type PreparedDeployData as a2, type PreparedUpgrade as a3, type PreparedUpgradeBatch as a4, type PreparedUpgradeData as a5, type ProductID as a6, type ProductSubscriptionResponse as a7, type RedeemCouponResponse as a8, type Release as a9, type logVisibility as aA, noopLogger as aB, prepareDeployBatch as aC, prepareUpgradeBatch as aD, sendAndWaitForTransaction as aE, supportsEIP5792 as aF, supportsEIP7702 as aG, suspend as aH, undelegate as aI, upgradeApp as aJ, getAppLatestReleaseBlockNumbers as aK, getBlockTimestamps as aL, type SendTransactionOptions as aa, type SequentialDeployResult as ab, type SubscribeResponse as ac, type SubscriptionLineItem as ad, type SubscriptionOpts as ae, type SubscriptionStatus as af, type SuspendOptions as ag, type UndelegateOptions as ah, type UpgradeAppOptions as ai, type UpgradeAppOpts as aj, calculateAppID as ak, deployApp as al, estimateTransactionGas as am, executeDeployBatch as an, executeDeployBatched as ao, executeDeploySequential as ap, executeUpgradeBatch as aq, formatETH as ar, getActiveAppCount as as, getAllAppsByDeveloper as at, getAppsByBillingAccount as au, getAppsByCreator as av, getAppsByDeveloper as aw, getBillingType as ax, getMaxActiveAppsPerUser as ay, isDelegated as az, type AdminCoupon as b, type AdminUser as c, type AlreadyActiveResponse as d, type AppConfig as e, type AppProfile as f, type AppProfileResponse as g, type AppRecord as h, type BillingEnvironmentConfig as i, type CancelResponse as j, type CancelSuccessResponse as k, type ChainID as l, type CheckoutCreatedResponse as m, type CreateCouponResponse as n, type CreateSubscriptionOptions as o, type CreateSubscriptionResponse as p, type CreditPurchaseResponse as q, type DeployAppOpts as r, type DeployOptions as s, type DeployProgressCallback as t, type DeployResult as u, type DeployStep as v, type DockerImageConfig as w, type EstimateGasOptions as x, type ExecuteDeployBatchedOptions as y, type ExecuteDeployResult as z };
861
+ export { type PrepareDeployFromVerifiableBuildOpts as $, type AppId as A, type BatchedDeployResult as B, type CalculateAppIDOptions as C, type DeployAppOptions as D, EMPTY_CONTAINER_POLICY as E, type EnvironmentConfig as F, type EstimateGasOptions as G, type ExecuteDeployBatchedOptions as H, type ExecuteDeployResult as I, type ExecuteDeploySequentialOptions as J, type ExecuteUpgradeResult as K, type GasEstimate as L, type GasOpts as M, type GetCouponResponse as N, type GetSubscriptionOptions as O, type ImageDigestResult as P, type IsDelegatedOptions as Q, type LifecycleOpts as R, type ListAdminsResponse as S, type ListCouponsResponse as T, type Logger as U, type NoActiveSubscriptionResponse as V, type ParsedEnvironment as W, type PaymentIssueResponse as X, type PaymentMethod as Y, type PaymentMethodsResponse as Z, type PrepareDeployBatchOptions as _, type AddAdminResponse as a, type PrepareDeployOpts as a0, type PrepareUpgradeBatchOptions as a1, type PrepareUpgradeFromVerifiableBuildOpts as a2, type PrepareUpgradeOpts as a3, type PreparedDeploy as a4, type PreparedDeployBatch as a5, type PreparedDeployData as a6, type PreparedUpgrade as a7, type PreparedUpgradeBatch as a8, type PreparedUpgradeData as a9, getAppsByDeveloper as aA, getBillingType as aB, getMaxActiveAppsPerUser as aC, isDelegated as aD, type logVisibility as aE, noopLogger as aF, prepareDeployBatch as aG, prepareUpgradeBatch as aH, sendAndWaitForTransaction as aI, supportsEIP5792 as aJ, supportsEIP7702 as aK, suspend as aL, undelegate as aM, upgradeApp as aN, getAppLatestReleaseBlockNumbers as aO, getBlockTimestamps as aP, type ProductID as aa, type ProductSubscriptionResponse as ab, type RedeemCouponResponse as ac, type Release as ad, type SendTransactionOptions as ae, type SequentialDeployResult as af, type SubscribeResponse as ag, type SubscriptionLineItem as ah, type SubscriptionOpts as ai, type SubscriptionStatus as aj, type SuspendOptions as ak, type UndelegateOptions as al, type UpgradeAppOptions as am, type UpgradeAppOpts as an, calculateAppID as ao, deployApp as ap, estimateTransactionGas as aq, executeDeployBatch as ar, executeDeployBatched as as, executeDeploySequential as at, executeUpgradeBatch as au, formatETH as av, getActiveAppCount as aw, getAllAppsByDeveloper as ax, getAppsByBillingAccount as ay, getAppsByCreator as az, type AdminCoupon as b, type AdminUser as c, type AlreadyActiveResponse as d, type AppConfig as e, type AppControllerAbiVersion as f, type AppProfile as g, type AppProfileResponse as h, type AppRecord as i, type BillingEnvironmentConfig as j, type CancelResponse as k, type CancelSuccessResponse as l, type ChainID as m, type CheckoutCreatedResponse as n, type ContainerPolicy as o, type CreateCouponResponse as p, type CreateSubscriptionOptions as q, type CreateSubscriptionResponse as r, type CreditPurchaseResponse as s, type DeployAppOpts as t, type DeployOptions as u, type DeployProgressCallback as v, type DeployResult as w, type DeployStep as x, type DockerImageConfig as y, type EnvVar as z };