@epilot/app-client 0.0.11 → 0.0.13

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 +1 @@
1
- (()=>{"use strict";var e={187:function(e,r,p){var t=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var n=t(p(466));r.default=n.default},466:e=>{e.exports=JSON.parse('{"openapi":"3.0.3","info":{"title":"","version":""},"servers":[{"url":"https://app.sls.epilot.io"}],"paths":{"/v1/app-configurations":{"get":{"operationId":"listAppConfigurations","parameters":[{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app-configurations/{appId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration"}],"get":{"operationId":"getAppConfiguration","responses":{}}},"/v1/app-configurations/{appId}/versions/{version}":{"get":{"operationId":"getAppConfigurationVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}},"delete":{"operationId":"deleteAppVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}}},"/v1/app-configurations/{appId}/versions/{sourceVersion}/clone-to/{targetVersion}":{"post":{"operationId":"cloneAppVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"sourceVersion","in":"path","required":true},{"name":"targetVersion","in":"path","required":true}],"responses":{}}},"/v1/app":{"get":{"operationId":"listInstalledApps","parameters":[{"name":"componentType","in":"query"},{"name":"enabled","in":"query"},{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app/{appId}":{"get":{"operationId":"getInstalledApp","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}},"put":{"operationId":"installApp","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/InstallAppRequest"},"responses":{}},"delete":{"operationId":"uninstallApp","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}}},"/v1/app/{appId}/promote-to/{version}":{"post":{"operationId":"promoteAppVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}}}},"components":{"requestBodies":{"PublishAppRequest":{"required":true,"content":{"application/json":{}}},"InstallAppRequest":{"content":{"application/json":{}}}}}}')}},r={},p=function p(t){var n=r[t];if(void 0!==n)return n.exports;var a=r[t]={exports:{}};return e[t].call(a.exports,a,a.exports,p),a.exports}(187),t=exports;for(var n in p)t[n]=p[n];p.__esModule&&Object.defineProperty(t,"__esModule",{value:!0})})();
1
+ (()=>{"use strict";var e={187:function(e,r,p){var t=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var n=t(p(466));r.default=n.default},466:e=>{e.exports=JSON.parse('{"openapi":"3.0.3","info":{"title":"","version":""},"servers":[{"url":"https://app.sls.epilot.io"}],"paths":{"/v1/app-configurations":{"get":{"operationId":"listAppConfigurations","parameters":[{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}},"post":{"operationId":"createAppConfiguration","requestBody":{"$ref":"#/components/requestBodies/CreateAppRequest"},"responses":{}}},"/v1/app-configurations/{appId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration"},{"name":"version","in":"query","description":"Version of the app configuration to retrieve. Defaults to latest"}],"get":{"operationId":"getAppConfiguration","responses":{}}},"/v1/app-configurations/{appId}/logo":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration"}],"post":{"operationId":"createLogoUploadUrl","responses":{}},"delete":{"operationId":"deleteLogo","responses":{}}},"/v1/app-configurations/{appId}/versions":{"get":{"operationId":"listAppVersions","parameters":[{"name":"appId","in":"path","required":true},{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}":{"get":{"operationId":"getAppConfigurationVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}},"delete":{"operationId":"deleteAppVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}}},"/v1/app-configurations/{appId}/versions/{sourceVersion}/clone-to/{targetVersion}":{"post":{"operationId":"cloneAppVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"sourceVersion","in":"path","required":true},{"name":"targetVersion","in":"path","required":true}],"responses":{}}},"/v1/app":{"get":{"operationId":"listInstalledApps","parameters":[{"name":"componentType","in":"query"},{"name":"enabled","in":"query"},{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app/{appId}":{"get":{"operationId":"getInstalledApp","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}},"put":{"operationId":"installApp","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/InstallAppRequest"},"responses":{}},"delete":{"operationId":"uninstallApp","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}}},"/v1/app/{appId}/promote-to/{version}":{"post":{"operationId":"promoteAppVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}}}},"components":{"requestBodies":{"CreateAppRequest":{"required":true,"content":{"application/json":{}}},"InstallAppRequest":{"content":{"application/json":{}}}}}}')}},r={},p=function p(t){var n=r[t];if(void 0!==n)return n.exports;var a=r[t]={exports:{}};return e[t].call(a.exports,a,a.exports,p),a.exports}(187),t=exports;for(var n in p)t[n]=p[n];p.__esModule&&Object.defineProperty(t,"__esModule",{value:!0})})();
@@ -24,6 +24,13 @@
24
24
  }
25
25
  ],
26
26
  "responses": {}
27
+ },
28
+ "post": {
29
+ "operationId": "createAppConfiguration",
30
+ "requestBody": {
31
+ "$ref": "#/components/requestBodies/CreateAppRequest"
32
+ },
33
+ "responses": {}
27
34
  }
28
35
  },
29
36
  "/v1/app-configurations/{appId}": {
@@ -33,6 +40,11 @@
33
40
  "in": "path",
34
41
  "required": true,
35
42
  "description": "ID of the app configuration"
43
+ },
44
+ {
45
+ "name": "version",
46
+ "in": "query",
47
+ "description": "Version of the app configuration to retrieve. Defaults to latest"
36
48
  }
37
49
  ],
38
50
  "get": {
@@ -40,6 +52,45 @@
40
52
  "responses": {}
41
53
  }
42
54
  },
