@serve.zone/interfaces 22.0.0 → 23.0.1

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.
Files changed (78) hide show
  1. package/changelog.md +19 -0
  2. package/dist_ts/00_commitinfo_data.js +1 -1
  3. package/dist_ts/appstore/types.d.ts +31 -16
  4. package/dist_ts/appstore/types.js +208 -11
  5. package/dist_ts/data/coremail.runtime.d.ts +3 -2
  6. package/dist_ts/data/coremail.runtime.js +10 -5
  7. package/dist_ts/data/deploymentoperation.js +6 -20
  8. package/dist_ts/data/deploymentpreflight.d.ts +2 -6
  9. package/dist_ts/data/deploymentpreflight.js +1 -1
  10. package/dist_ts/data/hostedapp.d.ts +40 -14
  11. package/dist_ts/data/hostedapp.js +90 -1
  12. package/dist_ts/data/immutableimage.d.ts +30 -1
  13. package/dist_ts/data/immutableimage.js +103 -1
  14. package/dist_ts/data/index.d.ts +0 -2
  15. package/dist_ts/data/index.js +1 -3
  16. package/dist_ts/data/secret.d.ts +186 -13
  17. package/dist_ts/data/secret.js +543 -45
  18. package/dist_ts/data/service.d.ts +0 -39
  19. package/dist_ts/data/service.js +1 -77
  20. package/dist_ts/data/settings.d.ts +62 -43
  21. package/dist_ts/data/settings.js +34 -2
  22. package/dist_ts/platform/storage.d.ts +13 -14
  23. package/dist_ts/platform/storage.js +1 -1
  24. package/dist_ts/platform/storagemigration.d.ts +8 -8
  25. package/dist_ts/platform/storagemigration.golden.d.ts +2 -2
  26. package/dist_ts/platform/storagemigration.golden.js +19 -88
  27. package/dist_ts/platform/storagemigration.js +46 -58
  28. package/dist_ts/platform/types.d.ts +5 -19
  29. package/dist_ts/plugins.d.ts +2 -1
  30. package/dist_ts/plugins.js +3 -2
  31. package/dist_ts/requests/hostedapp.d.ts +12 -9
  32. package/dist_ts/requests/hostedapp.js +38 -1
  33. package/dist_ts/requests/index.d.ts +1 -3
  34. package/dist_ts/requests/index.js +2 -4
  35. package/dist_ts/requests/platform.d.ts +0 -1
  36. package/dist_ts/requests/secret.d.ts +23 -17
  37. package/dist_ts/requests/secret.js +161 -2
  38. package/dist_ts/requests/service.d.ts +0 -13
  39. package/dist_ts/requests/settings.d.ts +3 -3
  40. package/dist_ts/runtime.d.ts +78 -26
  41. package/dist_ts/runtime.js +219 -19
  42. package/package.json +2 -1
  43. package/readme.md +110 -29
  44. package/ts/00_commitinfo_data.ts +1 -1
  45. package/ts/appstore/types.ts +251 -25
  46. package/ts/data/coremail.runtime.ts +18 -4
  47. package/ts/data/deploymentoperation.ts +7 -31
  48. package/ts/data/deploymentpreflight.ts +2 -5
  49. package/ts/data/hostedapp.ts +144 -18
  50. package/ts/data/immutableimage.ts +150 -1
  51. package/ts/data/index.ts +0 -2
  52. package/ts/data/secret.ts +775 -53
  53. package/ts/data/service.ts +0 -118
  54. package/ts/data/settings.ts +70 -80
  55. package/ts/platform/storage.ts +15 -16
  56. package/ts/platform/storagemigration.golden.ts +18 -95
  57. package/ts/platform/storagemigration.ts +57 -87
  58. package/ts/platform/types.ts +6 -19
  59. package/ts/plugins.ts +2 -0
  60. package/ts/requests/hostedapp.ts +50 -9
  61. package/ts/requests/index.ts +0 -4
  62. package/ts/requests/platform.ts +0 -1
  63. package/ts/requests/secret.ts +204 -9
  64. package/ts/requests/service.ts +0 -16
  65. package/ts/requests/settings.ts +3 -3
  66. package/ts/runtime.ts +314 -41
  67. package/dist_ts/data/secretbundle.d.ts +0 -57
  68. package/dist_ts/data/secretbundle.js +0 -2
  69. package/dist_ts/data/secretgroup.d.ts +0 -52
  70. package/dist_ts/data/secretgroup.js +0 -2
  71. package/dist_ts/requests/secretbundle.d.ts +0 -75
  72. package/dist_ts/requests/secretbundle.js +0 -4
  73. package/dist_ts/requests/secretgroup.d.ts +0 -52
  74. package/dist_ts/requests/secretgroup.js +0 -4
  75. package/ts/data/secretbundle.ts +0 -65
  76. package/ts/data/secretgroup.ts +0 -58
  77. package/ts/requests/secretbundle.ts +0 -103
  78. package/ts/requests/secretgroup.ts +0 -74
@@ -1,11 +1,9 @@
1
+ import type { TSecretManagementScope } from '../data/secret.js';
1
2
  export type TPlatformCapability = 'email' | 'sms' | 'pushnotification' | 'letter' | 'ai' | 'database' | 'objectstorage' | 'logging' | 'backup' | 'sip';
2
3
  export type TPlatformAccessMode = 'rpc' | 'binding' | 'sidecar' | 'internal';
3
4
  export type TPlatformBindingStatus = 'requested' | 'provisioning' | 'ready' | 'degraded' | 'failed' | 'disabled';
