@epilot/erp-integration-client 0.30.0-rc3 → 0.31.0

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={330(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(466));t.default=o.default},466(e){e.exports=JSON.parse('{"openapi":"3.0.3","info":{"title":"","version":""},"servers":[{"url":"https://erp-integration-api.sls.epilot.io"}],"paths":{"/v1/erp/tracking/acknowledgement":{"post":{"operationId":"acknowledgeTracking","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/erp/trigger":{"post":{"operationId":"triggerErp","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/erp/updates/events":{"post":{"deprecated":true,"operationId":"processErpUpdatesEvents","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/erp/updates/events":{"post":{"deprecated":true,"operationId":"processErpUpdatesEventsV2","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v3/erp/updates/events":{"post":{"operationId":"processErpUpdatesEventsV3","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/erp/updates/mapping_simulation":{"post":{"operationId":"simulateMappingV2","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/erp/updates/mapping_simulation":{"post":{"operationId":"simulateMapping","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations":{"get":{"operationId":"listIntegrations","responses":{}},"post":{"operationId":"createIntegration","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}":{"get":{"operationId":"getIntegration","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}},"put":{"operationId":"updateIntegration","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteIntegration","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/events":{"post":{"operationId":"queryEvents","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/events/replay":{"post":{"operationId":"replayEvents","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/use-cases":{"get":{"operationId":"listUseCases","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}},"post":{"operationId":"createUseCase","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/use-cases/{useCaseId}":{"get":{"operationId":"getUseCase","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"useCaseId","in":"path","required":true}],"responses":{}},"put":{"operationId":"updateUseCase","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"useCaseId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteUseCase","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"useCaseId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/use-cases/{useCaseId}/history":{"get":{"operationId":"listUseCaseHistory","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"useCaseId","in":"path","required":true},{"name":"cursor","in":"query","required":false}],"responses":{}}},"/v2/integrations":{"get":{"operationId":"listIntegrationsV2","responses":{}},"post":{"operationId":"createIntegrationV2","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/integrations/{integrationId}":{"get":{"operationId":"getIntegrationV2","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}},"put":{"operationId":"updateIntegrationV2","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteIntegrationV2","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/app-mapping":{"put":{"operationId":"setIntegrationAppMapping","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteIntegrationAppMapping","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/monitoring/inbound-events":{"post":{"operationId":"queryInboundMonitoringEvents","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/monitoring/stats":{"post":{"operationId":"getMonitoringStats","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/monitoring/timeseries":{"post":{"operationId":"getMonitoringTimeSeries","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/outbound-status":{"get":{"operationId":"getOutboundStatus","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/monitoring/access-logs":{"post":{"operationId":"queryAccessLogs","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/monitoring/outbound-events":{"post":{"operationId":"queryOutboundMonitoringEvents","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/integrations/{integrationId}/monitoring/events":{"post":{"operationId":"queryMonitoringEventsV2","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/integrations/{integrationId}/monitoring/stats":{"post":{"operationId":"getMonitoringStatsV2","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/integrations/{integrationId}/monitoring/time-series":{"post":{"operationId":"getMonitoringTimeSeriesV2","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/integrations/{integrationId}/monitoring/events/{eventId}/associated":{"get":{"operationId":"getAssociatedMonitoringEvents","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"eventId","in":"path","required":true}],"responses":{}}},"/v1/integrations/secure-proxies":{"get":{"operationId":"listSecureProxies","responses":{}}},"/v1/secure-proxy":{"post":{"operationId":"secureProxy","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/managed-call/{slug}/execute":{"post":{"operationId":"managedCallExecute","parameters":[{"name":"slug","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}}},"components":{"responses":{"BadRequest":{"content":{"application/json":{}}},"NotFound":{"content":{"application/json":{}}},"Unauthorized":{"content":{"application/json":{}}},"Forbidden":{"content":{"application/json":{}}},"InternalServerError":{"content":{"application/json":{}}},"QueryInboundMonitoringEventsResponse":{"content":{"application/json":{}}},"GetMonitoringStatsResponse":{"content":{"application/json":{}}},"GetMonitoringTimeSeriesResponse":{"content":{"application/json":{}}},"QueryAccessLogsResponse":{"content":{"application/json":{}}},"QueryOutboundMonitoringEventsResponse":{"content":{"application/json":{}}},"ReplayEventsResponse":{"content":{"application/json":{}}},"ERPUpdatesResponse":{"content":{"application/json":{}}},"TriggerWebhookResponse":{"content":{"application/json":{}}},"QueryEventsResponse":{"content":{"application/json":{}}},"QueryMonitoringEventsV2Response":{"content":{"application/json":{}}},"GetMonitoringStatsV2Response":{"content":{"application/json":{}}},"GetMonitoringTimeSeriesV2Response":{"content":{"application/json":{}}},"GetAssociatedMonitoringEventsResponse":{"content":{"application/json":{}}}}}}')}},t={},n=function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}(330),r=exports;for(var o in n)r[o]=n[o];n.__esModule&&Object.defineProperty(r,"__esModule",{value:!0})})();
1
+ (()=>{"use strict";var e={330(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(466));t.default=o.default},466(e){e.exports=JSON.parse('{"openapi":"3.0.3","info":{"title":"","version":""},"servers":[{"url":"https://erp-integration-api.sls.epilot.io"}],"paths":{"/v1/erp/tracking/acknowledgement":{"post":{"operationId":"acknowledgeTracking","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/erp/trigger":{"post":{"operationId":"triggerErp","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/erp/updates/events":{"post":{"deprecated":true,"operationId":"processErpUpdatesEvents","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/erp/updates/events":{"post":{"deprecated":true,"operationId":"processErpUpdatesEventsV2","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v3/erp/updates/events":{"post":{"operationId":"processErpUpdatesEventsV3","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/erp/updates/mapping_simulation":{"post":{"operationId":"simulateMappingV2","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/erp/updates/mapping_simulation":{"post":{"operationId":"simulateMapping","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations":{"get":{"operationId":"listIntegrations","responses":{}},"post":{"operationId":"createIntegration","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}":{"get":{"operationId":"getIntegration","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}},"put":{"operationId":"updateIntegration","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteIntegration","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/events":{"post":{"operationId":"queryEvents","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/events/replay":{"post":{"operationId":"replayEvents","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/use-cases":{"get":{"operationId":"listUseCases","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}},"post":{"operationId":"createUseCase","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/use-cases/{useCaseId}":{"get":{"operationId":"getUseCase","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"useCaseId","in":"path","required":true}],"responses":{}},"put":{"operationId":"updateUseCase","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"useCaseId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteUseCase","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"useCaseId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/use-cases/{useCaseId}/history":{"get":{"operationId":"listUseCaseHistory","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"useCaseId","in":"path","required":true},{"name":"cursor","in":"query","required":false}],"responses":{}}},"/v2/integrations":{"get":{"operationId":"listIntegrationsV2","responses":{}},"post":{"operationId":"createIntegrationV2","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/integrations/{integrationId}":{"get":{"operationId":"getIntegrationV2","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}},"put":{"operationId":"updateIntegrationV2","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteIntegrationV2","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/app-mapping":{"put":{"operationId":"setIntegrationAppMapping","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteIntegrationAppMapping","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/monitoring/inbound-events":{"post":{"operationId":"queryInboundMonitoringEvents","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/monitoring/stats":{"post":{"operationId":"getMonitoringStats","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/monitoring/timeseries":{"post":{"operationId":"getMonitoringTimeSeries","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/outbound-status":{"get":{"operationId":"getOutboundStatus","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/monitoring/access-logs":{"post":{"operationId":"queryAccessLogs","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/monitoring/outbound-events":{"post":{"operationId":"queryOutboundMonitoringEvents","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/integrations/{integrationId}/monitoring/events":{"post":{"operationId":"queryMonitoringEventsV2","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/integrations/{integrationId}/monitoring/stats":{"post":{"operationId":"getMonitoringStatsV2","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/integrations/{integrationId}/monitoring/time-series":{"post":{"operationId":"getMonitoringTimeSeriesV2","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/integrations/{integrationId}/monitoring/events/{eventId}/associated":{"get":{"operationId":"getAssociatedMonitoringEvents","parameters":[{"name":"integrationId","in":"path","required":true},{"name":"eventId","in":"path","required":true}],"responses":{}}},"/v1/integrations/secure-proxies":{"get":{"operationId":"listSecureProxies","responses":{}}},"/v1/secure-proxy":{"post":{"operationId":"secureProxy","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/managed-call/{slug}/execute":{"post":{"operationId":"managedCallExecute","parameters":[{"name":"slug","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/generate-types-preview":{"post":{"operationId":"generateTypesPreview","parameters":[{"name":"integrationId","in":"path","required":true}],"responses":{}}},"/v1/integrations/{integrationId}/generate-types":{"post":{"operationId":"generateTypes","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/integrations/{integrationId}/commit-types":{"post":{"operationId":"commitTypes","parameters":[{"name":"integrationId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}}},"components":{"responses":{"BadRequest":{"content":{"application/json":{}}},"NotFound":{"content":{"application/json":{}}},"Unauthorized":{"content":{"application/json":{}}},"Forbidden":{"content":{"application/json":{}}},"InternalServerError":{"content":{"application/json":{}}},"QueryInboundMonitoringEventsResponse":{"content":{"application/json":{}}},"GetMonitoringStatsResponse":{"content":{"application/json":{}}},"GetMonitoringTimeSeriesResponse":{"content":{"application/json":{}}},"QueryAccessLogsResponse":{"content":{"application/json":{}}},"QueryOutboundMonitoringEventsResponse":{"content":{"application/json":{}}},"ReplayEventsResponse":{"content":{"application/json":{}}},"ERPUpdatesResponse":{"content":{"application/json":{}}},"TriggerWebhookResponse":{"content":{"application/json":{}}},"QueryEventsResponse":{"content":{"application/json":{}}},"QueryMonitoringEventsV2Response":{"content":{"application/json":{}}},"GetMonitoringStatsV2Response":{"content":{"application/json":{}}},"GetMonitoringTimeSeriesV2Response":{"content":{"application/json":{}}},"GetAssociatedMonitoringEventsResponse":{"content":{"application/json":{}}}}}}')}},t={},n=function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}(330),r=exports;for(var o in n)r[o]=n[o];n.__esModule&&Object.defineProperty(r,"__esModule",{value:!0})})();
@@ -608,6 +608,57 @@
608
608
  },
