vaulter 1.0.64 → 1.0.66

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 (46) hide show
  1. package/README.md +96 -36
  2. package/dist/cli/commands/doctor.d.ts.map +1 -1
  3. package/dist/cli/commands/doctor.js +52 -5
  4. package/dist/cli/commands/doctor.js.map +1 -1
  5. package/dist/cli/commands/local/index.d.ts.map +1 -1
  6. package/dist/cli/commands/local/index.js +14 -3
  7. package/dist/cli/commands/local/index.js.map +1 -1
  8. package/dist/cli/commands/local/pull.d.ts +8 -2
  9. package/dist/cli/commands/local/pull.d.ts.map +1 -1
  10. package/dist/cli/commands/local/pull.js +64 -80
  11. package/dist/cli/commands/local/pull.js.map +1 -1
  12. package/dist/cli/commands/local/push.d.ts +5 -0
  13. package/dist/cli/commands/local/push.d.ts.map +1 -1
  14. package/dist/cli/commands/local/push.js +87 -1
  15. package/dist/cli/commands/local/push.js.map +1 -1
  16. package/dist/cli/commands/local/sync.d.ts +11 -0
  17. package/dist/cli/commands/local/sync.d.ts.map +1 -0
  18. package/dist/cli/commands/local/sync.js +65 -0
  19. package/dist/cli/commands/local/sync.js.map +1 -0
  20. package/dist/cli/index.js +8 -1
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/lib/init-generator.d.ts +10 -0
  23. package/dist/lib/init-generator.d.ts.map +1 -1
  24. package/dist/lib/init-generator.js +53 -0
  25. package/dist/lib/init-generator.js.map +1 -1
  26. package/dist/lib/local-ops.d.ts +127 -6
  27. package/dist/lib/local-ops.d.ts.map +1 -1
  28. package/dist/lib/local-ops.js +359 -61
  29. package/dist/lib/local-ops.js.map +1 -1
  30. package/dist/mcp/tools/definitions.d.ts.map +1 -1
  31. package/dist/mcp/tools/definitions.js +25 -1
  32. package/dist/mcp/tools/definitions.js.map +1 -1
  33. package/dist/mcp/tools/handlers/doctor.d.ts.map +1 -1
  34. package/dist/mcp/tools/handlers/doctor.js +44 -1
  35. package/dist/mcp/tools/handlers/doctor.js.map +1 -1
  36. package/dist/mcp/tools/handlers/local.d.ts +22 -2
  37. package/dist/mcp/tools/handlers/local.d.ts.map +1 -1
  38. package/dist/mcp/tools/handlers/local.js +127 -8
  39. package/dist/mcp/tools/handlers/local.js.map +1 -1
  40. package/dist/mcp/tools/index.d.ts.map +1 -1
  41. package/dist/mcp/tools/index.js +5 -1
  42. package/dist/mcp/tools/index.js.map +1 -1
  43. package/dist/types.d.ts +1 -0
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/types.js.map +1 -1
  46. package/package.json +2 -1
package/README.md CHANGED
@@ -142,16 +142,20 @@ vaulter clone dev stg # Execute
142
142
  ```bash
143
143
  git clone <repo> # Gets .vaulter/config.yaml
144
144
  export VAULTER_KEY_DEV=<from-team> # Get key securely from team
145
- vaulter local pull --all # Generates .env files from backend
145
+ vaulter sync pull --dir -e dev # Pull from backend → .vaulter/local/
146
+ vaulter local pull --all # Generate .env files (offline)
146
147
  ```
147
148
 
148
149
  **Sharing a new variable:**
149
150
  ```bash
150
- # 1. Add to backend
151
- vaulter set NEW_FEATURE=enabled -e dev
151
+ # 1. Add locally
152
+ vaulter local set NEW_FEATURE::enabled # Shared config
152
153
 
153
- # 2. Notify team
154
- # "New var added, run: vaulter local pull --all"
154
+ # 2. Push to backend (share with team)
155
+ vaulter sync push --dir -e dev
156
+
157
+ # 3. Notify team
158
+ # "New var added, run: vaulter sync pull --dir && vaulter local pull --all"
155
159
  ```
156
160
 
157
161
  ### MCP Tools for Workflow
@@ -256,6 +260,22 @@ Doctor performs **16 comprehensive checks**:
256
260
  - 🚀 Pre-deploy - ensure everything is synced
257
261
  - 🔄 Routine - weekly health check
258
262
 