4
5
  export type TPlatformDesiredState = 'enabled' | 'disabled';
5
6
  export type TPlatformEndpointProtocol = 'typedrequest' | 'http' | 'tcp' | 'udp' | 'smtp' | 's3' | 'postgres' | 'mongodb' | 'sip';
6
- export type TPlatformConfigValue = string | number | boolean | null | TPlatformConfigValue[] | {
7
- [key: string]: TPlatformConfigValue;
8
- };
9
7
  export interface IPlatformCapability {
10
8
  id: TPlatformCapability;
11
9
  title: string;
@@ -19,18 +17,8 @@ export interface IPlatformProviderConfig {
19
17
  providerType: string;
20
18
  name: string;
21
19
  enabled: boolean;
22
- config?: {
23
- [key: string]: TPlatformConfigValue;
24
- };
25
- secretBundleId?: string;
26
- }
27
- export interface IPlatformCredentialRef {
28
- secretBundleId?: string;
29
- secretGroupIds?: string[];
30
- dockerSecretName?: string;
31
- env?: {
32
- [key: string]: string;
33
- };
20
+ /** Value-free owner scope; provider-specific operational config stays adapter-internal. */
21
+ credentialManagementScope?: Extract<TSecretManagementScope, `platform:${string}`>;
34
22
  }
35
23
  export interface IPlatformServiceEndpoint {
36
24
  name: string;
@@ -48,11 +36,9 @@ export interface IPlatformBinding {
48
36
  desiredState: TPlatformDesiredState;
49
37
  status: TPlatformBindingStatus;
50
38
  providerConfigId?: string;
51
- config?: {
52
- [key: string]: TPlatformConfigValue;
53
- };
54
39
  endpoints?: IPlatformServiceEndpoint[];
55
- credentials?: IPlatformCredentialRef[];
40
+ /** Value-free reconciliation scope for service-owned credentials. */
41
+ credentialManagementScope?: Extract<TSecretManagementScope, `platform:${string}`>;
56
42
  createdAt?: number;
57
43
  updatedAt?: number;
58
44
  }
@@ -1,6 +1,7 @@
1
1
  import * as typedrequestInterfaces from '@api.global/typedrequest-interfaces';
2
2
  export { typedrequestInterfaces };
3
+ import * as smartcrypto from '@push.rocks/smartcrypto';
3
4
  import * as smartlogInterfaces from '@push.rocks/smartlog-interfaces';
4
- export { smartlogInterfaces, };
5
+ export { smartcrypto, smartlogInterfaces, };
5
6
  import * as tsclass from '@tsclass/tsclass';
6
7
  export { tsclass };
@@ -2,9 +2,10 @@
2
2
  import * as typedrequestInterfaces from '@api.global/typedrequest-interfaces';
3
3
  export { typedrequestInterfaces };
4
4
  // @push.rocks scope
5
+ import * as smartcrypto from '@push.rocks/smartcrypto';
5
6
  import * as smartlogInterfaces from '@push.rocks/smartlog-interfaces';
6
- export { smartlogInterfaces, };
7
+ export { smartcrypto, smartlogInterfaces, };
7
8
  // tsclass scope
8
9
  import * as tsclass from '@tsclass/tsclass';
9
10
  export { tsclass };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3BsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUJBQW1CO0FBQ25CLE9BQU8sS0FBSyxzQkFBc0IsTUFBTSxxQ0FBcUMsQ0FBQztBQUU5RSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3ZCLENBQUE7QUFFRCxvQkFBb0I7QUFDcEIsT0FBTyxLQUFLLGtCQUFrQixNQUFNLGlDQUFpQyxDQUFDO0FBRXRFLE9BQU8sRUFDTCxrQkFBa0IsR0FDbkIsQ0FBQTtBQUVELGdCQUFnQjtBQUNoQixPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBRTVDLE9BQU8sRUFDTCxPQUFPLEVBQ1IsQ0FBQSJ9
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3BsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUJBQW1CO0FBQ25CLE9BQU8sS0FBSyxzQkFBc0IsTUFBTSxxQ0FBcUMsQ0FBQztBQUU5RSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3ZCLENBQUE7QUFFRCxvQkFBb0I7QUFDcEIsT0FBTyxLQUFLLFdBQVcsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssa0JBQWtCLE1BQU0saUNBQWlDLENBQUM7QUFFdEUsT0FBTyxFQUNMLFdBQVcsRUFDWCxrQkFBa0IsR0FDbkIsQ0FBQTtBQUVELGdCQUFnQjtBQUNoQixPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBRTVDLE9BQU8sRUFDTCxPQUFPLEVBQ1IsQ0FBQSJ9
@@ -1,10 +1,10 @@
1
1
  import * as plugins from '../plugins.js';
2
- import type { IIdentity } from '../data/user.js';
3
- import type { IHostedAppBootstrapAction, IHostedAppBootstrapActionRequest, IHostedAppLifecycleReport, IHostedAppLifecycleState, IHostedAppRuntimeIdentity, IHostedAppUpgradeState } from '../data/hostedapp.js';
2
+ import type { IIdentity, IIdentityCredential } from '../data/user.js';
3
+ import type { IHostedAppBootstrapAction, IHostedAppBootstrapActionRequest, IHostedAppLifecycleReport, IHostedAppLifecycleState, IHostedAppUpgradeState } from '../data/hostedapp.js';
4
4
  export interface IReq_HostedApp_ReportLifecycleState extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_HostedApp_ReportLifecycleState> {
5
5
  method: 'hostedAppReportLifecycleState';
6
6
  request: {
7
- identity: IHostedAppRuntimeIdentity;
7
+ identity: IIdentityCredential;
8
8
  report: IHostedAppLifecycleReport;
9
9
  };
10
10
  response: {
@@ -14,7 +14,7 @@ export interface IReq_HostedApp_ReportLifecycleState extends plugins.typedreques
14
14
  export interface IReq_HostedApp_GetLifecycleState extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_HostedApp_GetLifecycleState> {
15
15
  method: 'hostedAppGetLifecycleState';
16
16
  request: {
17
- identity: IHostedAppRuntimeIdentity;
17
+ identity: IIdentityCredential;
18
18
  };
19
19
  response: {
20
20
  state: IHostedAppLifecycleState;
@@ -23,7 +23,7 @@ export interface IReq_HostedApp_GetLifecycleState extends plugins.typedrequestIn
23
23
  export interface IReq_HostedApp_RequestBootstrapAction extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_HostedApp_RequestBootstrapAction> {
24
24
  method: 'hostedAppRequestBootstrapAction';
25
25
  request: {
26
- identity: IHostedAppRuntimeIdentity;
26
+ identity: IIdentityCredential;
27
27
  action: IHostedAppBootstrapActionRequest;
28
28
  };
29
29
  response: {
@@ -34,18 +34,21 @@ export interface IReq_HostedApp_RequestBootstrapAction extends plugins.typedrequ
34
34
  export interface IReq_HostedApp_CompleteBootstrapAction extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_HostedApp_CompleteBootstrapAction> {
35
35
  method: 'hostedAppCompleteBootstrapAction';
36
36
  request: {
37
- identity: IHostedAppRuntimeIdentity;
38
- actionId?: string;
37
+ identity: IIdentityCredential;
38
+ actionId: string;
39
+ expectedActionRevision: number;
40
+ expectedActionStatus: 'ready';
39
41
  message?: string;
40
42
  };
41
43
  response: {
42
44
  state: IHostedAppLifecycleState;
43
45
  };
44
46
  }
47
+ export declare const validateHostedAppCompleteBootstrapActionRequest: (requestArg: unknown) => string[];
45
48
  export interface IReq_HostedApp_StartManagedUpgrade extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_HostedApp_StartManagedUpgrade> {
46
49
  method: 'hostedAppStartManagedUpgrade';
47
50
  request: {
48
- identity: IHostedAppRuntimeIdentity;
51
+ identity: IIdentityCredential;
49
52
  targetVersion?: string;
50
53
  };
51
54
  response: {
@@ -56,7 +59,7 @@ export interface IReq_HostedApp_StartManagedUpgrade extends plugins.typedrequest
56
59
  export interface IReq_HostedApp_GetManagedUpgradeStatus extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_HostedApp_GetManagedUpgradeStatus> {
57
60
  method: 'hostedAppGetManagedUpgradeStatus';
58
61
  request: {
59
- identity: IHostedAppRuntimeIdentity;
62
+ identity: IIdentityCredential;
60
63
  };
61
64
  response: {
62
65
  upgradeState: IHostedAppUpgradeState;
@@ -1,2 +1,39 @@
1
1
  import * as plugins from '../plugins.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvcmVxdWVzdHMvaG9zdGVkYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDIn0=
2
+ export const validateHostedAppCompleteBootstrapActionRequest = (requestArg) => {
3
+ if (!requestArg || typeof requestArg !== 'object' || Array.isArray(requestArg)) {
4
+ return ['hosted app bootstrap completion must be an object'];
5
+ }
6
+ const request = requestArg;
7
+ const errors = [];
8
+ const allowedKeys = new Set([
9
+ 'identity',
10
+ 'actionId',
11
+ 'expectedActionRevision',
12
+ 'expectedActionStatus',
13
+ 'message',
14
+ ]);
15
+ if (Object.keys(request).some((keyArg) => !allowedKeys.has(keyArg))) {
16
+ errors.push('hosted app bootstrap completion contains fields outside its schema');
17
+ }
18
+ if (!request.identity || typeof request.identity !== 'object'
19
+ || typeof request.identity.jwt !== 'string') {
20
+ errors.push('hosted app bootstrap completion requires a JWT identity');
21
+ }
22
+ if (typeof request.actionId !== 'string'
23
+ || !/^[A-Za-z0-9][A-Za-z0-9:._-]{0,199}$/.test(request.actionId)) {
24
+ errors.push('hosted app bootstrap completion actionId must be canonical');
25
+ }
26
+ if (!Number.isSafeInteger(request.expectedActionRevision)
27
+ || request.expectedActionRevision < 1) {
28
+ errors.push('hosted app bootstrap completion revision must be positive');
29
+ }
30
+ if (request.expectedActionStatus !== 'ready') {
31
+ errors.push('hosted app bootstrap completion must fence ready status');
32
+ }
33
+ if (request.message !== undefined
34
+ && (typeof request.message !== 'string' || request.message.length > 4000)) {
35
+ errors.push('hosted app bootstrap completion message must be bounded');
36
+ }
37
+ return errors;
38
+ };
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvcmVxdWVzdHMvaG9zdGVkYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBcUV6QyxNQUFNLENBQUMsTUFBTSwrQ0FBK0MsR0FBRyxDQUM3RCxVQUFtQixFQUNULEVBQUU7SUFDWixJQUFJLENBQUMsVUFBVSxJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDL0UsT0FBTyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLFVBQXFDLENBQUM7SUFDdEQsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBQzVCLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDO1FBQzFCLFVBQVU7UUFDVixVQUFVO1FBQ1Ysd0JBQXdCO1FBQ3hCLHNCQUFzQjtRQUN0QixTQUFTO0tBQ1YsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNwRSxNQUFNLENBQUMsSUFBSSxDQUFDLG9FQUFvRSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUNELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRO1dBQ3hELE9BQVEsT0FBTyxDQUFDLFFBQW9DLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzNFLE1BQU0sQ0FBQyxJQUFJLENBQUMseURBQXlELENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBQ0QsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUTtXQUNuQyxDQUFDLHFDQUFxQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNuRSxNQUFNLENBQUMsSUFBSSxDQUFDLDREQUE0RCxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUNELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztXQUNuRCxPQUFPLENBQUMsc0JBQWlDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDcEQsTUFBTSxDQUFDLElBQUksQ0FBQywyREFBMkQsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxvQkFBb0IsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFDLHlEQUF5RCxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxTQUFTO1dBQzVCLENBQUMsT0FBTyxPQUFPLENBQUMsT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzVFLE1BQU0sQ0FBQyxJQUFJLENBQUMseURBQXlELENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDIn0=
@@ -25,8 +25,6 @@ import * as nodeRequests from './node.js';
25
25
  import * as platformRequests from './platform.js';
26
26
  import * as routingRequests from './routing.js';
27
27
  import * as secretRequests from './secret.js';
28
- import * as secretBundleRequests from './secretbundle.js';
29
- import * as secretGroupRequests from './secretgroup.js';
30
28
  import * as serverRequests from './server.js';
31
29
  import * as serviceRequests from './service.js';
32
30
  import * as settingsRequests from './settings.js';
@@ -34,7 +32,7 @@ import * as statusRequests from './status.js';
34
32
  import * as taskRequests from './task.js';
35
33
  import * as versionRequests from './version.js';
36
34
  import * as webPushRequests from './webpush.js';
37
- 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, coreMailRequests as coremail, corestoreRequests as corestore, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, gatewayRequests as gateway, hostedAppRequests as hostedapp, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, mailRequests as mail, migrationRequests as migration, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretRequests as secret, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, webPushRequests as webpush, };
35
+ 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, coreMailRequests as coremail, corestoreRequests as corestore, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, gatewayRequests as gateway, hostedAppRequests as hostedapp, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, mailRequests as mail, migrationRequests as migration, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretRequests as secret, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, webPushRequests as webpush, };
38
36
  export * from './inform.js';
39
37
  export * from './hostedapp.js';
40
38
  export * from './mail.js';
@@ -26,8 +26,6 @@ import * as nodeRequests from './node.js';
26
26
  import * as platformRequests from './platform.js';
27
27
  import * as routingRequests from './routing.js';
28
28
  import * as secretRequests from './secret.js';
29
- import * as secretBundleRequests from './secretbundle.js';
30
- import * as secretGroupRequests from './secretgroup.js';
31
29
  import * as serverRequests from './server.js';
32
30
  import * as serviceRequests from './service.js';
33
31
  import * as settingsRequests from './settings.js';
@@ -35,9 +33,9 @@ import * as statusRequests from './status.js';
35
33
  import * as taskRequests from './task.js';
36
34
  import * as versionRequests from './version.js';
37
35
  import * as webPushRequests from './webpush.js';
38
- 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, coreMailRequests as coremail, corestoreRequests as corestore, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, gatewayRequests as gateway, hostedAppRequests as hostedapp, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, mailRequests as mail, migrationRequests as migration, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretRequests as secret, secretBundleRequests as secretbundle, secretGroupRequests as secretgroup, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, webPushRequests as webpush, };
36
+ 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, coreMailRequests as coremail, corestoreRequests as corestore, deploymentRequests as deployment, dnsRequests as dns, domainRequests as domain, externalRegistryRequests as externalRegistry, gatewayRequests as gateway, hostedAppRequests as hostedapp, identityRequests as identity, imageRequests as image, informRequests as inform, logRequests as log, mailRequests as mail, migrationRequests as migration, networkRequests as network, nodeRequests as node, platformRequests as platform, routingRequests as routing, secretRequests as secret, serverRequests as server, serviceRequests as service, settingsRequests as settings, statusRequests as status, taskRequests as task, versionRequests as version, webPushRequests as webpush, };
39
37
  export * from './inform.js';
40
38
  export * from './hostedapp.js';
41
39
  export * from './mail.js';
42
40
  export * from './webpush.js';
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9yZXF1ZXN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEtBQUssYUFBYSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssbUJBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLGdCQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEtBQUssaUJBQWlCLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxLQUFLLGtCQUFrQixNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxXQUFXLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyx3QkFBd0IsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssaUJBQWlCLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxLQUFLLGdCQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEtBQUssYUFBYSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssV0FBVyxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEtBQUssWUFBWSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEtBQUssaUJBQWlCLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLFlBQVksTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxLQUFLLGdCQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssb0JBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxLQUFLLG1CQUFtQixNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLFlBQVksTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFFaEQsT0FBTyxFQUNMLGFBQWEsSUFBSSxLQUFLLEVBQ3RCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsaUJBQWlCLElBQUksU0FBUyxFQUM5QixjQUFjLElBQUksTUFBTSxFQUN4QixjQUFjLElBQUksTUFBTSxFQUN4QixtQkFBbUIsSUFBSSxXQUFXLEVBQ2xDLGVBQWUsSUFBSSxPQUFPLEVBQzFCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsaUJBQWlCLElBQUksU0FBUyxFQUM5QixrQkFBa0IsSUFBSSxVQUFVLEVBQ2hDLFdBQVcsSUFBSSxHQUFHLEVBQ2xCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLHdCQUF3QixJQUFJLGdCQUFnQixFQUM1QyxlQUFlLElBQUksT0FBTyxFQUMxQixpQkFBaUIsSUFBSSxTQUFTLEVBQzlCLGdCQUFnQixJQUFJLFFBQVEsRUFDNUIsYUFBYSxJQUFJLEtBQUssRUFDdEIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsV0FBVyxJQUFJLEdBQUcsRUFDbEIsWUFBWSxJQUFJLElBQUksRUFDcEIsaUJBQWlCLElBQUksU0FBUyxFQUM5QixlQUFlLElBQUksT0FBTyxFQUMxQixZQUFZLElBQUksSUFBSSxFQUNwQixnQkFBZ0IsSUFBSSxRQUFRLEVBQzVCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLG9CQUFvQixJQUFJLFlBQVksRUFDcEMsbUJBQW1CLElBQUksV0FBVyxFQUNsQyxjQUFjLElBQUksTUFBTSxFQUN4QixlQUFlLElBQUksT0FBTyxFQUMxQixnQkFBZ0IsSUFBSSxRQUFRLEVBQzVCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLFlBQVksSUFBSSxJQUFJLEVBQ3BCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLGVBQWUsSUFBSSxPQUFPLEdBQzNCLENBQUM7QUFFRixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsY0FBYyxDQUFDIn0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9yZXF1ZXN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEtBQUssYUFBYSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssbUJBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxLQUFLLGdCQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEtBQUssaUJBQWlCLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxLQUFLLGtCQUFrQixNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxXQUFXLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyx3QkFBd0IsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssaUJBQWlCLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxLQUFLLGdCQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEtBQUssYUFBYSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssV0FBVyxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEtBQUssWUFBWSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEtBQUssaUJBQWlCLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxLQUFLLGVBQWUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxLQUFLLFlBQVksTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxLQUFLLGdCQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssY0FBYyxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEtBQUssZUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEtBQUssZ0JBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxjQUFjLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxZQUFZLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sS0FBSyxlQUFlLE1BQU0sY0FBYyxDQUFDO0FBRWhELE9BQU8sRUFDTCxhQUFhLElBQUksS0FBSyxFQUN0QixnQkFBZ0IsSUFBSSxRQUFRLEVBQzVCLGlCQUFpQixJQUFJLFNBQVMsRUFDOUIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsY0FBYyxJQUFJLE1BQU0sRUFDeEIsbUJBQW1CLElBQUksV0FBVyxFQUNsQyxlQUFlLElBQUksT0FBTyxFQUMxQixjQUFjLElBQUksTUFBTSxFQUN4QixnQkFBZ0IsSUFBSSxRQUFRLEVBQzVCLGlCQUFpQixJQUFJLFNBQVMsRUFDOUIsa0JBQWtCLElBQUksVUFBVSxFQUNoQyxXQUFXLElBQUksR0FBRyxFQUNsQixjQUFjLElBQUksTUFBTSxFQUN4Qix3QkFBd0IsSUFBSSxnQkFBZ0IsRUFDNUMsZUFBZSxJQUFJLE9BQU8sRUFDMUIsaUJBQWlCLElBQUksU0FBUyxFQUM5QixnQkFBZ0IsSUFBSSxRQUFRLEVBQzVCLGFBQWEsSUFBSSxLQUFLLEVBQ3RCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLFdBQVcsSUFBSSxHQUFHLEVBQ2xCLFlBQVksSUFBSSxJQUFJLEVBQ3BCLGlCQUFpQixJQUFJLFNBQVMsRUFDOUIsZUFBZSxJQUFJLE9BQU8sRUFDMUIsWUFBWSxJQUFJLElBQUksRUFDcEIsZ0JBQWdCLElBQUksUUFBUSxFQUM1QixlQUFlLElBQUksT0FBTyxFQUMxQixjQUFjLElBQUksTUFBTSxFQUN4QixjQUFjLElBQUksTUFBTSxFQUN4QixlQUFlLElBQUksT0FBTyxFQUMxQixnQkFBZ0IsSUFBSSxRQUFRLEVBQzVCLGNBQWMsSUFBSSxNQUFNLEVBQ3hCLFlBQVksSUFBSSxJQUFJLEVBQ3BCLGVBQWUsSUFBSSxPQUFPLEVBQzFCLGVBQWUsSUFBSSxPQUFPLEdBQzNCLENBQUM7QUFFRixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsY0FBYyxDQUFDIn0=
@@ -79,7 +79,6 @@ export interface IReq_Any_Cloudly_UpdatePlatformBindingStatus extends plugins.ty
79
79
  bindingId: string;
80
80
  status: TPlatformBindingStatus;
81
81
  endpoints?: IPlatformBinding['endpoints'];
82
- credentials?: IPlatformBinding['credentials'];
83
82
  errorText?: string;
84
83
  };
85
84
  response: {
@@ -1,26 +1,20 @@
1
1
  import type * as plugins from '../plugins.js';
2
- import type { IResolvedSecretManifestEntry, ISecretMetadata, ISecretSetAttachment, ISecretSetConsumerRolloutStatus, ISecretSetMetadata, ISecretVersionMetadata, ISecretVersionRetentionReference, TSecretDelivery, TSecretEnvironment } from '../data/secret.js';
2
+ import type { IResolvedSecretManifestEntry, ISecretMetadata, ISecretSetAttachment, ISecretSetConsumerRolloutStatus, ISecretSetMetadata, ISecretVersionMetadata, ISecretVersionRetentionReference, TSecretIngressRecipient, TSecretMutationTarget, TSecretValueInput, TSecretDelivery, TSecretEnvironment } from '../data/secret.js';
3
3
  import type { IIdentityCredential } from '../data/user.js';
4
- export type TSecretMutationTarget = {
5
- kind: 'service';
6
- serviceId: string;
7
- } | {
8
- kind: 'secret-set';
9
- secretSetId: string;
10
- };
11
- export type TSecretValueInput = {
12
- mode: 'provided';
13
- value: string;
4
+ export interface IReq_GetSecretIngressRecipient extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetSecretIngressRecipient> {
5
+ method: 'getSecretIngressRecipient';
6
+ request: {
7
+ identity: IIdentityCredential;
8
+ };
9
+ response: {
10
+ recipient: TSecretIngressRecipient;
11
+ };
14
12
  }
15
- /** Server-generated runtime-only value; plaintext is never returned. */
16
- | {
17
- mode: 'generated';
18
- bytes: 32 | 48 | 64;
19
- };
20
13
  export interface IReq_ListSecrets extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_ListSecrets> {
21
14
  method: 'listSecrets';
22
15
  request: {
23
16
  identity: IIdentityCredential;
17
+ mutationId: string;
24
18
  target: TSecretMutationTarget;
25
19
  environment?: TSecretEnvironment;
26
20
  };
@@ -34,6 +28,7 @@ export interface IReq_GetSecretMetadata extends plugins.typedrequestInterfaces.i
34
28
  method: 'getSecretMetadata';
35
29
  request: {
36
30
  identity: IIdentityCredential;
31
+ mutationId: string;
37
32
  secretId: string;
38
33
  };
39
34
  response: {
@@ -45,6 +40,7 @@ export interface IReq_CreateSecret extends plugins.typedrequestInterfaces.implem
45
40
  method: 'createSecret';
46
41
  request: {
47
42
  identity: IIdentityCredential;
43
+ mutationId: string;
48
44
  target: TSecretMutationTarget;
49
45
  key: string;
50
46
  environment: TSecretEnvironment;
@@ -69,14 +65,18 @@ export interface IReq_RotateSecret extends plugins.typedrequestInterfaces.implem
69
65
  method: 'rotateSecret';
70
66
  request: {
71
67
  identity: IIdentityCredential;
68
+ mutationId: string;
72
69
  secretId: string;
73
70
  valueInput: TSecretValueInput;
74
71
  expectedSecretRevision: number;
75
- expectedActiveVersionId?: string;
72
+ expectedActiveVersionId: string;
73
+ /** Aggregate owner fence incremented by every secret mutation. */
74
+ expectedTargetSecretsRevision: number;
76
75
  };
77
76
  response: {
78
77
  secret: ISecretMetadata;
79
78
  version: ISecretVersionMetadata;
79
+ targetSecretsRevision: number;
80
80
  };
81
81
  }
82
82
  export interface IReq_ChangeSecretLifecycle extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_ChangeSecretLifecycle> {
@@ -86,9 +86,11 @@ export interface IReq_ChangeSecretLifecycle extends plugins.typedrequestInterfac
86
86
  secretId: string;
87
87
  action: 'retire' | 'revoke' | 'delete' | 'request-purge';
88
88
  expectedSecretRevision: number;
89
+ expectedTargetSecretsRevision: number;
89
90
  };
90
91
  response: {
91
92
  secret: ISecretMetadata;
93
+ targetSecretsRevision: number;
92
94
  };
93
95
  }
94
96
  export interface IReq_GetSecretVersionPurgePreflight extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetSecretVersionPurgePreflight> {
@@ -145,6 +147,8 @@ export interface IReq_ChangeSecretSetLifecycle extends plugins.typedrequestInter
145
147
  secretSetId: string;
146
148
  action: 'retire' | 'delete';
147
149
  expectedRevision: number;
150
+ /** Prevents lifecycle changes racing any secret mutation in this set. */
151
+ expectedSecretsRevision: number;
148
152
  };
149
153
  response: {
150
154
  secretSet: ISecretSetMetadata;
@@ -196,3 +200,5 @@ export interface IReq_PreviewServiceSecretResolution extends plugins.typedreques
196
200
  collisions: ISecretResolutionPreviewCollision[];
197
201
  };
198
202
  }
203
+ export declare const validateCreateSecretRequest: (requestArg: unknown, activeIngressRecipientArg: TSecretIngressRecipient) => Promise<string[]>;
204
+ export declare const validateRotateSecretRequest: (requestArg: unknown, activeIngressRecipientArg: TSecretIngressRecipient) => Promise<string[]>;
@@ -1,2 +1,161 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvcmVxdWVzdHMvc2VjcmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
1
+ import * as secretData from '../data/secret.js';
2
+ const isRecord = (valueArg) => (Boolean(valueArg) && typeof valueArg === 'object' && !Array.isArray(valueArg));
3
+ export const validateCreateSecretRequest = async (requestArg, activeIngressRecipientArg) => {
4
+ if (!requestArg || typeof requestArg !== 'object' || Array.isArray(requestArg)) {
5
+ return ['create secret request must be an object'];
6
+ }
7
+ const request = requestArg;
8
+ const errors = secretData.validateSecretMutationId(request.mutationId);
9
+ const allowedKeys = new Set([
10
+ 'identity',
11
+ 'mutationId',
12
+ 'target',
13
+ 'key',
14
+ 'environment',
15
+ 'name',
16
+ 'description',
17
+ 'tags',
18
+ 'delivery',
19
+ 'valueInput',
20
+ 'expectedTargetSecretsRevision',
21
+ ]);
22
+ if (Object.keys(request).some((keyArg) => !allowedKeys.has(keyArg))) {
23
+ errors.push('create secret request contains fields outside its schema');
24
+ }
25
+ if (!request.identity || typeof request.identity !== 'object'
26
+ || typeof request.identity.jwt !== 'string') {
27
+ errors.push('create secret identity must be a JWT credential');
28
+ }
29
+ if (!request.target || typeof request.target !== 'object' || Array.isArray(request.target)) {
30
+ errors.push('create secret target must be an owner object');
31
+ }
32
+ else {
33
+ errors.push(...secretData.validateSecretOwner(request.target));
34
+ }
35
+ if (typeof request.key !== 'string' || !/^[A-Z_][A-Z0-9_]{0,252}$/.test(request.key)) {
36
+ errors.push('create secret key must be canonical');
37
+ }
38
+ if (typeof request.environment !== 'string'
39
+ || !/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/.test(request.environment)) {
40
+ errors.push('create secret environment must be canonical');
41
+ }
42
+ if (typeof request.name !== 'string'
43
+ || request.name.trim() !== request.name
44
+ || request.name.length < 1
45
+ || request.name.length > 200) {
46
+ errors.push('create secret name must be a bounded non-empty string');
47
+ }
48
+ if (request.description !== undefined
49
+ && (typeof request.description !== 'string' || request.description.length > 2000)) {
50
+ errors.push('create secret description must be a bounded string');
51
+ }
52
+ if (request.tags !== undefined) {
53
+ if (!Array.isArray(request.tags) || request.tags.length > 64) {
54
+ errors.push('create secret tags must be a bounded array');
55
+ }
56
+ else {
57
+ const tagKeys = [];
58
+ request.tags.forEach((tagArg, indexArg) => {
59
+ if (!isRecord(tagArg)
60
+ || JSON.stringify(Object.keys(tagArg).sort()) !== JSON.stringify(['key', 'value'])
61
+ || typeof tagArg.key !== 'string'
62
+ || tagArg.key.length < 1
63
+ || tagArg.key.length > 100
64
+ || typeof tagArg.value !== 'string'
65
+ || tagArg.value.length > 500) {
66
+ errors.push(`create secret tags[${indexArg}] must use the bounded key/value schema`);
67
+ }
68
+ else {
69
+ tagKeys.push(tagArg.key);
70
+ }
71
+ });
72
+ if (new Set(tagKeys).size !== tagKeys.length) {
73
+ errors.push('create secret tag keys must be unique');
74
+ }
75
+ }
76
+ }
77
+ const deliveryErrors = secretData.validateSecretDelivery(request.delivery);
78
+ errors.push(...deliveryErrors);
79
+ if (!Number.isSafeInteger(request.expectedTargetSecretsRevision)
80
+ || request.expectedTargetSecretsRevision < 0) {
81
+ errors.push('create secret target revision must be a non-negative integer');
82
+ }
83
+ const canBuildContext = secretData.validateSecretMutationId(request.mutationId).length === 0
84
+ && secretData.validateSecretOwner(request.target).length === 0
85
+ && typeof request.key === 'string'
86
+ && /^[A-Z_][A-Z0-9_]{0,252}$/.test(request.key)
87
+ && typeof request.environment === 'string'
88
+ && /^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/.test(request.environment)
89
+ && deliveryErrors.length === 0
90
+ && Number.isSafeInteger(request.expectedTargetSecretsRevision)
91
+ && request.expectedTargetSecretsRevision >= 0;
92
+ const expectedContext = canBuildContext
93
+ ? secretData.createSecretCreateEnvelopeContext({
94
+ mutationId: request.mutationId,
95
+ target: request.target,
96
+ key: request.key,
97
+ environment: request.environment,
98
+ delivery: request.delivery,
99
+ expectedTargetSecretsRevision: request.expectedTargetSecretsRevision,
100
+ })
101
+ : new Uint8Array();
102
+ errors.push(...await secretData.validateSecretValueInputForRecipient(request.valueInput, activeIngressRecipientArg, expectedContext));
103
+ return errors;
104
+ };
105
+ export const validateRotateSecretRequest = async (requestArg, activeIngressRecipientArg) => {
106
+ if (!requestArg || typeof requestArg !== 'object' || Array.isArray(requestArg)) {
107
+ return ['rotate secret request must be an object'];
108
+ }
109
+ const request = requestArg;
110
+ const errors = secretData.validateSecretMutationId(request.mutationId);
111
+ if (JSON.stringify(Object.keys(request).sort()) !== JSON.stringify([
112
+ 'expectedActiveVersionId',
113
+ 'expectedSecretRevision',
114
+ 'expectedTargetSecretsRevision',
115
+ 'identity',
116
+ 'mutationId',
117
+ 'secretId',
118
+ 'valueInput',
119
+ ])) {
120
+ errors.push('rotate secret request must use its exact schema');
121
+ }
122
+ if (!request.identity || typeof request.identity !== 'object'
123
+ || typeof request.identity.jwt !== 'string') {
124
+ errors.push('rotate secret identity must be a JWT credential');
125
+ }
126
+ for (const field of ['secretId', 'expectedActiveVersionId']) {
127
+ if (typeof request[field] !== 'string'
128
+ || !/^[A-Za-z0-9][A-Za-z0-9:._-]{0,199}$/.test(request[field])) {
129
+ errors.push(`rotate secret ${field} must be canonical`);
130
+ }
131
+ }
132
+ if (!Number.isSafeInteger(request.expectedSecretRevision)
133
+ || request.expectedSecretRevision < 1) {
134
+ errors.push('rotate secret revision must be a positive integer');
135
+ }
136
+ if (!Number.isSafeInteger(request.expectedTargetSecretsRevision)
137
+ || request.expectedTargetSecretsRevision < 0) {
138
+ errors.push('rotate secret target revision must be a non-negative integer');
139
+ }
140
+ const canBuildContext = secretData.validateSecretMutationId(request.mutationId).length === 0
141
+ && typeof request.secretId === 'string'
142
+ && /^[A-Za-z0-9][A-Za-z0-9:._-]{0,199}$/.test(request.secretId)
143
+ && typeof request.expectedActiveVersionId === 'string'
144
+ && /^[A-Za-z0-9][A-Za-z0-9:._-]{0,199}$/.test(request.expectedActiveVersionId)
145
+ && Number.isSafeInteger(request.expectedSecretRevision)
146
+ && request.expectedSecretRevision >= 1
147
+ && Number.isSafeInteger(request.expectedTargetSecretsRevision)
148
+ && request.expectedTargetSecretsRevision >= 0;
149
+ const expectedContext = canBuildContext
150
+ ? secretData.createSecretRotateEnvelopeContext({
151
+ mutationId: request.mutationId,
152
+ secretId: request.secretId,
153
+ expectedSecretRevision: request.expectedSecretRevision,
154
+ expectedActiveVersionId: request.expectedActiveVersionId,
155
+ expectedTargetSecretsRevision: request.expectedTargetSecretsRevision,
156
+ })
157
+ : new Uint8Array();
158
+ errors.push(...await secretData.validateSecretValueInputForRecipient(request.valueInput, activeIngressRecipientArg, expectedContext));
159
+ return errors;
160
+ };
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvcmVxdWVzdHMvc2VjcmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxVQUFVLE1BQU0sbUJBQW1CLENBQUM7QUFvUmhELE1BQU0sUUFBUSxHQUFHLENBQUMsUUFBaUIsRUFBdUMsRUFBRSxDQUFDLENBQzNFLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUM5RSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsS0FBSyxFQUM5QyxVQUFtQixFQUNuQix5QkFBa0QsRUFDL0IsRUFBRTtJQUNyQixJQUFJLENBQUMsVUFBVSxJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDL0UsT0FBTyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLFVBQXFDLENBQUM7SUFDdEQsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2RSxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQztRQUMxQixVQUFVO1FBQ1YsWUFBWTtRQUNaLFFBQVE7UUFDUixLQUFLO1FBQ0wsYUFBYTtRQUNiLE1BQU07UUFDTixhQUFhO1FBQ2IsTUFBTTtRQUNOLFVBQVU7UUFDVixZQUFZO1FBQ1osK0JBQStCO0tBQ2hDLENBQUMsQ0FBQztJQUNILElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENB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
@@ -251,16 +251,3 @@ export interface IRequest_Any_Cloudly_DeleteServiceById extends plugins.typedreq
251
251
  success: boolean;
252
252
  };
253
253
  }
254
- export interface IRequest_Any_Cloudly_GetServiceSecretBundlesAsFlatObject extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IRequest_Any_Cloudly_GetServiceSecretBundlesAsFlatObject> {
255
- method: 'getServiceSecretBundlesAsFlatObject';
256
- request: {
257
- identity: IIdentity;
258
- serviceId: string;
259
- environment: string;
260
- };
261
- response: {
262
- flatKeyValueObject: {
263
- [key: string]: string;
264
- };
265
- };
266
- }
@@ -1,5 +1,5 @@
1
1
  import * as plugins from '../plugins.js';
2
- import type { ICloudlySettings, ICloudlySettingsMasked } from '../data/settings.js';
2
+ import type { ICloudlySettings } from '../data/settings.js';
3
3
  import type { IIdentity } from '../data/user.js';
4
4
  export interface IRequest_GetSettings extends plugins.typedrequestInterfaces.ITypedRequest {
5
5
  method: 'getSettings';
@@ -7,7 +7,7 @@ export interface IRequest_GetSettings extends plugins.typedrequestInterfaces.ITy
7
7
  identity?: IIdentity;
8
8
  };
9
9
  response: {
10
- settings: ICloudlySettingsMasked;
10
+ settings: ICloudlySettings;
11
11
  };
12
12
  }
13
13
  export interface IRequest_UpdateSettings extends plugins.typedrequestInterfaces.ITypedRequest {
@@ -51,6 +51,6 @@ export interface IRequest_GetSetting extends plugins.typedrequestInterfaces.ITyp
51
51
  key: keyof ICloudlySettings;
52
52
  };
53
53
  response: {
54
- value: string | undefined;
54
+ value: ICloudlySettings[keyof ICloudlySettings] | undefined;
55
55
  };
56
56
  }