@epilot/cli 0.1.25 → 0.1.27
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/README.md +1 -1
- package/definitions/app.json +151 -19
- package/definitions/configuration-hub.json +623 -0
- package/definitions/customer-portal.json +789 -48
- package/definitions/email-settings.json +86 -4
- package/definitions/entity.json +185 -8
- package/definitions/event-catalog.json +256 -1
- package/definitions/file.json +262 -4
- package/definitions/integration-toolkit.json +480 -4
- package/definitions/journey.json +21 -1
- package/definitions/metering.json +728 -64
- package/definitions/webhooks.json +149 -4
- package/dist/bin/epilot.js +6 -6
- package/dist/{chunk-SGI6WZ57.js → chunk-OBSR3RKB.js} +34 -11
- package/dist/{completion-W6JFZKZI.js → completion-AUP6EFBO.js} +1 -1
- package/dist/{upgrade-EZO5QXKC.js → upgrade-PPGT4OMA.js} +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/definitions/app.json
CHANGED
|
@@ -1842,13 +1842,56 @@
|
|
|
1842
1842
|
"type": "string",
|
|
1843
1843
|
"description": "Detailed description of what this configuration option does"
|
|
1844
1844
|
},
|
|
1845
|
+
"repeatable": {
|
|
1846
|
+
"type": "boolean",
|
|
1847
|
+
"description": "When true, the configured value is an array of entries, each tagged with a stable\nserver-assigned `id`. Combine with any `type` to express \"many of this thing.\"\nDefaults to false.\n"
|
|
1848
|
+
},
|
|
1849
|
+
"fields": {
|
|
1850
|
+
"type": "array",
|
|
1851
|
+
"description": "Field declarations — required when `type: object`. Each entry describes one primitive\nsub-field of the object value. Object types may not nest (no `type: object` inside `fields`).\n",
|
|
1852
|
+
"items": {
|
|
1853
|
+
"$ref": "#/components/schemas/ObjectField"
|
|
1854
|
+
}
|
|
1855
|
+
},
|
|
1845
1856
|
"value": {
|
|
1846
|
-
"
|
|
1847
|
-
|
|
1857
|
+
"description": "The configured value for this option. Shape depends on `type` and `repeatable`:\n- primitive `type` (text/number/boolean/secret), `repeatable` false → primitive\n- primitive `type`, `repeatable` true → array of `{id, value}` entries\n- `type: object`, `repeatable` false → object with declared fields\n- `type: object`, `repeatable` true → array of `{id, ...declared fields}` entries\n\n`id` is server-assigned and stable across edits so consumers can reference entries\nby id rather than by index.\n"
|
|
1858
|
+
},
|
|
1859
|
+
"type": {
|
|
1860
|
+
"type": "string",
|
|
1861
|
+
"enum": [
|
|
1862
|
+
"text",
|
|
1863
|
+
"number",
|
|
1848
1864
|
"boolean",
|
|
1849
|
-
"
|
|
1865
|
+
"secret",
|
|
1866
|
+
"object"
|
|
1850
1867
|
],
|
|
1851
|
-
"description": "The
|
|
1868
|
+
"description": "The type of this option. `object` declares a structured value whose fields are listed\nunder `fields`. Combine with `repeatable: true` to express a list of these objects.\n"
|
|
1869
|
+
}
|
|
1870
|
+
}
|
|
1871
|
+
},
|
|
1872
|
+
"ObjectField": {
|
|
1873
|
+
"type": "object",
|
|
1874
|
+
"description": "One declared field inside a `type: object` option. Fields are primitives — object nesting\nis not supported.\n",
|
|
1875
|
+
"required": [
|
|
1876
|
+
"key",
|
|
1877
|
+
"type"
|
|
1878
|
+
],
|
|
1879
|
+
"properties": {
|
|
1880
|
+
"key": {
|
|
1881
|
+
"type": "string",
|
|
1882
|
+
"description": "Unique identifier for this field within the parent object."
|
|
1883
|
+
},
|
|
1884
|
+
"label": {
|
|
1885
|
+
"type": "string",
|
|
1886
|
+
"description": "Human-readable label for the field."
|
|
1887
|
+
},
|
|
1888
|
+
"description": {
|
|
1889
|
+
"type": "string",
|
|
1890
|
+
"description": "Detailed description of what this field is for."
|
|
1891
|
+
},
|
|
1892
|
+
"required": {
|
|
1893
|
+
"type": "boolean",
|
|
1894
|
+
"description": "Flag to indicate if this field must be filled."
|
|
1852
1895
|
},
|
|
1853
1896
|
"type": {
|
|
1854
1897
|
"type": "string",
|
|
@@ -1857,7 +1900,8 @@
|
|
|
1857
1900
|
"number",
|
|
1858
1901
|
"boolean",
|
|
1859
1902
|
"secret"
|
|
1860
|
-
]
|
|
1903
|
+
],
|
|
1904
|
+
"description": "Primitive type of this field."
|
|
1861
1905
|
}
|
|
1862
1906
|
}
|
|
1863
1907
|
},
|
|
@@ -1873,12 +1917,7 @@
|
|
|
1873
1917
|
"description": "Key matching a config_option from the component"
|
|
1874
1918
|
},
|
|
1875
1919
|
"value": {
|
|
1876
|
-
"
|
|
1877
|
-
"string",
|
|
1878
|
-
"boolean",
|
|
1879
|
-
"number"
|
|
1880
|
-
],
|
|
1881
|
-
"description": "The configured value for this option"
|
|
1920
|
+
"description": "The configured value for this option. Shape depends on the matching component option's\n`type` and `repeatable` (see `Options.value`).\n"
|
|
1882
1921
|
}
|
|
1883
1922
|
}
|
|
1884
1923
|
},
|
|
@@ -2711,7 +2750,8 @@
|
|
|
2711
2750
|
},
|
|
2712
2751
|
"result": {
|
|
2713
2752
|
"type": "string",
|
|
2714
|
-
"
|
|
2753
|
+
"deprecated": true,
|
|
2754
|
+
"description": "Deprecated. Use `resolved.result` instead. 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."
|
|
2715
2755
|
}
|
|
2716
2756
|
},
|
|
2717
2757
|
"required": [
|
|
@@ -2721,6 +2761,21 @@
|
|
|
2721
2761
|
],
|
|
2722
2762
|
"additionalProperties": false
|
|
2723
2763
|
},
|
|
2764
|
+
"resolved": {
|
|
2765
|
+
"type": "object",
|
|
2766
|
+
"properties": {
|
|
2767
|
+
"result": {
|
|
2768
|
+
"type": "string",
|
|
2769
|
+
"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. Supersedes the deprecated `call.result`."
|
|
2770
|
+
},
|
|
2771
|
+
"error_message_path": {
|
|
2772
|
+
"type": "string",
|
|
2773
|
+
"description": "Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).\nIf specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.\n",
|
|
2774
|
+
"example": "error.message"
|
|
2775
|
+
}
|
|
2776
|
+
},
|
|
2777
|
+
"additionalProperties": false
|
|
2778
|
+
},
|
|
2724
2779
|
"use_static_ips": {
|
|
2725
2780
|
"type": "boolean",
|
|
2726
2781
|
"deprecated": true,
|
|
@@ -2793,7 +2848,8 @@
|
|
|
2793
2848
|
},
|
|
2794
2849
|
"result": {
|
|
2795
2850
|
"type": "string",
|
|
2796
|
-
"
|
|
2851
|
+
"deprecated": true,
|
|
2852
|
+
"description": "Deprecated. Use `resolved.result` instead. 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."
|
|
2797
2853
|
}
|
|
2798
2854
|
},
|
|
2799
2855
|
"required": [
|
|
@@ -2802,6 +2858,21 @@
|
|
|
2802
2858
|
],
|
|
2803
2859
|
"additionalProperties": false
|
|
2804
2860
|
},
|
|
2861
|
+
"resolved": {
|
|
2862
|
+
"type": "object",
|
|
2863
|
+
"properties": {
|
|
2864
|
+
"result": {
|
|
2865
|
+
"type": "string",
|
|
2866
|
+
"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. Supersedes the deprecated `call.result`."
|
|
2867
|
+
},
|
|
2868
|
+
"error_message_path": {
|
|
2869
|
+
"type": "string",
|
|
2870
|
+
"description": "Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).\nIf specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.\n",
|
|
2871
|
+
"example": "error.message"
|
|
2872
|
+
}
|
|
2873
|
+
},
|
|
2874
|
+
"additionalProperties": false
|
|
2875
|
+
},
|
|
2805
2876
|
"assignment_mode": {
|
|
2806
2877
|
"type": "string",
|
|
2807
2878
|
"enum": [
|
|
@@ -2914,11 +2985,16 @@
|
|
|
2914
2985
|
"type": "object",
|
|
2915
2986
|
"description": "Response to the call",
|
|
2916
2987
|
"properties": {
|
|
2917
|
-
"
|
|
2988
|
+
"data_path": {
|
|
2918
2989
|
"type": "string",
|
|
2919
2990
|
"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",
|
|
2920
2991
|
"example": "data.results"
|
|
2921
2992
|
},
|
|
2993
|
+
"dataPath": {
|
|
2994
|
+
"type": "string",
|
|
2995
|
+
"deprecated": true,
|
|
2996
|
+
"description": "Deprecated. Use `data_path` instead."
|
|
2997
|
+
},
|
|
2922
2998
|
"counter_identifiers": {
|
|
2923
2999
|
"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",
|
|
2924
3000
|
"type": "object",
|
|
@@ -2943,6 +3019,11 @@
|
|
|
2943
3019
|
"type": "string",
|
|
2944
3020
|
"description": "Lower allowed limit of the meter reading",
|
|
2945
3021
|
"example": "{{CallResponse.data.lower_limit}}"
|
|
3022
|
+
},
|
|
3023
|
+
"error_message_path": {
|
|
3024
|
+
"type": "string",
|
|
3025
|
+
"description": "Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).\nIf specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.\n",
|
|
3026
|
+
"example": "error.message"
|
|
2946
3027
|
}
|
|
2947
3028
|
},
|
|
2948
3029
|
"additionalProperties": false
|
|
@@ -3042,9 +3123,19 @@
|
|
|
3042
3123
|
"resolved": {
|
|
3043
3124
|
"type": "object",
|
|
3044
3125
|
"properties": {
|
|
3045
|
-
"
|
|
3126
|
+
"data_path": {
|
|
3046
3127
|
"type": "string",
|
|
3047
3128
|
"description": "Optional path to the data (array) in the response. If omitted, the data is assumed to be on the top level."
|
|
3129
|
+
},
|
|
3130
|
+
"dataPath": {
|
|
3131
|
+
"type": "string",
|
|
3132
|
+
"deprecated": true,
|
|
3133
|
+
"description": "Deprecated. Use `data_path` instead."
|
|
3134
|
+
},
|
|
3135
|
+
"error_message_path": {
|
|
3136
|
+
"type": "string",
|
|
3137
|
+
"description": "Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).\nIf specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.\n",
|
|
3138
|
+
"example": "error.message"
|
|
3048
3139
|
}
|
|
3049
3140
|
},
|
|
3050
3141
|
"additionalProperties": false
|
|
@@ -3143,9 +3234,19 @@
|
|
|
3143
3234
|
"resolved": {
|
|
3144
3235
|
"type": "object",
|
|
3145
3236
|
"properties": {
|
|
3146
|
-
"
|
|
3237
|
+
"data_path": {
|
|
3147
3238
|
"type": "string",
|
|
3148
3239
|
"description": "Optional path to the data (array) in the response. If omitted, the data is assumed to be on the top level."
|
|
3240
|
+
},
|
|
3241
|
+
"dataPath": {
|
|
3242
|
+
"type": "string",
|
|
3243
|
+
"deprecated": true,
|
|
3244
|
+
"description": "Deprecated. Use `data_path` instead."
|
|
3245
|
+
},
|
|
3246
|
+
"error_message_path": {
|
|
3247
|
+
"type": "string",
|
|
3248
|
+
"description": "Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).\nIf specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.\n",
|
|
3249
|
+
"example": "error.message"
|
|
3149
3250
|
}
|
|
3150
3251
|
},
|
|
3151
3252
|
"additionalProperties": false
|
|
@@ -3234,6 +3335,17 @@
|
|
|
3234
3335
|
],
|
|
3235
3336
|
"additionalProperties": false
|
|
3236
3337
|
},
|
|
3338
|
+
"resolved": {
|
|
3339
|
+
"type": "object",
|
|
3340
|
+
"properties": {
|
|
3341
|
+
"error_message_path": {
|
|
3342
|
+
"type": "string",
|
|
3343
|
+
"description": "Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).\nIf specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.\n",
|
|
3344
|
+
"example": "error.message"
|
|
3345
|
+
}
|
|
3346
|
+
},
|
|
3347
|
+
"additionalProperties": false
|
|
3348
|
+
},
|
|
3237
3349
|
"use_static_ips": {
|
|
3238
3350
|
"type": "boolean",
|
|
3239
3351
|
"deprecated": true,
|
|
@@ -3252,7 +3364,7 @@
|
|
|
3252
3364
|
"additionalProperties": false
|
|
3253
3365
|
},
|
|
3254
3366
|
"PortalExtensionHookVisualizationMetadata": {
|
|
3255
|
-
"description": "Hook that returns runtime metadata describing how a visualization (consumption / price / cost chart) should be rendered for a given portal context (meter, contract, etc). It is invoked by the portal before fetching data, with the same context the data hook would receive, so that the discovery shape can vary per meter/contract. The expected response to the call is:\n - 200 with a JSON body of shape:\n {\n \"type_options\": [{ \"id\": \"ht\", \"label\": { \"en\": \"High tariff\" }, \"aggregation_group\": \"consumption\", \"unit\": \"kWh\"
|
|
3367
|
+
"description": "Hook that returns runtime metadata describing how a visualization (consumption / price / cost chart) should be rendered for a given portal context (meter, contract, etc). It is invoked by the portal before fetching data, with the same context the data hook would receive, so that the discovery shape can vary per meter/contract. The expected response to the call is:\n - 200 with a JSON body of shape:\n {\n \"type_options\": [\n { \"id\": \"ht\", \"label\": { \"en\": \"High tariff\" }, \"aggregation_group\": \"consumption\", \"statistical_method\": \"sum\", \"unit\": \"kWh\", \"color\": \"primary\", \"precision\": 2 },\n ...\n ],\n \"intervals\": [\"PT15M\", \"PT1H\", \"P1D\", \"P1M\"],\n \"data_range\": { \"from\": \"2024-01-01T00:00:00Z\", \"to\": \"2026-05-01T00:00:00Z\" }\n }\n Each type option carries its own `statistical_method`, which describes the method already applied to that type's data and dictates the chart shape: `sum` is rendered as a bar chart; `min`, `average`, and `max` are rendered as a line chart. A single visualization can therefore mix bar-shaped types with line-shaped types. Defaults to `sum` when omitted.\n Each type option may also customize its rendering: `color` picks a Spark palette color (`primary`, `slate`, `mauve`, `orange`, `red`, `tomato`, `amber`, `green`, `blue`) used to draw the type's series; `precision` sets the number of decimal places to show for that type's values (axis labels, tooltips, summaries). Both are optional — the consumer falls back to its own defaults when they are omitted.\n `aggregation_group` controls how types within a group are visually combined (depends on the per-type `statistical_method`):\n - bar chart (`sum`): same-group types are stacked into a single bar (e.g. ht/nt summed into total consumption); different-group types render side-by-side.\n - line chart (`min` / `average` / `max`): same-group types are rendered as an area chart; different-group types render as separate lines.\n All fields are optional; the consumer falls back to its defaults for whatever the hook does not return.\nThe portal looks up this hook implicitly per extension (one `visualizationMetadata` hook per extension) — there is no need for a data-retrieval hook to reference it explicitly.\n",
|
|
3256
3368
|
"type": "object",
|
|
3257
3369
|
"properties": {
|
|
3258
3370
|
"id": {
|
|
@@ -3314,9 +3426,19 @@
|
|
|
3314
3426
|
"resolved": {
|
|
3315
3427
|
"type": "object",
|
|
3316
3428
|
"properties": {
|
|
3317
|
-
"
|
|
3429
|
+
"data_path": {
|
|
3318
3430
|
"type": "string",
|
|
3319
3431
|
"description": "Optional path to the metadata object in the response. If omitted, the metadata is assumed to be on the top level."
|
|
3432
|
+
},
|
|
3433
|
+
"dataPath": {
|
|
3434
|
+
"type": "string",
|
|
3435
|
+
"deprecated": true,
|
|
3436
|
+
"description": "Deprecated. Use `data_path` instead."
|
|
3437
|
+
},
|
|
3438
|
+
"error_message_path": {
|
|
3439
|
+
"type": "string",
|
|
3440
|
+
"description": "Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).\nIf specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.\n",
|
|
3441
|
+
"example": "error.message"
|
|
3320
3442
|
}
|
|
3321
3443
|
},
|
|
3322
3444
|
"additionalProperties": false
|
|
@@ -3415,9 +3537,19 @@
|
|
|
3415
3537
|
"resolved": {
|
|
3416
3538
|
"type": "object",
|
|
3417
3539
|
"properties": {
|
|
3418
|
-
"
|
|
3540
|
+
"data_path": {
|
|
3419
3541
|
"type": "string",
|
|
3420
3542
|
"description": "Optional path to the data (array) in the response. If omitted, the data is assumed to be on the top level."
|
|
3543
|
+
},
|
|
3544
|
+
"dataPath": {
|
|
3545
|
+
"type": "string",
|
|
3546
|
+
"deprecated": true,
|
|
3547
|
+
"description": "Deprecated. Use `data_path` instead."
|
|
3548
|
+
},
|
|
3549
|
+
"error_message_path": {
|
|
3550
|
+
"type": "string",
|
|
3551
|
+
"description": "Optional path to a human-readable error message in the third-party response body, used when the call fails (non-2xx status).\nIf specified and the path resolves to a string, that message is forwarded to the end user instead of a generic error.\n",
|
|
3552
|
+
"example": "error.message"
|
|
3421
3553
|
}
|
|
3422
3554
|
},
|
|
3423
3555
|
"additionalProperties": false
|