jarvis-launcher 1.1.2 → 1.1.3

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
@@ -116,7 +116,7 @@ Notes:
116
116
 
117
117
  ### Pre-seeding the initial state (`seed/state.json`)
118
118
 
119
- An integrator packaging a scenario can ship a **`seed/state.json`** file to give the seed an identity (a name and description) and pre-declare the environment's **initial** state, so the first `init`/`start` picks up the right project name, optional profiles, and image tag without anyone having to remember the flags. It is read **only when the scenario has no `.orchestrator/state.json` yet** (a brand-new environment); once the scenario has been started, its own `.orchestrator/state.json` drives everything and the seed is ignored.
119
+ An integrator packaging a scenario can ship a **`seed/state.json`** file to give the seed an identity (a name and description) and pre-declare the environment's **initial** state, so the first `init`/`start` picks up the right project name, optional profiles, and Jarvis version (image tag) without anyone having to remember the flags. It is read **only when the scenario has no `.orchestrator/state.json` yet** (a brand-new environment); once the scenario has been started, its own `.orchestrator/state.json` drives everything and the seed is ignored.
120
120
 
121
121
  Only the properties below are honored — anything else in the file (notably a `ports` block) is ignored, so you can copy a working environment's `.orchestrator/state.json` verbatim and only the portable bits are applied (fresh host ports are always re-allocated for the new machine):
122
122
 