609
609
  "responses": {}
610
610
  }
611
+ },
612
+ "/v1/integrations/{integrationId}/generate-types-preview": {
613
+ "post": {
614
+ "operationId": "generateTypesPreview",
615
+ "parameters": [
616
+ {
617
+ "name": "integrationId",
618
+ "in": "path",
619
+ "required": true
620
+ }
621
+ ],
622
+ "responses": {}
623
+ }
624
+ },
625
+ "/v1/integrations/{integrationId}/generate-types": {
626
+ "post": {
627
+ "operationId": "generateTypes",
628
+ "parameters": [
629
+ {
630
+ "name": "integrationId",
631
+ "in": "path",
632
+ "required": true
633
+ }
634
+ ],
635
+ "requestBody": {
636
+ "required": true,
637
+ "content": {
638
+ "application/json": {}
639
+ }
640
+ },
641
+ "responses": {}
642
+ }
643
+ },
644
+ "/v1/integrations/{integrationId}/commit-types": {
645
+ "post": {
646
+ "operationId": "commitTypes",
647
+ "parameters": [
648
+ {
649
+ "name": "integrationId",
650
+ "in": "path",
651
+ "required": true
652
+ }
653
+ ],
654
+ "requestBody": {
655
+ "required": true,
656
+ "content": {
657
+ "application/json": {}
658
+ }
659
+ },
660
+ "responses": {}
661
+ }
611
662
  }
612
663
  },
