@epilot/cli 0.1.8 → 0.1.10

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 (56) hide show
  1. package/README.md +31 -4
  2. package/definitions/journey.json +257 -12
  3. package/definitions/kanban.json +630 -78
  4. package/definitions/organization.json +580 -51
  5. package/dist/{access-token-ZDNEKP3G.js → access-token-PTTCRMGK.js} +1 -1
  6. package/dist/{address-2SW3VMN3.js → address-2FDPEPR6.js} +1 -1
  7. package/dist/{address-suggestions-26ZRCECN.js → address-suggestions-XBEK5DDQ.js} +1 -1
  8. package/dist/{ai-agents-PDOHJ7VB.js → ai-agents-ZY5BNVTN.js} +1 -1
  9. package/dist/{app-XJNMGPZO.js → app-IT5FWGUK.js} +1 -1
  10. package/dist/{audit-logs-L2OCFRGO.js → audit-logs-FB4TE4TI.js} +1 -1
  11. package/dist/{automation-UB7OFM4Q.js → automation-JE5LDKJM.js} +1 -1
  12. package/dist/{billing-ZXHTBUAP.js → billing-GOFCP5T3.js} +1 -1
  13. package/dist/bin/epilot.js +52 -52
  14. package/dist/{blueprint-manifest-RMKS5EQA.js → blueprint-manifest-WJIQKFYK.js} +1 -1
  15. package/dist/{chunk-PHXL66VA.js → chunk-MNSG22DM.js} +3 -2
  16. package/dist/{chunk-HWUVFZIB.js → chunk-P5IZZW4Y.js} +11 -7
  17. package/dist/{completion-EKFXGPNK.js → completion-HZNPHJI4.js} +1 -1
  18. package/dist/{consent-AQ2DKCDR.js → consent-DSMWWHUL.js} +1 -1
  19. package/dist/{customer-portal-CGP4ZX4R.js → customer-portal-IJYTJYUZ.js} +1 -1
  20. package/dist/{dashboard-IDWUGNZW.js → dashboard-DOAX6XDG.js} +1 -1
  21. package/dist/{data-management-U7ZRAGLQ.js → data-management-C4JPPUPD.js} +1 -1
  22. package/dist/{deduplication-QQUSPXAF.js → deduplication-7OGLZLAC.js} +1 -1
  23. package/dist/{design-PQ2FUC2D.js → design-3CAYTWFY.js} +1 -1
  24. package/dist/{document-Y76RC3MP.js → document-NT5JOJQV.js} +1 -1
  25. package/dist/{email-settings-XM3ADDAU.js → email-settings-2M3WJTQS.js} +1 -1
  26. package/dist/{email-template-72P5GBEO.js → email-template-F4PLBPPC.js} +1 -1
  27. package/dist/{entity-XHM54EGF.js → entity-32LKMZAU.js} +1 -1
  28. package/dist/{entity-mapping-L5QITA2E.js → entity-mapping-OBCZDYQJ.js} +1 -1
  29. package/dist/{environments-VW3SQQ6D.js → environments-H3TBCDQE.js} +1 -1
  30. package/dist/{erp-integration-XCFKHGOU.js → erp-integration-UW6H55EK.js} +1 -1
  31. package/dist/{event-catalog-XZ233C2K.js → event-catalog-NVAPTZ4M.js} +1 -1
  32. package/dist/{file-TYBZ6WUC.js → file-US2HR4SV.js} +1 -1
  33. package/dist/{iban-IEGS2B6M.js → iban-7QUCOULB.js} +1 -1
  34. package/dist/{journey-HY3MNAHS.js → journey-E5T4BZZX.js} +1 -1
  35. package/dist/{kanban-7RLHAPAB.js → kanban-7UHU5VE6.js} +1 -1
  36. package/dist/{message-K7E26IZC.js → message-7KY33RJE.js} +1 -1
  37. package/dist/{metering-2OGVZIBR.js → metering-P7BZGMY7.js} +1 -1
  38. package/dist/{notes-KQVLCMGP.js → notes-TNJ7FPA3.js} +1 -1
  39. package/dist/{notification-BFBWDPZV.js → notification-6KXEFVO5.js} +1 -1
  40. package/dist/{organization-LI7FM5BQ.js → organization-FF4Y3PBO.js} +1 -1
  41. package/dist/{partner-directory-XPAISFGT.js → partner-directory-VH2SBAS2.js} +1 -1
  42. package/dist/{permissions-R5A4XMTY.js → permissions-KENZ4HNY.js} +1 -1
  43. package/dist/{pricing-Y4T6VKYN.js → pricing-P6QZ77VJ.js} +1 -1
  44. package/dist/{pricing-tier-HWKSYSVR.js → pricing-tier-2IRJMTM6.js} +1 -1
  45. package/dist/{purpose-5AUHF3IO.js → purpose-IHROR6LQ.js} +1 -1
  46. package/dist/{sandbox-QSGFCXMZ.js → sandbox-62XQPOU6.js} +1 -1
  47. package/dist/{submission-Z73M4XKQ.js → submission-PUWGOYQB.js} +1 -1
  48. package/dist/{targeting-U5YIFO6Q.js → targeting-QB3DFYNI.js} +1 -1
  49. package/dist/{template-variables-AV4T4OL2.js → template-variables-IPKRUJ4E.js} +1 -1
  50. package/dist/{upgrade-2SY2XG5S.js → upgrade-TNDH4WGQ.js} +1 -1
  51. package/dist/{user-S7XP7EFG.js → user-2CP75TFC.js} +1 -1
  52. package/dist/{validation-rules-MJRLZCHT.js → validation-rules-GNI4EEG5.js} +1 -1
  53. package/dist/{webhooks-X2VR5SVC.js → webhooks-2OWUX7UL.js} +1 -1
  54. package/dist/{workflow-EGOFLIKI.js → workflow-WSLERVJI.js} +1 -1
  55. package/dist/{workflow-definition-65ZR33O5.js → workflow-definition-FP3WKHGG.js} +1 -1
  56. package/package.json +1 -1
