@velaro/cli 0.7.0 → 1.4.8
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 +161 -138
- package/bin/velaro.js +177 -62
- package/lib/api.js +91 -52
- package/lib/api.test.js +46 -0
- package/lib/banner.js +76 -0
- package/lib/commands/activity.js +133 -0
- package/lib/commands/acuity.js +66 -0
- package/lib/commands/agent.js +204 -50
- package/lib/commands/ai-config.js +193 -0
- package/lib/commands/ai-models.js +159 -0
- package/lib/commands/appointments.js +198 -0
- package/lib/commands/article.js +668 -388
- package/lib/commands/automation-draft.js +134 -0
- package/lib/commands/avatar.js +75 -0
- package/lib/commands/bigcommerce.js +50 -0
- package/lib/commands/billing-contacts.js +62 -0
- package/lib/commands/billing-email-preference.js +64 -0
- package/lib/commands/billing-subscription.js +265 -0
- package/lib/commands/billing.js +138 -0
- package/lib/commands/bot.js +141 -137
- package/lib/commands/bundle.js +168 -0
- package/lib/commands/calendly.js +62 -0
- package/lib/commands/callback.js +125 -0
- package/lib/commands/callrail.js +88 -0
- package/lib/commands/campaigns.js +44 -0
- package/lib/commands/case.js +102 -0
- package/lib/commands/check.js +163 -163
- package/lib/commands/compliance.js +229 -0
- package/lib/commands/conversation-efficiency.js +178 -0
- package/lib/commands/copilotstudio.js +114 -0
- package/lib/commands/coupon-grant.js +192 -0
- package/lib/commands/db.js +101 -0
- package/lib/commands/deployment.js +107 -107
- package/lib/commands/diagnostics.js +298 -0
- package/lib/commands/email-campaign.js +47 -0
- package/lib/commands/email-inbox.js +88 -0
- package/lib/commands/entitlement.js +176 -0
- package/lib/commands/env.js +45 -45
- package/lib/commands/feature-discovery.js +40 -0
- package/lib/commands/focus.js +278 -0
- package/lib/commands/index.js +38 -5
- package/lib/commands/ingest.js +31 -31
- package/lib/commands/inline-widget-config.js +126 -0
- package/lib/commands/integration.js +93 -0
- package/lib/commands/kb.js +450 -309
- package/lib/commands/login.js +86 -86
- package/lib/commands/logs.js +680 -0
- package/lib/commands/magento.js +210 -0
- package/lib/commands/mcp-key.js +188 -159
- package/lib/commands/migrate.js +134 -0
- package/lib/commands/migration-status.js +66 -0
- package/lib/commands/monday.js +137 -0
- package/lib/commands/netsuite.js +87 -0
- package/lib/commands/notifications.js +63 -0
- package/lib/commands/notion.js +70 -0
- package/lib/commands/ops.js +267 -173
- package/lib/commands/payment-recovery.js +170 -0
- package/lib/commands/pickup.js +172 -0
- package/lib/commands/pricing.js +132 -0
- package/lib/commands/product.js +55 -0
- package/lib/commands/recruiting.js +374 -0
- package/lib/commands/report.js +462 -0
- package/lib/commands/routing.js +304 -0
- package/lib/commands/rule.js +85 -85
- package/lib/commands/sharepoint.js +167 -0
- package/lib/commands/site-provision.js +68 -0
- package/lib/commands/site.js +62 -62
- package/lib/commands/sitesync.js +158 -0
- package/lib/commands/slack.js +64 -0
- package/lib/commands/squarespace.js +108 -0
- package/lib/commands/status.js +24 -24
- package/lib/commands/subscription.js +43 -0
- package/lib/commands/support.js +128 -0
- package/lib/commands/survey.js +216 -0
- package/lib/commands/team.js +144 -144
- package/lib/commands/teams-phone.js +131 -0
- package/lib/commands/teams.js +106 -0
- package/lib/commands/telephony.js +99 -0
- package/lib/commands/update.js +47 -47
- package/lib/commands/webflow.js +128 -0
- package/lib/commands/whoami.js +25 -22
- package/lib/commands/widget-container.js +152 -0
- package/lib/commands/woocommerce.js +240 -0
- package/lib/commands/workflow.js +233 -98
- package/lib/config.js +85 -83
- package/lib/kb-screenshot.js +320 -0
- package/lib/migrations/amscro.json +72 -0
- package/lib/migrations/azenta.json +68 -0
- package/lib/migrations/bluefire.json +49 -0
- package/lib/migrations/donaldson.json +75 -0
- package/lib/oauth.js +149 -135
- package/lib/run.js +21 -16
- package/lib/sharepoint-auth.js +138 -0
- package/lib/subscription.js +41 -39
- package/lib/track.js +35 -35
- package/lib/update-check.js +64 -64
- package/package.json +34 -19
- package/scripts/postinstall.js +12 -0
package/README.md
CHANGED
|
@@ -1,138 +1,161 @@
|
|
|
1
|
-
# Velaro CLI
|
|
2
|
-
|
|
3
|
-
Command-line interface for managing your Velaro account — bots, knowledge base ingestion, and MCP API keys.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install -g @velaro/cli
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
Or run without installing:
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
npx @velaro/cli login
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
> Requires Node.js 18 or later.
|
|
18
|
-
|
|
19
|
-
## Authentication
|
|
20
|
-
|
|
21
|
-
Velaro CLI uses your existing Velaro account — the same login you use in the admin portal. No separate API key or password required.
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
velaro login
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
This opens your browser to a short code page. Enter the code shown in the terminal, sign in with your Velaro account, and you're done. Your session is saved to `~/.velaro/config.json` and refreshes automatically — you won't need to log in again for months.
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
velaro logout # clear saved credentials
|
|
31
|
-
velaro whoami # confirm who you're logged in as
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Commands
|
|
35
|
-
|
|
36
|
-
### `velaro bot list`
|
|
37
|
-
List all AI bots configured on your site.
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
[42] Support Bot model=velaro-gpt-4o-mini status=ready
|
|
41
|
-
[43] Sales Bot model=velaro-gpt-4o-mini status=ready
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### `velaro bot setup`
|
|
45
|
-
Create or update an AI bot (upsert by name).
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
velaro bot setup \
|
|
49
|
-
--name "Support Bot" \
|
|
50
|
-
--prompt "You are a helpful support assistant for Acme Corp..." \
|
|
51
|
-
--tone Professional \
|
|
52
|
-
--reply-length Medium \
|
|
53
|
-
--urls "https://help.acme.com,https://acme.com/faq"
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Options:
|
|
57
|
-
| Flag | Description | Default |
|
|
58
|
-
|---|---|---|
|
|
59
|
-
| `--name` | Bot name (required) | — |
|
|
60
|
-
| `--prompt` | System prompt | — |
|
|
61
|
-
| `--model` | AI model | `velaro-gpt-4o-mini` |
|
|
62
|
-
| `--tone` | `Professional`, `Friendly`, `Formal`, `Casual` | `Professional` |
|
|
63
|
-
| `--reply-length` | `Short`, `Medium`, `Long` | `Medium` |
|
|
64
|
-
| `--urls` | Comma-separated knowledge base URLs | — |
|
|
65
|
-
|
|
66
|
-
### `velaro ingest --job-id <id>`
|
|
67
|
-
Trigger knowledge base ingestion for a completed scraper job. The job runs in the background — embedding 50+ pages typically takes 1–2 minutes.
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
velaro ingest --job-id d2d93504
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
> Requires the **Knowledge Base** feature on your subscription.
|
|
74
|
-
|
|
75
|
-
### `velaro mcp-key list`
|
|
76
|
-
List MCP API keys for your site (used to connect AI tools like Claude).
|
|
77
|
-
|
|
78
|
-
```
|
|
79
|
-
[1] Claude Code prefix=vel_live_aB4 active last used=4/9/2026
|
|
80
|
-
[2] Zapier prefix=vel_live_xC7 active last used=never
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### `velaro mcp-key create --label <label>`
|
|
84
|
-
Create a new MCP API key. The full key is shown **once** — copy it immediately.
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
velaro mcp-key create --label "Claude Code"
|
|
88
|
-
velaro mcp-key create --label "Zapier" --expires 2027-01-01
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### `velaro mcp-key revoke <id>`
|
|
92
|
-
Revoke an MCP key by ID.
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
velaro mcp-key revoke 2
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### `velaro
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
```bash
|
|
102
|
-
velaro
|
|
103
|
-
#
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
##
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
1
|
+
# Velaro CLI
|
|
2
|
+
|
|
3
|
+
Command-line interface for managing your Velaro account — bots, knowledge base ingestion, and MCP API keys.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g @velaro/cli
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Or run without installing:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx @velaro/cli login
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
> Requires Node.js 18 or later.
|
|
18
|
+
|
|
19
|
+
## Authentication
|
|
20
|
+
|
|
21
|
+
Velaro CLI uses your existing Velaro account — the same login you use in the admin portal. No separate API key or password required.
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
velaro login
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
This opens your browser to a short code page. Enter the code shown in the terminal, sign in with your Velaro account, and you're done. Your session is saved to `~/.velaro/config.json` and refreshes automatically — you won't need to log in again for months.
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
velaro logout # clear saved credentials
|
|
31
|
+
velaro whoami # confirm who you're logged in as
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Commands
|
|
35
|
+
|
|
36
|
+
### `velaro bot list`
|
|
37
|
+
List all AI bots configured on your site.
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
[42] Support Bot model=velaro-gpt-4o-mini status=ready
|
|
41
|
+
[43] Sales Bot model=velaro-gpt-4o-mini status=ready
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### `velaro bot setup`
|
|
45
|
+
Create or update an AI bot (upsert by name).
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
velaro bot setup \
|
|
49
|
+
--name "Support Bot" \
|
|
50
|
+
--prompt "You are a helpful support assistant for Acme Corp..." \
|
|
51
|
+
--tone Professional \
|
|
52
|
+
--reply-length Medium \
|
|
53
|
+
--urls "https://help.acme.com,https://acme.com/faq"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Options:
|
|
57
|
+
| Flag | Description | Default |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| `--name` | Bot name (required) | — |
|
|
60
|
+
| `--prompt` | System prompt | — |
|
|
61
|
+
| `--model` | AI model | `velaro-gpt-4o-mini` |
|
|
62
|
+
| `--tone` | `Professional`, `Friendly`, `Formal`, `Casual` | `Professional` |
|
|
63
|
+
| `--reply-length` | `Short`, `Medium`, `Long` | `Medium` |
|
|
64
|
+
| `--urls` | Comma-separated knowledge base URLs | — |
|
|
65
|
+
|
|
66
|
+
### `velaro ingest --job-id <id>`
|
|
67
|
+
Trigger knowledge base ingestion for a completed scraper job. The job runs in the background — embedding 50+ pages typically takes 1–2 minutes.
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
velaro ingest --job-id d2d93504
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
> Requires the **Knowledge Base** feature on your subscription.
|
|
74
|
+
|
|
75
|
+
### `velaro mcp-key list`
|
|
76
|
+
List MCP API keys for your site (used to connect AI tools like Claude).
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
[1] Claude Code prefix=vel_live_aB4 active last used=4/9/2026
|
|
80
|
+
[2] Zapier prefix=vel_live_xC7 active last used=never
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### `velaro mcp-key create --label <label>`
|
|
84
|
+
Create a new MCP API key. The full key is shown **once** — copy it immediately.
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
velaro mcp-key create --label "Claude Code"
|
|
88
|
+
velaro mcp-key create --label "Zapier" --expires 2027-01-01
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### `velaro mcp-key revoke <id>`
|
|
92
|
+
Revoke an MCP key by ID.
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
velaro mcp-key revoke 2
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### `velaro kb article <subcommand>`
|
|
99
|
+
Manage your help.velaro.com knowledge base articles. Full reference (including the REST/MCP equivalents and the screenshot pipeline): [`docs/architecture/kb-publishing-system.md`](../docs/architecture/kb-publishing-system.md).
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
velaro kb article topics # list topics (get a topicId first)
|
|
103
|
+
velaro kb article list --search "smart routing" # search/list articles
|
|
104
|
+
velaro kb article get 1234 # fetch one article
|
|
105
|
+
velaro kb article push ./my-article.md --topic-id 4 --publish # create (or --update-id to update)
|
|
106
|
+
velaro kb article preview 1234 # render an article's HTML locally
|
|
107
|
+
velaro kb article improve 1234 --instruction "add a troubleshooting section" --publish
|
|
108
|
+
velaro kb article seed-views 1234 # seed a realistic view count (new articles)
|
|
109
|
+
velaro kb article delete 1234
|
|
110
|
+
|
|
111
|
+
# Grab a real screenshot off staging, polish it, and drop it into an article:
|
|
112
|
+
velaro kb article screenshot 1234 \
|
|
113
|
+
--app admin \
|
|
114
|
+
--route "/Settings/SmartRouting" \
|
|
115
|
+
--heading "Turning on Smart Routing" \
|
|
116
|
+
--annotate 120,80,1
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
> Titles are auto-normalized to Title Case with no dashes, even if you pass a slug-style name — use `--no-title-normalize` to skip that.
|
|
120
|
+
|
|
121
|
+
### `velaro status`
|
|
122
|
+
Check that the Velaro API is reachable.
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
velaro status
|
|
126
|
+
# Checking https://velaro-messaging-api-staging.azurewebsites.net/Status ... OK
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Environment variables
|
|
130
|
+
|
|
131
|
+
| Variable | Description |
|
|
132
|
+
|---|---|
|
|
133
|
+
| `VELARO_API_BASE` | Override the API base URL (defaults to production) |
|
|
134
|
+
| `VELARO_CLI_CLIENT_ID` | Override the Entra app ID (advanced) |
|
|
135
|
+
|
|
136
|
+
## What the CLI can access
|
|
137
|
+
|
|
138
|
+
The CLI operates under your Velaro account with the same permissions you have in the admin portal. It can only access **your own site's data** — it is not possible to read or modify another customer's account.
|
|
139
|
+
|
|
140
|
+
Feature access is gated by your subscription plan:
|
|
141
|
+
- **Bot setup** — requires the AI feature on your plan
|
|
142
|
+
- **KB ingestion** — requires the Knowledge Base feature
|
|
143
|
+
- **MCP keys** — requires the MCP API Access feature
|
|
144
|
+
|
|
145
|
+
## Security
|
|
146
|
+
|
|
147
|
+
- Login uses OAuth 2.0 device authorization (RFC 8628) — no password is ever stored
|
|
148
|
+
- Credentials are saved to `~/.velaro/config.json` with owner-only permissions (`0600`)
|
|
149
|
+
- Your Velaro JWT expires after 1 hour and is silently refreshed using a secure refresh token
|
|
150
|
+
- All API calls go over HTTPS to `velaro-messaging-api.azurewebsites.net`
|
|
151
|
+
|
|
152
|
+
## Publishing (internal)
|
|
153
|
+
|
|
154
|
+
The CLI lives in `velaro-admin/cli/`. To publish to npm:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
cd cli
|
|
158
|
+
npm publish --access public
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Requires `npm login` with the `@velaro` organization access.
|
package/bin/velaro.js
CHANGED
|
@@ -1,62 +1,177 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import { loginCommand, logoutCommand }
|
|
6
|
-
import { envCommand }
|
|
7
|
-
import { whoamiCommand }
|
|
8
|
-
import {
|
|
9
|
-
import { botCommand }
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import yargs from 'yargs';
|
|
3
|
+
import { hideBin } from 'yargs/helpers';
|
|
4
|
+
|
|
5
|
+
import { loginCommand, logoutCommand } from '../lib/commands/login.js';
|
|
6
|
+
import { envCommand } from '../lib/commands/env.js';
|
|
7
|
+
import { whoamiCommand } from '../lib/commands/whoami.js';
|
|
8
|
+
import { kbCommand } from '../lib/commands/kb.js';
|
|
9
|
+
import { botCommand } from '../lib/commands/bot.js';
|
|
10
|
+
import { indexCommand } from '../lib/commands/index.js';
|
|
11
|
+
import { ingestCommand } from '../lib/commands/ingest.js';
|
|
12
|
+
import { productCommand } from '../lib/commands/product.js';
|
|
13
|
+
import { mcpKeyCommand } from '../lib/commands/mcp-key.js';
|
|
14
|
+
import { opsCommand } from '../lib/commands/ops.js';
|
|
15
|
+
import { checkCommand } from '../lib/commands/check.js';
|
|
16
|
+
import { logsCommand } from '../lib/commands/logs.js';
|
|
17
|
+
import { aiModelsCommand } from '../lib/commands/ai-models.js';
|
|
18
|
+
import { siteCommand } from '../lib/commands/site.js';
|
|
19
|
+
import { siteProvisionCommand } from '../lib/commands/site-provision.js';
|
|
20
|
+
import { siteSyncCommand } from '../lib/commands/sitesync.js';
|
|
21
|
+
import { statusCommand } from '../lib/commands/status.js';
|
|
22
|
+
import { activityCommand } from '../lib/commands/activity.js';
|
|
23
|
+
import { ruleCommand } from '../lib/commands/rule.js';
|
|
24
|
+
import { teamCommand } from '../lib/commands/team.js';
|
|
25
|
+
import { workflowCommand } from '../lib/commands/workflow.js';
|
|
26
|
+
import { aiConfigCommand } from '../lib/commands/ai-config.js';
|
|
27
|
+
import { deploymentCommand } from '../lib/commands/deployment.js';
|
|
28
|
+
import { updateCommand } from '../lib/commands/update.js';
|
|
29
|
+
import { agentCommand } from '../lib/commands/agent.js';
|
|
30
|
+
import { notificationsCommand } from '../lib/commands/notifications.js';
|
|
31
|
+
import { articleCommand } from '../lib/commands/article.js';
|
|
32
|
+
import { sharepointCommand } from '../lib/commands/sharepoint.js';
|
|
33
|
+
import { calendlyCommand } from '../lib/commands/calendly.js';
|
|
34
|
+
import { copilotStudioCommand } from '../lib/commands/copilotstudio.js';
|
|
35
|
+
import { acuityCommand } from '../lib/commands/acuity.js';
|
|
36
|
+
import { avatarCommand } from '../lib/commands/avatar.js';
|
|
37
|
+
import { integrationCommand } from '../lib/commands/integration.js';
|
|
38
|
+
import { appointmentsCommand } from '../lib/commands/appointments.js';
|
|
39
|
+
import { reportCommand } from '../lib/commands/report.js';
|
|
40
|
+
import { conversationEfficiencyCommand } from '../lib/commands/conversation-efficiency.js';
|
|
41
|
+
import { dbCommand } from '../lib/commands/db.js';
|
|
42
|
+
import { focusCommand } from '../lib/commands/focus.js';
|
|
43
|
+
import { automationDraftCommand } from '../lib/commands/automation-draft.js';
|
|
44
|
+
import { magentoCommand } from '../lib/commands/magento.js';
|
|
45
|
+
import { mondayCommand } from '../lib/commands/monday.js';
|
|
46
|
+
import { notionCommand } from '../lib/commands/notion.js';
|
|
47
|
+
import { callrailCommand } from '../lib/commands/callrail.js';
|
|
48
|
+
import { emailCampaignCommand } from '../lib/commands/email-campaign.js';
|
|
49
|
+
import { telephonyCommand } from '../lib/commands/telephony.js';
|
|
50
|
+
import { teamsPhoneCommand } from '../lib/commands/teams-phone.js';
|
|
51
|
+
import { teamsCommand } from '../lib/commands/teams.js';
|
|
52
|
+
import { slackCommand } from '../lib/commands/slack.js';
|
|
53
|
+
import { webflowCommand } from '../lib/commands/webflow.js';
|
|
54
|
+
import { netsuiteCommand } from '../lib/commands/netsuite.js';
|
|
55
|
+
import { woocommerceCommand } from '../lib/commands/woocommerce.js';
|
|
56
|
+
import { squarespaceCommand } from '../lib/commands/squarespace.js';
|
|
57
|
+
import { bigcommerceCommand } from '../lib/commands/bigcommerce.js';
|
|
58
|
+
import { migrateCommand } from '../lib/commands/migrate.js';
|
|
59
|
+
import { migrationStatusCommand } from '../lib/commands/migration-status.js';
|
|
60
|
+
import { complianceCommand } from '../lib/commands/compliance.js';
|
|
61
|
+
import { billingContactsCommand } from '../lib/commands/billing-contacts.js';
|
|
62
|
+
import { billingSubscriptionCommand } from '../lib/commands/billing-subscription.js';
|
|
63
|
+
import { billingEmailPreferenceCommand } from '../lib/commands/billing-email-preference.js';
|
|
64
|
+
import { billingCommand } from '../lib/commands/billing.js';
|
|
65
|
+
import { couponGrantCommand } from '../lib/commands/coupon-grant.js';
|
|
66
|
+
import { widgetContainerCommand } from '../lib/commands/widget-container.js';
|
|
67
|
+
import { inlineWidgetConfigCommand } from '../lib/commands/inline-widget-config.js';
|
|
68
|
+
import { pricingCommand } from '../lib/commands/pricing.js';
|
|
69
|
+
import { entitlementCommand } from '../lib/commands/entitlement.js';
|
|
70
|
+
import { subscriptionCommand } from '../lib/commands/subscription.js';
|
|
71
|
+
import { supportCommand } from '../lib/commands/support.js';
|
|
72
|
+
import { routingCommand } from '../lib/commands/routing.js';
|
|
73
|
+
import { diagnosticsCommand } from '../lib/commands/diagnostics.js';
|
|
74
|
+
import { emailInboxCommand } from '../lib/commands/email-inbox.js';
|
|
75
|
+
import { callbackCommand } from '../lib/commands/callback.js';
|
|
76
|
+
import { caseCommand } from '../lib/commands/case.js';
|
|
77
|
+
import { pickupCommand } from '../lib/commands/pickup.js';
|
|
78
|
+
import { paymentRecoveryCommand } from '../lib/commands/payment-recovery.js';
|
|
79
|
+
import { recruitingCommand } from '../lib/commands/recruiting.js';
|
|
80
|
+
import { surveyCommand } from '../lib/commands/survey.js';
|
|
81
|
+
import { bundleCommand } from '../lib/commands/bundle.js';
|
|
82
|
+
import { featureDiscoveryCommand } from '../lib/commands/feature-discovery.js';
|
|
83
|
+
import { campaignsCommand } from '../lib/commands/campaigns.js';
|
|
84
|
+
import { startUpdateCheck } from '../lib/update-check.js';
|
|
85
|
+
import { printBannerIfFirstRun } from '../lib/banner.js';
|
|
86
|
+
|
|
87
|
+
printBannerIfFirstRun();
|
|
88
|
+
|
|
89
|
+
startUpdateCheck();
|
|
90
|
+
|
|
91
|
+
yargs(hideBin(process.argv))
|
|
92
|
+
.scriptName('velaro')
|
|
93
|
+
.usage('$0 <command> [options]')
|
|
94
|
+
.command(loginCommand)
|
|
95
|
+
.command(logoutCommand)
|
|
96
|
+
.command(envCommand)
|
|
97
|
+
.command(whoamiCommand)
|
|
98
|
+
.command(kbCommand)
|
|
99
|
+
.command(botCommand)
|
|
100
|
+
.command(indexCommand)
|
|
101
|
+
.command(ingestCommand)
|
|
102
|
+
.command(productCommand)
|
|
103
|
+
.command(mcpKeyCommand)
|
|
104
|
+
.command(opsCommand)
|
|
105
|
+
.command(checkCommand)
|
|
106
|
+
.command(logsCommand)
|
|
107
|
+
.command(aiModelsCommand)
|
|
108
|
+
.command(siteCommand)
|
|
109
|
+
.command(siteProvisionCommand)
|
|
110
|
+
.command(siteSyncCommand)
|
|
111
|
+
.command(statusCommand)
|
|
112
|
+
.command(activityCommand)
|
|
113
|
+
.command(ruleCommand)
|
|
114
|
+
.command(teamCommand)
|
|
115
|
+
.command(workflowCommand)
|
|
116
|
+
.command(aiConfigCommand)
|
|
117
|
+
.command(deploymentCommand)
|
|
118
|
+
.command(updateCommand)
|
|
119
|
+
.command(agentCommand)
|
|
120
|
+
.command(notificationsCommand)
|
|
121
|
+
.command(articleCommand)
|
|
122
|
+
.command(sharepointCommand)
|
|
123
|
+
.command(calendlyCommand)
|
|
124
|
+
.command(copilotStudioCommand)
|
|
125
|
+
.command(acuityCommand)
|
|
126
|
+
.command(avatarCommand)
|
|
127
|
+
.command(integrationCommand)
|
|
128
|
+
.command(appointmentsCommand)
|
|
129
|
+
.command(reportCommand)
|
|
130
|
+
.command(conversationEfficiencyCommand)
|
|
131
|
+
.command(dbCommand)
|
|
132
|
+
.command(focusCommand)
|
|
133
|
+
.command(automationDraftCommand)
|
|
134
|
+
.command(magentoCommand)
|
|
135
|
+
.command(mondayCommand)
|
|
136
|
+
.command(notionCommand)
|
|
137
|
+
.command(callrailCommand)
|
|
138
|
+
.command(emailCampaignCommand)
|
|
139
|
+
.command(telephonyCommand)
|
|
140
|
+
.command(teamsPhoneCommand)
|
|
141
|
+
.command(teamsCommand)
|
|
142
|
+
.command(slackCommand)
|
|
143
|
+
.command(webflowCommand)
|
|
144
|
+
.command(netsuiteCommand)
|
|
145
|
+
.command(woocommerceCommand)
|
|
146
|
+
.command(squarespaceCommand)
|
|
147
|
+
.command(bigcommerceCommand)
|
|
148
|
+
.command(migrateCommand)
|
|
149
|
+
.command(migrationStatusCommand)
|
|
150
|
+
.command(complianceCommand)
|
|
151
|
+
.command(billingContactsCommand)
|
|
152
|
+
.command(billingSubscriptionCommand)
|
|
153
|
+
.command(billingEmailPreferenceCommand)
|
|
154
|
+
.command(billingCommand)
|
|
155
|
+
.command(couponGrantCommand)
|
|
156
|
+
.command(widgetContainerCommand)
|
|
157
|
+
.command(inlineWidgetConfigCommand)
|
|
158
|
+
.command({ command: 'pricing', desc: 'View and manage the pricing catalog', builder: pricingCommand, handler: () => {} })
|
|
159
|
+
.command({ command: 'entitlement', desc: 'Query and manage site feature entitlements (superadmin only)', builder: entitlementCommand, handler: () => {} })
|
|
160
|
+
.command({ command: 'subscription', desc: 'Apply/diff SubscriptionPackage packages on a site (superadmin only)', builder: subscriptionCommand, handler: () => {} })
|
|
161
|
+
.command({ command: 'support', desc: 'Staff SupportTools actions on a site (superadmin only)', builder: supportCommand, handler: () => {} })
|
|
162
|
+
.command(routingCommand)
|
|
163
|
+
.command(diagnosticsCommand)
|
|
164
|
+
.command(emailInboxCommand)
|
|
165
|
+
.command(callbackCommand)
|
|
166
|
+
.command(caseCommand)
|
|
167
|
+
.command(pickupCommand)
|
|
168
|
+
.command(paymentRecoveryCommand)
|
|
169
|
+
.command(recruitingCommand)
|
|
170
|
+
.command(surveyCommand)
|
|
171
|
+
.command(bundleCommand)
|
|
172
|
+
.command({ command: 'feature-discovery', desc: 'View and act on feature-discovery suggestions for this site', builder: featureDiscoveryCommand, handler: () => {} })
|
|
173
|
+
.command(campaignsCommand)
|
|
174
|
+
.demandCommand(1, 'Specify a command. Run "velaro --help" for options.')
|
|
175
|
+
.strict()
|
|
176
|
+
.help()
|
|
177
|
+
.argv;
|