@basaltbytes/odoo-agentic-dev 0.1.0-beta.1 → 0.1.0-beta.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.
Files changed (64) hide show
  1. package/README.md +153 -73
  2. package/dist/cli.js +6 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/doctor.js +1 -1
  5. package/dist/commands/doctor.js.map +1 -1
  6. package/dist/commands/down.js +2 -1
  7. package/dist/commands/down.js.map +1 -1
  8. package/dist/commands/eject.d.ts +74 -0
  9. package/dist/commands/eject.js +331 -0
  10. package/dist/commands/eject.js.map +1 -0
  11. package/dist/commands/info.js +1 -1
  12. package/dist/commands/info.js.map +1 -1
  13. package/dist/commands/json-report.d.ts +39 -6
  14. package/dist/commands/json-report.js +55 -9
  15. package/dist/commands/json-report.js.map +1 -1
  16. package/dist/commands/link-source.js +1 -1
  17. package/dist/commands/link-source.js.map +1 -1
  18. package/dist/commands/list.js +1 -1
  19. package/dist/commands/list.js.map +1 -1
  20. package/dist/commands/logs.js +1 -1
  21. package/dist/commands/logs.js.map +1 -1
  22. package/dist/commands/prune.js +1 -1
  23. package/dist/commands/prune.js.map +1 -1
  24. package/dist/commands/psql.js +1 -1
  25. package/dist/commands/psql.js.map +1 -1
  26. package/dist/commands/reset-db.js +4 -2
  27. package/dist/commands/reset-db.js.map +1 -1
  28. package/dist/commands/setup.js +5 -2
  29. package/dist/commands/setup.js.map +1 -1
  30. package/dist/commands/shell.js +1 -1
  31. package/dist/commands/shell.js.map +1 -1
  32. package/dist/commands/test.js +7 -5
  33. package/dist/commands/test.js.map +1 -1
  34. package/dist/commands/up.d.ts +11 -0
  35. package/dist/commands/up.js +15 -1
  36. package/dist/commands/up.js.map +1 -1
  37. package/dist/commands/update.js +1 -1
  38. package/dist/commands/update.js.map +1 -1
  39. package/dist/commands/worktree.d.ts +1 -7
  40. package/dist/commands/worktree.js +5 -13
  41. package/dist/commands/worktree.js.map +1 -1
  42. package/dist/config/schema.js +41 -0
  43. package/dist/config/schema.js.map +1 -1
  44. package/dist/core/command-plan.d.ts +10 -5
  45. package/dist/core/command-plan.js +13 -4
  46. package/dist/core/command-plan.js.map +1 -1
  47. package/dist/core/compose-model.d.ts +20 -2
  48. package/dist/core/compose-model.js +59 -13
  49. package/dist/core/compose-model.js.map +1 -1
  50. package/dist/core/dockerfile-model.d.ts +8 -0
  51. package/dist/core/dockerfile-model.js +34 -0
  52. package/dist/core/dockerfile-model.js.map +1 -0
  53. package/dist/core/project-recipe.d.ts +37 -0
  54. package/dist/core/project-recipe.js +2 -0
  55. package/dist/core/project-recipe.js.map +1 -1
  56. package/dist/errors/errors.d.ts +9 -1
  57. package/dist/errors/errors.js +8 -0
  58. package/dist/errors/errors.js.map +1 -1
  59. package/dist/index.d.ts +1 -1
  60. package/dist/platform/docker-compose.js +4 -0
  61. package/dist/platform/docker-compose.js.map +1 -1
  62. package/dist/platform/odoo-lifecycle.js +5 -5
  63. package/dist/platform/odoo-lifecycle.js.map +1 -1
  64. package/package.json +1 -1
package/README.md CHANGED
@@ -24,117 +24,158 @@ WSL2 guidance:
24
24
  pnpm add -D @basaltbytes/odoo-agentic-dev
25
25
  ```
26
26
 
27
- Create `odoo-agentic-dev.config.ts` at the project root (also accepted: `.mts`, `.js`, `.mjs` — `.ts` configs load directly, no precompilation needed). For an Odoo-only project:
27
+ Create `odoo-agentic-dev.config.ts` at the project root (also accepted: `.mts`, `.js`, `.mjs` — `.ts` configs load directly, no precompilation needed). This is a complete config for an Odoo-only project:
28
28
 
29
29
  ```ts
30
30
  import { defineConfig } from "@basaltbytes/odoo-agentic-dev";
31
31
 
