@rudderjs/cli 4.2.1 → 4.4.0

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.
@@ -0,0 +1,42 @@
1
+ import type { Command } from 'commander';
2
+ type PackageManager = 'pnpm' | 'npm' | 'yarn' | 'bun';
3
+ /** Detect PM from npm_config_user_agent (set by every modern PM). Falls back to pnpm. */
4
+ declare function detectPackageManager(): PackageManager;
5
+ type PackageSpec = {
6
+ /** Short name used in `rudder add <name>`. */
7
+ alias: string;
8
+ /** Full npm package name. */
9
+ npmName: string;
10
+ /** Generates the config file body. Pure — no I/O. */
11
+ config?: {
12
+ key: string;
13
+ template: (ctx: {
14
+ orm: 'prisma' | 'drizzle' | null;
15
+ }) => string;
16
+ };
17
+ /** Other aliases that must already be installed (or selected in the same `add` run). */
18
+ requires?: string[];
19
+ /** When set, the project must use this ORM. */
20
+ requiresOrm?: 'prisma';
21
+ /** One-line post-install hint printed to the user. */
22
+ hint?: string;
23
+ };
24
+ declare function findSpec(name: string): PackageSpec | null;
25
+ declare function detectOrm(cwd: string): 'prisma' | 'drizzle' | null;
26
+ /**
27
+ * Insert a new `import <key> from './<key>.js'` line + a new entry in the
28
+ * `const configs = { ... }` object. Idempotent — bails cleanly if the key is
29
+ * already present or the file shape is too custom to safely edit.
30
+ *
31
+ * Returns `'ok' | 'already-registered' | 'unrecognized-shape'`.
32
+ */
33
+ export declare function registerConfigKey(indexPath: string, key: string): 'ok' | 'already-registered' | 'unrecognized-shape';
34
+ export declare function addCommand(program: Command): void;
35
+ export declare const _internal: {
36
+ REGISTRY: readonly PackageSpec[];
37
+ findSpec: typeof findSpec;
38
+ detectOrm: typeof detectOrm;
39
+ detectPackageManager: typeof detectPackageManager;
40
+ };
41
+ export {};
42
+ //# sourceMappingURL=add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,KAAK,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAA;AAErD,yFAAyF;AACzF,iBAAS,oBAAoB,IAAI,cAAc,CAS9C;AAsBD,KAAK,WAAW,GAAG;IACjB,8CAA8C;IAC9C,KAAK,EAAK,MAAM,CAAA;IAChB,6BAA6B;IAC7B,OAAO,EAAG,MAAM,CAAA;IAChB,qDAAqD;IACrD,MAAM,CAAC,EAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,CAAC,GAAG,EAAE;YAAE,GAAG,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAA;SAAE,KAAK,MAAM,CAAA;KAAE,CAAA;IAC1F,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,QAAQ,CAAA;IACtB,sDAAsD;IACtD,IAAI,CAAC,EAAK,MAAM,CAAA;CACjB,CAAA;AA6CD,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAGlD;AAID,iBAAS,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,IAAI,CAQ3D;AAYD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,oBAAoB,GAAG,oBAAoB,CAmCpH;AAcD,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2FjD;AA6QD,eAAO,MAAM,SAAS;;;;;CAA0D,CAAA"}
@@ -0,0 +1,475 @@
1
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { spawn } from 'node:child_process';
4
+ /** Detect PM from npm_config_user_agent (set by every modern PM). Falls back to pnpm. */
5
+ function detectPackageManager() {
6
+ const ua = process.env['npm_config_user_agent'] ?? '';
7
+ if (ua.startsWith('pnpm'))
8
+ return 'pnpm';
9
+ if (ua.startsWith('yarn'))
10
+ return 'yarn';
11
+ if (ua.startsWith('bun'))
12
+ return 'bun';
13
+ if (ua.startsWith('npm'))
14
+ return 'npm';
15
+ // If invoked directly via `node bin/rudder.js`, the env var is absent.
16
+ // pnpm-workspace.yaml is the strongest signal for our monorepo / scaffolded apps.
17
+ return 'pnpm';
18
+ }
19
+ function pmAdd(pm, dep) {
20
+ switch (pm) {
21
+ case 'pnpm': return ['add', dep];
22
+ case 'npm': return ['install', dep];
23
+ case 'yarn': return ['add', dep];
24
+ case 'bun': return ['add', dep];
25
+ }
26
+ }
27
+ const REGISTRY = [
28
+ // Auth & Security
29
+ { alias: 'auth', npmName: '@rudderjs/auth', config: { key: 'auth', template: () => CFG_AUTH } },
30
+ { alias: 'sanctum', npmName: '@rudderjs/sanctum', config: { key: 'sanctum', template: () => CFG_SANCTUM }, requires: ['auth'] },
31
+ { alias: 'passport', npmName: '@rudderjs/passport', config: { key: 'passport', template: () => CFG_PASSPORT }, requires: ['auth'], requiresOrm: 'prisma', hint: 'OAuth2 ready: /oauth/authorize, /oauth/token — run `rudder passport:keys` then `rudder passport:client <name>`' },
32
+ { alias: 'socialite', npmName: '@rudderjs/socialite', config: { key: 'socialite', template: () => CFG_SOCIALITE }, hint: 'Set <PROVIDER>_CLIENT_ID and <PROVIDER>_CLIENT_SECRET in .env (e.g. GITHUB_CLIENT_ID).' },
33
+ { alias: 'crypt', npmName: '@rudderjs/crypt', config: { key: 'crypt', template: () => CFG_CRYPT }, hint: 'Set APP_KEY in .env (32-byte base64) before encrypting anything.' },
34
+ // Infrastructure
35
+ { alias: 'queue', npmName: '@rudderjs/queue', config: { key: 'queue', template: () => CFG_QUEUE }, hint: 'Background jobs: `import { Bus } from "@rudderjs/queue"; Bus.dispatch(new MyJob())`.' },
36
+ { alias: 'storage', npmName: '@rudderjs/storage', config: { key: 'storage', template: () => CFG_STORAGE }, hint: 'File uploads: `import { Storage } from "@rudderjs/storage"; Storage.disk().put(...)`.' },
37
+ { alias: 'scheduler', npmName: '@rudderjs/schedule', hint: 'Schedule tasks in routes/console.ts via `Schedule.command(...)`.' },
38
+ // Communication
39
+ { alias: 'mail', npmName: '@rudderjs/mail', config: { key: 'mail', template: () => CFG_MAIL }, hint: 'Default mailer is `log` (writes to stdout). Set MAIL_MAILER=smtp + SMTP_* in .env for real delivery.' },
40
+ { alias: 'notifications', npmName: '@rudderjs/notification', hint: 'Multi-channel notifications: `rudder make:notification Welcome`.' },
41
+ { alias: 'broadcast', npmName: '@rudderjs/broadcast', hint: 'Real-time channels: define them in routes/channels.ts.' },
42
+ { alias: 'sync', npmName: '@rudderjs/sync', config: { key: 'sync', template: ({ orm }) => buildSyncConfig(orm) }, hint: 'Collaborative Yjs docs: WebSocket endpoint at /ws-sync.' },
43
+ // i18n
44
+ { alias: 'localization', npmName: '@rudderjs/localization', config: { key: 'localization', template: () => CFG_LOCALIZATION }, hint: 'i18n: `import { trans } from "@rudderjs/localization"`.' },
45
+ // Developer experience
46
+ { alias: 'pennant', npmName: '@rudderjs/pennant', config: { key: 'pennant', template: () => CFG_PENNANT }, hint: 'Feature flags: `import { Feature } from "@rudderjs/pennant"`.' },
47
+ { alias: 'http', npmName: '@rudderjs/http', hint: 'Fluent fetch client: `import { Http } from "@rudderjs/http"`.' },
48
+ { alias: 'process', npmName: '@rudderjs/process', hint: 'Shell execution: `import { Process } from "@rudderjs/process"`.' },
49
+ { alias: 'concurrency', npmName: '@rudderjs/concurrency', hint: 'Worker threads: `import { pool } from "@rudderjs/concurrency"`.' },
50
+ { alias: 'terminal', npmName: '@rudderjs/terminal', hint: 'Rich terminal UI: `rudder make:terminal <Name>`.' },
51
+ // Media
52
+ { alias: 'image', npmName: '@rudderjs/image', hint: 'Image processing: `import { Image } from "@rudderjs/image"`.' },
53
+ // Observability
54
+ { alias: 'telescope', npmName: '@rudderjs/telescope', config: { key: 'telescope', template: () => CFG_TELESCOPE }, hint: 'Telescope dashboard: /telescope (requests, queries, jobs, exceptions).' },
55
+ { alias: 'pulse', npmName: '@rudderjs/pulse', config: { key: 'pulse', template: () => CFG_PULSE }, hint: 'Pulse dashboard: /pulse (throughput, latency, hit rates).' },
56
+ { alias: 'horizon', npmName: '@rudderjs/horizon', config: { key: 'horizon', template: () => CFG_HORIZON }, hint: 'Horizon dashboard: /horizon (queue lifecycle, workers).' },
57
+ // AI & tooling
58
+ { alias: 'ai', npmName: '@rudderjs/ai', config: { key: 'ai', template: () => CFG_AI }, hint: 'AI agents: set ANTHROPIC_API_KEY (or OPENAI_API_KEY / GOOGLE_AI_API_KEY) in .env.' },
59
+ { alias: 'mcp', npmName: '@rudderjs/mcp', hint: 'Model Context Protocol: `rudder make:mcp-server <Name>`.' },
60
+ { alias: 'boost', npmName: '@rudderjs/boost', hint: 'AI coding DX: `rudder boost:install` to wire your assistant.' },
61
+ ];
62
+ function findSpec(name) {
63
+ const normalized = name.startsWith('@rudderjs/') ? name.slice('@rudderjs/'.length) : name;
64
+ return REGISTRY.find(p => p.alias === normalized) ?? null;
65
+ }
66
+ // ── ORM detection ─────────────────────────────────────────────
67
+ function detectOrm(cwd) {
68
+ const pkgPath = path.join(cwd, 'package.json');
69
+ if (!existsSync(pkgPath))
70
+ return null;
71
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
72
+ const deps = { ...pkg.dependencies, ...pkg.devDependencies };
73
+ if ('@rudderjs/orm-prisma' in deps)
74
+ return 'prisma';
75
+ if ('@rudderjs/orm-drizzle' in deps)
76
+ return 'drizzle';
77
+ return null;
78
+ }
79
+ function isInstalled(cwd, npmName) {
80
+ const pkgPath = path.join(cwd, 'package.json');
81
+ if (!existsSync(pkgPath))
82
+ return false;
83
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
84
+ const deps = { ...pkg.dependencies, ...pkg.devDependencies };
85
+ return npmName in deps;
86
+ }
87
+ // ── config/index.ts surgical edit ─────────────────────────────
88
+ /**
89
+ * Insert a new `import <key> from './<key>.js'` line + a new entry in the
90
+ * `const configs = { ... }` object. Idempotent — bails cleanly if the key is
91
+ * already present or the file shape is too custom to safely edit.
92
+ *
93
+ * Returns `'ok' | 'already-registered' | 'unrecognized-shape'`.
94
+ */
95
+ export function registerConfigKey(indexPath, key) {
96
+ const src = readFileSync(indexPath, 'utf8');
97
+ // Already wired? Check both the import and the configs map.
98
+ if (new RegExp(`from '\\./${key}\\.js'`).test(src))
99
+ return 'already-registered';
100
+ // Find the last `import X from './X.js'` line.
101
+ const importRe = /^import\s+\w+\s+from\s+'\.\/(\w+)\.js'\s*$/gm;
102
+ let lastImportEnd = -1;
103
+ let match;
104
+ while ((match = importRe.exec(src)) !== null)
105
+ lastImportEnd = match.index + match[0].length;
106
+ if (lastImportEnd === -1)
107
+ return 'unrecognized-shape';
108
+ // Find `const configs = { ... }` block.
109
+ const configsRe = /const\s+configs\s*=\s*\{([^}]*)\}/;
110
+ const configsMatch = configsRe.exec(src);
111
+ if (!configsMatch)
112
+ return 'unrecognized-shape';
113
+ // Compose the inserts. Use a uniform import format (no fancy column alignment
114
+ // — we don't try to match the user's spacing — but pad to the visual width of
115
+ // the longest existing import so it still reads cleanly).
116
+ const longestKey = Math.max(...[...src.matchAll(importRe)].map(m => m[1].length));
117
+ const padded = key.padEnd(Math.max(longestKey, key.length));
118
+ const newImport = `\nimport ${padded} from './${key}.js'`;
119
+ const existingKeys = configsMatch[1].trim();
120
+ const newKeys = existingKeys
121
+ ? `${existingKeys.replace(/,?\s*$/, '')}, ${key}`
122
+ : key;
123
+ const out = src.slice(0, lastImportEnd) + newImport + src.slice(lastImportEnd, configsMatch.index)
124
+ + `const configs = { ${newKeys} }` + src.slice(configsMatch.index + configsMatch[0].length);
125
+ writeFileSync(indexPath, out);
126
+ return 'ok';
127
+ }
128
+ // ── Child-process runner ──────────────────────────────────────
129
+ function runChild(cmd, args, cwd) {
130
+ return new Promise((resolve) => {
131
+ const child = spawn(cmd, args, { cwd, stdio: 'inherit', shell: false });
132
+ child.on('close', (code) => resolve(code === 0));
133
+ child.on('error', () => resolve(false));
134
+ });
135
+ }
136
+ // ── Command ───────────────────────────────────────────────────
137
+ export function addCommand(program) {
138
+ program
139
+ .command('add <package>')
140
+ .description('Install a RudderJS package — handles deps, config, and provider discovery')
141
+ .action(async (packageName) => {
142
+ const cwd = process.cwd();
143
+ const spec = findSpec(packageName);
144
+ if (!spec) {
145
+ const valid = REGISTRY.map(p => p.alias).join(', ');
146
+ console.error(`[rudder add] Unknown package "${packageName}".\n Available: ${valid}`);
147
+ process.exit(1);
148
+ }
149
+ // Idempotency — already installed?
150
+ if (isInstalled(cwd, spec.npmName)) {
151
+ console.log(` ${spec.npmName} is already installed.`);
152
+ if (spec.config && existsSync(path.join(cwd, 'config', `${spec.config.key}.ts`))) {
153
+ console.log(` config/${spec.config.key}.ts exists — nothing to do.`);
154
+ return;
155
+ }
156
+ // Package installed but config missing — continue and generate it.
157
+ }
158
+ // ORM requirement
159
+ const orm = detectOrm(cwd);
160
+ if (spec.requiresOrm && orm !== spec.requiresOrm) {
161
+ console.error(`[rudder add] ${spec.alias} requires Prisma. Detected: ${orm ?? 'none'}.`);
162
+ console.error(` Add the ORM first: pnpm add @rudderjs/orm @rudderjs/orm-${spec.requiresOrm}`);
163
+ process.exit(1);
164
+ }
165
+ // Dependency requirements
166
+ if (spec.requires?.length) {
167
+ const pkg = JSON.parse(readFileSync(path.join(cwd, 'package.json'), 'utf8'));
168
+ const deps = pkg.dependencies ?? {};
169
+ for (const req of spec.requires) {
170
+ const reqSpec = REGISTRY.find(p => p.alias === req);
171
+ if (reqSpec && !(reqSpec.npmName in deps)) {
172
+ console.error(`[rudder add] ${spec.alias} requires ${req}. Run \`rudder add ${req}\` first.`);
173
+ process.exit(1);
174
+ }
175
+ }
176
+ }
177
+ // 1. Install the dependency
178
+ const pm = detectPackageManager();
179
+ if (!isInstalled(cwd, spec.npmName)) {
180
+ console.log(`\n Adding ${spec.npmName}...`);
181
+ const ok = await runChild(pm, pmAdd(pm, spec.npmName), cwd);
182
+ if (!ok) {
183
+ console.error(`[rudder add] ${pm} ${pmAdd(pm, spec.npmName).join(' ')} failed.`);
184
+ process.exit(1);
185
+ }
186
+ }
187
+ // 2. Generate config file (idempotent — skip if exists)
188
+ if (spec.config) {
189
+ const configDir = path.join(cwd, 'config');
190
+ mkdirSync(configDir, { recursive: true });
191
+ const configFile = path.join(configDir, `${spec.config.key}.ts`);
192
+ if (!existsSync(configFile)) {
193
+ const body = spec.config.template({ orm });
194
+ writeFileSync(configFile, body);
195
+ console.log(` Generated config/${spec.config.key}.ts`);
196
+ }
197
+ // 3. Wire into config/index.ts
198
+ const indexFile = path.join(configDir, 'index.ts');
199
+ if (existsSync(indexFile)) {
200
+ const result = registerConfigKey(indexFile, spec.config.key);
201
+ if (result === 'ok') {
202
+ console.log(` Registered "${spec.config.key}" in config/index.ts`);
203
+ }
204
+ else if (result === 'unrecognized-shape') {
205
+ console.warn(` ⚠ Could not auto-wire config/index.ts (custom shape).`);
206
+ console.warn(` Add manually: import ${spec.config.key} from './${spec.config.key}.js'`);
207
+ }
208
+ }
209
+ }
210
+ // 4. Refresh provider manifest
211
+ console.log(` Refreshing provider manifest...`);
212
+ const discoverOk = await runChild(pm, [...(pm === 'npm' ? ['exec'] : []), 'rudder', 'providers:discover'], cwd);
213
+ if (!discoverOk) {
214
+ console.warn(` ⚠ providers:discover failed — run \`${pm} rudder providers:discover\` manually.`);
215
+ }
216
+ // 5. Print the post-install hint
217
+ console.log();
218
+ console.log(` ✓ ${spec.alias} is ready.`);
219
+ if (spec.hint)
220
+ console.log(` ${spec.hint}`);
221
+ });
222
+ }
223
+ // ── Config templates (vendored from create-rudder-app for runtime use) ─────
224
+ //
225
+ // Kept inline here rather than pulled from create-rudder-app via subpath so
226
+ // that @rudderjs/cli stays standalone and doesn't depend on the scaffolder.
227
+ // These are intentionally near-verbatim copies — the scaffolder owns the
228
+ // canonical templates for new-project scaffolding, and this command owns the
229
+ // runtime-add path. When the canonical templates evolve, this file gets
230
+ // updated in lockstep (one PR touches both).
231
+ const CFG_AUTH = `import type { AuthConfig } from '@rudderjs/auth'
232
+ import { User } from '../app/Models/User.js'
233
+
234
+ export default {
235
+ defaults: { guard: 'web' },
236
+ guards: {
237
+ web: { driver: 'session', provider: 'users' },
238
+ },
239
+ providers: {
240
+ users: { driver: 'eloquent', model: User },
241
+ },
242
+ } satisfies AuthConfig
243
+ `;
244
+ const CFG_SANCTUM = `import { Env } from '@rudderjs/support'
245
+ import type { SanctumConfig } from '@rudderjs/sanctum'
246
+
247
+ export default {
248
+ expiration: Env.getNumber('SANCTUM_TOKEN_EXPIRATION_MINUTES', 0),
249
+ prefix: Env.get('SANCTUM_TOKEN_PREFIX', ''),
250
+
251
+ // Default abilities granted on token creation.
252
+ defaultAbilities: ['*'],
253
+ } satisfies SanctumConfig
254
+ `;
255
+ const CFG_PASSPORT = `import { Env } from '@rudderjs/support'
256
+
257
+ export default {
258
+ // Path to the RSA keypair generated by \`rudder passport:keys\`.
259
+ privateKey: Env.get('PASSPORT_PRIVATE_KEY_PATH', 'storage/oauth-private.key'),
260
+ publicKey: Env.get('PASSPORT_PUBLIC_KEY_PATH', 'storage/oauth-public.key'),
261
+
262
+ // Token lifetimes (in seconds).
263
+ accessTokenTtl: Env.getNumber('PASSPORT_ACCESS_TOKEN_TTL', 3600), // 1h
264
+ refreshTokenTtl: Env.getNumber('PASSPORT_REFRESH_TOKEN_TTL', 1209600), // 14d
265
+ }
266
+ `;
267
+ const CFG_SOCIALITE = `import { Env } from '@rudderjs/support'
268
+
269
+ export default {
270
+ github: {
271
+ clientId: Env.get('GITHUB_CLIENT_ID', ''),
272
+ clientSecret: Env.get('GITHUB_CLIENT_SECRET', ''),
273
+ redirectUri: Env.get('GITHUB_REDIRECT_URI', 'http://localhost:3000/auth/github/callback'),
274
+ },
275
+ google: {
276
+ clientId: Env.get('GOOGLE_CLIENT_ID', ''),
277
+ clientSecret: Env.get('GOOGLE_CLIENT_SECRET', ''),
278
+ redirectUri: Env.get('GOOGLE_REDIRECT_URI', 'http://localhost:3000/auth/google/callback'),
279
+ },
280
+ }
281
+ `;
282
+ const CFG_CRYPT = `import { Env } from '@rudderjs/support'
283
+
284
+ export default {
285
+ // 32-byte base64 key. Generate with: openssl rand -base64 32
286
+ // Stored in .env as APP_KEY — never commit it.
287
+ key: Env.get('APP_KEY', ''),
288
+ cipher: Env.get('APP_CIPHER', 'aes-256-cbc'),
289
+ }
290
+ `;
291
+ const CFG_QUEUE = `import { Env, isWebContainer } from '@rudderjs/support'
292
+ import type { QueueConfig } from '@rudderjs/queue'
293
+
294
+ // In WebContainer, BullMQ (Redis over raw TCP) doesn't work — fall back to
295
+ // the in-process \`sync\` driver.
296
+ const defaultConnection = isWebContainer() ? 'sync' : Env.get('QUEUE_CONNECTION', 'sync')
297
+
298
+ export default {
299
+ default: defaultConnection,
300
+
301
+ connections: {
302
+ sync: {
303
+ driver: 'sync',
304
+ },
305
+
306
+ inngest: {
307
+ driver: 'inngest',
308
+ appId: Env.get('INNGEST_APP_ID', 'my-app'),
309
+ eventKey: Env.get('INNGEST_EVENT_KEY', ''),
310
+ signingKey: Env.get('INNGEST_SIGNING_KEY', ''),
311
+ jobs: [],
312
+ },
313
+ },
314
+ } satisfies QueueConfig
315
+ `;
316
+ const CFG_STORAGE = `import { Env } from '@rudderjs/support'
317
+ import type { StorageConfig } from '@rudderjs/storage'
318
+
319
+ export default {
320
+ default: Env.get('STORAGE_DISK', 'local'),
321
+
322
+ disks: {
323
+ local: {
324
+ driver: 'local',
325
+ root: Env.get('STORAGE_LOCAL_ROOT', 'storage/app'),
326
+ },
327
+
328
+ s3: {
329
+ driver: 's3',
330
+ key: Env.get('AWS_ACCESS_KEY_ID', ''),
331
+ secret: Env.get('AWS_SECRET_ACCESS_KEY', ''),
332
+ region: Env.get('AWS_DEFAULT_REGION', 'us-east-1'),
333
+ bucket: Env.get('AWS_BUCKET', ''),
334
+ endpoint: Env.get('AWS_ENDPOINT', ''),
335
+ },
336
+ },
337
+ } satisfies StorageConfig
338
+ `;
339
+ const CFG_MAIL = `import { Env, isWebContainer } from '@rudderjs/support'
340
+
341
+ // In WebContainer, raw SMTP (TCP) doesn't work — fall back to the log driver
342
+ // (writes the rendered email to stdout instead of sending).
343
+ const defaultMailer = isWebContainer() ? 'log' : Env.get('MAIL_MAILER', 'log')
344
+
345
+ export default {
346
+ default: defaultMailer,
347
+
348
+ from: {
349
+ address: Env.get('MAIL_FROM_ADDRESS', 'hello@example.com'),
350
+ name: Env.get('MAIL_FROM_NAME', 'RudderJS'),
351
+ },
352
+
353
+ mailers: {
354
+ log: {
355
+ driver: 'log',
356
+ },
357
+
358
+ smtp: {
359
+ driver: 'smtp',
360
+ host: Env.get('MAIL_HOST', 'localhost'),
361
+ port: Env.getNumber('MAIL_PORT', 587),
362
+ username: Env.get('MAIL_USERNAME', ''),
363
+ password: Env.get('MAIL_PASSWORD', ''),
364
+ encryption: Env.get('MAIL_ENCRYPTION', 'tls'),
365
+ },
366
+ },
367
+ }
368
+ `;
369
+ function buildSyncConfig(orm) {
370
+ const persistenceImport = orm === 'prisma' ? "\nimport { syncPrisma } from '@rudderjs/sync'" : '';
371
+ const persistenceLine = orm === 'prisma'
372
+ ? '\n // Server-side persistence — Y.Docs survive server restarts\n persistence: syncPrisma(),\n'
373
+ : '';
374
+ return `import { Env } from '@rudderjs/support'${persistenceImport}
375
+ import type { SyncConfig } from '@rudderjs/sync'
376
+
377
+ export default {
378
+ path: Env.get('SYNC_PATH', '/ws-sync'),
379
+ ${persistenceLine}
380
+ // Client-side providers
381
+ providers: ['websocket', 'indexeddb'],
382
+ } satisfies SyncConfig
383
+ `;
384
+ }
385
+ const CFG_LOCALIZATION = `import { Env } from '@rudderjs/support'
386
+
387
+ export default {
388
+ locale: Env.get('APP_LOCALE', 'en'),
389
+ fallbackLocale: Env.get('APP_FALLBACK_LOCALE', 'en'),
390
+
391
+ // Path to translation files (relative to project root).
392
+ path: 'lang',
393
+ }
394
+ `;
395
+ const CFG_PENNANT = `import { Env } from '@rudderjs/support'
396
+ import type { PennantConfig } from '@rudderjs/pennant'
397
+
398
+ export default {
399
+ default: Env.get('PENNANT_STORE', 'array'),
400
+
401
+ stores: {
402
+ array: { driver: 'array' },
403
+ database: { driver: 'database', table: 'feature_flags' },
404
+ },
405
+ } satisfies PennantConfig
406
+ `;
407
+ const CFG_TELESCOPE = `import { Env } from '@rudderjs/support'
408
+ import type { TelescopeConfig } from '@rudderjs/telescope'
409
+
410
+ export default {
411
+ enabled: Env.getBool('TELESCOPE_ENABLED', true),
412
+ path: Env.get('TELESCOPE_PATH', '/telescope'),
413
+
414
+ storage: {
415
+ driver: Env.get('TELESCOPE_STORAGE', 'memory'),
416
+ },
417
+ } satisfies TelescopeConfig
418
+ `;
419
+ const CFG_PULSE = `import { Env } from '@rudderjs/support'
420
+ import type { PulseConfig } from '@rudderjs/pulse'
421
+
422
+ export default {
423
+ enabled: Env.getBool('PULSE_ENABLED', true),
424
+ path: Env.get('PULSE_PATH', '/pulse'),
425
+
426
+ storage: {
427
+ driver: Env.get('PULSE_STORAGE', 'memory'),
428
+ },
429
+ } satisfies PulseConfig
430
+ `;
431
+ const CFG_HORIZON = `import { Env } from '@rudderjs/support'
432
+ import type { HorizonConfig } from '@rudderjs/horizon'
433
+
434
+ export default {
435
+ enabled: Env.getBool('HORIZON_ENABLED', true),
436
+ path: Env.get('HORIZON_PATH', '/horizon'),
437
+
438
+ storage: {
439
+ driver: Env.get('HORIZON_STORAGE', 'memory'),
440
+ },
441
+ } satisfies HorizonConfig
442
+ `;
443
+ const CFG_AI = `import { Env } from '@rudderjs/support'
444
+ import type { AiConfig } from '@rudderjs/ai'
445
+
446
+ export default {
447
+ default: Env.get('AI_MODEL', 'anthropic/claude-sonnet-4-5'),
448
+
449
+ providers: {
450
+ anthropic: {
451
+ driver: 'anthropic',
452
+ apiKey: Env.get('ANTHROPIC_API_KEY', ''),
453
+ },
454
+
455
+ openai: {
456
+ driver: 'openai',
457
+ apiKey: Env.get('OPENAI_API_KEY', ''),
458
+ },
459
+
460
+ google: {
461
+ driver: 'google',
462
+ apiKey: Env.get('GOOGLE_AI_API_KEY', ''),
463
+ },
464
+
465
+ ollama: {
466
+ driver: 'ollama',
467
+ baseUrl: Env.get('OLLAMA_BASE_URL', 'http://localhost:11434'),
468
+ },
469
+ },
470
+ } satisfies AiConfig
471
+ `;
472
+ // ── Test exports ──────────────────────────────────────────────
473
+ // (not part of the runtime API, but tests import these directly)
474
+ export const _internal = { REGISTRY, findSpec, detectOrm, detectPackageManager };
475
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * Walk the registry and return the aliases of packages that:
4
+ * 1. Are currently installed, AND
5
+ * 2. List `alias` in their `requires` array.
6
+ *
7
+ * Used to refuse a remove that would leave dependent packages in a broken
8
+ * state (e.g. `rudder remove auth` while sanctum/passport are still
9
+ * installed would crash both providers at boot).
10
+ */
11
+ export declare function findInstalledDependents(cwd: string, alias: string): string[];
12
+ /**
13
+ * Remove the `import <key> from './<key>.js'` line + the `<key>` entry in
14
+ * the `const configs = { ... }` object. Mirror of `registerConfigKey` in
15
+ * add.ts. Idempotent — bails cleanly if the key isn't currently registered.
16
+ *
17
+ * Returns `'ok' | 'not-registered' | 'unrecognized-shape'`.
18
+ */
19
+ export declare function unregisterConfigKey(indexPath: string, key: string): 'ok' | 'not-registered' | 'unrecognized-shape';
20
+ export declare function removeCommand(program: Command): void;
21
+ export declare const _testInternal: {
22
+ findInstalledDependents: typeof findInstalledDependents;
23
+ };
24
+ //# sourceMappingURL=remove.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA8BxC;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAK5E;AAID;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,GAAG,oBAAoB,CAoClH;AAcD,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoFpD;AAGD,eAAO,MAAM,aAAa;;CAA8B,CAAA"}
@@ -0,0 +1,170 @@
1
+ import { existsSync, readFileSync, writeFileSync, unlinkSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { spawn } from 'node:child_process';
4
+ import { _internal } from './add.js';
5
+ const { REGISTRY, findSpec, detectPackageManager } = _internal;
6
+ function pmRemove(pm, dep) {
7
+ switch (pm) {
8
+ case 'pnpm': return ['remove', dep];
9
+ case 'npm': return ['uninstall', dep];
10
+ case 'yarn': return ['remove', dep];
11
+ case 'bun': return ['remove', dep];
12
+ }
13
+ }
14
+ // ── Helpers ──────────────────────────────────────────────────
15
+ function isInstalled(cwd, npmName) {
16
+ const pkgPath = path.join(cwd, 'package.json');
17
+ if (!existsSync(pkgPath))
18
+ return false;
19
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
20
+ const deps = { ...pkg.dependencies, ...pkg.devDependencies };
21
+ return npmName in deps;
22
+ }
23
+ /**
24
+ * Walk the registry and return the aliases of packages that:
25
+ * 1. Are currently installed, AND
26
+ * 2. List `alias` in their `requires` array.
27
+ *
28
+ * Used to refuse a remove that would leave dependent packages in a broken
29
+ * state (e.g. `rudder remove auth` while sanctum/passport are still
30
+ * installed would crash both providers at boot).
31
+ */
32
+ export function findInstalledDependents(cwd, alias) {
33
+ return REGISTRY
34
+ .filter(spec => spec.requires?.includes(alias))
35
+ .filter(spec => isInstalled(cwd, spec.npmName))
36
+ .map(spec => spec.alias);
37
+ }
38
+ // ── config/index.ts surgical un-register ─────────────────────
39
+ /**
40
+ * Remove the `import <key> from './<key>.js'` line + the `<key>` entry in
41
+ * the `const configs = { ... }` object. Mirror of `registerConfigKey` in
42
+ * add.ts. Idempotent — bails cleanly if the key isn't currently registered.
43
+ *
44
+ * Returns `'ok' | 'not-registered' | 'unrecognized-shape'`.
45
+ */
46
+ export function unregisterConfigKey(indexPath, key) {
47
+ const src = readFileSync(indexPath, 'utf8');
48
+ // Find the import line for this key.
49
+ // Match: optional leading newline, `import <key>` (any whitespace), `from './<key>.js'`, trailing newline.
50
+ const importLineRe = new RegExp(`\\n?import\\s+${key}\\s+from\\s+'\\./${key}\\.js'\\s*\\n?`);
51
+ const importMatch = importLineRe.exec(src);
52
+ if (!importMatch)
53
+ return 'not-registered';
54
+ // Find the configs block.
55
+ const configsRe = /const\s+configs\s*=\s*\{([^}]*)\}/;
56
+ const configsMatch = configsRe.exec(src);
57
+ if (!configsMatch)
58
+ return 'unrecognized-shape';
59
+ // Strip the key from the configs object literal.
60
+ const keys = configsMatch[1].split(',').map(s => s.trim()).filter(Boolean);
61
+ if (!keys.includes(key))
62
+ return 'unrecognized-shape'; // import present but key absent — manual edit, bail
63
+ const remainingKeys = keys.filter(k => k !== key);
64
+ // Splice both edits. Apply the configs replacement first (further right in
65
+ // the file) so its offset stays stable while we then drop the import line.
66
+ let out = src.slice(0, configsMatch.index)
67
+ + `const configs = { ${remainingKeys.join(', ')} }`
68
+ + src.slice(configsMatch.index + configsMatch[0].length);
69
+ // Re-run the import regex on the mutated string — offsets shifted.
70
+ const newImportMatch = importLineRe.exec(out);
71
+ if (newImportMatch) {
72
+ // Preserve a single newline at the seam so the surrounding imports still
73
+ // form a contiguous block with no double blank lines.
74
+ const replacement = newImportMatch[0].startsWith('\n') && newImportMatch[0].endsWith('\n') ? '\n' : '';
75
+ out = out.slice(0, newImportMatch.index) + replacement + out.slice(newImportMatch.index + newImportMatch[0].length);
76
+ }
77
+ writeFileSync(indexPath, out);
78
+ return 'ok';
79
+ }
80
+ // ── Child-process runner ──────────────────────────────────────
81
+ function runChild(cmd, args, cwd) {
82
+ return new Promise((resolve) => {
83
+ const child = spawn(cmd, args, { cwd, stdio: 'inherit', shell: false });
84
+ child.on('close', (code) => resolve(code === 0));
85
+ child.on('error', () => resolve(false));
86
+ });
87
+ }
88
+ // ── Command ───────────────────────────────────────────────────
89
+ export function removeCommand(program) {
90
+ program
91
+ .command('remove <package>')
92
+ .description('Uninstall a RudderJS package — reverses `rudder add` (removes dep, config file, and unregisters)')
93
+ .option('--keep-config', 'Leave config/<name>.ts and the config/index.ts entry in place')
94
+ .action(async (packageName, opts) => {
95
+ const cwd = process.cwd();
96
+ const spec = findSpec(packageName);
97
+ if (!spec) {
98
+ const valid = REGISTRY.map(p => p.alias).join(', ');
99
+ console.error(`[rudder remove] Unknown package "${packageName}".\n Available: ${valid}`);
100
+ process.exit(1);
101
+ }
102
+ // Idempotency — already gone?
103
+ if (!isInstalled(cwd, spec.npmName)) {
104
+ console.log(` ${spec.npmName} is not installed — nothing to remove.`);
105
+ // Still try to clean any leftover config files (e.g. config wired but
106
+ // dep already removed by hand). Surfaces inconsistent state.
107
+ if (!opts.keepConfig && spec.config) {
108
+ const configFile = path.join(cwd, 'config', `${spec.config.key}.ts`);
109
+ const indexFile = path.join(cwd, 'config', 'index.ts');
110
+ if (existsSync(configFile)) {
111
+ unlinkSync(configFile);
112
+ console.log(` Cleaned up orphaned config/${spec.config.key}.ts`);
113
+ }
114
+ if (existsSync(indexFile)) {
115
+ const result = unregisterConfigKey(indexFile, spec.config.key);
116
+ if (result === 'ok')
117
+ console.log(` Cleaned up orphaned entry in config/index.ts`);
118
+ }
119
+ }
120
+ return;
121
+ }
122
+ // Refuse if other installed packages depend on this one.
123
+ const dependents = findInstalledDependents(cwd, spec.alias);
124
+ if (dependents.length > 0) {
125
+ console.error(`[rudder remove] Cannot remove ${spec.alias} — these installed packages depend on it: ${dependents.join(', ')}`);
126
+ console.error(` Remove them first, or keep ${spec.alias} installed.`);
127
+ process.exit(1);
128
+ }
129
+ const pm = detectPackageManager();
130
+ // 1. Uninstall the dependency
131
+ console.log(`\n Removing ${spec.npmName}...`);
132
+ const ok = await runChild(pm, pmRemove(pm, spec.npmName), cwd);
133
+ if (!ok) {
134
+ console.error(`[rudder remove] ${pm} ${pmRemove(pm, spec.npmName).join(' ')} failed.`);
135
+ process.exit(1);
136
+ }
137
+ // 2. Delete config file (unless --keep-config)
138
+ if (!opts.keepConfig && spec.config) {
139
+ const configFile = path.join(cwd, 'config', `${spec.config.key}.ts`);
140
+ if (existsSync(configFile)) {
141
+ unlinkSync(configFile);
142
+ console.log(` Deleted config/${spec.config.key}.ts`);
143
+ }
144
+ // 3. Unregister from config/index.ts
145
+ const indexFile = path.join(cwd, 'config', 'index.ts');
146
+ if (existsSync(indexFile)) {
147
+ const result = unregisterConfigKey(indexFile, spec.config.key);
148
+ if (result === 'ok') {
149
+ console.log(` Unregistered "${spec.config.key}" in config/index.ts`);
150
+ }
151
+ else if (result === 'unrecognized-shape') {
152
+ console.warn(` ⚠ Could not auto-edit config/index.ts (custom shape).`);
153
+ console.warn(` Remove manually: the import line and key for "${spec.config.key}".`);
154
+ }
155
+ // 'not-registered' is silent — nothing to do.
156
+ }
157
+ }
158
+ // 4. Refresh provider manifest so the freshly-removed provider drops out.
159
+ console.log(` Refreshing provider manifest...`);
160
+ const discoverOk = await runChild(pm, [...(pm === 'npm' ? ['exec'] : []), 'rudder', 'providers:discover'], cwd);
161
+ if (!discoverOk) {
162
+ console.warn(` ⚠ providers:discover failed — run \`${pm} rudder providers:discover\` manually.`);
163
+ }
164
+ console.log();
165
+ console.log(` ✓ ${spec.alias} removed.`);
166
+ });
167
+ }
168
+ // ── Test exports ──────────────────────────────────────────────
169
+ export const _testInternal = { findInstalledDependents };
170
+ //# sourceMappingURL=remove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,6 +7,8 @@ import { moduleCommand } from './commands/module.js';
7
7
  import { vendorPublishCommand } from './commands/vendor-publish.js';
