@epilot/app-client 0.14.1 → 0.15.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.
- package/dist/definition.js +1 -1
- package/dist/openapi-runtime.json +9 -0
- package/dist/openapi.d.ts +28 -17
- package/dist/openapi.json +34 -6
- package/package.json +1 -1
package/dist/definition.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e={
|
|
1
|
+
(()=>{"use strict";var e={438(e,r,t){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var o=n(t(466));r.default=o.default},466(e){e.exports=JSON.parse('{"openapi":"3.1.0","info":{"title":"","version":""},"servers":[{"url":"https://app.sls.epilot.io"}],"paths":{"/v1/public/app/{appId}/components/{componentId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration to install"},{"name":"componentId","in":"path","required":true,"description":"ID of the component to retrieve"}],"get":{"operationId":"getPublicFacingComponent","responses":{}}},"/v1/app-configurations":{"get":{"operationId":"listConfigurations","parameters":[{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}},"post":{"operationId":"createConfiguration","requestBody":{"$ref":"#/components/requestBodies/CreateConfigRequest"},"responses":{}}},"/v1/app-configurations/public":{"get":{"operationId":"listPublicConfigurations","parameters":[{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app-configurations/public/{appId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration to install"}],"get":{"operationId":"getPublicConfiguration","parameters":[{"name":"version","in":"query"}],"responses":{}}},"/v1/app-configurations/{appId}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration"}],"get":{"operationId":"getConfiguration","parameters":[{"name":"version","in":"query"}],"responses":{}},"patch":{"operationId":"patchMetadata","requestBody":{"$ref":"#/components/requestBodies/PatchConfigMetadataRequest"},"responses":{}},"delete":{"operationId":"deleteConfiguration","responses":{}}},"/v1/app-configurations/{appId}/events":{"post":{"operationId":"queryEvents","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/app-configurations/{appId}/bundle":{"post":{"operationId":"createBundleUploadUrl","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/CreateBundlePresignedRequest"},"responses":{}}},"/v1/app-configurations/{appId}/zip":{"post":{"operationId":"createZipUploadUrl","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/app-configurations/{appId}/logo":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the app configuration"}],"post":{"operationId":"createLogoUploadUrl","requestBody":{"$ref":"#/components/requestBodies/CreateLogoPresignedRequest"},"responses":{}},"delete":{"operationId":"deleteLogo","responses":{}}},"/v1/app-configurations/{appId}/versions":{"get":{"operationId":"listVersions","parameters":[{"name":"appId","in":"path","required":true},{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}":{"get":{"operationId":"getVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}},"delete":{"operationId":"deleteVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}},"patch":{"operationId":"patchVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/PatchVersionRequest"},"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}/review":{"get":{"operationId":"getReview","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}},"post":{"operationId":"createReview","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/CreateReviewRequest"},"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}/components":{"post":{"operationId":"createComponent","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/UpsertComponentRequest"},"responses":{}}},"/v1/app-configurations/{appId}/versions/{version}/components/{componentId}":{"patch":{"operationId":"patchComponent","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true},{"name":"componentId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/UpsertComponentRequest"},"responses":{}},"delete":{"operationId":"deleteComponent","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true},{"name":"componentId","in":"path","required":true}],"responses":{}}},"/v1/app-configurations/{appId}/versions/{sourceVersion}/clone-to/{targetVersion}":{"post":{"operationId":"cloneVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"sourceVersion","in":"path","required":true},{"name":"targetVersion","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/CloneVersionRequest"},"responses":{}}},"/v1/app":{"get":{"operationId":"listInstallations","parameters":[{"name":"componentType","in":"query"},{"name":"enabled","in":"query"},{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app/{appId}":{"get":{"operationId":"getInstallation","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}},"post":{"operationId":"install","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/InstallRequest"},"responses":{}},"patch":{"operationId":"patchInstallation","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/InstallRequest"},"responses":{}},"delete":{"operationId":"uninstall","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}}},"/v1/app/{appId}/promote-to/{version}":{"post":{"operationId":"promoteVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}}},"/v1/app/{appId}/options/resolve":{"post":{"operationId":"resolveOptions","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/app-events":{"post":{"operationId":"ingestEvent","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v1/public/app/{appId}/proxy/{proxyName}/{path}":{"parameters":[{"name":"appId","in":"path","required":true,"description":"ID of the installed app"},{"name":"proxyName","in":"path","required":true,"description":"Name of the proxy target as defined in the app manifest"},{"name":"path","in":"path","required":true,"description":"Path to forward to the proxy target"},{"name":"query","in":"query","required":false,"style":"form","explode":true,"description":"Free-form query parameters, forwarded unchanged to the proxy target"}],"get":{"operationId":"publicProxyGet","responses":{}},"post":{"operationId":"publicProxyPost","requestBody":{"content":{"application/json":{}}},"responses":{}},"put":{"operationId":"publicProxyPut","requestBody":{"content":{"application/json":{}}},"responses":{}},"patch":{"operationId":"publicProxyPatch","requestBody":{"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"publicProxyDelete","responses":{}}}},"components":{"requestBodies":{"CreateReviewRequest":{"required":true,"content":{"application/json":{}}},"CreateLogoPresignedRequest":{"required":true,"content":{"application/json":{}}},"CreateBundlePresignedRequest":{"required":true,"content":{"application/json":{}}},"PatchConfigMetadataRequest":{"required":true,"content":{"application/json":{}}},"PatchVersionRequest":{"required":true,"content":{"application/json":{}}},"CloneVersionRequest":{"required":false,"content":{"application/json":{}}},"UpsertComponentRequest":{"required":true,"content":{"application/json":{}}},"CreateConfigRequest":{"required":true,"content":{"application/json":{}}},"InstallRequest":{"content":{"application/json":{}}}}}}')}},r={},t=function t(n){var o=r[n];if(void 0!==o)return o.exports;var p=r[n]={exports:{}};return e[n].call(p.exports,p,p.exports,t),p.exports}(438),n=exports;for(var o in t)n[o]=t[o];t.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})();
|
|
@@ -393,6 +393,9 @@
|
|
|
393
393
|
"required": true
|
|
394
394
|
}
|
|
395
395
|
],
|
|
396
|
+
"requestBody": {
|
|
397
|
+
"$ref": "#/components/requestBodies/CloneVersionRequest"
|
|
398
|
+
},
|
|
396
399
|
"responses": {}
|
|
397
400
|
}
|
|
398
401
|
},
|
|
@@ -618,6 +621,12 @@
|
|
|
618
621
|
"application/json": {}
|
|
619
622
|
}
|
|
620
623
|
},
|
|
624
|
+
"CloneVersionRequest": {
|
|
625
|
+
"required": false,
|
|
626
|
+
"content": {
|
|
627
|
+
"application/json": {}
|
|
628
|
+
}
|
|
629
|
+
},
|
|
621
630
|
"UpsertComponentRequest": {
|
|
622
631
|
"required": true,
|
|
623
632
|
"content": {
|
package/dist/openapi.d.ts
CHANGED
|
@@ -8,6 +8,12 @@ import type {
|
|
|
8
8
|
|
|
9
9
|
declare namespace Components {
|
|
10
10
|
namespace RequestBodies {
|
|
11
|
+
export interface CloneVersionRequest {
|
|
12
|
+
/**
|
|
13
|
+
* Short description of what the new version will change
|
|
14
|
+
*/
|
|
15
|
+
changelog?: string;
|
|
16
|
+
}
|
|
11
17
|
export interface CreateBundlePresignedRequest {
|
|
12
18
|
/**
|
|
13
19
|
* Version of the app
|
|
@@ -119,7 +125,11 @@ declare namespace Components {
|
|
|
119
125
|
* sensitive and must not declare `sensitive: false`.
|
|
120
126
|
*
|
|
121
127
|
*/
|
|
122
|
-
options?: /*
|
|
128
|
+
options?: /* An option declaration — a setting the installing org fills in. Declared at app level. */ Schemas.Options[];
|
|
129
|
+
/**
|
|
130
|
+
* Short description of what changed in this version
|
|
131
|
+
*/
|
|
132
|
+
changelog?: string;
|
|
123
133
|
}
|
|
124
134
|
export type UpsertComponentRequest = Schemas.BaseComponent;
|
|
125
135
|
}
|
|
@@ -291,7 +301,7 @@ declare namespace Components {
|
|
|
291
301
|
/**
|
|
292
302
|
* List of options for the app component
|
|
293
303
|
*/
|
|
294
|
-
options?: /*
|
|
304
|
+
options?: /* An option declaration — a setting the installing org fills in. Declared at app level. */ Options[];
|
|
295
305
|
/**
|
|
296
306
|
* Keys of app-level options this component uses. Narrows which options are
|
|
297
307
|
* folded back into `options` for legacy consumers (e.g. which values a journey
|
|
@@ -339,7 +349,7 @@ declare namespace Components {
|
|
|
339
349
|
/**
|
|
340
350
|
* List of options for the app component
|
|
341
351
|
*/
|
|
342
|
-
options?: /*
|
|
352
|
+
options?: /* An option declaration — a setting the installing org fills in. Declared at app level. */ Options[];
|
|
343
353
|
/**
|
|
344
354
|
* Keys of app-level options this component uses. Narrows which options are
|
|
345
355
|
* folded back into `options` for legacy consumers (e.g. which values a journey
|
|
@@ -656,7 +666,7 @@ declare namespace Components {
|
|
|
656
666
|
/**
|
|
657
667
|
* App-level option declarations (with sensitivity) of this version
|
|
658
668
|
*/
|
|
659
|
-
options?: /*
|
|
669
|
+
options?: /* An option declaration — a setting the installing org fills in. Declared at app level. */ Options[];
|
|
660
670
|
/**
|
|
661
671
|
* Visibility of the app version
|
|
662
672
|
*/
|
|
@@ -846,7 +856,7 @@ declare namespace Components {
|
|
|
846
856
|
/**
|
|
847
857
|
* App-level option declarations (with sensitivity) of this version
|
|
848
858
|
*/
|
|
849
|
-
options?: /*
|
|
859
|
+
options?: /* An option declaration — a setting the installing org fills in. Declared at app level. */ Options[];
|
|
850
860
|
/**
|
|
851
861
|
* Visibility of the app version
|
|
852
862
|
*/
|
|
@@ -1405,7 +1415,7 @@ declare namespace Components {
|
|
|
1405
1415
|
* `configured` and `value_updated_at` instead.
|
|
1406
1416
|
*
|
|
1407
1417
|
*/
|
|
1408
|
-
options?: /*
|
|
1418
|
+
options?: /* An option declaration — a setting the installing org fills in. Declared at app level. */ Options[];
|
|
1409
1419
|
/**
|
|
1410
1420
|
* Version of the app that is installed
|
|
1411
1421
|
*/
|
|
@@ -1618,7 +1628,7 @@ declare namespace Components {
|
|
|
1618
1628
|
value: any;
|
|
1619
1629
|
}
|
|
1620
1630
|
/**
|
|
1621
|
-
*
|
|
1631
|
+
* An option declaration — a setting the installing org fills in. Declared at app level.
|
|
1622
1632
|
*/
|
|
1623
1633
|
export interface Options {
|
|
1624
1634
|
/**
|
|
@@ -1677,7 +1687,7 @@ declare namespace Components {
|
|
|
1677
1687
|
* Write-only, server-side only value — like a sensitive environment variable
|
|
1678
1688
|
* (app-level options only). Sensitive values are never serialized in any response;
|
|
1679
1689
|
* they are resolvable only via server-side channels (API proxy injection, function
|
|
1680
|
-
*
|
|
1690
|
+
* runs, the internal options/resolve endpoint). Non-sensitive values
|
|
1681
1691
|
* are readable wherever the app runs, including the end-customer browser (journey and
|
|
1682
1692
|
* portal runtime). Forced to true for `secret`-touching options. Default: false.
|
|
1683
1693
|
*
|
|
@@ -1855,7 +1865,7 @@ declare namespace Components {
|
|
|
1855
1865
|
* { "id": "ht", "label": { "en": "High tariff" }, "aggregation_group": "consumption", "statistical_method": "sum", "unit": "kWh", "color": "primary", "precision": 2 },
|
|
1856
1866
|
* ...
|
|
1857
1867
|
* ],
|
|
1858
|
-
* "intervals": ["PT15M", "PT1H", "P1D", "P1M"],
|
|
1868
|
+
* "intervals": ["PT15M", "PT1H", "P1D", "P1M", "P1Y"],
|
|
1859
1869
|
* "data_range": { "from": "2024-01-01T00:00:00Z", "to": "2026-05-01T00:00:00Z" }
|
|
1860
1870
|
* }
|
|
1861
1871
|
* 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.
|
|
@@ -2098,7 +2108,7 @@ declare namespace Components {
|
|
|
2098
2108
|
* Intervals supported by the API. If omitted, it is assumed that all intervals are supported.
|
|
2099
2109
|
*
|
|
2100
2110
|
*/
|
|
2101
|
-
intervals?: ("PT15M" | "PT1H" | "P1D" | "P1M")[];
|
|
2111
|
+
intervals?: ("PT15M" | "PT1H" | "P1D" | "P1M" | "P1Y")[];
|
|
2102
2112
|
auth?: PortalExtensionAuthBlock;
|
|
2103
2113
|
call: {
|
|
2104
2114
|
/**
|
|
@@ -2269,7 +2279,7 @@ declare namespace Components {
|
|
|
2269
2279
|
* Intervals supported by the API. If omitted, it is assumed that all intervals are supported.
|
|
2270
2280
|
*
|
|
2271
2281
|
*/
|
|
2272
|
-
intervals?: ("PT15M" | "PT1H" | "P1D" | "P1M")[];
|
|
2282
|
+
intervals?: ("PT15M" | "PT1H" | "P1D" | "P1M" | "P1Y")[];
|
|
2273
2283
|
auth?: PortalExtensionAuthBlock;
|
|
2274
2284
|
call: {
|
|
2275
2285
|
/**
|
|
@@ -2600,7 +2610,7 @@ declare namespace Components {
|
|
|
2600
2610
|
* Intervals supported by the API. If omitted, it is assumed that all intervals are supported.
|
|
2601
2611
|
*
|
|
2602
2612
|
*/
|
|
2603
|
-
intervals?: ("PT15M" | "PT1H" | "P1D" | "P1M")[];
|
|
2613
|
+
intervals?: ("PT15M" | "PT1H" | "P1D" | "P1M" | "P1Y")[];
|
|
2604
2614
|
auth?: PortalExtensionAuthBlock;
|
|
2605
2615
|
call: {
|
|
2606
2616
|
/**
|
|
@@ -2732,7 +2742,7 @@ declare namespace Components {
|
|
|
2732
2742
|
* { "id": "ht", "label": { "en": "High tariff" }, "aggregation_group": "consumption", "statistical_method": "sum", "unit": "kWh", "color": "primary", "precision": 2 },
|
|
2733
2743
|
* ...
|
|
2734
2744
|
* ],
|
|
2735
|
-
* "intervals": ["PT15M", "PT1H", "P1D", "P1M"],
|
|
2745
|
+
* "intervals": ["PT15M", "PT1H", "P1D", "P1M", "P1Y"],
|
|
2736
2746
|
* "data_range": { "from": "2024-01-01T00:00:00Z", "to": "2026-05-01T00:00:00Z" }
|
|
2737
2747
|
* }
|
|
2738
2748
|
* 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.
|
|
@@ -2920,7 +2930,7 @@ declare namespace Components {
|
|
|
2920
2930
|
/**
|
|
2921
2931
|
* App-level option declarations (with sensitivity) of this version
|
|
2922
2932
|
*/
|
|
2923
|
-
options?: /*
|
|
2933
|
+
options?: /* An option declaration — a setting the installing org fills in. Declared at app level. */ Options[];
|
|
2924
2934
|
/**
|
|
2925
2935
|
* Flag to indicate if the app is in beta.
|
|
2926
2936
|
*/
|
|
@@ -3030,6 +3040,7 @@ declare namespace Paths {
|
|
|
3030
3040
|
sourceVersion: Parameters.SourceVersion;
|
|
3031
3041
|
targetVersion: Parameters.TargetVersion;
|
|
3032
3042
|
}
|
|
3043
|
+
export type RequestBody = Components.RequestBodies.CloneVersionRequest;
|
|
3033
3044
|
namespace Responses {
|
|
3034
3045
|
export interface $201 {
|
|
3035
3046
|
app_id?: string;
|
|
@@ -3613,7 +3624,7 @@ declare namespace Paths {
|
|
|
3613
3624
|
}
|
|
3614
3625
|
namespace Responses {
|
|
3615
3626
|
export interface $200 {
|
|
3616
|
-
options?: /*
|
|
3627
|
+
options?: /* An option declaration — a setting the installing org fills in. Declared at app level. */ Components.Schemas.Options[];
|
|
3617
3628
|
}
|
|
3618
3629
|
export interface $403 {
|
|
3619
3630
|
}
|
|
@@ -3919,7 +3930,7 @@ export interface OperationMethods {
|
|
|
3919
3930
|
*/
|
|
3920
3931
|
'cloneVersion'(
|
|
3921
3932
|
parameters?: Parameters<Paths.CloneVersion.PathParameters> | null,
|
|
3922
|
-
data?:
|
|
3933
|
+
data?: Paths.CloneVersion.RequestBody,
|
|
3923
3934
|
config?: AxiosRequestConfig
|
|
3924
3935
|
): OperationResponse<Paths.CloneVersion.Responses.$201>
|
|
3925
3936
|
/**
|
|
@@ -4312,7 +4323,7 @@ export interface PathsDictionary {
|
|
|
4312
4323
|
*/
|
|
4313
4324
|
'post'(
|
|
4314
4325
|
parameters?: Parameters<Paths.CloneVersion.PathParameters> | null,
|
|
4315
|
-
data?:
|
|
4326
|
+
data?: Paths.CloneVersion.RequestBody,
|
|
4316
4327
|
config?: AxiosRequestConfig
|
|
4317
4328
|
): OperationResponse<Paths.CloneVersion.Responses.$201>
|
|
4318
4329
|
}
|
package/dist/openapi.json
CHANGED
|
@@ -1150,6 +1150,9 @@
|
|
|
1150
1150
|
"description": "Target version to create"
|
|
1151
1151
|
}
|
|
1152
1152
|
],
|
|
1153
|
+
"requestBody": {
|
|
1154
|
+
"$ref": "#/components/requestBodies/CloneVersionRequest"
|
|
1155
|
+
},
|
|
1153
1156
|
"responses": {
|
|
1154
1157
|
"201": {
|
|
1155
1158
|
"description": "New version created successfully",
|
|
@@ -1902,6 +1905,28 @@
|
|
|
1902
1905
|
"$ref": "#/components/schemas/Options"
|
|
1903
1906
|
},
|
|
1904
1907
|
"description": "Replaces the full set of app-level option declarations for this version.\nOption keys must be unique app-wide; `secret`-touching options are always\nsensitive and must not declare `sensitive: false`.\n"
|
|
1908
|
+
},
|
|
1909
|
+
"changelog": {
|
|
1910
|
+
"type": "string",
|
|
1911
|
+
"maxLength": 250,
|
|
1912
|
+
"description": "Short description of what changed in this version"
|
|
1913
|
+
}
|
|
1914
|
+
}
|
|
1915
|
+
}
|
|
1916
|
+
}
|
|
1917
|
+
}
|
|
1918
|
+
},
|
|
1919
|
+
"CloneVersionRequest": {
|
|
1920
|
+
"required": false,
|
|
1921
|
+
"content": {
|
|
1922
|
+
"application/json": {
|
|
1923
|
+
"schema": {
|
|
1924
|
+
"type": "object",
|
|
1925
|
+
"properties": {
|
|
1926
|
+
"changelog": {
|
|
1927
|
+
"type": "string",
|
|
1928
|
+
"maxLength": 250,
|
|
1929
|
+
"description": "Short description of what the new version will change"
|
|
1905
1930
|
}
|
|
1906
1931
|
}
|
|
1907
1932
|
}
|
|
@@ -2009,7 +2034,7 @@
|
|
|
2009
2034
|
},
|
|
2010
2035
|
"Options": {
|
|
2011
2036
|
"type": "object",
|
|
2012
|
-
"description": "
|
|
2037
|
+
"description": "An option declaration — a setting the installing org fills in. Declared at app level.",
|
|
2013
2038
|
"required": [
|
|
2014
2039
|
"key",
|
|
2015
2040
|
"type"
|
|
@@ -2058,7 +2083,7 @@
|
|
|
2058
2083
|
},
|
|
2059
2084
|
"sensitive": {
|
|
2060
2085
|
"type": "boolean",
|
|
2061
|
-
"description": "Write-only, server-side only value — like a sensitive environment variable\n(app-level options only). Sensitive values are never serialized in any response;\nthey are resolvable only via server-side channels (API proxy injection, function\
|
|
2086
|
+
"description": "Write-only, server-side only value — like a sensitive environment variable\n(app-level options only). Sensitive values are never serialized in any response;\nthey are resolvable only via server-side channels (API proxy injection, function\nruns, the internal options/resolve endpoint). Non-sensitive values\nare readable wherever the app runs, including the end-customer browser (journey and\nportal runtime). Forced to true for `secret`-touching options. Default: false.\n"
|
|
2062
2087
|
},
|
|
2063
2088
|
"configured": {
|
|
2064
2089
|
"type": "boolean",
|
|
@@ -3375,7 +3400,8 @@
|
|
|
3375
3400
|
"PT15M",
|
|
3376
3401
|
"PT1H",
|
|
3377
3402
|
"P1D",
|
|
3378
|
-
"P1M"
|
|
3403
|
+
"P1M",
|
|
3404
|
+
"P1Y"
|
|
3379
3405
|
]
|
|
3380
3406
|
}
|
|
3381
3407
|
},
|
|
@@ -3486,7 +3512,8 @@
|
|
|
3486
3512
|
"PT15M",
|
|
3487
3513
|
"PT1H",
|
|
3488
3514
|
"P1D",
|
|
3489
|
-
"P1M"
|
|
3515
|
+
"P1M",
|
|
3516
|
+
"P1Y"
|
|
3490
3517
|
]
|
|
3491
3518
|
}
|
|
3492
3519
|
},
|
|
@@ -3665,7 +3692,7 @@
|
|
|
3665
3692
|
"additionalProperties": false
|
|
3666
3693
|
},
|
|
3667
3694
|
"PortalExtensionHookVisualizationMetadata": {
|
|
3668
|
-
"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",
|
|
3695
|
+
"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\", \"P1Y\"],\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",
|
|
3669
3696
|
"type": "object",
|
|
3670
3697
|
"properties": {
|
|
3671
3698
|
"id": {
|
|
@@ -3789,7 +3816,8 @@
|
|
|
3789
3816
|
"PT15M",
|
|
3790
3817
|
"PT1H",
|
|
3791
3818
|
"P1D",
|
|
3792
|
-
"P1M"
|
|
3819
|
+
"P1M",
|
|
3820
|
+
"P1Y"
|
|
3793
3821
|
]
|
|
3794
3822
|
}
|
|
3795
3823
|
},
|