@epilot/app-client 0.6.1 → 0.6.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={466:e=>{e.exports=JSON.parse('{"openapi":"3.1.0","info":{"title":"","version":""},"servers":[{"url":"https://app.sls.epilot.io"}],"paths":{"/v1/public/.well-known/public-key":{"get":{"operationId":"getPublicKey","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}/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":{}}}}}}')},757: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}},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}(757),n=exports;for(var o in t)n[o]=t[o];t.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})();
1
+ (()=>{"use strict";var e={466:e=>{e.exports=JSON.parse('{"openapi":"3.1.0","info":{"title":"","version":""},"servers":[{"url":"https://app.sls.epilot.io"}],"paths":{"/v1/public/.well-known/public-key":{"get":{"operationId":"getPublicKey","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":{}}}}}}')},757: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}},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}(757),n=exports;for(var o in t)n[o]=t[o];t.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})();
@@ -90,6 +90,25 @@
90
90
  "responses": {}
91
91
  }
92
92
  },
93
+ "/v1/app-configurations/{appId}/events": {
94
+ "post": {
95
+ "operationId": "queryEvents",
96
+ "parameters": [
97
+ {
98
+ "name": "appId",
99
+ "in": "path",
100
+ "required": true
101
+ }
102
+ ],
103
+ "requestBody": {
104
+ "required": true,
105
+ "content": {
106
+ "application/json": {}
107
+ }
108
+ },
109
+ "responses": {}
110
+ }
111
+ },
93
112
  "/v1/app-configurations/{appId}/bundle": {
94
113
  "post": {
95
114
  "operationId": "createBundleUploadUrl",
package/dist/openapi.d.ts CHANGED
@@ -103,6 +103,21 @@ declare namespace Components {
103
103
  */
104
104
  type: "user" | "system";
105
105
  }
106
+ export interface AggregatedEvents {
107
+ type?: "aggregated";
108
+ groups?: {
109
+ /**
110
+ * The grouped dimensions e.g., "source": "CUSTOM_JOURNEY_BLOCK", "event_type": "ERROR"
111
+ */
112
+ dimensions?: {
113
+ [name: string]: any;
114
+ };
115
+ metrics?: {
116
+ count?: number;
117
+ error_rate?: number;
118
+ };
119
+ }[];
120
+ }
106
121
  export interface AppBridgeSurfaceConfig {
107
122
  /**
108
123
  * URL of the uploaded App Bridge App. This is the entrypoint for the app
@@ -795,6 +810,71 @@ declare namespace Components {
795
810
  }[]
796
811
  ];
797
812
  }
813
+ export interface EventsQuery {
814
+ /**
815
+ * Either use preset OR start+end
816
+ */
817
+ time_range?: {
818
+ /**
819
+ * Start time (ISO 8601)
820
+ */
821
+ start?: string; // date-time
822
+ /**
823
+ * End time (ISO 8601)
824
+ */
825
+ end?: string; // date-time
826
+ /**
827
+ * Predefined time range (alternative to start/end)
828
+ */
829
+ preset?: "1h" | "6h" | "24h" | "7d" | "30d";
830
+ };
831
+ filters?: {
832
+ /**
833
+ * Filter by component types
834
+ */
835
+ source?: /* Type of app component */ ComponentType[];
836
+ /**
837
+ * Filter by specific component IDs
838
+ */
839
+ component_id?: string[];
840
+ /**
841
+ * Filter by event types
842
+ */
843
+ event_type?: ("ERROR" | "WARNING" | "INFO")[];
844
+ /**
845
+ * Filter by correlation ID for tracing
846
+ */
847
+ correlation_id?: string;
848
+ };
849
+ aggregation?: {
850
+ /**
851
+ * Group results by specified fields
852
+ */
853
+ group_by?: ("source" | "component_id" | "event_type" | "hour" | "day")[];
854
+ /**
855
+ * Metrics to calculate
856
+ */
857
+ metrics?: ("count" | "error_rate" | "unique_users")[];
858
+ };
859
+ pagination?: {
860
+ page?: number;
861
+ page_size?: number;
862
+ };
863
+ sort?: {
864
+ field?: "timestamp" | "event_type" | "component_id";
865
+ order?: "asc" | "desc";
866
+ };
867
+ }
868
+ export interface EventsQueryResponse {
869
+ query?: EventsQuery;
870
+ results?: RawEvents | AggregatedEvents;
871
+ pagination?: {
872
+ page?: number;
873
+ page_size?: number;
874
+ total_items?: number;
875
+ has_next?: boolean;
876
+ };
877
+ }
798
878
  export interface ExternalIntegrationCustomActionConfig {
799
879
  /**
800
880
  * Name of the custom action
@@ -1163,6 +1243,10 @@ declare namespace Components {
1163
1243
  */
1164
1244
  versions?: /* Configuration data about your app which is versionable */ ConfigurationVersion[];
1165
1245
  }
1246
+ export interface RawEvents {
1247
+ type?: "raw";
1248
+ events?: AppEventData[];
1249
+ }
1166
1250
  export interface Role {
1167
1251
  /**
1168
1252
  * Name of the role
@@ -1637,6 +1721,22 @@ declare namespace Paths {
1637
1721
  }
1638
1722
  }
1639
1723
  }
1724
+ namespace QueryEvents {
1725
+ namespace Parameters {
1726
+ export type AppId = string;
1727
+ }
1728
+ export interface PathParameters {
1729
+ appId: Parameters.AppId;
1730
+ }
1731
+ export type RequestBody = Components.Schemas.EventsQuery;
1732
+ namespace Responses {
1733
+ export type $200 = Components.Schemas.EventsQueryResponse;
1734
+ export interface $400 {
1735
+ }
1736
+ export interface $404 {
1737
+ }
1738
+ }
1739
+ }
1640
1740
  namespace Uninstall {
1641
1741
  namespace Parameters {
1642
1742
  export type AppId = string;
@@ -1749,6 +1849,16 @@ export interface OperationMethods {
1749
1849
  data?: any,
1750
1850
  config?: AxiosRequestConfig
1751
1851
  ): OperationResponse<Paths.DeleteConfiguration.Responses.$204>
1852
+ /**
1853
+ * queryEvents - queryEvents
1854
+ *
1855
+ * Query analytics events for a specific app with flexible filtering
1856
+ */
1857
+ 'queryEvents'(
1858
+ parameters?: Parameters<Paths.QueryEvents.PathParameters> | null,
1859
+ data?: Paths.QueryEvents.RequestBody,
1860
+ config?: AxiosRequestConfig
1861
+ ): OperationResponse<Paths.QueryEvents.Responses.$200>
1752
1862
  /**
1753
1863
  * createBundleUploadUrl - createBundleUploadUrl
1754
1864
  *
@@ -2021,6 +2131,18 @@ export interface PathsDictionary {
2021
2131
  config?: AxiosRequestConfig
2022
2132
  ): OperationResponse<Paths.DeleteConfiguration.Responses.$204>
2023
2133
  }
2134
+ ['/v1/app-configurations/{appId}/events']: {
2135
+ /**
2136
+ * queryEvents - queryEvents
2137
+ *
2138
+ * Query analytics events for a specific app with flexible filtering
2139
+ */
2140
+ 'post'(
2141
+ parameters?: Parameters<Paths.QueryEvents.PathParameters> | null,
2142
+ data?: Paths.QueryEvents.RequestBody,
2143
+ config?: AxiosRequestConfig
2144
+ ): OperationResponse<Paths.QueryEvents.Responses.$200>
2145
+ }
2024
2146
  ['/v1/app-configurations/{appId}/bundle']: {
2025
2147
  /**
2026
2148
  * createBundleUploadUrl - createBundleUploadUrl
@@ -2242,6 +2364,7 @@ export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
2242
2364
 
2243
2365
 
2244
2366
  export type Actor = Components.Schemas.Actor;
2367
+ export type AggregatedEvents = Components.Schemas.AggregatedEvents;
2245
2368
  export type AppBridgeSurfaceConfig = Components.Schemas.AppBridgeSurfaceConfig;
2246
2369
  export type AppEventData = Components.Schemas.AppEventData;
2247
2370
  export type Audit = Components.Schemas.Audit;
@@ -2260,6 +2383,8 @@ export type ConfigurationVersion = Components.Schemas.ConfigurationVersion;
2260
2383
  export type CustomFlowActionComponent = Components.Schemas.CustomFlowActionComponent;
2261
2384
  export type CustomFlowConfig = Components.Schemas.CustomFlowConfig;
2262
2385
  export type EnumArg = Components.Schemas.EnumArg;
2386
+ export type EventsQuery = Components.Schemas.EventsQuery;
2387
+ export type EventsQueryResponse = Components.Schemas.EventsQueryResponse;
2263
2388
  export type ExternalIntegrationCustomActionConfig = Components.Schemas.ExternalIntegrationCustomActionConfig;
2264
2389
  export type Grants = Components.Schemas.Grants;
2265
2390
  export type Installation = Components.Schemas.Installation;
@@ -2277,6 +2402,7 @@ export type PortalExtensionComponent = Components.Schemas.PortalExtensionCompone
2277
2402
  export type PortalExtensionConfig = Components.Schemas.PortalExtensionConfig;
2278
2403
  export type Pricing = Components.Schemas.Pricing;
2279
2404
  export type PublicConfiguration = Components.Schemas.PublicConfiguration;
2405
+ export type RawEvents = Components.Schemas.RawEvents;
2280
2406
  export type Role = Components.Schemas.Role;
2281
2407
  export type S3Reference = Components.Schemas.S3Reference;
2282
2408
  export type TextArg = Components.Schemas.TextArg;
package/dist/openapi.json CHANGED
@@ -295,6 +295,55 @@
295
295
  }
296
296
  }
297
297
  },
298
+ "/v1/app-configurations/{appId}/events": {
299
+ "post": {
300
+ "summary": "queryEvents",
301
+ "description": "Query analytics events for a specific app with flexible filtering",
302
+ "operationId": "queryEvents",
303
+ "tags": [
304
+ "App Analytics"
305
+ ],
306
+ "parameters": [
307
+ {
308
+ "name": "appId",
309
+ "in": "path",
310
+ "required": true,
311
+ "schema": {
312
+ "type": "string"
313
+ },
314
+ "description": "ID of the app configuration"
315
+ }
316
+ ],
317
+ "requestBody": {
318
+ "required": true,
319
+ "content": {
320
+ "application/json": {
321
+ "schema": {
322
+ "$ref": "#/components/schemas/EventsQuery"
323
+ }
324
+ }
325
+ }
326
+ },
327
+ "responses": {
328
+ "200": {
329
+ "description": "Analytics events",
330
+ "content": {
331
+ "application/json": {
332
+ "schema": {
333
+ "$ref": "#/components/schemas/EventsQueryResponse"
334
+ }
335
+ }
336
+ }
337
+ },
338
+ "400": {
339
+ "description": "Invalid query parameters"
340
+ },
341
+ "404": {
342
+ "description": "App configuration not found"
343
+ }
344
+ }
345
+ }
346
+ },
298
347
  "/v1/app-configurations/{appId}/bundle": {
299
348
  "post": {
300
349
  "summary": "createBundleUploadUrl",
@@ -2759,6 +2808,232 @@
2759
2808
  "additionalProperties": true
2760
2809
  }
2761
2810
  }
2811
+ },
2812
+ "EventsQuery": {
2813
+ "type": "object",
2814
+ "properties": {
2815
+ "time_range": {
2816
+ "type": "object",
2817
+ "properties": {
2818
+ "start": {
2819
+ "type": "string",
2820
+ "format": "date-time",
2821
+ "description": "Start time (ISO 8601)"
2822
+ },
2823
+ "end": {
2824
+ "type": "string",
2825
+ "format": "date-time",
2826
+ "description": "End time (ISO 8601)"
2827
+ },
2828
+ "preset": {
2829
+ "type": "string",
2830
+ "enum": [
2831
+ "1h",
2832
+ "6h",
2833
+ "24h",
2834
+ "7d",
2835
+ "30d"
2836
+ ],
2837
+ "description": "Predefined time range (alternative to start/end)"
2838
+ }
2839
+ },
2840
+ "description": "Either use preset OR start+end"
2841
+ },
2842
+ "filters": {
2843
+ "type": "object",
2844
+ "properties": {
2845
+ "source": {
2846
+ "type": "array",
2847
+ "items": {
2848
+ "$ref": "#/components/schemas/ComponentType"
2849
+ },
2850
+ "description": "Filter by component types"
2851
+ },
2852
+ "component_id": {
2853
+ "type": "array",
2854
+ "items": {
2855
+ "type": "string"
2856
+ },
2857
+ "description": "Filter by specific component IDs"
2858
+ },
2859
+ "event_type": {
2860
+ "type": "array",
2861
+ "items": {
2862
+ "type": "string",
2863
+ "enum": [
2864
+ "ERROR",
2865
+ "WARNING",
2866
+ "INFO"
2867
+ ]
2868
+ },
2869
+ "description": "Filter by event types"
2870
+ },
2871
+ "correlation_id": {
2872
+ "type": "string",
2873
+ "description": "Filter by correlation ID for tracing"
2874
+ }
2875
+ }
2876
+ },
2877
+ "aggregation": {
2878
+ "type": "object",
2879
+ "properties": {
2880
+ "group_by": {
2881
+ "type": "array",
2882
+ "items": {
2883
+ "type": "string",
2884
+ "enum": [
2885
+ "source",
2886
+ "component_id",
2887
+ "event_type",
2888
+ "hour",
2889
+ "day"
2890
+ ]
2891
+ },
2892
+ "description": "Group results by specified fields"
2893
+ },
2894
+ "metrics": {
2895
+ "type": "array",
2896
+ "items": {
2897
+ "type": "string",
2898
+ "enum": [
2899
+ "count",
2900
+ "error_rate",
2901
+ "unique_users"
2902
+ ]
2903
+ },
2904
+ "default": [
2905
+ "count"
2906
+ ],
2907
+ "description": "Metrics to calculate"
2908
+ }
2909
+ }
2910
+ },
2911
+ "pagination": {
2912
+ "type": "object",
2913
+ "properties": {
2914
+ "page": {
2915
+ "type": "integer",
2916
+ "minimum": 1,
2917
+ "default": 1
2918
+ },
2919
+ "page_size": {
2920
+ "type": "integer",
2921
+ "minimum": 1,
2922
+ "maximum": 1000,
2923
+ "default": 100
2924
+ }
2925
+ }
2926
+ },
2927
+ "sort": {
2928
+ "type": "object",
2929
+ "properties": {
2930
+ "field": {
2931
+ "type": "string",
2932
+ "enum": [
2933
+ "timestamp",
2934
+ "event_type",
2935
+ "component_id"
2936
+ ],
2937
+ "default": "timestamp"
2938
+ },
2939
+ "order": {
2940
+ "type": "string",
2941
+ "enum": [
2942
+ "asc",
2943
+ "desc"
2944
+ ],
2945
+ "default": "desc"
2946
+ }
2947
+ }
2948
+ }
2949
+ }
2950
+ },
2951
+ "EventsQueryResponse": {
2952
+ "type": "object",
2953
+ "properties": {
2954
+ "query": {
2955
+ "$ref": "#/components/schemas/EventsQuery"
2956
+ },
2957
+ "results": {
2958
+ "oneOf": [
2959
+ {
2960
+ "$ref": "#/components/schemas/RawEvents"
2961
+ },
2962
+ {
2963
+ "$ref": "#/components/schemas/AggregatedEvents"
2964
+ }
2965
+ ]
2966
+ },
2967
+ "pagination": {
2968
+ "type": "object",
2969
+ "properties": {
2970
+ "page": {
2971
+ "type": "integer"
2972
+ },
2973
+ "page_size": {
2974
+ "type": "integer"
2975
+ },
2976
+ "total_items": {
2977
+ "type": "integer"
2978
+ },
2979
+ "has_next": {
2980
+ "type": "boolean"
2981
+ }
2982
+ }
2983
+ }
2984
+ }
2985
+ },
2986
+ "RawEvents": {
2987
+ "type": "object",
2988
+ "properties": {
2989
+ "type": {
2990
+ "type": "string",
2991
+ "enum": [
2992
+ "raw"
2993
+ ]
2994
+ },
2995
+ "events": {
2996
+ "type": "array",
2997
+ "items": {
2998
+ "$ref": "#/components/schemas/AppEventData"
2999
+ }
3000
+ }
3001
+ }
3002
+ },
3003
+ "AggregatedEvents": {
3004
+ "type": "object",
3005
+ "properties": {
3006
+ "type": {
3007
+ "type": "string",
3008
+ "enum": [
3009
+ "aggregated"
3010
+ ]
3011
+ },
3012
+ "groups": {
3013
+ "type": "array",
3014
+ "items": {
3015
+ "type": "object",
3016
+ "properties": {
3017
+ "dimensions": {
3018
+ "type": "object",
3019
+ "description": "The grouped dimensions e.g., \"source\": \"CUSTOM_JOURNEY_BLOCK\", \"event_type\": \"ERROR\"",
3020
+ "additionalProperties": true
3021
+ },
3022
+ "metrics": {
3023
+ "type": "object",
3024
+ "properties": {
3025
+ "count": {
3026
+ "type": "integer"
3027
+ },
3028
+ "error_rate": {
3029
+ "type": "number"
3030
+ }
3031
+ }
3032
+ }
3033
+ }
3034
+ }
3035
+ }
3036
+ }
2762
3037
  }
2763
3038
  }
2764
3039
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/app-client",
3
- "version": "0.6.1",
3
+ "version": "0.6.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",