@epilot/cli 0.1.188 → 0.1.190

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.
Files changed (78) hide show
  1. package/README.md +3 -1
  2. package/definitions/external-values.json +450 -0
  3. package/definitions/journey.json +356 -10
  4. package/definitions/pricing.json +949 -130
  5. package/dist/{access-token-KHFY7AOY.js → access-token-45IDKXBL.js} +2 -2
  6. package/dist/{add-component-6CWXWY5Z.js → add-component-HI5EAN4Z.js} +2 -2
  7. package/dist/{add-function-U3YLDKBM.js → add-function-XC5RPKXV.js} +2 -2
  8. package/dist/{address-YUIWRSXO.js → address-A2GBEZOE.js} +2 -2
  9. package/dist/{address-suggestions-6YG3SEDO.js → address-suggestions-MTZ5X7HN.js} +2 -2
  10. package/dist/{ai-agents-SFP6F5LK.js → ai-agents-3ZHGOGR5.js} +2 -2
  11. package/dist/{api-ZBQD7DGJ.js → api-W3QHYTNZ.js} +2 -2
  12. package/dist/app-3GUH46KF.js +26 -0
  13. package/dist/{audit-logs-HA6ZWU6H.js → audit-logs-NJV6VMD3.js} +2 -2
  14. package/dist/{automation-X4L6OP4Z.js → automation-2KZZWNYH.js} +2 -2
  15. package/dist/{billing-R4AJT5LD.js → billing-ASSCBKEF.js} +2 -2
  16. package/dist/bin/epilot.js +60 -59
  17. package/dist/{blueprint-manifest-4JPI6FVQ.js → blueprint-manifest-4DT5BCQN.js} +2 -2
  18. package/dist/{calendar-5XPXQ3OP.js → calendar-FXRHDWH2.js} +2 -2
  19. package/dist/{chat-77SLJQ3Z.js → chat-L76PTPLY.js} +2 -2
  20. package/dist/{chunk-JFUASCLR.js → chunk-E2SCR5I5.js} +1 -1
  21. package/dist/{chunk-O5TAHO34.js → chunk-OL73GZJF.js} +1 -1
  22. package/dist/{chunk-7PFIKD6A.js → chunk-RBPNXY7O.js} +12 -2
  23. package/dist/{chunk-MMTDD72O.js → chunk-ZQUD4WUU.js} +1 -1
  24. package/dist/{completion-66QFFIPF.js → completion-AACHNJ6B.js} +1 -1
  25. package/dist/{configuration-hub-4EPFFMNM.js → configuration-hub-TCJ4K5LR.js} +2 -2
  26. package/dist/{consent-EJUZVKRI.js → consent-TXOCSZR6.js} +2 -2
  27. package/dist/{customer-portal-BOHEJ3B5.js → customer-portal-YRU3OFYA.js} +2 -2
  28. package/dist/{dashboard-FQF6QWDP.js → dashboard-IXEYPSGR.js} +2 -2
  29. package/dist/{data-governance-IF6MNO3A.js → data-governance-R6ZETHGA.js} +2 -2
  30. package/dist/{deduplication-T63PGHS6.js → deduplication-A52R5HKZ.js} +2 -2
  31. package/dist/{deploy-IWM3WJO5.js → deploy-2O4B6ULF.js} +2 -2
  32. package/dist/{design-FN7QKL4J.js → design-P4HXBGEF.js} +2 -2
  33. package/dist/{dev-SEGXIGR4.js → dev-NVRIXENZ.js} +2 -2
  34. package/dist/{document-WEK4NN32.js → document-RZIUAVKD.js} +2 -2
  35. package/dist/{email-settings-RLBUFMY6.js → email-settings-CP45DXAZ.js} +2 -2
  36. package/dist/{email-template-2UZGC6AI.js → email-template-XY3QYCIB.js} +2 -2
  37. package/dist/{entity-7P532SEC.js → entity-V3SSGWQH.js} +2 -2
  38. package/dist/{entity-mapping-ZYAP4CPP.js → entity-mapping-27RGZRHS.js} +2 -2
  39. package/dist/{environments-U2WAMX5Q.js → environments-KCKNVYTZ.js} +2 -2
  40. package/dist/{event-catalog-YP25BJQ3.js → event-catalog-RTIQIH45.js} +2 -2
  41. package/dist/{export-YP5LBPAQ.js → export-BHBIOFLM.js} +2 -2
  42. package/dist/external-values-5GNK7UFA.js +57 -0
  43. package/dist/{file-ESDNIUXR.js → file-IBHABF54.js} +2 -2
  44. package/dist/{iban-SPKLMIX3.js → iban-7HZOWGGH.js} +2 -2
  45. package/dist/{identity-T5IGYRVO.js → identity-U7XL3NOI.js} +2 -2
  46. package/dist/{init-BJ2FJBNO.js → init-TTTT4YTM.js} +2 -2
  47. package/dist/{integration-toolkit-VPJX26N5.js → integration-toolkit-CQJTYNXW.js} +2 -2
  48. package/dist/{journey-LAMYDVM4.js → journey-MKJLVWBU.js} +2 -2
  49. package/dist/{kanban-4GTKBSTQ.js → kanban-B2HCUGJV.js} +2 -2
  50. package/dist/{message-2CJ4ARQK.js → message-KVIG3BOH.js} +2 -2
  51. package/dist/{metering-KCGUPF7E.js → metering-HCW5XANH.js} +2 -2
  52. package/dist/{notes-MFOMRADO.js → notes-36TFHCD3.js} +2 -2
  53. package/dist/{notification-JHMQSENI.js → notification-BJFY7MZF.js} +2 -2
  54. package/dist/{organization-4NJSFOTE.js → organization-XS6QZKVY.js} +2 -2
  55. package/dist/{partner-directory-MLR7IXQZ.js → partner-directory-7AWJRHRM.js} +2 -2
  56. package/dist/{permissions-PYHC7OLJ.js → permissions-VVRKYZBZ.js} +2 -2
  57. package/dist/{pricing-42S7SIV3.js → pricing-6SFGLSSB.js} +2 -2
  58. package/dist/{pricing-tier-3EPMVBPO.js → pricing-tier-JTFJJDK3.js} +2 -2
  59. package/dist/{purpose-6UV57PJB.js → purpose-QZ5JMCFX.js} +2 -2
  60. package/dist/{query-55JMXJKG.js → query-BR4FMMTR.js} +2 -2
  61. package/dist/{remove-component-BFGP3TRY.js → remove-component-QQJSWDTD.js} +2 -2
  62. package/dist/{review-F2ZYNGZO.js → review-VDYYG55N.js} +2 -2
  63. package/dist/{sandbox-3GT6IG7C.js → sandbox-RD22AEYF.js} +2 -2
  64. package/dist/{sharing-FI5VIAGF.js → sharing-TJSO57WO.js} +2 -2
  65. package/dist/{snapshot-RX5I5VG4.js → snapshot-UKED5QT5.js} +2 -2
  66. package/dist/{submission-46N6KSEJ.js → submission-LRYRGVGX.js} +2 -2
  67. package/dist/{targeting-WIR7IB7L.js → targeting-SK3UG7CB.js} +2 -2
  68. package/dist/{template-variables-DO5X5RLO.js → template-variables-KWKISI4R.js} +2 -2
  69. package/dist/{upgrade-XA622CCA.js → upgrade-SHLG3LZX.js} +1 -1
  70. package/dist/{user-DBJBSQGN.js → user-N2VXPXCJ.js} +2 -2
  71. package/dist/{validate-TJV2UAG6.js → validate-BYEZQ54R.js} +2 -2
  72. package/dist/{validation-rules-PPIFPQAD.js → validation-rules-RR5VEB2T.js} +2 -2
  73. package/dist/{versions-V2VRFDOB.js → versions-LPHSJCHR.js} +2 -2
  74. package/dist/{webhooks-J7Z6CMCA.js → webhooks-QAFWUSC3.js} +2 -2
  75. package/dist/{workflow-CVRLW3EO.js → workflow-XSEVDRDY.js} +2 -2
  76. package/dist/{workflow-definition-DYTNGIXC.js → workflow-definition-L2HPHAB4.js} +2 -2
  77. package/package.json +1 -1
  78. package/dist/app-AQKSPBKH.js +0 -26
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.188 — CLI for epilot APIs
32
+ epilot v0.1.190 — CLI for epilot APIs
33
33
 