613
664
  "components": {
package/dist/openapi.d.ts CHANGED
@@ -238,6 +238,30 @@ declare namespace Components {
238
238
  */
239
239
  freshnessThresholdMinutes?: number;
240
240
  }
241
+ export interface CommitTypesRequest {
242
+ /**
243
+ * npm package name
244
+ * example:
245
+ * @epilot/hems-cleverpv
246
+ */
247
+ package_name: string;
248
+ /**
249
+ * Package version
250
+ * example:
251
+ * 1.0.0
252
+ */
253
+ version: string;
254
+ /**
255
+ * Type annotations per use case slug
256
+ */
257
+ annotations?: {
258
+ [name: string]: /* Developer-provided type annotations for a use case's request and response fields */ TypeAnnotations;
259
+ };
260
+ }
261
+ export interface CommitTypesResponse {
262
+ committed: boolean;
263
+ warnings?: string[];
264
+ }
241
265
  /**
242
266
  * Shared configuration for connector-type integrations
243
267
  */
@@ -247,6 +271,24 @@ declare namespace Components {
247
271
  */
248
272
  base_url?: string;
249
273
  auth?: /* Authentication configuration for managed call requests */ ManagedCallAuth;
274
+ /**
275
+ * History of generated type package versions
276
+ */
277
+ types_versions?: {
278
+ version: string;
279
+ package_name: string;
280
+ generated_at: string; // date-time
281
+ generated_by: string;
282
+ status: "active" | "deprecated";
283
+ }[];
284
+ /**
285
+ * Latest active types package version
286
+ */
287
+ latest_types_version?: string;
288
+ /**
289
+ * Latest active types package name
290
+ */
291
+ latest_types_package_name?: string;
250
292
  }
251
293
  export interface CreateFileProxyUseCaseRequest {
252
294
  /**
@@ -328,6 +370,10 @@ declare namespace Components {
328
370
  * If true, integration is displayed in read-only mode in the UI to discourage changes
329
371
  */
330
372
  protected?: boolean;
373
+ /**
374
+ * The manifest IDs associated with this integration
375
+ */
376
+ _manifest?: string[];
331
377
  }
332
378
  export interface CreateManagedCallUseCaseRequest {
333
379
  /**
@@ -1149,6 +1195,69 @@ declare namespace Components {
1149
1195
  */
1150
1196
  FileProxyUseCaseConfiguration;
1151
1197
  }
1198
+ export interface GenerateTypesPreviewResponse {
1199
+ integration_name?: string;
1200
+ use_cases: /* Scaffolded type descriptors for a single use case */ UseCaseTypePreview[];
1201
+ /**
1202
+ * Previously generated version, if any
1203
+ */
1204
+ previous_version?: string;
1205
+ /**
1206
+ * Suggested next version based on detected changes
1207
+ */
1208
+ suggested_version?: string;
1209
+ suggested_bump?: "major" | "minor";
1210
+ detected_changes?: {
1211
+ slug: string;
1212
+ field: string;
1213
+ type: "breaking" | "non-breaking";
1214
+ description: string;
1215
+ }[];
1216
+ }
1217
+ export interface GenerateTypesRequest {
1218
+ /**
1219
+ * npm package name
1220
+ * example:
1221
+ * @epilot/hems-cleverpv
1222
+ */
1223
+ package_name: string;
1224
+ /**
1225
+ * Package version
1226
+ * example:
1227
+ * 1.0.0
1228
+ */
1229
+ version: string;
1230
+ description?: string;
1231
+ /**
1232
+ * Domain standard package to extend
1233
+ * example:
1234
+ * @epilot/hems
1235
+ */
1236
+ domain_package?: string;
1237
+ /**
1238
+ * Name of the domain UseCaseMap to extend
1239
+ * example:
1240
+ * HemsUseCaseMap
1241
+ */
1242
+ domain_map_name?: string;
1243
+ /**
1244
+ * Type annotations per use case slug
1245
+ */
1246
+ annotations?: {
1247
+ [name: string]: /* Developer-provided type annotations for a use case's request and response fields */ TypeAnnotations;
1248
+ };
1249
+ }
1250
+ export interface GenerateTypesResponse {
1251
+ package_name: string;
1252
+ version: string;
1253
+ /**
1254
+ * Generated file contents keyed by file path
1255
+ */
1256
+ files: {
1257
+ [name: string]: string;
1258
+ };
1259
+ warnings?: string[];
1260
+ }
1152
1261
  export interface GetMonitoringStatsRequest {
1153
1262
  /**
1154
1263
  * Start date for statistics period (inclusive)
@@ -1458,6 +1567,10 @@ declare namespace Components {
1458
1567
  * If true, integration is displayed in read-only mode in the UI to discourage changes
1459
1568
  */
1460
1569
  protected?: boolean;
1570
+ /**
1571
+ * The manifest IDs associated with this integration
1572
+ */
1573
+ _manifest?: string[];
1461
1574
  }
1462
1575
  export interface IntegrationAppMapping {
1463
1576
  /**
@@ -1525,6 +1638,10 @@ declare namespace Components {
1525
1638
  * If true, integration is displayed in read-only mode in the UI to discourage changes
1526
1639
  */
1527
1640
  protected?: boolean;
1641
+ /**
1642
+ * The manifest IDs associated with this integration
1643
+ */
1644
+ _manifest?: string[];
1528
1645
  }
1529
1646
  export interface IntegrationEntity {
1530
1647
  /**
@@ -1735,6 +1852,10 @@ declare namespace Components {
1735
1852
  * If true, integration is displayed in read-only mode in the UI to discourage changes
1736
1853
  */
1737
1854
  protected?: boolean;
1855
+ /**
1856
+ * The manifest IDs associated with this integration
1857
+ */
1858
+ _manifest?: string[];
1738
1859
  /**
1739
1860
  * All use cases belonging to this integration
1740
1861
  */
@@ -1857,9 +1978,15 @@ declare namespace Components {
1857
1978
  * URL path template with {{variable}} interpolation
1858
1979
  */
1859
1980
  path: string;
1981
+ /**
1982
+ * Custom HTTP headers for the request. Values support {{variable}} interpolation from the request payload and {{env.VAR}} references for environment variables.
1983
+ */
1860
1984
  headers?: {
1861
1985
  [name: string]: string;
1862
1986
  };
1987
+ /**
1988
+ * Query parameters for the request. Values support {{variable}} interpolation from the request payload.
1989
+ */
1863
1990
  query_params?: {
1864
1991
  [name: string]: string;
1865
1992
  };
@@ -1921,6 +2048,11 @@ declare namespace Components {
1921
2048
  */
1922
2049
  updated_at: string; // date-time
1923
2050
  configuration?: /* Configuration for managed_call use cases. Defines a single API operation with JSONata mapping. */ ManagedCallOperationConfig;
2051
+ type_annotations?: /* Developer-provided type annotations for a use case's request and response fields */ TypeAnnotations;
2052
+ /**
2053
+ * Whether types have been generated for this use case
2054
+ */
2055
+ types_locked?: boolean;
1924
2056
  }
1925
2057
  export interface ManagedCallUseCaseHistoryEntry {
1926
2058
  /**
@@ -1968,6 +2100,11 @@ declare namespace Components {
1968
2100
  */
1969
2101
  type: "managed_call";
1970
2102
  configuration?: /* Configuration for managed_call use cases. Defines a single API operation with JSONata mapping. */ ManagedCallOperationConfig;
2103
+ type_annotations?: /* Developer-provided type annotations for a use case's request and response fields */ TypeAnnotations;
2104
+ /**
2105
+ * Whether types have been generated for this use case
2106
+ */
2107
+ types_locked?: boolean;
1971
2108
  }
1972
2109
  export interface MappingSimulationRequest {
1973
2110
  mapping_configuration: IntegrationConfigurationV1 | IntegrationConfigurationV2;
@@ -3353,6 +3490,67 @@ declare namespace Components {
3353
3490
  end_date?: string;
3354
3491
  event_id?: string;
3355
3492
  }
3493
+ /**
3494
+ * Developer-provided type annotations for a use case's request and response fields
3495
+ */
3496
+ export interface TypeAnnotations {
3497
+ /**
3498
+ * Type annotations for request fields, keyed by dot-path (e.g., "vendors[].id" -> "string")
3499
+ */
3500
+ request?: {
3501
+ [name: string]: string;
3502
+ };
3503
+ /**
3504
+ * Type annotations for response fields
3505
+ */
3506
+ response?: {
3507
+ [name: string]: string;
3508
+ };
3509
+ }
3510
+ /**
3511
+ * Describes the inferred type shape of a JSONata expression
3512
+ */
3513
+ export interface TypeDescriptor {
3514
+ kind: "object" | "array" | "string" | "number" | "boolean" | "null" | "unknown" | "union";
3515
+ /**
3516
+ * For kind=object, the properties and their type descriptors
3517
+ */
3518
+ properties?: {
3519
+ [name: string]: /* Describes the inferred type shape of a JSONata expression */ TypeDescriptor;
3520
+ };
3521
+ /**
3522
+ * For kind=array, the type of array items
3523
+ */
3524
+ items?: {
3525
+ kind: "object" | "array" | "string" | "number" | "boolean" | "null" | "unknown" | "union";
3526
+ /**
3527
+ * For kind=object, the properties and their type descriptors
3528
+ */
3529
+ properties?: {
3530
+ [name: string]: /* Describes the inferred type shape of a JSONata expression */ TypeDescriptor;
3531
+ };
3532
+ /**
3533
+ * For kind=array, the type of array items
3534
+ */
3535
+ items?: any;
3536
+ /**
3537
+ * For kind=unknown, the JSONata path that produced this value
3538
+ */
3539
+ source?: string;
3540
+ /**
3541
+ * For kind=union, the variant types
3542
+ */
3543
+ variants?: /* Describes the inferred type shape of a JSONata expression */ TypeDescriptor[];
3544
+ };
3545
+ /**
3546
+ * For kind=unknown, the JSONata path that produced this value
3547
+ */
3548
+ source?: string;
3549
+ /**
3550
+ * For kind=union, the variant types
3551
+ */
3552
+ variants?: /* Describes the inferred type shape of a JSONata expression */ TypeDescriptor[];
3553
+ }
3356
3554
  export interface UpdateFileProxyUseCaseRequest {
3357
3555
  /**
3358
3556
  * Use case name
@@ -3433,6 +3631,7 @@ declare namespace Components {
3433
3631
  */
3434
3632
  type?: "managed_call";
3435
3633
  configuration?: /* Configuration for managed_call use cases. Defines a single API operation with JSONata mapping. */ ManagedCallOperationConfig;
3634
+ type_annotations?: /* Developer-provided type annotations for a use case's request and response fields */ TypeAnnotations;
3436
3635
  }
3437
3636
  export interface UpdateOutboundUseCaseRequest {
3438
3637
  /**
@@ -3543,6 +3742,10 @@ declare namespace Components {
3543
3742
  * If true, integration is displayed in read-only mode in the UI to discourage changes
3544
3743
  */
3545
3744
  protected?: boolean;
3745
+ /**
3746
+ * The manifest IDs associated with this integration
3747
+ */
3748
+ _manifest?: string[];
3546
3749
  /**
3547
3750
  * Full list of use cases (declarative). This replaces ALL existing use cases.
3548
3751
  * - Use cases with an `id` field matching an existing use case will be updated
@@ -3632,6 +3835,16 @@ declare namespace Components {
3632
3835
  */
3633
3836
  history_created_at: string; // date-time
3634
3837
  }
3838
+ /**
3839
+ * Scaffolded type descriptors for a single use case
3840
+ */
3841
+ export interface UseCaseTypePreview {
3842
+ slug: string;
3843
+ name?: string;
3844
+ request_shape: /* Describes the inferred type shape of a JSONata expression */ TypeDescriptor;
3845
+ response_shape: /* Describes the inferred type shape of a JSONata expression */ TypeDescriptor;
3846
+ existing_annotations?: /* Developer-provided type annotations for a use case's request and response fields */ TypeAnnotations;
3847
+ }
3635
3848
  export interface WebhookStatus {
3636
3849
  /**
3637
3850
  * Unique identifier for the webhook
@@ -3670,6 +3883,22 @@ declare namespace Paths {
3670
3883
  }
3671
3884
  }
3672
3885
  }
3886
+ namespace CommitTypes {
3887
+ namespace Parameters {
3888
+ export type IntegrationId = string; // uuid
3889
+ }
3890
+ export interface PathParameters {
3891
+ integrationId: Parameters.IntegrationId /* uuid */;
3892
+ }
3893
+ export type RequestBody = Components.Schemas.CommitTypesRequest;
3894
+ namespace Responses {
3895
+ export type $200 = Components.Schemas.CommitTypesResponse;
3896
+ export type $400 = Components.Responses.BadRequest;
3897
+ export type $403 = Components.Responses.Forbidden;
3898
+ export type $404 = Components.Responses.NotFound;
3899
+ export type $500 = Components.Responses.InternalServerError;
3900
+ }
3901
+ }
3673
3902
  namespace CreateIntegration {
3674
3903
  export type RequestBody = Components.Schemas.CreateIntegrationRequest;
3675
3904
  namespace Responses {
@@ -3782,6 +4011,37 @@ declare namespace Paths {
3782
4011
  export type $500 = Components.Responses.InternalServerError;
3783
4012
  }
3784
4013
  }
4014
+ namespace GenerateTypes {
4015
+ namespace Parameters {
4016
+ export type IntegrationId = string; // uuid
4017
+ }
4018
+ export interface PathParameters {
4019
+ integrationId: Parameters.IntegrationId /* uuid */;
4020
+ }
4021
+ export type RequestBody = Components.Schemas.GenerateTypesRequest;
4022
+ namespace Responses {
4023
+ export type $200 = Components.Schemas.GenerateTypesResponse;
4024
+ export type $400 = Components.Responses.BadRequest;
4025
+ export type $403 = Components.Responses.Forbidden;
4026
+ export type $404 = Components.Responses.NotFound;
4027
+ export type $500 = Components.Responses.InternalServerError;
4028
+ }
4029
+ }
4030
+ namespace GenerateTypesPreview {
4031
+ namespace Parameters {
4032
+ export type IntegrationId = string; // uuid
4033
+ }
4034
+ export interface PathParameters {
4035
+ integrationId: Parameters.IntegrationId /* uuid */;
4036
+ }
4037
+ namespace Responses {
4038
+ export type $200 = Components.Schemas.GenerateTypesPreviewResponse;
4039
+ export type $400 = Components.Responses.BadRequest;
4040
+ export type $403 = Components.Responses.Forbidden;
4041
+ export type $404 = Components.Responses.NotFound;
4042
+ export type $500 = Components.Responses.InternalServerError;
4043
+ }
4044
+ }
3785
4045
  namespace GetAssociatedMonitoringEvents {
3786
4046
  namespace Parameters {
3787
4047
  export type EventId = string;
@@ -4760,6 +5020,39 @@ export interface OperationMethods {
4760
5020
  data?: Paths.ManagedCallExecute.RequestBody,
4761
5021
  config?: AxiosRequestConfig
4762
5022
  ): OperationResponse<Paths.ManagedCallExecute.Responses.$200>
5023
+ /**
5024
+ * generateTypesPreview - Preview scaffolded types for a connector integration
5025
+ *
5026
+ * Analyses the JSONata mappings of all managed-call use cases in the integration and returns scaffolded type descriptors. The frontend uses these to show the type editor modal where developers fill in leaf types.
5027
+ *
5028
+ */
5029
+ 'generateTypesPreview'(
5030
+ parameters?: Parameters<Paths.GenerateTypesPreview.PathParameters> | null,
5031
+ data?: any,
5032
+ config?: AxiosRequestConfig
5033
+ ): OperationResponse<Paths.GenerateTypesPreview.Responses.$200>
5034
+ /**
5035
+ * generateTypes - Generate a TypeScript npm package for a connector integration
5036
+ *
5037
+ * Generates a complete TypeScript npm package with typed interfaces for all managed-call use cases. This is a stateless operation that does not persist any changes. Use the commit-types endpoint to lock configurations after review.
5038
+ *
5039
+ */
5040
+ 'generateTypes'(
5041
+ parameters?: Parameters<Paths.GenerateTypes.PathParameters> | null,
5042
+ data?: Paths.GenerateTypes.RequestBody,
5043
+ config?: AxiosRequestConfig
5044
+ ): OperationResponse<Paths.GenerateTypes.Responses.$200>
5045
+ /**
5046
+ * commitTypes - Commit generated types and lock use case configurations
5047
+ *
5048
+ * Commits the generated types by locking use case configurations and updating version tracking. Should be called after the user reviews and downloads the generated package.
5049
+ *
5050
+ */
5051
+ 'commitTypes'(
5052
+ parameters?: Parameters<Paths.CommitTypes.PathParameters> | null,
5053
+ data?: Paths.CommitTypes.RequestBody,
5054
+ config?: AxiosRequestConfig
5055
+ ): OperationResponse<Paths.CommitTypes.Responses.$200>
4763
5056
  }
4764
5057
 
4765
5058
  export interface PathsDictionary {
@@ -5287,6 +5580,45 @@ export interface PathsDictionary {
5287
5580
  config?: AxiosRequestConfig
5288
5581
  ): OperationResponse<Paths.ManagedCallExecute.Responses.$200>
5289
5582
  }
5583
+ ['/v1/integrations/{integrationId}/generate-types-preview']: {
5584
+ /**
5585
+ * generateTypesPreview - Preview scaffolded types for a connector integration
5586
+ *
5587
+ * Analyses the JSONata mappings of all managed-call use cases in the integration and returns scaffolded type descriptors. The frontend uses these to show the type editor modal where developers fill in leaf types.
5588
+ *
5589
+ */
5590
+ 'post'(
5591
+ parameters?: Parameters<Paths.GenerateTypesPreview.PathParameters> | null,
5592
+ data?: any,
5593
+ config?: AxiosRequestConfig
5594
+ ): OperationResponse<Paths.GenerateTypesPreview.Responses.$200>
5595
+ }
5596
+ ['/v1/integrations/{integrationId}/generate-types']: {
5597
+ /**
5598
+ * generateTypes - Generate a TypeScript npm package for a connector integration
5599
+ *
5600
+ * Generates a complete TypeScript npm package with typed interfaces for all managed-call use cases. This is a stateless operation that does not persist any changes. Use the commit-types endpoint to lock configurations after review.
5601
+ *
5602
+ */
5603
+ 'post'(
5604
+ parameters?: Parameters<Paths.GenerateTypes.PathParameters> | null,
5605
+ data?: Paths.GenerateTypes.RequestBody,
5606
+ config?: AxiosRequestConfig
5607
+ ): OperationResponse<Paths.GenerateTypes.Responses.$200>
5608
+ }
5609
+ ['/v1/integrations/{integrationId}/commit-types']: {
5610
+ /**
5611
+ * commitTypes - Commit generated types and lock use case configurations
5612
+ *
5613
+ * Commits the generated types by locking use case configurations and updating version tracking. Should be called after the user reviews and downloads the generated package.
5614
+ *
5615
+ */
5616
+ 'post'(
5617
+ parameters?: Parameters<Paths.CommitTypes.PathParameters> | null,
5618
+ data?: Paths.CommitTypes.RequestBody,
5619
+ config?: AxiosRequestConfig
5620
+ ): OperationResponse<Paths.CommitTypes.Responses.$200>
5621
+ }
5290
5622
  }
5291
5623
 
5292
5624
  export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
@@ -5294,6 +5626,8 @@ export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
5294
5626
 
5295
5627
  export type AccessLogEntry = Components.Schemas.AccessLogEntry;
5296
5628
  export type AutoRefreshSettings = Components.Schemas.AutoRefreshSettings;
5629
+ export type CommitTypesRequest = Components.Schemas.CommitTypesRequest;
5630
+ export type CommitTypesResponse = Components.Schemas.CommitTypesResponse;
5297
5631
  export type ConnectorConfig = Components.Schemas.ConnectorConfig;
5298
5632
  export type CreateFileProxyUseCaseRequest = Components.Schemas.CreateFileProxyUseCaseRequest;
5299
5633
  export type CreateInboundUseCaseRequest = Components.Schemas.CreateInboundUseCaseRequest;
@@ -5330,6 +5664,9 @@ export type FileProxyUrlParams = Components.Schemas.FileProxyUrlParams;
5330
5664
  export type FileProxyUseCase = Components.Schemas.FileProxyUseCase;
5331
5665
  export type FileProxyUseCaseConfiguration = Components.Schemas.FileProxyUseCaseConfiguration;
5332
5666
  export type FileProxyUseCaseHistoryEntry = Components.Schemas.FileProxyUseCaseHistoryEntry;
5667
+ export type GenerateTypesPreviewResponse = Components.Schemas.GenerateTypesPreviewResponse;
5668
+ export type GenerateTypesRequest = Components.Schemas.GenerateTypesRequest;
5669
+ export type GenerateTypesResponse = Components.Schemas.GenerateTypesResponse;
5333
5670
  export type GetMonitoringStatsRequest = Components.Schemas.GetMonitoringStatsRequest;
5334
5671
  export type GetMonitoringStatsV2Request = Components.Schemas.GetMonitoringStatsV2Request;
5335
5672
  export type GetMonitoringTimeSeriesRequest = Components.Schemas.GetMonitoringTimeSeriesRequest;
@@ -5401,6 +5738,8 @@ export type TimeSeriesBucket = Components.Schemas.TimeSeriesBucket;
5401
5738
  export type TimeSeriesBucketV2 = Components.Schemas.TimeSeriesBucketV2;
5402
5739
  export type TriggerErpActionRequest = Components.Schemas.TriggerErpActionRequest;
5403
5740
  export type TriggerWebhookResp = Components.Schemas.TriggerWebhookResp;
5741
+ export type TypeAnnotations = Components.Schemas.TypeAnnotations;
5742
+ export type TypeDescriptor = Components.Schemas.TypeDescriptor;
5404
5743
  export type UpdateFileProxyUseCaseRequest = Components.Schemas.UpdateFileProxyUseCaseRequest;
5405
5744
  export type UpdateInboundUseCaseRequest = Components.Schemas.UpdateInboundUseCaseRequest;
5406
5745
  export type UpdateIntegrationRequest = Components.Schemas.UpdateIntegrationRequest;
@@ -5414,4 +5753,5 @@ export type UseCase = Components.Schemas.UseCase;
5414
5753
  export type UseCaseBase = Components.Schemas.UseCaseBase;
5415
5754
  export type UseCaseHistoryEntry = Components.Schemas.UseCaseHistoryEntry;
5416
5755
  export type UseCaseHistoryEntryBase = Components.Schemas.UseCaseHistoryEntryBase;
5756
+ export type UseCaseTypePreview = Components.Schemas.UseCaseTypePreview;
5417
5757
  export type WebhookStatus = Components.Schemas.WebhookStatus;
package/dist/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.0.3",
3
3
  "info": {
4
4
  "title": "ERP Integration API",
5
- "version": "0.51.0",
5
+ "version": "0.58.0",
6
6
  "description": "API for integrating with ERP systems, handling tracking acknowledgments, triggering ERP processes, and processing ERP updates."
7
7
  },
8
8
  "tags": [
@@ -2668,6 +2668,176 @@
2668
2668
  }
2669
2669
  }
2670
2670
  }
2671
+ },
2672
+ "/v1/integrations/{integrationId}/generate-types-preview": {
2673
+ "post": {
2674
+ "operationId": "generateTypesPreview",
2675
+ "summary": "Preview scaffolded types for a connector integration",
2676
+ "description": "Analyses the JSONata mappings of all managed-call use cases in the integration and returns scaffolded type descriptors. The frontend uses these to show the type editor modal where developers fill in leaf types.\n",
2677
+ "tags": [
2678
+ "integrations"
2679
+ ],
2680
+ "security": [
2681
+ {
2682
+ "EpilotAuth": []
2683
+ }
2684
+ ],
2685
+ "parameters": [
2686
+ {
2687
+ "name": "integrationId",
2688
+ "in": "path",
2689
+ "required": true,
2690
+ "schema": {
2691
+ "type": "string",
2692
+ "format": "uuid"
2693
+ }
2694
+ }
2695
+ ],
2696
+ "responses": {
2697
+ "200": {
2698
+ "description": "Scaffolded type preview",
2699
+ "content": {
2700
+ "application/json": {
2701
+ "schema": {
2702
+ "$ref": "#/components/schemas/GenerateTypesPreviewResponse"
2703
+ }
2704
+ }
2705
+ }
2706
+ },
2707
+ "400": {
2708
+ "$ref": "#/components/responses/BadRequest"
2709
+ },
2710
+ "403": {
2711
+ "$ref": "#/components/responses/Forbidden"
2712
+ },
2713
+ "404": {
2714
+ "$ref": "#/components/responses/NotFound"
2715
+ },
2716
+ "500": {
2717
+ "$ref": "#/components/responses/InternalServerError"
2718
+ }
2719
+ }
2720
+ }
2721
+ },
2722
+ "/v1/integrations/{integrationId}/generate-types": {
2723
+ "post": {
2724
+ "operationId": "generateTypes",
2725
+ "summary": "Generate a TypeScript npm package for a connector integration",
2726
+ "description": "Generates a complete TypeScript npm package with typed interfaces for all managed-call use cases. This is a stateless operation that does not persist any changes. Use the commit-types endpoint to lock configurations after review.\n",
2727
+ "tags": [
2728
+ "integrations"
2729
+ ],
2730
+ "security": [
2731
+ {
2732
+ "EpilotAuth": []
2733
+ }
2734
+ ],
2735
+ "parameters": [
2736
+ {
2737
+ "name": "integrationId",
2738
+ "in": "path",
2739
+ "required": true,
2740
+ "schema": {
2741
+ "type": "string",
2742
+ "format": "uuid"
2743
+ }
2744
+ }
2745
+ ],
2746
+ "requestBody": {
2747
+ "required": true,
2748
+ "content": {
2749
+ "application/json": {
2750
+ "schema": {
2751
+ "$ref": "#/components/schemas/GenerateTypesRequest"
2752
+ }
2753
+ }
2754
+ }
2755
+ },
2756
+ "responses": {
2757
+ "200": {
2758
+ "description": "Generated package",
2759
+ "content": {
2760
+ "application/json": {
2761
+ "schema": {
2762
+ "$ref": "#/components/schemas/GenerateTypesResponse"
2763
+ }
2764
+ }
2765
+ }
2766
+ },
2767
+ "400": {
2768
+ "$ref": "#/components/responses/BadRequest"
2769
+ },
2770
+ "403": {
2771
+ "$ref": "#/components/responses/Forbidden"
2772
+ },
2773
+ "404": {
2774
+ "$ref": "#/components/responses/NotFound"
2775
+ },
2776
+ "500": {
2777
+ "$ref": "#/components/responses/InternalServerError"
2778
+ }
2779
+ }
2780
+ }
2781
+ },
2782
+ "/v1/integrations/{integrationId}/commit-types": {
2783
+ "post": {
2784
+ "operationId": "commitTypes",
2785
+ "summary": "Commit generated types and lock use case configurations",
2786
+ "description": "Commits the generated types by locking use case configurations and updating version tracking. Should be called after the user reviews and downloads the generated package.\n",
2787
+ "tags": [
2788
+ "integrations"
2789
+ ],
2790
+ "security": [
2791
+ {
2792
+ "EpilotAuth": []
2793
+ }
2794
+ ],
2795
+ "parameters": [
2796
+ {
2797
+ "name": "integrationId",
2798
+ "in": "path",
2799
+ "required": true,
2800
+ "schema": {
2801
+ "type": "string",
2802
+ "format": "uuid"
2803
+ }
2804
+ }
2805
+ ],
2806
+ "requestBody": {
2807
+ "required": true,
2808
+ "content": {
2809
+ "application/json": {
2810
+ "schema": {
2811
+ "$ref": "#/components/schemas/CommitTypesRequest"
2812
+ }
2813
+ }
2814
+ }
2815
+ },
2816
+ "responses": {
2817
+ "200": {
2818
+ "description": "Types committed successfully",
2819
+ "content": {
2820
+ "application/json": {
2821
+ "schema": {
2822
+ "$ref": "#/components/schemas/CommitTypesResponse"
2823
+ }
2824
+ }
2825
+ }
2826
+ },
2827
+ "400": {
2828
+ "$ref": "#/components/responses/BadRequest"
2829
+ },
2830
+ "403": {
2831
+ "$ref": "#/components/responses/Forbidden"
2832
+ },
2833
+ "404": {
2834
+ "$ref": "#/components/responses/NotFound"
2835
+ },
2836
+ "500": {
2837
+ "$ref": "#/components/responses/InternalServerError"
2838
+ }
2839
+ }
2840
+ }
2671
2841
  }
2672
2842
  },