55
+ "/v1/app-configurations/{appId}/logo": {
56
+ "parameters": [
57
+ {
58
+ "name": "appId",
59
+ "in": "path",
60
+ "required": true,
61
+ "description": "ID of the app configuration"
62
+ }
63
+ ],
64
+ "post": {
65
+ "operationId": "createLogoUploadUrl",
66
+ "responses": {}
67
+ },
68
+ "delete": {
69
+ "operationId": "deleteLogo",
70
+ "responses": {}
71
+ }
72
+ },
73
+ "/v1/app-configurations/{appId}/versions": {
74
+ "get": {
75
+ "operationId": "listAppVersions",
76
+ "parameters": [
77
+ {
78
+ "name": "appId",
79
+ "in": "path",
80
+ "required": true
81
+ },
82
+ {
83
+ "name": "page",
84
+ "in": "query"
85
+ },
86
+ {
87
+ "name": "pageSize",
88
+ "in": "query"
89
+ }
90
+ ],
91
+ "responses": {}
92
+ }
93
+ },
43
94
  "/v1/app-configurations/{appId}/versions/{version}": {
44
95
  "get": {
45
96
  "operationId": "getAppConfigurationVersion",
@@ -180,7 +231,7 @@
180
231
  },
181
232
  "components": {
182
233
  "requestBodies": {
183
- "PublishAppRequest": {
234
+ "CreateAppRequest": {
184
235
  "required": true,
185
236
  "content": {
186
237
  "application/json": {}
package/dist/openapi.d.ts CHANGED
@@ -10,18 +10,17 @@ import type {
10
10
 
11
11
  declare namespace Components {
12
12
  namespace RequestBodies {
13
+ export interface CreateAppRequest {
14
+ name: Schemas.TranslatedString;
15
+ description: Schemas.TranslatedString;
16
+ category?: string;
17
+ }
13
18
  export interface InstallAppRequest {
14
19
  /**
15
20
  * Configuration values for the app components
16
21
  */
17
22
  option_values?: Schemas.OptionsRef[];
18
23
  }
19
- export interface PublishAppRequest {
20
- s3_reference: Schemas.S3Reference;
21
- metadata?: {
22
- access_level?: "public" | "private";
23
- };
24
- }
25
24
  }
26
25
  namespace Schemas {
27
26
  /**
@@ -30,18 +29,23 @@ declare namespace Components {
30
29
  export interface App {
31
30
  app_id?: string;
32
31
  name?: TranslatedString;
32
+ author?: Author;
33
33
  /**
34
- * URL of the app icon.
34
+ * List of available versions of the app
35
35
  */
36
- icon_url?: string;
36
+ versions?: string[];
37
+ /**
38
+ * Latest version of the app
39
+ */
40
+ latest_version?: string;
37
41
  /**
38
42
  * Category of the app.
39
43
  */
40
44
  category?: string;
41
45
  /**
42
- * Flag to indicate if the app is in beta.
46
+ * URL of the app icon.
43
47
  */
44
- is_beta?: boolean;
48
+ icon_url?: string;
45
49
  /**
46
50
  * URL of the app documentation.
47
51
  */
@@ -52,48 +56,59 @@ declare namespace Components {
52
56
  homepage_url?: string;
53
57
  description?: TranslatedString;
54
58
  notifications?: NotificationConfig;
55
- created_by?: string;
56
- created_at?: string;
57
- /**
58
- * Timestamp of the last update
59
- */
60
- updated_at?: string;
61
59
  /**
62
- * User ID of the user who last updated the app
60
+ * Organization ID of the app owner, required for private apps or sandbox accounts
63
61
  */
64
- updated_by?: string;
65
- version?: string;
66
- author?: Author;
67
- status?: "published" | "pending";
68
- components?: BaseComponent[];
62
+ owner_org_id?: string;
69
63
  /**
70
64
  * Flag to indicate if the app is built by epilot.
71
65
  */
72
66
  internal?: boolean;
73
67
  /**
74
- * Organization ID of the app owner, required for private apps
68
+ * Timestamp of app creation
75
69
  */
76
- owner_org_id?: string;
70
+ created_at?: string;
71
+ /**
72
+ * User ID of the user who created the app
73
+ */
74
+ created_by?: string;
75
+ components?: BaseComponent[];
77
76
  /**
78
77
  * Flag to indicate if the app is public.
79
78
  */
80
79
  public?: boolean;
81
80
  /**
82
- * List of available versions of the app
81
+ * Flag to indicate if the app is pending for verification
83
82
  */
84
- versions?: string[];
83
+ pending?: boolean;
85
84
  /**
86
- * Latest version of the app
85
+ * Version of the app that is installed
87
86
  */
88
- latest_version?: string;
87
+ version?: string;
89
88
  /**
90
- * Unique identifier for the app installation
89
+ * Timestamp of the last version update
91
90
  */
92
- installation_id?: string;
91
+ versioned_at?: string;
92
+ /**
93
+ * User ID of the user who last updated the app
94
+ */
95
+ versioned_by?: string;
96
+ /**
97
+ * Flag to indicate if the app is in beta.
98
+ */
99
+ is_beta?: boolean;
100
+ /**
101
+ * Timestamp of the last update
102
+ */
103
+ updated_at?: string;
104
+ /**
105
+ * User ID of the user who last updated the app
106
+ */
107
+ updated_by?: string;
93
108
  /**
94
109
  * Unique identifier for the organization the app is installed in
95
110
  */
96
- organization_id?: string;
111
+ org_id?: string;
97
112
  /**
98
113
  * Timestamp of app creation
99
114
  */
@@ -110,6 +125,10 @@ declare namespace Components {
110
125
  * Configuration values for the app components options
111
126
  */
112
127
  option_values?: OptionsRef[];
128
+ /**
129
+ * Version of the app that is installed
130
+ */
131
+ installed_version?: string;
113
132
  }
114
133
  /**
115
134
  * Configuration of the published app
@@ -117,18 +136,100 @@ declare namespace Components {
117
136
  export interface AppConfiguration {
118
137
  app_id?: string;
119
138
  name?: TranslatedString;
139
+ author?: Author;
120
140
  /**
121
- * URL of the app icon.
141
+ * List of available versions of the app
122
142
  */
123
- icon_url?: string;
143
+ versions?: string[];
144
+ /**
145
+ * Latest version of the app
146
+ */
147
+ latest_version?: string;
124
148
  /**
125
149
  * Category of the app.
126
150
  */
127
151
  category?: string;
152
+ /**
153
+ * URL of the app icon.
154
+ */
155
+ icon_url?: string;
156
+ /**
157
+ * URL of the app documentation.
158
+ */
159
+ documentation_url?: string;
160
+ /**
161
+ * URL of the app homepage.
162
+ */
163
+ homepage_url?: string;
164
+ description?: TranslatedString;
165
+ notifications?: NotificationConfig;
166
+ /**
167
+ * Organization ID of the app owner, required for private apps or sandbox accounts
168
+ */
169
+ owner_org_id?: string;
170
+ /**
171
+ * Flag to indicate if the app is built by epilot.
172
+ */
173
+ internal?: boolean;
174
+ /**
175
+ * Timestamp of app creation
176
+ */
177
+ created_at?: string;
178
+ /**
179
+ * User ID of the user who created the app
180
+ */
181
+ created_by?: string;
182
+ components?: BaseComponent[];
183
+ /**
184
+ * Flag to indicate if the app is public.
185
+ */
186
+ public?: boolean;
187
+ /**
188
+ * Flag to indicate if the app is pending for verification
189
+ */
190
+ pending?: boolean;
191
+ /**
192
+ * Version of the app that is installed
193
+ */
194
+ version?: string;
195
+ /**
196
+ * Timestamp of the last version update
197
+ */
198
+ versioned_at?: string;
199
+ /**
200
+ * User ID of the user who last updated the app
201
+ */
202
+ versioned_by?: string;
128
203
  /**
129
204
  * Flag to indicate if the app is in beta.
130
205
  */
131
206
  is_beta?: boolean;
207
+ updated_at?: string;
208
+ updated_by?: string;
209
+ }
210
+ /**
211
+ * Basic metadata about your app configuration which does not get versioned
212
+ */
213
+ export interface AppMetadata {
214
+ app_id?: string;
215
+ name?: TranslatedString;
216
+ author?: Author;
217
+ /**
218
+ * List of available versions of the app
219
+ */
220
+ versions?: string[];
221
+ /**
222
+ * Latest version of the app
223
+ */
224
+ latest_version?: string;
225
+ /**
226
+ * Category of the app.
227
+ */
228
+ category?: string;
229
+ /**
230
+ * URL of the app icon.
231
+ */
232
+ icon_url?: string;
132
233
  /**
133
234
  * URL of the app documentation.
134
235
  */
@@ -145,34 +246,52 @@ declare namespace Components {
145
246
  * Configuration for developer notifications
146
247
  */
147
248
  notifications?: NotificationConfig;
148
- created_by?: string;
149
- created_at?: string;
150
- updated_at?: string;
151
- updated_by?: string;
152
- version?: string;
153
- author?: Author;
154
- status?: "published" | "pending";
155
- components?: BaseComponent[];
249
+ /**
250
+ * Organization ID of the app owner, required for private apps or sandbox accounts
251
+ */
252
+ owner_org_id?: string;
156
253
  /**
157
254
  * Flag to indicate if the app is built by epilot.
158
255
  */
159
256
  internal?: boolean;
160
257
  /**
161
- * Organization ID of the app owner, required for private apps
258
+ * Timestamp of app creation
162
259
  */
163
- owner_org_id?: string;
260
+ created_at?: string;
261
+ /**
262
+ * User ID of the user who created the app
263
+ */
264
+ created_by?: string;
265
+ }
266
+ /**
267
+ * Configuration data about your app which is versionable
268
+ */
269
+ export interface AppVersioned {
270
+ components?: BaseComponent[];
164
271
  /**
165
272
  * Flag to indicate if the app is public.
166
273
  */
167
274
  public?: boolean;
168
275
  /**
169
- * List of available versions of the app
276
+ * Flag to indicate if the app is pending for verification
170
277
  */
171
- versions?: string[];
278
+ pending?: boolean;
172
279
  /**
173
- * Latest version of the app
280
+ * Version of the app that is installed
174
281
  */
175
- latest_version?: string;
282
+ version?: string;
283
+ /**
284
+ * Timestamp of the last version update
285
+ */
286
+ versioned_at?: string;
287
+ /**
288
+ * User ID of the user who last updated the app
289
+ */
290
+ versioned_by?: string;
291
+ /**
292
+ * Flag to indicate if the app is in beta.
293
+ */
294
+ is_beta?: boolean;
176
295
  }
177
296
  export interface Author {
178
297
  /**
@@ -481,6 +600,30 @@ declare namespace Paths {
481
600
  }
482
601
  }
483
602
  }
603
+ namespace CreateAppConfiguration {
604
+ export type RequestBody = Components.RequestBodies.CreateAppRequest;
605
+ namespace Responses {
606
+ export interface $202 {
607
+ app_id: string;
608
+ }
609
+ }
610
+ }
611
+ namespace CreateLogoUploadUrl {
612
+ namespace Responses {
613
+ export interface $200 {
614
+ /**
615
+ * Presigned S3 URL for uploading the logo
616
+ */
617
+ upload_url: string;
618
+ /**
619
+ * Timestamp when the upload URL expires
620
+ */
621
+ expires_at?: string; // date-time
622
+ }
623
+ export interface $404 {
624
+ }
625
+ }
626
+ }
484
627
  namespace DeleteAppVersion {
485
628
  namespace Parameters {
486
629
  export type AppId = string;
@@ -501,6 +644,14 @@ declare namespace Paths {
501
644
  }
502
645
  }
503
646
  }
647
+ namespace DeleteLogo {
648
+ namespace Responses {
649
+ export interface $204 {
650
+ }
651
+ export interface $404 {
652
+ }
653
+ }
654
+ }
504
655
  namespace GetAppConfiguration {
505
656
  namespace Responses {
506
657
  export type $200 = /* Configuration of the published app */ Components.Schemas.AppConfiguration;
@@ -562,7 +713,31 @@ declare namespace Paths {
562
713
  }
563
714
  namespace Responses {
564
715
  export interface $200 {
565
- configurations?: /* Configuration of the published app */ Components.Schemas.AppConfiguration[];
716
+ configurations?: /* Basic metadata about your app configuration which does not get versioned */ Components.Schemas.AppMetadata[];
717
+ pagination?: {
718
+ total?: number;
719
+ page?: number;
720
+ pageSize?: number;
721
+ };
722
+ }
723
+ }
724
+ }
725
+ namespace ListAppVersions {
726
+ namespace Parameters {
727
+ export type AppId = string;
728
+ export type Page = number;
729
+ export type PageSize = number;
730
+ }
731
+ export interface PathParameters {
732
+ appId: Parameters.AppId;
733
+ }
734
+ export interface QueryParameters {
735
+ page?: Parameters.Page;
736
+ pageSize?: Parameters.PageSize;
737
+ }
738
+ namespace Responses {
739
+ export interface $200 {
740
+ versions?: /* Configuration data about your app which is versionable */ Components.Schemas.AppVersioned[];
566
741
  pagination?: {
567
742
  total?: number;
568
743
  page?: number;
@@ -627,6 +802,18 @@ declare namespace Paths {
627
802
  }
628
803
  }
629
804
  namespace V1AppConfigurations$AppId {
805
+ namespace Parameters {
806
+ export type AppId = string;
807
+ export type Version = string;
808
+ }
809
+ export interface PathParameters {
810
+ appId: Parameters.AppId;
811
+ }
812
+ export interface QueryParameters {
813
+ version?: Parameters.Version;
814
+ }
815
+ }
816
+ namespace V1AppConfigurations$AppIdLogo {
630
817
  namespace Parameters {
631
818
  export type AppId = string;
632
819
  }
@@ -640,23 +827,63 @@ export interface OperationMethods {
640
827
  /**
641
828
  * listAppConfigurations - listAppConfigurations
642
829
  *
643
- * List all app configurations owned by an organization
830
+ * List all app configuration metadata owned by an organization. To get full app configuration details, use the /v1/app-configurations/{appId} endpoint.
644
831
  */
645
832
  'listAppConfigurations'(
646
833
  parameters?: Parameters<Paths.ListAppConfigurations.QueryParameters> | null,
647
834
  data?: any,
648
835
  config?: AxiosRequestConfig
649
836
  ): OperationResponse<Paths.ListAppConfigurations.Responses.$200>
837
+ /**
838
+ * createAppConfiguration - createAppConfiguration
839
+ *
840
+ * Create a new private app configuration. To make it public a verification process needs to be triggered
841
+ */
842
+ 'createAppConfiguration'(
843
+ parameters?: Parameters<UnknownParamsObject> | null,
844
+ data?: Paths.CreateAppConfiguration.RequestBody,
845
+ config?: AxiosRequestConfig
846
+ ): OperationResponse<Paths.CreateAppConfiguration.Responses.$202>
650
847
  /**
651
848
  * getAppConfiguration - getAppConfiguration
652
849
  *
653
850
  * Retrieve a specific app configuration
654
851
  */
655
852
  'getAppConfiguration'(
656
- parameters?: Parameters<Paths.V1AppConfigurations$AppId.PathParameters> | null,
853
+ parameters?: Parameters<Paths.V1AppConfigurations$AppId.QueryParameters & Paths.V1AppConfigurations$AppId.PathParameters> | null,
657
854
  data?: any,
658
855
  config?: AxiosRequestConfig
659
856
  ): OperationResponse<Paths.GetAppConfiguration.Responses.$200>
857
+ /**
858
+ * createLogoUploadUrl - createLogoUploadUrl
859
+ *
860
+ * Generate a presigned URL for uploading app logo to /<app-id>/logo.png path
861
+ */
862
+ 'createLogoUploadUrl'(
863
+ parameters?: Parameters<Paths.V1AppConfigurations$AppIdLogo.PathParameters> | null,
864
+ data?: any,
865
+ config?: AxiosRequestConfig
866
+ ): OperationResponse<Paths.CreateLogoUploadUrl.Responses.$200>
867
+ /**
868
+ * deleteLogo - deleteLogo
869
+ *
870
+ * Delete the app logo from /<app-id>/logo.png path
871
+ */
872
+ 'deleteLogo'(
873
+ parameters?: Parameters<Paths.V1AppConfigurations$AppIdLogo.PathParameters> | null,
874
+ data?: any,
875
+ config?: AxiosRequestConfig
876
+ ): OperationResponse<Paths.DeleteLogo.Responses.$204>
877
+ /**
878
+ * listAppVersions - listAppVersions
879
+ *
880
+ * Retrieve a list of versions for an app configuration
881
+ */
882
+ 'listAppVersions'(
883
+ parameters?: Parameters<Paths.ListAppVersions.QueryParameters & Paths.ListAppVersions.PathParameters> | null,
884
+ data?: any,
885
+ config?: AxiosRequestConfig
886
+ ): OperationResponse<Paths.ListAppVersions.Responses.$200>
660
887
  /**
661
888
  * getAppConfigurationVersion - getAppConfigurationVersion
662
889
  *
@@ -744,13 +971,23 @@ export interface PathsDictionary {
744
971
  /**
745
972
  * listAppConfigurations - listAppConfigurations
746
973
  *
747
- * List all app configurations owned by an organization
974
+ * List all app configuration metadata owned by an organization. To get full app configuration details, use the /v1/app-configurations/{appId} endpoint.
748
975
  */
749
976
  'get'(
750
977
  parameters?: Parameters<Paths.ListAppConfigurations.QueryParameters> | null,
751
978
  data?: any,
752
979
  config?: AxiosRequestConfig
753
980
  ): OperationResponse<Paths.ListAppConfigurations.Responses.$200>
981
+ /**
982
+ * createAppConfiguration - createAppConfiguration
983
+ *
984
+ * Create a new private app configuration. To make it public a verification process needs to be triggered
985
+ */
986
+ 'post'(
987
+ parameters?: Parameters<UnknownParamsObject> | null,
988
+ data?: Paths.CreateAppConfiguration.RequestBody,
989
+ config?: AxiosRequestConfig
990
+ ): OperationResponse<Paths.CreateAppConfiguration.Responses.$202>
754
991
  }
755
992
  ['/v1/app-configurations/{appId}']: {
756
993
  /**
@@ -759,11 +996,45 @@ export interface PathsDictionary {
759
996
  * Retrieve a specific app configuration
760
997
  */
761
998
  'get'(
762
- parameters?: Parameters<Paths.V1AppConfigurations$AppId.PathParameters> | null,
999
+ parameters?: Parameters<Paths.V1AppConfigurations$AppId.QueryParameters & Paths.V1AppConfigurations$AppId.PathParameters> | null,
763
1000
  data?: any,
764
1001
  config?: AxiosRequestConfig
765
1002
  ): OperationResponse<Paths.GetAppConfiguration.Responses.$200>
766
1003
  }
1004
+ ['/v1/app-configurations/{appId}/logo']: {
1005
+ /**
1006
+ * createLogoUploadUrl - createLogoUploadUrl
1007
+ *
1008
+ * Generate a presigned URL for uploading app logo to /<app-id>/logo.png path
1009
+ */
1010
+ 'post'(
1011
+ parameters?: Parameters<Paths.V1AppConfigurations$AppIdLogo.PathParameters> | null,
1012
+ data?: any,
1013
+ config?: AxiosRequestConfig
1014
+ ): OperationResponse<Paths.CreateLogoUploadUrl.Responses.$200>
1015
+ /**
1016
+ * deleteLogo - deleteLogo
1017
+ *
1018
+ * Delete the app logo from /<app-id>/logo.png path
1019
+ */
1020
+ 'delete'(
1021
+ parameters?: Parameters<Paths.V1AppConfigurations$AppIdLogo.PathParameters> | null,
1022
+ data?: any,
1023
+ config?: AxiosRequestConfig
1024
+ ): OperationResponse<Paths.DeleteLogo.Responses.$204>
1025
+ }
1026
+ ['/v1/app-configurations/{appId}/versions']: {
1027
+ /**
1028
+ * listAppVersions - listAppVersions
1029
+ *
1030
+ * Retrieve a list of versions for an app configuration
1031
+ */
1032
+ 'get'(
1033
+ parameters?: Parameters<Paths.ListAppVersions.QueryParameters & Paths.ListAppVersions.PathParameters> | null,
1034
+ data?: any,
1035
+ config?: AxiosRequestConfig
1036
+ ): OperationResponse<Paths.ListAppVersions.Responses.$200>
1037
+ }
767
1038
  ['/v1/app-configurations/{appId}/versions/{version}']: {
768
1039
  /**
769
1040
  * getAppConfigurationVersion - getAppConfigurationVersion
@@ -860,6 +1131,8 @@ export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
860
1131
 
861
1132
  export type App = Components.Schemas.App;
862
1133
  export type AppConfiguration = Components.Schemas.AppConfiguration;
1134
+ export type AppMetadata = Components.Schemas.AppMetadata;
1135
+ export type AppVersioned = Components.Schemas.AppVersioned;
863
1136
  export type Author = Components.Schemas.Author;
864
1137
  export type BaseComponent = Components.Schemas.BaseComponent;
865
1138
  export type BaseComponentCommon = Components.Schemas.BaseComponentCommon;
package/dist/openapi.json CHANGED
@@ -25,7 +25,7 @@
25
25
  "/v1/app-configurations": {
26
26
  "get": {
27
27
  "summary": "listAppConfigurations",
28
- "description": "List all app configurations owned by an organization",
28
+ "description": "List all app configuration metadata owned by an organization. To get full app configuration details, use the /v1/app-configurations/{appId} endpoint.",
29
29
  "operationId": "listAppConfigurations",
30
30
  "parameters": [
31
31
  {
@@ -58,7 +58,7 @@
58
58
  "configurations": {
59
59
  "type": "array",
60
60
  "items": {
61
- "$ref": "#/components/schemas/AppConfiguration"
61
+ "$ref": "#/components/schemas/AppMetadata"
62
62
  }
63
63
  },
64
64
  "pagination": {
@@ -81,6 +81,34 @@
81
81
  }
82
82
  }
83
83
  }
84
+ },
85
+ "post": {
86
+ "summary": "createAppConfiguration",
87
+ "description": "Create a new private app configuration. To make it public a verification process needs to be triggered",
88
+ "operationId": "createAppConfiguration",
89
+ "requestBody": {
90
+ "$ref": "#/components/requestBodies/CreateAppRequest"
91
+ },
92
+ "responses": {
93
+ "202": {
94
+ "description": "App configuration created successfully",
95
+ "content": {
96
+ "application/json": {
97
+ "schema": {
98
+ "type": "object",
99
+ "required": [
100
+ "app_id"
101
+ ],
102
+ "properties": {
103
+ "app_id": {
104
+ "type": "string"
105
+ }
106
+ }
107
+ }
108
+ }
109
+ }
110
+ }
111
+ }
84
112
  }
85
113
  },
86
114
  "/v1/app-configurations/{appId}": {
@@ -93,6 +121,14 @@
93
121
  "type": "string"
94
122
  },
95
123
  "description": "ID of the app configuration"
124
+ },
125
+ {
126
+ "name": "version",
127
+ "in": "query",
128
+ "schema": {
129
+ "type": "string"
130
+ },
131
+ "description": "Version of the app configuration to retrieve. Defaults to latest"
96
132
  }
97
133
  ],
98
134
  "get": {
@@ -116,6 +152,136 @@
116
152
  }
117
153
  }
118
154
  },
155
+ "/v1/app-configurations/{appId}/logo": {
156
+ "parameters": [
157
+ {
158
+ "name": "appId",
159
+ "in": "path",
160
+ "required": true,
161
+ "schema": {
162
+ "type": "string"
163
+ },
164
+ "description": "ID of the app configuration"
165
+ }
166
+ ],
167
+ "post": {
168
+ "summary": "createLogoUploadUrl",
169
+ "description": "Generate a presigned URL for uploading app logo to /<app-id>/logo.png path",
170
+ "operationId": "createLogoUploadUrl",
171
+ "responses": {
172
+ "200": {
173
+ "description": "Upload URL generated successfully",
174
+ "content": {
175
+ "application/json": {
176
+ "schema": {
177
+ "type": "object",
178
+ "required": [
179
+ "upload_url"
180
+ ],
181
+ "properties": {
182
+ "upload_url": {
183
+ "type": "string",
184
+ "description": "Presigned S3 URL for uploading the logo"
185
+ },
186
+ "expires_at": {
187
+ "type": "string",
188
+ "format": "date-time",
189
+ "description": "Timestamp when the upload URL expires"
190
+ }
191
+ }
192
+ }
193
+ }
194
+ }
195
+ },
196
+ "404": {
197
+ "description": "App configuration not found"
198
+ }
199
+ }
200
+ },
201
+ "delete": {
202
+ "summary": "deleteLogo",
203
+ "description": "Delete the app logo from /<app-id>/logo.png path",
204
+ "operationId": "deleteLogo",
205
+ "responses": {
206
+ "204": {
207
+ "description": "Logo deleted successfully"
208
+ },
209
+ "404": {
210
+ "description": "App configuration not found"
211
+ }
212
+ }
213
+ }
214
+ },
215
+ "/v1/app-configurations/{appId}/versions": {
216
+ "get": {
217
+ "summary": "listAppVersions",
218
+ "description": "Retrieve a list of versions for an app configuration",
219
+ "operationId": "listAppVersions",
220
+ "parameters": [
221
+ {
222
+ "name": "appId",
223
+ "in": "path",
224
+ "required": true,
225
+ "schema": {
226
+ "type": "string"
227
+ },
228
+ "description": "ID of the app configuration"
229
+ },
230
+ {
231
+ "name": "page",
232
+ "in": "query",
233
+ "schema": {
234
+ "type": "integer",
235
+ "default": 1
236
+ },
237
+ "description": "Page number for pagination"
238
+ },
239
+ {
240
+ "name": "pageSize",
241
+ "in": "query",
242
+ "schema": {
243
+ "type": "integer",
244
+ "default": 20
245
+ },
246
+ "description": "Number of items per page"
247
+ }
248
+ ],
249
+ "responses": {
250
+ "200": {
251
+ "description": "List of app versions",
252
+ "content": {
253
+ "application/json": {
254
+ "schema": {
255
+ "type": "object",
256
+ "properties": {
257
+ "versions": {
258
+ "type": "array",
259
+ "items": {
260
+ "$ref": "#/components/schemas/AppVersioned"
261
+ }
262
+ },
263
+ "pagination": {
264
+ "type": "object",
265
+ "properties": {
266
+ "total": {
267
+ "type": "integer"
268
+ },
269
+ "page": {
270
+ "type": "integer"
271
+ },
272
+ "pageSize": {
273
+ "type": "integer"
274
+ }
275
+ }
276
+ }
277
+ }
278
+ }
279
+ }
280
+ }
281
+ }
282
+ }
283
+ }
284
+ },
119
285
  "/v1/app-configurations/{appId}/versions/{version}": {
120
286
  "get": {
121
287
  "summary": "getAppConfigurationVersion",
@@ -471,30 +637,25 @@
471
637
  },
472
638
  "components": {
473
639
  "requestBodies": {
474
- "PublishAppRequest": {
640
+ "CreateAppRequest": {
475
641
  "required": true,
476
642
  "content": {
477
643
  "application/json": {
478
644
  "schema": {
479
645
  "type": "object",
480
646
  "required": [
481
- "s3_reference"
647
+ "name",
648
+ "description"
482
649
  ],
483
650
  "properties": {
484
- "s3_reference": {
485
- "$ref": "#/components/schemas/S3Reference"
651
+ "name": {
652
+ "$ref": "#/components/schemas/TranslatedString"
486
653
  },
487
- "metadata": {
488
- "type": "object",
489
- "properties": {
490
- "access_level": {
491
- "type": "string",
492
- "enum": [
493
- "public",
494
- "private"
495
- ]
496
- }
497
- }
654
+ "description": {
655
+ "$ref": "#/components/schemas/TranslatedString"
656
+ },
657
+ "category": {
658
+ "type": "string"
498
659
  }
499
660
  }
500
661
  }
@@ -1063,83 +1224,40 @@
1063
1224
  }
1064
1225
  }
1065
1226
  },
1066
- "App": {
1067
- "allOf": [
1068
- {
1069
- "$ref": "#/components/schemas/AppConfiguration"
1070
- }
1071
- ],
1072
- "description": "Information about the installed app",
1227
+ "AppMetadata": {
1228
+ "description": "Basic metadata about your app configuration which does not get versioned",
1073
1229
  "type": "object",
1074
1230
  "properties": {
1075
- "installation_id": {
1076
- "type": "string",
1077
- "description": "Unique identifier for the app installation",
1078
- "readOnly": true
1079
- },
1080
- "organization_id": {
1081
- "type": "string",
1082
- "description": "Unique identifier for the organization the app is installed in",
1083
- "readOnly": true
1084
- },
1085
- "installed_at": {
1086
- "type": "string",
1087
- "description": "Timestamp of app creation",
1088
- "readOnly": true
1089
- },
1090
- "installed_by": {
1091
- "type": "string",
1092
- "description": "User ID of the user who installed the app",
1093
- "readOnly": true
1094
- },
1095
- "updated_by": {
1231
+ "app_id": {
1096
1232
  "type": "string",
1097
- "description": "User ID of the user who last updated the app",
1098
1233
  "readOnly": true
1099
1234
  },
1100
- "updated_at": {
1101
- "type": "string",
1102
- "description": "Timestamp of the last update",
1103
- "readOnly": true
1235
+ "name": {
1236
+ "$ref": "#/components/schemas/TranslatedString"
1104
1237
  },
1105
- "enabled": {
1106
- "readOnly": true,
1107
- "type": "boolean",
1108
- "default": true,
1109
- "description": "Flag to indicate if the app is enabled."
1238
+ "author": {
1239
+ "$ref": "#/components/schemas/Author"
1110
1240
  },
1111
- "option_values": {
1112
- "description": "Configuration values for the app components options",
1241
+ "versions": {
1113
1242
  "type": "array",
1114
1243
  "items": {
1115
- "$ref": "#/components/schemas/OptionsRef"
1116
- }
1117
- }
1118
- }
1119
- },
1120
- "AppConfiguration": {
1121
- "type": "object",
1122
- "description": "Configuration of the published app",
1123
- "properties": {
1124
- "app_id": {
1125
- "type": "string",
1244
+ "type": "string"
1245
+ },
1246
+ "description": "List of available versions of the app",
1126
1247
  "readOnly": true
1127
1248
  },
1128
- "name": {
1129
- "$ref": "#/components/schemas/TranslatedString"
1130
- },
1131
- "icon_url": {
1249
+ "latest_version": {
1132
1250
  "type": "string",
1133
- "description": "URL of the app icon."
1251
+ "description": "Latest version of the app",
1252
+ "readOnly": true
1134
1253
  },
1135
1254
  "category": {
1136
1255
  "type": "string",
1137
1256
  "description": "Category of the app."
1138
1257
  },
1139
- "is_beta": {
1140
- "type": "boolean",
1141
- "description": "Flag to indicate if the app is in beta.",
1142
- "readOnly": true
1258
+ "icon_url": {
1259
+ "type": "string",
1260
+ "description": "URL of the app icon."
1143
1261
  },
1144
1262
  "documentation_url": {
1145
1263
  "type": "string",
@@ -1157,71 +1275,152 @@
1157
1275
  "$ref": "#/components/schemas/NotificationConfig",
1158
1276
  "description": "Configuration for developer notifications"
1159
1277
  },
1160
- "created_by": {
1278
+ "owner_org_id": {
1161
1279
  "type": "string",
1280
+ "description": "Organization ID of the app owner, required for private apps or sandbox accounts",
1281
+ "readOnly": true
1282
+ },
1283
+ "internal": {
1284
+ "type": "boolean",
1285
+ "default": false,
1286
+ "description": "Flag to indicate if the app is built by epilot.",
1162
1287
  "readOnly": true
1163
1288
  },
1164
1289
  "created_at": {
1165
1290
  "type": "string",
1291
+ "description": "Timestamp of app creation",
1166
1292
  "readOnly": true
1167
1293
  },
1168
- "updated_at": {
1294
+ "created_by": {
1169
1295
  "type": "string",
1296
+ "description": "User ID of the user who created the app",
1297
+ "readOnly": true
1298
+ }
1299
+ }
1300
+ },
1301
+ "AppVersioned": {
1302
+ "description": "Configuration data about your app which is versionable",
1303
+ "type": "object",
1304
+ "properties": {
1305
+ "components": {
1306
+ "type": "array",
1307
+ "items": {
1308
+ "$ref": "#/components/schemas/BaseComponent"
1309
+ }
1310
+ },
1311
+ "public": {
1312
+ "type": "boolean",
1313
+ "default": true,
1314
+ "description": "Flag to indicate if the app is public.",
1170
1315
  "readOnly": true
1171
1316
  },
1172
- "updated_by": {
1173
- "type": "string",
1317
+ "pending": {
1318
+ "type": "boolean",
1319
+ "default": false,
1320
+ "description": "Flag to indicate if the app is pending for verification",
1174
1321
  "readOnly": true
1175
1322
  },
1176
1323
  "version": {
1177
1324
  "type": "string",
1325
+ "description": "Version of the app that is installed",
1178
1326
  "readOnly": true
1179
1327
  },
1180
- "author": {
1181
- "$ref": "#/components/schemas/Author"
1182
- },
1183
- "status": {
1328
+ "versioned_at": {
1184
1329
  "type": "string",
1185
- "enum": [
1186
- "published",
1187
- "pending"
1188
- ],
1330
+ "description": "Timestamp of the last version update",
1189
1331
  "readOnly": true
1190
1332
  },
1191
- "components": {
1192
- "type": "array",
1193
- "items": {
1194
- "$ref": "#/components/schemas/BaseComponent"
1195
- }
1333
+ "versioned_by": {
1334
+ "type": "string",
1335
+ "description": "User ID of the user who last updated the app",
1336
+ "readOnly": true
1196
1337
  },
1197
- "internal": {
1338
+ "is_beta": {
1198
1339
  "type": "boolean",
1199
- "default": false,
1200
- "description": "Flag to indicate if the app is built by epilot.",
1340
+ "description": "Flag to indicate if the app is in beta."
1341
+ }
1342
+ }
1343
+ },
1344
+ "App": {
1345
+ "allOf": [
1346
+ {
1347
+ "$ref": "#/components/schemas/AppConfiguration"
1348
+ }
1349
+ ],
1350
+ "description": "Information about the installed app",
1351
+ "type": "object",
1352
+ "properties": {
1353
+ "org_id": {
1354
+ "type": "string",
1355
+ "description": "Unique identifier for the organization the app is installed in",
1201
1356
  "readOnly": true
1202
1357
  },
1203
- "owner_org_id": {
1358
+ "installed_at": {
1204
1359
  "type": "string",
1205
- "description": "Organization ID of the app owner, required for private apps",
1360
+ "description": "Timestamp of app creation",
1206
1361
  "readOnly": true
1207
1362
  },
1208
- "public": {
1363
+ "installed_by": {
1364
+ "type": "string",
1365
+ "description": "User ID of the user who installed the app",
1366
+ "readOnly": true
1367
+ },
1368
+ "updated_by": {
1369
+ "type": "string",
1370
+ "description": "User ID of the user who last updated the app",
1371
+ "readOnly": true
1372
+ },
1373
+ "updated_at": {
1374
+ "type": "string",
1375
+ "description": "Timestamp of the last update",
1376
+ "readOnly": true
1377
+ },
1378
+ "enabled": {
1379
+ "readOnly": true,
1209
1380
  "type": "boolean",
1210
1381
  "default": true,
1211
- "description": "Flag to indicate if the app is public.",
1212
- "readOnly": true
1382
+ "description": "Flag to indicate if the app is enabled."
1213
1383
  },
1214
- "versions": {
1384
+ "option_values": {
1385
+ "description": "Configuration values for the app components options",
1215
1386
  "type": "array",
1216
1387
  "items": {
1217
- "type": "string"
1218
- },
1219
- "description": "List of available versions of the app",
1388
+ "$ref": "#/components/schemas/OptionsRef"
1389
+ }
1390
+ },
1391
+ "installed_version": {
1392
+ "type": "string",
1393
+ "description": "Version of the app that is installed",
1394
+ "readOnly": true
1395
+ }
1396
+ }
1397
+ },
1398
+ "AppConfiguration": {
1399
+ "allOf": [
1400
+ {
1401
+ "$ref": "#/components/schemas/AppMetadata"
1402
+ },
1403
+ {
1404
+ "$ref": "#/components/schemas/AppVersioned"
1405
+ }
1406
+ ],
1407
+ "type": "object",
1408
+ "description": "Configuration of the published app",
1409
+ "properties": {
1410
+ "created_by": {
1411
+ "type": "string",
1220
1412
  "readOnly": true
1221
1413
  },
1222
- "latest_version": {
1414
+ "created_at": {
1415
+ "type": "string",
1416
+ "readOnly": true
1417
+ },
1418
+ "updated_at": {
1419
+ "type": "string",
1420
+ "readOnly": true
1421
+ },
1422
+ "updated_by": {
1223
1423
  "type": "string",
1224
- "description": "Latest version of the app",
1225
1424
  "readOnly": true
1226
1425
  }
1227
1426
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/app-client",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "description": "JavaScript client library for the epilot App API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",