32
32
  export default defineConfig({
33
- project: {
34
- id: "billing-odoo",
35
- dbPrefix: "billing",
36
- sharedDatabase: "billing_dev",
37
- sharedBranches: ["main", "develop"]
38
- },
39
-
33
+ project: { id: "billing-odoo", dbPrefix: "billing" },
40
34
  odoo: {
41
35
  version: "18.0",
42
- dockerfile: "Dockerfile",
43
- configFile: "config/odoo.conf",
44
- addons: [
45
- { host: "addons", container: "/mnt/extra-addons/custom" }
46
- ]
47
- },
48
-
49
- database: {
50
- initialModules: ["billing_core"]
36
+ addons: [{ host: "addons", container: "/mnt/extra-addons/custom" }]
51
37
  }
52
38
  });
53
39
  ```
54
40
 
55
- For a KRISS LAURE-like monorepo with a frontend companion app:
41
+ Everything else has a sensible default: the stock `odoo:<version>` image, `postgres:16`, services named `odoo`/`db`, Odoo on port `18069 + hash(db) % 1000` bound to loopback, demo data disabled. Add config only where your project actually deviates — the [Configuration Reference](#configuration-reference) below shows every field and its default.
42
+
43
+ Then:
44
+
45
+ ```bash
46
+ pnpm exec odoo-agentic-dev setup # prepare the worktree (deps, image, database)
47
+ pnpm exec odoo-agentic-dev up # start Odoo + companion apps
48
+ pnpm exec odoo-agentic-dev info # inspect the derived context at any time
49
+ ```
50
+
51
+ ## For Coding Agents
52
+
53
+ The CLI is designed to be driven by coding agents: deterministic derivation, no interactive prompts, meaningful exit codes, `--json` everywhere, and guard rails on destructive actions. To make your agents use it well, paste the block in [docs/AGENTS-SNIPPET.md](docs/AGENTS-SNIPPET.md) into your project's `CLAUDE.md` / `AGENTS.md` — it covers the daily commands, the env contract (`run -- <cmd>` instead of hand-assembled variables), and the rule that Docker Compose is only reached through `odoo-agentic-dev compose --`.
54
+
55
+ ## Configuration Reference
56
+
57
+ Every field, with defaults shown in comments. Only `project.id`, `project.dbPrefix`, `odoo.version`, and `odoo.addons` are required — a good config states only what deviates from the defaults.
56
58
 
57
59
  ```ts
58
60
  import { defineConfig } from "@basaltbytes/odoo-agentic-dev";
59
61
 