2673
2843
  "components": {
@@ -3026,6 +3196,13 @@
3026
3196
  "protected": {
3027
3197
  "type": "boolean",
3028
3198
  "description": "If true, integration is displayed in read-only mode in the UI to discourage changes"
3199
+ },
3200
+ "_manifest": {
3201
+ "type": "array",
3202
+ "description": "The manifest IDs associated with this integration",
3203
+ "items": {
3204
+ "type": "string"
3205
+ }
3029
3206
  }
3030
3207
  }
3031
3208
  },
@@ -3039,6 +3216,50 @@
3039
3216
  },
3040
3217
  "auth": {
3041
3218
  "$ref": "#/components/schemas/ManagedCallAuth"
3219
+ },
3220
+ "types_versions": {
3221
+ "type": "array",
3222
+ "description": "History of generated type package versions",
3223
+ "items": {
3224
+ "type": "object",
3225
+ "required": [
3226
+ "version",
3227
+ "package_name",
3228
+ "generated_at",
3229
+ "generated_by",
3230
+ "status"
3231
+ ],
3232
+ "properties": {
3233
+ "version": {
3234
+ "type": "string"
3235
+ },
3236
+ "package_name": {
3237
+ "type": "string"
3238
+ },
3239
+ "generated_at": {
3240
+ "type": "string",
3241
+ "format": "date-time"
3242
+ },
3243
+ "generated_by": {
3244
+ "type": "string"
3245
+ },
3246
+ "status": {
3247
+ "type": "string",
3248
+ "enum": [
3249
+ "active",
3250
+ "deprecated"
3251
+ ]
3252
+ }
3253
+ }
3254
+ }
3255
+ },
3256
+ "latest_types_version": {
3257
+ "type": "string",
3258
+ "description": "Latest active types package version"
3259
+ },
3260
+ "latest_types_package_name": {
3261
+ "type": "string",
3262
+ "description": "Latest active types package name"
3042
3263
  }
