@abdasis/agentdeck 2.44.2
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/README.md +122 -0
- package/agent/dist/config.d.ts +31 -0
- package/agent/dist/config.d.ts.map +1 -0
- package/agent/dist/config.js +81 -0
- package/agent/dist/config.js.map +1 -0
- package/agent/dist/db/commands.d.ts +25 -0
- package/agent/dist/db/commands.d.ts.map +1 -0
- package/agent/dist/db/commands.js +93 -0
- package/agent/dist/db/commands.js.map +1 -0
- package/agent/dist/db/index.d.ts +30 -0
- package/agent/dist/db/index.d.ts.map +1 -0
- package/agent/dist/db/index.js +368 -0
- package/agent/dist/db/index.js.map +1 -0
- package/agent/dist/db/schema.d.ts +74 -0
- package/agent/dist/db/schema.d.ts.map +1 -0
- package/agent/dist/db/schema.js +100 -0
- package/agent/dist/db/schema.js.map +1 -0
- package/agent/dist/db/sessions.d.ts +46 -0
- package/agent/dist/db/sessions.d.ts.map +1 -0
- package/agent/dist/db/sessions.js +198 -0
- package/agent/dist/db/sessions.js.map +1 -0
- package/agent/dist/index.d.ts +2 -0
- package/agent/dist/index.d.ts.map +1 -0
- package/agent/dist/index.js +19 -0
- package/agent/dist/index.js.map +1 -0
- package/agent/dist/lib/command-session.d.ts +20 -0
- package/agent/dist/lib/command-session.d.ts.map +1 -0
- package/agent/dist/lib/command-session.js +64 -0
- package/agent/dist/lib/command-session.js.map +1 -0
- package/agent/dist/lib/git.d.ts +8 -0
- package/agent/dist/lib/git.d.ts.map +1 -0
- package/agent/dist/lib/git.js +194 -0
- package/agent/dist/lib/git.js.map +1 -0
- package/agent/dist/lib/init-script.d.ts +33 -0
- package/agent/dist/lib/init-script.d.ts.map +1 -0
- package/agent/dist/lib/init-script.js +523 -0
- package/agent/dist/lib/init-script.js.map +1 -0
- package/agent/dist/lib/transcript.d.ts +16 -0
- package/agent/dist/lib/transcript.d.ts.map +1 -0
- package/agent/dist/lib/transcript.js +64 -0
- package/agent/dist/lib/transcript.js.map +1 -0
- package/agent/dist/logger.d.ts +12 -0
- package/agent/dist/logger.d.ts.map +1 -0
- package/agent/dist/logger.js +39 -0
- package/agent/dist/logger.js.map +1 -0
- package/agent/dist/middleware/auth.d.ts +15 -0
- package/agent/dist/middleware/auth.d.ts.map +1 -0
- package/agent/dist/middleware/auth.js +55 -0
- package/agent/dist/middleware/auth.js.map +1 -0
- package/agent/dist/routes/commands.d.ts +8 -0
- package/agent/dist/routes/commands.d.ts.map +1 -0
- package/agent/dist/routes/commands.js +229 -0
- package/agent/dist/routes/commands.js.map +1 -0
- package/agent/dist/routes/files.d.ts +7 -0
- package/agent/dist/routes/files.d.ts.map +1 -0
- package/agent/dist/routes/files.js +206 -0
- package/agent/dist/routes/files.js.map +1 -0
- package/agent/dist/routes/hooks.d.ts +7 -0
- package/agent/dist/routes/hooks.d.ts.map +1 -0
- package/agent/dist/routes/hooks.js +147 -0
- package/agent/dist/routes/hooks.js.map +1 -0
- package/agent/dist/routes/index.d.ts +10 -0
- package/agent/dist/routes/index.d.ts.map +1 -0
- package/agent/dist/routes/index.js +10 -0
- package/agent/dist/routes/index.js.map +1 -0
- package/agent/dist/routes/pair.d.ts +26 -0
- package/agent/dist/routes/pair.d.ts.map +1 -0
- package/agent/dist/routes/pair.js +384 -0
- package/agent/dist/routes/pair.js.map +1 -0
- package/agent/dist/routes/projects.d.ts +6 -0
- package/agent/dist/routes/projects.d.ts.map +1 -0
- package/agent/dist/routes/projects.js +121 -0
- package/agent/dist/routes/projects.js.map +1 -0
- package/agent/dist/routes/sessions-git.d.ts +7 -0
- package/agent/dist/routes/sessions-git.d.ts.map +1 -0
- package/agent/dist/routes/sessions-git.js +31 -0
- package/agent/dist/routes/sessions-git.js.map +1 -0
- package/agent/dist/routes/sessions-tmux.d.ts +7 -0
- package/agent/dist/routes/sessions-tmux.d.ts.map +1 -0
- package/agent/dist/routes/sessions-tmux.js +94 -0
- package/agent/dist/routes/sessions-tmux.js.map +1 -0
- package/agent/dist/routes/sessions.d.ts +7 -0
- package/agent/dist/routes/sessions.d.ts.map +1 -0
- package/agent/dist/routes/sessions.js +172 -0
- package/agent/dist/routes/sessions.js.map +1 -0
- package/agent/dist/server.d.ts +6 -0
- package/agent/dist/server.d.ts.map +1 -0
- package/agent/dist/server.js +95 -0
- package/agent/dist/server.js.map +1 -0
- package/agent/dist/terminal.d.ts +19 -0
- package/agent/dist/terminal.d.ts.map +1 -0
- package/agent/dist/terminal.js +175 -0
- package/agent/dist/terminal.js.map +1 -0
- package/agent/dist/updater.d.ts +18 -0
- package/agent/dist/updater.d.ts.map +1 -0
- package/agent/dist/updater.js +122 -0
- package/agent/dist/updater.js.map +1 -0
- package/agent/dist/version.d.ts +20 -0
- package/agent/dist/version.d.ts.map +1 -0
- package/agent/dist/version.js +66 -0
- package/agent/dist/version.js.map +1 -0
- package/agent/dist/websocket-handlers.d.ts +38 -0
- package/agent/dist/websocket-handlers.d.ts.map +1 -0
- package/agent/dist/websocket-handlers.js +389 -0
- package/agent/dist/websocket-handlers.js.map +1 -0
- package/agent/node_modules/@agentdeck/shared/dist/index.d.ts +2 -0
- package/agent/node_modules/@agentdeck/shared/dist/index.d.ts.map +1 -0
- package/agent/node_modules/@agentdeck/shared/dist/index.js +2 -0
- package/agent/node_modules/@agentdeck/shared/dist/index.js.map +1 -0
- package/agent/node_modules/@agentdeck/shared/dist/types/index.d.ts +235 -0
- package/agent/node_modules/@agentdeck/shared/dist/types/index.d.ts.map +1 -0
- package/agent/node_modules/@agentdeck/shared/dist/types/index.js +5 -0
- package/agent/node_modules/@agentdeck/shared/dist/types/index.js.map +1 -0
- package/agent/node_modules/@agentdeck/shared/package.json +29 -0
- package/dist/commands/doctor.d.ts +3 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +304 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/hooks.d.ts +3 -0
- package/dist/commands/hooks.d.ts.map +1 -0
- package/dist/commands/hooks.js +187 -0
- package/dist/commands/hooks.js.map +1 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +109 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/logs.d.ts +3 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +38 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/profile.d.ts +3 -0
- package/dist/commands/profile.d.ts.map +1 -0
- package/dist/commands/profile.js +156 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/commands/service.d.ts +3 -0
- package/dist/commands/service.d.ts.map +1 -0
- package/dist/commands/service.js +235 -0
- package/dist/commands/service.js.map +1 -0
- package/dist/commands/start.d.ts +3 -0
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +122 -0
- package/dist/commands/start.js.map +1 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +48 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/stop.d.ts +3 -0
- package/dist/commands/stop.d.ts.map +1 -0
- package/dist/commands/stop.js +23 -0
- package/dist/commands/stop.js.map +1 -0
- package/dist/commands/update.d.ts +3 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +129 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/version.d.ts +3 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +39 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/config.d.ts +68 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +156 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/hooks.d.ts +67 -0
- package/dist/lib/hooks.d.ts.map +1 -0
- package/dist/lib/hooks.js +353 -0
- package/dist/lib/hooks.js.map +1 -0
- package/dist/lib/paths.d.ts +36 -0
- package/dist/lib/paths.d.ts.map +1 -0
- package/dist/lib/paths.js +77 -0
- package/dist/lib/paths.js.map +1 -0
- package/dist/lib/prerequisites.d.ts +60 -0
- package/dist/lib/prerequisites.d.ts.map +1 -0
- package/dist/lib/prerequisites.js +266 -0
- package/dist/lib/prerequisites.js.map +1 -0
- package/dist/lib/process.d.ts +40 -0
- package/dist/lib/process.d.ts.map +1 -0
- package/dist/lib/process.js +192 -0
- package/dist/lib/process.js.map +1 -0
- package/dist/service/index.d.ts +44 -0
- package/dist/service/index.d.ts.map +1 -0
- package/dist/service/index.js +18 -0
- package/dist/service/index.js.map +1 -0
- package/dist/service/launchd.d.ts +18 -0
- package/dist/service/launchd.d.ts.map +1 -0
- package/dist/service/launchd.js +208 -0
- package/dist/service/launchd.js.map +1 -0
- package/dist/service/systemd.d.ts +18 -0
- package/dist/service/systemd.d.ts.map +1 -0
- package/dist/service/systemd.js +196 -0
- package/dist/service/systemd.js.map +1 -0
- package/hooks/notify-agentdeck.sh +53 -0
- package/package.json +83 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@agentdeck/shared",
|
|
3
|
+
"version": "2.44.2",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"import": "./dist/index.js"
|
|
10
|
+
},
|
|
11
|
+
"./types": {
|
|
12
|
+
"types": "./dist/types/index.d.ts",
|
|
13
|
+
"import": "./dist/types/index.js"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc",
|
|
18
|
+
"dev": "tsc --watch",
|
|
19
|
+
"typecheck": "tsc --noEmit",
|
|
20
|
+
"clean": "rm -rf dist",
|
|
21
|
+
"test": "vitest run",
|
|
22
|
+
"test:watch": "vitest",
|
|
23
|
+
"test:coverage": "vitest run --coverage"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"typescript": "^5.7.2",
|
|
27
|
+
"vitest": "^4.0.16"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC,eAAO,MAAM,aAAa,SAoTtB,CAAC"}
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { existsSync } from 'fs';
|
|
4
|
+
import { checkNode, checkTmux, checkNativeDeps, getStoredAbiVersion, } from '../lib/prerequisites.js';
|
|
5
|
+
import { configExists, loadConfig } from '../lib/config.js';
|
|
6
|
+
import { isAgentRunning, getAgentHealth } from '../lib/process.js';
|
|
7
|
+
import { createServiceManager } from '../service/index.js';
|
|
8
|
+
import { getAgentPaths } from '../lib/paths.js';
|
|
9
|
+
import { getHooksStatus } from '../lib/hooks.js';
|
|
10
|
+
export const doctorCommand = new Command('doctor')
|
|
11
|
+
.description('Diagnose issues with your AgentDeck installation')
|
|
12
|
+
.action(async () => {
|
|
13
|
+
console.log(chalk.bold('\nAgentDeck Doctor\n'));
|
|
14
|
+
console.log(chalk.dim('Running diagnostics...\n'));
|
|
15
|
+
const results = [];
|
|
16
|
+
// 1. Check Node.js
|
|
17
|
+
const nodeCheck = checkNode();
|
|
18
|
+
results.push({
|
|
19
|
+
name: 'Node.js',
|
|
20
|
+
status: nodeCheck.status === 'ok' ? 'pass' : nodeCheck.status === 'warn' ? 'warn' : 'fail',
|
|
21
|
+
message: nodeCheck.message,
|
|
22
|
+
hint: nodeCheck.status === 'error' ? 'Install Node.js 22 or later' : undefined,
|
|
23
|
+
});
|
|
24
|
+
// 2. Check tmux
|
|
25
|
+
const tmuxCheck = checkTmux();
|
|
26
|
+
results.push({
|
|
27
|
+
name: 'tmux',
|
|
28
|
+
status: tmuxCheck.status === 'ok' ? 'pass' : tmuxCheck.status === 'warn' ? 'warn' : 'fail',
|
|
29
|
+
message: tmuxCheck.message,
|
|
30
|
+
hint: tmuxCheck.status === 'error'
|
|
31
|
+
? process.platform === 'darwin'
|
|
32
|
+
? 'Install with: brew install tmux'
|
|
33
|
+
: 'Install with: sudo apt install tmux'
|
|
34
|
+
: undefined,
|
|
35
|
+
});
|
|
36
|
+
// 3. Check native dependencies
|
|
37
|
+
const nativeCheck = await checkNativeDeps();
|
|
38
|
+
results.push({
|
|
39
|
+
name: 'Native modules',
|
|
40
|
+
status: nativeCheck.status === 'ok' ? 'pass' : nativeCheck.status === 'warn' ? 'warn' : 'fail',
|
|
41
|
+
message: nativeCheck.message,
|
|
42
|
+
hint: nativeCheck.status === 'error' ? 'Try reinstalling: npm install -g @agentdeck/cli' : undefined,
|
|
43
|
+
});
|
|
44
|
+
// 3b. Check Node ABI version
|
|
45
|
+
const storedAbi = getStoredAbiVersion();
|
|
46
|
+
const currentAbi = process.versions.modules;
|
|
47
|
+
if (storedAbi && storedAbi !== currentAbi) {
|
|
48
|
+
results.push({
|
|
49
|
+
name: 'Node ABI version',
|
|
50
|
+
status: 'warn',
|
|
51
|
+
message: `Changed (${storedAbi} → ${currentAbi}). Will rebuild on next start.`,
|
|
52
|
+
hint: 'Run "agentdeck start" to auto-rebuild, or "npm rebuild -g @agentdeck/cli"',
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
results.push({
|
|
57
|
+
name: 'Node ABI version',
|
|
58
|
+
status: 'pass',
|
|
59
|
+
message: `${currentAbi} (Node ${process.version})`,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
// 4. Check configuration
|
|
63
|
+
if (configExists()) {
|
|
64
|
+
const config = loadConfig();
|
|
65
|
+
if (config) {
|
|
66
|
+
results.push({
|
|
67
|
+
name: 'Configuration',
|
|
68
|
+
status: 'pass',
|
|
69
|
+
message: `Configured for "${config.machine.name}"`,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
results.push({
|
|
74
|
+
name: 'Configuration',
|
|
75
|
+
status: 'fail',
|
|
76
|
+
message: 'Config file exists but is invalid',
|
|
77
|
+
hint: 'Run "agentdeck init" to reconfigure',
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
results.push({
|
|
83
|
+
name: 'Configuration',
|
|
84
|
+
status: 'fail',
|
|
85
|
+
message: 'Not configured',
|
|
86
|
+
hint: 'Run "agentdeck init" to configure',
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
// 5. Check agent process
|
|
90
|
+
const processStatus = isAgentRunning();
|
|
91
|
+
if (processStatus.running) {
|
|
92
|
+
results.push({
|
|
93
|
+
name: 'Agent process',
|
|
94
|
+
status: 'pass',
|
|
95
|
+
message: `Running (PID: ${processStatus.pid})`,
|
|
96
|
+
});
|
|
97
|
+
// 6. Check agent health (only if running)
|
|
98
|
+
const config = loadConfig();
|
|
99
|
+
if (config) {
|
|
100
|
+
const health = await getAgentHealth(config.agent.port);
|
|
101
|
+
if (health.healthy) {
|
|
102
|
+
results.push({
|
|
103
|
+
name: 'Agent health',
|
|
104
|
+
status: 'pass',
|
|
105
|
+
message: `Healthy (${health.sessions} sessions)`,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
results.push({
|
|
110
|
+
name: 'Agent health',
|
|
111
|
+
status: 'warn',
|
|
112
|
+
message: `Not responding: ${health.error}`,
|
|
113
|
+
hint: 'Try restarting: agentdeck restart',
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
results.push({
|
|
120
|
+
name: 'Agent process',
|
|
121
|
+
status: 'warn',
|
|
122
|
+
message: 'Not running',
|
|
123
|
+
hint: 'Start with: agentdeck start',
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
// 7. Check service installation
|
|
127
|
+
try {
|
|
128
|
+
const serviceManager = createServiceManager();
|
|
129
|
+
const serviceStatus = await serviceManager.status();
|
|
130
|
+
if (serviceStatus.installed) {
|
|
131
|
+
if (serviceStatus.running) {
|
|
132
|
+
results.push({
|
|
133
|
+
name: `Service (${serviceManager.platform})`,
|
|
134
|
+
status: 'pass',
|
|
135
|
+
message: `Installed and running${serviceStatus.enabled ? ', enabled at boot' : ''}`,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
results.push({
|
|
140
|
+
name: `Service (${serviceManager.platform})`,
|
|
141
|
+
status: 'warn',
|
|
142
|
+
message: 'Installed but not running',
|
|
143
|
+
hint: 'Start with: agentdeck service start',
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
results.push({
|
|
149
|
+
name: `Service (${serviceManager.platform})`,
|
|
150
|
+
status: 'warn',
|
|
151
|
+
message: 'Not installed',
|
|
152
|
+
hint: 'Install with: agentdeck service install --start',
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
catch (err) {
|
|
157
|
+
results.push({
|
|
158
|
+
name: 'Service',
|
|
159
|
+
status: 'fail',
|
|
160
|
+
message: err.message,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
// 8. Check paths and directories
|
|
164
|
+
const paths = getAgentPaths();
|
|
165
|
+
// Config directory
|
|
166
|
+
if (existsSync(paths.configDir)) {
|
|
167
|
+
results.push({
|
|
168
|
+
name: 'Config directory',
|
|
169
|
+
status: 'pass',
|
|
170
|
+
message: paths.configDir,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
results.push({
|
|
175
|
+
name: 'Config directory',
|
|
176
|
+
status: 'warn',
|
|
177
|
+
message: `Missing: ${paths.configDir}`,
|
|
178
|
+
hint: 'Run "agentdeck init" to create',
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
// Log directory
|
|
182
|
+
if (existsSync(paths.logDir)) {
|
|
183
|
+
results.push({
|
|
184
|
+
name: 'Log directory',
|
|
185
|
+
status: 'pass',
|
|
186
|
+
message: paths.logDir,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
results.push({
|
|
191
|
+
name: 'Log directory',
|
|
192
|
+
status: 'warn',
|
|
193
|
+
message: `Missing: ${paths.logDir}`,
|
|
194
|
+
hint: 'Will be created when agent starts',
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
// 9. Check port availability (if agent not running)
|
|
198
|
+
if (!processStatus.running) {
|
|
199
|
+
const config = loadConfig();
|
|
200
|
+
if (config) {
|
|
201
|
+
const net = await import('net');
|
|
202
|
+
const portAvailable = await new Promise((resolve) => {
|
|
203
|
+
const server = net.createServer();
|
|
204
|
+
server.once('error', () => resolve(false));
|
|
205
|
+
server.once('listening', () => {
|
|
206
|
+
server.close();
|
|
207
|
+
resolve(true);
|
|
208
|
+
});
|
|
209
|
+
server.listen(config.agent.port, '127.0.0.1');
|
|
210
|
+
});
|
|
211
|
+
if (portAvailable) {
|
|
212
|
+
results.push({
|
|
213
|
+
name: 'Port availability',
|
|
214
|
+
status: 'pass',
|
|
215
|
+
message: `Port ${config.agent.port} is available`,
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
results.push({
|
|
220
|
+
name: 'Port availability',
|
|
221
|
+
status: 'fail',
|
|
222
|
+
message: `Port ${config.agent.port} is in use`,
|
|
223
|
+
hint: 'Change the port in ~/.agentdeck/config.json or stop the conflicting process',
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
// 10. Check hooks status
|
|
229
|
+
const hooksStatus = getHooksStatus();
|
|
230
|
+
if (hooksStatus.installed) {
|
|
231
|
+
if (hooksStatus.needsUpdate) {
|
|
232
|
+
results.push({
|
|
233
|
+
name: 'Notification hooks',
|
|
234
|
+
status: 'warn',
|
|
235
|
+
message: `Installed (v${hooksStatus.version}) - update available`,
|
|
236
|
+
hint: 'Run "agentdeck hooks install" to update',
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
results.push({
|
|
241
|
+
name: 'Notification hooks',
|
|
242
|
+
status: 'pass',
|
|
243
|
+
message: `Installed (v${hooksStatus.version})`,
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
results.push({
|
|
249
|
+
name: 'Notification hooks',
|
|
250
|
+
status: 'warn',
|
|
251
|
+
message: 'Not installed',
|
|
252
|
+
hint: 'Run "agentdeck hooks install" for attention notifications',
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
// Print results
|
|
256
|
+
console.log(chalk.bold('Results:\n'));
|
|
257
|
+
let passCount = 0;
|
|
258
|
+
let warnCount = 0;
|
|
259
|
+
let failCount = 0;
|
|
260
|
+
for (const result of results) {
|
|
261
|
+
let icon;
|
|
262
|
+
let color;
|
|
263
|
+
switch (result.status) {
|
|
264
|
+
case 'pass':
|
|
265
|
+
icon = '✓';
|
|
266
|
+
color = chalk.green;
|
|
267
|
+
passCount++;
|
|
268
|
+
break;
|
|
269
|
+
case 'warn':
|
|
270
|
+
icon = '!';
|
|
271
|
+
color = chalk.yellow;
|
|
272
|
+
warnCount++;
|
|
273
|
+
break;
|
|
274
|
+
case 'fail':
|
|
275
|
+
icon = '✗';
|
|
276
|
+
color = chalk.red;
|
|
277
|
+
failCount++;
|
|
278
|
+
break;
|
|
279
|
+
}
|
|
280
|
+
console.log(`${color(icon)} ${result.name}: ${result.message}`);
|
|
281
|
+
if (result.hint) {
|
|
282
|
+
console.log(chalk.dim(` → ${result.hint}`));
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
// Summary
|
|
286
|
+
console.log();
|
|
287
|
+
console.log(chalk.bold('Summary:'));
|
|
288
|
+
console.log(` ${chalk.green(passCount + ' passed')}, ${chalk.yellow(warnCount + ' warnings')}, ${chalk.red(failCount + ' failures')}`);
|
|
289
|
+
if (failCount > 0) {
|
|
290
|
+
console.log();
|
|
291
|
+
console.log(chalk.red('Some checks failed. Please resolve the issues above.'));
|
|
292
|
+
process.exit(1);
|
|
293
|
+
}
|
|
294
|
+
else if (warnCount > 0) {
|
|
295
|
+
console.log();
|
|
296
|
+
console.log(chalk.yellow('Some warnings detected. Consider resolving them for best experience.'));
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
console.log();
|
|
300
|
+
console.log(chalk.green('All checks passed! AgentDeck is ready to use.'));
|
|
301
|
+
}
|
|
302
|
+
console.log();
|
|
303
|
+
});
|
|
304
|
+
//# sourceMappingURL=doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/commands/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,YAAY,SAExB,CAAC"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import ora from 'ora';
|
|
4
|
+
import { getHooksStatus, installHook, uninstallHook, getCodexNotifyStatus, installCodexNotify, uninstallCodexNotify, } from '../lib/hooks.js';
|
|
5
|
+
export const hooksCommand = new Command('hooks').description('Manage Claude Code and Codex notification hooks');
|
|
6
|
+
hooksCommand
|
|
7
|
+
.command('install')
|
|
8
|
+
.description('Install Claude Code and Codex notification hooks')
|
|
9
|
+
.option('-f, --force', 'Force reinstall even if hooks are up to date')
|
|
10
|
+
.action(async (options) => {
|
|
11
|
+
const spinner = ora('Checking hooks status...').start();
|
|
12
|
+
try {
|
|
13
|
+
const status = getHooksStatus();
|
|
14
|
+
// Check if already installed and up to date
|
|
15
|
+
if (status.installed && !status.needsUpdate && !options.force) {
|
|
16
|
+
spinner.succeed('Hooks already installed and up to date');
|
|
17
|
+
console.log(chalk.dim(` Version: ${status.version}`));
|
|
18
|
+
console.log(chalk.dim(` Path: ${status.path}`));
|
|
19
|
+
console.log(chalk.dim('\nUse --force to reinstall.\n'));
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
// Check if update needed
|
|
23
|
+
if (status.installed && status.needsUpdate) {
|
|
24
|
+
spinner.text = `Updating hooks (${status.version} -> ${status.packagedVersion})...`;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
spinner.text = 'Installing hooks...';
|
|
28
|
+
}
|
|
29
|
+
const result = installHook();
|
|
30
|
+
if (result.success) {
|
|
31
|
+
if (status.installed && status.needsUpdate) {
|
|
32
|
+
spinner.succeed(`Hooks updated to v${result.installedVersion}`);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
spinner.succeed(`Hooks installed (v${result.installedVersion})`);
|
|
36
|
+
}
|
|
37
|
+
console.log(chalk.dim(` Path: ${status.path}`));
|
|
38
|
+
console.log(chalk.dim(' Settings: ~/.claude/settings.json\n'));
|
|
39
|
+
console.log(chalk.green('Claude Code will now notify AgentDeck when it needs attention.'));
|
|
40
|
+
console.log(chalk.dim('Make sure the AgentDeck agent is running: agentdeck start\n'));
|
|
41
|
+
const codexResult = installCodexNotify({ force: options.force });
|
|
42
|
+
if (codexResult.status === 'installed' || codexResult.status === 'updated') {
|
|
43
|
+
console.log(chalk.green('Codex will now notify AgentDeck when it needs attention.'));
|
|
44
|
+
console.log(chalk.dim(' Settings: ~/.codex/config.toml\n'));
|
|
45
|
+
}
|
|
46
|
+
else if (codexResult.status === 'conflict') {
|
|
47
|
+
console.log(chalk.yellow('Codex notify already configured. Update ~/.codex/config.toml to use notify-agentdeck.sh.'));
|
|
48
|
+
console.log(chalk.dim(' Expected: notify = ["bash", "~/.agentdeck/hooks/notify-agentdeck.sh"]\n'));
|
|
49
|
+
}
|
|
50
|
+
else if (codexResult.status === 'missing-config') {
|
|
51
|
+
console.log(chalk.dim('Codex config not found (skipped). If you use Codex, add notify to ~/.codex/config.toml.'));
|
|
52
|
+
console.log(chalk.dim(' notify = ["bash", "~/.agentdeck/hooks/notify-agentdeck.sh"]\n'));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
spinner.fail(`Failed to install hooks: ${result.error}`);
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
spinner.fail(`Error: ${err.message}`);
|
|
62
|
+
process.exit(1);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
hooksCommand
|
|
66
|
+
.command('uninstall')
|
|
67
|
+
.description('Uninstall Claude Code and Codex notification hooks')
|
|
68
|
+
.option('--keep-script', 'Keep the script file, only remove from settings')
|
|
69
|
+
.action(async (options) => {
|
|
70
|
+
const spinner = ora('Checking hooks status...').start();
|
|
71
|
+
try {
|
|
72
|
+
const status = getHooksStatus();
|
|
73
|
+
if (!status.installed && !status.settingsConfigured) {
|
|
74
|
+
spinner.succeed('No hooks installed - nothing to uninstall');
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
spinner.text = 'Uninstalling hooks...';
|
|
78
|
+
const codexResult = uninstallCodexNotify();
|
|
79
|
+
const result = uninstallHook(!options.keepScript);
|
|
80
|
+
if (result.success) {
|
|
81
|
+
spinner.succeed('Hooks uninstalled');
|
|
82
|
+
if (!options.keepScript) {
|
|
83
|
+
console.log(chalk.dim(` Removed: ${status.path}`));
|
|
84
|
+
}
|
|
85
|
+
console.log(chalk.dim(' Cleaned: ~/.claude/settings.json\n'));
|
|
86
|
+
if (codexResult.status === 'removed') {
|
|
87
|
+
console.log(chalk.dim(' Cleaned: ~/.codex/config.toml\n'));
|
|
88
|
+
}
|
|
89
|
+
else if (codexResult.status === 'conflict') {
|
|
90
|
+
console.log(chalk.yellow('Codex notify entry not managed by AgentDeck. No changes made to config.'));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
spinner.fail(`Failed to uninstall hooks: ${result.error}`);
|
|
95
|
+
process.exit(1);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
spinner.fail(`Error: ${err.message}`);
|
|
100
|
+
process.exit(1);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
hooksCommand
|
|
104
|
+
.command('status')
|
|
105
|
+
.description('Show hooks installation status')
|
|
106
|
+
.action(async () => {
|
|
107
|
+
console.log(chalk.bold('\nAgentDeck Hooks Status\n'));
|
|
108
|
+
const status = getHooksStatus();
|
|
109
|
+
if (status.installed) {
|
|
110
|
+
console.log(chalk.green('✓ Hooks installed'));
|
|
111
|
+
console.log(chalk.dim(` Version: ${status.version || 'unknown'}`));
|
|
112
|
+
console.log(chalk.dim(` Path: ${status.path}`));
|
|
113
|
+
if (status.needsUpdate) {
|
|
114
|
+
console.log();
|
|
115
|
+
console.log(chalk.yellow(`⚠ Update available: ${status.version} -> ${status.packagedVersion}`));
|
|
116
|
+
console.log(chalk.dim(' Run: agentdeck hooks install'));
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
console.log(chalk.green('✓ Up to date'));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
console.log(chalk.yellow('✗ Hooks not installed'));
|
|
124
|
+
if (status.settingsConfigured) {
|
|
125
|
+
console.log(chalk.dim(' Settings configured but script missing'));
|
|
126
|
+
}
|
|
127
|
+
console.log();
|
|
128
|
+
console.log('Run: agentdeck hooks install');
|
|
129
|
+
}
|
|
130
|
+
console.log();
|
|
131
|
+
// Show settings configuration
|
|
132
|
+
console.log(chalk.bold('Claude Code Settings:'));
|
|
133
|
+
if (status.settingsConfigured) {
|
|
134
|
+
console.log(chalk.green('✓ Notification hook registered'));
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
console.log(chalk.yellow('✗ Notification hook not registered'));
|
|
138
|
+
}
|
|
139
|
+
console.log();
|
|
140
|
+
const codexStatus = getCodexNotifyStatus();
|
|
141
|
+
console.log(chalk.bold('Codex Settings:'));
|
|
142
|
+
if (!codexStatus.configExists) {
|
|
143
|
+
console.log(chalk.dim('Config not found: ~/.codex/config.toml'));
|
|
144
|
+
}
|
|
145
|
+
else if (codexStatus.notifyConfigured) {
|
|
146
|
+
console.log(chalk.green('✓ Notification hook registered'));
|
|
147
|
+
}
|
|
148
|
+
else if (codexStatus.notifyLine) {
|
|
149
|
+
console.log(chalk.yellow('✗ Notification hook points elsewhere'));
|
|
150
|
+
console.log(chalk.dim(' Expected: notify = ["bash", "~/.agentdeck/hooks/notify-agentdeck.sh"]'));
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
console.log(chalk.yellow('✗ Notification hook not registered'));
|
|
154
|
+
}
|
|
155
|
+
console.log();
|
|
156
|
+
});
|
|
157
|
+
hooksCommand
|
|
158
|
+
.command('update')
|
|
159
|
+
.description('Update hooks to the latest version')
|
|
160
|
+
.action(async () => {
|
|
161
|
+
const spinner = ora('Checking for updates...').start();
|
|
162
|
+
try {
|
|
163
|
+
const status = getHooksStatus();
|
|
164
|
+
if (!status.installed) {
|
|
165
|
+
spinner.info('Hooks not installed. Run: agentdeck hooks install');
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
if (!status.needsUpdate) {
|
|
169
|
+
spinner.succeed(`Hooks already up to date (v${status.version})`);
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
spinner.text = `Updating hooks (${status.version} -> ${status.packagedVersion})...`;
|
|
173
|
+
const result = installHook();
|
|
174
|
+
if (result.success) {
|
|
175
|
+
spinner.succeed(`Hooks updated to v${result.installedVersion}`);
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
spinner.fail(`Failed to update hooks: ${result.error}`);
|
|
179
|
+
process.exit(1);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
catch (err) {
|
|
183
|
+
spinner.fail(`Error: ${err.message}`);
|
|
184
|
+
process.exit(1);
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/commands/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EACL,cAAc,EACd,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAC1D,iDAAiD,CAClD,CAAC;AAEF,YAAY;KACT,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,aAAa,EAAE,8CAA8C,CAAC;KACrE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;IAExD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAEhC,4CAA4C;QAC5C,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9D,OAAO,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,yBAAyB;QACzB,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,GAAG,mBAAmB,MAAM,CAAC,OAAO,OAAO,MAAM,CAAC,eAAe,MAAM,CAAC;QACtF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,GAAG,qBAAqB,CAAC;QACvC,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;QAE7B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC3C,OAAO,CAAC,OAAO,CAAC,qBAAqB,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,OAAO,CAAC,qBAAqB,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC,CAAC;YAC3F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,CAAC;YAEtF,MAAM,WAAW,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACjE,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC,CAAC;gBACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;YAC/D,CAAC;iBAAM,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC7C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,0FAA0F,CAC3F,CACF,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC,CAAC;YACtG,CAAC;iBAAM,IAAI,WAAW,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;gBACnD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,yFAAyF,CAC1F,CACF,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,UAAW,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,YAAY;KACT,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,eAAe,EAAE,iDAAiD,CAAC;KAC1E,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,GAAG,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAAC;IAExD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAEhC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACpD,OAAO,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,OAAO,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACvC,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAElD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;YAE/D,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC9D,CAAC;iBAAM,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC7C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,yEAAyE,CAAC,CACxF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,8BAA8B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,UAAW,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,YAAY;KACT,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAEhC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAEjD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,uBAAuB,MAAM,CAAC,OAAO,OAAO,MAAM,CAAC,eAAe,EAAE,CAAC,CACnF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAEnD,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,8BAA8B;IAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC7D,CAAC;SAAM,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC,CAAC;IACpG,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEL,YAAY;KACT,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,OAAO,GAAG,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEvD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAEhC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,8BAA8B,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,OAAO,CAAC,IAAI,GAAG,mBAAmB,MAAM,CAAC,OAAO,OAAO,MAAM,CAAC,eAAe,MAAM,CAAC;QAEpF,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;QAE7B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,OAAO,CAAC,qBAAqB,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,UAAW,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,eAAO,MAAM,WAAW,SAoHpB,CAAC"}
|