60
62
  export default defineConfig({
61
63
  project: {
62
- id: "kriss-laure",
63
- dbPrefix: "kl",
64
- sharedDatabase: "kl_e2e_demo",
65
- sharedBranches: ["main", "master", "dev", "develop", "development"]
64
+ id: "acme", // required — namespaces compose projects, labels, the registry
65
+ dbPrefix: "acme", // required — derived DBs are `<dbPrefix>_<branch-slug>`
66
+ sharedDatabase: "acme_dev", // default: none — one DB reused by long-lived branches,
67
+ // protected from deletion (needs --allow-shared)
68
+ sharedBranches: ["main", "master"], // default when sharedDatabase is set
69
+ stripBranchPrefixes: // default: ["feature","feat","bugfix","bug","hotfix","fix","chore","task"]
70
+ ["feature", "fix"], // at most ONE leading branch segment is stripped before slugging
66
71
  },
67
72
 
68
73
  ports: {
69
- odooBase: 18069,
70
- companionBase: 28028,
71
- range: 1000,
72
- hashAlgorithm: "posix-cksum"
74
+ odooBase: 18069, // default — Odoo port = odooBase + hash(db) % range
75
+ companionBase: 28000, // default — same formula per companion app
76
+ range: 1000, // default
77
+ hashAlgorithm: "fnv1a32", // default — "posix-cksum" reproduces bash `cksum` tooling
78
+ // so a migrated project keeps its exact ports
73
79
  },
74
80
 
75
81
  odoo: {
76
- version: "18.0-20250606",
77
- serviceName: "odoo",
78
- databaseServiceName: "db",
79
- configFile: "config/odoo.worktree.conf",
80
- dockerfile: "Dockerfile.odoo",
81
- imageName: "krisslaure-odoo-agentic-dev",
82
- addons: [
83
- { host: "backend/addons/Custom", container: "/mnt/extra-addons/Custom" },
84
- { host: "backend/addons/OCA", container: "/mnt/extra-addons/OCA" }
85
- ]
82
+ version: "18.0", // required — image tag, and part of the DB template cache key
83
+ serviceName: "odoo", // default — compose service to exec/log against
84
+ databaseServiceName: "db", // default
85
+ postgresImage: "postgres:16", // default
86
+ build: { // default: none — the CLI GENERATES a Dockerfile from this
87
+ aptPackages: ["tesseract-ocr"], // (FROM odoo:<version>, one apt layer, one pip layer, COPYs)
88
+ pipRequirements: ["backend/requirements.txt"],
89
+ pipPackages: ["requests"],
90
+ copy: [{ from: "backend/sql-script", to: "/opt/acme/sql-script" }],
91
+ },
92
+ dockerfile: "Dockerfile.odoo", // default: none — hand-written escape hatch, mutually
93
+ // exclusive with `build`; without either, the stock
94
+ // `odoo:<version>` image runs as-is
95
+ imageName: "acme-odoo:dev", // default: none — tag for the built image
96
+ dev: "xml,reload", // default — `--dev=` flags for the served Odoo; false disables
97
+ baseAddonsPath: // default — in-image addons dir, prepended to every
98
+ "/usr/lib/python3/dist-packages/odoo/addons", // --addons-path the CLI passes
99
+ configFile: "config/odoo.conf", // default: none — mounted read-only at /etc/odoo/odoo.conf
100
+ // (rarely needed: db connection, --database, --addons-path,
101
+ // and --no-database-list are all handled by the CLI)
102
+ source: "../odoo", // default: none — local Odoo checkout for `link-source`
103
+ addons: [ // required, at least one mount (host path relative to repo root)
104
+ { host: "addons", container: "/mnt/extra-addons/custom" },
105
+ // { host: "/abs/elsewhere", container: "/mnt/x", allowOutsideRepo: true },
106
+ ],
86
107
  },
87
108
 
88
109
  database: {
89
- initialModules: ["KL_setup", "KL_payment_demo"],
90
- withoutDemo: "all",
91
- postInit: [
92
- { type: "odoo-shell-file", file: "scripts/odoo-agentic-dev/post-init.py" }
93
- ]
110
+ initialModules: ["acme_core"], // default: [] — installed on first setup / reset-db
111
+ withoutDemo: "all", // default — `false` keeps Odoo demo data
112
+ postInit: [ // default: [] — run after EVERY database init or reset,
113
+ // and folded into the template-snapshot cache key
114
+ { type: "odoo-shell-file", file: "scripts/post-init.py" },
115
+ { type: "set-ir-config-parameter", key: "app.mobile.url", value: "$E2E_BASE_URL" },
116
+ // also: { type: "odoo-shell-inline", code: "..." }
117
+ // { type: "command", command: "pnpm", args: ["seed"], cwd: "tools" }
118
+ ],
94
119
  },
95
120
 
96
- setup: {
97
- submodules: true,
98
- packageManagers: [
121
+ setup: { // host-side workspace bootstrap — runs ONCE per worktree,
122
+ submodules: true, // default: false — git submodule update --init --recursive
123
+ packageManagers: [ // default: []
99
124
  { cwd: ".", command: "pnpm", args: ["install"] },
100
- { cwd: "frontend", command: "pnpm", args: ["install"] }
101
- ]
125
+ { cwd: "frontend", command: "pnpm", args: ["install"] },
126
+ ],
127
+ },
128
+
129
+ compose: {
130
+ file: "docker-compose.worktree.yml", // default: none — escape hatch replacing the generated
131
+ // compose file; it can interpolate ${ODOO_DATABASE:?} etc.
132
+ // Rarely needed: the generated file already builds the
133
+ // image, serves only the derived DB, sets --addons-path,
134
+ // dev mode, restart policies, and injects the context env.
102
135
  },
103
136
 
104
137
  worktree: {
105
- copyFiles: [".env.e2e"], // project-root files copied into a fresh worktree when present
106
- branchPrefix: "worktree-" // branch name for `worktree create <name>` (default)
138
+ copyFiles: [".env", ".env.e2e"], // default: [] — root files copied into fresh worktrees when present
139
+ branchPrefix: "worktree-", // default — branch name prefix for `worktree create <name>`
140
+ },
141
+
142
+ test: {
143
+ profiles: { // default: {} — `test --profile payment` appends these args
144
+ payment: ["--test-tags", "payment"],
145
+ },
107
146
  },
108
147
 
109
- companionApps: [
148
+ envAliases: { // default: {} — compatibility names for existing tooling;
149
+ KL_WORKTREE_DB_NAME: "ODOO_DATABASE", // an alias may target any assembled env key,
150
+ E2E_PWA_PORT: "PWA_PORT", // including companion portEnv/urlEnv keys
151
+ },
152
+
153
+ companionApps: [ // default: [] — processes `up` starts alongside Odoo
110
154
  {
111
- name: "pwa",
155
+ name: "pwa", // lowercase kebab, unique
112
156
  cwd: "frontend",
113
- command: "pnpm",
114
- args: ["dev", "--host", "0.0.0.0", "--strictPort"],
115
- portEnv: "PWA_PORT",
116
- urlEnv: "E2E_BASE_URL",
117
- env: {
118
- VITE_SERVICE_API_URL: "",
119
- VITE_ODOO_DATA_BASE_NAME: "$ODOO_DATABASE",
120
- VITE_E2E_PROXY_API_URL: "$ODOO_BASE_URL"
121
- }
122
- }
123
- ]
157
+ command: "sh", // args are NOT token-substituted — read env vars via the
158
+ args: ["-lc", 'pnpm dev --port "$PWA_PORT" --strictPort'], // shell (or the tool's own env support)
159
+ portEnv: "PWA_PORT", // optional — env var receiving the allocated port
160
+ urlEnv: "E2E_BASE_URL", // optional — env var receiving http://localhost:<port>
161
+ env: { // optional extra env; $VARS here ARE substituted from the context
162
+ VITE_API_URL: "$ODOO_BASE_URL",
163
+ },
164
+ },
165
+ ],
166
+
167
+ cleanup: {
168
+ maxAgeDays: 30, // default — age threshold for prune --older-than candidates
169
+ auto: false, // default — opt in to automatic pruning of gone-branch stacks
170
+ },
124
171
  });