8
8
  import { providersDiscoverCommand } from './commands/providers-discover.js';
9
9
  import { commandListCommand } from './commands/command-list.js';
10
+ import { addCommand } from './commands/add.js';
11
+ import { removeCommand } from './commands/remove.js';
10
12
  import { rudder, parseSignature, CancelledError, commandObservers } from '@rudderjs/console';
11
13
  import { CliError } from './errors.js';
12
14
  const C = {
@@ -175,6 +177,12 @@ async function loadPackageCommands() {
175
177
  const mod = await tryImport('@rudderjs/terminal', 'commands/make-terminal');
176
178
  registerMakeSpecs(mod['makeTerminalSpec']);
177
179
  },
180
+ // @rudderjs/vite → view:sync
181
+ async () => {
182
+ const mod = await tryImport('@rudderjs/vite', 'commands/view-sync');
183
+ const register = mod['registerViewSyncCommand'];
184
+ register(rudder);
185
+ },
178
186
  ];
179
187
  await Promise.all(loaders.map(fn => fn().catch(() => { })));
180
188
  }
@@ -244,6 +252,8 @@ async function main() {
244
252
  moduleCommand(program);
245
253
  vendorPublishCommand(program);
246
254
  providersDiscoverCommand(program);
255
+ addCommand(program);
256
+ removeCommand(program);
247
257
  // Commands that scan files / manage tooling state must work even when the
248
258
  // app cannot boot (e.g. fresh clone, missing manifest, broken provider config).
249
259
  // List them here to skip the bootApp() phase entirely.
@@ -253,7 +263,28 @@ async function main() {
253
263
  // - `providers:discover` regenerates the manifest the app needs to boot,
254
264
  // so it has to work when the app can't.
255
265
  // - `module:publish` copies static assets out of node_modules; no app state.
256
- const NO_BOOT_EXACT = new Set(['providers:discover', 'module:publish']);
266
+ // - `view:sync` regenerates `pages/__view/` (registry.d.ts + Vike stubs)
267
+ // from disk; needed when CI typechecks before Vite has run, or on a
268
+ // fresh clone before the first dev server boot.
269
+ // - `db:generate`, `db:push`, `migrate*` all spawn the underlying ORM
270
+ // binary (prisma / drizzle-kit) and don't touch app state. Crucially,
271
+ // `db:generate` MUST work before `@prisma/client` exists, which is
272
+ // exactly the chicken-and-egg the framework boot would hit otherwise
273
+ // on a fresh scaffolded project. (`db:seed` is deliberately NOT here —
274
+ // user seeders use the ORM and need a booted app.)
275
+ // - `add` installs a new package — the freshly added provider hasn't
276
+ // been registered with the manifest yet, so booting the app would
277
+ // crash on the missing provider before the command's own
278
+ // providers:discover step gets a chance to refresh the manifest.
279
+ // - `remove` uninstalls a package — the about-to-be-deleted provider
280
+ // may still be in node_modules but is being torn out; booting would
281
+ // be wasted work at best and surface confusing errors at worst.
282
+ const NO_BOOT_EXACT = new Set([
283
+ 'providers:discover', 'module:publish', 'view:sync',
284
+ 'db:generate', 'db:push',
285
+ 'migrate', 'migrate:fresh', 'migrate:status',
286
+ 'add', 'remove',
287
+ ]);
257
288
  const NO_BOOT_PREFIX = ['make:'];
258
289
  const skipBoot = process.argv.slice(2).some(arg => NO_BOOT_EXACT.has(arg) || NO_BOOT_PREFIX.some(p => arg.startsWith(p)));
259
290
  // Tag this process as a queue worker before providers boot, so cross-cutting
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAA2B,MAAM,mBAAmB,CAAA;AACrH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,MAAM,CAAC,GAAG;IACR,KAAK,EAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS;IAC5C,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS;IAC5C,GAAG,EAAK,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS;IAC3C,IAAI,EAAI,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS;CAC5C,CAAA;AAED;;;;GAIG;AACH,KAAK,UAAU,cAAc;IAC3B,yCAAyC;IACzC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACvB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QACvD,IAAI,CAAC;YAAC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAAC,OAAO,SAAS,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACjF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAK;QACzB,GAAG,GAAG,MAAM,CAAA;IACd,CAAC;IAED,mFAAmF;IACnF,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IACxF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAQ;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAC7E,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC1B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;YACnD,OAAO,SAAS,CAAA;QAClB,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,OAAO;IACpB,gFAAgF;IAChF,MAAM,KAAK,GAAG;QACZ,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI;QACpC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;KACzC,CAAA;IACD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAY,EAAQ,EAAE,GAAE,CAAC,CAAA;IAC1C,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAA;IAEhE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAA;QACtC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAA2C,CAAA;YAC7F,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,sEAAsE;YACtE,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,GAAG,EAAE,CAAC,CAAA;gBACjE,IAAI,CAAC;oBAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;oBAAC,MAAK;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,yDAAyD;QACzD,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QAClD,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;IACxD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,cAAc,CAC3B,IAAc,EACd,IAA+B,EAC/B,IAA+B,EAC/B,MAAoC,EACpC,EAAkC;IAElC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACxB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,KAAwB,CAAA;IAC5B,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAA;IACZ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,GAAG,CAAC,YAAY,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAChD,KAAK,GAAM,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACxD,MAAM,CAAC,CAAA;IACT,CAAC;YAAS,CAAC;QACT,MAAM,GAAG,GAAuB;YAC9B,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM;YACxB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC5B,QAAQ;SACT,CAAA;QACD,IAAI,KAAK;YAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;QAC5B,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,mBAAmB;IAChC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAEvE,oEAAoE;IACpE,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,OAAe,EAAoC,EAAE,CACnF,MAAM,CAAC,kBAAkB,CAAC,GAAG,GAAG,IAAI,OAAO,EAAE,CAAqC,CAAA;IAEpF,MAAM,OAAO,GAAG;QACd,4BAA4B;QAC5B,KAAK,IAAI,EAAE;YACT,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAA;YAClE,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAyC,CAAC,CAAA;QACjF,CAAC;QACD,yBAAyB;QACzB,KAAK,IAAI,EAAE;YACT,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;YAC/D,MAAM,QAAQ,GAAG,GAAG,CAAC,uBAAuB,CAA+B,CAAA;YAC3E,QAAQ,CAAC,MAAM,CAAC,CAAA;QAClB,CAAC;QACD,6BAA6B;QAC7B,KAAK,IAAI,EAAE;YACT,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACzD,SAAS,CAAC,eAAe,EAAE,0BAA0B,CAAC;gBACtD,SAAS,CAAC,eAAe,EAAE,wBAAwB,CAAC;gBACpD,SAAS,CAAC,eAAe,EAAE,4BAA4B,CAAC;gBACxD,SAAS,CAAC,eAAe,EAAE,0BAA0B,CAAC;aACvD,CAAC,CAAA;YACF,iBAAiB,CACf,MAAM,CAAC,mBAAmB,CAAyC,EACnE,IAAI,CAAC,iBAAiB,CAAyC,EAC/D,QAAQ,CAAC,qBAAqB,CAAyC,EACvE,MAAM,CAAC,mBAAmB,CAAyC,CACpE,CAAA;QACH,CAAC;QACD,+FAA+F;QAC/F,KAAK,IAAI,EAAE;YACT,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAA;YAChE,MAAM,QAAQ,GAAG,GAAG,CAAC,yBAAyB,CAA+B,CAAA;YAC7E,QAAQ,CAAC,MAAM,CAAC,CAAA;QAClB,CAAC;QACD,8BAA8B;QAC9B,KAAK,IAAI,EAAE;YACT,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAA;YAC9D,MAAM,QAAQ,GAAG,GAAG,CAAC,sBAAsB,CAA+B,CAAA;YAC1E,QAAQ,CAAC,MAAM,CAAC,CAAA;QAClB,CAAC;QACD,gCAAgC;QAChC,KAAK,IAAI,EAAE;YACT,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAA;YACtE,MAAM,QAAQ,GAAG,GAAG,CAAC,0BAA0B,CAA+B,CAAA;YAC9E,QAAQ,CAAC,MAAM,CAAC,CAAA;QAClB,CAAC;QACD,qCAAqC;QACrC,KAAK,IAAI,EAAE;YACT,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,oBAAoB,EAAE,wBAAwB,CAAC,CAAA;YAC3E,iBAAiB,CAAC,GAAG,CAAC,kBAAkB,CAAyC,CAAC,CAAA;QACpF,CAAC;QACD,6BAA6B;QAC7B,KAAK,IAAI,EAAE;YACT,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;YACnE,MAAM,QAAQ,GAAG,GAAG,CAAC,yBAAyB,CAA+B,CAAA;YAC7E,QAAQ,CAAC,MAAM,CAAC,CAAA;QAClB,CAAC;KACF,CAAA;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAA+B,CAAC,CAAC,CAAC,CAAC,CAAA;AACzF,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,OAAO;SACJ,IAAI,CAAC,QAAQ,CAAC;SACd,UAAU,CAAC,YAAY,EAAE,oCAAoC,CAAC;SAC9D,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,0BAA0B,CAAC,CAAA;IAEhE,mCAAmC;IACnC,OAAO,CAAC,aAAa,CAAC;QACpB,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAC1B,wEAAwE;YACxE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;gBACzC,MAAM,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;gBACvC,MAAM,QAAQ,GAAG,CAAC,CAA2D,EAAU,EAAE;oBACvF,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;oBAClD,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;gBACzC,CAAC,CAAA;gBAED,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,GAAG,CAAC,WAAW,EAAE,IAAI,CAAA;gBACpE,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA;gBAElI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAA;oBAC5D,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAA;oBACrC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;wBACrB,GAAG,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAA;oBACpF,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAA;oBACrE,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAA;oBACnC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;wBACrB,GAAG,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAA;oBAC3F,CAAC;gBACH,CAAC;gBAED,OAAO,GAAG,GAAG,IAAI,CAAA;YACnB,CAAC;YAED,yDAAyD;YACzD,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,CAAA;YACzE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;YAEpE,2CAA2C;YAC3C,MAAM,IAAI,GAAkB,EAAE,CAAA;YAC9B,MAAM,MAAM,GAAgC,EAAE,CAAA;YAC9C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC7C,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;;oBACpC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAC9C,CAAC;YAED,IAAI,GAAG,GAAG,0BAA0B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAA;YACzD,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAA;YACjC,GAAG,IAAI,qCAAqC,CAAA;YAC5C,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAA;YAE9C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,GAAG,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,IAAI,CAAA;YACzE,CAAC;YAED,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxD,GAAG,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAA;gBAC1B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,GAAG,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,IAAI,CAAA;gBACzE,CAAC;YACH,CAAC;YAED,OAAO,GAAG,GAAG,IAAI,CAAA;QACnB,CAAC;KACF,CAAC,CAAA;IAEF,aAAa,CAAC,OAAO,CAAC,CAAA;IACtB,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC7B,wBAAwB,CAAC,OAAO,CAAC,CAAA;IACjC,UAAU,CAAC,OAAO,CAAC,CAAA;IACnB,aAAa,CAAC,OAAO,CAAC,CAAA;IAEtB,0EAA0E;IAC1E,gFAAgF;IAChF,uDAAuD;IACvD,EAAE;IACF,0EAA0E;IAC1E,2DAA2D;IAC3D,yEAAyE;IACzE,0CAA0C;IAC1C,6EAA6E;IAC7E,yEAAyE;IACzE,sEAAsE;IACtE,kDAAkD;IAClD,sEAAsE;IACtE,wEAAwE;IACxE,qEAAqE;IACrE,uEAAuE;IACvE,yEAAyE;IACzE,qDAAqD;IACrD,qEAAqE;IACrE,oEAAoE;IACpE,2DAA2D;IAC3D,mEAAmE;IACnE,qEAAqE;IACrE,sEAAsE;IACtE,kEAAkE;IAClE,MAAM,aAAa,GAAI,IAAI,GAAG,CAAC;QAC7B,oBAAoB,EAAE,gBAAgB,EAAE,WAAW;QACnD,aAAa,EAAE,SAAS;QACxB,SAAS,EAAE,eAAe,EAAE,gBAAgB;QAC5C,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAA;IACF,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,CAAA;IAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAChD,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CACtE,CAAA;IAED,6EAA6E;IAC7E,0EAA0E;IAC1E,2EAA2E;IAC3E,4EAA4E;IAC5E,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,GAAG,CAAA;IAC5C,CAAC;IAED,gFAAgF;IAChF,kEAAkE;IAClE,MAAM,mBAAmB,EAAE,CAAA;IAE3B,iEAAiE;IACjE,WAAW,CAAC,OAAO,CAAC,CAAA;IAEpB,uEAAuE;IACvE,6EAA6E;IAC7E,+EAA+E;IAC/E,6EAA6E;IAC7E,4CAA4C;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClC,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAElF,sEAAsE;IACtE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,OAAO,EAAE,CAAA;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,iBAAiB;gBAAE,MAAM,GAAG,CAChC;YAAC,UAAsC,CAAC,6BAA6B,CAAC;gBACrE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IAED,6DAA6D;IAE7D,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAE3B,qCAAqC;IACrC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QACvC,OAAO;aACJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;aACjB,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;aACjC,kBAAkB,EAAE;aACpB,MAAM,CAAC,KAAK,EAAE,GAAG,OAAkB,EAAE,EAAE;YACtC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAA4D,CAAA;YAC3G,MAAM,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,EAAE,QAAQ,EACvF,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;IACN,CAAC;IAED,2CAA2C;IAC3C,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAA;QACnC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAE/D,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QAEnE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ;gBACxB,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM;gBACpB,CAAC,CAAC,GAAG,CAAC,QAAQ;oBACZ,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG;oBACjB,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAA;YACrB,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;QAC9D,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS;gBACxB,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,OAAO,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;gBACrE,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;YACpD,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;QAC3D,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,OAAkB,EAAE,EAAE;YACzC,qDAAqD;YACrD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAA4C,CAAA;YAC3F,MAAM,UAAU,GAA4B,EAAE,CAAA;YAC9C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;YAC3D,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAA;YAChC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAA;YAClD,MAAM,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,IAAI,EAAE,EAAE,OAAO,EACjE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IACpC,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;AAC5B,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;QACnC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC;IACD,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,OAAO,SAAS,CAAC,CAAA;QAC9C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderjs/cli",
3
- "version": "4.2.1",
3
+ "version": "4.4.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,11 +23,11 @@
23
23
  "commander": "^12.0.0",
24
24
  "chalk": "^5.0.0",
25
25
  "@clack/prompts": "^1.0.0",
26
- "@rudderjs/core": "^1.1.5",
26
+ "@rudderjs/core": "^1.1.7",
27
27
  "@rudderjs/console": "^1.0.2"
28
28
  },
29
29
  "peerDependencies": {
30
- "@rudderjs/router": "^1.2.1"
30
+ "@rudderjs/router": "^1.3.1"
31
31
  },
32
32
  "peerDependenciesMeta": {
33
33
  "@rudderjs/router": {
@@ -38,7 +38,7 @@
38
38
  "@types/node": "^20.0.0",
39
39
  "typescript": "^5.4.0",
40
40
  "tsx": "^4.0.0",
41
- "@rudderjs/router": "^1.2.1"
41
+ "@rudderjs/router": "^1.3.1"
42
42
  },
43
43
  "author": "Suleiman Shahbari",
44
44
  "scripts": {
@@ -46,7 +46,7 @@
46
46
  "dev": "tsc -p tsconfig.build.json --watch",
47
47
  "typecheck": "tsc --noEmit",
48
48
  "lint": "eslint src",
49
- "test": "tsc -p tsconfig.test.json && node --test dist-test/index.test.js; EXIT=$?; rm -rf dist-test; exit $EXIT",
49
+ "test": "tsc -p tsconfig.test.json && node --test dist-test/index.test.js dist-test/commands/add.test.js dist-test/commands/remove.test.js; EXIT=$?; rm -rf dist-test; exit $EXIT",
50
50
  "clean": "rm -rf dist"
51
51
  }
52
52
  }