263
+ ### Runbook local (`scripts/vaulter-verify-dev.sh`)
264
+
265
+ For a quick pre-deploy validation in local/dev workflows:
266
+
267
+ ```bash
268
+ VAULTER_VERIFY_ENV=dev pnpm run verify:vaulter
269
+ ```
270
+
271
+ The script runs:
272
+
273
+ - `vaulter doctor -e <env> -v`
274
+ - `vaulter sync diff -e <env> --values`
275
+ - `vaulter list -e <env>`
276
+
277
+ It writes an execution log under `artifacts/vaulter-health/` for auditability.
278
+
259
279
  **For AI Agents:** Call `vaulter_doctor` once at the start of a new session (or when operations fail / environments change) to understand the current state before performing sensitive operations.
260
280
 
261
281
  See [docs/DOCTOR.md](docs/DOCTOR.md) for complete guide.
@@ -513,18 +533,11 @@ audit:
513
533
  enabled: true
514
534
  retention_days: 90
515
535
 
516
- # Local development files
517
- local:
518
- configs: .vaulter/local/configs.env # sensitive=false
519
- secrets: .vaulter/local/secrets.env # sensitive=true
536
+ # Local development files (see "Local vs Deploy Structure" below)
537
+ # local: .vaulter/local/
520
538
 
521
- deploy:
522
- shared:
523
- configs: .vaulter/deploy/shared/configs/{env}.env
524
- secrets: .vaulter/deploy/shared/secrets/{env}.env
525
- services:
526
- configs: .vaulter/deploy/services/{service}/configs/{env}.env
527
- secrets: .vaulter/deploy/services/{service}/secrets/{env}.env
539
+ # CI/CD deploy files (see "Local vs Deploy Structure" below)
540
+ # deploy: .vaulter/deploy/
528
541
  ```
529
542
 
530
543
  ### Backend URLs
@@ -914,46 +927,93 @@ outputs:
914
927
 
915
928
  ---
916
929
 
917
- ## Local Overrides (Dev Environment)
930
+ ## Local Overrides (Dev Environment) - OFFLINE FIRST
931
+
932
+ **`vaulter local pull` is 100% OFFLINE** - no backend calls!
933
+
934
+ Works entirely from local files in `.vaulter/local/`. Perfect for local development where you want to work offline and sync later.
918
935
 
919
- Override backend variables **locally** without touching the remote. Perfect for development.
936
+ ### Quick Reference
937
+
938
+ | Command | What it does | Backend? |
939
+ |---------|--------------|----------|
940
+ | `vaulter local pull --all` | Generate .env files from local | ❌ OFFLINE |
941
+ | `vaulter local push --all` | Send local → backend | ✅ Backend |
942
+ | `vaulter local sync` | Download backend → local | ✅ Backend |
943
+
944
+ ### Workflow
945
+
946
+ ```
947
+ ┌─────────────────────────────────────────────────────┐
948
+ │ LOCAL DEVELOPMENT │
949
+ │ 1. Edit .vaulter/local/*.env │
950
+ │ 2. vaulter local pull --all → Generate .env │
951
+ │ 3. Develop... │
952
+ └─────────────────────────────────────────────────────┘
953
+
954
+ ┌─────────────────────────────────────────────────────┐
955
+ │ SHARE WITH TEAM │
956
+ │ vaulter local push --all → Upload to backend │
957
+ └─────────────────────────────────────────────────────┘
958
+
959
+ ┌─────────────────────────────────────────────────────┐
960
+ │ NEW TEAM MEMBER │
961
+ │ 1. git clone <repo> │
962
+ │ 2. vaulter local sync → Download from backend │
963
+ │ 3. vaulter local pull --all → Generate .env │
964
+ └─────────────────────────────────────────────────────┘
965
+ ```
920
966
 
921
967
  ### File Structure
922
968
 
923
969
  ```
924
970
  .vaulter/local/
925
- ├── configs.env # Shared configs (sensitive=false)
926
- ├── secrets.env # Shared secrets (sensitive=true)
971
+ ├── configs.env # Shared configs (all services)
972
+ ├── secrets.env # Shared secrets (all services)
927
973
  └── services/ # Monorepo only
928
974
  ├── web/
929
- │ ├── configs.env
930
- │ └── secrets.env
975
+ │ ├── configs.env # web-specific configs
976
+ │ └── secrets.env # web-specific secrets
931
977
  └── api/
932
978
  ├── configs.env
933
979
  └── secrets.env
934
980
  ```
935
981
 
936
- ### Merge Order
982
+ ### Merge Order (Per Output)
937
983
 
938
- **Priority:** `backend < local shared < service overrides`
984
+ **Priority:** `shared vars < service-specific vars`
939
985
 
940
- ```bash
941
- # Set shared var (all services)
942
- vaulter local set --shared DEBUG::true # config (sensitive=false)
943
- vaulter local set --shared API_KEY=xxx # secret (sensitive=true)
986
+ For each output target, vaulter merges:
987
+ 1. Shared vars from `.vaulter/local/{configs,secrets}.env`
988
+ 2. Service-specific vars from `.vaulter/local/services/{service}/*.env`
989
+
990
+ **Example:**
991
+ - 20 shared vars + 3 service-specific = 23 vars for that service
992
+ - NOT all vars from all services merged together!
944
993
 
945
- # Set service-specific override
946
- vaulter local set PORT::3001 -s web # config
947
- vaulter local set DB_URL=xxx -s api # secret
994
+ ### CLI Commands
948
995
 
949
- # Generate .env files (backend + shared + overrides)
996
+ ```bash
997
+ # === EDIT LOCALLY ===
998
+ vaulter local set --shared DEBUG::true # shared config
999
+ vaulter local set --shared API_KEY=xxx # shared secret
1000
+ vaulter local set PORT::3001 -s web # service config
1001
+ vaulter local set DB_URL=xxx -s api # service secret
1002
+
1003
+ # === GENERATE .ENV FILES [OFFLINE] ===
950
1004
  vaulter local pull --all
1005
+ # Output: "svc-auth: 23 vars (21 shared + 2 service)"
1006
+
1007
+ # === SHARE WITH TEAM ===
1008
+ vaulter local push --all # Upload entire structure
951
1009
 
952
- # See what's different from base
953
- vaulter local diff
1010
+ # === GET TEAM'S CHANGES ===
1011
+ vaulter local sync # Download from backend
1012
+ vaulter local pull --all # Generate .env files
954
1013
 
955
- # Check status
956
- vaulter local status
1014
+ # === OTHER ===
1015
+ vaulter local diff # Show differences
1016
+ vaulter local status # Show summary
957
1017
  ```
958
1018
 
959
1019
  ### Section-Aware .env Management
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAiBzE,UAAU,aAAa;IACrB,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;CACpB;AAoDD;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA8YrE"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAkBzE,UAAU,aAAa;IACrB,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;CACpB;AAoDD;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgcrE"}
@@ -9,6 +9,7 @@ import { findConfigDir, getBaseDir, getEnvFilePathForConfig, getConfigsFilePath,
9
9
  import { loadKeyForEnv } from '../../lib/keys.js';
10
10
  import { normalizeOutputTargets, validateOutputsConfig } from '../../lib/outputs.js';
11
11
  import { createClientFromConfig } from '../lib/create-client.js';
12
+ import { ensureRootGitignoreForVaulter } from '../../lib/init-generator.js';
12
13
  import * as ui from '../ui.js';
13
14
  import { c } from '../lib/colors.js';
14
15
  function formatStatus(status) {
@@ -50,6 +51,7 @@ function summarizeBackends(urls) {
50
51
  */