125
172
  ```
126
173
 
127
- Ports are derived from a hash of the database name modulo `ports.range`. The default hash is FNV-1a 32-bit (`hashAlgorithm: "fnv1a32"`); set `hashAlgorithm: "posix-cksum"` to reproduce the POSIX `cksum` CRC so a project migrating from bash tooling that derives ports via `cksum <<< "$db"` keeps the exact same port per database.
174
+ Database names are derived from the branch: at most **one** leading type segment from `stripBranchPrefixes` is stripped `feature/fix/x` becomes `<dbPrefix>_fix_x` then the remainder is sanitized, prefixed, and capped at 58 chars (longer names keep a stable hash suffix). Ports are a hash of that database name modulo `ports.range`, so the same branch always gets the same ports on every machine.
128
175
 
129
- Database names are derived from the branch: at most **one** leading type segment (`feature`, `feat`, `bugfix`, `bug`, `hotfix`, `fix`, `chore`, `task`) is stripped — `feature/fix/x` becomes `<dbPrefix>_fix_x` — then the remainder is sanitized and prefixed with `project.dbPrefix`. Set `project.stripBranchPrefixes` (for example `["release"]`) to replace the built-in list.
176
+ ### `setup` vs `database.postInit`
130
177
 
131
- Then:
132
-
133
- ```bash
134
- pnpm exec odoo-agentic-dev setup # prepare the worktree (deps, image, database)
135
- pnpm exec odoo-agentic-dev up # start Odoo + companion apps
136
- pnpm exec odoo-agentic-dev info # inspect the derived context at any time
137
- ```
178
+ They run at different times against different things. `setup` is host-side workspace bootstrap — submodules and dependency installs — executed once when a worktree is prepared, before any database exists. `database.postInit` runs against Odoo after **every** database initialization or reset (and is part of the template cache key, so editing a hook correctly invalidates cached snapshots). Rule of thumb: filesystem state → `setup`; database state → `database.postInit`.
138
179
 
139
180
  ## Commands
140
181
 
@@ -372,13 +413,33 @@ With `--hook-json` (the WorktreeRemove hook contract) the `{worktree_path}` payl
372
413
 
373
414
  `info`, `list`, `doctor`, and `prune` have dedicated JSON shapes and keep stdout pure JSON (warnings go to stderr).
374
415
 
375
- The lifecycle commands — `setup`, `up`, `down`, `reset-db`, `update`, `test` — accept `--json` too: decorative output is suppressed and one final single-line JSON object is printed to stdout:
416
+ The mutating lifecycle commands — `setup`, `reset-db`, `update`, `test`, `down`, and `up --detach` — accept `--json` too. In JSON mode **stdout carries exactly one JSON object** (a single final line) and **everything else decorative progress, streamed compose/Odoo subprocess output, the test tail — goes to stderr**, so a parser can always read the report with `tail -n 1 | jq` (no other line ever reaches stdout).
417
+
418
+ Every report shares this core:
376
419
 
377
420
  ```json
