@neetru/cli 2.7.5 → 2.9.1

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 (105) hide show
  1. package/CHANGELOG.md +316 -220
  2. package/README.md +137 -137
  3. package/dist/cli-kit/format.d.ts +49 -0
  4. package/dist/cli-kit/format.js +88 -0
  5. package/dist/cli-kit/format.js.map +1 -0
  6. package/dist/cli-kit/glyphs.d.ts +22 -0
  7. package/dist/cli-kit/glyphs.js +22 -0
  8. package/dist/cli-kit/glyphs.js.map +1 -0
  9. package/dist/cli-kit/index.d.ts +13 -0
  10. package/dist/cli-kit/index.js +12 -0
  11. package/dist/cli-kit/index.js.map +1 -0
  12. package/dist/cli-kit/palette.d.ts +10 -0
  13. package/dist/cli-kit/palette.js +36 -0
  14. package/dist/cli-kit/palette.js.map +1 -0
  15. package/dist/commands/ai.js +8 -8
  16. package/dist/commands/autocomplete.js +34 -34
  17. package/dist/commands/bug.d.ts +87 -0
  18. package/dist/commands/bug.js +419 -0
  19. package/dist/commands/bug.js.map +1 -0
  20. package/dist/commands/customers.d.ts +17 -0
  21. package/dist/commands/customers.js +160 -0
  22. package/dist/commands/customers.js.map +1 -0
  23. package/dist/commands/db.d.ts +91 -7
  24. package/dist/commands/db.js +898 -123
  25. package/dist/commands/db.js.map +1 -1
  26. package/dist/commands/deploy.d.ts +5 -0
  27. package/dist/commands/deploy.js +68 -0
  28. package/dist/commands/deploy.js.map +1 -1
  29. package/dist/commands/dev.d.ts +68 -0
  30. package/dist/commands/dev.js +345 -0
  31. package/dist/commands/dev.js.map +1 -0
  32. package/dist/commands/docs.d.ts +4 -0
  33. package/dist/commands/docs.js +99 -7
  34. package/dist/commands/docs.js.map +1 -1
  35. package/dist/commands/doctor.js +4 -1
  36. package/dist/commands/doctor.js.map +1 -1
  37. package/dist/commands/init.js +121 -121
  38. package/dist/commands/marketplace.d.ts +36 -0
  39. package/dist/commands/marketplace.js +584 -0
  40. package/dist/commands/marketplace.js.map +1 -0
  41. package/dist/commands/new.d.ts +6 -0
  42. package/dist/commands/new.js +220 -40
  43. package/dist/commands/new.js.map +1 -1
  44. package/dist/commands/open.d.ts +8 -0
  45. package/dist/commands/open.js +61 -13
  46. package/dist/commands/open.js.map +1 -1
  47. package/dist/commands/products-db.d.ts +1 -1
  48. package/dist/commands/products-db.js +17 -4
  49. package/dist/commands/products-db.js.map +1 -1
  50. package/dist/commands/products.d.ts +23 -0
  51. package/dist/commands/products.js +39 -1
  52. package/dist/commands/products.js.map +1 -1
  53. package/dist/commands/tenants.js +15 -0
  54. package/dist/commands/tenants.js.map +1 -1
  55. package/dist/commands/ui.d.ts +1 -1
  56. package/dist/commands/ui.js +172 -2
  57. package/dist/commands/ui.js.map +1 -1
  58. package/dist/commands/workspaces.d.ts +10 -1
  59. package/dist/commands/workspaces.js +136 -22
  60. package/dist/commands/workspaces.js.map +1 -1
  61. package/dist/index.js +532 -44
  62. package/dist/index.js.map +1 -1
  63. package/dist/lib/ai/context.js +90 -90
  64. package/dist/lib/config-schema.d.ts +8 -8
  65. package/dist/lib/db-local/db-json.d.ts +63 -0
  66. package/dist/lib/db-local/db-json.js +189 -0
  67. package/dist/lib/db-local/db-json.js.map +1 -0
  68. package/dist/lib/db-local/env.d.ts +26 -0
  69. package/dist/lib/db-local/env.js +64 -0
  70. package/dist/lib/db-local/env.js.map +1 -0
  71. package/dist/lib/db-local/fingerprint.d.ts +8 -0
  72. package/dist/lib/db-local/fingerprint.js +28 -0
  73. package/dist/lib/db-local/fingerprint.js.map +1 -0
  74. package/dist/lib/db-local/index.d.ts +15 -0
  75. package/dist/lib/db-local/index.js +14 -0
  76. package/dist/lib/db-local/index.js.map +1 -0
  77. package/dist/lib/db-pipeline/build-deps.d.ts +14 -0
  78. package/dist/lib/db-pipeline/build-deps.js +158 -0
  79. package/dist/lib/db-pipeline/build-deps.js.map +1 -0
  80. package/dist/lib/db-pipeline/errors.d.ts +29 -0
  81. package/dist/lib/db-pipeline/errors.js +29 -0
  82. package/dist/lib/db-pipeline/errors.js.map +1 -0
  83. package/dist/lib/db-pipeline/index.d.ts +26 -0
  84. package/dist/lib/db-pipeline/index.js +25 -0
  85. package/dist/lib/db-pipeline/index.js.map +1 -0
  86. package/dist/lib/db-pipeline/pipeline.d.ts +13 -0
  87. package/dist/lib/db-pipeline/pipeline.js +119 -0
  88. package/dist/lib/db-pipeline/pipeline.js.map +1 -0
  89. package/dist/lib/db-pipeline/rehearse.d.ts +99 -0
  90. package/dist/lib/db-pipeline/rehearse.js +219 -0
  91. package/dist/lib/db-pipeline/rehearse.js.map +1 -0
  92. package/dist/lib/db-pipeline/types.d.ts +112 -0
  93. package/dist/lib/db-pipeline/types.js +20 -0
  94. package/dist/lib/db-pipeline/types.js.map +1 -0
  95. package/dist/lib/pickers.d.ts +12 -0
  96. package/dist/lib/pickers.js +34 -0
  97. package/dist/lib/pickers.js.map +1 -1
  98. package/package.json +66 -62
  99. package/templates/auth/callback.ts +22 -22
  100. package/templates/auth/sign-in.tsx +41 -41
  101. package/templates/billing/checkout.ts +22 -22
  102. package/templates/billing/page.tsx +43 -43
  103. package/templates/support/ticket-form.tsx +68 -68
  104. package/templates/usage/track.ts +30 -30
  105. package/templates/users/profile.tsx +43 -43