34
34
  USAGE
35
35
  epilot <api> <operationId> [params...] [flags]
@@ -86,6 +86,7 @@ APIs
86
86
  entity-mapping Entity Mapping API
87
87
  environments Environments API
88
88
  event-catalog Event Catalog API
89
+ external-values External Values API
89
90
  file File API
90
91
  iban Iban API
91
92
  identity Identity API
@@ -345,6 +346,7 @@ Full documentation with sample calls and responses for all APIs:
345
346
  | Entity Mapping API | `epilot entity-mapping` | [docs](./docs/entity-mapping.md) |
346
347
  | Environments API | `epilot environments` | [docs](./docs/environments.md) |
347
348
  | Event Catalog API | `epilot event-catalog` | [docs](./docs/event-catalog.md) |
349
+ | External Values API | `epilot external-values` | [docs](./docs/external-values.md) |
348
350
  | File API | `epilot file` | [docs](./docs/file.md) |
349
351
  | Iban API | `epilot iban` | [docs](./docs/iban.md) |
350
352
  | Identity API | `epilot identity` | [docs](./docs/identity.md) |
@@ -0,0 +1,450 @@
1
+ {
2
+ "openapi": "3.0.3",
3
+ "info": {
4
+ "title": "External Values API",
5
+ "description": "Resolves **External Values** — typed values fetched from third-party systems through\nhooks declared in an installed App's `EXTERNAL_VALUES` component.\n\nConsumers (validation rules, journeys, portals) reference a value as\n`{ app_id, hook_id, result_id }`; this API executes the hook against the third-party\nendpoint with the installation's options and secrets, extracts the configured results,\ncoerces them to their declared type and returns them together with the hook's\nfail policy.\n\nCallers must be authenticated: epilot 360 user tokens (`/v1/external-values*`) or\nportal end-customer tokens (`/v1/portal/external-values*`). Public journey tokens are\nnot accepted.\n",
6
+ "version": "1.0.0"
7
+ },
8
+ "tags": [
9
+ {
10
+ "name": "external-values",
11
+ "description": "Discover and resolve External Values of installed apps"
12
+ }
13
+ ],
14
+ "security": [
15
+ {
16
+ "EpilotAuth": []
17
+ }
18
+ ],
19
+ "paths": {
20
+ "/v1/external-values": {
21
+ "get": {
22
+ "operationId": "listExternalValues",
23
+ "summary": "listExternalValues",
24
+ "description": "List hooks and their results of all enabled installed apps that declare an\n`EXTERNAL_VALUES` component. Intended for pickers (e.g. the validation-rules builder).\n",
25
+ "tags": [
26
+ "external-values"
27
+ ],
28
+ "responses": {
29
+ "200": {
30
+ "description": "Available external value hooks",
31
+ "content": {
32
+ "application/json": {
33
+ "schema": {
34
+ "$ref": "#/components/schemas/ExternalValueHookList"
35
+ }
36
+ }
37
+ }
38
+ },
39
+ "401": {
40
+ "description": "Unauthorized"
41
+ },
42
+ "403": {
43
+ "description": "Forbidden"
44
+ },
45
+ "500": {
46
+ "description": "Internal server error"
47
+ }
48
+ }
49
+ }
50
+ },
51
+ "/v1/external-values/{app_id}/hooks/{hook_id}:resolve": {
52
+ "parameters": [
53
+ {
54
+ "$ref": "#/components/parameters/AppId"
55
+ },
56
+ {
57
+ "$ref": "#/components/parameters/HookId"
58
+ }
59
+ ],
60
+ "post": {
61
+ "operationId": "resolveExternalValue",
62
+ "summary": "resolveExternalValue",
63
+ "description": "Resolve an external value hook for an epilot 360 user (builder preview, entity-attribute\nrules). The organization is taken from the caller's token.\n\nReturns HTTP 200 whenever the hook configuration was found and executed — including\nupstream failures, which are reported in `errors` so clients can apply `policy`.\n",
64
+ "tags": [
65
+ "external-values"
66
+ ],
67
+ "requestBody": {
68
+ "required": true,
69
+ "content": {
70
+ "application/json": {
71
+ "schema": {
72
+ "$ref": "#/components/schemas/ResolveExternalValueRequest"
73
+ }
74
+ }
75
+ }
76
+ },
77
+ "responses": {
78
+ "200": {
79
+ "description": "Resolution result",
80
+ "content": {
81
+ "application/json": {
82
+ "schema": {
83
+ "$ref": "#/components/schemas/ResolveExternalValueResponse"
84
+ }
85
+ }
86
+ }
87
+ },
88
+ "400": {
89
+ "description": "Invalid request body"
90
+ },
91
+ "401": {
92
+ "description": "Unauthorized"
93
+ },
94
+ "403": {
95
+ "description": "Forbidden"
96
+ },
97
+ "404": {
98
+ "description": "Unknown app, component or hook"
99
+ },
100
+ "422": {
101
+ "description": "The app's EXTERNAL_VALUES configuration is invalid"
102
+ },
103
+ "500": {
104
+ "description": "Internal server error"
105
+ }
106
+ }
107
+ }
108
+ },
109
+ "/v1/portal/external-values/{app_id}/hooks/{hook_id}:resolve": {
110
+ "parameters": [
111
+ {
112
+ "$ref": "#/components/parameters/AppId"
113
+ },
114
+ {
115
+ "$ref": "#/components/parameters/HookId"
116
+ }
117
+ ],
118
+ "post": {
119
+ "operationId": "resolvePortalExternalValue",
120
+ "summary": "resolvePortalExternalValue",
121
+ "description": "Resolve an external value hook for a portal end customer (private journeys, portal).\nThe organization is taken from the portal token claims.\n\nReturns HTTP 200 whenever the hook configuration was found and executed — including\nupstream failures, which are reported in `errors` so clients can apply `policy`.\n",
122
+ "tags": [
123
+ "external-values"
124
+ ],
125
+ "security": [
126
+ {
127
+ "PortalAuth": []
128
+ }
129
+ ],
130
+ "requestBody": {
131
+ "required": true,
132
+ "content": {
133
+ "application/json": {
134
+ "schema": {
135
+ "$ref": "#/components/schemas/ResolveExternalValueRequest"
136
+ }
137
+ }
138
+ }
139
+ },
140
+ "responses": {
141
+ "200": {
142
+ "description": "Resolution result",
143
+ "content": {
144
+ "application/json": {
145
+ "schema": {
146
+ "$ref": "#/components/schemas/ResolveExternalValueResponse"
147
+ }
148
+ }
149
+ }
150
+ },
151
+ "400": {
152
+ "description": "Invalid request body"
153
+ },
154
+ "401": {
155
+ "description": "Unauthorized"
156
+ },
157
+ "403": {
158
+ "description": "Forbidden"
159
+ },
160
+ "404": {
161
+ "description": "Unknown app, component or hook"
162
+ },
163
+ "422": {
164
+ "description": "The app's EXTERNAL_VALUES configuration is invalid"
165
+ },
166
+ "500": {
167
+ "description": "Internal server error"
168
+ }
169
+ }
170
+ }
171
+ }
172
+ },
173
+ "components": {
174
+ "securitySchemes": {
175
+ "EpilotAuth": {
176
+ "type": "http",
177
+ "scheme": "bearer",
178
+ "bearerFormat": "JWT",
179
+ "description": "Authorization header with epilot OAuth2 bearer token (epilot 360 users)"
180
+ },
181
+ "PortalAuth": {
182
+ "type": "http",
183
+ "scheme": "bearer",
184
+ "bearerFormat": "JWT",
185
+ "description": "Authorization header with a portal end-customer bearer token"
186
+ }
187
+ },
188
+ "parameters": {
189
+ "AppId": {
190
+ "name": "app_id",
191
+ "in": "path",
192
+ "required": true,
193
+ "description": "ID of the installed app declaring the EXTERNAL_VALUES component",
194
+ "schema": {
195
+ "type": "string"
196
+ }
197
+ },
198
+ "HookId": {
199
+ "name": "hook_id",
200
+ "in": "path",
201
+ "required": true,
202
+ "description": "Stable hook identifier within the component configuration",
203
+ "schema": {
204
+ "type": "string",
205
+ "pattern": "^[a-zA-Z0-9_-]{1,100}$"
206
+ }
207
+ }
208
+ },
209
+ "schemas": {
210
+ "TranslatedString": {
211
+ "type": "object",
212
+ "required": [
213
+ "de"
214
+ ],
215
+ "properties": {
216
+ "de": {
217
+ "type": "string",
218
+ "description": "German translation"
219
+ },
220
+ "en": {
221
+ "type": "string",
222
+ "nullable": true,
223
+ "description": "English translation"
224
+ }
225
+ }
226
+ },
227
+ "ExternalValueType": {
228
+ "type": "string",
229
+ "enum": [
230
+ "number",
231
+ "text",
232
+ "date",
233
+ "boolean"
234
+ ]
235
+ },
236
+ "ResolveExternalValueRequest": {
237
+ "type": "object",
238
+ "required": [
239
+ "context"
240
+ ],
241
+ "properties": {
242
+ "context": {
243
+ "type": "object",
244
+ "description": "Everything the consumer supplies for interpolation, as one name → value map.\nExposed to the hook's Liquid templates as `Context` / `context`, e.g.\n`{{ context.input }}`, `{{ context.contract.installment_amount }}`.\n\nThe names are up to the consumer; this API does not interpret them. By\nconvention the journey runtime passes the validated value of a validation\nrule as `input` and every configured context binding under its own name.\n",
245
+ "additionalProperties": true
246
+ },
247
+ "consumer": {
248
+ "type": "object",
249
+ "description": "Who is resolving the value. Forwarded to the hook as `Consumer`.",
250
+ "additionalProperties": true,
251
+ "properties": {
252
+ "type": {
253
+ "type": "string",
254
+ "example": "validation_rule"
255
+ },
256
+ "rule_id": {
257
+ "type": "string"
258
+ },
259
+ "journey_id": {
260
+ "type": "string"
261
+ }
262
+ }
263
+ }
264
+ },
265
+ "example": {
266
+ "context": {
267
+ "input": "123,45",
268
+ "contract": {
269
+ "_id": "8a7e3f5e-9c0c-4c74-8d4a-1a1a1a1a1a1a",
270
+ "installment_amount": 110
271
+ }
272
+ },
273
+ "consumer": {
274
+ "type": "validation_rule",
275
+ "rule_id": "6c0a9e1e-2f4b-4e6a-8f8e-2b2b2b2b2b2b"
276
+ }
277
+ }
278
+ },
279
+ "ExternalValueErrorCode": {
280
+ "type": "string",
281
+ "description": "- `timeout`: the third-party call exceeded `timeout_ms`\n- `upstream_error`: the third-party call failed or returned a non-2xx status\n- `auth_failed`: the `auth` pre-call failed\n- `extraction_failed`: template/path/jsonata threw or yielded null / empty\n- `coercion_failed`: the extracted value could not be coerced to the result type\n",
282
+ "enum": [
283
+ "timeout",
284
+ "upstream_error",
285
+ "auth_failed",
286
+ "extraction_failed",
287
+ "coercion_failed"
288
+ ]
289
+ },
290
+ "ExternalValueError": {
291
+ "type": "object",
292
+ "required": [
293
+ "code",
294
+ "message"
295
+ ],
296
+ "properties": {
297
+ "result_id": {
298
+ "type": "string",
299
+ "description": "Set for per-result errors; absent for hook-level failures"
300
+ },
301
+ "code": {
302
+ "$ref": "#/components/schemas/ExternalValueErrorCode"
303
+ },
304
+ "message": {
305
+ "type": "string"
306
+ }
307
+ }
308
+ },
309
+ "ResolveExternalValueResponse": {
310
+ "type": "object",
311
+ "required": [
312
+ "values",
313
+ "errors",
314
+ "policy"
315
+ ],
316
+ "properties": {
317
+ "values": {
318
+ "type": "object",
319
+ "description": "Successfully extracted and coerced results, keyed by result id",
320
+ "additionalProperties": {
321
+ "oneOf": [
322
+ {
323
+ "type": "number"
324
+ },
325
+ {
326
+ "type": "string"
327
+ },
328
+ {
329
+ "type": "boolean"
330
+ }
331
+ ]
332
+ }
333
+ },
334
+ "errors": {
335
+ "type": "array",
336
+ "items": {
337
+ "$ref": "#/components/schemas/ExternalValueError"
338
+ }
339
+ },
340
+ "policy": {
341
+ "type": "object",
342
+ "required": [
343
+ "on_unavailable"
344
+ ],
345
+ "properties": {
346
+ "on_unavailable": {
347
+ "type": "string",
348
+ "enum": [
349
+ "skip",
350
+ "block"
351
+ ],
352
+ "description": "What the consumer should do when the values are unavailable"
353
+ }
354
+ }
355
+ },
356
+ "cached": {
357
+ "type": "boolean",
358
+ "description": "True when `values` were served from the hook's result cache"
359
+ }
360
+ },
361
+ "example": {
362
+ "values": {
363
+ "predicted": 132
364
+ },
365
+ "errors": [
366
+ {
367
+ "result_id": "limit",
368
+ "code": "coercion_failed",
369
+ "message": "Cannot coerce \"n/a\" to number"
370
+ }
371
+ ],
372
+ "policy": {
373
+ "on_unavailable": "skip"
374
+ }
375
+ }
376
+ },
377
+ "ExternalValueResultSummary": {
378
+ "type": "object",
379
+ "required": [
380
+ "id",
381
+ "type",
382
+ "name"
383
+ ],
384
+ "properties": {
385
+ "id": {
386
+ "type": "string"
387
+ },
388
+ "type": {
389
+ "$ref": "#/components/schemas/ExternalValueType"
390
+ },
391
+ "name": {
392
+ "$ref": "#/components/schemas/TranslatedString"
393
+ }
394
+ }
395
+ },
396
+ "ExternalValueHookSummary": {
397
+ "type": "object",
398
+ "required": [
399
+ "app_id",
400
+ "app_name",
401
+ "hook_id",
402
+ "name",
403
+ "results"
404
+ ],
405
+ "properties": {
406
+ "app_id": {
407
+ "type": "string"
408
+ },
409
+ "app_name": {
410
+ "type": "string"
411
+ },
412
+ "hook_id": {
413
+ "type": "string"
414
+ },
415
+ "name": {
416
+ "$ref": "#/components/schemas/TranslatedString"
417
+ },
418
+ "description": {
419
+ "$ref": "#/components/schemas/TranslatedString"
420
+ },
421
+ "results": {
422
+ "type": "array",
423
+ "items": {
424
+ "$ref": "#/components/schemas/ExternalValueResultSummary"
425
+ }
426
+ }
427
+ }
428
+ },
429
+ "ExternalValueHookList": {
430
+ "type": "object",
431
+ "required": [
432
+ "hooks"
433
+ ],
434
+ "properties": {
435
+ "hooks": {
436
+ "type": "array",
437
+ "items": {
438
+ "$ref": "#/components/schemas/ExternalValueHookSummary"
439
+ }
440
+ }
441
+ }
442
+ }
443
+ }
444
+ },
445
+ "servers": [
446
+ {
447
+ "url": "https://external-values.sls.epilot.io"
448
+ }
449
+ ]
450
+ }