378
- { "ok": true, "command": "reset-db", "database": "kl_feature_x", "composeProject": "kl_kl_feature_x", "odooUrl": "http://127.0.0.1:18119/web?db=kl_feature_x", "actions": ["restore-from-template"], "durationMs": 4180, "exitCode": 0 }
421
+ { "ok": true, "command": "reset-db", "database": "kl_feature_x", "composeProjectName": "kl_kl_feature_x", "odooHttpPort": 18119, "durationMs": 4180, "actions": ["restore-from-template"] }
379
422
  ```
380
423
 
381
- `actions` records what the command did (for `reset-db`/`setup` it includes `restore-from-template` or `full-init` + `snapshot-template`, so tooling can tell which reset path ran); `exitCode` appears when the command ran a child to completion (`test`). Streamed child output (image builds, Odoo logs) may still precede the report, so parse the **last line** of stdout (`tail -n 1 | jq`). On failure the object is emitted with `"ok": false` before the error is rendered on stderr.
424
+ - `ok` `true` on success; `false` on failure or (for `test`) a non-zero child exit.
425
+ - `composeProject` and `odooUrl` are kept as back-compat aliases of `composeProjectName` / the derived web URL.
426
+ - `actions` records what the command did, so tooling can tell which path ran.
427
+
428
+ Per-command extras merged into the core:
429
+
430
+ - **`setup` / `reset-db`** add `"mode": "template-restore" | "full-init"` and `"templateKey": "<recipe template hash>"`.
431
+ - **`test`** adds `"exitCode"`, `"stdoutTail"`, and `"stderrTail"` (the last 200 lines of the Odoo run); `ok` mirrors `exitCode === 0`.
432
+ - **`down`** adds `"volumesRemoved": boolean`.
433
+
434
+ On failure the command still renders the error on stderr and exits 1, **and** stdout gets a final `ok:false` object carrying the typed error, so a parser never sees an empty stdout:
435
+
436
+ ```json
437
+ { "ok": false, "command": "reset-db", "database": "kl_e2e_demo", "composeProjectName": "kl_kl_e2e_demo", "odooHttpPort": 18119, "durationMs": 12, "actions": [], "error": { "tag": "SharedDatabaseProtectionError", "message": "refusing to touch shared database \"kl_e2e_demo\" (re-run reset-db with --allow-shared)" } }
438
+ ```
439
+
440
+ `error.tag` is the underlying `TaggedError` `_tag`. Identity fields (`database`, `composeProjectName`, `odooHttpPort`) are `null` when the command fails before the context resolves.
441
+
442
+ Attached `up` (without `--detach`) streams forever and never reaches a final line, so **`up --json` requires `--detach`** — it is rejected up front with a `ConfigValidationError` pointing at `--detach`. `up --detach --json` works.
382
443
 
383
444
  ## State Registry
384
445
 
@@ -447,6 +508,25 @@ type PostInitHook =
447
508
 
448
509
  Hook files resolve relative to the project root. Only `set-ir-config-parameter` commits automatically (it runs `env.cr.commit()` for you); `odoo-shell-file` and `odoo-shell-inline` scripts must call `env.cr.commit()` themselves or their changes are rolled back when the shell exits. Prefer `odoo-shell-file` and `set-ir-config-parameter`; inline code is harder to review.
449
510
 
511
+ ## Ejecting
512
+
513
+ ```bash
514
+ odoo-agentic-dev eject # all (Dockerfile + compose), prints the config patch
515
+ odoo-agentic-dev eject compose # just the compose file
516
+ odoo-agentic-dev eject dockerfile # just the Dockerfile (needs an odoo.build block)
517
+ odoo-agentic-dev eject --write-config # also rewrite the config in place
518
+ ```
519
+
520
+ `eject` converts generated infra into project-owned files: it writes the Dockerfile (`Dockerfile.odoo`) and/or the compose file (`docker-compose.worktree.yml`) into the repo as plain, editable files and points the config at them via the existing `odoo.dockerfile` / `compose.file` escape hatches. There are no new runtime concepts — eject just automates stepping onto hatches the CLI already supports.
521
+
522
+ **When to eject:** you need custom services the generated compose does not model (extra containers, exotic networking), deliberate LAN exposure, or your team simply prefers infra it can see and edit in the repo.
523
+
524
+ **What you keep.** Everything that makes the CLI worth using still works against an ejected stack: database/port derivation, the full context env injection (`compose.file` consumers run with the same variables `info --env` prints, so the ejected compose's `${ODOO_DATABASE:?}` / `${ODOO_HTTP_PORT:?}` interpolations always resolve), the worktree lifecycle (`setup`/`up`/`down`/`reset-db`), and the safety guards (shared-database protection, loopback-only binding, unsafe-name rejection). The ejected files are **portable**: the compose render emits interpolations instead of the current worktree's baked literals, so one file serves every worktree.
525
+
526
+ **What you give up.** Config-driven infra upgrades. Once ejected, changes to `odoo.build` no longer regenerate your Dockerfile, and improvements to the generated compose file in future CLI releases no longer reach you — those files are yours to maintain.
527
+
528
+ By default eject prints a ready-to-apply config patch and changes nothing else; pass a path to override the destination (`--dockerfile-out` / `--compose-out`), `--force` to overwrite an existing file, and `--json` for a machine-readable `{ ok, written, configPatch, configWritten }` object. `--write-config` rewrites the config in place and discards comments, so it refuses a commented file without `--force`. `eject dockerfile` refuses a stock-image config — there is nothing to eject; add an `odoo.build` block first, or eject only the compose file.
529
+
450
530
  ## Development
451
531
 
452
532
  ```bash
