@epilot/app-client 0.8.1 → 0.8.2

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={390:function(e,r,t){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var o=n(t(466));r.default=o.default},466:e=>{e.exports=JSON.parse('{"openapi":"3.1.0","info":{"title":"","version":""},"servers":[{"url":"https://app.sls.epilot.io"}],"paths":{"/v1/public/app/{appId}/components/{componentId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration to install"},{"name":"componentId","in":"path","required":true,"description":"ID of the component to retrieve"}],"get":{"operationId":"getPublicFacingComponent","responses":{}}},"/v1/app-configurations":{"get":{"operationId":"listConfigurations","parameters":[{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}},"post":{"operationId":"createConfiguration","requestBody":{"$ref":"#/components/requestBodies/CreateConfigRequest"},"responses":{}}},"/v1/app-configurations/public/{appId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration to install"}],"get":{"operationId":"getPublicConfiguration","parameters":[{"name":"version","in":"query"}],"responses":{}}},"/v1/app-configurations/{appId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration"}],"get":{"operationId":"getConfiguration","parameters":[{"name":"version","in":"query"}],"responses":{}},"patch":{"operationId":"patchMetadata","requestBody":{"$ref":"#/components/requestBodies/PatchConfigMetadataRequest"},"responses":{}},"delete":{"operationId":"deleteConfiguration","responses":{}}},"/v1/app-configurations/{appId}/events":{"post":{"operationId":"queryEvents","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/app-configurations/{appId}/bundle":{"post":{"operationId":"createBundleUploadUrl","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/CreateBundlePresignedRequest"},"responses":{}}},"/v1/app-configurations/{appId}/zip":{"post":{"operationId":"createZipUploadUrl","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/app-configurations/{appId}/logo":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration"}],"post":{"operationId":"createLogoUploadUrl","requestBody":{"$ref":"#/components/requestBodies/CreateLogoPresignedRequest"},"responses":{}},"delete":{"operationId":"deleteLogo","responses":{}}},"/v1/app-configurations/{appId}/versions":{"get":{"operationId":"listVersions","parameters":[{"name":"appId","in":"path","required":true},{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}":{"get":{"operationId":"getVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}},"delete":{"operationId":"deleteVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}},"patch":{"operationId":"patchVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/PatchVersionRequest"},"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}/components":{"post":{"operationId":"createComponent","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/UpsertComponentRequest"},"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}/components/{componentId}":{"patch":{"operationId":"patchComponent","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true},{"name":"componentId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/UpsertComponentRequest"},"responses":{}},"delete":{"operationId":"deleteComponent","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true},{"name":"componentId","in":"path","required":true}],"responses":{}}},"/v1/app-configurations/{appId}/versions/{sourceVersion}/clone-to/{targetVersion}":{"post":{"operationId":"cloneVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"sourceVersion","in":"path","required":true},{"name":"targetVersion","in":"path","required":true}],"responses":{}}},"/v1/app":{"get":{"operationId":"listInstallations","parameters":[{"name":"componentType","in":"query"},{"name":"enabled","in":"query"},{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app/{appId}":{"get":{"operationId":"getInstallation","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}},"post":{"operationId":"install","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/InstallRequest"},"responses":{}},"patch":{"operationId":"patchInstallation","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/InstallRequest"},"responses":{}},"delete":{"operationId":"uninstall","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}}},"/v1/app/{appId}/promote-to/{version}":{"post":{"operationId":"promoteVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}}},"/v1/app-events":{"post":{"operationId":"ingestEvent","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}}},"components":{"requestBodies":{"CreateLogoPresignedRequest":{"required":true,"content":{"application/json":{}}},"CreateBundlePresignedRequest":{"required":true,"content":{"application/json":{}}},"PatchConfigMetadataRequest":{"required":true,"content":{"application/json":{}}},"PatchVersionRequest":{"required":true,"content":{"application/json":{}}},"UpsertComponentRequest":{"required":true,"content":{"application/json":{}}},"CreateConfigRequest":{"required":true,"content":{"application/json":{}}},"InstallRequest":{"content":{"application/json":{}}}}}}')}},r={},t=function t(n){var o=r[n];if(void 0!==o)return o.exports;var p=r[n]={exports:{}};return e[n].call(p.exports,p,p.exports,t),p.exports}(390),n=exports;for(var o in t)n[o]=t[o];t.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})();
1
+ (()=>{"use strict";var e={390:function(e,r,t){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var o=n(t(466));r.default=o.default},466:e=>{e.exports=JSON.parse('{"openapi":"3.1.0","info":{"title":"","version":""},"servers":[{"url":"https://app.sls.epilot.io"}],"paths":{"/v1/public/app/{appId}/components/{componentId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration to install"},{"name":"componentId","in":"path","required":true,"description":"ID of the component to retrieve"}],"get":{"operationId":"getPublicFacingComponent","responses":{}}},"/v1/app-configurations":{"get":{"operationId":"listConfigurations","parameters":[{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}},"post":{"operationId":"createConfiguration","requestBody":{"$ref":"#/components/requestBodies/CreateConfigRequest"},"responses":{}}},"/v1/app-configurations/public/{appId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration to install"}],"get":{"operationId":"getPublicConfiguration","parameters":[{"name":"version","in":"query"}],"responses":{}}},"/v1/app-configurations/{appId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration"}],"get":{"operationId":"getConfiguration","parameters":[{"name":"version","in":"query"}],"responses":{}},"patch":{"operationId":"patchMetadata","requestBody":{"$ref":"#/components/requestBodies/PatchConfigMetadataRequest"},"responses":{}},"delete":{"operationId":"deleteConfiguration","responses":{}}},"/v1/app-configurations/{appId}/events":{"post":{"operationId":"queryEvents","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/app-configurations/{appId}/bundle":{"post":{"operationId":"createBundleUploadUrl","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/CreateBundlePresignedRequest"},"responses":{}}},"/v1/app-configurations/{appId}/zip":{"post":{"operationId":"createZipUploadUrl","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/app-configurations/{appId}/logo":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration"}],"post":{"operationId":"createLogoUploadUrl","requestBody":{"$ref":"#/components/requestBodies/CreateLogoPresignedRequest"},"responses":{}},"delete":{"operationId":"deleteLogo","responses":{}}},"/v1/app-configurations/{appId}/versions":{"get":{"operationId":"listVersions","parameters":[{"name":"appId","in":"path","required":true},{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}":{"get":{"operationId":"getVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}},"delete":{"operationId":"deleteVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}},"patch":{"operationId":"patchVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/PatchVersionRequest"},"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}/review":{"get":{"operationId":"getReview","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}},"post":{"operationId":"createReview","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/CreateReviewRequest"},"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}/components":{"post":{"operationId":"createComponent","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/UpsertComponentRequest"},"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}/components/{componentId}":{"patch":{"operationId":"patchComponent","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true},{"name":"componentId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/UpsertComponentRequest"},"responses":{}},"delete":{"operationId":"deleteComponent","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true},{"name":"componentId","in":"path","required":true}],"responses":{}}},"/v1/app-configurations/{appId}/versions/{sourceVersion}/clone-to/{targetVersion}":{"post":{"operationId":"cloneVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"sourceVersion","in":"path","required":true},{"name":"targetVersion","in":"path","required":true}],"responses":{}}},"/v1/app":{"get":{"operationId":"listInstallations","parameters":[{"name":"componentType","in":"query"},{"name":"enabled","in":"query"},{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app/{appId}":{"get":{"operationId":"getInstallation","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}},"post":{"operationId":"install","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/InstallRequest"},"responses":{}},"patch":{"operationId":"patchInstallation","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/InstallRequest"},"responses":{}},"delete":{"operationId":"uninstall","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}}},"/v1/app/{appId}/promote-to/{version}":{"post":{"operationId":"promoteVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}}},"/v1/app-events":{"post":{"operationId":"ingestEvent","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}}},"components":{"requestBodies":{"CreateReviewRequest":{"required":true,"content":{"application/json":{}}},"CreateLogoPresignedRequest":{"required":true,"content":{"application/json":{}}},"CreateBundlePresignedRequest":{"required":true,"content":{"application/json":{}}},"PatchConfigMetadataRequest":{"required":true,"content":{"application/json":{}}},"PatchVersionRequest":{"required":true,"content":{"application/json":{}}},"UpsertComponentRequest":{"required":true,"content":{"application/json":{}}},"CreateConfigRequest":{"required":true,"content":{"application/json":{}}},"InstallRequest":{"content":{"application/json":{}}}}}}')}},r={},t=function t(n){var o=r[n];if(void 0!==o)return o.exports;var p=r[n]={exports:{}};return e[n].call(p.exports,p,p.exports,t),p.exports}(390),n=exports;for(var o in t)n[o]=t[o];t.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})();
@@ -252,6 +252,43 @@
252
252
  "responses": {}
