@epilot/cli 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +354 -0
  3. package/definitions/access-token.json +663 -0
  4. package/definitions/address-suggestions.json +582 -0
  5. package/definitions/address.json +578 -0
  6. package/definitions/ai-agents.json +1711 -0
  7. package/definitions/app.json +4443 -0
  8. package/definitions/audit-logs.json +305 -0
  9. package/definitions/automation.json +4815 -0
  10. package/definitions/billing.json +837 -0
  11. package/definitions/blueprint-manifest.json +3376 -0
  12. package/definitions/consent.json +344 -0
  13. package/definitions/customer-portal.json +15000 -0
  14. package/definitions/dashboard.json +484 -0
  15. package/definitions/data-management.json +962 -0
  16. package/definitions/deduplication.json +183 -0
  17. package/definitions/design.json +1423 -0
  18. package/definitions/document.json +758 -0
  19. package/definitions/email-settings.json +2627 -0
  20. package/definitions/email-template.json +1419 -0
  21. package/definitions/entity-mapping.json +1642 -0
  22. package/definitions/entity.json +10074 -0
  23. package/definitions/environments.json +363 -0
  24. package/definitions/erp-integration.json +5845 -0
  25. package/definitions/event-catalog.json +1051 -0
  26. package/definitions/file.json +2842 -0
  27. package/definitions/iban.json +132 -0
  28. package/definitions/journey.json +2341 -0
  29. package/definitions/kanban.json +929 -0
  30. package/definitions/message.json +2660 -0
  31. package/definitions/metering.json +2321 -0
  32. package/definitions/notes.json +1531 -0
  33. package/definitions/notification.json +1425 -0
  34. package/definitions/organization.json +629 -0
  35. package/definitions/partner-directory.json +1718 -0
  36. package/definitions/permissions.json +1480 -0
  37. package/definitions/pricing-tier.json +105 -0
  38. package/definitions/pricing.json +9884 -0
  39. package/definitions/purpose.json +524 -0
  40. package/definitions/sandbox.json +453 -0
  41. package/definitions/submission.json +313 -0
  42. package/definitions/targeting.json +1474 -0
  43. package/definitions/template-variables.json +1408 -0
  44. package/definitions/user.json +2408 -0
  45. package/definitions/validation-rules.json +1491 -0
  46. package/definitions/webhooks.json +1525 -0
  47. package/definitions/workflow-definition.json +3417 -0
  48. package/definitions/workflow.json +4106 -0
  49. package/dist/access-token-OG5AR7UB.js +51 -0
  50. package/dist/address-QUSMK5GV.js +51 -0
  51. package/dist/address-suggestions-E5SQNUS5.js +51 -0
  52. package/dist/ai-agents-PM42SJY3.js +51 -0
  53. package/dist/app-YTM3XAJL.js +51 -0
  54. package/dist/audit-logs-NXP7GFKX.js +51 -0
  55. package/dist/auth-CCBTXH5U.js +113 -0
  56. package/dist/auth-login-2ZIXM47J.js +137 -0
  57. package/dist/auth-token-OS4BEEVZ.js +43 -0
  58. package/dist/automation-TDJASTEV.js +51 -0
  59. package/dist/billing-M4MRBLEK.js +51 -0
  60. package/dist/bin/epilot.js +104 -0
  61. package/dist/blueprint-manifest-NQL7NRMV.js +51 -0
  62. package/dist/chunk-57PPARIW.js +715 -0
  63. package/dist/chunk-5WUPDZ5D.js +76 -0
  64. package/dist/chunk-IST42ZNL.js +78 -0
  65. package/dist/chunk-RC3GCXCI.js +76 -0
  66. package/dist/chunk-TKZLQD2B.js +72 -0
  67. package/dist/chunk-UJ6TU34M.js +56 -0
  68. package/dist/completion-GRQM2FJQ.js +168 -0
  69. package/dist/consent-KQ7MJAS6.js +51 -0
  70. package/dist/customer-portal-VUVSKWAQ.js +51 -0
  71. package/dist/dashboard-GVR4XNGR.js +51 -0
  72. package/dist/data-management-2RD3DLOS.js +51 -0
  73. package/dist/deduplication-PY77EINR.js +51 -0
  74. package/dist/design-M4FP2K5R.js +51 -0
  75. package/dist/document-P4QA7LEZ.js +51 -0
  76. package/dist/email-settings-7HGGRCCM.js +51 -0
  77. package/dist/email-template-3HXQI4CH.js +51 -0
  78. package/dist/entity-XUESZBPJ.js +51 -0
  79. package/dist/entity-mapping-JBKWWBH2.js +51 -0
  80. package/dist/environments-KKOS7ONY.js +51 -0
  81. package/dist/erp-integration-YTOWHCAW.js +51 -0
  82. package/dist/event-catalog-UKLZUGC4.js +51 -0
  83. package/dist/file-IFZNZ547.js +51 -0
  84. package/dist/iban-X2IW2NWU.js +51 -0
  85. package/dist/interactive-46ICLQKL.js +16 -0
  86. package/dist/journey-JU6X2KMX.js +51 -0
  87. package/dist/kanban-VHUU44PM.js +51 -0
  88. package/dist/message-AOUWJ4YX.js +51 -0
  89. package/dist/metering-RDS3XBD5.js +51 -0
  90. package/dist/notes-WE2UC75B.js +51 -0
  91. package/dist/notification-FKFNBHYZ.js +51 -0
  92. package/dist/organization-LMNFF6BX.js +51 -0
  93. package/dist/partner-directory-IIZVQDXJ.js +51 -0
  94. package/dist/permissions-AYCMVM7Y.js +51 -0
  95. package/dist/pricing-PS26FWBS.js +51 -0
  96. package/dist/pricing-tier-FBXWQ6T3.js +51 -0
  97. package/dist/profile-5Q5YARG7.js +135 -0
  98. package/dist/purpose-HE4E4SVU.js +51 -0
  99. package/dist/sandbox-Z7BU4UAD.js +51 -0
  100. package/dist/submission-MWVDF2ZB.js +51 -0
  101. package/dist/targeting-7NM5GDJ6.js +51 -0
  102. package/dist/template-variables-AJAR7PAV.js +51 -0
  103. package/dist/user-A26XQXG3.js +51 -0
  104. package/dist/validation-rules-VZTISEG2.js +51 -0
  105. package/dist/webhooks-RXH67WZ3.js +51 -0
  106. package/dist/workflow-G4FUUGZQ.js +51 -0
  107. package/dist/workflow-definition-LJYLMMGD.js +51 -0
  108. package/package.json +62 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2026 epilot GmbH
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,354 @@
1
+ # epilot CLI
2
+
3
+ CLI for all epilot APIs. Call any of the 800+ operations across 46 APIs directly from the command line.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npx epilot --help
9
+ ```
10
+
11
+ Or install globally:
12
+
13
+ ```bash
14
+ npm install -g epilot
15
+ ```
16
+
17
+ ## Quick Start
18
+
19
+ ```bash
20
+ # Authenticate
21
+ epilot auth login
22
+
23
+ # List entity schemas
24
+ epilot entity listSchemas
25
+
26
+ # Get an entity by id
27
+ epilot entity getEntity -p slug=contact -p id=abc123
28
+
29
+ # Same with positional args
30
+ epilot entity getEntity contact abc123
31
+
32
+ # Search entities with request body
33
+ epilot entity searchEntities -d '{"q":"*","size":10}'
34
+
35
+ # Pipe body from file
36
+ cat query.json | epilot entity searchEntities
37
+
38
+ # Filter response with JSONata
39
+ epilot user getMeV2 --jsonata 'email'
40
+
41
+ # Raw JSON output (for scripting)
42
+ epilot entity listSchemas --json | jq '.results[].slug'
43
+ ```
44
+
45
+ ## Usage
46
+
47
+ <!-- usage-help -->
48
+ ```
49
+ CLI for epilot APIs (epilot v0.1.0)
50
+
51
+ USAGE epilot [OPTIONS] auth|profile|completion|access-token|address|address-suggestions|ai-agents|app|audit-logs|automation|billing|blueprint-manifest|consent|customer-portal|dashboard|data-management|deduplication|design|document|email-settings|email-template|entity|entity-mapping|environments|erp-integration|event-catalog|file|iban|journey|kanban|message|metering|notes|notification|organization|partner-directory|permissions|pricing|pricing-tier|purpose|sandbox|submission|targeting|template-variables|user|validation-rules|webhooks|workflow|workflow-definition
52
+
53
+ OPTIONS
54
+
55
+ -t, --token Bearer token
56
+ --profile Use a named profile (or EPILOT_PROFILE env)
57
+ -s, --server Override server base URL
58
+ --json Output raw JSON
59
+ -v, --verbose Verbose output
60
+ --interactive Interactive mode
61
+ --no-interactive
62
+ --jsonata JSONata expression
63
+
64
+ COMMANDS
65
+
66
+ auth Manage authentication
67
+ profile Manage profiles (server URLs, tokens, environments)
68
+ completion Generate shell completion scripts
69
+ access-token Access Token API
70
+ address Address API
71
+ address-suggestions Address Suggestions API
72
+ ai-agents AI Agents API - OpenAPI 3.0
73
+ app App API
74
+ audit-logs Audit Log
75
+ automation Automation API
76
+ billing Billing API
77
+ blueprint-manifest Blueprint Manifest API
78
+ consent Consent API
79
+ customer-portal Portal API
80
+ dashboard Dashboard API
81
+ data-management Data Management API
82
+ deduplication Deduplication API
83
+ design Design Builder API v2
84
+ document Document API
85
+ email-settings Messaging Settings API
86
+ email-template Email template API
87
+ entity Entity API
88
+ entity-mapping Entity Mapping API
89
+ environments Environments API
90
+ erp-integration ERP Integration API
91
+ event-catalog Event Catalog API
92
+ file File API
93
+ iban Iban API
94
+ journey Journey API
95
+ kanban Kanban API
96
+ message Message API
97
+ metering Metering API
98
+ notes Notes API
99
+ notification Notification API
100
+ organization Organization API
101
+ partner-directory Partner API
102
+ permissions Permissions API
103
+ pricing Pricing API
104
+ pricing-tier Pricing Tier API
105
+ purpose Purpose API
106
+ sandbox Sandbox API
107
+ submission Submission API
108
+ targeting Targeting API
109
+ template-variables Template Variables API
110
+ user User API
111
+ validation-rules Validation Rules API
112
+ webhooks Webhooks
113
+ workflow Workflows Executions
114
+ workflow-definition Workflows Definitions
115
+
116
+ Use epilot <command> --help for more information about a command.
117
+ ```
118
+ <!-- /usage-help -->
119
+
120
+ ## Authentication
121
+
122
+ ```bash
123
+ # Browser-based login (opens epilot portal)
124
+ epilot auth login
125
+
126
+ # Manual token
127
+ epilot auth login --token <your-token>
128
+
129
+ # Or pass token per-command
130
+ epilot entity listSchemas --token <your-token>
131
+
132
+ # Or via environment variable
133
+ EPILOT_TOKEN=<your-token> epilot entity listSchemas
134
+
135
+ # Check auth status
136
+ epilot auth status
137
+
138
+ # Logout
139
+ epilot auth logout
140
+ ```
141
+
142
+ Token resolution order:
143
+ 1. `--token` flag
144
+ 2. `EPILOT_TOKEN` environment variable
145
+ 3. Active profile token
146
+ 4. Stored credentials (`~/.config/epilot/credentials.json`)
147
+ 5. Interactive prompt (if TTY)
148
+
149
+ ## Profiles
150
+
151
+ Manage multiple environments (like AWS CLI profiles):
152
+
153
+ ```bash
154
+ # Create profiles for different environments
155
+ epilot profile create dev --server https://entity.dev.sls.epilot.io --token <dev-token>
156
+ epilot profile create staging --server https://entity.staging.sls.epilot.io --token <staging-token>
157
+ epilot profile create prod --token <prod-token>
158
+
159
+ # Switch active profile
160
+ epilot profile use dev
161
+
162
+ # Or use per-command
163
+ epilot entity listSchemas --profile staging
164
+
165
+ # Or via environment variable
166
+ EPILOT_PROFILE=dev epilot entity listSchemas
167
+
168
+ # List profiles
169
+ epilot profile list
170
+
171
+ # Show profile details
172
+ epilot profile show dev
173
+
174
+ # Delete a profile
175
+ epilot profile delete dev
176
+ ```
177
+
178
+ Profiles store server URL, auth token, org ID, and custom headers in `~/.config/epilot/profiles.json`.
179
+
180
+ ## Parameters
181
+
182
+ ```bash
183
+ # Named parameters with -p
184
+ epilot entity getEntity -p slug=contact -p id=abc123
185
+
186
+ # Positional args map to path parameters in order
187
+ epilot entity getEntity contact abc123
188
+
189
+ # Query parameters
190
+ epilot entity listSchemas -p unpublished=true
191
+ ```
192
+
193
+ ## Request Body
194
+
195
+ ```bash
196
+ # Inline JSON with -d
197
+ epilot entity createEntity -p slug=contact -d '{"first_name":"John","last_name":"Doe"}'
198
+
199
+ # Pipe from file
200
+ cat entity.json | epilot entity createEntity -p slug=contact
201
+
202
+ # Pipe from another command
203
+ echo '{"q":"*"}' | epilot entity searchEntities
204
+ ```
205
+
206
+ ## Response Formatting
207
+
208
+ ```bash
209
+ # Pretty-printed JSON (default in TTY)
210
+ epilot entity getEntity contact abc123
211
+
212
+ # Raw JSON (for piping)
213
+ epilot entity getEntity contact abc123 --json
214
+
215
+ # Include response headers
216
+ epilot entity getEntity contact abc123 --include
217
+
218
+ # Verbose (show request details)
219
+ epilot entity getEntity contact abc123 --verbose
220
+
221
+ # JSONata transformation
222
+ epilot entity searchEntities -d '{"q":"*"}' --jsonata 'results[0]._title'
223
+ epilot user getMeV2 --jsonata 'email'
224
+ epilot entity listSchemas --jsonata 'results.slug'
225
+ ```
226
+
227
+ ## Server Override
228
+
229
+ ```bash
230
+ # Use a custom server URL
231
+ epilot entity listSchemas --server http://localhost:3000
232
+
233
+ # Or set it in a profile
234
+ epilot profile create local --server http://localhost:3000
235
+ epilot profile use local
236
+ ```
237
+
238
+ ## OpenAPI Spec Override
239
+
240
+ For unreleased API features, override the bundled OpenAPI spec:
241
+
242
+ ```bash
243
+ # From a local file
244
+ epilot entity getEntity -p slug=contact -p id=abc --definition ./my-spec.json
245
+
246
+ # From a URL
247
+ epilot entity getEntity --definition https://example.com/openapi.json
248
+
249
+ # Or place in .epilot/overrides/
250
+ mkdir -p .epilot/overrides
251
+ cp my-entity-spec.json .epilot/overrides/entity.json
252
+ epilot entity getEntity contact abc123 # automatically uses override
253
+ ```
254
+
255
+ ## Interactive Mode
256
+
257
+ When running in a TTY without required arguments, the CLI prompts interactively:
258
+
259
+ - **No operation**: shows an operation picker
260
+ - **Missing required params**: prompts for each one
261
+ - **No auth token**: prompts to paste a token
262
+
263
+ Disable with `--no-interactive` for CI/scripts.
264
+
265
+ ## Shell Completion
266
+
267
+ ```bash
268
+ # Bash — add to ~/.bashrc
269
+ eval "$(epilot completion bash)"
270
+
271
+ # Zsh — add to ~/.zshrc
272
+ eval "$(epilot completion zsh)"
273
+
274
+ # Fish — save to completions dir
275
+ epilot completion fish > ~/.config/fish/completions/epilot.fish
276
+ ```
277
+
278
+ Provides tab completion for API names, operation IDs, and flags.
279
+
280
+ ## API Reference
281
+
282
+ Full documentation with sample calls and responses for all 46 APIs:
283
+
284
+ [**docs/index.md**](./docs/index.md)
285
+
286
+ <!-- api-reference-table -->
287
+ | API | Command | Docs |
288
+ | --- | ------- | ---- |
289
+ | Access Token API | `epilot access-token` | [docs](./docs/access-token.md) |
290
+ | Address API | `epilot address` | [docs](./docs/address.md) |
291
+ | Address Suggestions API | `epilot address-suggestions` | [docs](./docs/address-suggestions.md) |
292
+ | AI Agents API - OpenAPI 3.0 | `epilot ai-agents` | [docs](./docs/ai-agents.md) |
293
+ | App API | `epilot app` | [docs](./docs/app.md) |
294
+ | Audit Log | `epilot audit-logs` | [docs](./docs/audit-logs.md) |
295
+ | Automation API | `epilot automation` | [docs](./docs/automation.md) |
296
+ | Billing API | `epilot billing` | [docs](./docs/billing.md) |
297
+ | Blueprint Manifest API | `epilot blueprint-manifest` | [docs](./docs/blueprint-manifest.md) |
298
+ | Consent API | `epilot consent` | [docs](./docs/consent.md) |
299
+ | Portal API | `epilot customer-portal` | [docs](./docs/customer-portal.md) |
300
+ | Dashboard API | `epilot dashboard` | [docs](./docs/dashboard.md) |
301
+ | Data Management API | `epilot data-management` | [docs](./docs/data-management.md) |
302
+ | Deduplication API | `epilot deduplication` | [docs](./docs/deduplication.md) |
303
+ | Design Builder API v2 | `epilot design` | [docs](./docs/design.md) |
304
+ | Document API | `epilot document` | [docs](./docs/document.md) |
305
+ | Messaging Settings API | `epilot email-settings` | [docs](./docs/email-settings.md) |
306
+ | Email template API | `epilot email-template` | [docs](./docs/email-template.md) |
307
+ | Entity API | `epilot entity` | [docs](./docs/entity.md) |
308
+ | Entity Mapping API | `epilot entity-mapping` | [docs](./docs/entity-mapping.md) |
309
+ | Environments API | `epilot environments` | [docs](./docs/environments.md) |
310
+ | ERP Integration API | `epilot erp-integration` | [docs](./docs/erp-integration.md) |
311
+ | Event Catalog API | `epilot event-catalog` | [docs](./docs/event-catalog.md) |
312
+ | File API | `epilot file` | [docs](./docs/file.md) |
313
+ | Iban API | `epilot iban` | [docs](./docs/iban.md) |
314
+ | Journey API | `epilot journey` | [docs](./docs/journey.md) |
315
+ | Kanban API | `epilot kanban` | [docs](./docs/kanban.md) |
316
+ | Message API | `epilot message` | [docs](./docs/message.md) |
317
+ | Metering API | `epilot metering` | [docs](./docs/metering.md) |
318
+ | Notes API | `epilot notes` | [docs](./docs/notes.md) |
319
+ | Notification API | `epilot notification` | [docs](./docs/notification.md) |
320
+ | Organization API | `epilot organization` | [docs](./docs/organization.md) |
321
+ | Partner API | `epilot partner-directory` | [docs](./docs/partner-directory.md) |
322
+ | Permissions API | `epilot permissions` | [docs](./docs/permissions.md) |
323
+ | Pricing API | `epilot pricing` | [docs](./docs/pricing.md) |
324
+ | Pricing Tier API | `epilot pricing-tier` | [docs](./docs/pricing-tier.md) |
325
+ | Purpose API | `epilot purpose` | [docs](./docs/purpose.md) |
326
+ | Sandbox API | `epilot sandbox` | [docs](./docs/sandbox.md) |
327
+ | Submission API | `epilot submission` | [docs](./docs/submission.md) |
328
+ | Targeting API | `epilot targeting` | [docs](./docs/targeting.md) |
329
+ | Template Variables API | `epilot template-variables` | [docs](./docs/template-variables.md) |
330
+ | User API | `epilot user` | [docs](./docs/user.md) |
331
+ | Validation Rules API | `epilot validation-rules` | [docs](./docs/validation-rules.md) |
332
+ | Webhooks | `epilot webhooks` | [docs](./docs/webhooks.md) |
333
+ | Workflows Executions | `epilot workflow` | [docs](./docs/workflow.md) |
334
+ | Workflows Definitions | `epilot workflow-definition` | [docs](./docs/workflow-definition.md) |
335
+ <!-- /api-reference-table -->
336
+
337
+ ## Development
338
+
339
+ ```bash
340
+ # Install dependencies
341
+ pnpm install
342
+
343
+ # Generate API commands + definitions + docs from client specs
344
+ pnpm generate
345
+
346
+ # Run in dev mode
347
+ pnpm dev -- entity listSchemas
348
+
349
+ # Build
350
+ pnpm build
351
+
352
+ # Run tests
353
+ pnpm test
354
+ ```