3043
3264
  }
3044
3265
  },
@@ -4032,6 +4253,13 @@
4032
4253
  },
4033
4254
  "configuration": {
4034
4255
  "$ref": "#/components/schemas/ManagedCallOperationConfig"
4256
+ },
4257
+ "type_annotations": {
4258
+ "$ref": "#/components/schemas/TypeAnnotations"
4259
+ },
4260
+ "types_locked": {
4261
+ "type": "boolean",
4262
+ "description": "Whether types have been generated for this use case"
4035
4263
  }
4036
4264
  }
4037
4265
  }
@@ -4411,6 +4639,9 @@
4411
4639
  },
4412
4640
  "configuration": {
4413
4641
  "$ref": "#/components/schemas/ManagedCallOperationConfig"
4642
+ },
4643
+ "type_annotations": {
4644
+ "$ref": "#/components/schemas/TypeAnnotations"
4414
4645
  }
4415
4646
  }
4416
4647
  }
@@ -4624,6 +4855,13 @@
4624
4855
  },
4625
4856
  "configuration": {
4626
4857
  "$ref": "#/components/schemas/ManagedCallOperationConfig"
4858
+ },
4859
+ "type_annotations": {
4860
+ "$ref": "#/components/schemas/TypeAnnotations"
4861
+ },
4862
+ "types_locked": {
4863
+ "type": "boolean",
4864
+ "description": "Whether types have been generated for this use case"
4627
4865
  }