253
253
  }
254
254
  },
255
+ "/v1/app-configurations/{appId}/versions/{version}/review": {
256
+ "get": {
257
+ "operationId": "getReview",
258
+ "parameters": [
259
+ {
260
+ "name": "appId",
261
+ "in": "path",
262
+ "required": true
263
+ },
264
+ {
265
+ "name": "version",
266
+ "in": "path",
267
+ "required": true
268
+ }
269
+ ],
270
+ "responses": {}
271
+ },
272
+ "post": {
273
+ "operationId": "createReview",
274
+ "parameters": [
275
+ {
276
+ "name": "appId",
277
+ "in": "path",
278
+ "required": true
279
+ },
280
+ {
281
+ "name": "version",
282
+ "in": "path",
283
+ "required": true
284
+ }
285
+ ],
286
+ "requestBody": {
287
+ "$ref": "#/components/requestBodies/CreateReviewRequest"
288
+ },
289
+ "responses": {}
290
+ }
291
+ },
255
292
  "/v1/app-configurations/{appId}/versions/{version}/components": {
256
293
  "post": {
257
294
  "operationId": "createComponent",
@@ -452,6 +489,12 @@
452
489
  },
453
490
  "components": {
454
491
  "requestBodies": {
492
+ "CreateReviewRequest": {
493
+ "required": true,
494
+ "content": {
495
+ "application/json": {}
496
+ }
497
+ },
455
498
  "CreateLogoPresignedRequest": {
456
499
  "required": true,
457
500
  "content": {
package/dist/openapi.d.ts CHANGED
@@ -46,6 +46,20 @@ declare namespace Components {
46
46
  */
47
47
  mime_type: "image/png" | "image/jpeg" | "image/jpg";
48
48
  }
49
+ export interface CreateReviewRequest {
50
+ /**
51
+ * Email of the technical contact
52
+ */
53
+ technical_contact: string;
54
+ /**
55
+ * Email of the marketing contact
56
+ */
57
+ marketing_contact: string;
58
+ /**
59
+ * URL to a demo of the app
60
+ */
61
+ demo_url?: string;
62
+ }
49
63
  export interface InstallRequest {
50
64
  /**
51
65
  * Version of the app to update to
@@ -282,6 +296,10 @@ declare namespace Components {
282
296
  * Description of the custom action
283
297
  */
284
298
  description?: string;
299
+ /**
300
+ * Wait for callback_url to be called before completing the action
301
+ */
302
+ wait_for_callback?: boolean;
285
303
  }
286
304
  export interface BatchEventRequest {
287
305
  events: [
@@ -541,6 +559,10 @@ declare namespace Components {
541
559
  updated_by?: string;
542
560
  };
543
561
  components: BaseComponent[];
562
+ /**
563
+ * Visibility of the app version
564
+ */
565
+ visibility?: "public" | "private";
544
566
  /**
545
567
  * Flag to indicate if the app is public.
546
568
  */
@@ -715,6 +737,10 @@ declare namespace Components {
715
737
  */
716
738
  owner_org_id: string;
717
739
  components: BaseComponent[];
740
+ /**
741
+ * Visibility of the app version
742
+ */
743
+ visibility?: "public" | "private";
718
744
  /**
719
745
  * Flag to indicate if the app is public.
720
746
  */
@@ -926,6 +952,10 @@ declare namespace Components {
926
952
  * Description of the custom action
927
953
  */
928
954
  description?: string;
955
+ /**
956
+ * Wait for callback_url to be called before completing the action
957
+ */
958
+ wait_for_callback?: boolean;
929
959
  type: "external_integration";
930
960
  external_integration_settings?: {
931
961
  /**
@@ -1291,6 +1321,36 @@ declare namespace Components {
1291
1321
  type?: "raw";
1292
1322
  events?: AppEventData[];
1293
1323
  }
1324
+ export interface Review {
1325
+ /**
1326
+ * Version of the app that is under review
1327
+ */
1328
+ version?: string;
1329
+ /**
1330
+ * Status of the review
1331
+ */
1332
+ review_status?: "approved" | "rejected" | "pending";
1333
+ /**
1334
+ * Timestamp of the review
1335
+ */
1336
+ requested_at?: string;
1337
+ /**
1338
+ * User ID of the reviewer
1339
+ */
1340
+ requested_by?: string;
1341
+ /**
1342
+ * Email of the technical contact
1343
+ */
1344
+ technical_contact?: string;
1345
+ /**
1346
+ * Email of the marketing contact
1347
+ */
1348
+ marketing_contact?: string;
1349
+ /**
1350
+ * URL of the demo
1351
+ */
1352
+ demo_url?: string;
1353
+ }
1294
1354
  export interface Role {
1295
1355
  /**
1296
1356
  * Name of the role
@@ -1429,6 +1489,26 @@ declare namespace Paths {
1429
1489
  }
1430
1490
  }
1431
1491
  }
1492
+ namespace CreateReview {
1493
+ namespace Parameters {
1494
+ export type AppId = string;
1495
+ export type Version = string;
1496
+ }
1497
+ export interface PathParameters {
1498
+ appId: Parameters.AppId;
1499
+ version: Parameters.Version;
1500
+ }
1501
+ export type RequestBody = Components.RequestBodies.CreateReviewRequest;
1502
+ namespace Responses {
1503
+ export interface $200 {
1504
+ review?: Components.Schemas.Review;
1505
+ }
1506
+ export interface $400 {
1507
+ }
1508
+ export interface $404 {
1509
+ }
1510
+ }
1511
+ }
1432
1512
  namespace CreateZipUploadUrl {
1433
1513
  namespace Parameters {
1434
1514
  export type AppId = string;
@@ -1579,6 +1659,23 @@ declare namespace Paths {
1579
1659
  }
1580
1660
  }
1581
1661
  }
1662
+ namespace GetReview {
1663
+ namespace Parameters {
1664
+ export type AppId = string;
1665
+ export type Version = string;
1666
+ }
1667
+ export interface PathParameters {
1668
+ appId: Parameters.AppId;
1669
+ version: Parameters.Version;
1670
+ }
1671
+ namespace Responses {
1672
+ export interface $200 {
1673
+ review?: Components.Schemas.Review;
1674
+ }
1675
+ export interface $404 {
1676
+ }
1677
+ }
1678
+ }
1582
1679
  namespace GetVersion {
1583
1680
  namespace Parameters {
1584
1681
  export type AppId = string;
@@ -1997,6 +2094,26 @@ export interface OperationMethods {
1997
2094
  data?: any,
1998
2095
  config?: AxiosRequestConfig
1999
2096
  ): OperationResponse<Paths.DeleteVersion.Responses.$204>
2097
+ /**
2098
+ * getReview - getReview
2099
+ *
2100
+ * Retrieve the review status of a specific app version
2101
+ */
2102
+ 'getReview'(
2103
+ parameters?: Parameters<Paths.GetReview.PathParameters> | null,
2104
+ data?: any,
2105
+ config?: AxiosRequestConfig
2106
+ ): OperationResponse<Paths.GetReview.Responses.$200>
2107
+ /**
2108
+ * createReview - createReview
2109
+ *
2110
+ * Submit an app version for review to make it public
2111
+ */
2112
+ 'createReview'(
2113
+ parameters?: Parameters<Paths.CreateReview.PathParameters> | null,
2114
+ data?: Paths.CreateReview.RequestBody,
2115
+ config?: AxiosRequestConfig
2116
+ ): OperationResponse<Paths.CreateReview.Responses.$200>
2000
2117
  /**
2001
2118
  * createComponent - createComponent
2002
2119
  *
@@ -2291,6 +2408,28 @@ export interface PathsDictionary {
2291
2408
  config?: AxiosRequestConfig
2292
2409
  ): OperationResponse<Paths.PatchVersion.Responses.$204>
2293
2410
  }
2411
+ ['/v1/app-configurations/{appId}/versions/{version}/review']: {
2412
+ /**
2413
+ * getReview - getReview
2414
+ *
2415
+ * Retrieve the review status of a specific app version
2416
+ */
2417
+ 'get'(
2418
+ parameters?: Parameters<Paths.GetReview.PathParameters> | null,
2419
+ data?: any,
2420
+ config?: AxiosRequestConfig
2421
+ ): OperationResponse<Paths.GetReview.Responses.$200>
2422
+ /**
2423
+ * createReview - createReview
2424
+ *
2425
+ * Submit an app version for review to make it public
2426
+ */
2427
+ 'post'(
2428
+ parameters?: Parameters<Paths.CreateReview.PathParameters> | null,
2429
+ data?: Paths.CreateReview.RequestBody,
2430
+ config?: AxiosRequestConfig
2431
+ ): OperationResponse<Paths.CreateReview.Responses.$200>
2432
+ }
2294
2433
  ['/v1/app-configurations/{appId}/versions/{version}/components']: {
2295
2434
  /**
2296
2435
  * createComponent - createComponent
@@ -2463,6 +2602,7 @@ export type PortalExtensionConfig = Components.Schemas.PortalExtensionConfig;
2463
2602
  export type Pricing = Components.Schemas.Pricing;
2464
2603
  export type PublicConfiguration = Components.Schemas.PublicConfiguration;
2465
2604
  export type RawEvents = Components.Schemas.RawEvents;
2605
+ export type Review = Components.Schemas.Review;
2466
2606
  export type Role = Components.Schemas.Role;
2467
2607
  export type S3Reference = Components.Schemas.S3Reference;
2468
2608
  export type TextArg = Components.Schemas.TextArg;
package/dist/openapi.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "info": {
4
4
  "title": "App API",
5
5
  "description": "API for managing app publishing and installed app.",
6
- "version": "1.0.0"
6
+ "version": "1.0.1"
7
7
  },
8
8
  "tags": [
9
9
  {
@@ -790,6 +790,110 @@
790
790
  }
791
791
  }
792
792
  },
793
+ "/v1/app-configurations/{appId}/versions/{version}/review": {
794
+ "get": {
795
+ "summary": "getReview",
796
+ "description": "Retrieve the review status of a specific app version",
797
+ "operationId": "getReview",
798
+ "tags": [
799
+ "App Configuration"
800
+ ],
801
+ "parameters": [
802
+ {
803
+ "name": "appId",
804
+ "in": "path",
805
+ "required": true,
806
+ "schema": {
807
+ "type": "string"
808
+ },
809
+ "description": "ID of the app configuration"
810
+ },
811
+ {
812
+ "name": "version",
813
+ "in": "path",
814
+ "required": true,
815
+ "schema": {
816
+ "type": "string"
817
+ },
818
+ "description": "Version to retrieve the review status for"
819
+ }
820
+ ],
821
+ "responses": {
822
+ "200": {
823
+ "description": "Review status retrieved successfully",
824
+ "content": {
825
+ "application/json": {
826
+ "schema": {
827
+ "type": "object",
828
+ "properties": {
829
+ "review": {
830
+ "$ref": "#/components/schemas/Review"
831
+ }
832
+ }
833
+ }
834
+ }
835
+ }
836
+ },
837
+ "404": {
838
+ "description": "Version not found or no review exists for this version"
839
+ }
840
+ }
841
+ },
842
+ "post": {
843
+ "summary": "createReview",
844
+ "description": "Submit an app version for review to make it public",
845
+ "operationId": "createReview",
846
+ "tags": [
847
+ "App Configuration"
848
+ ],
849
+ "parameters": [
850
+ {
851
+ "name": "appId",
852
+ "in": "path",
853
+ "required": true,
854
+ "schema": {
855
+ "type": "string"
856
+ },
857
+ "description": "ID of the app configuration"
858
+ },
859
+ {
860
+ "name": "version",
861
+ "in": "path",
862
+ "required": true,
863
+ "schema": {
864
+ "type": "string"
865
+ },
866
+ "description": "Version to submit for review"
867
+ }
868
+ ],
869
+ "requestBody": {
870
+ "$ref": "#/components/requestBodies/CreateReviewRequest"
871
+ },
872
+ "responses": {
873
+ "200": {
874
+ "description": "Version submitted for review successfully",
875
+ "content": {
876
+ "application/json": {
877
+ "schema": {
878
+ "type": "object",
879
+ "properties": {
880
+ "review": {
881
+ "$ref": "#/components/schemas/Review"
882
+ }
883
+ }
884
+ }
885
+ }
886
+ }
887
+ },
888
+ "400": {
889
+ "description": "Invalid version format"
890
+ },
891
+ "404": {
892
+ "description": "Version not found"
893
+ }
894
+ }
895
+ }
896
+ },
793
897
  "/v1/app-configurations/{appId}/versions/{version}/components": {
794
898
  "post": {
795
899
  "summary": "createComponent",
@@ -1307,6 +1411,34 @@
1307
1411
  },
1308
1412
  "components": {
1309
1413
  "requestBodies": {
1414
+ "CreateReviewRequest": {
1415
+ "required": true,
1416
+ "content": {
1417
+ "application/json": {
1418
+ "schema": {
1419
+ "type": "object",
1420
+ "required": [
1421
+ "technical_contact",
1422
+ "marketing_contact"
1423
+ ],
1424
+ "properties": {
1425
+ "technical_contact": {
1426
+ "type": "string",
1427
+ "description": "Email of the technical contact"
1428
+ },
1429
+ "marketing_contact": {
1430
+ "type": "string",
1431
+ "description": "Email of the marketing contact"
1432
+ },
1433
+ "demo_url": {
1434
+ "type": "string",
1435
+ "description": "URL to a demo of the app"
1436
+ }
1437
+ }
1438
+ }
1439
+ }
1440
+ }
1441
+ },
1310
1442
  "CreateLogoPresignedRequest": {
1311
1443
  "required": true,
1312
1444
  "content": {
@@ -1897,6 +2029,10 @@
1897
2029
  "description": {
1898
2030
  "type": "string",
1899
2031
  "description": "Description of the custom action"
2032
+ },
2033
+ "wait_for_callback": {
2034
+ "type": "boolean",
2035
+ "description": "Wait for callback_url to be called before completing the action"
1900
2036
  }
1901
2037
  }
1902
2038
  },
@@ -2360,6 +2496,47 @@
2360
2496
  }
2361
2497
  }
2362
2498
  },
2499
+ "Review": {
2500
+ "type": "object",
2501
+ "properties": {
2502
+ "version": {
2503
+ "type": "string",
2504
+ "description": "Version of the app that is under review",
2505
+ "readOnly": true
2506
+ },
2507
+ "review_status": {
2508
+ "type": "string",
2509
+ "enum": [
2510
+ "approved",
2511
+ "rejected",
2512
+ "pending"
2513
+ ],
2514
+ "description": "Status of the review"
2515
+ },
2516
+ "requested_at": {
2517
+ "type": "string",
2518
+ "description": "Timestamp of the review",
2519
+ "readOnly": true
2520
+ },
2521
+ "requested_by": {
2522
+ "type": "string",
2523
+ "description": "User ID of the reviewer",
2524
+ "readOnly": true
2525
+ },
2526
+ "technical_contact": {
2527
+ "type": "string",
2528
+ "description": "Email of the technical contact"
2529
+ },
2530
+ "marketing_contact": {
2531
+ "type": "string",
2532
+ "description": "Email of the marketing contact"
2533
+ },
2534
+ "demo_url": {
2535
+ "type": "string",
2536
+ "description": "URL of the demo"
2537
+ }
2538
+ }
2539
+ },
2363
2540
  "ConfigurationMetadata": {
2364
2541
  "description": "Basic metadata about your app configuration which does not get versioned",
2365
2542
  "type": "object",
@@ -2505,9 +2682,20 @@
2505
2682
  },
2506
2683
  "minItems": 0
2507
2684
  },
2685
+ "visibility": {
2686
+ "type": "string",
2687
+ "enum": [
2688
+ "public",
2689
+ "private"
2690
+ ],
2691
+ "description": "Visibility of the app version",
2692
+ "default": "private",
2693
+ "readOnly": true
2694
+ },
2508
2695
  "public": {
2509
2696
  "type": "boolean",
2510
- "default": true,
2697
+ "default": false,
2698
+ "deprecated": true,
2511
2699
  "description": "Flag to indicate if the app is public.",
2512
2700
  "readOnly": true
2513
2701
  },
@@ -2798,7 +2986,6 @@
2798
2986
  },
2799
2987
  "public": {
2800
2988
  "type": "boolean",
2801
- "default": true,
2802
2989
  "description": "Flag to indicate if the app is public.",
2803
2990
  "readOnly": true
2804
2991
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/app-client",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "description": "JavaScript client library for the epilot App API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,6 +21,19 @@
21
21
  "sdk",
22
22
  "app"
23
23
  ],
24
+ "scripts": {
25
+ "test": "jest",
26
+ "typescript": "tsc",
27
+ "bundle-definition": "webpack",
28
+ "openapi": "node ../../scripts/update-openapi.js ../../../backend/app-api/openapi.yml",
29
+ "typegen": "openapi typegen src/openapi.json --client -b '/* eslint-disable */' > src/openapi.d.ts",
30
+ "build": "tsc && npm run build:patch && npm run bundle-definition",
31
+ "build:patch": "sed -i'' -e '/^__exportStar.*openapi.*$/d' dist/index.js",
32
+ "build:watch": "npm run build && tsc -w",
33
+ "release-alpha": "npm version prerelease --preid alpha",
34
+ "prepublishOnly": "npm run typegen && npm run build",
35
+ "lint": "pnpm exec eslint src"
36
+ },
24
37
  "files": [
25
38
  "*.js",
26
39
  "*.d.ts",
@@ -50,27 +63,15 @@
50
63
  "@types/jest": "^26.0.20",
51
64
  "axios": "^1.11.0",
52
65
  "copy-webpack-plugin": "^7.0.0",
53
- "jest": "^26.6.3",
66
+ "jest": "^29.6.2",
54
67
  "json-loader": "^0.5.7",
55
68
  "openapicmd": "^2.7.0",
56
- "ts-jest": "^26.5.0",
69
+ "ts-jest": "^29.4.1",
57
70
  "ts-loader": "^8.0.14",
58
71
  "ts-node": "^10.9.1",
59
72
  "typescript": "^4.1.3",
60
73
  "webpack": "^5.18.0",
61
74
  "webpack-cli": "^4.4.0"
62
75
  },
63
- "gitHead": "39426e86cfb320fa3227dc03f60ee6a10848e7c7",
64
- "scripts": {
65
- "test": "jest",
66
- "typescript": "tsc",
67
- "bundle-definition": "webpack",
68
- "openapi": "node ../../scripts/update-openapi.js ../../../backend/app-api/openapi.yml",
69
- "typegen": "openapi typegen src/openapi.json --client -b '/* eslint-disable */' > src/openapi.d.ts",
70
- "build": "tsc && npm run build:patch && npm run bundle-definition",
71
- "build:patch": "sed -i'' -e '/^__exportStar.*openapi.*$/d' dist/index.js",
72
- "build:watch": "npm run build && tsc -w",
73
- "release-alpha": "npm version prerelease --preid alpha",
74
- "lint": "pnpm exec eslint src"
75
- }
76
- }
76
+ "gitHead": "39426e86cfb320fa3227dc03f60ee6a10848e7c7"
77
+ }
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2025 epilot GmbH
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.