package/dist/cli.js CHANGED
@@ -22,6 +22,8 @@ import { psqlCommand } from "./commands/psql.js";
22
22
  import { runCommand } from "./commands/run.js";
23
23
  import { composeCommand } from "./commands/compose.js";
24
24
  import { worktreeCommand } from "./commands/worktree.js";
25
+ import { ejectCommand } from "./commands/eject.js";
26
+ import { readFileSync } from "node:fs";
25
27
  import { CommandRunnerLive } from "./platform/command-runner.js";
26
28
  import { GitLive } from "./platform/git.js";
27
29
  import { DockerComposeLive } from "./platform/docker-compose.js";
@@ -48,9 +50,12 @@ const root = Command.make("odoo-agentic-dev").pipe(Command.withDescription("Agen
48
50
  runCommand,
49
51
  composeCommand,
50
52
  worktreeCommand,
53
+ ejectCommand,
51
54
  ]));
52
55
  const services = Layer.mergeAll(GitLive, OdooLifecycleLive, ProcessSupervisorLive, StateStoreLive, PortProbeLive).pipe(Layer.provideMerge(DockerComposeLive), Layer.provideMerge(CommandRunnerLive), Layer.provideMerge(NodeServices.layer));
53
- const program = Command.runWith(root, { version: "0.1.0-beta.1" })(process.argv.slice(2)).pipe(Effect.provide(services), Effect.catch((error) => Effect.gen(function* () {
56
+ // ../package.json resolves from both dist/cli.js and src/cli.ts single version source
57
+ const { version } = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8"));
58
+ const program = Command.runWith(root, { version })(process.argv.slice(2)).pipe(Effect.provide(services), Effect.catch((error) => Effect.gen(function* () {
54
59
  // ShowHelp is the cli library's control-flow signal: by the time it
55
60
  // reaches us the help text is already printed (bare invocation or
56
61
  // unknown subcommand), so the error itself must not be rendered.
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":"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"}
@@ -205,5 +205,5 @@ export const doctorCommand = Command.make("doctor", {
205
205
  if (hasHardFailure(checks)) {
206
206
  process.exitCode = 1;
207
207
  }
208
- }));
208
+ })).pipe(Command.withDescription("environment health report; exits 1 on hard failures"));
209
209
  //# sourceMappingURL=doctor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAUzC,kEAAkE;AAClE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAe,EAAW,EAAE;IACxD,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3F,OAAO,KAAK,GAAG,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAW,EAAE;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACjD,OAAO,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,WAA0B,EAAW,EAAE,CAC/D,WAAW,KAAK,IAAI,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAE1E,8EAA8E;AAC9E,MAAM,eAAe,GAAG,GAAkB,EAAE;IAC1C,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAChB,qEAAqE;IACrE,gFAAgF;IAChF,uCAAuC,CAAC;AAE1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAkC,EAAW,EAAE,CAC5E,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAkC,EAAU,EAAE,CAC/E,MAAM;KACH,GAAG,CACF,CAAC,KAAK,EAAE,EAAE,CACR,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,MAAM,GACrD,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAC3C,EAAE,CACL;KACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAEhB;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,kBAAsC,EAKtC,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC;IACpC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC;IAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;IACvB,MAAM,MAAM,GAAuB,EAAE,CAAC;IAEtC,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,IAA2B,EAA6B,EAAE,CACvF,MAAM;SACH,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SACtB,IAAI,CACH,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACrB,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CACpE,CACF,CAAC;IAEN,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7E,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,eAAe;QACrB,EAAE,EAAE,aAAa,CAAC,QAAQ,KAAK,CAAC;QAChC,IAAI,EAAE,IAAI;QACV,MAAM,EACJ,aAAa,CAAC,QAAQ,KAAK,CAAC;YAC1B,CAAC,CAAC,0BAA0B;YAC5B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,sBAAsB;KAC3D,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,KAAK,CAAC,IAAI,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC3F,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,YAAY;QAClB,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,SAAS;YACf,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,CAAC,CAAC,iEAAiE;KACtE,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,cAAc;QACpB,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACxC,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,QAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,kBAAkB;KACxD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC;QAC/B,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,YAAY,EAAE,kBAAkB;QAChC,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,EAC1D,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAc,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CACxF,CAAC;IACF,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,QAAQ;QACd,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,MAAM,CAAC,EAAE;YACf,CAAC,CAAC,YAAY,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,MAAM,CAAC,OAAO,EAAE;YAC9D,CAAC,CAAC,MAAM,CAAC,OAAO;KACnB,CAAC,CAAC;IAEH,IAAI,GAAG,GAA2B,IAAI,CAAC;IACvC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CACnD,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1B,oBAAoB,CAAC;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,QAAQ;SACd,CAAC,CACH,EACD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,EAC1D,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAc,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CACxF,CAAC;QACF,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,OAAO,CAAC,EAAE;gBAChB,CAAC,CAAC,YAAY,OAAO,CAAC,GAAG,CAAC,YAAY,qBAAqB,OAAO,CAAC,GAAG,CAAC,kBAAkB,UAAU,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;gBAC7H,CAAC,CAAC,OAAO,CAAC,OAAO;SACpB,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,EAAE;YAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACpC,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,IAAI,EAAE,CAAC,CAAC,EACnD,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAc,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CACxF,CAAC;IACF,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,GAAG,CAAC;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC1D,MAAM,MAAM,GACV,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,UAAU,CAAC,YAAY,CAAC,EAAE,cAAc,IAAI,IAAI,CAAC;QAC5F,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,qEAAqE;YACrE,EAAE,EAAE,IAAI,IAAI,MAAM,KAAK,IAAI;YAC3B,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;gBACV,CAAC,CAAC,QAAQ,UAAU,CAAC,YAAY,UAAU;gBAC3C,CAAC,CAAC,MAAM,KAAK,IAAI;oBACf,CAAC,CAAC,QAAQ,UAAU,CAAC,YAAY,2BAA2B,MAAM,GAAG;oBACrE,CAAC,CAAC,QAAQ,UAAU,CAAC,YAAY,+BAA+B;SACrE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;QAChD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,CAAC,YAAY,KAAK,CAAC;gBAAE,SAAS,CAAC,6BAA6B;YACnE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnF,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,EAAE,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC;YAC3B,IAAI,EAAE,KAAK;YACX,MAAM,EACJ,UAAU,CAAC,MAAM,KAAK,CAAC;gBACrB,CAAC,CAAC,uCAAuC;gBACzC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SAC1F,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,UAAU;QAChB,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,UAAU,CAAC,EAAE;YACnB,CAAC,CAAC,GAAG,kBAAkB,EAAE,KAAK,UAAU,CAAC,IAAI,CAAC,MAAM,kBAAkB;YACtE,CAAC,CAAC,UAAU,CAAC,OAAO;KACvB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IACrD,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,KAAK;QACX,EAAE,EAAE,UAAU,CAAC,QAAQ,KAAK,CAAC;QAC7B,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,UAAU,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,uBAAuB;KACvF,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,KAAK;QACX,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,uBAAuB;KAC9E,CAAC,CAAC;IAEH,MAAM,UAAU,GACd,IAAI,KAAK,IAAI;QACX,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,CAAC,EAAE;YACT,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,CAAC,CAAC,IAAI,CAAC;IACb,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,KAAK,IAAI;QAC3C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC;QAC9E,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CACzB,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAChC,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACpB,MAAM,UAAU,GAAG,oBAAoB,CAAC;gBACtC,IAAI,EAAE,UAAU;gBAChB,cAAc;gBACd,MAAM;gBACN,aAAa,EAAE,IAAI;gBACnB,WAAW,EAAE,KAAK;gBAClB,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAC9B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC;YACvE,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC;gBAC5B,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE;gBAC7C,CAAC,CAAC;oBACE,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,sDAAsD;iBACnF,CAAC;QACR,CAAC,CAAC,CACH,CACF,EACD,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC,CAAC,CACzF,CAAC;IACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;IAEtE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CACvC,QAAQ,EACR;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,CAAC;IACpF,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;CAClD,EACD,CAAC,KAAK,EAAE,EAAE,CACR,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/E,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAC9E,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CACL,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,qDAAqD,CAAC,CAAC,CAAC"}
@@ -41,6 +41,7 @@ export const downCommand = Command.make("down", {
41
41
  yield* report.action("compose-down");
42
42
  if (flags.volumes)
43
43
  yield* report.action("remove-volumes");
44
+ yield* report.setExtra("volumesRemoved", flags.volumes);
44
45
  yield* finalizeDownState(ctx, flags);
45
- })));
46
+ }))).pipe(Command.withDescription("stop this worktree's stack (--volumes to also delete data)"));
46
47
  //# sourceMappingURL=down.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"down.js","sourceRoot":"","sources":["../../src/commands/down.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"down.js","sourceRoot":"","sources":["../../src/commands/down.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ import { Effect, Option } from "effect";