4628
4866
  }
4629
4867
  }
@@ -4866,12 +5104,14 @@
4866
5104
  },
4867
5105
  "headers": {
4868
5106
  "type": "object",
5107
+ "description": "Custom HTTP headers for the request. Values support {{variable}} interpolation from the request payload and {{env.VAR}} references for environment variables.",
4869
5108
  "additionalProperties": {
4870
5109
  "type": "string"
4871
5110
  }
4872
5111
  },
4873
5112
  "query_params": {
4874
5113
  "type": "object",
5114
+ "description": "Query parameters for the request. Values support {{variable}} interpolation from the request payload.",
4875
5115
  "additionalProperties": {
4876
5116
  "type": "string"
4877
5117
  }
@@ -4934,6 +5174,273 @@
4934
5174
  }
4935
5175
  }
4936
5176
  },
5177
+ "TypeAnnotations": {
5178
+ "type": "object",
5179
+ "description": "Developer-provided type annotations for a use case's request and response fields",
5180
+ "properties": {
5181
+ "request": {
5182
+ "type": "object",
5183
+ "description": "Type annotations for request fields, keyed by dot-path (e.g., \"vendors[].id\" -> \"string\")",
5184
+ "additionalProperties": {
5185
+ "type": "string"
5186
+ }
5187
+ },
5188
+ "response": {
5189
+ "type": "object",
5190
+ "description": "Type annotations for response fields",
5191
+ "additionalProperties": {
5192
+ "type": "string"
5193
+ }
5194
+ }
5195
+ }
5196
+ },
5197
+ "TypeDescriptor": {
5198
+ "type": "object",
5199
+ "description": "Describes the inferred type shape of a JSONata expression",
5200
+ "required": [
5201
+ "kind"
5202
+ ],
5203
+ "properties": {
5204
+ "kind": {
5205
+ "type": "string",
5206
+ "enum": [
5207
+ "object",
5208
+ "array",
5209
+ "string",
5210
+ "number",
5211
+ "boolean",
5212
+ "null",
5213
+ "unknown",
5214
+ "union"
5215
+ ]
5216
+ },
5217
+ "properties": {
5218
+ "type": "object",
5219
+ "description": "For kind=object, the properties and their type descriptors",
5220
+ "additionalProperties": {
5221
+ "$ref": "#/components/schemas/TypeDescriptor"
5222
+ }
5223
+ },
5224
+ "items": {
5225
+ "description": "For kind=array, the type of array items",
5226
+ "allOf": [
5227
+ {
5228
+ "$ref": "#/components/schemas/TypeDescriptor"
5229
+ }
5230
+ ]
5231
+ },
5232
+ "source": {
5233
+ "type": "string",
5234
+ "description": "For kind=unknown, the JSONata path that produced this value"
5235
+ },
5236
+ "variants": {
5237
+ "type": "array",
5238
+ "description": "For kind=union, the variant types",
5239
+ "items": {
5240
+ "$ref": "#/components/schemas/TypeDescriptor"
5241
+ }
5242
+ }
5243
+ }
5244
+ },
5245
+ "UseCaseTypePreview": {
5246
+ "type": "object",
5247
+ "description": "Scaffolded type descriptors for a single use case",
5248
+ "required": [
5249
+ "slug",
5250
+ "request_shape",
5251
+ "response_shape"
5252
+ ],
5253
+ "properties": {
5254
+ "slug": {
5255
+ "type": "string"
5256
+ },
5257
+ "name": {
5258
+ "type": "string"
5259
+ },
5260
+ "request_shape": {
5261
+ "$ref": "#/components/schemas/TypeDescriptor"
5262
+ },
5263
+ "response_shape": {
5264
+ "$ref": "#/components/schemas/TypeDescriptor"
5265
+ },
5266
+ "existing_annotations": {
5267
+ "$ref": "#/components/schemas/TypeAnnotations"
5268
+ }
5269
+ }
5270
+ },
5271
+ "GenerateTypesPreviewResponse": {
5272
+ "type": "object",
5273
+ "required": [
5274
+ "use_cases"
5275
+ ],
5276
+ "properties": {
5277
+ "integration_name": {
5278
+ "type": "string"
5279
+ },
5280
+ "use_cases": {
5281
+ "type": "array",
5282
+ "items": {
5283
+ "$ref": "#/components/schemas/UseCaseTypePreview"
5284
+ }
5285
+ },
5286
+ "previous_version": {
5287
+ "type": "string",
5288
+ "description": "Previously generated version, if any"
5289
+ },
5290
+ "suggested_version": {
5291
+ "type": "string",
5292
+ "description": "Suggested next version based on detected changes"
5293
+ },
5294
+ "suggested_bump": {
5295
+ "type": "string",
5296
+ "enum": [
5297
+ "major",
5298
+ "minor"
5299
+ ]
5300
+ },
5301
+ "detected_changes": {
5302
+ "type": "array",
5303
+ "items": {
5304
+ "type": "object",
5305
+ "required": [
5306
+ "slug",
5307
+ "field",
5308
+ "type",
5309
+ "description"
5310
+ ],
5311
+ "properties": {
5312
+ "slug": {
5313
+ "type": "string"
5314
+ },
5315
+ "field": {
5316
+ "type": "string"
5317
+ },
5318
+ "type": {
5319
+ "type": "string",
5320
+ "enum": [
5321
+ "breaking",
5322
+ "non-breaking"
5323
+ ]
5324
+ },
5325
+ "description": {
5326
+ "type": "string"
5327
+ }
5328
+ }
5329
+ }
5330
+ }
5331
+ }
5332
+ },
5333
+ "GenerateTypesRequest": {
5334
+ "type": "object",
5335
+ "required": [
5336
+ "package_name",
5337
+ "version"
5338
+ ],
5339
+ "properties": {
5340
+ "package_name": {
5341
+ "type": "string",
5342
+ "description": "npm package name",
5343
+ "example": "@epilot/hems-cleverpv"
5344
+ },
5345
+ "version": {
5346
+ "type": "string",
5347
+ "description": "Package version",
5348
+ "example": "1.0.0"
5349
+ },
5350
+ "description": {
5351
+ "type": "string"
5352
+ },
5353
+ "domain_package": {
5354
+ "type": "string",
5355
+ "description": "Domain standard package to extend",
5356
+ "example": "@epilot/hems"
5357
+ },
5358
+ "domain_map_name": {
5359
+ "type": "string",
5360
+ "description": "Name of the domain UseCaseMap to extend",
5361
+ "example": "HemsUseCaseMap"
5362
+ },
5363
+ "annotations": {
5364
+ "type": "object",
5365
+ "description": "Type annotations per use case slug",
5366
+ "additionalProperties": {
5367
+ "$ref": "#/components/schemas/TypeAnnotations"
5368
+ }
5369
+ }
5370
+ }
5371
+ },
5372
+ "GenerateTypesResponse": {
5373
+ "type": "object",
5374
+ "required": [
5375
+ "package_name",
5376
+ "version",
5377
+ "files"
5378
+ ],
5379
+ "properties": {
5380
+ "package_name": {
5381
+ "type": "string"
5382
+ },
5383
+ "version": {
5384
+ "type": "string"
5385
+ },
5386
+ "files": {
5387
+ "type": "object",
5388
+ "description": "Generated file contents keyed by file path",
5389
+ "additionalProperties": {
5390
+ "type": "string"
5391
+ }
5392
+ },
5393
+ "warnings": {
5394
+ "type": "array",
5395
+ "items": {
5396
+ "type": "string"
5397
+ }
5398
+ }
5399
+ }
5400
+ },
5401
+ "CommitTypesRequest": {
5402
+ "type": "object",
5403
+ "required": [
5404
+ "package_name",
5405
+ "version"
5406
+ ],
5407
+ "properties": {
5408
+ "package_name": {
5409
+ "type": "string",
5410
+ "description": "npm package name",
5411
+ "example": "@epilot/hems-cleverpv"
5412
+ },
5413
+ "version": {
5414
+ "type": "string",
5415
+ "description": "Package version",
5416
+ "example": "1.0.0"
5417
+ },
5418
+ "annotations": {
5419
+ "type": "object",
5420
+ "description": "Type annotations per use case slug",
5421
+ "additionalProperties": {
5422
+ "$ref": "#/components/schemas/TypeAnnotations"
5423
+ }
5424
+ }
5425
+ }
5426
+ },
5427
+ "CommitTypesResponse": {
5428
+ "type": "object",
5429
+ "required": [
5430
+ "committed"
5431
+ ],
5432
+ "properties": {
5433
+ "committed": {
5434
+ "type": "boolean"
5435
+ },
5436
+ "warnings": {
5437
+ "type": "array",
5438
+ "items": {
5439
+ "type": "string"
5440
+ }
5441
+ }
5442
+ }
5443
+ },
4937
5444
  "FileProxyUseCaseConfiguration": {
4938
5445
  "type": "object",
4939
5446
  "required": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/erp-integration-client",
3
- "version": "0.30.0-rc3",
3
+ "version": "0.31.0",
4
4
  "description": "Client library for ePilot ERP Integration API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,7 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(pnpm install:*)"
5
- ]
6
- }
7
- }