@epilot/app-client 0.13.8 → 0.14.1
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 +26 -0
- package/dist/openapi.d.ts +344 -39
- package/dist/openapi.json +298 -17
- package/package.json +1 -1
package/dist/definition.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e={330(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}],"responses":{}}},"/v1/app":{"get":{"operationId":"listInstallations","parameters":[{"name":"componentType","in":"query"},{"name":"enabled","in":"query"},{"name":"page","in":"query"},{"name":"pageSize","in":"query"}],"responses":{}}},"/v1/app/{appId}":{"get":{"operationId":"getInstallation","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}},"post":{"operationId":"install","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/InstallRequest"},"responses":{}},"patch":{"operationId":"patchInstallation","parameters":[{"name":"appId","in":"path","required":true}],"requestBody":{"$ref":"#/components/requestBodies/InstallRequest"},"responses":{}},"delete":{"operationId":"uninstall","parameters":[{"name":"appId","in":"path","required":true}],"responses":{}}},"/v1/app/{appId}/promote-to/{version}":{"post":{"operationId":"promoteVersion","parameters":[{"name":"appId","in":"path","required":true},{"name":"version","in":"path","required":true}],"responses":{}}},"/v1/app-events":{"post":{"operationId":"ingestEvent","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/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"}],"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":{}}},"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}(330),n=exports;for(var o in t)n[o]=t[o];t.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})();
|
|
1
|
+
(()=>{"use strict";var e={330(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}],"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":{}}},"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}(330),n=exports;for(var o in t)n[o]=t[o];t.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})();
|
|
@@ -490,6 +490,24 @@
|
|
|
490
490
|
"responses": {}
|
|
491
491
|
}
|
|
492
492
|
},
|
|
493
|
+
"/v1/app/{appId}/options/resolve": {
|
|
494
|
+
"post": {
|
|
495
|
+
"operationId": "resolveOptions",
|
|
496
|
+
"parameters": [
|
|
497
|
+
{
|
|
498
|
+
"name": "appId",
|
|
499
|
+
"in": "path",
|
|
500
|
+
"required": true
|
|
501
|
+
}
|
|
502
|
+
],
|
|
503
|
+
"requestBody": {
|
|
504
|
+
"content": {
|
|
505
|
+
"application/json": {}
|
|
506
|
+
}
|
|
507
|
+
},
|
|
508
|
+
"responses": {}
|
|
509
|
+
}
|
|
510
|
+
},
|
|
493
511
|
"/v1/app-events": {
|
|
494
512
|
"post": {
|
|
495
513
|
"operationId": "ingestEvent",
|
|
@@ -521,6 +539,14 @@
|
|
|
521
539
|
"in": "path",
|
|
522
540
|
"required": true,
|
|
523
541
|
"description": "Path to forward to the proxy target"
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
"name": "query",
|
|
545
|
+
"in": "query",
|
|
546
|
+
"required": false,
|
|
547
|
+
"style": "form",
|
|
548
|
+
"explode": true,
|
|
549
|
+
"description": "Free-form query parameters, forwarded unchanged to the proxy target"
|
|
524
550
|
}
|
|
525
551
|
],
|
|
526
552
|
"get": {
|
package/dist/openapi.d.ts
CHANGED
|
@@ -105,6 +105,21 @@ declare namespace Components {
|
|
|
105
105
|
*/
|
|
106
106
|
role_id?: string | null;
|
|
107
107
|
grants?: /* Required grants for the app in order to call APIs for the installing tenant */ Schemas.Grants;
|
|
108
|
+
/**
|
|
109
|
+
* Replaces the full set of server-side functions for this version
|
|
110
|
+
*/
|
|
111
|
+
functions?: /**
|
|
112
|
+
* A named server-side function belonging to the app. Runs in the epilot code-execution sandbox with an installation-scoped app token. Functions with a schedule are executed automatically once per installation.
|
|
113
|
+
*
|
|
114
|
+
*/
|
|
115
|
+
Schemas.FunctionDefinition[];
|
|
116
|
+
/**
|
|
117
|
+
* Replaces the full set of app-level option declarations for this version.
|
|
118
|
+
* Option keys must be unique app-wide; `secret`-touching options are always
|
|
119
|
+
* sensitive and must not declare `sensitive: false`.
|
|
120
|
+
*
|
|
121
|
+
*/
|
|
122
|
+
options?: /* Options for the component configuration */ Schemas.Options[];
|
|
108
123
|
}
|
|
109
124
|
export type UpsertComponentRequest = Schemas.BaseComponent;
|
|
110
125
|
}
|
|
@@ -155,9 +170,9 @@ declare namespace Components {
|
|
|
155
170
|
*/
|
|
156
171
|
target: string; // ^https://
|
|
157
172
|
/**
|
|
158
|
-
* Authentication strategy
|
|
173
|
+
* Authentication strategy. 'basic' sends an HTTP Basic Authorization header built server-side from the 'username' and 'password' component options.
|
|
159
174
|
*/
|
|
160
|
-
auth_type: "header" | "bearer" | "oauth2" | "none";
|
|
175
|
+
auth_type: "header" | "bearer" | "basic" | "oauth2" | "none";
|
|
161
176
|
/**
|
|
162
177
|
* Header name for 'header' auth type
|
|
163
178
|
*/
|
|
@@ -277,6 +292,15 @@ declare namespace Components {
|
|
|
277
292
|
* List of options for the app component
|
|
278
293
|
*/
|
|
279
294
|
options?: /* Options for the component configuration */ Options[];
|
|
295
|
+
/**
|
|
296
|
+
* Keys of app-level options this component uses. Narrows which options are
|
|
297
|
+
* folded back into `options` for legacy consumers (e.g. which values a journey
|
|
298
|
+
* block receives in its public args) — a scoping hint, never a security
|
|
299
|
+
* boundary. Stamped automatically by the component-options migration; may also
|
|
300
|
+
* be declared by the app developer.
|
|
301
|
+
*
|
|
302
|
+
*/
|
|
303
|
+
uses_options?: string[];
|
|
280
304
|
surfaces?: {
|
|
281
305
|
[key: string]: any;
|
|
282
306
|
};
|
|
@@ -316,6 +340,15 @@ declare namespace Components {
|
|
|
316
340
|
* List of options for the app component
|
|
317
341
|
*/
|
|
318
342
|
options?: /* Options for the component configuration */ Options[];
|
|
343
|
+
/**
|
|
344
|
+
* Keys of app-level options this component uses. Narrows which options are
|
|
345
|
+
* folded back into `options` for legacy consumers (e.g. which values a journey
|
|
346
|
+
* block receives in its public args) — a scoping hint, never a security
|
|
347
|
+
* boundary. Stamped automatically by the component-options migration; may also
|
|
348
|
+
* be declared by the app developer.
|
|
349
|
+
*
|
|
350
|
+
*/
|
|
351
|
+
uses_options?: string[];
|
|
319
352
|
surfaces?: {
|
|
320
353
|
[key: string]: any;
|
|
321
354
|
};
|
|
@@ -504,7 +537,7 @@ declare namespace Components {
|
|
|
504
537
|
/**
|
|
505
538
|
* Type of app component
|
|
506
539
|
*/
|
|
507
|
-
export type ComponentType = "CUSTOM_JOURNEY_BLOCK" | "CUSTOM_PORTAL_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG" | "CUSTOM_PAGE" | "API_PROXY";
|
|
540
|
+
export type ComponentType = "CUSTOM_JOURNEY_BLOCK" | "CUSTOM_PORTAL_BLOCK" | "PORTAL_EXTENSION" | "CUSTOM_FLOW_ACTION" | "ERP_INFORM_TOOLKIT" | "CUSTOM_CAPABILITY" | "EXTERNAL_PRODUCT_CATALOG" | "CUSTOM_PAGE" | "API_PROXY" | "APP_FUNCTION";
|
|
508
541
|
/**
|
|
509
542
|
* Configuration of the published app
|
|
510
543
|
*/
|
|
@@ -612,6 +645,18 @@ declare namespace Components {
|
|
|
612
645
|
updated_by?: string;
|
|
613
646
|
};
|
|
614
647
|
components: BaseComponent[];
|
|
648
|
+
/**
|
|
649
|
+
* Server-side functions of the app, including scheduled functions
|
|
650
|
+
*/
|
|
651
|
+
functions?: /**
|
|
652
|
+
* A named server-side function belonging to the app. Runs in the epilot code-execution sandbox with an installation-scoped app token. Functions with a schedule are executed automatically once per installation.
|
|
653
|
+
*
|
|
654
|
+
*/
|
|
655
|
+
FunctionDefinition[];
|
|
656
|
+
/**
|
|
657
|
+
* App-level option declarations (with sensitivity) of this version
|
|
658
|
+
*/
|
|
659
|
+
options?: /* Options for the component configuration */ Options[];
|
|
615
660
|
/**
|
|
616
661
|
* Visibility of the app version
|
|
617
662
|
*/
|
|
@@ -790,6 +835,18 @@ declare namespace Components {
|
|
|
790
835
|
*/
|
|
791
836
|
owner_org_id: string;
|
|
792
837
|
components: BaseComponent[];
|
|
838
|
+
/**
|
|
839
|
+
* Server-side functions of the app, including scheduled functions
|
|
840
|
+
*/
|
|
841
|
+
functions?: /**
|
|
842
|
+
* A named server-side function belonging to the app. Runs in the epilot code-execution sandbox with an installation-scoped app token. Functions with a schedule are executed automatically once per installation.
|
|
843
|
+
*
|
|
844
|
+
*/
|
|
845
|
+
FunctionDefinition[];
|
|
846
|
+
/**
|
|
847
|
+
* App-level option declarations (with sensitivity) of this version
|
|
848
|
+
*/
|
|
849
|
+
options?: /* Options for the component configuration */ Options[];
|
|
793
850
|
/**
|
|
794
851
|
* Visibility of the app version
|
|
795
852
|
*/
|
|
@@ -869,12 +926,24 @@ declare namespace Components {
|
|
|
869
926
|
}
|
|
870
927
|
export interface CustomFlowActionComponent {
|
|
871
928
|
component_type: "CUSTOM_FLOW_ACTION";
|
|
872
|
-
configuration:
|
|
929
|
+
configuration: /**
|
|
930
|
+
* Configuration of a flow action component. `external_integration` calls an external HTTP endpoint; `function` runs a workflow-type app function in the epilot sandbox.
|
|
931
|
+
*
|
|
932
|
+
*/
|
|
933
|
+
CustomFlowConfig;
|
|
873
934
|
surfaces?: {
|
|
874
935
|
flow_action_config?: AppBridgeSurfaceConfig;
|
|
875
936
|
};
|
|
876
937
|
}
|
|
877
|
-
|
|
938
|
+
/**
|
|
939
|
+
* Configuration of a flow action component. `external_integration` calls an external HTTP endpoint; `function` runs a workflow-type app function in the epilot sandbox.
|
|
940
|
+
*
|
|
941
|
+
*/
|
|
942
|
+
export type CustomFlowConfig = /**
|
|
943
|
+
* Configuration of a flow action component. `external_integration` calls an external HTTP endpoint; `function` runs a workflow-type app function in the epilot sandbox.
|
|
944
|
+
*
|
|
945
|
+
*/
|
|
946
|
+
ExternalIntegrationCustomActionConfig | FunctionRefCustomActionConfig;
|
|
878
947
|
export interface CustomPageComponent {
|
|
879
948
|
component_type: "CUSTOM_PAGE";
|
|
880
949
|
configuration: CustomPageConfig;
|
|
@@ -997,6 +1066,10 @@ declare namespace Components {
|
|
|
997
1066
|
* Filter by correlation ID for tracing
|
|
998
1067
|
*/
|
|
999
1068
|
correlation_id?: string;
|
|
1069
|
+
/**
|
|
1070
|
+
* Case-insensitive substring match over event details and component id
|
|
1071
|
+
*/
|
|
1072
|
+
search?: string;
|
|
1000
1073
|
};
|
|
1001
1074
|
aggregation?: {
|
|
1002
1075
|
/**
|
|
@@ -1011,6 +1084,11 @@ declare namespace Components {
|
|
|
1011
1084
|
pagination?: {
|
|
1012
1085
|
page?: number;
|
|
1013
1086
|
page_size?: number;
|
|
1087
|
+
/**
|
|
1088
|
+
* Cursor: only return events strictly older than this timestamp. Use the timestamp of the last received event to fetch the next page; more efficient than increasing page/page_size.
|
|
1089
|
+
*
|
|
1090
|
+
*/
|
|
1091
|
+
before?: string; // date-time
|
|
1014
1092
|
};
|
|
1015
1093
|
sort?: {
|
|
1016
1094
|
field?: "timestamp" | "event_type" | "component_id";
|
|
@@ -1176,6 +1254,93 @@ declare namespace Components {
|
|
|
1176
1254
|
};
|
|
1177
1255
|
};
|
|
1178
1256
|
}
|
|
1257
|
+
/**
|
|
1258
|
+
* A named server-side function belonging to the app. Runs in the epilot code-execution sandbox with an installation-scoped app token. Functions with a schedule are executed automatically once per installation.
|
|
1259
|
+
*
|
|
1260
|
+
*/
|
|
1261
|
+
export interface FunctionDefinition {
|
|
1262
|
+
/**
|
|
1263
|
+
* Unique function name within the app
|
|
1264
|
+
*/
|
|
1265
|
+
name: string; // ^[a-z0-9][a-z0-9-]{0,63}$
|
|
1266
|
+
/**
|
|
1267
|
+
* Where the function can be used. `workflow` functions are referenced by CUSTOM_FLOW_ACTION components (type `function`) and run with entity context. `scheduled` functions run automatically per installation on their cron schedule.
|
|
1268
|
+
*
|
|
1269
|
+
*/
|
|
1270
|
+
type: "workflow" | "scheduled";
|
|
1271
|
+
/**
|
|
1272
|
+
* Human-readable display name of the function, shown to installing organizations (e.g. in the scheduled-functions summary)
|
|
1273
|
+
*
|
|
1274
|
+
*/
|
|
1275
|
+
label?: {
|
|
1276
|
+
/**
|
|
1277
|
+
* English translation
|
|
1278
|
+
*/
|
|
1279
|
+
en?: string | null;
|
|
1280
|
+
/**
|
|
1281
|
+
* German translation
|
|
1282
|
+
*/
|
|
1283
|
+
de: string;
|
|
1284
|
+
};
|
|
1285
|
+
/**
|
|
1286
|
+
* Description of the function
|
|
1287
|
+
*/
|
|
1288
|
+
description?: {
|
|
1289
|
+
/**
|
|
1290
|
+
* English translation
|
|
1291
|
+
*/
|
|
1292
|
+
en?: string | null;
|
|
1293
|
+
/**
|
|
1294
|
+
* German translation
|
|
1295
|
+
*/
|
|
1296
|
+
de: string;
|
|
1297
|
+
};
|
|
1298
|
+
/**
|
|
1299
|
+
* JavaScript code to execute. Must declare a top-level `async function handler(input, context)`. Maximum size: 300KB (hard limit). Security restrictions: eval() and Function() constructor are not allowed.
|
|
1300
|
+
*
|
|
1301
|
+
*/
|
|
1302
|
+
code: string;
|
|
1303
|
+
/**
|
|
1304
|
+
* Cron trigger for the function, executed once per installation. Standard 5-field cron expression (e.g. "0 3 * * *") or rate expression (e.g. "rate(30 minutes)"). Minimum interval: 15 minutes. Scheduled runs are limited to 60 seconds.
|
|
1305
|
+
*
|
|
1306
|
+
* example:
|
|
1307
|
+
* rate(30 minutes)
|
|
1308
|
+
*/
|
|
1309
|
+
schedule?: string;
|
|
1310
|
+
/**
|
|
1311
|
+
* IANA timezone the cron expression is evaluated in
|
|
1312
|
+
*/
|
|
1313
|
+
schedule_timezone?: string;
|
|
1314
|
+
/**
|
|
1315
|
+
* Behavior when the previous scheduled run is still active
|
|
1316
|
+
*/
|
|
1317
|
+
schedule_overlap?: "skip";
|
|
1318
|
+
/**
|
|
1319
|
+
* DEPRECATED and ignored — functions receive the app's full effective option keyspace (sensitive values included) via input.app_options. Kept for manifest compatibility.
|
|
1320
|
+
*
|
|
1321
|
+
*/
|
|
1322
|
+
secrets?: string[];
|
|
1323
|
+
}
|
|
1324
|
+
export interface FunctionRefCustomActionConfig {
|
|
1325
|
+
/**
|
|
1326
|
+
* Name of the custom action
|
|
1327
|
+
*/
|
|
1328
|
+
name?: string;
|
|
1329
|
+
/**
|
|
1330
|
+
* Description of the custom action
|
|
1331
|
+
*/
|
|
1332
|
+
description?: string;
|
|
1333
|
+
/**
|
|
1334
|
+
* Wait for callback_url to be called before completing the action
|
|
1335
|
+
*/
|
|
1336
|
+
wait_for_callback?: boolean;
|
|
1337
|
+
type: "function";
|
|
1338
|
+
/**
|
|
1339
|
+
* Name of a `workflow`-type function of the same app version. The component provides the org-facing contract (name, options, config surface); the referenced function provides the code.
|
|
1340
|
+
*
|
|
1341
|
+
*/
|
|
1342
|
+
function_name: string;
|
|
1343
|
+
}
|
|
1179
1344
|
/**
|
|
1180
1345
|
* Required grants for the app in order to call APIs for the installing tenant
|
|
1181
1346
|
*/
|
|
@@ -1225,6 +1390,22 @@ declare namespace Components {
|
|
|
1225
1390
|
* List of component configurations for the installed version
|
|
1226
1391
|
*/
|
|
1227
1392
|
components: BaseComponent[];
|
|
1393
|
+
/**
|
|
1394
|
+
* Server-side functions of the installed version, including scheduled functions
|
|
1395
|
+
*/
|
|
1396
|
+
functions?: /**
|
|
1397
|
+
* A named server-side function belonging to the app. Runs in the epilot code-execution sandbox with an installation-scoped app token. Functions with a schedule are executed automatically once per installation.
|
|
1398
|
+
*
|
|
1399
|
+
*/
|
|
1400
|
+
FunctionDefinition[];
|
|
1401
|
+
/**
|
|
1402
|
+
* Effective app-level options of the installation: declared top-level options plus
|
|
1403
|
+
* component-level options lifted to the app keyspace, each with its configured
|
|
1404
|
+
* `value`. Values of sensitive options (secrets) are never included — they carry
|
|
1405
|
+
* `configured` and `value_updated_at` instead.
|
|
1406
|
+
*
|
|
1407
|
+
*/
|
|
1408
|
+
options?: /* Options for the component configuration */ Options[];
|
|
1228
1409
|
/**
|
|
1229
1410
|
* Version of the app that is installed
|
|
1230
1411
|
*/
|
|
@@ -1260,6 +1441,55 @@ declare namespace Components {
|
|
|
1260
1441
|
*/
|
|
1261
1442
|
_manifest?: string /* uuid */[];
|
|
1262
1443
|
}
|
|
1444
|
+
/**
|
|
1445
|
+
* Review entry including app ownership info, used by internal admin endpoints
|
|
1446
|
+
*/
|
|
1447
|
+
export interface InternalReview {
|
|
1448
|
+
/**
|
|
1449
|
+
* Version of the app that is under review
|
|
1450
|
+
*/
|
|
1451
|
+
version?: string;
|
|
1452
|
+
/**
|
|
1453
|
+
* Status of the review
|
|
1454
|
+
*/
|
|
1455
|
+
review_status?: "approved" | "rejected" | "pending";
|
|
1456
|
+
/**
|
|
1457
|
+
* Timestamp of the review
|
|
1458
|
+
*/
|
|
1459
|
+
requested_at?: string;
|
|
1460
|
+
/**
|
|
1461
|
+
* User ID of the reviewer
|
|
1462
|
+
*/
|
|
1463
|
+
requested_by?: string;
|
|
1464
|
+
/**
|
|
1465
|
+
* Email of the technical contact
|
|
1466
|
+
*/
|
|
1467
|
+
technical_contact?: string;
|
|
1468
|
+
/**
|
|
1469
|
+
* Email of the marketing contact
|
|
1470
|
+
*/
|
|
1471
|
+
marketing_contact?: string;
|
|
1472
|
+
/**
|
|
1473
|
+
* URL of the demo
|
|
1474
|
+
*/
|
|
1475
|
+
demo_url?: string;
|
|
1476
|
+
/**
|
|
1477
|
+
* ID of the app configuration
|
|
1478
|
+
*/
|
|
1479
|
+
app_id?: string;
|
|
1480
|
+
/**
|
|
1481
|
+
* Organization ID of the app owner
|
|
1482
|
+
*/
|
|
1483
|
+
org_id?: string;
|
|
1484
|
+
/**
|
|
1485
|
+
* Identity of the internal reviewer who approved the review
|
|
1486
|
+
*/
|
|
1487
|
+
reviewed_by?: string;
|
|
1488
|
+
/**
|
|
1489
|
+
* Timestamp of the approval
|
|
1490
|
+
*/
|
|
1491
|
+
reviewed_at?: string;
|
|
1492
|
+
}
|
|
1263
1493
|
export interface JourneyBlockComponent {
|
|
1264
1494
|
component_type: "CUSTOM_JOURNEY_BLOCK";
|
|
1265
1495
|
configuration: JourneyBlockConfig;
|
|
@@ -1443,10 +1673,42 @@ declare namespace Components {
|
|
|
1443
1673
|
*
|
|
1444
1674
|
*/
|
|
1445
1675
|
type: "text" | "number" | "boolean" | "secret" | "object";
|
|
1676
|
+
/**
|
|
1677
|
+
* Write-only, server-side only value — like a sensitive environment variable
|
|
1678
|
+
* (app-level options only). Sensitive values are never serialized in any response;
|
|
1679
|
+
* they are resolvable only via server-side channels (API proxy injection, function
|
|
1680
|
+
* `secrets` allowlist, the internal options/resolve endpoint). Non-sensitive values
|
|
1681
|
+
* are readable wherever the app runs, including the end-customer browser (journey and
|
|
1682
|
+
* portal runtime). Forced to true for `secret`-touching options. Default: false.
|
|
1683
|
+
*
|
|
1684
|
+
*/
|
|
1685
|
+
sensitive?: boolean;
|
|
1686
|
+
/**
|
|
1687
|
+
* Serialized instead of `value` for sensitive options (secrets): true when a
|
|
1688
|
+
* value is stored.
|
|
1689
|
+
*
|
|
1690
|
+
*/
|
|
1691
|
+
configured?: boolean;
|
|
1692
|
+
/**
|
|
1693
|
+
* Compatibility marker: this option is declared at app level and folded back
|
|
1694
|
+
* into the component's options so existing consumers (journey runtime, portal
|
|
1695
|
+
* blocks, older services) keep working unchanged. New consumers should read
|
|
1696
|
+
* app-level options from the installation's `options` array instead.
|
|
1697
|
+
*
|
|
1698
|
+
*/
|
|
1699
|
+
lifted?: boolean;
|
|
1700
|
+
/**
|
|
1701
|
+
* Timestamp of the last value change. Only returned for sensitive options
|
|
1702
|
+
* (alongside `configured`) so installers can see when a secret was last rotated.
|
|
1703
|
+
*
|
|
1704
|
+
*/
|
|
1705
|
+
value_updated_at?: string;
|
|
1446
1706
|
}
|
|
1447
1707
|
export interface OptionsRef {
|
|
1448
1708
|
/**
|
|
1449
|
-
* ID of the component these values are for
|
|
1709
|
+
* ID of the component these values are for. Use the sentinel `$app` for
|
|
1710
|
+
* app-level option values (options declared at the manifest top level).
|
|
1711
|
+
*
|
|
1450
1712
|
*/
|
|
1451
1713
|
component_id: string;
|
|
1452
1714
|
options: Option[];
|
|
@@ -2647,6 +2909,18 @@ declare namespace Components {
|
|
|
2647
2909
|
billing_frequency?: /* How often the subscription is billed */ BillingFrequency;
|
|
2648
2910
|
};
|
|
2649
2911
|
components: BaseComponent[];
|
|
2912
|
+
/**
|
|
2913
|
+
* Server-side functions of the app, including scheduled functions
|
|
2914
|
+
*/
|
|
2915
|
+
functions?: /**
|
|
2916
|
+
* A named server-side function belonging to the app. Runs in the epilot code-execution sandbox with an installation-scoped app token. Functions with a schedule are executed automatically once per installation.
|
|
2917
|
+
*
|
|
2918
|
+
*/
|
|
2919
|
+
FunctionDefinition[];
|
|
2920
|
+
/**
|
|
2921
|
+
* App-level option declarations (with sensitivity) of this version
|
|
2922
|
+
*/
|
|
2923
|
+
options?: /* Options for the component configuration */ Options[];
|
|
2650
2924
|
/**
|
|
2651
2925
|
* Flag to indicate if the app is in beta.
|
|
2652
2926
|
*/
|
|
@@ -2729,28 +3003,6 @@ declare namespace Components {
|
|
|
2729
3003
|
*/
|
|
2730
3004
|
key: string;
|
|
2731
3005
|
}
|
|
2732
|
-
export interface SandboxCustomActionConfig {
|
|
2733
|
-
/**
|
|
2734
|
-
* Name of the custom action
|
|
2735
|
-
*/
|
|
2736
|
-
name?: string;
|
|
2737
|
-
/**
|
|
2738
|
-
* Description of the custom action
|
|
2739
|
-
*/
|
|
2740
|
-
description?: string;
|
|
2741
|
-
/**
|
|
2742
|
-
* Wait for callback_url to be called before completing the action
|
|
2743
|
-
*/
|
|
2744
|
-
wait_for_callback?: boolean;
|
|
2745
|
-
type: "sandbox";
|
|
2746
|
-
sandbox_settings?: {
|
|
2747
|
-
/**
|
|
2748
|
-
* JavaScript code to execute for the sandbox action. Maximum size: 300KB (hard limit). Code is stored as raw JavaScript and will be syntax-validated on save. Security restrictions: eval() and Function() constructor are not allowed.
|
|
2749
|
-
*
|
|
2750
|
-
*/
|
|
2751
|
-
code?: string;
|
|
2752
|
-
};
|
|
2753
|
-
}
|
|
2754
3006
|
export interface TextArg {
|
|
2755
3007
|
type?: "text";
|
|
2756
3008
|
}
|
|
@@ -3346,6 +3598,29 @@ declare namespace Paths {
|
|
|
3346
3598
|
}
|
|
3347
3599
|
}
|
|
3348
3600
|
}
|
|
3601
|
+
namespace ResolveOptions {
|
|
3602
|
+
namespace Parameters {
|
|
3603
|
+
export type AppId = string;
|
|
3604
|
+
}
|
|
3605
|
+
export interface PathParameters {
|
|
3606
|
+
appId: Parameters.AppId;
|
|
3607
|
+
}
|
|
3608
|
+
export interface RequestBody {
|
|
3609
|
+
/**
|
|
3610
|
+
* Narrow the response to these option keys
|
|
3611
|
+
*/
|
|
3612
|
+
keys?: string[];
|
|
3613
|
+
}
|
|
3614
|
+
namespace Responses {
|
|
3615
|
+
export interface $200 {
|
|
3616
|
+
options?: /* Options for the component configuration */ Components.Schemas.Options[];
|
|
3617
|
+
}
|
|
3618
|
+
export interface $403 {
|
|
3619
|
+
}
|
|
3620
|
+
export interface $404 {
|
|
3621
|
+
}
|
|
3622
|
+
}
|
|
3623
|
+
}
|
|
3349
3624
|
namespace Uninstall {
|
|
3350
3625
|
namespace Parameters {
|
|
3351
3626
|
export type AppId = string;
|
|
@@ -3399,12 +3674,18 @@ declare namespace Paths {
|
|
|
3399
3674
|
export type AppId = string;
|
|
3400
3675
|
export type Path = string;
|
|
3401
3676
|
export type ProxyName = string;
|
|
3677
|
+
export interface Query {
|
|
3678
|
+
[name: string]: any;
|
|
3679
|
+
}
|
|
3402
3680
|
}
|
|
3403
3681
|
export interface PathParameters {
|
|
3404
3682
|
appId: Parameters.AppId;
|
|
3405
3683
|
proxyName: Parameters.ProxyName;
|
|
3406
3684
|
path: Parameters.Path;
|
|
3407
3685
|
}
|
|
3686
|
+
export interface QueryParameters {
|
|
3687
|
+
query?: Parameters.Query;
|
|
3688
|
+
}
|
|
3408
3689
|
}
|
|
3409
3690
|
}
|
|
3410
3691
|
|
|
@@ -3701,6 +3982,16 @@ export interface OperationMethods {
|
|
|
3701
3982
|
data?: any,
|
|
3702
3983
|
config?: AxiosRequestConfig
|
|
3703
3984
|
): OperationResponse<Paths.PromoteVersion.Responses.$200>
|
|
3985
|
+
/**
|
|
3986
|
+
* resolveOptions - resolveOptions
|
|
3987
|
+
*
|
|
3988
|
+
* Resolve the effective app-level options of an installation, including decrypted sensitive values (secrets). This endpoint accepts epilot internal-auth tokens exclusively (internal service calls, e.g. automation-workers or the customer portal API) — no user token, API key, or app token can call it, regardless of roles. Every call is audit-logged with the caller identity.
|
|
3989
|
+
*/
|
|
3990
|
+
'resolveOptions'(
|
|
3991
|
+
parameters?: Parameters<Paths.ResolveOptions.PathParameters> | null,
|
|
3992
|
+
data?: Paths.ResolveOptions.RequestBody,
|
|
3993
|
+
config?: AxiosRequestConfig
|
|
3994
|
+
): OperationResponse<Paths.ResolveOptions.Responses.$200>
|
|
3704
3995
|
/**
|
|
3705
3996
|
* ingestEvent - ingestEvent
|
|
3706
3997
|
*
|
|
@@ -3717,7 +4008,7 @@ export interface OperationMethods {
|
|
|
3717
4008
|
* Forward a GET request to a registered proxy target from a public-facing component (e.g. journey blocks)
|
|
3718
4009
|
*/
|
|
3719
4010
|
'publicProxyGet'(
|
|
3720
|
-
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
4011
|
+
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.QueryParameters & Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
3721
4012
|
data?: any,
|
|
3722
4013
|
config?: AxiosRequestConfig
|
|
3723
4014
|
): OperationResponse<Paths.PublicProxyGet.Responses.$200>
|
|
@@ -3727,7 +4018,7 @@ export interface OperationMethods {
|
|
|
3727
4018
|
* Forward a PUT request to a registered proxy target from a public-facing component
|
|
3728
4019
|
*/
|
|
3729
4020
|
'publicProxyPut'(
|
|
3730
|
-
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
4021
|
+
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.QueryParameters & Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
3731
4022
|
data?: Paths.PublicProxyPut.RequestBody,
|
|
3732
4023
|
config?: AxiosRequestConfig
|
|
3733
4024
|
): OperationResponse<Paths.PublicProxyPut.Responses.$200>
|
|
@@ -3737,7 +4028,7 @@ export interface OperationMethods {
|
|
|
3737
4028
|
* Forward a POST request to a registered proxy target from a public-facing component (e.g. journey blocks)
|
|
3738
4029
|
*/
|
|
3739
4030
|
'publicProxyPost'(
|
|
3740
|
-
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
4031
|
+
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.QueryParameters & Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
3741
4032
|
data?: Paths.PublicProxyPost.RequestBody,
|
|
3742
4033
|
config?: AxiosRequestConfig
|
|
3743
4034
|
): OperationResponse<Paths.PublicProxyPost.Responses.$200>
|
|
@@ -3747,7 +4038,7 @@ export interface OperationMethods {
|
|
|
3747
4038
|
* Forward a PATCH request to a registered proxy target from a public-facing component
|
|
3748
4039
|
*/
|
|
3749
4040
|
'publicProxyPatch'(
|
|
3750
|
-
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
4041
|
+
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.QueryParameters & Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
3751
4042
|
data?: Paths.PublicProxyPatch.RequestBody,
|
|
3752
4043
|
config?: AxiosRequestConfig
|
|
3753
4044
|
): OperationResponse<Paths.PublicProxyPatch.Responses.$200>
|
|
@@ -3757,7 +4048,7 @@ export interface OperationMethods {
|
|
|
3757
4048
|
* Forward a DELETE request to a registered proxy target from a public-facing component
|
|
3758
4049
|
*/
|
|
3759
4050
|
'publicProxyDelete'(
|
|
3760
|
-
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
4051
|
+
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.QueryParameters & Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
3761
4052
|
data?: any,
|
|
3762
4053
|
config?: AxiosRequestConfig
|
|
3763
4054
|
): OperationResponse<Paths.PublicProxyDelete.Responses.$200>
|
|
@@ -4091,6 +4382,18 @@ export interface PathsDictionary {
|
|
|
4091
4382
|
config?: AxiosRequestConfig
|
|
4092
4383
|
): OperationResponse<Paths.PromoteVersion.Responses.$200>
|
|
4093
4384
|
}
|
|
4385
|
+
['/v1/app/{appId}/options/resolve']: {
|
|
4386
|
+
/**
|
|
4387
|
+
* resolveOptions - resolveOptions
|
|
4388
|
+
*
|
|
4389
|
+
* Resolve the effective app-level options of an installation, including decrypted sensitive values (secrets). This endpoint accepts epilot internal-auth tokens exclusively (internal service calls, e.g. automation-workers or the customer portal API) — no user token, API key, or app token can call it, regardless of roles. Every call is audit-logged with the caller identity.
|
|
4390
|
+
*/
|
|
4391
|
+
'post'(
|
|
4392
|
+
parameters?: Parameters<Paths.ResolveOptions.PathParameters> | null,
|
|
4393
|
+
data?: Paths.ResolveOptions.RequestBody,
|
|
4394
|
+
config?: AxiosRequestConfig
|
|
4395
|
+
): OperationResponse<Paths.ResolveOptions.Responses.$200>
|
|
4396
|
+
}
|
|
4094
4397
|
['/v1/app-events']: {
|
|
4095
4398
|
/**
|
|
4096
4399
|
* ingestEvent - ingestEvent
|
|
@@ -4110,7 +4413,7 @@ export interface PathsDictionary {
|
|
|
4110
4413
|
* Forward a GET request to a registered proxy target from a public-facing component (e.g. journey blocks)
|
|
4111
4414
|
*/
|
|
4112
4415
|
'get'(
|
|
4113
|
-
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
4416
|
+
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.QueryParameters & Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
4114
4417
|
data?: any,
|
|
4115
4418
|
config?: AxiosRequestConfig
|
|
4116
4419
|
): OperationResponse<Paths.PublicProxyGet.Responses.$200>
|
|
@@ -4120,7 +4423,7 @@ export interface PathsDictionary {
|
|
|
4120
4423
|
* Forward a POST request to a registered proxy target from a public-facing component (e.g. journey blocks)
|
|
4121
4424
|
*/
|
|
4122
4425
|
'post'(
|
|
4123
|
-
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
4426
|
+
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.QueryParameters & Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
4124
4427
|
data?: Paths.PublicProxyPost.RequestBody,
|
|
4125
4428
|
config?: AxiosRequestConfig
|
|
4126
4429
|
): OperationResponse<Paths.PublicProxyPost.Responses.$200>
|
|
@@ -4130,7 +4433,7 @@ export interface PathsDictionary {
|
|
|
4130
4433
|
* Forward a PUT request to a registered proxy target from a public-facing component
|
|
4131
4434
|
*/
|
|
4132
4435
|
'put'(
|
|
4133
|
-
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
4436
|
+
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.QueryParameters & Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
4134
4437
|
data?: Paths.PublicProxyPut.RequestBody,
|
|
4135
4438
|
config?: AxiosRequestConfig
|
|
4136
4439
|
): OperationResponse<Paths.PublicProxyPut.Responses.$200>
|
|
@@ -4140,7 +4443,7 @@ export interface PathsDictionary {
|
|
|
4140
4443
|
* Forward a PATCH request to a registered proxy target from a public-facing component
|
|
4141
4444
|
*/
|
|
4142
4445
|
'patch'(
|
|
4143
|
-
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
4446
|
+
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.QueryParameters & Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
4144
4447
|
data?: Paths.PublicProxyPatch.RequestBody,
|
|
4145
4448
|
config?: AxiosRequestConfig
|
|
4146
4449
|
): OperationResponse<Paths.PublicProxyPatch.Responses.$200>
|
|
@@ -4150,7 +4453,7 @@ export interface PathsDictionary {
|
|
|
4150
4453
|
* Forward a DELETE request to a registered proxy target from a public-facing component
|
|
4151
4454
|
*/
|
|
4152
4455
|
'delete'(
|
|
4153
|
-
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
4456
|
+
parameters?: Parameters<Paths.V1PublicApp$AppIdProxy$ProxyName$Path.QueryParameters & Paths.V1PublicApp$AppIdProxy$ProxyName$Path.PathParameters> | null,
|
|
4154
4457
|
data?: any,
|
|
4155
4458
|
config?: AxiosRequestConfig
|
|
4156
4459
|
): OperationResponse<Paths.PublicProxyDelete.Responses.$200>
|
|
@@ -4196,8 +4499,11 @@ export type ExternalProductCatalogComponent = Components.Schemas.ExternalProduct
|
|
|
4196
4499
|
export type ExternalProductCatalogConfig = Components.Schemas.ExternalProductCatalogConfig;
|
|
4197
4500
|
export type ExternalProductCatalogHookProductRecommendations = Components.Schemas.ExternalProductCatalogHookProductRecommendations;
|
|
4198
4501
|
export type ExternalProductCatalogHookProducts = Components.Schemas.ExternalProductCatalogHookProducts;
|
|
4502
|
+
export type FunctionDefinition = Components.Schemas.FunctionDefinition;
|
|
4503
|
+
export type FunctionRefCustomActionConfig = Components.Schemas.FunctionRefCustomActionConfig;
|
|
4199
4504
|
export type Grants = Components.Schemas.Grants;
|
|
4200
4505
|
export type Installation = Components.Schemas.Installation;
|
|
4506
|
+
export type InternalReview = Components.Schemas.InternalReview;
|
|
4201
4507
|
export type JourneyBlockComponent = Components.Schemas.JourneyBlockComponent;
|
|
4202
4508
|
export type JourneyBlockComponentArgs = Components.Schemas.JourneyBlockComponentArgs;
|
|
4203
4509
|
export type JourneyBlockConfig = Components.Schemas.JourneyBlockConfig;
|
|
@@ -4233,6 +4539,5 @@ export type RawEvents = Components.Schemas.RawEvents;
|
|
|
4233
4539
|
export type Review = Components.Schemas.Review;
|
|
4234
4540
|
export type Role = Components.Schemas.Role;
|
|
4235
4541
|
export type S3Reference = Components.Schemas.S3Reference;
|
|
4236
|
-
export type SandboxCustomActionConfig = Components.Schemas.SandboxCustomActionConfig;
|
|
4237
4542
|
export type TextArg = Components.Schemas.TextArg;
|
|
4238
4543
|
export type TranslatedString = Components.Schemas.TranslatedString;
|
package/dist/openapi.json
CHANGED
|
@@ -1438,6 +1438,70 @@
|
|
|
1438
1438
|
}
|
|
1439
1439
|
}
|
|
1440
1440
|
},
|
|
1441
|
+
"/v1/app/{appId}/options/resolve": {
|
|
1442
|
+
"post": {
|
|
1443
|
+
"summary": "resolveOptions",
|
|
1444
|
+
"description": "Resolve the effective app-level options of an installation, including decrypted sensitive values (secrets). This endpoint accepts epilot internal-auth tokens exclusively (internal service calls, e.g. automation-workers or the customer portal API) — no user token, API key, or app token can call it, regardless of roles. Every call is audit-logged with the caller identity.",
|
|
1445
|
+
"operationId": "resolveOptions",
|
|
1446
|
+
"tags": [
|
|
1447
|
+
"App Installation"
|
|
1448
|
+
],
|
|
1449
|
+
"parameters": [
|
|
1450
|
+
{
|
|
1451
|
+
"name": "appId",
|
|
1452
|
+
"in": "path",
|
|
1453
|
+
"required": true,
|
|
1454
|
+
"schema": {
|
|
1455
|
+
"type": "string"
|
|
1456
|
+
}
|
|
1457
|
+
}
|
|
1458
|
+
],
|
|
1459
|
+
"requestBody": {
|
|
1460
|
+
"content": {
|
|
1461
|
+
"application/json": {
|
|
1462
|
+
"schema": {
|
|
1463
|
+
"type": "object",
|
|
1464
|
+
"properties": {
|
|
1465
|
+
"keys": {
|
|
1466
|
+
"type": "array",
|
|
1467
|
+
"items": {
|
|
1468
|
+
"type": "string"
|
|
1469
|
+
},
|
|
1470
|
+
"description": "Narrow the response to these option keys"
|
|
1471
|
+
}
|
|
1472
|
+
}
|
|
1473
|
+
}
|
|
1474
|
+
}
|
|
1475
|
+
}
|
|
1476
|
+
},
|
|
1477
|
+
"responses": {
|
|
1478
|
+
"200": {
|
|
1479
|
+
"description": "Effective options with resolved values",
|
|
1480
|
+
"content": {
|
|
1481
|
+
"application/json": {
|
|
1482
|
+
"schema": {
|
|
1483
|
+
"type": "object",
|
|
1484
|
+
"properties": {
|
|
1485
|
+
"options": {
|
|
1486
|
+
"type": "array",
|
|
1487
|
+
"items": {
|
|
1488
|
+
"$ref": "#/components/schemas/Options"
|
|
1489
|
+
}
|
|
1490
|
+
}
|
|
1491
|
+
}
|
|
1492
|
+
}
|
|
1493
|
+
}
|
|
1494
|
+
}
|
|
1495
|
+
},
|
|
1496
|
+
"403": {
|
|
1497
|
+
"description": "Caller is not authenticated with an internal-auth token"
|
|
1498
|
+
},
|
|
1499
|
+
"404": {
|
|
1500
|
+
"description": "App installation not found"
|
|
1501
|
+
}
|
|
1502
|
+
}
|
|
1503
|
+
}
|
|
1504
|
+
},
|
|
1441
1505
|
"/v1/app-events": {
|
|
1442
1506
|
"post": {
|
|
1443
1507
|
"summary": "ingestEvent",
|
|
@@ -1501,6 +1565,18 @@
|
|
|
1501
1565
|
"type": "string"
|
|
1502
1566
|
},
|
|
1503
1567
|
"description": "Path to forward to the proxy target"
|
|
1568
|
+
},
|
|
1569
|
+
{
|
|
1570
|
+
"name": "query",
|
|
1571
|
+
"in": "query",
|
|
1572
|
+
"required": false,
|
|
1573
|
+
"style": "form",
|
|
1574
|
+
"explode": true,
|
|
1575
|
+
"schema": {
|
|
1576
|
+
"type": "object",
|
|
1577
|
+
"additionalProperties": true
|
|
1578
|
+
},
|
|
1579
|
+
"description": "Free-form query parameters, forwarded unchanged to the proxy target"
|
|
1504
1580
|
}
|
|
1505
1581
|
],
|
|
1506
1582
|
"get": {
|
|
@@ -1812,6 +1888,20 @@
|
|
|
1812
1888
|
},
|
|
1813
1889
|
"grants": {
|
|
1814
1890
|
"$ref": "#/components/schemas/Grants"
|
|
1891
|
+
},
|
|
1892
|
+
"functions": {
|
|
1893
|
+
"type": "array",
|
|
1894
|
+
"items": {
|
|
1895
|
+
"$ref": "#/components/schemas/FunctionDefinition"
|
|
1896
|
+
},
|
|
1897
|
+
"description": "Replaces the full set of server-side functions for this version"
|
|
1898
|
+
},
|
|
1899
|
+
"options": {
|
|
1900
|
+
"type": "array",
|
|
1901
|
+
"items": {
|
|
1902
|
+
"$ref": "#/components/schemas/Options"
|
|
1903
|
+
},
|
|
1904
|
+
"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"
|
|
1815
1905
|
}
|
|
1816
1906
|
}
|
|
1817
1907
|
}
|
|
@@ -1965,6 +2055,25 @@
|
|
|
1965
2055
|
"object"
|
|
1966
2056
|
],
|
|
1967
2057
|
"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"
|
|
2058
|
+
},
|
|
2059
|
+
"sensitive": {
|
|
2060
|
+
"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\n`secrets` allowlist, 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
|
+
},
|
|
2063
|
+
"configured": {
|
|
2064
|
+
"type": "boolean",
|
|
2065
|
+
"readOnly": true,
|
|
2066
|
+
"description": "Serialized instead of `value` for sensitive options (secrets): true when a\nvalue is stored.\n"
|
|
2067
|
+
},
|
|
2068
|
+
"lifted": {
|
|
2069
|
+
"type": "boolean",
|
|
2070
|
+
"readOnly": true,
|
|
2071
|
+
"description": "Compatibility marker: this option is declared at app level and folded back\ninto the component's options so existing consumers (journey runtime, portal\nblocks, older services) keep working unchanged. New consumers should read\napp-level options from the installation's `options` array instead.\n"
|
|
2072
|
+
},
|
|
2073
|
+
"value_updated_at": {
|
|
2074
|
+
"type": "string",
|
|
2075
|
+
"readOnly": true,
|
|
2076
|
+
"description": "Timestamp of the last value change. Only returned for sensitive options\n(alongside `configured`) so installers can see when a secret was last rotated.\n"
|
|
1968
2077
|
}
|
|
1969
2078
|
}
|
|
1970
2079
|
},
|
|
@@ -2029,7 +2138,7 @@
|
|
|
2029
2138
|
"properties": {
|
|
2030
2139
|
"component_id": {
|
|
2031
2140
|
"type": "string",
|
|
2032
|
-
"description": "ID of the component these values are for"
|
|
2141
|
+
"description": "ID of the component these values are for. Use the sentinel `$app` for\napp-level option values (options declared at the manifest top level).\n"
|
|
2033
2142
|
},
|
|
2034
2143
|
"options": {
|
|
2035
2144
|
"type": "array",
|
|
@@ -2069,10 +2178,87 @@
|
|
|
2069
2178
|
"CUSTOM_CAPABILITY",
|
|
2070
2179
|
"EXTERNAL_PRODUCT_CATALOG",
|
|
2071
2180
|
"CUSTOM_PAGE",
|
|
2072
|
-
"API_PROXY"
|
|
2181
|
+
"API_PROXY",
|
|
2182
|
+
"APP_FUNCTION"
|
|
2073
2183
|
],
|
|
2074
2184
|
"description": "Type of app component"
|
|
2075
2185
|
},
|
|
2186
|
+
"FunctionDefinition": {
|
|
2187
|
+
"type": "object",
|
|
2188
|
+
"description": "A named server-side function belonging to the app. Runs in the epilot code-execution sandbox with an installation-scoped app token. Functions with a schedule are executed automatically once per installation.\n",
|
|
2189
|
+
"required": [
|
|
2190
|
+
"name",
|
|
2191
|
+
"type",
|
|
2192
|
+
"code"
|
|
2193
|
+
],
|
|
2194
|
+
"properties": {
|
|
2195
|
+
"name": {
|
|
2196
|
+
"type": "string",
|
|
2197
|
+
"description": "Unique function name within the app",
|
|
2198
|
+
"pattern": "^[a-z0-9][a-z0-9-]{0,63}$"
|
|
2199
|
+
},
|
|
2200
|
+
"type": {
|
|
2201
|
+
"type": "string",
|
|
2202
|
+
"enum": [
|
|
2203
|
+
"workflow",
|
|
2204
|
+
"scheduled"
|
|
2205
|
+
],
|
|
2206
|
+
"description": "Where the function can be used. `workflow` functions are referenced by CUSTOM_FLOW_ACTION components (type `function`) and run with entity context. `scheduled` functions run automatically per installation on their cron schedule.\n"
|
|
2207
|
+
},
|
|
2208
|
+
"label": {
|
|
2209
|
+
"allOf": [
|
|
2210
|
+
{
|
|
2211
|
+
"description": "Human-readable display name of the function, shown to installing organizations (e.g. in the scheduled-functions summary)\n"
|
|
2212
|
+
},
|
|
2213
|
+
{
|
|
2214
|
+
"$ref": "#/components/schemas/TranslatedString"
|
|
2215
|
+
}
|
|
2216
|
+
]
|
|
2217
|
+
},
|
|
2218
|
+
"description": {
|
|
2219
|
+
"allOf": [
|
|
2220
|
+
{
|
|
2221
|
+
"description": "Description of the function"
|
|
2222
|
+
},
|
|
2223
|
+
{
|
|
2224
|
+
"$ref": "#/components/schemas/TranslatedString"
|
|
2225
|
+
}
|
|
2226
|
+
]
|
|
2227
|
+
},
|
|
2228
|
+
"code": {
|
|
2229
|
+
"type": "string",
|
|
2230
|
+
"maxLength": 307200,
|
|
2231
|
+
"description": "JavaScript code to execute. Must declare a top-level `async function handler(input, context)`. Maximum size: 300KB (hard limit). Security restrictions: eval() and Function() constructor are not allowed.\n"
|
|
2232
|
+
},
|
|
2233
|
+
"schedule": {
|
|
2234
|
+
"type": "string",
|
|
2235
|
+
"maxLength": 100,
|
|
2236
|
+
"description": "Cron trigger for the function, executed once per installation. Standard 5-field cron expression (e.g. \"0 3 * * *\") or rate expression (e.g. \"rate(30 minutes)\"). Minimum interval: 15 minutes. Scheduled runs are limited to 60 seconds.\n",
|
|
2237
|
+
"example": "rate(30 minutes)"
|
|
2238
|
+
},
|
|
2239
|
+
"schedule_timezone": {
|
|
2240
|
+
"type": "string",
|
|
2241
|
+
"description": "IANA timezone the cron expression is evaluated in",
|
|
2242
|
+
"default": "Europe/Berlin"
|
|
2243
|
+
},
|
|
2244
|
+
"schedule_overlap": {
|
|
2245
|
+
"type": "string",
|
|
2246
|
+
"enum": [
|
|
2247
|
+
"skip"
|
|
2248
|
+
],
|
|
2249
|
+
"default": "skip",
|
|
2250
|
+
"description": "Behavior when the previous scheduled run is still active"
|
|
2251
|
+
},
|
|
2252
|
+
"secrets": {
|
|
2253
|
+
"type": "array",
|
|
2254
|
+
"items": {
|
|
2255
|
+
"type": "string"
|
|
2256
|
+
},
|
|
2257
|
+
"deprecated": true,
|
|
2258
|
+
"description": "DEPRECATED and ignored — functions receive the app's full effective option keyspace (sensitive values included) via input.app_options. Kept for manifest compatibility.\n"
|
|
2259
|
+
}
|
|
2260
|
+
}
|
|
2261
|
+
},
|
|
2076
2262
|
"Author": {
|
|
2077
2263
|
"type": "object",
|
|
2078
2264
|
"required": [
|
|
@@ -2159,6 +2345,13 @@
|
|
|
2159
2345
|
},
|
|
2160
2346
|
"description": "List of options for the app component"
|
|
2161
2347
|
},
|
|
2348
|
+
"uses_options": {
|
|
2349
|
+
"type": "array",
|
|
2350
|
+
"items": {
|
|
2351
|
+
"type": "string"
|
|
2352
|
+
},
|
|
2353
|
+
"description": "Keys of app-level options this component uses. Narrows which options are\nfolded back into `options` for legacy consumers (e.g. which values a journey\nblock receives in its public args) — a scoping hint, never a security\nboundary. Stamped automatically by the component-options migration; may also\nbe declared by the app developer.\n"
|
|
2354
|
+
},
|
|
2162
2355
|
"surfaces": {
|
|
2163
2356
|
"type": "object"
|
|
2164
2357
|
}
|
|
@@ -2486,7 +2679,7 @@
|
|
|
2486
2679
|
}
|
|
2487
2680
|
]
|
|
2488
2681
|
},
|
|
2489
|
-
"
|
|
2682
|
+
"FunctionRefCustomActionConfig": {
|
|
2490
2683
|
"allOf": [
|
|
2491
2684
|
{
|
|
2492
2685
|
"$ref": "#/components/schemas/BaseCustomActionConfig"
|
|
@@ -2497,41 +2690,37 @@
|
|
|
2497
2690
|
"type": {
|
|
2498
2691
|
"type": "string",
|
|
2499
2692
|
"enum": [
|
|
2500
|
-
"
|
|
2693
|
+
"function"
|
|
2501
2694
|
]
|
|
2502
2695
|
},
|
|
2503
|
-
"
|
|
2504
|
-
"type": "
|
|
2505
|
-
"
|
|
2506
|
-
"code": {
|
|
2507
|
-
"type": "string",
|
|
2508
|
-
"description": "JavaScript code to execute for the sandbox action. Maximum size: 300KB (hard limit). Code is stored as raw JavaScript and will be syntax-validated on save. Security restrictions: eval() and Function() constructor are not allowed.\n",
|
|
2509
|
-
"maxLength": 307200
|
|
2510
|
-
}
|
|
2511
|
-
}
|
|
2696
|
+
"function_name": {
|
|
2697
|
+
"type": "string",
|
|
2698
|
+
"description": "Name of a `workflow`-type function of the same app version. The component provides the org-facing contract (name, options, config surface); the referenced function provides the code.\n"
|
|
2512
2699
|
}
|
|
2513
2700
|
},
|
|
2514
2701
|
"required": [
|
|
2515
|
-
"type"
|
|
2702
|
+
"type",
|
|
2703
|
+
"function_name"
|
|
2516
2704
|
]
|
|
2517
2705
|
}
|
|
2518
2706
|
]
|
|
2519
2707
|
},
|
|
2520
2708
|
"CustomFlowConfig": {
|
|
2521
2709
|
"type": "object",
|
|
2710
|
+
"description": "Configuration of a flow action component. `external_integration` calls an external HTTP endpoint; `function` runs a workflow-type app function in the epilot sandbox.\n",
|
|
2522
2711
|
"oneOf": [
|
|
2523
2712
|
{
|
|
2524
2713
|
"$ref": "#/components/schemas/ExternalIntegrationCustomActionConfig"
|
|
2525
2714
|
},
|
|
2526
2715
|
{
|
|
2527
|
-
"$ref": "#/components/schemas/
|
|
2716
|
+
"$ref": "#/components/schemas/FunctionRefCustomActionConfig"
|
|
2528
2717
|
}
|
|
2529
2718
|
],
|
|
2530
2719
|
"discriminator": {
|
|
2531
2720
|
"propertyName": "type",
|
|
2532
2721
|
"mapping": {
|
|
2533
2722
|
"external_integration": "#/components/schemas/ExternalIntegrationCustomActionConfig",
|
|
2534
|
-
"
|
|
2723
|
+
"function": "#/components/schemas/FunctionRefCustomActionConfig"
|
|
2535
2724
|
}
|
|
2536
2725
|
}
|
|
2537
2726
|
},
|
|
@@ -4563,6 +4752,39 @@
|
|
|
4563
4752
|
}
|
|
4564
4753
|
}
|
|
4565
4754
|
},
|
|
4755
|
+
"InternalReview": {
|
|
4756
|
+
"description": "Review entry including app ownership info, used by internal admin endpoints",
|
|
4757
|
+
"allOf": [
|
|
4758
|
+
{
|
|
4759
|
+
"$ref": "#/components/schemas/Review"
|
|
4760
|
+
},
|
|
4761
|
+
{
|
|
4762
|
+
"type": "object",
|
|
4763
|
+
"properties": {
|
|
4764
|
+
"app_id": {
|
|
4765
|
+
"type": "string",
|
|
4766
|
+
"description": "ID of the app configuration",
|
|
4767
|
+
"readOnly": true
|
|
4768
|
+
},
|
|
4769
|
+
"org_id": {
|
|
4770
|
+
"type": "string",
|
|
4771
|
+
"description": "Organization ID of the app owner",
|
|
4772
|
+
"readOnly": true
|
|
4773
|
+
},
|
|
4774
|
+
"reviewed_by": {
|
|
4775
|
+
"type": "string",
|
|
4776
|
+
"description": "Identity of the internal reviewer who approved the review",
|
|
4777
|
+
"readOnly": true
|
|
4778
|
+
},
|
|
4779
|
+
"reviewed_at": {
|
|
4780
|
+
"type": "string",
|
|
4781
|
+
"description": "Timestamp of the approval",
|
|
4782
|
+
"readOnly": true
|
|
4783
|
+
}
|
|
4784
|
+
}
|
|
4785
|
+
}
|
|
4786
|
+
]
|
|
4787
|
+
},
|
|
4566
4788
|
"ConfigurationMetadata": {
|
|
4567
4789
|
"description": "Basic metadata about your app configuration which does not get versioned",
|
|
4568
4790
|
"type": "object",
|
|
@@ -4708,6 +4930,22 @@
|
|
|
4708
4930
|
},
|
|
4709
4931
|
"minItems": 0
|
|
4710
4932
|
},
|
|
4933
|
+
"functions": {
|
|
4934
|
+
"type": "array",
|
|
4935
|
+
"items": {
|
|
4936
|
+
"$ref": "#/components/schemas/FunctionDefinition"
|
|
4937
|
+
},
|
|
4938
|
+
"minItems": 0,
|
|
4939
|
+
"description": "Server-side functions of the app, including scheduled functions"
|
|
4940
|
+
},
|
|
4941
|
+
"options": {
|
|
4942
|
+
"type": "array",
|
|
4943
|
+
"items": {
|
|
4944
|
+
"$ref": "#/components/schemas/Options"
|
|
4945
|
+
},
|
|
4946
|
+
"minItems": 0,
|
|
4947
|
+
"description": "App-level option declarations (with sensitivity) of this version"
|
|
4948
|
+
},
|
|
4711
4949
|
"visibility": {
|
|
4712
4950
|
"type": "string",
|
|
4713
4951
|
"enum": [
|
|
@@ -4816,10 +5054,11 @@
|
|
|
4816
5054
|
"enum": [
|
|
4817
5055
|
"header",
|
|
4818
5056
|
"bearer",
|
|
5057
|
+
"basic",
|
|
4819
5058
|
"oauth2",
|
|
4820
5059
|
"none"
|
|
4821
5060
|
],
|
|
4822
|
-
"description": "Authentication strategy"
|
|
5061
|
+
"description": "Authentication strategy. 'basic' sends an HTTP Basic Authorization header built server-side from the 'username' and 'password' component options."
|
|
4823
5062
|
},
|
|
4824
5063
|
"auth_header": {
|
|
4825
5064
|
"type": "string",
|
|
@@ -4936,6 +5175,22 @@
|
|
|
4936
5175
|
"minLength": 0,
|
|
4937
5176
|
"readOnly": true
|
|
4938
5177
|
},
|
|
5178
|
+
"functions": {
|
|
5179
|
+
"description": "Server-side functions of the installed version, including scheduled functions",
|
|
5180
|
+
"type": "array",
|
|
5181
|
+
"items": {
|
|
5182
|
+
"$ref": "#/components/schemas/FunctionDefinition"
|
|
5183
|
+
},
|
|
5184
|
+
"readOnly": true
|
|
5185
|
+
},
|
|
5186
|
+
"options": {
|
|
5187
|
+
"description": "Effective app-level options of the installation: declared top-level options plus\ncomponent-level options lifted to the app keyspace, each with its configured\n`value`. Values of sensitive options (secrets) are never included — they carry\n`configured` and `value_updated_at` instead.\n",
|
|
5188
|
+
"type": "array",
|
|
5189
|
+
"items": {
|
|
5190
|
+
"$ref": "#/components/schemas/Options"
|
|
5191
|
+
},
|
|
5192
|
+
"readOnly": true
|
|
5193
|
+
},
|
|
4939
5194
|
"installed_version": {
|
|
4940
5195
|
"type": "string",
|
|
4941
5196
|
"description": "Version of the app that is installed",
|
|
@@ -5043,6 +5298,22 @@
|
|
|
5043
5298
|
},
|
|
5044
5299
|
"minItems": 0
|
|
5045
5300
|
},
|
|
5301
|
+
"functions": {
|
|
5302
|
+
"type": "array",
|
|
5303
|
+
"items": {
|
|
5304
|
+
"$ref": "#/components/schemas/FunctionDefinition"
|
|
5305
|
+
},
|
|
5306
|
+
"minItems": 0,
|
|
5307
|
+
"description": "Server-side functions of the app, including scheduled functions"
|
|
5308
|
+
},
|
|
5309
|
+
"options": {
|
|
5310
|
+
"type": "array",
|
|
5311
|
+
"items": {
|
|
5312
|
+
"$ref": "#/components/schemas/Options"
|
|
5313
|
+
},
|
|
5314
|
+
"minItems": 0,
|
|
5315
|
+
"description": "App-level option declarations (with sensitivity) of this version"
|
|
5316
|
+
},
|
|
5046
5317
|
"is_beta": {
|
|
5047
5318
|
"type": "boolean",
|
|
5048
5319
|
"description": "Flag to indicate if the app is in beta.",
|
|
@@ -5293,6 +5564,11 @@
|
|
|
5293
5564
|
"correlation_id": {
|
|
5294
5565
|
"type": "string",
|
|
5295
5566
|
"description": "Filter by correlation ID for tracing"
|
|
5567
|
+
},
|
|
5568
|
+
"search": {
|
|
5569
|
+
"type": "string",
|
|
5570
|
+
"maxLength": 200,
|
|
5571
|
+
"description": "Case-insensitive substring match over event details and component id"
|
|
5296
5572
|
}
|
|
5297
5573
|
}
|
|
5298
5574
|
},
|
|
@@ -5343,6 +5619,11 @@
|
|
|
5343
5619
|
"minimum": 1,
|
|
5344
5620
|
"maximum": 1000,
|
|
5345
5621
|
"default": 100
|
|
5622
|
+
},
|
|
5623
|
+
"before": {
|
|
5624
|
+
"type": "string",
|
|
5625
|
+
"format": "date-time",
|
|
5626
|
+
"description": "Cursor: only return events strictly older than this timestamp. Use the timestamp of the last received event to fetch the next page; more efficient than increasing page/page_size.\n"
|
|
5346
5627
|
}
|
|
5347
5628
|
}
|
|
5348
5629
|
},
|