@epilot/cli 0.1.108 → 0.1.110

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -29,7 +29,7 @@ npm install -g @epilot/cli
29
29
 
30
30
  <!-- usage-help -->
31
31
  ```
32
- epilot v0.1.108 — CLI for epilot APIs
32
+ epilot v0.1.110 — CLI for epilot APIs
33
33
 
34
34
  USAGE
35
35
  epilot <api> <operationId> [params...] [flags]
@@ -1501,6 +1501,18 @@
1501
1501
  "type": "string"
1502
1502
  },
1503
1503
  "description": "Path to forward to the proxy target"
1504
+ },
1505
+ {
1506
+ "name": "query",
1507
+ "in": "query",
1508
+ "required": false,
1509
+ "style": "form",
1510
+ "explode": true,
1511
+ "schema": {
1512
+ "type": "object",
1513
+ "additionalProperties": true
1514
+ },
1515
+ "description": "Free-form query parameters, forwarded unchanged to the proxy target"
1504
1516
  }
1505
1517
  ],
1506
1518
  "get": {
@@ -1812,6 +1824,13 @@
1812
1824
  },
1813
1825
  "grants": {
1814
1826
  "$ref": "#/components/schemas/Grants"
1827
+ },
1828
+ "functions": {
1829
+ "type": "array",
1830
+ "items": {
1831
+ "$ref": "#/components/schemas/FunctionDefinition"
1832
+ },
1833
+ "description": "Replaces the full set of server-side functions for this version"
1815
1834
  }
1816
1835
  }
1817
1836
  }
@@ -2069,10 +2088,99 @@
2069
2088
  "CUSTOM_CAPABILITY",
2070
2089
  "EXTERNAL_PRODUCT_CATALOG",
2071
2090
  "CUSTOM_PAGE",
2072
- "API_PROXY"
2091
+ "API_PROXY",
2092
+ "APP_FUNCTION"
2073
2093
  ],
2074
2094
  "description": "Type of app component"
2075
2095
  },
2096
+ "FunctionDefinition": {
2097
+ "type": "object",
2098
+ "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",
2099
+ "required": [
2100
+ "name",
2101
+ "type",
2102
+ "code"
2103
+ ],
2104
+ "properties": {
2105
+ "name": {
2106
+ "type": "string",
2107
+ "description": "Unique function name within the app",
2108
+ "pattern": "^[a-z0-9][a-z0-9-]{0,63}$"
2109
+ },
2110
+ "type": {
2111
+ "type": "string",
2112
+ "enum": [
2113
+ "workflow",
2114
+ "scheduled"
2115
+ ],
2116
+ "description": "Where the function can be used. `workflow` functions are selectable as actions in the flow builder and run with entity context. `scheduled` functions run automatically per installation on their cron schedule.\n"
2117
+ },
2118
+ "label": {
2119
+ "allOf": [
2120
+ {
2121
+ "description": "Human-readable display name, e.g. shown in the flow builder action picker"
2122
+ },
2123
+ {
2124
+ "$ref": "#/components/schemas/TranslatedString"
2125
+ }
2126
+ ]
2127
+ },
2128
+ "description": {
2129
+ "allOf": [
2130
+ {
2131
+ "description": "Description of the function"
2132
+ },
2133
+ {
2134
+ "$ref": "#/components/schemas/TranslatedString"
2135
+ }
2136
+ ]
2137
+ },
2138
+ "code": {
2139
+ "type": "string",
2140
+ "maxLength": 307200,
2141
+ "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"
2142
+ },
2143
+ "schedule": {
2144
+ "type": "string",
2145
+ "maxLength": 100,
2146
+ "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",
2147
+ "example": "rate(30 minutes)"
2148
+ },
2149
+ "schedule_timezone": {
2150
+ "type": "string",
2151
+ "description": "IANA timezone the cron expression is evaluated in",
2152
+ "default": "Europe/Berlin"
2153
+ },
2154
+ "schedule_overlap": {
2155
+ "type": "string",
2156
+ "enum": [
2157
+ "skip"
2158
+ ],
2159
+ "default": "skip",
2160
+ "description": "Behavior when the previous scheduled run is still active"
2161
+ },
2162
+ "secrets": {
2163
+ "type": "array",
2164
+ "items": {
2165
+ "type": "string"
2166
+ },
2167
+ "description": "Keys of installation options of type secret made available to the function via input.app_options\n"
2168
+ },
2169
+ "wait_for_callback": {
2170
+ "type": "boolean",
2171
+ "description": "Workflow functions only — wait for the callback_url to be called before completing the flow action\n"
2172
+ },
2173
+ "surfaces": {
2174
+ "type": "object",
2175
+ "description": "Workflow functions only — optional custom config UI shown in the flow builder",
2176
+ "properties": {
2177
+ "flow_action_config": {
2178
+ "$ref": "#/components/schemas/AppBridgeSurfaceConfig"
2179
+ }
2180
+ }
2181
+ }
2182
+ }
2183
+ },
2076
2184
  "Author": {
2077
2185
  "type": "object",
2078
2186
  "required": [
@@ -2486,52 +2594,18 @@
2486
2594
  }
2487
2595
  ]
2488
2596
  },
2489
- "SandboxCustomActionConfig": {
2490
- "allOf": [
2491
- {
2492
- "$ref": "#/components/schemas/BaseCustomActionConfig"
2493
- },
2494
- {
2495
- "type": "object",
2496
- "properties": {
2497
- "type": {
2498
- "type": "string",
2499
- "enum": [
2500
- "sandbox"
2501
- ]
2502
- },
2503
- "sandbox_settings": {
2504
- "type": "object",
2505
- "properties": {
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
- }
2512
- }
2513
- },
2514
- "required": [
2515
- "type"
2516
- ]
2517
- }
2518
- ]
2519
- },
2520
2597
  "CustomFlowConfig": {
2521
2598
  "type": "object",
2599
+ "description": "Configuration of an external-integration flow action. Sandboxed code belongs in the app's `functions` (type `workflow`) instead — workflow functions are selectable directly in the flow builder without a component.\n",
2522
2600
  "oneOf": [
2523
2601
  {
2524
2602
  "$ref": "#/components/schemas/ExternalIntegrationCustomActionConfig"
2525
- },
2526
- {
2527
- "$ref": "#/components/schemas/SandboxCustomActionConfig"
2528
2603
  }
2529
2604
  ],
2530
2605
  "discriminator": {
2531
2606
  "propertyName": "type",
2532
2607
  "mapping": {
2533
- "external_integration": "#/components/schemas/ExternalIntegrationCustomActionConfig",
2534
- "sandbox": "#/components/schemas/SandboxCustomActionConfig"
2608
+ "external_integration": "#/components/schemas/ExternalIntegrationCustomActionConfig"
2535
2609
  }
2536
2610
  }
2537
2611
  },
@@ -4563,6 +4637,39 @@
4563
4637
  }
4564
4638
  }
4565
4639
  },
4640
+ "InternalReview": {
4641
+ "description": "Review entry including app ownership info, used by internal admin endpoints",
4642
+ "allOf": [
4643
+ {
4644
+ "$ref": "#/components/schemas/Review"
4645
+ },
4646
+ {
4647
+ "type": "object",
4648
+ "properties": {
4649
+ "app_id": {
4650
+ "type": "string",
4651
+ "description": "ID of the app configuration",
4652
+ "readOnly": true
4653
+ },
4654
+ "org_id": {
4655
+ "type": "string",
4656
+ "description": "Organization ID of the app owner",
4657
+ "readOnly": true
4658
+ },
4659
+ "reviewed_by": {
4660
+ "type": "string",
4661
+ "description": "Identity of the internal reviewer who approved the review",
4662
+ "readOnly": true
4663
+ },
4664
+ "reviewed_at": {
4665
+ "type": "string",
4666
+ "description": "Timestamp of the approval",
4667
+ "readOnly": true
4668
+ }
4669
+ }
4670
+ }
4671
+ ]
4672
+ },
4566
4673
  "ConfigurationMetadata": {
4567
4674
  "description": "Basic metadata about your app configuration which does not get versioned",
4568
4675
  "type": "object",
@@ -4708,6 +4815,14 @@
4708
4815
  },
4709
4816
  "minItems": 0
4710
4817
  },
4818
+ "functions": {
4819
+ "type": "array",
4820
+ "items": {
4821
+ "$ref": "#/components/schemas/FunctionDefinition"
4822
+ },
4823
+ "minItems": 0,
4824
+ "description": "Server-side functions of the app, including scheduled functions"
4825
+ },
4711
4826
  "visibility": {
4712
4827
  "type": "string",
4713
4828
  "enum": [
@@ -4816,10 +4931,11 @@
4816
4931
  "enum": [
4817
4932
  "header",
4818
4933
  "bearer",
4934
+ "basic",
4819
4935
  "oauth2",
4820
4936
  "none"
4821
4937
  ],
4822
- "description": "Authentication strategy"
4938
+ "description": "Authentication strategy. 'basic' sends an HTTP Basic Authorization header built server-side from the 'username' and 'password' component options."
4823
4939
  },
4824
4940
  "auth_header": {
4825
4941
  "type": "string",
@@ -4936,6 +5052,14 @@
4936
5052
  "minLength": 0,
4937
5053
  "readOnly": true
4938
5054
  },
5055
+ "functions": {
5056
+ "description": "Server-side functions of the installed version, including scheduled functions",
5057
+ "type": "array",
5058
+ "items": {
5059
+ "$ref": "#/components/schemas/FunctionDefinition"
5060
+ },
5061
+ "readOnly": true
5062
+ },
4939
5063
  "installed_version": {
4940
5064
  "type": "string",
4941
5065
  "description": "Version of the app that is installed",
@@ -5043,6 +5167,14 @@
5043
5167
  },
5044
5168
  "minItems": 0
5045
5169
  },
5170
+ "functions": {
5171
+ "type": "array",
5172
+ "items": {
5173
+ "$ref": "#/components/schemas/FunctionDefinition"
5174
+ },
5175
+ "minItems": 0,
5176
+ "description": "Server-side functions of the app, including scheduled functions"
5177
+ },
5046
5178
  "is_beta": {
5047
5179
  "type": "boolean",
5048
5180
  "description": "Flag to indicate if the app is in beta.",