2
+ import { Command } from "effect/unstable/cli";
3
+ import { EjectError } from "../errors/errors.js";
4
+ import type { ConfigLoadError, ConfigValidationError } from "../errors/errors.js";
5
+ import type { OdooAgenticDevConfig, OdooAgenticDevConfigInput, OdooImageBuild } from "../core/project-recipe.js";
6
+ import type { WorktreeContext } from "../core/worktree-context.js";
7
+ export type EjectTarget = "all" | "dockerfile" | "compose";
8
+ export declare const DEFAULT_DOCKERFILE_OUT = "Dockerfile.odoo";
9
+ export declare const DEFAULT_COMPOSE_OUT = "docker-compose.worktree.yml";
10
+ /**
11
+ * The ejected Dockerfile is byte-identical to the generated one except for the
12
+ * first line: ownership now belongs to the project, so the "do not edit" notice
13
+ * is replaced by a provenance stamp carrying the CLI version it was cut from.
14
+ */
15
+ export declare const ejectedDockerfileHeader: (version: string) => string;
16
+ /** Render the ejected Dockerfile: the generated body with the header swapped. */
17
+ export declare const renderEjectedDockerfile: (odooVersion: string, cliVersion: string, build: OdooImageBuild) => string;
18
+ /** Regenerate a complete config file from a validated input object. */
19
+ export declare const serializeConfigFile: (input: OdooAgenticDevConfigInput) => string;
20
+ /**
21
+ * Whether the source contains `//` or `/*` OUTSIDE string/template literals.
22
+ * URLs like "http://x" inside strings do not count as comments.
23
+ */
24
+ export declare const hasComments: (source: string) => boolean;
25
+ export type EjectChanges = {
26
+ /** config-relative compose file path, when compose was ejected */
27
+ readonly composeFile?: string;
28
+ /** config-relative dockerfile path, when the dockerfile was ejected */
29
+ readonly dockerfileFile?: string;
30
+ };
31
+ /** Apply ejected-file references to a validated input object (immutably). */
32
+ export declare const applyEjectToInput: (input: OdooAgenticDevConfigInput, changes: EjectChanges) => OdooAgenticDevConfigInput;
33
+ /** Human-readable, ready-to-apply patch describing the exact config edits. */
34
+ export declare const buildConfigPatch: (changes: EjectChanges) => string;
35
+ export type EjectResult = {
36
+ readonly written: ReadonlyArray<string>;
37
+ readonly configPatch: string;
38
+ readonly configWritten: boolean;
39
+ /** human notes (e.g. stock image: compose-only eject) */
40
+ readonly notes: ReadonlyArray<string>;
41
+ };
42
+ export type PerformEjectOptions = {
43
+ readonly recipe: OdooAgenticDevConfig;
44
+ readonly ctx: WorktreeContext;
45
+ readonly rootDir: string;
46
+ readonly target: EjectTarget;
47
+ readonly dockerfileOut: string;
48
+ readonly composeOut: string;
49
+ readonly force: boolean;
50
+ readonly writeConfig: boolean;
51
+ readonly configFlag: string | undefined;
52
+ };
53
+ /**
54
+ * Convert generated infra into project-owned files: render the portable compose
55
+ * model and (optionally) the ejected Dockerfile, write them as plain files, and
56
+ * either leave a config patch or regenerate the config in place.
57
+ */
58
+ export declare const performEject: (options: PerformEjectOptions) => Effect.Effect<EjectResult, EjectError | ConfigLoadError | ConfigValidationError>;
59
+ /** The success payload printed (as one line) to stdout in `--json` mode. */
60
+ export declare const renderEjectJson: (result: EjectResult) => string;
61
+ /** The failure payload printed (as one line) to stdout in `--json` mode. */
62
+ export declare const renderEjectErrorJson: (error: {
63
+ readonly _tag: string;
64
+ readonly message: string;
65
+ }) => string;
66
+ export declare const ejectCommand: Command.Command<"eject", {
67
+ readonly target: Option.Option<string>;
68
+ readonly dockerfileOut: Option.Option<string>;
69
+ readonly composeOut: Option.Option<string>;
70
+ readonly force: boolean;
71
+ readonly writeConfig: boolean;
72
+ readonly json: boolean;
73
+ readonly config: Option.Option<string>;
74
+ }, {}, import("../errors/errors.js").RuntimeError, import("../platform/git.js").GitApi>;