@epilot/app-client 0.10.4 → 0.10.5

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.
package/dist/openapi.d.ts CHANGED
@@ -247,7 +247,7 @@ declare namespace Components {
247
247
  surfaces?: {
248
248
  [key: string]: any;
249
249
  };
250
- } & (JourneyBlockComponent | PortalExtensionComponent | CustomFlowActionComponent | ErpInformToolkitComponent | CustomCapabilityComponent | ExternalProductCatalogComponent);
250
+ } & (JourneyBlockComponent | PortalBlockComponent | PortalExtensionComponent | CustomFlowActionComponent | ErpInformToolkitComponent | CustomCapabilityComponent | ExternalProductCatalogComponent);
251
251
  export interface BaseComponentCommon {
252
252
  /**
253
253
  * Unique identifier for the component
@@ -451,7 +451,7 @@ declare namespace Components {
451
451
  /**
452
452
  * Type of app component
453
453
  */
454
- export type ComponentType = "CUSTOM_JOURNEY_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG";
454
+ export type ComponentType = "CUSTOM_JOURNEY_BLOCK" | "CUSTOM_PORTAL_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG";
455
455
  /**
456
456
  * Configuration of the published app
457
457
  */
@@ -992,7 +992,7 @@ declare namespace Components {
992
992
  * JSON body to use for authentication. Supports variable interpolation. Content format is determined by Content-Type header.
993
993
  */
994
994
  body?: {
995
- [name: string]: string;
995
+ [name: string]: any;
996
996
  };
997
997
  }
998
998
  export interface ExternalProductCatalogComponent {
@@ -1047,7 +1047,7 @@ declare namespace Components {
1047
1047
  * JSON body to use for the call. Supports variable interpolation. If empty / not provided, the default request context will be used based on the consumer (e.g. Journey).
1048
1048
  */
1049
1049
  body?: {
1050
- [name: string]: string;
1050
+ [name: string]: any;
1051
1051
  };
1052
1052
  };
1053
1053
  }
@@ -1088,7 +1088,7 @@ declare namespace Components {
1088
1088
  * JSON body to use for the call. Supports variable interpolation. If empty / not provided, the default request context will be used based on the consumer (e.g. Journey).
1089
1089
  */
1090
1090
  body?: {
1091
- [name: string]: string;
1091
+ [name: string]: any;
1092
1092
  };
1093
1093
  };
1094
1094
  }
@@ -1307,6 +1307,33 @@ declare namespace Components {
1307
1307
  */
1308
1308
  override_url?: string;
1309
1309
  }