51
52
  export async function runDoctor(context) {
52
53
  const { args, config, project, service, environment, verbose, jsonOutput } = context;
54
+ const applyFixes = Boolean(args.fix);
53
55
  const checks = [];
54
56
  const hints = new Set();
55
57
  const addCheck = (check) => {
@@ -75,6 +77,7 @@ export async function runDoctor(context) {
75
77
  details: `found at ${configPath}`
76
78
  });
77
79
  }
80
+ const projectRoot = configDir ? getBaseDir(configDir) : process.cwd();
78
81
  // Project name
79
82
  if (!project) {
80
83
  addCheck({
@@ -117,14 +120,16 @@ export async function runDoctor(context) {
117
120
  });
118
121
  }
119
122
  // Monorepo service hints
123
+ const hasMonorepoConfig = Boolean(config?.services && config.services.length > 0)
124
+ || Boolean(config?.monorepo?.services_pattern || config?.monorepo?.root)
125
+ || Boolean(config?.deploy?.services?.configs || config?.deploy?.services?.secrets)
126
+ || Boolean(config?.outputs && Object.keys(config.outputs).length > 1);
127
+ const isMonorepo = hasMonorepoConfig && Boolean(config);
120
128
  if (config) {
121
129
  const configServices = config.services || [];
122
130
  const serviceNames = configServices.map(s => (typeof s === 'string' ? s : s.name));
123
- const hasMonorepoConfig = Boolean(config.monorepo?.services_pattern || config.monorepo?.root);
124
- const hasDeployServices = Boolean(config.deploy?.services?.configs || config.deploy?.services?.secrets);
125
- const hasMultipleOutputs = Boolean(config.outputs && Object.keys(config.outputs).length > 1);
126
- const isMonorepo = configServices.length > 0 || hasMonorepoConfig || hasDeployServices || hasMultipleOutputs;
127
- if (isMonorepo) {
131
+ const hasMonorepoStructure = configServices.length > 0 || hasMonorepoConfig;
132
+ if (hasMonorepoStructure) {
128
133
  if (!service) {
129
134
  addCheck({
130
135
  name: 'service',
@@ -364,6 +369,48 @@ export async function runDoctor(context) {
364
369
  });
365
370
  }
366
371
  }
372
+ // Root .gitignore hygiene
373
+ try {
374
+ const rootGitignore = ensureRootGitignoreForVaulter(projectRoot, isMonorepo, !applyFixes || args['dry-run'] === true);
375
+ if (rootGitignore.missingEntries.length === 0) {
376
+ addCheck({
377
+ name: 'gitignore',
378
+ status: 'ok',
379
+ details: 'required Vaulter entries present in .gitignore'
380
+ });
381
+ }
382
+ else if (applyFixes && rootGitignore.updated) {
383
+ addCheck({
384
+ name: 'gitignore',
385
+ status: 'ok',
386
+ details: `added ${rootGitignore.missingEntries.length} .gitignore ${rootGitignore.missingEntries.length === 1 ? 'entry' : 'entries'}`
387
+ });
388
+ }
389
+ else if (args['dry-run'] === true) {
390
+ addCheck({
391
+ name: 'gitignore',
392
+ status: 'warn',
393
+ details: `missing ${rootGitignore.missingEntries.length} required .gitignore ${rootGitignore.missingEntries.length === 1 ? 'entry' : 'entries'} (would add with --fix)`,
394
+ hint: 'Run "vaulter doctor --fix" to update .gitignore'
395
+ });
396
+ }
397
+ else {
398
+ addCheck({
399
+ name: 'gitignore',
400
+ status: 'warn',
401
+ details: `missing ${rootGitignore.missingEntries.length} required .gitignore ${rootGitignore.missingEntries.length === 1 ? 'entry' : 'entries'}`,
402
+ hint: 'Run "vaulter doctor --fix" to update .gitignore'
403
+ });
404
+ }
405
+ }
406
+ catch (error) {
407
+ addCheck({
408
+ name: 'gitignore',
409
+ status: 'warn',
410
+ details: `failed to validate .gitignore: ${error.message}`,
411
+ hint: 'Check filesystem permissions and run in project root'
412
+ });
413
+ }
367
414
  // Remote connection check
368
415
  let clientConnected = false;
369
416
  let clientError = null;
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EACL,aAAa,EACb,UAAU,EACV,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,KAAK,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAA;AAqBpC,SAAS,YAAY,CAAC,MAAoB;IACxC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,IAAI;YACP,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACxB,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC1B,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACxB,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1B,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,OAAO,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,eAAe,GAAG,+FAA+F,CAAA;AAEvH,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,MAAM,GAAG,GAAG,CAAA;IAEhB,+EAA+E;IAC/E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,0CAA0C,EAAE,SAAS,CAAC,CAAA;IAE9E,8BAA8B;IAC9B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACvE,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,GAAG,GAAG,GAAG,OAAO,CAAA;QAC5B,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAc;IACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAA;IACpC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAsB;IACpD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAEpF,MAAM,MAAM,GAAkB,EAAE,CAAA;IAChC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAE/B,MAAM,QAAQ,GAAG,CAAC,KAAkB,EAAE,EAAE;QACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClB,IAAI,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,aAAa,EAAE,CAAA;IACjC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAEvE,kBAAkB;IAClB,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,QAAQ,CAAC;YACP,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,uBAAuB;YAChC,IAAI,EAAE,mDAAmD;SAC1D,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC;YACP,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,YAAY,UAAU,EAAE;SAClC,CAAC,CAAA;IACJ,CAAC;IAED,eAAe;IACf,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,QAAQ,CAAC;YACP,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,iBAAiB;YAC1B,IAAI,EAAE,wCAAwC;SAC/C,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC;YACP,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,OAAO;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,yBAAyB;IACzB,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;YAC7C,QAAQ,CAAC;gBACP,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,GAAG,WAAW,oCAAoC;gBAC3D,IAAI,EAAE,OAAO,WAAW,oDAAoD;aAC7E,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC;gBACP,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,WAAW;aACrB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC;YACP,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW;SACrB,CAAC,CAAA;IACJ,CAAC;IAED,yBAAyB;IACzB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAA;QAC5C,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAClF,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC7F,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;QACvG,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC5F,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,IAAI,iBAAiB,IAAI,kBAAkB,CAAA;QAE5G,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,QAAQ,CAAC;oBACP,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,yCAAyC;oBAClD,IAAI,EAAE,2EAA2E;iBAClF,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtE,QAAQ,CAAC;oBACP,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,GAAG,OAAO,+BAA+B;oBAClD,IAAI,EAAE,OAAO,OAAO,iDAAiD;iBACtE,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC;oBACP,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,IAAI,WAAW,GAAa,EAAE,CAAA;IAC9B,IAAI,aAAa,GAAG,SAAS,CAAA;IAE7B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5B,aAAa,GAAG,WAAW,CAAA;IAC7B,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACxC,aAAa,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,QAAQ,CAAC;YACP,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,mDAAmD;YAC5D,IAAI,EAAE,sEAAsE;SAC7E,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/D,QAAQ,CAAC;YACP,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,gBAAgB,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,GAAG;SACpG,CAAC,CAAA;IACJ,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;YACvE,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACpC,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS,CAAA;gBACvC,MAAM,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAA;gBAClC,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC9B,QAAQ,CAAC;wBACP,IAAI,EAAE,YAAY;wBAClB,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,2BAA2B;wBACpC,IAAI,EAAE,6CAA6C,WAAW,iDAAiD;qBAChH,CAAC,CAAA;gBACJ,CAAC;qBAAM,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;oBACrC,QAAQ,CAAC;wBACP,IAAI,EAAE,YAAY;wBAClB,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,8BAA8B,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,WAAW;wBAClF,IAAI,EAAE,gEAAgE;qBACvE,CAAC,CAAA;gBACJ,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC;wBACP,IAAI,EAAE,YAAY;wBAClB,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,eAAe,SAAS,CAAC,SAAS,IAAI,UAAU,GAAG;qBAC7D,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;oBACnB,QAAQ,CAAC;wBACP,IAAI,EAAE,YAAY;wBAClB,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,yBAAyB;wBAClC,IAAI,EAAE,mBAAmB,WAAW,CAAC,WAAW,EAAE,oCAAoC,WAAW,GAAG;qBACrG,CAAC,CAAA;gBACJ,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC;wBACP,IAAI,EAAE,YAAY;wBAClB,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,cAAc,SAAS,CAAC,MAAM,GAAG;qBAC3C,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC;gBACP,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAG,KAAe,CAAC,OAAO;gBACjC,IAAI,EAAE,6CAA6C;aACpD,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC;YACP,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,sBAAsB;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,+CAA+C;IAC/C,IAAI,MAAM,EAAE,UAAU,EAAE,sBAAsB,IAAI,OAAO,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAA;QAC1D,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;YAClF,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,KAAK,YAAY;gBAClD,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG;gBAC1C,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAA;YAEnB,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,QAAQ,CAAC;oBACP,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,2CAA2C,SAAS,EAAE;oBAC/D,IAAI,EAAE,mBAAmB,SAAS,CAAC,WAAW,EAAE,wBAAwB,SAAS,EAAE;iBACpF,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC;oBACP,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,GAAG,SAAS,EAAE;iBACxB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC;gBACP,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAG,KAAe,CAAC,OAAO;gBACjC,IAAI,EAAE,iDAAiD,SAAS,EAAE;aACnE,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;QACxB,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;YACtE,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;YACtE,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;YAChD,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;YAEhD,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;gBACnC,QAAQ,CAAC;oBACP,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,0BAA0B;iBACpC,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAa,EAAE,CAAA;gBAC5B,IAAI,CAAC,aAAa;oBAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAC7C,IAAI,CAAC,aAAa;oBAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAC7C,QAAQ,CAAC;oBACP,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,WAAW,OAAO,CAAC,MAAM,UAAU;oBAC5C,IAAI,EAAE,oEAAoE;iBAC3E,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;YACvE,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,QAAQ,CAAC;oBACP,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,kBAAkB;iBAC5B,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC;oBACP,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,kBAAkB;oBAC3B,IAAI,EAAE,yDAAyD;iBAChE,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;QAClD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC;gBACP,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjG,IAAI,EAAE,0CAA0C;aACjD,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;YAC3D,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;YACrE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACrE,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;YACjC,CAAC,CAAC,CAAA;YAEF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC;oBACP,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,yBAAyB;iBACpD,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC;oBACP,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,yBAAyB;oBACrE,IAAI,EAAE,mDAAmD;iBAC1D,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC;gBACP,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,uBAAuB;aACjC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,eAAe,GAAG,KAAK,CAAA;IAC3B,IAAI,WAAW,GAAkB,IAAI,CAAA;IACrC,IAAI,MAAM,GAA8D,IAAI,CAAA;IAC5E,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,sBAAsB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;QACtF,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;QACtB,eAAe,GAAG,IAAI,CAAA;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,GAAI,KAAe,CAAC,OAAO,CAAA;IACxC,CAAC;YAAS,CAAC;QACT,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,UAAU,EAAE,CAAA;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAA;QACpG,MAAM,MAAM,GAAiB,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;QACrE,QAAQ,CAAC;YACP,IAAI,EAAE,SAAS;YACf,MAAM;YACN,OAAO,EAAE,cAAc,YAAY,GAAG;YACtC,IAAI,EAAE,WAAW,CAAC,MAAM,KAAK,CAAC;gBAC5B,CAAC,CAAC,6CAA6C;gBAC/C,CAAC,CAAC,SAAS;SACd,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC;YACP,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW,IAAI,mBAAmB;YAC3C,IAAI,EAAE,qDAAqD;SAC5D,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACb,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACtB,OAAO,GAAG,CAAA;IACZ,CAAC,EACD,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CACrC,CAAA;IAED,IAAI,UAAU,EAAE,CAAC;QACf,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YACvB,OAAO,EAAE,OAAO,IAAI,IAAI;YACxB,OAAO,EAAE,OAAO,IAAI,IAAI;YACxB,WAAW;YACX,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;YACnC,MAAM;YACN,OAAO;YACP,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACzB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACZ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAC1B;QACE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;QACjC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;QACnC,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;KACtC,EACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC,IAAI;QACjB,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;QAClC,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC,CACJ,CAAA;IAED,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAEhB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACV,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,EAAE,SAAS,OAAO,CAAC,IAAI,SAAS,OAAO,CAAC,IAAI,SAAS,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAEhH,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACnB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACV,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAA;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACxC,CAAC"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/local/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAI5E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAA;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAA;CAC3D;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAmExE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/local/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAI5E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAA;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAA;CAC3D;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA+ExE"}
@@ -28,6 +28,11 @@ export async function runLocalGroup(context) {
28
28
  await runLocalPushCommand(context);
29
29
  break;
30
30
  }
31
+ case 'sync': {
32
+ const { runLocalSyncCommand } = await import('./sync.js');
33
+ await runLocalSyncCommand(context);
34
+ break;
35
+ }
31
36
  case 'set': {
32
37
  const { runLocalSet } = await import('./set.js');
33
38
  await runLocalSet(context);
@@ -55,12 +60,18 @@ export async function runLocalGroup(context) {
55
60
  ui.log('');
56
61
  ui.log(c.header('Commands:'));
57
62
  ui.log(` ${c.subcommand('init')} Create local overrides directory`);
58
- ui.log(` ${c.subcommand('pull')} Base + overrides .env outputs`);
59
- ui.log(` ${c.subcommand('push')} Push local overrides to remote (share with team)`);
60
- ui.log(` ${c.subcommand('set')} Add local override (KEY=val KEY2::val2)`);
63
+ ui.log(` ${c.subcommand('pull')} Generate .env files from local files ${c.muted('[OFFLINE]')}`);
64
+ ui.log(` ${c.subcommand('push')} Push local to backend ${c.muted('(--all for entire structure)')}`);
65
+ ui.log(` ${c.subcommand('sync')} Pull from backend to .vaulter/local/`);
66
+ ui.log(` ${c.subcommand('set')} Add local override (KEY=val KEY::val2)`);
61
67
  ui.log(` ${c.subcommand('delete')} Remove local override`);
62
68
  ui.log(` ${c.subcommand('diff')} Show overrides vs base`);
63
69
  ui.log(` ${c.subcommand('status')} Show local state summary`);
70
+ ui.log('');
71
+ ui.log(c.header('Workflow:'));
72
+ ui.log(` ${c.muted('1.')} Edit files in .vaulter/local/`);
73
+ ui.log(` ${c.muted('2.')} ${c.command('vaulter local pull --all')} ${c.muted('Generate .env files')}`);
74
+ ui.log(` ${c.muted('3.')} ${c.command('vaulter local push --all')} ${c.muted('Share with team')}`);
64
75
  process.exit(1);
65
76
  }
66
77
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/local/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/local/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,14 @@
1
1
  /**
2
2
  * vaulter local pull
3
3
  *
4
- * Fetches base env from backend, merges with local overrides,
5
- * then writes to output targets.
4
+ * OFFLINE-FIRST: Generates .env files from local files ONLY.
5
+ * NO backend calls - reads from .vaulter/local/ directory.
6
+ *
7
+ * For each output:
8
+ * 1. Loads shared vars: .vaulter/local/{configs,secrets}.env
9
+ * 2. Loads service-specific: .vaulter/local/services/{service}/*.env
10
+ * 3. Merges: shared + service-specific (service wins)
11
+ * 4. Writes to output path
6
12
  */
7
13
  import type { LocalContext } from './index.js';
8
14
  export declare function runLocalPull(context: LocalContext): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/local/pull.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAiIvE"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/local/pull.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyGvE"}
@@ -1,26 +1,26 @@
1
1
  /**
2
2
  * vaulter local pull
3
3
  *
4
- * Fetches base env from backend, merges with local overrides,
5
- * then writes to output targets.
4
+ * OFFLINE-FIRST: Generates .env files from local files ONLY.
5
+ * NO backend calls - reads from .vaulter/local/ directory.
6
+ *
7
+ * For each output:
8
+ * 1. Loads shared vars: .vaulter/local/{configs,secrets}.env
9
+ * 2. Loads service-specific: .vaulter/local/services/{service}/*.env
10
+ * 3. Merges: shared + service-specific (service wins)
11
+ * 4. Writes to output path
6
12
  */
7
13
  import { findConfigDir } from '../../../lib/config-loader.js';
8
14
  import { runLocalPull as runLocalPullCore } from '../../../lib/local-ops.js';
9
- import { resolveBaseEnvironment } from '../../../lib/local.js';
10
15
  import { validateOutputsConfig } from '../../../lib/outputs.js';
11
- import { createClientFromConfig } from '../../lib/create-client.js';
12
16
  import { c, colorEnv, print } from '../../lib/colors.js';
13
17
  import * as ui from '../../ui.js';
14
18
  export async function runLocalPull(context) {
15
- const { args, config, project, service, verbose, dryRun, jsonOutput } = context;
19
+ const { args, config, service, verbose, dryRun, jsonOutput } = context;
16
20
  if (!config) {
17
21
  print.error('Config required. Run "vaulter init" first.');
18
22
  process.exit(1);
19
23
  }
20
- if (!project) {
21
- print.error('Project not specified');
22
- process.exit(1);
23
- }
24
24
  const configDir = findConfigDir();
25
25
  if (!configDir) {
26
26
  print.error('Could not find .vaulter/ directory');
@@ -41,6 +41,12 @@ export async function runLocalPull(context) {
41
41
  }
42
42
  if (!config.outputs || Object.keys(config.outputs).length === 0) {
43
43
  print.error('No outputs defined in config');
44
+ ui.log('');
45
+ ui.log('Add outputs to .vaulter/config.yaml:');
46
+ ui.log(` ${c.muted('outputs:')}`);
47
+ ui.log(` ${c.muted(' app-admin:')}`);
48
+ ui.log(` ${c.muted(' path: apps/app-admin')}`);
49
+ ui.log(` ${c.muted(' service: app-admin')}`);
44
50
  process.exit(1);
45
51
  }
46
52
  const errors = validateOutputsConfig(config);
@@ -50,83 +56,61 @@ export async function runLocalPull(context) {
50
56
  ui.log(` ${c.removed(err)}`);
51
57
  process.exit(1);
52
58
  }
53
- const baseEnv = resolveBaseEnvironment(config);
54
- // Fetch base vars from backend
55
- const client = await createClientFromConfig({
56
- args,
59
+ // OFFLINE-FIRST: No client needed - reads from local files only
60
+ const result = await runLocalPullCore({
57
61
  config,
58
- project,
59
- environment: baseEnv,
60
- verbose
62
+ configDir,
63
+ service,
64
+ all,
65
+ output: target,
66
+ dryRun,
67
+ verbose,
68
+ overwrite
61
69
  });
62
- try {
63
- await client.connect();
64
- const { baseEnvironment, localSharedCount, overridesCount, result } = await runLocalPullCore({
65
- client,
66
- config,
67
- configDir,
68
- service,
69
- all,
70
- output: target,
70
+ if (verbose) {
71
+ ui.verbose(`Base env: ${colorEnv(result.baseEnvironment)}`, true);
72
+ ui.verbose(`Shared vars: ${result.localSharedCount}`, true);
73
+ ui.verbose(`Service-specific vars: ${result.totalServiceVarsCount}`, true);
74
+ }
75
+ if (jsonOutput) {
76
+ ui.output(JSON.stringify({
77
+ success: true,
71
78
  dryRun,
72
- verbose,
73
- overwrite
74
- });
75
- if (verbose) {
76
- const parts = [`Base env: ${colorEnv(baseEnvironment)}`];
77
- if (localSharedCount > 0)
78
- parts.push(`shared: ${localSharedCount}`);
79
- if (overridesCount > 0)
80
- parts.push(`overrides: ${overridesCount}`);
81
- ui.verbose(parts.join(', '), true);
82
- }
83
- if (jsonOutput) {
84
- ui.output(JSON.stringify({
85
- success: true,
86
- dryRun,
87
- project,
88
- baseEnvironment,
89
- localSharedCount,
90
- overridesCount,
91
- sectionAware: result.sectionAware,
92
- files: result.files.map(f => ({
93
- output: f.output,
94
- path: f.fullPath,
95
- varsCount: f.varsCount,
96
- userVarsCount: f.userVars ? Object.keys(f.userVars).length : 0,
97
- totalVarsCount: f.totalVarsCount
98
- })),
99
- warnings: result.warnings
100
- }, null, 2));
79
+ baseEnvironment: result.baseEnvironment,
80
+ localSharedCount: result.localSharedCount,
81
+ totalServiceVarsCount: result.totalServiceVarsCount,
82
+ sectionAware: result.sectionAware,
83
+ files: result.files.map(f => ({
84
+ output: f.output,
85
+ path: f.fullPath,
86
+ varsCount: f.varsCount,
87
+ sharedCount: f.sharedCount,
88
+ serviceCount: f.serviceCount,
89
+ userVarsCount: f.userVars ? Object.keys(f.userVars).length : 0,
90
+ totalVarsCount: f.totalVarsCount
91
+ })),
92
+ warnings: result.warnings
93
+ }, null, 2));
94
+ }
95
+ else {
96
+ if (dryRun) {
97
+ ui.log('Dry run - would write:');
101
98
  }
102
99
  else {
103
- if (dryRun) {
104
- ui.log('Dry run - would write:');
105
- }
106
- else {
107
- const mode = result.sectionAware ? 'section-aware' : 'overwrite';
108
- const extras = [];
109
- if (localSharedCount > 0)
110
- extras.push(`${localSharedCount} shared`);
111
- if (overridesCount > 0)
112
- extras.push(`${overridesCount} overrides`);
113
- const extrasStr = extras.length > 0 ? ` + ${extras.join(' + ')}` : '';
114
- ui.success(`Pulled to ${result.files.length} output(s) [${mode}] (base: ${baseEnvironment}${extrasStr}):`);
115
- }
116
- for (const file of result.files) {
117
- const userCount = file.userVars ? Object.keys(file.userVars).length : 0;
118
- const varsInfo = result.sectionAware && userCount > 0
119
- ? `${file.varsCount} vaulter + ${userCount} user vars`
120
- : `${file.varsCount} vars`;
121
- ui.log(` ${c.highlight(file.output)}: ${c.muted(file.fullPath)} (${varsInfo})`);
122
- }
123
- for (const warning of result.warnings) {
124
- print.warning(warning);
125
- }
100
+ const mode = result.sectionAware ? 'section-aware' : 'overwrite';
101
+ ui.success(`Pulled to ${result.files.length} output(s) [${mode}]:`);
102
+ }
103
+ for (const file of result.files) {
104
+ const userCount = file.userVars ? Object.keys(file.userVars).length : 0;
105
+ const breakdown = `${file.sharedCount} shared + ${file.serviceCount} service`;
106
+ const varsInfo = result.sectionAware && userCount > 0
107
+ ? `${file.varsCount} vars (${breakdown}) + ${userCount} user`
108
+ : `${file.varsCount} vars (${breakdown})`;
109
+ ui.log(` ${c.highlight(file.output)}: ${c.muted(file.fullPath)} (${varsInfo})`);
110
+ }
111
+ for (const warning of result.warnings) {
112
+ print.warning(warning);
126
113
  }
127
- }
128
- finally {
129
- await client.disconnect();
130
114
  }
131
115
  }
132
116
  //# sourceMappingURL=pull.js.map