@@ -5,6 +5,14 @@ export interface WorkspacesCreateOptions {
5
5
  tier?: string;
6
6
  name?: string;
7
7
  json?: boolean;
8
+ /** gestovendas #8: se true, grava tenantId no neetru.config.json após criar. */
9
+ bindConfig?: boolean;
10
+ /**
11
+ * Bug #40 fix: se true, cria mesmo que já exista ambiente ativo para
12
+ * produto+env. Em modo --json/--yes, sem --force-duplicate a criação
13
+ * é bloqueada com código `tenant_already_exists` (HTTP 409).
14
+ */
15
+ forceDuplicate?: boolean;
8
16
  }
9
17
  export declare function runWorkspacesCreate(opts: WorkspacesCreateOptions): Promise<void>;
10
18
  export interface WorkspacesAdvanceOptions {
@@ -31,7 +39,8 @@ export interface WorkspacesOpenOptions {
31
39
  export declare function buildWorkspaceDashboardUrl(id: string): string;
32
40
  /**
33
41
  * Abre uma URL no browser default do OS. Não bloqueia o processo.
34
- * Em caso de erro, loga warn o caller pode copiar a URL printada.
42
+ * HIGH-2: delega pra safeOpenUrl que valida protocolo http(s) e usa
43
+ * shell:false — evita injeção via URLs config-derived no Windows.
35
44
  */
36
45
  export declare function openBrowser(url: string): void;
37
46
  export declare function runWorkspacesOpen(id: string | undefined, opts?: WorkspacesOpenOptions): Promise<void>;
@@ -9,19 +9,40 @@
9
9
  * GET /api/cli/v1/workspaces/{id} (get)
10
10
  * (open) NÃO chama API — só monta a URL do painel e abre o browser.
11
11
  */
12
- import { spawn } from 'node:child_process';
12
+ import * as fs from 'node:fs/promises';
13
+ import * as path from 'node:path';
13
14
  import chalk from 'chalk';
15
+ import { safeOpenUrl } from './open.js';
14
16
  import ora from 'ora';
15
17
  import { apiRequest } from '../lib/api-client.js';
16
18
  import { config } from '../lib/config.js';
17
19
  import { requireToken, handleApiError, printWriteResult } from '../lib/cli-write.js';
18
20
  import { renderTable, fmtTimestamp } from '../lib/render.js';
19
- import { pickProductId, pickProductSlug, pickWorkspace, isInteractive, promptChoice, promptText, resolveCustomer, } from '../lib/pickers.js';
21
+ import { pickProductId, pickProductSlug, pickWorkspace, resolveProductIdentifier, isInteractive, promptChoice, promptText, resolveCustomer, } from '../lib/pickers.js';
20
22
  import { log } from '../utils/logger.js';
23
+ /** Formata o erro 400 "Nenhum customer ativo" de forma acionável. */
24
+ function humanizeWorkspaceCreateError(message) {
25
+ if (/nenhum customer ativo/i.test(message)) {
26
+ return ('Nenhum customer ativo encontrado.\n\n' +
27
+ ' Customer = entidade comercial (PJ) que vai operar o ambiente.\n' +
28
+ ' Você pode criar em:\n' +
29
+ ' • Painel web: https://core.neetru.com/customers\n' +
30
+ ' • CLI: neetru customers create --name "..." --email "..." (em breve)\n\n' +
31
+ ' Depois rode novamente:\n' +
32
+ ' neetru workspaces create --product <id> --customer <customerId>\n');
33
+ }
34
+ return message;
35
+ }
21
36
  export async function runWorkspacesCreate(opts) {
22
37
  const token = await requireToken(opts.json);
38
+ // pdv #3 fix: se --product for slug (ex: pdv-agiliza), resolve para id antes
39
+ // de chamar pickProductId. Isso corrige a inconsistência onde tenants create
40
+ // aceitava slug mas workspaces create não.
41
+ const productFlag = opts.product
42
+ ? await resolveProductIdentifier(token, opts.product, { json: opts.json })
43
+ : undefined;
23
44
  const product = await pickProductId(token, {
24
- fromFlag: opts.product,
45
+ fromFlag: productFlag,
25
46
  json: opts.json,
26
47
  message: 'Produto do workspace:',
27
48
  });
@@ -32,6 +53,71 @@ export async function runWorkspacesCreate(opts) {
32
53
  { name: 'staging', value: 'staging' },
33
54
  { name: 'prod', value: 'prod' },
34
55
  ], { default: 'dev', json: opts.json }));
56
+ // Bug #40: detecta tenant ativo existente para produto+env antes de criar.
57
+ if (!opts.forceDuplicate) {
58
+ const dupSpinner = opts.json
59
+ ? null
60
+ : ora({ text: 'Verificando ambientes existentes…', color: 'blue' }).start();
61
+ let existingTenant = null;
62
+ try {
63
+ const qs = new URLSearchParams({ product, status: 'ativo' }).toString();
64
+ const listRes = await apiRequest(`/api/cli/v1/tenants?${qs}`, { token });
65
+ dupSpinner?.stop();
66
+ const rows = listRes.tenants ?? listRes.workspaces ?? [];
67
+ const match = rows.find((r) => (r.environmentId ?? r.env) === env);
68
+ if (match)
69
+ existingTenant = match;
70
+ }
71
+ catch {
72
+ // Falha ao checar duplicatas não bloqueia — prossegue criação normalmente.
73
+ dupSpinner?.stop();
74
+ }
75
+ if (existingTenant) {
76
+ const label = existingTenant.name ?? existingTenant.id ?? '(sem nome)';
77
+ // Modo script/JSON (--json ou --yes implícito): bloqueia com 409.
78
+ if (opts.json) {
79
+ console.log(JSON.stringify({
80
+ ok: false,
81
+ error: 'tenant_already_exists',
82
+ status: 409,
83
+ message: `Já existe ambiente ativo '${label}' para produto=${product} env=${env}. Use --force-duplicate para criar mesmo assim.`,
84
+ existing: existingTenant,
85
+ }));
86
+ process.exit(1);
87
+ }
88
+ // Modo interativo: pergunta o que fazer.
89
+ if (isInteractive(opts)) {
90
+ log.warn(`Já existe ambiente '${chalk.cyan(label)}' (${existingTenant.id}) para este produto+env.`);
91
+ const choice = await promptChoice('O que deseja fazer?', [
92
+ { name: `Reusar '${label}' (sem novo OAuth)`, value: 'reuse' },
93
+ { name: 'Criar ambiente novo mesmo assim', value: 'new' },
94
+ { name: 'Cancelar', value: 'cancel' },
95
+ ], { json: opts.json });
96
+ if (choice === 'cancel') {
97
+ log.dim('Operação cancelada.');
98
+ process.exit(0);
99
+ }
100
+ if (choice === 'reuse') {
101
+ log.success(`Reusando ambiente existente: ${existingTenant.id}`);
102
+ log.dim('Nota: o OAuth client/secret já foi gerado na criação original.\n' +
103
+ ' Se precisar rotacionar, use o painel: https://core.neetru.com/workspaces/' +
104
+ existingTenant.id);
105
+ if (opts.bindConfig && existingTenant.id) {
106
+ await bindTenantToConfig(existingTenant.id);
107
+ }
108
+ return;
109
+ }
110
+ // choice === 'new': prossegue criando normalmente abaixo
111
+ }
112
+ else {
113
+ // Terminal não-interativo sem --json: bloqueia com instrução clara.
114
+ log.error(`Já existe ambiente ativo '${label}' para produto=${product} env=${env}.\n` +
115
+ ' Use --force-duplicate para criar um segundo ambiente (raro — verifique se é isso que quer).\n' +
116
+ ` Para reusar o existente, use o id: ${existingTenant.id}`);
117
+ process.exit(1);
118
+ }
119
+ }
120
+ }
35
121
  const tier = opts.tier ??
36
122
  (await promptChoice('Tier:', [
37
123
  { name: 'standard', value: 'standard' },
@@ -52,12 +138,27 @@ export async function runWorkspacesCreate(opts) {
52
138
  environmentId: env,
53
139
  resourceTier: tier,
54
140
  name: opts.name,
141
+ forceDuplicate: opts.forceDuplicate,
55
142
  },
56
143
  });
57
144
  spinner?.stop();
58
145
  }
59
146
  catch (error) {
60
147
  spinner?.fail('Falha ao criar workspace.');
148
+ // Bug #40: humaniza o erro "Nenhum customer ativo".
149
+ if (error instanceof Error &&
150
+ /nenhum customer ativo/i.test(error.message)) {
151
+ if (opts.json) {
152
+ console.log(JSON.stringify({
153
+ ok: false,
154
+ error: 'no_active_customer',
155
+ message: humanizeWorkspaceCreateError(error.message),
156
+ }));
157
+ process.exit(1);
158
+ }
159
+ log.error(humanizeWorkspaceCreateError(error.message));
160
+ process.exit(1);
161
+ }
61
162
  handleApiError(error, opts.json);
62
163
  }
63
164
  if (opts.json) {
@@ -69,6 +170,35 @@ export async function runWorkspacesCreate(opts) {
69
170
  log.warn('OAuth client secret (one-time — guarde agora):');
70
171
  console.log(` clientId: ${chalk.cyan(res.oauthClientId)}`);
71
172
  console.log(` secret: ${chalk.yellow(res.oauthClientSecret)}`);
173
+ // gestovendas #8 fix: --bind-config grava tenantId no neetru.config.json.
174
+ if (opts.bindConfig) {
175
+ await bindTenantToConfig(res.tenantId ?? res.id);
176
+ }
177
+ }
178
+ /**
179
+ * Grava `tenantId` no neetru.config.json (ou .neetru.json) do cwd.
180
+ * Não sobrescreve outros campos — faz merge shallow.
181
+ */
182
+ async function bindTenantToConfig(tenantId) {
183
+ for (const fname of ['neetru.config.json', '.neetru.json']) {
184
+ const filePath = path.resolve(process.cwd(), fname);
185
+ try {
186
+ const raw = await fs.readFile(filePath, 'utf8');
187
+ const parsed = JSON.parse(raw);
188
+ parsed['tenantId'] = tenantId;
189
+ await fs.writeFile(filePath, JSON.stringify(parsed, null, 2) + '\n', 'utf8');
190
+ log.success(`tenantId gravado em ${fname}`);
191
+ return;
192
+ }
193
+ catch (e) {
194
+ if (e.code !== 'ENOENT') {
195
+ log.warn(`Não foi possível atualizar ${fname}: ${e.message}`);
196
+ return;
197
+ }
198
+ }
199
+ }
200
+ log.warn(`neetru.config.json não encontrado no diretório atual.\n` +
201
+ ` Grave manualmente: "tenantId": "${tenantId}"`);
72
202
  }
73
203
  export async function runWorkspacesAdvance(id, opts) {
74
204
  const token = await requireToken(opts.json);
@@ -211,27 +341,11 @@ export function buildWorkspaceDashboardUrl(id) {
211
341
  }
212
342
  /**
213
343
  * Abre uma URL no browser default do OS. Não bloqueia o processo.
214
- * Em caso de erro, loga warn o caller pode copiar a URL printada.
344
+ * HIGH-2: delega pra safeOpenUrl que valida protocolo http(s) e usa
345
+ * shell:false — evita injeção via URLs config-derived no Windows.
215
346
  */
216
347
  export function openBrowser(url) {
217
- try {
218
- if (process.platform === 'win32') {
219
- spawn('cmd', ['/c', 'start', '""', url], {
220
- detached: true,
221
- stdio: 'ignore',
222
- windowsHide: true,
223
- }).unref();
224
- return;
225
- }
226
- if (process.platform === 'darwin') {
227
- spawn('open', [url], { detached: true, stdio: 'ignore' }).unref();
228
- return;
229
- }
230
- spawn('xdg-open', [url], { detached: true, stdio: 'ignore' }).unref();
231
- }
232
- catch (e) {
233
- log.warn(`Não consegui abrir browser. Acesse manualmente: ${url}`);
234
- }
348
+ safeOpenUrl(url);
235
349
  }
236
350
  export async function runWorkspacesOpen(id, opts = {}) {
237
351
  let workspaceId = id;
@@ -1 +1 @@
1
- {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/commands/workspaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,aAAa,EACb,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAWzC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAA6B;IAE7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE;QACzC,QAAQ,EAAE,IAAI,CAAC,OAAO;QACtB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,uBAAuB;KACjC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrF,MAAM,GAAG,GACP,IAAI,CAAC,GAAG;QACR,CAAC,MAAM,YAAY,CACjB,WAAW,EACX;YACE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YAC7B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;SAChC,EACD,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACpC,CAAC,CAAC;IACL,MAAM,IAAI,GACR,IAAI,CAAC,IAAI;QACT,CAAC,MAAM,YAAY,CACjB,OAAO,EACP;YACE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;YACvC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YAC7B,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;SAC5C,EACD,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACzC,CAAC,CAAC;IACL,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI;QACvB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/D,IAAI,GAQH,CAAC;IACF,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,UAAU,CAAC,wBAAwB,EAAE;YAC/C,MAAM,EAAE,MAAM;YACd,KAAK;YACL,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO;gBAClB,UAAU,EAAE,QAAQ;gBACpB,aAAa,EAAE,GAAG;gBAClB,YAAY,EAAE,IAAI;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB;SACF,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC3C,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IACD,GAAG,CAAC,OAAO,CAAC,qBAAqB,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,GAAG,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,eAAe,cAAc,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACnE,GAAG,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,EAAsB,EACtB,IAA8B;IAE9B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE;QAC7C,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,uBAAuB;KACjC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE;QAC3C,QAAQ,EAAE,IAAI,CAAC,OAAO;QACtB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,oBAAoB;KAC9B,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,UAAU,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI;QACvB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,cAAc,OAAO,IAAI,OAAO,iBAAiB,WAAW,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAC1G,IAAI,GAMH,CAAC;IACF,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,UAAU,CACpB,0BAA0B,kBAAkB,CAAC,WAAW,CAAC,UAAU,EACnE;YACE,MAAM,EAAE,MAAM;YACd,KAAK;YACL,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE;SACxC,CACF,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC7C,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,gBAAgB,CACd,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,EAClF,aAAa,GAAG,CAAC,QAAQ,MAAM,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,aAAa,GAAG,EACnE,IAAI,CAAC,IAAI,CACV,CAAC;AACJ,CAAC;AA+BD,SAAS,WAAW,CAAC,CAA4B;IAC/C,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK,cAAc,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAA2B;IAE3B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,IAAI,CAAC,OAAO;QAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,IAAI,CAAC,MAAM;QAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI;QACvB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACjE,IAAI,GAA2B,CAAC;IAChC,IAAI,IAAoB,CAAC;IACzB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,UAAU,CACpB,sBAAsB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAC1C,EAAE,KAAK,EAAE,CACV,CAAC;QACF,IAAI,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC7C,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAClF,OAAO;IACT,CAAC;IAED,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3C,WAAW,CACT;QACE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,WAAW,IAAI,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC1E,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE;QACtF,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,aAAa,IAAI,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9E,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/E,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QACvE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;KAC9D,EACD,IAAI,CACL,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAkCD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAsB,EACtB,IAA0B;IAE1B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE;QAC7C,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,YAAY;KACtB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI;QACvB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,sBAAsB,WAAW,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/E,IAAI,GAA4B,CAAC;IACjC,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,UAAU,CACpB,uBAAuB,kBAAkB,CAAC,WAAW,CAAC,EAAE,EACxD,EAAE,KAAK,EAAE,CACV,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC5C,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,MAAM,CAAC,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,IAAK,EAAsB,CAAC;IACjE,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;IAEjF,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,WAAW,IAAI,WAAW,EAAE,CAAC,CAAC;IACjE,WAAW,CACT;QACE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QACpD,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;KACrD,EACD;QACE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,WAAW,IAAI,WAAW,EAAE;QACpD,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,EAAE;QACxD,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,aAAa,IAAI,GAAG,EAAE;QAChD,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,GAAG,EAAE;QACjD,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;QACzC,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;QACnE,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;QACxE,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE;QAC1D,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,YAAY,IAAI,GAAG,EAAE;QAC/C,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,aAAa,IAAI,GAAG,EAAE;QACjD;YACE,CAAC,EAAE,SAAS;YACZ,CAAC,EACC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBACvC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,YAAY,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,EAAE;gBAChH,CAAC,CAAC,GAAG;SACV;QACD,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;KACjD,CACF,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AASD,MAAM,UAAU,0BAA0B,CAAC,EAAU;IACnD,MAAM,OAAO,GAAG,MAAM,CACpB,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,yBAAyB,CACzD,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtB,OAAO,GAAG,OAAO,eAAe,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE;gBACvC,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAClE,OAAO;QACT,CAAC;QACD,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACxE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,IAAI,CAAC,mDAAmD,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAsB,EACtB,OAA8B,EAAE;IAEhC,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACrB,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;QACxC,WAAW,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,GAAG,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,CAAC,SAAS;QAAE,WAAW,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/commands/workspaces.ts"],"names":[],"mappings":"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"}