package/README.md CHANGED
@@ -1,6 +1,19 @@
1
- # epilot CLI
1
+ <h1 align="center"><img alt="epilot" src="https://raw.githubusercontent.com/epilot-dev/sdk-js/main/logo.png" width="200"><br>@epilot/cli</h1>
2
2
 
3
- CLI for epilot APIs. Call any epilot API operation directly from the command line.
3
+ <p align="center">
4
+ <a href="https://github.com/epilot-dev/sdk-js/actions?query=workflow%3ACI"><img src="https://github.com/epilot-dev/sdk-js/workflows/CI/badge.svg" alt="CI"></a>
5
+ <a href="https://www.npmjs.com/package/@epilot/cli"><img src="https://img.shields.io/npm/v/@epilot/cli.svg" alt="npm version"></a>
6
+ <a href="https://github.com/epilot-dev/sdk-js/blob/main/"><img src="http://img.shields.io/:license-mit-blue.svg" alt="License"></a>
7
+ </p>
8
+
9
+ <p align="center">Command-line interface for all epilot APIs. One command to call any operation.</p>
10
+
11
+ Built for developers, automation scripts, and AI agents. The epilot CLI gives you direct access to the entire epilot platform from your terminal — no SDK setup, no boilerplate, just `npx epilot`.
12
+
13
+ - **Quick API calls** — look up entities, search data, check configurations without writing code
14
+ - **Automation & scripting** — pipe JSON in/out, `--json` mode for `jq`-friendly output, `--no-interactive` for CI
15
+ - **AI agent tool use** — structured `--json` output and `--no-interactive` mode make it ideal as a tool for LLM agents and MCP servers
16
+ - **Explore & discover** — interactive operation picker, `--guided` mode, and built-in help with sample requests/responses for every operation
4
17
 
5
18
  ## Install
6
19
 
@@ -16,7 +29,7 @@ npm install -g @epilot/cli
16
29
 
17
30
  <!-- usage-help -->