1310
+ export interface PortalBlockComponent {
1311
+ component_type: "CUSTOM_PORTAL_BLOCK";
1312
+ configuration: PortalBlockConfig;
1313
+ surfaces?: {
1314
+ portal_block?: PortalBlockSurfaceConfig;
1315
+ };
1316
+ }
1317
+ export interface PortalBlockConfig {
1318
+ }
1319
+ export interface PortalBlockSurfaceConfig {
1320
+ /**
1321
+ * URL of the uploaded App Bridge App. This is the entrypoint for the app
1322
+ */
1323
+ app_url?: string;
1324
+ /**
1325
+ * URL of the uploaded zip file containing the app
1326
+ */
1327
+ zip_url?: string;
1328
+ /**
1329
+ * URL of the app in dev mode
1330
+ */
1331
+ override_url?: string;
1332
+ /**
1333
+ * Define which section of the portal this block can be placed in
1334
+ */
1335
+ section?: "main" | "footer";
1336
+ }
1310
1337
  export interface PortalExtensionAuthBlock {
1311
1338
  /**
1312
1339
  * HTTP method to use for authentication
@@ -1332,7 +1359,7 @@ declare namespace Components {
1332
1359
  * JSON body to use for authentication. Supports variable interpolation. Content format is determined by Content-Type header.
1333
1360
  */
1334
1361
  body?: {
1335
- [name: string]: string;
1362
+ [name: string]: any;
1336
1363
  };
1337
1364
  cache?: {
1338
1365
  /**
@@ -1470,7 +1497,7 @@ declare namespace Components {
1470
1497
  * Request body to send. Supports variable interpolation. Content format is determined by Content-Type header.
1471
1498
  */
1472
1499
  body?: {
1473
- [name: string]: string;
1500
+ [name: string]: any;
1474
1501
  };
1475
1502
  };
1476
1503
  resolved?: {
@@ -1534,7 +1561,7 @@ declare namespace Components {
1534
1561
  [key: string]: any;
1535
1562
  };
1536
1563
  /**
1537
- * Contract or Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. Supports variable interpolation.
1564
+ * Contract or Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. If no result is passed and the request suceeds, we attempt to resolve the Contact ID automatically. Supports variable interpolation.
1538
1565
  */
1539
1566
  result?: string;
1540
1567
  };
@@ -1607,7 +1634,7 @@ declare namespace Components {
1607
1634
  * Request body to send. Supports variable interpolation. Content format is determined by Content-Type header.
1608
1635
  */
1609
1636
  body?: {
1610
- [name: string]: string;
1637
+ [name: string]: any;
1611
1638
  };
1612
1639
  };
1613
1640
  resolved?: {
@@ -1637,6 +1664,13 @@ declare namespace Components {
1637
1664
  id: string; // ^[a-zA-Z0-9_-]+$
1638
1665
  name?: TranslatedString;
1639
1666
  type: "meterReadingPlausibilityCheck";
1667
+ /**
1668
+ * Mode for plausibility check:
1669
+ * - "check": Validates meter reading and returns valid: boolean (used during submission)
1670
+ * - "range": Returns min/max allowed values for each counter for validation before submission
1671
+ *
1672
+ */
1673
+ plausibility_mode?: "check" | "range";
1640
1674
  auth?: PortalExtensionAuthBlock;
1641
1675
  call: {
1642
1676
  /**
@@ -1647,7 +1681,7 @@ declare namespace Components {
1647
1681
  * JSON body to use for the call. Supports variable interpolation.
1648
1682
  */
1649
1683
  body: {
1650
- [name: string]: string;
1684
+ [name: string]: any;
1651
1685
  };
1652
1686
  /**
1653
1687
  * Headers to use. Supports variable interpolation.
@@ -1661,7 +1695,30 @@ declare namespace Components {
1661
1695
  */
1662
1696
  resolved: {
1663
1697
  /**
1664
- * Indicate whether the meter reading is plausible
1698
+ * Optional path to an array in the response. If specified and the path points to an array,
1699
+ * the hook will map over each item using 'Item' variable for interpolation.
1700
+ * Relevant only if plausibility_mode is "range".
1701
+ *
1702
+ * example:
1703
+ * data.results
1704
+ */
1705
+ dataPath?: string;
1706
+ /**
1707
+ * Counter identifier(s) used to match against the meter's counters.
1708
+ * Can be a string (counter ID) or an object with counter properties.
1709
+ * The backend resolves this to meter_counter_id in the final response.
1710
+ * Relevant only if plausibility_mode is "range".
1711
+ *
1712
+ * example:
1713
+ * {
1714
+ * "obis_code": "{{Item.obis}}"
1715
+ * }
1716
+ */
1717
+ counter_identifiers?: {
1718
+ [name: string]: string;
1719
+ };
1720
+ /**
1721
+ * Indicate whether the meter reading is plausible. Relevant only if plausibility_mode is "check".
1665
1722
  * example:
1666
1723
  * {{CallResponse.data.valid}}
1667
1724
  */
@@ -1726,7 +1783,7 @@ declare namespace Components {
1726
1783
  * Request body to send. Supports variable interpolation. Content format is determined by Content-Type header.
1727
1784
  */
1728
1785
  body?: {
1729
- [name: string]: string;
1786
+ [name: string]: any;
1730
1787
  };
1731
1788
  };
1732
1789
  resolved?: {
@@ -1782,7 +1839,7 @@ declare namespace Components {
1782
1839
  [key: string]: any;
1783
1840
  };
1784
1841
  /**
1785
- * Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. Supports variable interpolation.
1842
+ * Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. If no result is passed and the request suceeds, we attempt to resolve the Contact ID automatically. Supports variable interpolation.
1786
1843
  */
1787
1844
  result: string;
1788
1845
  };
@@ -3214,6 +3271,9 @@ export type Option = Components.Schemas.Option;
3214
3271
  export type Options = Components.Schemas.Options;
3215
3272
  export type OptionsRef = Components.Schemas.OptionsRef;
3216
3273
  export type OverrideDevMode = Components.Schemas.OverrideDevMode;
3274
+ export type PortalBlockComponent = Components.Schemas.PortalBlockComponent;
3275
+ export type PortalBlockConfig = Components.Schemas.PortalBlockConfig;
3276
+ export type PortalBlockSurfaceConfig = Components.Schemas.PortalBlockSurfaceConfig;
3217
3277
  export type PortalExtensionAuthBlock = Components.Schemas.PortalExtensionAuthBlock;
3218
3278
  export type PortalExtensionComponent = Components.Schemas.PortalExtensionComponent;
3219
3279
  export type PortalExtensionConfig = Components.Schemas.PortalExtensionConfig;
package/dist/openapi.json CHANGED
@@ -1762,6 +1762,7 @@
1762
1762
  "type": "string",
1763
1763
  "enum": [
1764
1764
  "CUSTOM_JOURNEY_BLOCK",
1765
+ "CUSTOM_PORTAL_BLOCK",
1765
1766
  "PORTAL_EXTENSION",
1766
1767
  "CUSTOM_FLOW_ACTION",
1767
1768
  "ERP_INFORM_TOOLKIT",
@@ -1872,6 +1873,7 @@
1872
1873
  "propertyName": "component_type",
1873
1874
  "mapping": {
1874
1875
  "CUSTOM_JOURNEY_BLOCK": "#/components/schemas/JourneyBlockComponent",
1876
+ "CUSTOM_PORTAL_BLOCK": "#/components/schemas/PortalBlockComponent",
1875
1877
  "PORTAL_EXTENSION": "#/components/schemas/PortalExtensionComponent",
1876
1878
  "CUSTOM_FLOW_ACTION": "#/components/schemas/CustomFlowActionComponent",
1877
1879
  "ERP_INFORM_TOOLKIT": "#/components/schemas/ErpInformToolkitComponent",
@@ -1883,6 +1885,9 @@
1883
1885
  {
1884
1886
  "$ref": "#/components/schemas/JourneyBlockComponent"
1885
1887
  },
1888
+ {
1889
+ "$ref": "#/components/schemas/PortalBlockComponent"
1890
+ },
1886
1891
  {
1887
1892
  "$ref": "#/components/schemas/PortalExtensionComponent"
1888
1893
  },
@@ -1965,6 +1970,32 @@
1965
1970
  }
1966
1971
  }
1967
1972
  },
1973
+ "PortalBlockComponent": {
1974
+ "type": "object",
1975
+ "required": [
1976
+ "component_type",
1977
+ "configuration"
1978
+ ],
1979
+ "properties": {
1980
+ "component_type": {
1981
+ "type": "string",
1982
+ "enum": [
1983
+ "CUSTOM_PORTAL_BLOCK"
1984
+ ]
1985
+ },
1986
+ "configuration": {
1987
+ "$ref": "#/components/schemas/PortalBlockConfig"
1988
+ },
1989
+ "surfaces": {
1990
+ "type": "object",
1991
+ "properties": {
1992
+ "portal_block": {
1993
+ "$ref": "#/components/schemas/PortalBlockSurfaceConfig"
1994
+ }
1995
+ }
1996
+ }
1997
+ }
1998
+ },
1968
1999
  "ErpInformToolkitComponent": {
1969
2000
  "type": "object",
1970
2001
  "required": [
@@ -2218,10 +2249,7 @@
2218
2249
  "body": {
2219
2250
  "type": "object",
2220
2251
  "description": "JSON body to use for the call. Supports variable interpolation. If empty / not provided, the default request context will be used based on the consumer (e.g. Journey).",
2221
- "additionalProperties": {
2222
- "type": "string"
2223
- },
2224
- "default": {}
2252
+ "additionalProperties": true
2225
2253
  }
2226
2254
  },
2227
2255
  "required": [
@@ -2289,10 +2317,7 @@
2289
2317
  "body": {
2290
2318
  "type": "object",
2291
2319
  "description": "JSON body to use for the call. Supports variable interpolation. If empty / not provided, the default request context will be used based on the consumer (e.g. Journey).",
2292
- "additionalProperties": {
2293
- "type": "string"
2294
- },
2295
- "default": {}
2320
+ "additionalProperties": true
2296
2321
  }
2297
2322
  },
2298
2323
  "required": [
@@ -2434,7 +2459,7 @@
2434
2459
  },
2435
2460
  "result": {
2436
2461
  "type": "string",
2437
- "description": "Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. Supports variable interpolation."
2462
+ "description": "Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. If no result is passed and the request suceeds, we attempt to resolve the Contact ID automatically. Supports variable interpolation."
2438
2463
  }
2439
2464
  },
2440
2465
  "required": [
@@ -2512,7 +2537,7 @@
2512
2537
  },
2513
2538
  "result": {
2514
2539
  "type": "string",
2515
- "description": "Contract or Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. Supports variable interpolation."
2540
+ "description": "Contract or Contact ID usually retrieved from the response body, e.g. `{{CallResponse.data.contact_id}}`. If no result is passed and the request suceeds, we attempt to resolve the Contact ID automatically. Supports variable interpolation."
2516
2541
  }
2517
2542
  },
2518
2543
  "required": [
@@ -2585,6 +2610,15 @@
2585
2610
  "meterReadingPlausibilityCheck"
2586
2611
  ]
2587
2612
  },
2613
+ "plausibility_mode": {
2614
+ "type": "string",
2615
+ "enum": [
2616
+ "check",
2617
+ "range"
2618
+ ],
2619
+ "default": "check",
2620
+ "description": "Mode for plausibility check:\n- \"check\": Validates meter reading and returns valid: boolean (used during submission)\n- \"range\": Returns min/max allowed values for each counter for validation before submission\n"
2621
+ },
2588
2622
  "auth": {
2589
2623
  "$ref": "#/components/schemas/PortalExtensionAuthBlock"
2590
2624
  },
@@ -2598,10 +2632,7 @@
2598
2632
  "body": {
2599
2633
  "type": "object",
2600
2634
  "description": "JSON body to use for the call. Supports variable interpolation.",
2601
- "additionalProperties": {
2602
- "type": "string"
2603
- },
2604
- "default": {}
2635
+ "additionalProperties": true
2605
2636
  },
2606
2637
  "headers": {
2607
2638
  "type": "object",
@@ -2623,9 +2654,24 @@
2623
2654
  "type": "object",
2624
2655
  "description": "Response to the call",
2625
2656
  "properties": {
2657
+ "dataPath": {
2658
+ "type": "string",
2659
+ "description": "Optional path to an array in the response. If specified and the path points to an array,\nthe hook will map over each item using 'Item' variable for interpolation.\nRelevant only if plausibility_mode is \"range\".\n",
2660
+ "example": "data.results"
2661
+ },
2662
+ "counter_identifiers": {
2663
+ "description": "Counter identifier(s) used to match against the meter's counters.\nCan be a string (counter ID) or an object with counter properties.\nThe backend resolves this to meter_counter_id in the final response.\nRelevant only if plausibility_mode is \"range\".\n",
2664
+ "type": "object",
2665
+ "additionalProperties": {
2666
+ "type": "string"
2667
+ },
2668
+ "example": {
2669
+ "obis_code": "{{Item.obis}}"
2670
+ }
2671
+ },
2626
2672
  "valid": {
2627
2673
  "type": "string",
2628
- "description": "Indicate whether the meter reading is plausible",
2674
+ "description": "Indicate whether the meter reading is plausible. Relevant only if plausibility_mode is \"check\".",
2629
2675
  "example": "{{CallResponse.data.valid}}"
2630
2676
  },
2631
2677
  "upper_limit": {
@@ -2720,10 +2766,7 @@
2720
2766
  "body": {
2721
2767
  "type": "object",
2722
2768
  "description": "Request body to send. Supports variable interpolation. Content format is determined by Content-Type header.",
2723
- "additionalProperties": {
2724
- "type": "string"
2725
- },
2726
- "default": {}
2769
+ "additionalProperties": true
2727
2770
  }
2728
2771
  },
2729
2772
  "required": [
@@ -2819,10 +2862,7 @@
2819
2862
  "body": {
2820
2863
  "type": "object",
2821
2864
  "description": "Request body to send. Supports variable interpolation. Content format is determined by Content-Type header.",
2822
- "additionalProperties": {
2823
- "type": "string"
2824
- },
2825
- "default": {}
2865
+ "additionalProperties": true
2826
2866
  }
2827
2867
  },
2828
2868
  "required": [
@@ -2918,10 +2958,7 @@
2918
2958
  "body": {
2919
2959
  "type": "object",
2920
2960
  "description": "Request body to send. Supports variable interpolation. Content format is determined by Content-Type header.",
2921
- "additionalProperties": {
2922
- "type": "string"
2923
- },
2924
- "default": {}
2961
+ "additionalProperties": true
2925
2962
  }
2926
2963
  },
2927
2964
  "required": [
@@ -3038,10 +3075,7 @@
3038
3075
  "body": {
3039
3076
  "type": "object",
3040
3077
  "description": "JSON body to use for authentication. Supports variable interpolation. Content format is determined by Content-Type header.",
3041
- "additionalProperties": {
3042
- "type": "string"
3043
- },
3044
- "default": {}
3078
+ "additionalProperties": true
3045
3079
  },
3046
3080
  "cache": {
3047
3081
  "type": "object",
@@ -3100,10 +3134,7 @@
3100
3134
  "body": {
3101
3135
  "type": "object",
3102
3136
  "description": "JSON body to use for authentication. Supports variable interpolation. Content format is determined by Content-Type header.",
3103
- "additionalProperties": {
3104
- "type": "string"
3105
- },
3106
- "default": {}
3137
+ "additionalProperties": true
3107
3138
  }
3108
3139
  },
3109
3140
  "required": [
@@ -3171,6 +3202,9 @@
3171
3202
  }
3172
3203
  }
3173
3204
  },
3205
+ "PortalBlockConfig": {
3206
+ "type": "object"
3207
+ },
3174
3208
  "AppBridgeSurfaceConfig": {
3175
3209
  "type": "object",
3176
3210
  "properties": {
@@ -3188,6 +3222,26 @@
3188
3222
  }
3189
3223
  }
3190
3224
  },
3225
+ "PortalBlockSurfaceConfig": {
3226
+ "allOf": [
3227
+ {
3228
+ "$ref": "#/components/schemas/AppBridgeSurfaceConfig"
3229
+ },
3230
+ {
3231
+ "type": "object",
3232
+ "properties": {
3233
+ "section": {
3234
+ "description": "Define which section of the portal this block can be placed in",
3235
+ "type": "string",
3236
+ "enum": [
3237
+ "main",
3238
+ "footer"
3239
+ ]
3240
+ }
3241
+ }
3242
+ }
3243
+ ]
3244
+ },
3191
3245
  "JourneyBlockComponentArgs": {
3192
3246
  "allOf": [
3193
3247
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/app-client",
3
- "version": "0.10.4",
3
+ "version": "0.10.5",
4
4
  "description": "JavaScript client library for the epilot App API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",