@anastops/cli 0.1.0 → 1.0.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.
- package/dist/commands/config.d.ts +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +1 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts +10 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +518 -65
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/ranger.d.ts.map +1 -1
- package/dist/commands/ranger.js +3 -3
- package/dist/commands/ranger.js.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/utils/table.d.ts.map +1 -1
- package/dist/utils/table.js +7 -2
- package/dist/utils/table.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuFH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAmEhF"}
|
package/dist/commands/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,SAAS,aAAa;IACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAqNnD"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Check system health and diagnose issues
|
|
5
5
|
*/
|
|
6
|
+
import { existsSync } from 'fs';
|
|
7
|
+
import { join } from 'path';
|
|
6
8
|
import { AdapterRegistry } from '@anastops/adapters';
|
|
7
9
|
import chalk from 'chalk';
|
|
8
10
|
import ora from 'ora';
|
|
@@ -24,8 +26,6 @@ export async function doctorCommand() {
|
|
|
24
26
|
// Check configuration
|
|
25
27
|
const configSpinner = ora('Checking configuration...').start();
|
|
26
28
|
try {
|
|
27
|
-
const { existsSync } = await import('fs');
|
|
28
|
-
const { join } = await import('path');
|
|
29
29
|
const configPath = join(process.cwd(), '.anastops', 'config.json');
|
|
30
30
|
const hasConfig = existsSync(configPath);
|
|
31
31
|
configSpinner.stop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* anastops init command
|
|
3
3
|
*
|
|
4
|
-
* Initialize Anastops
|
|
4
|
+
* Initialize Anastops with secure credential generation and Docker infrastructure
|
|
5
|
+
*
|
|
6
|
+
* Creates:
|
|
7
|
+
* - ~/.anastops/.env (user-level credentials, auto-discovered by MCP server)
|
|
8
|
+
* - ~/.anastops/docker/ (Docker infrastructure files)
|
|
9
|
+
* - ./docker/.env (if in workspace with docker-compose)
|
|
10
|
+
* - MCP server registration (Claude Desktop or Cursor)
|
|
11
|
+
*
|
|
12
|
+
* This enables npm-installed users to get full infrastructure without cloning the repo.
|
|
5
13
|
*/
|
|
6
14
|
interface InitOptions {
|
|
7
15
|
skipDocker?: boolean;
|
|
8
16
|
skipMcp?: boolean;
|
|
17
|
+
regenerate?: boolean;
|
|
9
18
|
}
|
|
10
19
|
export declare function initCommand(options: InitOptions): Promise<void>;
|
|
11
20
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA4QH,UAAU,WAAW;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA8CD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoSrE"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1,98 +1,551 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* anastops init command
|
|
3
3
|
*
|
|
4
|
-
* Initialize Anastops
|
|
4
|
+
* Initialize Anastops with secure credential generation and Docker infrastructure
|
|
5
|
+
*
|
|
6
|
+
* Creates:
|
|
7
|
+
* - ~/.anastops/.env (user-level credentials, auto-discovered by MCP server)
|
|
8
|
+
* - ~/.anastops/docker/ (Docker infrastructure files)
|
|
9
|
+
* - ./docker/.env (if in workspace with docker-compose)
|
|
10
|
+
* - MCP server registration (Claude Desktop or Cursor)
|
|
11
|
+
*
|
|
12
|
+
* This enables npm-installed users to get full infrastructure without cloning the repo.
|
|
5
13
|
*/
|
|
6
|
-
import {
|
|
14
|
+
import { execSync, spawn } from 'child_process';
|
|
15
|
+
import { randomBytes } from 'crypto';
|
|
16
|
+
import { existsSync, mkdirSync, writeFileSync, readFileSync, chmodSync } from 'fs';
|
|
17
|
+
import { homedir, platform } from 'os';
|
|
7
18
|
import { join } from 'path';
|
|
8
19
|
import chalk from 'chalk';
|
|
9
20
|
import ora from 'ora';
|
|
21
|
+
/**
|
|
22
|
+
* Check if a command exists in PATH
|
|
23
|
+
*/
|
|
24
|
+
function commandExists(command) {
|
|
25
|
+
try {
|
|
26
|
+
const checkCmd = platform() === 'win32' ? 'where' : 'which';
|
|
27
|
+
execSync(`${checkCmd} ${command}`, { stdio: 'ignore' });
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Check if Docker daemon is running
|
|
36
|
+
*/
|
|
37
|
+
function isDockerRunning() {
|
|
38
|
+
try {
|
|
39
|
+
execSync('docker info', { stdio: 'ignore' });
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Run a command and return stdout/stderr
|
|
48
|
+
*/
|
|
49
|
+
function runCommand(command, cwd) {
|
|
50
|
+
return new Promise((resolve) => {
|
|
51
|
+
const [cmd, ...args] = command.split(' ');
|
|
52
|
+
const child = spawn(cmd ?? '', args, { cwd, shell: true });
|
|
53
|
+
let stdout = '';
|
|
54
|
+
let stderr = '';
|
|
55
|
+
child.stdout?.on('data', (data) => {
|
|
56
|
+
stdout += data.toString();
|
|
57
|
+
});
|
|
58
|
+
child.stderr?.on('data', (data) => {
|
|
59
|
+
stderr += data.toString();
|
|
60
|
+
});
|
|
61
|
+
child.on('close', (code) => {
|
|
62
|
+
resolve({
|
|
63
|
+
success: code === 0,
|
|
64
|
+
output: stdout.trim(),
|
|
65
|
+
error: stderr.trim(),
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
child.on('error', (err) => {
|
|
69
|
+
resolve({
|
|
70
|
+
success: false,
|
|
71
|
+
output: '',
|
|
72
|
+
error: err.message,
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Wait for containers to be healthy
|
|
79
|
+
*/
|
|
80
|
+
async function waitForContainers(dockerDir, timeoutMs = 60000) {
|
|
81
|
+
const startTime = Date.now();
|
|
82
|
+
while (Date.now() - startTime < timeoutMs) {
|
|
83
|
+
try {
|
|
84
|
+
const result = execSync('docker-compose ps --format json 2>/dev/null || docker compose ps --format json', { cwd: dockerDir, encoding: 'utf-8' });
|
|
85
|
+
// Parse container status
|
|
86
|
+
const lines = result.trim().split('\n').filter(Boolean);
|
|
87
|
+
const containers = lines
|
|
88
|
+
.map((line) => {
|
|
89
|
+
try {
|
|
90
|
+
return JSON.parse(line);
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
})
|
|
96
|
+
.filter((c) => c !== null);
|
|
97
|
+
if (containers.length >= 2) {
|
|
98
|
+
const allHealthy = containers.every((c) => c.Health === 'healthy' || c.State === 'running');
|
|
99
|
+
if (allHealthy) {
|
|
100
|
+
return { healthy: true, status: 'All containers running' };
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
// Continue waiting
|
|
106
|
+
}
|
|
107
|
+
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
108
|
+
}
|
|
109
|
+
return { healthy: false, status: 'Timeout waiting for containers' };
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Docker Compose configuration (embedded for npm install scenario)
|
|
113
|
+
*/
|
|
114
|
+
const DOCKER_COMPOSE_YML = `version: '3.8'
|
|
115
|
+
|
|
116
|
+
# Anastops Docker Infrastructure
|
|
117
|
+
# Generated by: anastops init
|
|
118
|
+
# Credentials are in ../.env (auto-loaded by docker-compose)
|
|
119
|
+
|
|
120
|
+
services:
|
|
121
|
+
redis:
|
|
122
|
+
image: redis:7.2-alpine
|
|
123
|
+
container_name: anastops-redis
|
|
124
|
+
ports:
|
|
125
|
+
- "127.0.0.1:6380:6379"
|
|
126
|
+
volumes:
|
|
127
|
+
- anastops-redis:/data
|
|
128
|
+
- ./redis.conf:/usr/local/etc/redis/redis.conf:ro
|
|
129
|
+
command: >
|
|
130
|
+
redis-server /usr/local/etc/redis/redis.conf
|
|
131
|
+
--requirepass \${REDIS_PASSWORD:?REDIS_PASSWORD required}
|
|
132
|
+
healthcheck:
|
|
133
|
+
test: ["CMD", "redis-cli", "-a", "\${REDIS_PASSWORD}", "--no-auth-warning", "ping"]
|
|
134
|
+
interval: 5s
|
|
135
|
+
timeout: 3s
|
|
136
|
+
retries: 5
|
|
137
|
+
restart: unless-stopped
|
|
138
|
+
|
|
139
|
+
mongodb:
|
|
140
|
+
image: mongo:7.0
|
|
141
|
+
container_name: anastops-mongodb
|
|
142
|
+
ports:
|
|
143
|
+
- "127.0.0.1:27018:27017"
|
|
144
|
+
volumes:
|
|
145
|
+
- anastops-mongodb:/data/db
|
|
146
|
+
- ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
|
|
147
|
+
environment:
|
|
148
|
+
MONGO_INITDB_ROOT_USERNAME: \${MONGO_ROOT_USERNAME:?MONGO_ROOT_USERNAME required}
|
|
149
|
+
MONGO_INITDB_ROOT_PASSWORD: \${MONGO_ROOT_PASSWORD:?MONGO_ROOT_PASSWORD required}
|
|
150
|
+
MONGO_INITDB_DATABASE: anastops
|
|
151
|
+
healthcheck:
|
|
152
|
+
test: ["CMD", "mongosh", "--quiet", "--eval", "db.adminCommand('ping')"]
|
|
153
|
+
interval: 10s
|
|
154
|
+
timeout: 5s
|
|
155
|
+
retries: 5
|
|
156
|
+
restart: unless-stopped
|
|
157
|
+
|
|
158
|
+
volumes:
|
|
159
|
+
anastops-redis:
|
|
160
|
+
name: anastops-redis
|
|
161
|
+
anastops-mongodb:
|
|
162
|
+
name: anastops-mongodb
|
|
163
|
+
|
|
164
|
+
networks:
|
|
165
|
+
default:
|
|
166
|
+
name: anastops-network
|
|
167
|
+
`;
|
|
168
|
+
const REDIS_CONF = `# Anastops Redis Configuration
|
|
169
|
+
|
|
170
|
+
# Persistence
|
|
171
|
+
save 900 1
|
|
172
|
+
save 300 10
|
|
173
|
+
save 60 10000
|
|
174
|
+
appendonly yes
|
|
175
|
+
appendfsync everysec
|
|
176
|
+
|
|
177
|
+
# Memory
|
|
178
|
+
maxmemory 256mb
|
|
179
|
+
maxmemory-policy allkeys-lru
|
|
180
|
+
|
|
181
|
+
# Security
|
|
182
|
+
bind 0.0.0.0
|
|
183
|
+
protected-mode yes
|
|
184
|
+
|
|
185
|
+
# Logging
|
|
186
|
+
loglevel notice
|
|
187
|
+
|
|
188
|
+
# Performance
|
|
189
|
+
tcp-keepalive 300
|
|
190
|
+
timeout 0
|
|
191
|
+
|
|
192
|
+
# Keyspace notifications for session events
|
|
193
|
+
notify-keyspace-events Ex
|
|
194
|
+
`;
|
|
195
|
+
const MONGO_INIT_JS = `// Anastops MongoDB Initialization Script
|
|
196
|
+
db = db.getSiblingDB('anastops');
|
|
197
|
+
|
|
198
|
+
// Sessions collection
|
|
199
|
+
db.createCollection('sessions', {
|
|
200
|
+
validator: {
|
|
201
|
+
$jsonSchema: {
|
|
202
|
+
bsonType: 'object',
|
|
203
|
+
required: ['_id', 'status', 'created_at'],
|
|
204
|
+
properties: {
|
|
205
|
+
_id: { bsonType: 'string' },
|
|
206
|
+
status: { enum: ['active', 'completed', 'archived'] },
|
|
207
|
+
objective: { bsonType: 'string' },
|
|
208
|
+
created_at: { bsonType: 'date' },
|
|
209
|
+
updated_at: { bsonType: 'date' },
|
|
210
|
+
metadata: { bsonType: 'object' }
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
// Tasks collection
|
|
217
|
+
db.createCollection('tasks', {
|
|
218
|
+
validator: {
|
|
219
|
+
$jsonSchema: {
|
|
220
|
+
bsonType: 'object',
|
|
221
|
+
required: ['_id', 'session_id', 'status', 'created_at'],
|
|
222
|
+
properties: {
|
|
223
|
+
_id: { bsonType: 'string' },
|
|
224
|
+
session_id: { bsonType: 'string' },
|
|
225
|
+
status: { enum: ['pending', 'running', 'completed', 'failed', 'cancelled'] },
|
|
226
|
+
created_at: { bsonType: 'date' }
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
|
|
232
|
+
// Artifacts collection
|
|
233
|
+
db.createCollection('artifacts');
|
|
234
|
+
|
|
235
|
+
// Metrics collection (time-series, 90-day TTL)
|
|
236
|
+
db.createCollection('metrics', {
|
|
237
|
+
timeseries: {
|
|
238
|
+
timeField: 'timestamp',
|
|
239
|
+
metaField: 'metadata',
|
|
240
|
+
granularity: 'minutes'
|
|
241
|
+
},
|
|
242
|
+
expireAfterSeconds: 7776000
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
// Create indexes
|
|
246
|
+
db.sessions.createIndex({ status: 1 });
|
|
247
|
+
db.sessions.createIndex({ created_at: -1 });
|
|
248
|
+
db.tasks.createIndex({ session_id: 1 });
|
|
249
|
+
db.tasks.createIndex({ status: 1 });
|
|
250
|
+
db.artifacts.createIndex({ session_id: 1 });
|
|
251
|
+
|
|
252
|
+
print('Anastops MongoDB initialization complete');
|
|
253
|
+
`;
|
|
254
|
+
/**
|
|
255
|
+
* Generate a cryptographically secure random password
|
|
256
|
+
*/
|
|
257
|
+
function generatePassword(length = 32) {
|
|
258
|
+
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
259
|
+
const bytes = randomBytes(length);
|
|
260
|
+
let password = '';
|
|
261
|
+
for (let i = 0; i < length; i++) {
|
|
262
|
+
const byte = bytes[i];
|
|
263
|
+
if (byte !== undefined) {
|
|
264
|
+
password += chars[byte % chars.length];
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return password;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Generate .env file content with credentials
|
|
271
|
+
*/
|
|
272
|
+
function generateEnvContent(redisPassword, mongoUsername, mongoPassword) {
|
|
273
|
+
return `# Anastops Credentials
|
|
274
|
+
# Generated by: anastops init
|
|
275
|
+
# Generated on: ${new Date().toISOString()}
|
|
276
|
+
#
|
|
277
|
+
# SECURITY WARNING: Do not commit this file to version control!
|
|
278
|
+
# This file contains sensitive credentials.
|
|
279
|
+
|
|
280
|
+
# Redis Configuration
|
|
281
|
+
REDIS_PASSWORD=${redisPassword}
|
|
282
|
+
|
|
283
|
+
# MongoDB Configuration
|
|
284
|
+
MONGO_ROOT_USERNAME=${mongoUsername}
|
|
285
|
+
MONGO_ROOT_PASSWORD=${mongoPassword}
|
|
286
|
+
|
|
287
|
+
# Pre-built connection URLs (for convenience)
|
|
288
|
+
REDIS_URL=redis://:${redisPassword}@localhost:6380
|
|
289
|
+
MONGODB_URL=mongodb://${mongoUsername}:${mongoPassword}@localhost:27018/anastops?authSource=admin
|
|
290
|
+
`;
|
|
291
|
+
}
|
|
10
292
|
export async function initCommand(options) {
|
|
11
293
|
const spinner = ora('Initializing Anastops...').start();
|
|
12
294
|
try {
|
|
295
|
+
const home = homedir();
|
|
13
296
|
const cwd = process.cwd();
|
|
14
|
-
// Create
|
|
15
|
-
const
|
|
16
|
-
if (!existsSync(
|
|
17
|
-
mkdirSync(
|
|
297
|
+
// 1. Create ~/.anastops directory
|
|
298
|
+
const userConfigDir = join(home, '.anastops');
|
|
299
|
+
if (!existsSync(userConfigDir)) {
|
|
300
|
+
mkdirSync(userConfigDir, { recursive: true });
|
|
18
301
|
}
|
|
19
|
-
//
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
302
|
+
// 2. Generate or load credentials
|
|
303
|
+
const userEnvPath = join(userConfigDir, '.env');
|
|
304
|
+
let redisPassword;
|
|
305
|
+
let mongoUsername;
|
|
306
|
+
let mongoPassword;
|
|
307
|
+
if (existsSync(userEnvPath) && options.regenerate !== true) {
|
|
308
|
+
spinner.info('Existing credentials found at ~/.anastops/.env');
|
|
309
|
+
// Parse existing credentials
|
|
310
|
+
const content = readFileSync(userEnvPath, 'utf-8');
|
|
311
|
+
const match = {
|
|
312
|
+
redis: content.match(/REDIS_PASSWORD=([^\n]+)/),
|
|
313
|
+
mongoUser: content.match(/MONGO_ROOT_USERNAME=([^\n]+)/),
|
|
314
|
+
mongoPwd: content.match(/MONGO_ROOT_PASSWORD=([^\n]+)/),
|
|
315
|
+
};
|
|
316
|
+
redisPassword = match.redis?.[1] ?? generatePassword();
|
|
317
|
+
mongoUsername = match.mongoUser?.[1] ?? 'admin';
|
|
318
|
+
mongoPassword = match.mongoPwd?.[1] ?? generatePassword();
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
spinner.text = 'Generating secure credentials...';
|
|
322
|
+
redisPassword = generatePassword();
|
|
323
|
+
mongoUsername = 'admin';
|
|
324
|
+
mongoPassword = generatePassword();
|
|
325
|
+
}
|
|
326
|
+
// 3. Write user-level credentials (~/.anastops/.env)
|
|
327
|
+
const envContent = generateEnvContent(redisPassword, mongoUsername, mongoPassword);
|
|
328
|
+
writeFileSync(userEnvPath, envContent);
|
|
329
|
+
if (platform() !== 'win32') {
|
|
330
|
+
chmodSync(userEnvPath, 0o600); // Read/write for owner only
|
|
331
|
+
}
|
|
332
|
+
spinner.succeed('Created ~/.anastops/.env with secure credentials');
|
|
333
|
+
// 4. Create Docker infrastructure files and start containers
|
|
334
|
+
let dockerStarted = false;
|
|
335
|
+
let dockerError = null;
|
|
336
|
+
const userDockerDir = join(userConfigDir, 'docker');
|
|
337
|
+
if (options.skipDocker !== true) {
|
|
338
|
+
const dockerSpinner = ora('Setting up Docker infrastructure...').start();
|
|
339
|
+
// Create ~/.anastops/docker/ with all required files
|
|
340
|
+
if (!existsSync(userDockerDir)) {
|
|
341
|
+
mkdirSync(userDockerDir, { recursive: true });
|
|
342
|
+
}
|
|
343
|
+
// Write docker-compose.yml
|
|
344
|
+
writeFileSync(join(userDockerDir, 'docker-compose.yml'), DOCKER_COMPOSE_YML);
|
|
345
|
+
// Write redis.conf
|
|
346
|
+
writeFileSync(join(userDockerDir, 'redis.conf'), REDIS_CONF);
|
|
347
|
+
// Write mongo-init.js
|
|
348
|
+
writeFileSync(join(userDockerDir, 'mongo-init.js'), MONGO_INIT_JS);
|
|
349
|
+
// Write .env file in docker directory
|
|
350
|
+
writeFileSync(join(userDockerDir, '.env'), envContent);
|
|
351
|
+
if (platform() !== 'win32') {
|
|
352
|
+
chmodSync(join(userDockerDir, '.env'), 0o600);
|
|
353
|
+
}
|
|
354
|
+
dockerSpinner.succeed('Created ~/.anastops/docker/ with infrastructure files');
|
|
355
|
+
// Also sync to local docker/.env if in workspace with docker-compose
|
|
356
|
+
const localDockerCompose = join(cwd, 'docker', 'docker-compose.yml');
|
|
357
|
+
if (existsSync(localDockerCompose)) {
|
|
358
|
+
const localDockerEnv = join(cwd, 'docker', '.env');
|
|
359
|
+
writeFileSync(localDockerEnv, envContent);
|
|
360
|
+
if (platform() !== 'win32') {
|
|
361
|
+
chmodSync(localDockerEnv, 0o600);
|
|
362
|
+
}
|
|
363
|
+
console.log(chalk.dim(' Also synced to ./docker/.env'));
|
|
364
|
+
}
|
|
365
|
+
// Check Docker availability and start containers
|
|
366
|
+
const startSpinner = ora('Checking Docker installation...').start();
|
|
367
|
+
// Check if docker command exists
|
|
368
|
+
if (!commandExists('docker')) {
|
|
369
|
+
startSpinner.fail('Docker not found');
|
|
370
|
+
dockerError = 'docker-not-installed';
|
|
371
|
+
}
|
|
372
|
+
else if (!isDockerRunning()) {
|
|
373
|
+
startSpinner.fail('Docker daemon not running');
|
|
374
|
+
dockerError = 'docker-not-running';
|
|
48
375
|
}
|
|
49
376
|
else {
|
|
50
|
-
|
|
377
|
+
// Check for docker-compose or docker compose
|
|
378
|
+
const hasDockerCompose = commandExists('docker-compose');
|
|
379
|
+
const composeCmd = hasDockerCompose ? 'docker-compose' : 'docker compose';
|
|
380
|
+
startSpinner.text = 'Starting Docker containers...';
|
|
381
|
+
// Run docker-compose up -d
|
|
382
|
+
const result = await runCommand(`${composeCmd} up -d`, userDockerDir);
|
|
383
|
+
if (!result.success) {
|
|
384
|
+
startSpinner.fail('Failed to start Docker containers');
|
|
385
|
+
dockerError = result.error || 'Unknown error starting containers';
|
|
386
|
+
}
|
|
387
|
+
else {
|
|
388
|
+
startSpinner.text = 'Waiting for containers to be healthy...';
|
|
389
|
+
// Wait for containers to be healthy
|
|
390
|
+
const healthCheck = await waitForContainers(userDockerDir, 60000);
|
|
391
|
+
if (healthCheck.healthy) {
|
|
392
|
+
startSpinner.succeed('Docker containers started and healthy');
|
|
393
|
+
dockerStarted = true;
|
|
394
|
+
}
|
|
395
|
+
else {
|
|
396
|
+
startSpinner.warn('Containers started but health check inconclusive');
|
|
397
|
+
dockerStarted = true; // Still mark as started, just warn
|
|
398
|
+
}
|
|
399
|
+
}
|
|
51
400
|
}
|
|
52
401
|
}
|
|
53
|
-
// Set up MCP server registration
|
|
54
|
-
if (
|
|
402
|
+
// 5. Set up MCP server registration
|
|
403
|
+
if (options.skipMcp !== true) {
|
|
55
404
|
const mcpSpinner = ora('Setting up MCP server...').start();
|
|
56
|
-
//
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
405
|
+
// Determine MCP config location based on platform/IDE
|
|
406
|
+
const mcpConfigs = [
|
|
407
|
+
{ name: 'Cursor', path: join(home, '.cursor', 'mcp.json') },
|
|
408
|
+
{
|
|
409
|
+
name: 'Claude Desktop',
|
|
410
|
+
path: join(home, '.config', 'claude', 'claude_desktop_config.json'),
|
|
411
|
+
},
|
|
412
|
+
];
|
|
413
|
+
// Detect if running from local development (monorepo) or npm install
|
|
414
|
+
// Look for mcp-server dist relative to this CLI's location
|
|
415
|
+
const cliDir = join(cwd, 'packages', 'cli');
|
|
416
|
+
const localMcpServer = join(cwd, 'packages', 'mcp-server', 'dist', 'index.js');
|
|
417
|
+
const isLocalDev = existsSync(cliDir) && existsSync(localMcpServer);
|
|
418
|
+
// MCP server config - NO credentials, they're auto-discovered
|
|
419
|
+
let mcpServerEntry;
|
|
420
|
+
if (isLocalDev) {
|
|
421
|
+
// Local development: use node + direct path
|
|
422
|
+
mcpServerEntry = {
|
|
423
|
+
command: 'node',
|
|
424
|
+
args: [localMcpServer],
|
|
425
|
+
env: {
|
|
426
|
+
HOME: home,
|
|
427
|
+
PATH: '/usr/local/bin:/usr/bin:/bin:/opt/homebrew/bin',
|
|
428
|
+
},
|
|
429
|
+
};
|
|
430
|
+
console.log(chalk.dim(' Using local development mode (direct path)'));
|
|
60
431
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
432
|
+
else {
|
|
433
|
+
// npm installed: use npx
|
|
434
|
+
mcpServerEntry = {
|
|
435
|
+
command: 'npx',
|
|
436
|
+
args: ['@anastops/mcp-server'],
|
|
437
|
+
env: {
|
|
438
|
+
HOME: home,
|
|
439
|
+
PATH: process.env['PATH'] ?? '/usr/local/bin:/usr/bin:/bin',
|
|
67
440
|
},
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
441
|
+
};
|
|
442
|
+
}
|
|
443
|
+
let registeredCount = 0;
|
|
444
|
+
for (const { name, path: configPath } of mcpConfigs) {
|
|
445
|
+
const configDir = join(configPath, '..');
|
|
446
|
+
if (!existsSync(configDir)) {
|
|
447
|
+
mkdirSync(configDir, { recursive: true });
|
|
448
|
+
}
|
|
72
449
|
try {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
450
|
+
let config = {};
|
|
451
|
+
if (existsSync(configPath)) {
|
|
452
|
+
config = JSON.parse(readFileSync(configPath, 'utf-8'));
|
|
453
|
+
}
|
|
454
|
+
config.mcpServers = config.mcpServers ?? {};
|
|
455
|
+
config.mcpServers.anastops = mcpServerEntry;
|
|
456
|
+
writeFileSync(configPath, JSON.stringify(config, null, 2));
|
|
457
|
+
registeredCount++;
|
|
458
|
+
console.log(chalk.dim(` Registered with ${name}`));
|
|
78
459
|
}
|
|
79
460
|
catch {
|
|
80
|
-
|
|
461
|
+
// Skip if we can't write to this config
|
|
81
462
|
}
|
|
82
463
|
}
|
|
464
|
+
if (registeredCount > 0) {
|
|
465
|
+
mcpSpinner.succeed(`MCP server registered (${registeredCount} IDE${registeredCount > 1 ? 's' : ''})`);
|
|
466
|
+
}
|
|
83
467
|
else {
|
|
84
|
-
|
|
468
|
+
mcpSpinner.warn('Could not register MCP server automatically');
|
|
85
469
|
}
|
|
86
|
-
mcpSpinner.succeed('MCP server registered for Claude Desktop');
|
|
87
470
|
}
|
|
88
471
|
// Summary
|
|
89
472
|
console.log('');
|
|
90
|
-
console.log(chalk.green('
|
|
473
|
+
console.log(chalk.green('Anastops initialized successfully!'));
|
|
474
|
+
console.log('');
|
|
475
|
+
console.log(chalk.bold('Created:'));
|
|
476
|
+
console.log(` ${chalk.cyan('~/.anastops/.env')} Credentials (auto-discovered by MCP)`);
|
|
477
|
+
console.log(` ${chalk.cyan('~/.anastops/docker/')} Docker infrastructure files`);
|
|
478
|
+
console.log('');
|
|
479
|
+
console.log(chalk.bold('Connection URLs:'));
|
|
480
|
+
console.log(` ${chalk.dim('Redis:')} redis://:****@localhost:6380`);
|
|
481
|
+
console.log(` ${chalk.dim('MongoDB:')} mongodb://****:****@localhost:27018/anastops`);
|
|
482
|
+
console.log('');
|
|
483
|
+
// Show Docker status and instructions
|
|
484
|
+
if (dockerStarted) {
|
|
485
|
+
console.log(chalk.bold('Infrastructure Status:'));
|
|
486
|
+
console.log(` ${chalk.green('Redis:')} Running on port 6380`);
|
|
487
|
+
console.log(` ${chalk.green('MongoDB:')} Running on port 27018`);
|
|
488
|
+
console.log('');
|
|
489
|
+
console.log(chalk.bold('Next steps:'));
|
|
490
|
+
console.log(chalk.dim(' 1. Check health:'), 'anastops doctor');
|
|
491
|
+
console.log(chalk.dim(' 2. Restart your IDE'), 'to reload the MCP server');
|
|
492
|
+
}
|
|
493
|
+
else if (dockerError !== null) {
|
|
494
|
+
console.log(chalk.bold.yellow('Docker Setup Required:'));
|
|
495
|
+
console.log('');
|
|
496
|
+
if (dockerError === 'docker-not-installed') {
|
|
497
|
+
console.log(chalk.red(' Docker is not installed on this system.'));
|
|
498
|
+
console.log('');
|
|
499
|
+
console.log(chalk.bold(' How to install Docker:'));
|
|
500
|
+
if (platform() === 'darwin') {
|
|
501
|
+
console.log(' macOS: brew install --cask docker');
|
|
502
|
+
console.log(' or download from https://docker.com/products/docker-desktop');
|
|
503
|
+
}
|
|
504
|
+
else if (platform() === 'win32') {
|
|
505
|
+
console.log(' Windows: Download from https://docker.com/products/docker-desktop');
|
|
506
|
+
}
|
|
507
|
+
else {
|
|
508
|
+
console.log(' Linux: sudo apt install docker.io docker-compose');
|
|
509
|
+
console.log(' or follow https://docs.docker.com/engine/install/');
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
else if (dockerError === 'docker-not-running') {
|
|
513
|
+
console.log(chalk.red(' Docker daemon is not running.'));
|
|
514
|
+
console.log('');
|
|
515
|
+
console.log(chalk.bold(' How to start Docker:'));
|
|
516
|
+
if (platform() === 'darwin') {
|
|
517
|
+
console.log(' macOS: Open Docker Desktop from Applications');
|
|
518
|
+
}
|
|
519
|
+
else if (platform() === 'win32') {
|
|
520
|
+
console.log(' Windows: Start Docker Desktop from Start Menu');
|
|
521
|
+
}
|
|
522
|
+
else {
|
|
523
|
+
console.log(' Linux: sudo systemctl start docker');
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
else {
|
|
527
|
+
console.log(chalk.red(` Error: ${dockerError}`));
|
|
528
|
+
}
|
|
529
|
+
console.log('');
|
|
530
|
+
console.log(chalk.bold(' After Docker is ready, start containers manually:'));
|
|
531
|
+
console.log(` ${chalk.cyan('cd ~/.anastops/docker && docker-compose up -d')}`);
|
|
532
|
+
console.log('');
|
|
533
|
+
console.log(chalk.bold('Next steps:'));
|
|
534
|
+
console.log(chalk.dim(' 1. Install/start Docker (see above)'));
|
|
535
|
+
console.log(chalk.dim(' 2. Start containers:'), 'cd ~/.anastops/docker && docker-compose up -d');
|
|
536
|
+
console.log(chalk.dim(' 3. Check health:'), 'anastops doctor');
|
|
537
|
+
console.log(chalk.dim(' 4. Restart your IDE'), 'to reload the MCP server');
|
|
538
|
+
}
|
|
539
|
+
else {
|
|
540
|
+
// Docker was skipped
|
|
541
|
+
console.log(chalk.bold('Next steps:'));
|
|
542
|
+
console.log(chalk.dim(' 1. Start Docker containers:'));
|
|
543
|
+
console.log(` ${chalk.cyan('cd ~/.anastops/docker && docker-compose up -d')}`);
|
|
544
|
+
console.log(chalk.dim(' 2. Check health:'), 'anastops doctor');
|
|
545
|
+
console.log(chalk.dim(' 3. Restart your IDE'), 'to reload the MCP server');
|
|
546
|
+
}
|
|
91
547
|
console.log('');
|
|
92
|
-
console.log('
|
|
93
|
-
console.log(chalk.dim(' 1. Start infrastructure:'), 'npm run docker:up');
|
|
94
|
-
console.log(chalk.dim(' 2. Check health:'), 'anastops doctor');
|
|
95
|
-
console.log(chalk.dim(' 3. Create a session:'), 'anastops spawn "Your objective"');
|
|
548
|
+
console.log(chalk.dim('Note: MCP server auto-discovers credentials from ~/.anastops/.env'));
|
|
96
549
|
console.log('');
|
|
97
550
|
}
|
|
98
551
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB;;GAEG;AACH,SAAS,aAAa,CAAC,OAAe;IACpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5D,QAAQ,CAAC,GAAG,QAAQ,IAAI,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,QAAQ,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CACjB,OAAe,EACf,GAAW;IAEX,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3D,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,CAAC;gBACN,OAAO,EAAE,IAAI,KAAK,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;gBACrB,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;aACrB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,OAAO,CAAC;gBACN,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,GAAG,CAAC,OAAO;aACnB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAC9B,SAAiB,EACjB,SAAS,GAAG,KAAK;IAEjB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CACrB,gFAAgF,EAChF,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtC,CAAC;YAEF,yBAAyB;YACzB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,KAAK;iBACrB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACZ,IAAI,CAAC;oBACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAwC,CAAC;gBACjE,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,CAAC,EAA4C,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YAEvE,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CACjC,CAAC,CAAsC,EAAE,EAAE,CACzC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAClD,CAAC;gBACF,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mBAAmB;QACrB,CAAC;QAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqD1B,CAAC;AAEF,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BlB,CAAC;AAEF,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DrB,CAAC;AAQF;;GAEG;AACH,SAAS,gBAAgB,CAAC,MAAM,GAAG,EAAE;IACnC,MAAM,KAAK,GAAG,gEAAgE,CAAC;IAC/E,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,QAAQ,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACzB,aAAqB,EACrB,aAAqB,EACrB,aAAqB;IAErB,OAAO;;kBAES,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;;;;iBAMzB,aAAa;;;sBAGR,aAAa;sBACb,aAAa;;;qBAGd,aAAa;wBACV,aAAa,IAAI,aAAa;CACrD,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,MAAM,OAAO,GAAG,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;IAExD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE1B,kCAAkC;QAClC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,kCAAkC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,aAAqB,CAAC;QAC1B,IAAI,aAAqB,CAAC;QAC1B,IAAI,aAAqB,CAAC;QAE1B,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC/D,6BAA6B;YAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG;gBACZ,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC;gBAC/C,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC;gBACxD,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC;aACxD,CAAC;YACF,aAAa,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACvD,aAAa,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;YAChD,aAAa,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,GAAG,kCAAkC,CAAC;YAClD,aAAa,GAAG,gBAAgB,EAAE,CAAC;YACnC,aAAa,GAAG,OAAO,CAAC;YACxB,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACrC,CAAC;QAED,qDAAqD;QACrD,MAAM,UAAU,GAAG,kBAAkB,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;QACnF,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACvC,IAAI,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;YAC3B,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,4BAA4B;QAC7D,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;QAEpE,6DAA6D;QAC7D,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAEpD,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,GAAG,CAAC,qCAAqC,CAAC,CAAC,KAAK,EAAE,CAAC;YAEzE,qDAAqD;YACrD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/B,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;YAED,2BAA2B;YAC3B,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,oBAAoB,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAE7E,mBAAmB;YACnB,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC;YAE7D,sBAAsB;YACtB,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,aAAa,CAAC,CAAC;YAEnE,sCAAsC;YACtC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;YACvD,IAAI,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;gBAC3B,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC;YAED,aAAa,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC;YAE/E,qEAAqE;YACrE,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;YACrE,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACnC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACnD,aAAa,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;gBAC1C,IAAI,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;oBAC3B,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBACnC,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,iDAAiD;YACjD,MAAM,YAAY,GAAG,GAAG,CAAC,iCAAiC,CAAC,CAAC,KAAK,EAAE,CAAC;YAEpE,iCAAiC;YACjC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACtC,WAAW,GAAG,sBAAsB,CAAC;YACvC,CAAC;iBAAM,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC9B,YAAY,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAC/C,WAAW,GAAG,oBAAoB,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,6CAA6C;gBAC7C,MAAM,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC;gBACzD,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBAE1E,YAAY,CAAC,IAAI,GAAG,+BAA+B,CAAC;gBAEpD,2BAA2B;gBAC3B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,UAAU,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAEtE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,YAAY,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;oBACvD,WAAW,GAAG,MAAM,CAAC,KAAK,IAAI,mCAAmC,CAAC;gBACpE,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,IAAI,GAAG,yCAAyC,CAAC;oBAE9D,oCAAoC;oBACpC,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;oBAElE,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;wBACxB,YAAY,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;wBAC9D,aAAa,GAAG,IAAI,CAAC;oBACvB,CAAC;yBAAM,CAAC;wBACN,YAAY,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;wBACtE,aAAa,GAAG,IAAI,CAAC,CAAC,mCAAmC;oBAC3D,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;YAE3D,sDAAsD;YACtD,MAAM,UAAU,GAAG;gBACjB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE;gBAC3D;oBACE,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,4BAA4B,CAAC;iBACpE;aACF,CAAC;YAEF,qEAAqE;YACrE,2DAA2D;YAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAC/E,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;YAEpE,8DAA8D;YAC9D,IAAI,cAAgF,CAAC;YAErF,IAAI,UAAU,EAAE,CAAC;gBACf,4CAA4C;gBAC5C,cAAc,GAAG;oBACf,OAAO,EAAE,MAAM;oBACf,IAAI,EAAE,CAAC,cAAc,CAAC;oBACtB,GAAG,EAAE;wBACH,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,gDAAgD;qBACvD;iBACF,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,yBAAyB;gBACzB,cAAc,GAAG;oBACf,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,CAAC,sBAAsB,CAAC;oBAC9B,GAAG,EAAE;wBACH,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,8BAA8B;qBAC5D;iBACF,CAAC;YACJ,CAAC;YAED,IAAI,eAAe,GAAG,CAAC,CAAC;YAExB,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,UAAU,EAAE,CAAC;gBACpD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5C,CAAC;gBAED,IAAI,CAAC;oBACH,IAAI,MAAM,GAA6C,EAAE,CAAC;oBAC1D,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC3B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAEpD,CAAC;oBACJ,CAAC;oBACD,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;oBAC5C,MAAM,CAAC,UAAU,CAAC,QAAQ,GAAG,cAAc,CAAC;oBAC5C,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC3D,eAAe,EAAE,CAAC;oBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC;gBACtD,CAAC;gBAAC,MAAM,CAAC;oBACP,wCAAwC;gBAC1C,CAAC;YACH,CAAC;YAED,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACxB,UAAU,CAAC,OAAO,CAChB,0BAA0B,eAAe,OAAO,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAClF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,UAAU;QACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,iDAAiD,CACrF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,qCAAqC,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,+CAA+C,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,sCAAsC;QACtC,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAC9E,CAAC;aAAM,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,IAAI,WAAW,KAAK,sBAAsB,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBACpD,IAAI,QAAQ,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAC5B,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;oBACrD,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;gBACxF,CAAC;qBAAM,IAAI,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;gBACvF,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;oBACpE,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC;iBAAM,IAAI,WAAW,KAAK,oBAAoB,EAAE,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAClD,IAAI,QAAQ,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAC5B,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;gBAClE,CAAC;qBAAM,IAAI,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;gBACnE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,EAAE,CAAC,CAAC;YAClF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,EACnC,+CAA+C,CAChD,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC,CAAC;QAC5F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ranger.d.ts","sourceRoot":"","sources":["../../src/commands/ranger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"ranger.d.ts","sourceRoot":"","sources":["../../src/commands/ranger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC5B;AAKD,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DzE"}
|
package/dist/commands/ranger.js
CHANGED
|
@@ -22,11 +22,11 @@ export async function rangerCommand(options) {
|
|
|
22
22
|
...process.env,
|
|
23
23
|
RANGER_REFRESH_INTERVAL: options.refresh ?? '2',
|
|
24
24
|
};
|
|
25
|
-
if (options.session) {
|
|
26
|
-
env
|
|
25
|
+
if (options.session !== undefined && options.session !== '') {
|
|
26
|
+
env['RANGER_INITIAL_SESSION'] = options.session;
|
|
27
27
|
}
|
|
28
28
|
// JSON mode outputs data and exits
|
|
29
|
-
if (options.json) {
|
|
29
|
+
if (options.json === true) {
|
|
30
30
|
console.log(chalk.yellow('JSON mode not yet supported in Textual TUI'));
|
|
31
31
|
console.log(chalk.dim('Use the MCP tools directly for JSON output'));
|
|
32
32
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ranger.js","sourceRoot":"","sources":["../../src/commands/ranger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ranger.js","sourceRoot":"","sources":["../../src/commands/ranger.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -23,9 +23,10 @@ program
|
|
|
23
23
|
// Infrastructure commands only
|
|
24
24
|
program
|
|
25
25
|
.command('init')
|
|
26
|
-
.description('Initialize Anastops
|
|
27
|
-
.option('--skip-docker', 'Skip Docker infrastructure setup')
|
|
26
|
+
.description('Initialize Anastops: generate credentials, setup Docker, register MCP')
|
|
27
|
+
.option('--skip-docker', 'Skip Docker infrastructure setup and auto-start')
|
|
28
28
|
.option('--skip-mcp', 'Skip MCP server registration')
|
|
29
|
+
.option('--regenerate', 'Regenerate credentials (overwrites existing)')
|
|
29
30
|
.action(initCommand);
|
|
30
31
|
program
|
|
31
32
|
.command('doctor')
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,kEAAkE,CAAC;KAC/E,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,+BAA+B;AAC/B,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,kEAAkE,CAAC;KAC/E,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,+BAA+B;AAC/B,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,uEAAuE,CAAC;KACpF,MAAM,CAAC,eAAe,EAAE,iDAAiD,CAAC;KAC1E,MAAM,CAAC,YAAY,EAAE,8BAA8B,CAAC;KACpD,MAAM,CAAC,cAAc,EAAE,8CAA8C,CAAC;KACtE,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,+BAA+B,CAAC;KACxC,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,kEAAkE,CAAC;KAC/E,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,GAAG,CAAC;KAC3D,MAAM,CAAC,gBAAgB,EAAE,4BAA4B,CAAC;KACtD,MAAM,CAAC,QAAQ,EAAE,2DAA2D,CAAC;KAC7E,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/utils/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC;CACjC;
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/utils/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC;CACjC;AA6BD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CA8C3E;AAED;;GAEG;AACH,eAAO,MAAM,OAAO;;;;;;CAMnB,CAAC"}
|
package/dist/utils/table.js
CHANGED
|
@@ -4,6 +4,7 @@ import chalk from 'chalk';
|
|
|
4
4
|
*/
|
|
5
5
|
function padString(str, width, align = 'left') {
|
|
6
6
|
// Strip ANSI codes for length calculation
|
|
7
|
+
// eslint-disable-next-line no-control-regex
|
|
7
8
|
const strippedLength = str.replace(/\x1B\[[0-9;]*m/g, '').length;
|
|
8
9
|
const padding = Math.max(0, width - strippedLength);
|
|
9
10
|
switch (align) {
|
|
@@ -37,7 +38,9 @@ export function renderTable(options, rows) {
|
|
|
37
38
|
borderColor('\u2518');
|
|
38
39
|
// Build header row
|
|
39
40
|
const headerRow = borderColor('\u2502') +
|
|
40
|
-
columns
|
|
41
|
+
columns
|
|
42
|
+
.map((col) => ' ' + chalk.bold(padString(col.header, col.width, col.align)) + ' ')
|
|
43
|
+
.join(borderColor('\u2502')) +
|
|
41
44
|
borderColor('\u2502');
|
|
42
45
|
lines.push(topBorder);
|
|
43
46
|
lines.push(headerRow);
|
|
@@ -45,7 +48,9 @@ export function renderTable(options, rows) {
|
|
|
45
48
|
// Build data rows
|
|
46
49
|
for (const row of rows) {
|
|
47
50
|
const dataRow = borderColor('\u2502') +
|
|
48
|
-
columns
|
|
51
|
+
columns
|
|
52
|
+
.map((col, i) => ' ' + padString(row[i] ?? '', col.width, col.align) + ' ')
|
|
53
|
+
.join(borderColor('\u2502')) +
|
|
49
54
|
borderColor('\u2502');
|
|
50
55
|
lines.push(dataRow);
|
|
51
56
|
}
|
package/dist/utils/table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/utils/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B;;GAEG;AACH,SAAS,SAAS,
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/utils/table.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anastops/cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Infrastructure CLI for Anastops MCP Server setup and diagnostics",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
"test": "vitest run",
|
|
22
22
|
"test:watch": "vitest",
|
|
23
23
|
"test:coverage": "vitest run --coverage",
|
|
24
|
-
"lint": "eslint src --ext .ts",
|
|
24
|
+
"lint": "eslint src --ext .ts --ignore-pattern='**/__tests__/**' --ignore-pattern='**/*.test.ts'",
|
|
25
25
|
"typecheck": "tsc --noEmit",
|
|
26
26
|
"clean": "rm -rf dist"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@anastops/core": "
|
|
30
|
-
"@anastops/adapters": "
|
|
31
|
-
"@anastops/mcp-server": "
|
|
29
|
+
"@anastops/core": "1.0.0",
|
|
30
|
+
"@anastops/adapters": "1.0.0",
|
|
31
|
+
"@anastops/mcp-server": "1.0.0",
|
|
32
32
|
"commander": "^14.0.2",
|
|
33
33
|
"enquirer": "^2.4.1",
|
|
34
34
|
"chalk": "^5.6.2",
|