18
31
  ```
19
- epilot v0.1.8 — CLI for epilot APIs
32
+ epilot v0.1.10 — CLI for epilot APIs
20
33
 
21
34
  USAGE
22
35
  epilot <api> <operationId> [params...] [flags]
@@ -247,12 +260,26 @@ epilot entity getEntity contact abc123 # automatically uses override
247
260
 
248
261
  When running in a TTY without required arguments, the CLI prompts interactively:
249
262
 
250
- - **No operation**: shows an operation picker
263
+ - **No operation**: shows a searchable operation picker
251
264
  - **Missing required params**: prompts for each one
252
265
  - **No auth token**: prompts to paste a token
253
266
 
254
267
  Disable with `--no-interactive` for CI/scripts.
255
268
 
269
+ ### Guided Mode
270
+
271
+ Use `--guided` to be prompted for **all** parameters, not just required ones. This is useful for exploring an API operation without having to look up every available parameter.
272
+
273
+ ```bash
274
+ # Walk through all parameters for getEntity
275
+ epilot entity getEntity --guided
276
+
277
+ # Guided mode also opens the body editor for operations with a request body
278
+ epilot entity searchEntities --guided
279
+ ```
280
+
281
+ Each optional parameter shows "(optional, press Enter to skip)" so you can quickly skip ones you don't need.
282
+
256
283
  ## Shell Completions
257
284
 
258
285
  Tab completion for API names, operation IDs, and flags.
@@ -3,7 +3,7 @@
3
3
  "info": {
4
4
  "title": "Journey API",
5
5
  "description": "API to configure journeys",
6
- "version": "1.1.0"
6
+ "version": "1.4.0"
7
7
  },
8
8
  "security": [
9
9
  {
@@ -94,6 +94,9 @@
94
94
  {},
95
95
  {
96
96
  "EpilotAuth": []
97
+ },
98
+ {
99
+ "PortalAuth": []
97
100
  }
98
101
  ],
99
102
  "tags": [
@@ -299,7 +302,7 @@
299
302
  "schema": {
300
303
  "type": "string",
301
304
  "format": "Yn",
302
- "example": true
305
+ "example": "true"
303
306
  }
304
307
  }
305
308
  ],
@@ -313,6 +316,16 @@
313
316
  }
314
317
  }
315
318
  }
319
+ },
320
+ "400": {
321
+ "description": "Validation failed (when validation mode is STRICT)",
322
+ "content": {
323
+ "application/json": {
324
+ "schema": {
325
+ "$ref": "#/components/schemas/JourneyValidationError"
326
+ }
327
+ }
328
+ }
316
329
  }
317
330
  }
318
331
  },
@@ -347,6 +360,16 @@
347
360
  }
348
361
  }
349
362
  },
363
+ "400": {
364
+ "description": "Validation failed (when validation mode is STRICT)",
365
+ "content": {
366
+ "application/json": {
367
+ "schema": {
368
+ "$ref": "#/components/schemas/JourneyValidationError"
369
+ }
370
+ }
371
+ }
372
+ },
350
373
  "409": {
351
374
  "description": "The Journey has been modified since your last read, please refresh it and try again"
352
375
  }
@@ -389,6 +412,16 @@
389
412
  }
390
413
  }
391
414
  },
415
+ "400": {
416
+ "description": "Validation failed (when validation mode is STRICT)",
417
+ "content": {
418
+ "application/json": {
419
+ "schema": {
420
+ "$ref": "#/components/schemas/JourneyValidationError"
421
+ }
422
+ }
423
+ }
424
+ },
392
425
  "404": {
393
426
  "description": "Journey or associated entity not found",
394
427
  "content": {
@@ -505,7 +538,7 @@
505
538
  "schema": {
506
539
  "type": "string",
507
540
  "format": "Yn",
508
- "example": true
541
+ "example": "true"
509
542
  }
510
543
  }
511
544
  ],
@@ -519,6 +552,16 @@
519
552
  }
520
553
  }
521
554
  }
555
+ },
556
+ "400": {
557
+ "description": "Validation failed (when validation mode is STRICT)",
558
+ "content": {
559
+ "application/json": {
560
+ "schema": {
561
+ "$ref": "#/components/schemas/JourneyValidationError"
562
+ }
563
+ }
564
+ }
522
565
  }
523
566
  }
524
567
  },
@@ -551,6 +594,16 @@
551
594
  }
552
595
  }
553
596
  },
597
+ "400": {
598
+ "description": "Validation failed (when validation mode is STRICT)",
599
+ "content": {
600
+ "application/json": {
601
+ "schema": {
602
+ "$ref": "#/components/schemas/JourneyValidationError"
603
+ }
604
+ }
605
+ }
606
+ },
554
607
  "404": {
555
608
  "description": "Journey or associated entity not found",
556
609
  "content": {
@@ -606,6 +659,16 @@
606
659
  }
607
660
  }
608
661
  },
662
+ "400": {
663
+ "description": "Validation failed (when validation mode is STRICT)",
664
+ "content": {
665
+ "application/json": {
666
+ "schema": {
667
+ "$ref": "#/components/schemas/JourneyValidationError"
668
+ }
669
+ }
670
+ }
671
+ },
609
672
  "404": {
610
673
  "description": "Journey or associated entity not found",
611
674
  "content": {
@@ -896,16 +959,19 @@
896
959
  "type": "string"
897
960
  },
898
961
  "feature": {
899
- "type": "array"
962
+ "type": "array",
963
+ "items": {}
900
964
  },
901
965
  "product_images": {
902
- "type": "array"
966
+ "type": "array",
967
+ "items": {}
903
968
  },
904
969
  "legal_footnote": {
905
970
  "type": "string"
906
971
  },
907
972
  "product_downloads": {
908
- "type": "array"
973
+ "type": "array",
974
+ "items": {}
909
975
  },
910
976
  "price": {
911
977
  "type": "object"
@@ -1166,7 +1232,8 @@
1166
1232
  "type": "object"
1167
1233
  },
1168
1234
  {
1169
- "type": "array"
1235
+ "type": "array",
1236
+ "items": {}
1170
1237
  }
1171
1238
  ]
1172
1239
  },
@@ -1343,6 +1410,26 @@
1343
1410
  "type": "string",
1344
1411
  "nullable": true
1345
1412
  },
1413
+ "addressSuggestionsCountryCode": {
1414
+ "type": "string",
1415
+ "nullable": true,
1416
+ "description": "Country code for address format (e.g. DE, AT, CH, LU)"
1417
+ },
1418
+ "addressSuggestionsEnableAutoComplete": {
1419
+ "type": "boolean",
1420
+ "description": "Whether address auto-complete is enabled"
1421
+ },
1422
+ "addressSuggestionsSource": {
1423
+ "type": "array",
1424
+ "items": {
1425
+ "type": "string"
1426
+ },
1427
+ "description": "Sources for address auto-complete (e.g. deutschePostService, customAddressesFile)"
1428
+ },
1429
+ "addressSuggestionsEnableFreeText": {
1430
+ "type": "boolean",
1431
+ "description": "Whether free text input is allowed when auto-complete is on"
1432
+ },
1346
1433
  "useNewDesign": {
1347
1434
  "type": "boolean",
1348
1435
  "deprecated": true,
@@ -1652,7 +1739,8 @@
1652
1739
  "type": "object"
1653
1740
  },
1654
1741
  {
1655
- "type": "array"
1742
+ "type": "array",
1743
+ "items": {}
1656
1744
  }
1657
1745
  ]
1658
1746
  },
@@ -1817,6 +1905,26 @@
1817
1905
  "type": "string",
1818
1906
  "nullable": true
1819
1907
  },
1908
+ "addressSuggestionsCountryCode": {
1909
+ "type": "string",
1910
+ "nullable": true,
1911
+ "description": "Country code for address format (e.g. DE, AT, CH, LU)"
1912
+ },
1913
+ "addressSuggestionsEnableAutoComplete": {
1914
+ "type": "boolean",
1915
+ "description": "Whether address auto-complete is enabled"
1916
+ },
1917
+ "addressSuggestionsSource": {
1918
+ "type": "array",
1919
+ "items": {
1920
+ "type": "string"
1921
+ },
1922
+ "description": "Sources for address auto-complete (e.g. deutschePostService, customAddressesFile)"
1923
+ },
1924
+ "addressSuggestionsEnableFreeText": {
1925
+ "type": "boolean",
1926
+ "description": "Whether free text input is allowed when auto-complete is on"
1927
+ },
1820
1928
  "useNewDesign": {
1821
1929
  "type": "boolean",
1822
1930
  "deprecated": true,
@@ -2042,6 +2150,140 @@
2042
2150
  "revisions"
2043
2151
  ]
2044
2152
  },
2153
+ "JourneyValidationResponse": {
2154
+ "type": "object",
2155
+ "properties": {
2156
+ "valid": {
2157
+ "type": "boolean",
2158
+ "description": "Whether the journey configuration is valid"
2159
+ },
2160
+ "errors": {
2161
+ "type": "array",
2162
+ "items": {
2163
+ "type": "object",
2164
+ "properties": {
2165
+ "type": {
2166
+ "type": "string",
2167
+ "description": "Pattern type (e.g. PatternA_DotsInStepId)"
2168
+ },
2169
+ "severity": {
2170
+ "type": "string",
2171
+ "enum": [
2172
+ "critical",
2173
+ "high",
2174
+ "medium",
2175
+ "low"
2176
+ ]
2177
+ },
2178
+ "message": {
2179
+ "type": "string"
2180
+ },
2181
+ "affectedStepIds": {
2182
+ "type": "array",
2183
+ "items": {
2184
+ "type": "string"
2185
+ }
2186
+ },
2187
+ "count": {
2188
+ "type": "integer"
2189
+ },
2190
+ "autoFix": {
2191
+ "type": "object",
2192
+ "properties": {
2193
+ "feasible": {
2194
+ "type": "boolean"
2195
+ },
2196
+ "confidence": {
2197
+ "type": "string",
2198
+ "enum": [
2199
+ "high",
2200
+ "medium",
2201
+ "low"
2202
+ ]
2203
+ },
2204
+ "reason": {
2205
+ "type": "string"
2206
+ },
2207
+ "details": {
2208
+ "type": "string"
2209
+ }
2210
+ }
2211
+ }
2212
+ }
2213
+ },
2214
+ "description": "List of detected validation errors"
2215
+ },
2216
+ "warnings": {
2217
+ "type": "array",
2218
+ "items": {
2219
+ "type": "object",
2220
+ "properties": {
2221
+ "type": {
2222
+ "type": "string"
2223
+ },
2224
+ "message": {
2225
+ "type": "string"
2226
+ }
2227
+ }
2228
+ },
2229
+ "description": "List of warnings (non-critical issues)"
2230
+ }
2231
+ },
2232
+ "required": [
2233
+ "valid",
2234
+ "errors"
2235
+ ]
2236
+ },
2237
+ "JourneyValidationError": {
2238
+ "type": "object",
2239
+ "properties": {
2240
+ "error": {
2241
+ "type": "string",
2242
+ "example": "ValidationError",
2243
+ "description": "Error type identifier"
2244
+ },
2245
+ "message": {
2246
+ "type": "string",
2247
+ "example": "Journey configuration validation failed",
2248
+ "description": "High-level error message"
2249
+ },
2250
+ "details": {
2251
+ "type": "array",
2252
+ "items": {
2253
+ "type": "object",
2254
+ "properties": {
2255
+ "pattern": {
2256
+ "type": "string",
2257
+ "description": "Validation pattern that failed"
2258
+ },
2259
+ "severity": {
2260
+ "type": "string",
2261
+ "enum": [
2262
+ "critical",
2263
+ "high",
2264
+ "medium",
2265
+ "low"
2266
+ ]
2267
+ },
2268
+ "message": {
2269
+ "type": "string",
2270
+ "description": "Detailed error message"
2271
+ },
2272
+ "count": {
2273
+ "type": "integer",
2274
+ "description": "Number of issues found"
2275
+ }
2276
+ }
2277
+ },
2278
+ "description": "Detailed validation errors for each pattern that failed"
2279
+ }
2280
+ },
2281
+ "required": [
2282
+ "error",
2283
+ "message",
2284
+ "details"
2285
+ ]
2286
+ },
2045
2287
  "S3Reference": {
2046
2288
  "type": "object",
2047
2289
  "properties": {
@@ -2124,7 +2366,7 @@
2124
2366
  "description": "The file entity id, used when persisting a new template version with updated settings",
2125
2367
  "type": "string",
2126
2368
  "format": "uuid",
2127
- "example": "1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p"
2369
+ "example": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d"
2128
2370
  }
2129
2371
  }
2130
2372
  },
@@ -2327,13 +2569,16 @@
2327
2569
  "scheme": "bearer",
2328
2570
  "description": "Epilot Authorization Bearer Token - public access token / user token",
2329
2571
  "bearerFormat": "JWT"
2572
+ },
2573
+ "PortalAuth": {
2574
+ "type": "http",
2575
+ "scheme": "bearer",
2576
+ "description": "Portal Authorization Bearer Token",
2577
+ "bearerFormat": "JWT"
2330
2578
  }
2331
2579
  }
2332
2580
  },
2333
2581
  "servers": [
2334
- {
2335
- "url": "https://journey-config.sls.epilot.io"
2336
- },
2337
2582
  {
2338
2583
  "url": "https://journey-config.sls.epilot.io"
2339
2584
  }