@@ -136,19 +136,19 @@ Only the properties below are honored — anything else in the file (notably a `
136
136
  | `description` | free-text summary of what the seed installs (identity metadata; not applied to the environment) | none |
137
137
  | `projectName` | the `docker compose -p` project name | derived from the folder name |
138
138
  | `enabledProfiles` | optional profiles to turn on (`sql`, `mail`) | none |
139
- | `tag` | base image tag to pin the scenario to | `latest` |
139
+ | `tag` | Jarvis version (base image tag) to pin the scenario to | `latest` |
140
140
 
141
141
  `name` and `description` describe the seed itself — they are read back via `readSeedState` (the groundwork for letting the launcher list and choose a seed to import) but do not change what `start` brings up.
142
142
 
143
143
  Explicit CLI flags always win over the seed: `--tag` overrides `tag`, and `--sql`/`--mail` are **added to** the seed's `enabledProfiles`.
144
144
 
145
- In the interactive homepage, choosing **Start** on a brand-new (uninitialized) folder first asks for the **scenario folder** (default: the current directory — one Enter keeps it, like Stop/Restore/Backup), then opens a submenu for that folder. A **local `seed/` takes precedence** over the remote catalog — when the folder already ships one (any payload counts, including a config-only seed), the remote catalog is never contacted (no client-secret prompt / network):
145
+ The interactive homepage always operates on the **current working directory** — it never asks for a folder (use the CLI's positional `[folder]` to target elsewhere). Choosing **Start** on a brand-new (uninitialized) directory opens a submenu for it, and every branch creates a **new environment**, so each one first asks for the **environment name** (pre-filled with the name that would be derived anyway — the seed-declared one when present, else the folder name — so one Enter keeps it). A **local `seed/` takes precedence** over the remote catalog — when the directory already ships one (any payload counts, including a config-only seed), the remote catalog is never contacted (no client-secret prompt / network):
146
146
 
147
- - **Start from local seed** *(shown only when a local `seed/` is present)* — install the shipped seed by starting the folder. A seed **declared** by `seed/state.json` dictates its own environment and starts as-is (the status header above already previews what it will install); an **undeclared** seed (data/config only) still asks for the image tag and the optional SQL/mail toggles — with SQL defaulting to **on** when the seed ships a SQL backup.
148
- - **Start from an existing scenario** *(shown only when there is no local seed)* — pick from the **remote seed catalog**: the `.zip` blobs in the `seedintegratori`/`seeds` container, each shown by its blob-metadata `name`/`description`. Picking one downloads and extracts it into `<folder>/seed` (staged first — a failed download never leaves a half-installed or wiped seed), then starts it. An empty or unreachable catalog (offline / rejected secret) shows a short notice and returns.
149
- - **Start from an empty environment** — bring up a blank stack. If the folder ships a `seed/` (even a config-only one), this first asks to confirm and then **permanently deletes** the `seed/` folder (so the stack comes up empty instead of re-applying the seed), then asks for the image tag and the optional SQL/mail toggles.
147
+ - **Start from local seed** *(shown only when a local `seed/` is present)* — install the shipped seed by starting the directory. A seed **declared** by `seed/state.json` dictates the rest of its environment and starts right after the name prompt (the status header above already previews what it will install); an **undeclared** seed (data/config only) still asks for the Jarvis version and the optional SQL/mail toggles — with SQL defaulting to **on** when the seed ships a SQL backup.
148
+ - **Start from an existing scenario** *(shown only when there is no local seed)* — pick from the **remote seed catalog**: the `.zip` blobs in the `seedintegratori`/`seeds` container, each shown by its blob-metadata `name`/`description`. Picking one downloads and extracts it into the directory's `seed/` (staged first — a failed download never leaves a half-installed or wiped seed), asks for the environment name (pre-filled with the installed seed's declared name when it pins one), then starts it. An empty or unreachable catalog (offline / rejected secret) shows a short notice and returns.
149
+ - **Start from an empty environment** — bring up a blank stack. If the directory ships a `seed/` (even a config-only one), this first asks to confirm and then **permanently deletes** the `seed/` folder (so the stack comes up empty instead of re-applying the seed), then asks for the environment name, the Jarvis version and the optional SQL/mail toggles.
150
150
 
151
- Choosing **Start** on an already-initialized folder (a stopped environment) skips the folder prompt and the submenu and resumes it directly.
151
+ Choosing **Start** in an already-initialized directory (a stopped environment) skips the submenu — and the name prompt, since the environment already has its name — and resumes it directly.
152
152
 
153
153
  ### Pre-seeding the base configs (`seed/config/`)
154
154
 
@@ -189,10 +189,10 @@ After a restore, Elasticsearch repopulates in the background; the launcher print
189
189
  |---|---|---|
190
190
  | [`init`](#init) | `init [folder]` | Provision the three base config files into an empty/config-less folder. |
191
191
  | [`registry-login`](#registry-login) | `registry-login [--registry <host>] [--client-secret <secret>]` | Authenticate Docker against the image registry as the Entra application (once per machine). |
192
- | [`start`](#start) | `start [folder] [--sql] [--mail] [--force]` | Bring up the full stack (auto-init + auto-restore) and report the URLs. |
192
+ | [`start`](#start) | `start [folder] [--sql] [--mail] [--force] [--tag <T>] [--name <N>]` | Bring up the full stack (auto-init + auto-restore) and report the URLs. |
193
193
  | [`stop`](#stop) | `stop [folder]` | Stop the stack (remove containers) while keeping all on-disk data. |
194
194
  | [`restore`](#restore) | `restore [folder] [--force]` | Restore the prepared artifact into the running stack (gated by `--force`). |
195
- | [`update`](#update) | `update [folder] --tag <T>` | Pull a new image tag and recreate the stack on it, preserving data. |
195
+ | [`update`](#update) | `update [folder] --tag <T>` | Update the stack to another Jarvis version (pull + recreate), preserving data. |
196
196
  | [`enable`](#enable) | `enable [folder] <sql\|mail>` | Attach an optional service (SQL Server or mail catcher) to the stack. |
197
197
  | [`login`](#login) | `login [folder] [--admin\|--user]` | Open the browser at the Jarvis dev-login (impersonation) URL. |
198
198
 
@@ -217,7 +217,7 @@ Forces a fresh `docker login` against the integrator registry (as the Entra appl
217
217
  ### `start`
218
218
 
219
219
  ```bash
220
- jarvis-launcher start [folder] [--sql] [--mail] [--force]
220
+ jarvis-launcher start [folder] [--sql] [--mail] [--force] [--tag <tag>] [--name <name>]
221
221
  ```
222
222
 
223
223
  Brings up the full, logged-in environment in one command. See [Quick start](#quick-start-brand-new-scenario) for the brand-new-folder flow.
@@ -227,6 +227,8 @@ Brings up the full, logged-in environment in one command. See [Quick start](#qui
227
227
  | `--sql` | Also start the optional **SQL Server** service. If a `.bak` is present under `<folder>/seed/sqlbackup`, it is restored after the SQL container is healthy. |
228
228
  | `--mail` | Also start the optional **mail catcher** (catch-all SMTP + web UI). |
229
229
  | `--force` | Run the restore **even if the database already has data** (drops the existing data first). Without it, a populated DB is left as-is. |
230
+ | `--tag <tag>` | The Jarvis version (image tag) to bring the stack up on (defaults to `latest`, or the version the environment is already pinned to). |
231
+ | `--name <name>` | The environment name (the compose project name) for a **brand-new** environment; defaults to the seed-declared name, else the folder name. Ignored on an existing environment — its persisted name always wins. |
230
232
 
231
233
  On success it prints the Web UI / API URL, both dev-login links, and the Mongo / ES (and optional SQL / mail) host ports. Enabled optional profiles are remembered, so a later plain `start` keeps them on.
232
234
 
@@ -260,7 +262,7 @@ The explicit `restore` never touches the three base config files at the scenario
260
262
  jarvis-launcher update [folder] --tag <tag>
261
263
  ```
262
264
 
263
- Moves the stack to a new image tag, **preserving all data and without restoring**. It is **pull-first** so you are never left with no runnable environment:
265
+ Moves the stack to another Jarvis version (image tag), **preserving all data and without restoring**. It is **pull-first** so you are never left with no runnable environment:
264
266
 
265
267
  1. resolves the architecture-correct image variant (a `-arm` suffix is added automatically on ARM hosts) and **pulls it first** (re-authenticating + retrying once if needed);
266
268
  2. **only if the pull succeeds**, recreates the stack on the new image (down → up, data kept via the `/scenario` host mount and the Mongo/ES named volumes) — **no restore**, the existing data is reused;
package/dist/cli.js CHANGED
@@ -9,6 +9,7 @@ import { registerStartCommand } from './commands/start.js';
9
9
  import { registerStopCommand } from './commands/stop.js';
10
10
  import { registerRestoreCommand } from './commands/restore.js';
11
11
  import { registerBackupCommand } from './commands/backup.js';
12
+ import { registerDeleteCommand } from './commands/delete.js';
12
13
  import { loginCommand } from './commands/login.js';
13
14
  import { update } from './commands/update.js';
14
15
  import { enable } from './commands/enable.js';
@@ -32,7 +33,7 @@ program
32
33
  //
33
34
  // * `register…Command(program)` builders register themselves and return nothing
34
35
  // useful to us — call them for their side effect: init, registry-login, start,
35
- // stop, restore, backup.
36
+ // stop, restore, backup, delete.
36
37
  // * `loginCommand()` returns a ready-made `Command` instance → `addCommand`.
37
38
  // * `update` / `enable` export only an action function (no builder), so we
38
39
  // declare the `program.command(...)` surface here and call the action.
@@ -42,14 +43,15 @@ registerStartCommand(program);
42
43
  registerStopCommand(program);
43
44
  registerRestoreCommand(program);
44
45
  registerBackupCommand(program);
46
+ registerDeleteCommand(program);
45
47
  program.addCommand(loginCommand());
46
48
  // `update [folder] --tag <tag>` — the action fn lives in commands/update.ts. The
47
- // tag is required (the update is meaningless without a target image tag).
49
+ // tag is required (the update is meaningless without a target version).
48
50
  program
49
51
  .command('update')
50
- .description('Pull a new image tag and recreate the stack on it, preserving all data.')
52
+ .description('Update the stack to another Jarvis version (pull + recreate), preserving all data.')
51
53
  .argument('[folder]', 'scenario folder (defaults to the current directory)')
52
- .requiredOption('--tag <tag>', 'the image tag to update to (e.g. latest, 1.2.3)')
54
+ .requiredOption('--tag <tag>', 'the Jarvis version (image tag) to update to (e.g. latest, 1.2.3)')
53
55
  .action(async (folder, opts) => {
54
56
  await update({ folder, tag: opts.tag });
55
57
  });
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,4EAA4E;AAC5E,0EAA0E;AAC1E,gFAAgF;AAChF,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAE9D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,iBAAiB,CAAC;KACvB,WAAW,CAAC,wFAAwF,CAAC;KACrG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,+EAA+E;AAC/E,EAAE;AACF,sEAAsE;AACtE,kFAAkF;AAClF,+EAA+E;AAC/E,EAAE;AACF,kFAAkF;AAClF,mFAAmF;AACnF,qCAAqC;AACrC,+EAA+E;AAC/E,6EAA6E;AAC7E,2EAA2E;AAE3E,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,4BAA4B,CAAC,OAAO,CAAC,CAAC;AACtC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAE/B,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;AAEnC,iFAAiF;AACjF,wEAAwE;AACxE,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,oFAAoF,CAAC;KACjG,QAAQ,CAAC,UAAU,EAAE,qDAAqD,CAAC;KAC3E,cAAc,CAAC,aAAa,EAAE,kEAAkE,CAAC;KACjG,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAqB,EAAE,EAAE;IAClE,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,+EAA+E;AAC/E,2EAA2E;AAC3E,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,8DAA8D,CAAC;KAC3E,QAAQ,CAAC,UAAU,EAAE,qDAAqD,CAAC;KAC3E,QAAQ,CAAC,WAAW,EAAE,yCAAyC,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,OAAe,EAAE,EAAE;IAC5D,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,uBAAuB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrG,CAAC;IACD,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEL,gFAAgF;AAChF,6EAA6E;AAC7E,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,CAAC,WAAoB,EAAE,EAAE;IAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,CAAC;IACnE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,oBAAoB,WAAW,iDAAiD,CAAC,CAAC;IACpG,CAAC;IACD,GAAG,CAAC,UAAU,EAAE,CAAC;AACnB,CAAC,CAAC,CAAC;AAEL,gFAAgF;AAChF,EAAE;AACF,kFAAkF;AAClF,+EAA+E;AAC/E,kFAAkF;AAClF,yEAAyE;AACzE,kFAAkF;AAClF,iCAAiC;AACjC,MAAM,UAAU,iBAAiB,CAAC,IAAc,EAAE,UAAmB,EAAE,WAAoB;IACzF,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,IAAI,WAAW,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,UAAkB,EAClB,KAAyB,EACzB,eAAyC,YAAY,CAAC,MAAM;IAE5D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,UAAU,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,UAAU,KAAK,KAAK,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,+EAA+E;AAC/E,gFAAgF;AAChF,yCAAyC;AACzC,KAAK,UAAU,IAAI;IACjB,uEAAuE;IACvE,gFAAgF;IAChF,IAAI,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACjG,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,uEAAuE;IACvE,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,yEAAyE;IACzE,gFAAgF;IAChF,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,iFAAiF;AACjF,iFAAiF;AACjF,qEAAqE;AACrE,IAAI,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,KAAK,IAAI,EAAE,CAAC;AACd,CAAC"}
@@ -0,0 +1,64 @@
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * delete.ts — `jarvis-launcher delete [folder]`.
4
+ *
5
+ * Permanently deletes an environment: its docker footprint (containers, named
6
+ * data volumes, project network — everything carrying the compose-project
7
+ * label, via {@link destroyComposeProject}) plus the ENTIRE contents of the
8
+ * scenario folder (via {@link emptyScenarioFolder}). Docker images are
9
+ * deliberately kept — they are shared between environments, and removing them
10
+ * would only force other environments to re-download.
11
+ *
12
+ * Ordering is load-bearing: docker first, disk second. If the docker teardown
13
+ * fails (engine unreachable), `state.json` survives so the delete can simply be
14
+ * retried; it also guarantees no container is still writing into `data/`
15
+ * bind-mounts when the folder is emptied.
16
+ *
17
+ * Unlike `stop`, a missing `state.json` is NOT a hard error: a config-present
18
+ * but never-started folder still has artifacts worth deleting (the homepage
19
+ * offers Delete there — status classifies it as `stopped`). Only a folder with
20
+ * neither state nor config is refused, so the command can never act as a
21
+ * generic `rm -rf` on folders that were never a Jarvis environment.
22
+ *
23
+ * The command is intentionally thin and never imports a sibling command or the
24
+ * homepage prompts (its default confirmation uses `@inquirer/prompts` directly,
25
+ * keeping the module graph acyclic).
26
+ */
27
+ /** Options for {@link runDelete}. */
28
+ export interface DeleteOptions {
29
+ /** Scenario folder (positional arg); defaults to the current working dir. */
30
+ folder?: string;
31
+ /**
32
+ * `--yes`: skip the confirmation gate. The homepage collector — having
33
+ * already confirmed interactively — always sets this, so the integrator is
34
+ * never asked twice.
35
+ */
36
+ yes?: boolean;
37
+ /** Injectable confirmation gate; defaults to {@link promptDeleteConfirmation}. */
38
+ confirmDeletion?: (project: string, base: string) => Promise<boolean>;
39
+ }
40
+ /** What was deleted — returned so the homepage can render a durable result box. */
41
+ export interface DeleteResult {
42
+ /** The compose project name whose docker footprint was removed. */
43
+ project: string;
44
+ /** The scenario folder that was emptied. */
45
+ base: string;
46
+ }
47
+ /**
48
+ * The one confirmation wording, shared by the CLI gate and the homepage
49
+ * collector so the integrator reads the identical blast-radius statement on
50
+ * both front-ends.
51
+ */
52
+ export declare function deleteConfirmationMessage(project: string, base: string): string;
53
+ /**
54
+ * Permanently delete the environment — docker footprint first, then the folder
55
+ * contents. See module docs. Throws (→ non-zero exit via `cli.ts`) when the
56
+ * folder was never a Jarvis environment, when the integrator declines, or when
57
+ * the docker teardown fails (in which case NOTHING on disk has been touched).
58
+ */
59
+ export declare function runDelete(options: DeleteOptions): Promise<DeleteResult>;
60
+ /**
61
+ * Register the `delete` subcommand on the given commander program. Wired up by
62
+ * the entry point in T-2-23 (commands never import each other or the entry point).
63
+ */
64
+ export declare function registerDeleteCommand(program: Command): Command;
@@ -0,0 +1,74 @@
1
+ import { confirm } from '@inquirer/prompts';
2
+ import { destroyComposeProject } from '../lib/docker.js';
3
+ import { readState, defaultProjectName } from '../lib/state.js';
4
+ import { resolveScenario, configState, emptyScenarioFolder } from '../lib/scenario.js';
5
+ import { progress } from '../lib/progress.js';
6
+ /**
7
+ * The one confirmation wording, shared by the CLI gate and the homepage
8
+ * collector so the integrator reads the identical blast-radius statement on
9
+ * both front-ends.
10
+ */
11
+ export function deleteConfirmationMessage(project, base) {
12
+ return (`This will permanently DELETE the "${project}" environment: its docker containers, ` +
13
+ `data volumes and network, plus ALL files in "${base}" (the folder will be emptied, ` +
14
+ `including external-service folders and any backups stored there). ` +
15
+ `Docker images are kept. This cannot be undone. Continue?`);
16
+ }
17
+ /**
18
+ * Default {@link DeleteOptions.confirmDeletion}: ask the integrator to confirm
19
+ * (default No). Non-interactive runs (no TTY) fail fast with an actionable
20
+ * message — nothing has been deleted at this point.
21
+ */
22
+ async function promptDeleteConfirmation(project, base) {
23
+ if (!process.stdin.isTTY) {
24
+ throw new Error(`Refusing to delete the environment "${project}" without confirmation. ` +
25
+ `Re-run with --yes to delete non-interactively. Nothing was deleted.`);
26
+ }
27
+ return confirm({ message: deleteConfirmationMessage(project, base), default: false });
28
+ }
29
+ /**
30
+ * Permanently delete the environment — docker footprint first, then the folder
31
+ * contents. See module docs. Throws (→ non-zero exit via `cli.ts`) when the
32
+ * folder was never a Jarvis environment, when the integrator declines, or when
33
+ * the docker teardown fails (in which case NOTHING on disk has been touched).
34
+ */
35
+ export async function runDelete(options) {
36
+ const base = resolveScenario(options.folder);
37
+ const state = await readState(base);
38
+ if (state === null && configState(base) === 'absent') {
39
+ throw new Error(`Nothing to delete: "${base}" is not a Jarvis environment ` +
40
+ `(no config and no .orchestrator/state.json).`);
41
+ }
42
+ const project = state?.projectName || defaultProjectName(base);
43
+ if (!options.yes) {
44
+ const confirmed = await (options.confirmDeletion ?? promptDeleteConfirmation)(project, base);
45
+ if (!confirmed) {
46
+ throw new Error('Aborted: nothing was deleted.');
47
+ }
48
+ }
49
+ // Docker first: if this throws (engine unreachable), state.json survives so
50
+ // the delete can be retried — and no container still holds the bind-mounts
51
+ // when the folder is emptied below.
52
+ progress(`Deleting the "${project}" docker environment (containers, data volumes, network)…`);
53
+ await destroyComposeProject(project);
54
+ progress(`Removing all files in "${base}"…`);
55
+ emptyScenarioFolder(base);
56
+ progress('Deleted. Docker images are kept (they are shared between environments).');
57
+ return { project, base };
58
+ }
59
+ /**
60
+ * Register the `delete` subcommand on the given commander program. Wired up by
61
+ * the entry point in T-2-23 (commands never import each other or the entry point).
62
+ */
63
+ export function registerDeleteCommand(program) {
64
+ return program
65
+ .command('delete')
66
+ .description('Permanently delete the environment: docker containers, data volumes and network, ' +
67
+ 'plus all files in the scenario folder. Docker images are kept.')
68
+ .argument('[folder]', 'scenario folder (defaults to the current directory)')
69
+ .option('--yes', 'skip the confirmation prompt (required for non-interactive use)')
70
+ .action(async (folder, opts) => {
71
+ await runDelete({ folder, yes: opts.yes });
72
+ });
73
+ }
74
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAkD9C;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAe,EAAE,IAAY;IACrE,OAAO,CACL,qCAAqC,OAAO,wCAAwC;QACpF,gDAAgD,IAAI,iCAAiC;QACrF,oEAAoE;QACpE,0DAA0D,CAC3D,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,wBAAwB,CAAC,OAAe,EAAE,IAAY;IACnE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,uCAAuC,OAAO,0BAA0B;YACtE,qEAAqE,CACxE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,EAAE,OAAO,EAAE,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACxF,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAsB;IACpD,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,gCAAgC;YACzD,8CAA8C,CACjD,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,EAAE,WAAW,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAE/D,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,IAAI,wBAAwB,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7F,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,oCAAoC;IACpC,QAAQ,CAAC,iBAAiB,OAAO,2DAA2D,CAAC,CAAC;IAC9F,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAErC,QAAQ,CAAC,0BAA0B,IAAI,IAAI,CAAC,CAAC;IAC7C,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAE1B,QAAQ,CAAC,yEAAyE,CAAC,CAAC;IACpF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO,OAAO;SACX,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CACV,mFAAmF;QACjF,gEAAgE,CACnE;SACA,QAAQ,CAAC,UAAU,EAAE,qDAAqD,CAAC;SAC3E,MAAM,CAAC,OAAO,EAAE,iEAAiE,CAAC;SAClF,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAuB,EAAE,EAAE;QACpE,MAAM,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -157,7 +157,7 @@ export function registerInit(program) {
157
157
  .command('init')
158
158
  .description('Provision the three base config files into an empty/config-less scenario folder.')
159
159
  .argument('[folder]', 'scenario folder (defaults to the current working directory)')
160
- .option('--tag <tag>', 'image tag to provision the base config from (defaults to latest)')
160
+ .option('--tag <tag>', 'Jarvis version (image tag) to provision the base config from (defaults to latest)')
161
161
  .action(async (folder, opts) => {
162
162
  await runInit(folder, opts.tag);
163
163
  });
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EACL,SAAS,EACT,aAAa,EACb,UAAU,EACV,kBAAkB,GAInB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAe,EAAE,GAAY;IACzD,wEAAwE;IACxE,6EAA6E;IAC7E,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAEtD,8EAA8E;IAC9E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,kDAAkD;YAC5E,2EAA2E;YAC3E,0DAA0D;YAC1D,8DAA8D;YAC9D,iEAAiE;YACjE,qEAAqE,CACxE,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,+EAA+E;IAC/E,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,8DAA8D,CAAC,CAAC;QACpG,OAAO;IACT,CAAC;IAED,+EAA+E;IAC/E,kFAAkF;IAClF,qFAAqF;IACrF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAElE,8EAA8E;IAC9E,iFAAiF;IACjF,iDAAiD;IACjD,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC9C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;QAAE,QAAQ,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;IAClE,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,IAAI,gBAAgB,CAAC,CAAC;QACtF,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,kFAAkF;IAClF,kFAAkF;IAClF,qFAAqF;IACrF,iFAAiF;IACjF,kFAAkF;IAClF,gCAAgC;IAChC,QAAQ,CAAC,yCAAyC,IAAI,IAAI,CAAC,CAAC;IAC5D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,eAAe,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAEhF,gFAAgF;IAChF,gFAAgF;IAChF,+EAA+E;IAC/E,gFAAgF;IAChF,gFAAgF;IAChF,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,KAAK,oDAAoD,CAAC,CAAC;IAC/E,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CACN,sBAAsB,KAAK,gDAAgD;YACzE,GAAI,KAAe,CAAC,OAAO,EAAE,CAChC,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE5D,oFAAoF;IACpF,+EAA+E;IAC/E,MAAM,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAEzD,iBAAiB,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,wFAAwF;AACxF,SAAS,iBAAiB,CAAC,IAAY,EAAE,WAAqB,EAAE,MAAc;IAC5E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,8DAA8D,CAAC,CAAC;QACpG,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,CAAC,MAAM,8BAA8B,IAAI,IAAI,MAAM,GAAG,CAAC,CAAC;IAC9F,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,mBAAmB,CAChC,IAAY,EACZ,QAA8B,EAC9B,IAAsB,EACtB,OAAe;IAEf,MAAM,aAAa,GAAG,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACzE,MAAM,eAAe,GAAG,QAAQ,EAAE,eAAe,IAAI,IAAI,EAAE,eAAe,CAAC;IAE3E,+EAA+E;IAC/E,mFAAmF;IACnF,0CAA0C;IAC1C,MAAM,eAAe,GAAG,IAAI,EAAE,WAAW,KAAK,SAAS,IAAI,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9F,IAAI,QAAQ,KAAK,IAAI,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;QACzE,OAAO;IACT,CAAC;IAED,MAAM,UAAU,CAAC,IAAI,EAAE;QACrB,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,IAAI,EAAE,WAAW,IAAI,kBAAkB,CAAC,IAAI,CAAC;QACnF,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAK,EAAoB;QAC/C,eAAe;QACf,GAAG,EAAE,aAAa;KACnB,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kFAAkF,CAAC;SAC/F,QAAQ,CAAC,UAAU,EAAE,6DAA6D,CAAC;SACnF,MAAM,CAAC,aAAa,EAAE,kEAAkE,CAAC;SACzF,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAsB,EAAE,EAAE;QACnE,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,13 @@ export interface StartOptions {
25
25
  * tag is unpublished). `arch.imageTag` applies the `-arm` suffix.
26
26
  */
27
27
  tag?: string;
28
+ /**
29
+ * `--name <name>` / the homepage "Environment name" prompt: the compose project
30
+ * name for a BRAND-NEW environment. Ignored when persisted state exists — an
31
+ * existing environment keeps its name (docker containers/network/volumes are
32
+ * keyed by it). Sanitized defensively and still subject to the collision gate.
33
+ */
34
+ projectName?: string;
28
35
  /**
29
36
  * Injectable SQL-seed flow (the shared `lib/sql` seam, NOT a sibling command).
30
37
  * Run after the `sql` container is healthy when `--sql` is set AND
@@ -209,7 +209,7 @@ async function promptProjectNameCollision(project) {
209
209
  });
210
210
  if (action !== 'rename')
211
211
  return { action };
212
- const newName = await input({ message: 'New project name', default: `${project}-2` });
212
+ const newName = await input({ message: 'New environment name', default: `${project}-2` });
213
213
  return { action: 'rename', newName };
214
214
  }
215
215
  /**
@@ -284,14 +284,23 @@ export async function runStart(options) {
284
284
  // Only consulted when there is NO persisted state — an already-started scenario is
285
285
  // driven entirely by its own `.orchestrator/state.json`. Explicit flags win over it.
286
286
  const seedState = persistedState === null ? await readSeedState(base) : null;
287
- // 1a. Resolve the compose project name — persisted, else seed-pinned, else derived
288
- // from the folder basename. On a BRAND-NEW environment, probe docker for a
287
+ // 1a. Resolve the compose project name — persisted, else explicitly requested
288
+ // (`--name` / the homepage "Environment name" prompt — it beats the seed's
289
+ // pin because the prompt's default WAS the seed name, so a differing reply is
290
+ // a deliberate override), else seed-pinned, else derived from the folder
291
+ // basename. The persisted name always wins: docker containers/network/volumes
292
+ // are keyed by it, so overriding it would strand them and spin up a second
293
+ // environment. On a BRAND-NEW environment, probe docker for a
289
294
  // leftover same-named stack FIRST (before the registry or configs are touched,
290
295
  // so an abort leaves no trace): compose would otherwise silently adopt its
291
296
  // containers and data volumes. A folder that only ever ran `init` carries a
292
297
  // state file and skips this gate — same `persistedState === null` signal as the
293
298
  // stale-volume / brand-new-folder SQL paths below.
294
- let project = persistedState?.projectName ?? seedState?.projectName ?? defaultProjectName(base);
299
+ const requestedName = options.projectName ? sanitizeProjectName(options.projectName) : undefined;
300
+ let project = persistedState?.projectName ?? requestedName ?? seedState?.projectName ?? defaultProjectName(base);
301
+ if (requestedName !== undefined && persistedState?.projectName && persistedState.projectName !== requestedName) {
302
+ progress(`This environment is already named "${persistedState.projectName}" — the requested name "${requestedName}" is ignored.`);
303
+ }
295
304
  if (persistedState === null) {
296
305
  project = await resolveNewProjectName(project, options.onProjectNameCollision ?? promptProjectNameCollision);
297
306
  }
@@ -624,9 +633,17 @@ export function registerStartCommand(program) {
624
633
  .option('--sql', 'enable the optional SQL Server service')
625
634
  .option('--mail', 'enable the optional mail-catcher service')
626
635
  .option('--force', 'force a restore even when the database already has data')
627
- .option('--tag <tag>', 'image tag to bring the stack up on (defaults to latest)')
636
+ .option('--tag <tag>', 'Jarvis version (image tag) to bring the stack up on (defaults to latest)')
637
+ .option('--name <name>', 'environment name for a brand-new environment (defaults to the folder name); ignored on an existing one')
628
638
  .action(async (folder, opts) => {
629
- await runStart({ folder, sql: opts.sql, mail: opts.mail, force: opts.force, tag: opts.tag });
639
+ await runStart({
640
+ folder,
641
+ sql: opts.sql,
642
+ mail: opts.mail,
643
+ force: opts.force,
644
+ tag: opts.tag,
645
+ projectName: opts.name,
646
+ });
630
647
  });
631
648
  }
632
649
  //# sourceMappingURL=start.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { collectStartOptions, collectStopOptions, collectRestoreOptions, collectBackupOptions, collectLoginOptions, collectUpdateOptions, collectEnableOptions, collectResetTarget, collectRestoreSqlOptions } from './prompts.js';
1
+ import { collectStartOptions, collectStopOptions, collectRestoreOptions, collectBackupOptions, collectLoginOptions, collectUpdateOptions, collectEnableOptions, collectResetTarget, collectRestoreSqlOptions, collectDeleteOptions } from './prompts.js';
2
2
  import { type StartOptions } from '../commands/start.js';
3
3
  import { type StopOptions } from '../commands/stop.js';
4
4
  import { type RunRestoreOptions } from '../commands/restore.js';
@@ -6,6 +6,7 @@ import { type RunBackupOptions, type RunBackupResult } from '../commands/backup.
6
6
  import { type LoginOptions } from '../commands/login.js';
7
7
  import { type UpdateOptions } from '../commands/update.js';
8
8
  import { type EnableOptions } from '../commands/enable.js';
9
+ import { type DeleteOptions, type DeleteResult } from '../commands/delete.js';
9
10
  import type { LastActionResult } from './status-view.js';
10
11
  import type { ScenarioStatus } from '../lib/status.js';
11
12
  /**
@@ -77,6 +78,7 @@ export interface MenuDeps {
77
78
  collectEnableOptions: typeof collectEnableOptions;
78
79
  collectResetTarget: typeof collectResetTarget;
79
80
  collectRestoreSqlOptions: typeof collectRestoreSqlOptions;
81
+ collectDeleteOptions: typeof collectDeleteOptions;
80
82
  runStart: (options: StartOptions) => Promise<void>;
81
83
  runStop: (options: StopOptions) => Promise<void>;
82
84
  runRestore: (options?: RunRestoreOptions) => Promise<void>;
@@ -84,6 +86,7 @@ export interface MenuDeps {
84
86
  runLogin: (options: LoginOptions) => Promise<void>;
85
87
  update: (options: UpdateOptions) => Promise<void>;
86
88
  enable: (options: EnableOptions) => Promise<void>;
89
+ runDelete: (options: DeleteOptions) => Promise<DeleteResult>;
87
90
  }
88
91
  /** The real collectors + verbatim command callables wired into the live menu. */
89
92
  export declare const defaultDeps: MenuDeps;
@@ -1,4 +1,4 @@
1
- import { CANCELLED, collectStartOptions, collectStopOptions, collectRestoreOptions, collectBackupOptions, collectLoginOptions, collectUpdateOptions, collectEnableOptions, collectResetTarget, collectRestoreSqlOptions, } from './prompts.js';
1
+ import { CANCELLED, collectStartOptions, collectStopOptions, collectRestoreOptions, collectBackupOptions, collectLoginOptions, collectUpdateOptions, collectEnableOptions, collectResetTarget, collectRestoreSqlOptions, collectDeleteOptions, } from './prompts.js';
2
2
  import { runStart } from '../commands/start.js';
3
3
  import { runStop } from '../commands/stop.js';
4
4
  import { runRestore } from '../commands/restore.js';
@@ -6,6 +6,7 @@ import { runBackup } from '../commands/backup.js';
6
6
  import { runLogin } from '../commands/login.js';
7
7
  import { update } from '../commands/update.js';
8
8
  import { enable } from '../commands/enable.js';
9
+ import { runDelete } from '../commands/delete.js';
9
10
  import { OPTIONAL_PROFILES } from '../lib/profiles.js';
10
11
  /** Every scenario state — used by always-offered entries (Exit). */
11
12
  const ALL_STATES = ['running', 'stopped', 'uninitialized', 'unavailable'];
@@ -20,6 +21,7 @@ export const defaultDeps = {
20
21
  collectEnableOptions,
21
22
  collectResetTarget,
22
23
  collectRestoreSqlOptions,
24
+ collectDeleteOptions,
23
25
  runStart,
24
26
  runStop,
25
27
  runRestore,
@@ -27,6 +29,7 @@ export const defaultDeps = {
27
29
  runLogin,
28
30
  update,
29
31
  enable,
32
+ runDelete,
30
33
  };
31
34
  /**
32
35
  * Build the ordered homepage menu — the everyday actions followed by Refresh +
@@ -161,7 +164,7 @@ export function buildMenu(deps = defaultDeps) {
161
164
  },
162
165
  {
163
166
  key: 'update',
164
- label: 'Update docker image',
167
+ label: 'Update Jarvis image',
165
168
  // Operates on an existing scenario (recreates it on a new image); not on a
166
169
  // never-initialised folder (no config to bring up).
167
170
  availableIn: ['running', 'stopped'],
@@ -189,6 +192,31 @@ export function buildMenu(deps = defaultDeps) {
189
192
  await deps.enable(opts);
190
193
  },
191
194
  },
195
+ {
196
+ key: 'delete',
197
+ label: 'Delete environment',
198
+ // An EXISTING environment only. Note that `stopped` includes config-present
199
+ // but never-started folders (see status.ts) — `runDelete` falls back to the
200
+ // folder-derived project name there. NOT offered in `uninitialized` (nothing
201
+ // to delete; discarding a shipped seed is the "Start from an empty
202
+ // environment" flow) nor `unavailable` (the docker teardown would be doomed
203
+ // with the engine unreachable). Placed last among the everyday actions —
204
+ // the destructive one should never lead the list.
205
+ availableIn: ['running', 'stopped'],
206
+ async run() {
207
+ const opts = await deps.collectDeleteOptions();
208
+ if (opts === CANCELLED)
209
+ return;
210
+ const result = await deps.runDelete(opts);
211
+ return {
212
+ title: 'Environment deleted',
213
+ lines: [
214
+ `Docker environment "${result.project}" removed.`,
215
+ `All files removed from "${result.base}".`,
216
+ ],
217
+ };
218
+ },
219
+ },
192
220
  {
193
221
  key: 'refresh',
194
222
  label: 'Refresh status',
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/homepage/menu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/homepage/menu.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAqB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAoB,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,UAAU,EAA0B,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAA+C,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAqB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAsB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAsB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAyC,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAwCvD,oEAAoE;AACpE,MAAM,UAAU,GAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;AAiD3F,iFAAiF;AACjF,MAAM,CAAC,MAAM,WAAW,GAAa;IACnC,mBAAmB;IACnB,kBAAkB;IAClB,qBAAqB;IACrB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,wBAAwB;IACxB,oBAAoB;IACpB,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,SAAS,CAAC,OAAiB,WAAW;IACpD,OAAO;QACL;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,aAAa;YACpB,wEAAwE;YACxE,0EAA0E;YAC1E,4EAA4E;YAC5E,8BAA8B;YAC9B,WAAW,EAAE,CAAC,SAAS,CAAC;YACxB,KAAK,CAAC,GAAG;gBACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC9C,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO;gBAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;SACF;QACD;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,OAAO;YACd,wEAAwE;YACxE,kEAAkE;YAClE,WAAW,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;YACzC,KAAK,CAAC,GAAG;gBACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC9C,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO;gBAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;SACF;QACD;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,MAAM;YACb,4EAA4E;YAC5E,6BAA6B;YAC7B,WAAW,EAAE,CAAC,SAAS,CAAC;YACxB,KAAK,CAAC,GAAG;gBACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC7C,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO;gBAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;SACF;QACD;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,OAAO;YACd,yEAAyE;YACzE,8EAA8E;YAC9E,2EAA2E;YAC3E,sEAAsE;YACtE,yEAAyE;YACzE,8CAA8C;YAC9C,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;YACnC,8EAA8E;YAC9E,+EAA+E;YAC/E,0EAA0E;YAC1E,yEAAyE;YACzE,uEAAuE;YACvE,0EAA0E;YAC1E,8EAA8E;YAC9E,4EAA4E;YAC5E,wEAAwE;YACxE,KAAK,CAAC,GAAG;gBACP,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC/C,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO;gBACjC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBACnD,IAAI,IAAI,KAAK,SAAS;wBAAE,OAAO;oBAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAChD,IAAI,IAAI,KAAK,SAAS;wBAAE,OAAO;oBAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;SACF;QACD;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,QAAQ;YACf,2EAA2E;YAC3E,oEAAoE;YACpE,uEAAuE;YACvE,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;YACnC,KAAK,CAAC,GAAG;gBACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC/C,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO;gBAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC1C,MAAM,KAAK,GAAG,CAAC,eAAe,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACjD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACtB,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,OAAO,SAAS,CAAC,CAAC;gBAC/E,CAAC;gBACD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnE,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,iBAAiB,IAAI,KAAK,GAAG,CAAC,CAAC;gBACnG,CAAC;gBACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBACvD,KAAK,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,UAAU,IAAI,KAAK,GAAG,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACzB,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;gBACpD,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;YAC9C,CAAC;SACF;QACD;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,qBAAqB;YAC5B,2EAA2E;YAC3E,oDAAoD;YACpD,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;YACnC,KAAK,CAAC,GAAG;gBACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC/C,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO;gBAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;SACF;QACD;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,kBAAkB;YACzB,iEAAiE;YACjE,4BAA4B;YAC5B,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;YACnC,2EAA2E;YAC3E,4EAA4E;YAC5E,gEAAgE;YAChE,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1F,KAAK,CAAC,GAAG;gBACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC/C,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO;gBAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;SACF;QACD;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,oBAAoB;YAC3B,4EAA4E;YAC5E,4EAA4E;YAC5E,6EAA6E;YAC7E,mEAAmE;YACnE,4EAA4E;YAC5E,yEAAyE;YACzE,kDAAkD;YAClD,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;YACnC,KAAK,CAAC,GAAG;gBACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC/C,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO;gBAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC1C,OAAO;oBACL,KAAK,EAAE,qBAAqB;oBAC5B,KAAK,EAAE;wBACL,uBAAuB,MAAM,CAAC,OAAO,YAAY;wBACjD,2BAA2B,MAAM,CAAC,IAAI,IAAI;qBAC3C;iBACF,CAAC;YACJ,CAAC;SACF;QACD;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,gBAAgB;YACvB,6EAA6E;YAC7E,qEAAqE;YACrE,6EAA6E;YAC7E,WAAW,EAAE,CAAC,aAAa,CAAC;YAC5B,KAAK,CAAC,GAAG;gBACP,+DAA+D;YACjE,CAAC;SACF;QACD;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,MAAM;YACb,6EAA6E;YAC7E,0EAA0E;YAC1E,8BAA8B;YAC9B,WAAW,EAAE,UAAU;YACvB,KAAK,CAAC,GAAG;gBACP,WAAW;YACb,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,IAAiB,EAAE,MAAsB;IACnE,OAAO,IAAI,CAAC,MAAM,CAChB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAC3F,CAAC;AACJ,CAAC"}