jfl 0.2.2 → 0.2.3
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/clawdbot-plugin/clawdbot.plugin.json +12 -1
- package/clawdbot-plugin/index.js +5 -5
- package/clawdbot-plugin/index.ts +5 -5
- package/dist/commands/context-hub.d.ts +4 -0
- package/dist/commands/context-hub.d.ts.map +1 -1
- package/dist/commands/context-hub.js +570 -81
- package/dist/commands/context-hub.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +42 -11
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/peter.d.ts +15 -0
- package/dist/commands/peter.d.ts.map +1 -0
- package/dist/commands/peter.js +198 -0
- package/dist/commands/peter.js.map +1 -0
- package/dist/commands/ralph.d.ts +3 -1
- package/dist/commands/ralph.d.ts.map +1 -1
- package/dist/commands/ralph.js +40 -5
- package/dist/commands/ralph.js.map +1 -1
- package/dist/commands/session.d.ts +2 -1
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +496 -49
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +25 -6
- package/dist/commands/update.js.map +1 -1
- package/dist/dashboard/components.d.ts +7 -0
- package/dist/dashboard/components.d.ts.map +1 -0
- package/dist/dashboard/components.js +163 -0
- package/dist/dashboard/components.js.map +1 -0
- package/dist/dashboard/index.d.ts +12 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +132 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/dashboard/pages.d.ts +7 -0
- package/dist/dashboard/pages.d.ts.map +1 -0
- package/dist/dashboard/pages.js +742 -0
- package/dist/dashboard/pages.js.map +1 -0
- package/dist/dashboard/styles.d.ts +7 -0
- package/dist/dashboard/styles.d.ts.map +1 -0
- package/dist/dashboard/styles.js +497 -0
- package/dist/dashboard/styles.js.map +1 -0
- package/dist/index.js +30 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/map-event-bus.d.ts +48 -0
- package/dist/lib/map-event-bus.d.ts.map +1 -0
- package/dist/lib/map-event-bus.js +326 -0
- package/dist/lib/map-event-bus.js.map +1 -0
- package/dist/lib/peter-parker-bridge.d.ts +33 -0
- package/dist/lib/peter-parker-bridge.d.ts.map +1 -0
- package/dist/lib/peter-parker-bridge.js +116 -0
- package/dist/lib/peter-parker-bridge.js.map +1 -0
- package/dist/lib/peter-parker-config.d.ts +13 -0
- package/dist/lib/peter-parker-config.d.ts.map +1 -0
- package/dist/lib/peter-parker-config.js +86 -0
- package/dist/lib/peter-parker-config.js.map +1 -0
- package/dist/lib/service-utils.d.ts.map +1 -1
- package/dist/lib/service-utils.js +33 -17
- package/dist/lib/service-utils.js.map +1 -1
- package/dist/mcp/context-hub-mcp.js +122 -22
- package/dist/mcp/context-hub-mcp.js.map +1 -1
- package/dist/types/map.d.ts +33 -0
- package/dist/types/map.d.ts.map +1 -0
- package/dist/types/map.js +39 -0
- package/dist/types/map.js.map +1 -0
- package/dist/ui/event-dashboard.d.ts +12 -0
- package/dist/ui/event-dashboard.d.ts.map +1 -0
- package/dist/ui/event-dashboard.js +342 -0
- package/dist/ui/event-dashboard.js.map +1 -0
- package/package.json +1 -1
- package/scripts/test-map-eventbus.sh +357 -0
package/dist/commands/session.js
CHANGED
|
@@ -1,53 +1,196 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
2
|
import ora from "ora";
|
|
3
3
|
import * as p from "@clack/prompts";
|
|
4
|
-
import {
|
|
4
|
+
import { execSync, spawn } from "child_process";
|
|
5
|
+
import { existsSync, readFileSync } from "fs";
|
|
5
6
|
import { join } from "path";
|
|
6
7
|
import { homedir } from "os";
|
|
7
8
|
import Conf from "conf";
|
|
8
|
-
import { ensureDayPass, isTrialMode } from "../utils/auth-guard.js";
|
|
9
9
|
import { ensureContextHub, getContextHubConfig } from "../utils/ensure-context-hub.js";
|
|
10
|
-
import { isRunning as getContextHubStatus } from "./context-hub.js";
|
|
10
|
+
import { isRunning as getContextHubStatus, ensureDaemonInstalled } from "./context-hub.js";
|
|
11
11
|
import { initCommand } from "./init.js";
|
|
12
|
+
import { authenticateWithGitHub, discoverJflProjects, cloneRepository, } from "../utils/github-auth.js";
|
|
13
|
+
import { renderBanner, showHowItWorksNotice, theme } from "../ui/index.js";
|
|
12
14
|
import axios from "axios";
|
|
13
15
|
const config = new Conf({ projectName: "jfl" });
|
|
16
|
+
const AUTONOMOUS_FLAGS = {
|
|
17
|
+
claude: "--dangerously-skip-permissions",
|
|
18
|
+
codex: "--full-auto",
|
|
19
|
+
aider: "--yes-always",
|
|
20
|
+
pi: "--yolo",
|
|
21
|
+
none: undefined,
|
|
22
|
+
};
|
|
23
|
+
const CHROME_FLAG = "--chrome";
|
|
14
24
|
export async function sessionCommand(options = {}) {
|
|
15
25
|
const cwd = process.cwd();
|
|
16
|
-
// Check if in a JFL project
|
|
17
26
|
const hasJflConfig = existsSync(join(cwd, "CLAUDE.md")) || existsSync(join(cwd, "knowledge"));
|
|
18
27
|
if (!hasJflConfig) {
|
|
19
28
|
await onboardNewUser(cwd);
|
|
20
29
|
return;
|
|
21
30
|
}
|
|
22
|
-
// Check day pass for paid users (trial mode is free)
|
|
23
|
-
if (!isTrialMode()) {
|
|
24
|
-
console.log(chalk.yellow("\n💳 Payment required (teammates detected)\n"));
|
|
25
|
-
const dayPass = await ensureDayPass();
|
|
26
|
-
if (!dayPass) {
|
|
27
|
-
console.log(chalk.red("\n❌ Cannot start session without active Day Pass\n"));
|
|
28
|
-
console.log(chalk.gray("Run: jfl login --x402"));
|
|
29
|
-
console.log();
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
console.log(chalk.green("✓ Day Pass verified\n"));
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
console.log(chalk.green("🎁 Trial Mode") + chalk.gray(" - Free until foundation complete\n"));
|
|
36
|
-
}
|
|
37
31
|
// Track this project
|
|
38
32
|
const projects = config.get("projects") || [];
|
|
39
33
|
if (!projects.includes(cwd)) {
|
|
40
34
|
projects.push(cwd);
|
|
41
35
|
config.set("projects", projects);
|
|
42
36
|
}
|
|
43
|
-
//
|
|
44
|
-
|
|
37
|
+
// Auto-install daemon (fire-and-forget, silent)
|
|
38
|
+
ensureDaemonInstalled({ quiet: true }).catch(() => { });
|
|
39
|
+
// Check for saved CLI preference
|
|
40
|
+
let preferredCLI = config.get("aiCLI");
|
|
41
|
+
// Detect available CLIs
|
|
42
|
+
const available = detectAICLIs();
|
|
43
|
+
if (available.length === 0) {
|
|
44
|
+
await onboardAICLI();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
// If preference is set and still available, use it
|
|
48
|
+
if (preferredCLI) {
|
|
49
|
+
const preferred = available.find(cli => cli.command === preferredCLI);
|
|
50
|
+
if (preferred) {
|
|
51
|
+
await launchCLI(preferred, cwd);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// If only one option, use it
|
|
56
|
+
if (available.length === 1) {
|
|
57
|
+
config.set("aiCLI", available[0].command);
|
|
58
|
+
await launchCLI(available[0], cwd);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
// Multiple options - let them choose
|
|
62
|
+
console.log(chalk.bold("\n🤖 JFL - AI Session\n"));
|
|
63
|
+
console.log(chalk.gray("Multiple AI CLIs detected:\n"));
|
|
64
|
+
const selected = await p.select({
|
|
65
|
+
message: "Which AI do you want to use?",
|
|
66
|
+
options: available.map(cli => ({
|
|
67
|
+
label: `${cli.name}${cli.version ? ` (${cli.version})` : ""}`,
|
|
68
|
+
value: cli.command,
|
|
69
|
+
})),
|
|
70
|
+
});
|
|
71
|
+
if (p.isCancel(selected)) {
|
|
72
|
+
p.cancel("Session cancelled.");
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const remember = await p.confirm({
|
|
76
|
+
message: "Remember this choice?",
|
|
77
|
+
initialValue: true,
|
|
78
|
+
});
|
|
79
|
+
if (!p.isCancel(remember) && remember) {
|
|
80
|
+
config.set("aiCLI", selected);
|
|
81
|
+
}
|
|
82
|
+
const cli = available.find(c => c.command === selected);
|
|
83
|
+
await launchCLI(cli, cwd);
|
|
84
|
+
}
|
|
85
|
+
function detectAICLIs() {
|
|
86
|
+
const clis = [];
|
|
87
|
+
try {
|
|
88
|
+
const version = execSync("claude --version 2>/dev/null", { encoding: "utf-8" }).trim();
|
|
89
|
+
clis.push({
|
|
90
|
+
name: "Claude Code",
|
|
91
|
+
command: "claude",
|
|
92
|
+
provider: "claude",
|
|
93
|
+
version: version.split("\n")[0],
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
catch { }
|
|
97
|
+
try {
|
|
98
|
+
const version = execSync("codex --version 2>/dev/null", { encoding: "utf-8" }).trim();
|
|
99
|
+
clis.push({
|
|
100
|
+
name: "Codex CLI",
|
|
101
|
+
command: "codex",
|
|
102
|
+
provider: "codex",
|
|
103
|
+
version,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
catch { }
|
|
107
|
+
try {
|
|
108
|
+
const version = execSync("aider --version 2>/dev/null", { encoding: "utf-8" }).trim();
|
|
109
|
+
clis.push({
|
|
110
|
+
name: "Aider",
|
|
111
|
+
command: "aider",
|
|
112
|
+
provider: "aider",
|
|
113
|
+
version,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
catch { }
|
|
117
|
+
try {
|
|
118
|
+
const version = execSync("pi --version 2>/dev/null", { encoding: "utf-8" }).trim();
|
|
119
|
+
clis.push({
|
|
120
|
+
name: "Pi",
|
|
121
|
+
command: "pi",
|
|
122
|
+
provider: "pi",
|
|
123
|
+
version: version.split("\n")[0],
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
catch { }
|
|
127
|
+
return clis;
|
|
128
|
+
}
|
|
129
|
+
async function promptAutonomousMode(cli) {
|
|
130
|
+
const savedPref = config.get(`autonomous_${cli.provider}`);
|
|
131
|
+
if (savedPref !== undefined)
|
|
132
|
+
return savedPref;
|
|
133
|
+
const flag = AUTONOMOUS_FLAGS[cli.provider];
|
|
134
|
+
if (!flag)
|
|
135
|
+
return false;
|
|
136
|
+
console.log();
|
|
137
|
+
const autonomous = await p.confirm({
|
|
138
|
+
message: `Run in autonomous mode? (${flag})`,
|
|
139
|
+
initialValue: false,
|
|
140
|
+
});
|
|
141
|
+
if (p.isCancel(autonomous))
|
|
142
|
+
return false;
|
|
143
|
+
if (autonomous) {
|
|
144
|
+
console.log(chalk.yellow("\n⚠️ Autonomous mode: AI can execute without asking permission."));
|
|
145
|
+
}
|
|
146
|
+
const remember = await p.confirm({
|
|
147
|
+
message: "Remember this choice?",
|
|
148
|
+
initialValue: true,
|
|
149
|
+
});
|
|
150
|
+
if (!p.isCancel(remember) && remember) {
|
|
151
|
+
config.set(`autonomous_${cli.provider}`, autonomous);
|
|
152
|
+
}
|
|
153
|
+
return autonomous;
|
|
154
|
+
}
|
|
155
|
+
async function promptChromeMode(cli) {
|
|
156
|
+
if (cli.provider !== "claude")
|
|
157
|
+
return false;
|
|
158
|
+
const savedPref = config.get("chrome_claude");
|
|
159
|
+
if (savedPref !== undefined)
|
|
160
|
+
return savedPref;
|
|
161
|
+
console.log();
|
|
162
|
+
const chrome = await p.confirm({
|
|
163
|
+
message: `Enable browser capabilities? (${CHROME_FLAG})`,
|
|
164
|
+
initialValue: false,
|
|
165
|
+
});
|
|
166
|
+
if (p.isCancel(chrome))
|
|
167
|
+
return false;
|
|
168
|
+
if (chrome) {
|
|
169
|
+
console.log(chalk.cyan("\n🌐 Chrome mode: Claude can browse and interact with web pages."));
|
|
170
|
+
}
|
|
171
|
+
const remember = await p.confirm({
|
|
172
|
+
message: "Remember this choice?",
|
|
173
|
+
initialValue: true,
|
|
174
|
+
});
|
|
175
|
+
if (!p.isCancel(remember) && remember) {
|
|
176
|
+
config.set("chrome_claude", chrome);
|
|
177
|
+
}
|
|
178
|
+
return chrome;
|
|
179
|
+
}
|
|
180
|
+
function showBanner() {
|
|
181
|
+
let version;
|
|
182
|
+
try {
|
|
183
|
+
const pkgPath = new URL("../../package.json", import.meta.url);
|
|
184
|
+
const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
|
|
185
|
+
version = pkg.version;
|
|
186
|
+
}
|
|
187
|
+
catch { }
|
|
188
|
+
console.log(renderBanner({ version }));
|
|
45
189
|
}
|
|
46
190
|
async function showGatewayDashboard() {
|
|
47
191
|
console.log(chalk.bold.cyan("\n┌─────────────────────────────────────────┐"));
|
|
48
192
|
console.log(chalk.bold.cyan("│ JFL Gateway Dashboard │"));
|
|
49
193
|
console.log(chalk.bold.cyan("└─────────────────────────────────────────┘\n"));
|
|
50
|
-
// 1. Ensure and check Context Hub
|
|
51
194
|
const spinner1 = ora("Checking Context Hub...").start();
|
|
52
195
|
await ensureContextHub();
|
|
53
196
|
const contextHubConfig = getContextHubConfig();
|
|
@@ -59,7 +202,6 @@ async function showGatewayDashboard() {
|
|
|
59
202
|
else {
|
|
60
203
|
spinner1.fail(chalk.red("Context Hub not running"));
|
|
61
204
|
}
|
|
62
|
-
// 2. Check Service Manager
|
|
63
205
|
const spinner2 = ora("Checking Service Manager...").start();
|
|
64
206
|
const serviceManagerStatus = await checkServiceManager();
|
|
65
207
|
if (serviceManagerStatus.running) {
|
|
@@ -70,31 +212,12 @@ async function showGatewayDashboard() {
|
|
|
70
212
|
spinner2.warn(chalk.yellow("Service Manager not running"));
|
|
71
213
|
console.log(chalk.gray(" Start with: pm2 start ~/.jfl/service-manager/ecosystem.config.js"));
|
|
72
214
|
}
|
|
73
|
-
// 3. Show connection info
|
|
74
215
|
console.log();
|
|
75
216
|
console.log(chalk.bold("Gateway Endpoints:"));
|
|
76
217
|
console.log(chalk.gray(" Context Hub: ") + chalk.cyan(`http://localhost:${contextHubConfig.port}`));
|
|
77
218
|
console.log(chalk.gray(" Service Manager: ") + chalk.cyan("http://localhost:3401"));
|
|
78
219
|
console.log(chalk.gray(" MCP Server: ") + chalk.cyan("Connected via MCP"));
|
|
79
|
-
// 4. Show how to connect
|
|
80
|
-
console.log();
|
|
81
|
-
console.log(chalk.bold("AI Tools Connection:"));
|
|
82
|
-
console.log(chalk.gray(" Claude Code connects via MCP automatically"));
|
|
83
|
-
console.log(chalk.gray(" Cursor connects via MCP automatically"));
|
|
84
|
-
console.log(chalk.gray(" Custom tools can use HTTP API"));
|
|
85
|
-
// 5. Show available commands
|
|
86
|
-
console.log();
|
|
87
|
-
console.log(chalk.bold("Manage Services:"));
|
|
88
|
-
console.log(chalk.gray(" jfl-services list ") + "# List all services");
|
|
89
|
-
console.log(chalk.gray(" jfl-services start <id> ") + "# Start a service");
|
|
90
|
-
console.log(chalk.gray(" jfl-services logs <id> ") + "# View service logs");
|
|
91
220
|
console.log();
|
|
92
|
-
console.log(chalk.bold("View Status:"));
|
|
93
|
-
console.log(chalk.gray(" jfl status ") + "# Project status");
|
|
94
|
-
console.log(chalk.gray(" jfl hud ") + "# Campaign dashboard");
|
|
95
|
-
console.log();
|
|
96
|
-
console.log(chalk.green("✓ JFL Gateway is ready!"));
|
|
97
|
-
console.log(chalk.gray(" Open Claude Code or Cursor to connect via MCP\n"));
|
|
98
221
|
}
|
|
99
222
|
async function checkServiceManager() {
|
|
100
223
|
try {
|
|
@@ -102,20 +225,344 @@ async function checkServiceManager() {
|
|
|
102
225
|
const services = response.data.stats?.total_services || 0;
|
|
103
226
|
return { running: true, services };
|
|
104
227
|
}
|
|
105
|
-
catch
|
|
228
|
+
catch {
|
|
106
229
|
return { running: false };
|
|
107
230
|
}
|
|
108
231
|
}
|
|
232
|
+
async function launchCLI(cli, cwd) {
|
|
233
|
+
const autonomous = await promptAutonomousMode(cli);
|
|
234
|
+
let chrome = false;
|
|
235
|
+
if (cli.provider === "claude") {
|
|
236
|
+
chrome = await promptChromeMode(cli);
|
|
237
|
+
}
|
|
238
|
+
// Ensure Context Hub is running and show dashboard before launch
|
|
239
|
+
await showGatewayDashboard();
|
|
240
|
+
// Build args
|
|
241
|
+
const args = [];
|
|
242
|
+
if (autonomous && AUTONOMOUS_FLAGS[cli.provider]) {
|
|
243
|
+
args.push(AUTONOMOUS_FLAGS[cli.provider]);
|
|
244
|
+
}
|
|
245
|
+
if (chrome) {
|
|
246
|
+
args.push(CHROME_FLAG);
|
|
247
|
+
}
|
|
248
|
+
// Show banner + mode indicators
|
|
249
|
+
showBanner();
|
|
250
|
+
const modes = [];
|
|
251
|
+
if (autonomous)
|
|
252
|
+
modes.push("autonomous");
|
|
253
|
+
if (chrome)
|
|
254
|
+
modes.push("chrome");
|
|
255
|
+
const modeStr = modes.length > 0 ? theme.dim(` (${modes.join(", ")})`) : "";
|
|
256
|
+
console.log(theme.accent(`Launching ${cli.name}`) + modeStr);
|
|
257
|
+
console.log(theme.dim("Context loaded from CLAUDE.md + knowledge/\n"));
|
|
258
|
+
console.log(theme.dimmer("─".repeat(50)));
|
|
259
|
+
console.log();
|
|
260
|
+
const child = spawn(cli.command, args, {
|
|
261
|
+
cwd,
|
|
262
|
+
stdio: "inherit",
|
|
263
|
+
env: {
|
|
264
|
+
...process.env,
|
|
265
|
+
JFL_PROJECT: cwd,
|
|
266
|
+
},
|
|
267
|
+
});
|
|
268
|
+
child.on("error", (err) => {
|
|
269
|
+
console.error(chalk.red(`\nFailed to launch ${cli.name}:`), err.message);
|
|
270
|
+
});
|
|
271
|
+
child.on("exit", (code) => {
|
|
272
|
+
if (code !== 0 && code !== null) {
|
|
273
|
+
console.log(chalk.yellow(`\n${cli.name} exited with code ${code}`));
|
|
274
|
+
}
|
|
275
|
+
console.log(chalk.gray("\nJFL session ended.\n"));
|
|
276
|
+
});
|
|
277
|
+
}
|
|
109
278
|
async function onboardNewUser(cwd) {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
279
|
+
showBanner();
|
|
280
|
+
showHowItWorksNotice();
|
|
281
|
+
const knownProjects = config.get("projects") || [];
|
|
282
|
+
const existingProjects = knownProjects.filter((proj) => existsSync(join(proj, "CLAUDE.md")) || existsSync(join(proj, "knowledge")));
|
|
283
|
+
p.intro(chalk.hex("#FFD700")("┌ JFL onboarding"));
|
|
284
|
+
if (existingProjects.length > 0) {
|
|
285
|
+
const selected = await p.select({
|
|
286
|
+
message: "Open a project or create new?",
|
|
287
|
+
options: [
|
|
288
|
+
...existingProjects.map((proj) => ({
|
|
289
|
+
label: proj.replace(process.env.HOME || "", "~"),
|
|
290
|
+
value: proj,
|
|
291
|
+
})),
|
|
292
|
+
{ label: "Join existing project (I was invited)", value: "__join__" },
|
|
293
|
+
{ label: "Create new project", value: "__new__" },
|
|
294
|
+
],
|
|
295
|
+
});
|
|
296
|
+
if (p.isCancel(selected)) {
|
|
297
|
+
p.cancel("Setup cancelled.");
|
|
298
|
+
process.exit(0);
|
|
299
|
+
}
|
|
300
|
+
if (selected === "__join__") {
|
|
301
|
+
await joinExistingProject();
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
if (selected !== "__new__") {
|
|
305
|
+
config.set("projects", existingProjects);
|
|
306
|
+
process.chdir(selected);
|
|
307
|
+
p.outro(chalk.hex("#FFA500")(`Opening ${selected.replace(process.env.HOME || "", "~")}`));
|
|
308
|
+
const available = detectAICLIs();
|
|
309
|
+
if (available.length > 0) {
|
|
310
|
+
await launchCLI(available[0], selected);
|
|
311
|
+
}
|
|
312
|
+
else {
|
|
313
|
+
await onboardAICLI();
|
|
314
|
+
}
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
const action = await p.select({
|
|
319
|
+
message: "What do you want to do?",
|
|
320
|
+
options: [
|
|
321
|
+
{ label: "Join existing project (I was invited)", value: "join" },
|
|
322
|
+
{ label: "Create a new project", value: "create" },
|
|
323
|
+
],
|
|
114
324
|
});
|
|
115
|
-
if (p.isCancel(
|
|
116
|
-
|
|
325
|
+
if (p.isCancel(action)) {
|
|
326
|
+
p.cancel("Setup cancelled.");
|
|
327
|
+
process.exit(0);
|
|
328
|
+
}
|
|
329
|
+
if (action === "join") {
|
|
330
|
+
await joinExistingProject();
|
|
117
331
|
return;
|
|
118
332
|
}
|
|
333
|
+
p.outro(chalk.hex("#FFA500")("Launching project setup..."));
|
|
119
334
|
await initCommand();
|
|
120
335
|
}
|
|
336
|
+
async function joinExistingProject() {
|
|
337
|
+
console.log(chalk.cyan("\n🔗 Join Existing Project\n"));
|
|
338
|
+
let username;
|
|
339
|
+
try {
|
|
340
|
+
username = await authenticateWithGitHub();
|
|
341
|
+
}
|
|
342
|
+
catch (error) {
|
|
343
|
+
console.error(chalk.red("\nGitHub authentication failed"));
|
|
344
|
+
console.error(chalk.gray(error instanceof Error ? error.message : String(error)));
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
347
|
+
let projects;
|
|
348
|
+
try {
|
|
349
|
+
projects = await discoverJflProjects();
|
|
350
|
+
}
|
|
351
|
+
catch (error) {
|
|
352
|
+
console.error(chalk.red("\nFailed to discover projects"));
|
|
353
|
+
console.error(chalk.gray(error instanceof Error ? error.message : String(error)));
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
if (projects.length === 0) {
|
|
357
|
+
console.log(chalk.yellow("\nNo JFL projects found that you have access to.\n"));
|
|
358
|
+
console.log(chalk.gray("Ask the project owner to add you as a collaborator."));
|
|
359
|
+
console.log(chalk.gray("The project needs a CLAUDE.md file or .jfl/ directory.\n"));
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
const selectedProject = await p.select({
|
|
363
|
+
message: "Which project do you want to join?",
|
|
364
|
+
options: projects.map((proj) => ({
|
|
365
|
+
label: `${proj.fullName}${proj.hasUserSuggestions ? chalk.green(" (you're invited)") : ""}${proj.description ? chalk.gray(` - ${proj.description}`) : ""}`,
|
|
366
|
+
value: proj,
|
|
367
|
+
})),
|
|
368
|
+
});
|
|
369
|
+
if (p.isCancel(selectedProject)) {
|
|
370
|
+
p.cancel("Cancelled.");
|
|
371
|
+
return;
|
|
372
|
+
}
|
|
373
|
+
const project = selectedProject;
|
|
374
|
+
// Check if already cloned locally
|
|
375
|
+
const trackedProjects = config.get("projects") || [];
|
|
376
|
+
const existingLocal = trackedProjects.find((proj) => {
|
|
377
|
+
const projectName = proj.split("/").pop();
|
|
378
|
+
return projectName === project.name &&
|
|
379
|
+
(existsSync(join(proj, "CLAUDE.md")) || existsSync(join(proj, ".jfl")));
|
|
380
|
+
});
|
|
381
|
+
const commonPaths = [
|
|
382
|
+
join(process.env.HOME || "", "Projects", project.name),
|
|
383
|
+
join(process.env.HOME || "", project.name),
|
|
384
|
+
join(process.cwd(), project.name),
|
|
385
|
+
];
|
|
386
|
+
const existingAtCommonPath = commonPaths.find((proj) => existsSync(proj) && (existsSync(join(proj, "CLAUDE.md")) || existsSync(join(proj, ".jfl"))));
|
|
387
|
+
const alreadyCloned = existingLocal || existingAtCommonPath;
|
|
388
|
+
if (alreadyCloned) {
|
|
389
|
+
console.log(chalk.green(`\n✓ Already have ${project.name} at ${alreadyCloned}\n`));
|
|
390
|
+
const openExisting = await p.confirm({
|
|
391
|
+
message: "Open it?",
|
|
392
|
+
initialValue: true,
|
|
393
|
+
});
|
|
394
|
+
if (!p.isCancel(openExisting) && openExisting) {
|
|
395
|
+
if (!trackedProjects.includes(alreadyCloned)) {
|
|
396
|
+
trackedProjects.push(alreadyCloned);
|
|
397
|
+
config.set("projects", trackedProjects);
|
|
398
|
+
}
|
|
399
|
+
process.chdir(alreadyCloned);
|
|
400
|
+
const available = detectAICLIs();
|
|
401
|
+
if (available.length > 0) {
|
|
402
|
+
await launchCLI(available[0], alreadyCloned);
|
|
403
|
+
}
|
|
404
|
+
else {
|
|
405
|
+
await onboardAICLI();
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
return;
|
|
409
|
+
}
|
|
410
|
+
// Show project info
|
|
411
|
+
console.log();
|
|
412
|
+
console.log(chalk.bold(`Project: ${project.fullName}`));
|
|
413
|
+
if (project.description) {
|
|
414
|
+
console.log(chalk.gray(project.description));
|
|
415
|
+
}
|
|
416
|
+
if (project.projectConfig?.wallet) {
|
|
417
|
+
console.log(chalk.gray(`Wallet: ${project.projectConfig.wallet.slice(0, 10)}...`));
|
|
418
|
+
}
|
|
419
|
+
if (project.hasUserSuggestions) {
|
|
420
|
+
console.log(chalk.green(`✓ Your suggestions file exists (suggestions/${username}.md)`));
|
|
421
|
+
}
|
|
422
|
+
console.log();
|
|
423
|
+
const defaultPath = join(process.env.HOME || "", "Projects", project.name);
|
|
424
|
+
const clonePath = await p.text({
|
|
425
|
+
message: "Where to clone?",
|
|
426
|
+
defaultValue: defaultPath,
|
|
427
|
+
placeholder: defaultPath,
|
|
428
|
+
});
|
|
429
|
+
if (p.isCancel(clonePath)) {
|
|
430
|
+
p.cancel("Cancelled.");
|
|
431
|
+
return;
|
|
432
|
+
}
|
|
433
|
+
const expandedPath = clonePath.replace(/^~/, process.env.HOME || "");
|
|
434
|
+
let clonedPath;
|
|
435
|
+
try {
|
|
436
|
+
clonedPath = await cloneRepository(project, expandedPath);
|
|
437
|
+
}
|
|
438
|
+
catch (error) {
|
|
439
|
+
console.error(chalk.red("\nClone failed"));
|
|
440
|
+
console.error(chalk.gray(error instanceof Error ? error.message : String(error)));
|
|
441
|
+
return;
|
|
442
|
+
}
|
|
443
|
+
// Track this project
|
|
444
|
+
const allProjects = config.get("projects") || [];
|
|
445
|
+
if (!allProjects.includes(clonedPath)) {
|
|
446
|
+
allProjects.push(clonedPath);
|
|
447
|
+
config.set("projects", allProjects);
|
|
448
|
+
}
|
|
449
|
+
config.set("hasOnboarded", true);
|
|
450
|
+
console.log(chalk.green(`\n✓ Joined ${project.name}!\n`));
|
|
451
|
+
if (project.projectConfig?.wallet) {
|
|
452
|
+
console.log(chalk.gray("Project Configuration:"));
|
|
453
|
+
console.log(chalk.gray(` Owner: ${project.projectConfig.walletOwner || project.owner}`));
|
|
454
|
+
console.log(chalk.gray(` Wallet: ${project.projectConfig.wallet} (configured)`));
|
|
455
|
+
console.log(chalk.gray(` Your role: Contributor`));
|
|
456
|
+
console.log();
|
|
457
|
+
}
|
|
458
|
+
console.log(chalk.gray(`Location: ${clonedPath}`));
|
|
459
|
+
console.log(chalk.cyan(`\nTo start working:\n`));
|
|
460
|
+
console.log(chalk.white(` cd ${clonedPath}`));
|
|
461
|
+
console.log(chalk.white(` jfl\n`));
|
|
462
|
+
const launchNow = await p.confirm({
|
|
463
|
+
message: "Open project now?",
|
|
464
|
+
initialValue: true,
|
|
465
|
+
});
|
|
466
|
+
if (!p.isCancel(launchNow) && launchNow) {
|
|
467
|
+
process.chdir(clonedPath);
|
|
468
|
+
const available = detectAICLIs();
|
|
469
|
+
if (available.length > 0) {
|
|
470
|
+
await launchCLI(available[0], clonedPath);
|
|
471
|
+
}
|
|
472
|
+
else {
|
|
473
|
+
await onboardAICLI();
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
async function onboardAICLI() {
|
|
478
|
+
console.log(chalk.bold("\n🤖 JFL - Setup AI Assistant\n"));
|
|
479
|
+
console.log(chalk.gray("JFL works with your AI of choice. Let's get you set up.\n"));
|
|
480
|
+
const experience = await p.select({
|
|
481
|
+
message: "How technical are you?",
|
|
482
|
+
options: [
|
|
483
|
+
{ label: "I'm a developer - comfortable with terminal", value: "dev" },
|
|
484
|
+
{ label: "Somewhat technical - can follow instructions", value: "some" },
|
|
485
|
+
{ label: "Not technical - need the easy path", value: "none" },
|
|
486
|
+
],
|
|
487
|
+
});
|
|
488
|
+
if (p.isCancel(experience))
|
|
489
|
+
return;
|
|
490
|
+
if (experience === "none") {
|
|
491
|
+
console.log(chalk.cyan("\n📱 Easiest options for you:\n"));
|
|
492
|
+
console.log(chalk.bold("1. Claude.ai (browser)"));
|
|
493
|
+
console.log(chalk.gray(" Go to claude.ai, sign up, and chat directly"));
|
|
494
|
+
console.log(chalk.gray(" You can paste your project files into the chat\n"));
|
|
495
|
+
console.log(chalk.bold("2. Claude Desktop App"));
|
|
496
|
+
console.log(chalk.gray(" Download from claude.ai/download"));
|
|
497
|
+
console.log(chalk.gray(" Works like ChatGPT but with Claude\n"));
|
|
498
|
+
console.log(chalk.bold("3. Cursor (AI-powered code editor)"));
|
|
499
|
+
console.log(chalk.gray(" Download from cursor.com"));
|
|
500
|
+
console.log(chalk.gray(" Like VS Code but with AI built in\n"));
|
|
501
|
+
console.log(chalk.yellow("For the full JFL experience, Claude Code is best."));
|
|
502
|
+
console.log(chalk.gray("But start with what's comfortable.\n"));
|
|
503
|
+
return;
|
|
504
|
+
}
|
|
505
|
+
console.log(chalk.yellow("\nNo AI CLI detected.\n"));
|
|
506
|
+
const choice = await p.select({
|
|
507
|
+
message: "Which AI do you want to use?",
|
|
508
|
+
options: [
|
|
509
|
+
{ label: "Claude Code (recommended for JFL)", value: "claude" },
|
|
510
|
+
{ label: "Codex CLI (OpenAI)", value: "codex" },
|
|
511
|
+
{ label: "Aider (works with multiple models)", value: "aider" },
|
|
512
|
+
{ label: "I'll set it up myself", value: "manual" },
|
|
513
|
+
],
|
|
514
|
+
});
|
|
515
|
+
if (p.isCancel(choice))
|
|
516
|
+
return;
|
|
517
|
+
if (choice === "manual") {
|
|
518
|
+
console.log(chalk.gray("\nSupported AI CLIs:"));
|
|
519
|
+
console.log(" • Claude Code: npm install -g @anthropic-ai/claude-code");
|
|
520
|
+
console.log(" • Codex CLI: npm install -g @openai/codex");
|
|
521
|
+
console.log(" • Aider: pip install aider-chat");
|
|
522
|
+
console.log(chalk.gray("\nRun 'jfl' again after installing.\n"));
|
|
523
|
+
return;
|
|
524
|
+
}
|
|
525
|
+
const installCommands = {
|
|
526
|
+
claude: { cmd: "npm install -g @anthropic-ai/claude-code", name: "Claude Code" },
|
|
527
|
+
codex: { cmd: "npm install -g @openai/codex", name: "Codex CLI" },
|
|
528
|
+
aider: { cmd: "pip install aider-chat", name: "Aider" },
|
|
529
|
+
};
|
|
530
|
+
const install = installCommands[choice];
|
|
531
|
+
console.log(chalk.cyan(`\nInstalling ${install.name}...\n`));
|
|
532
|
+
console.log(chalk.gray(`$ ${install.cmd}\n`));
|
|
533
|
+
const proceed = await p.confirm({
|
|
534
|
+
message: "Run this command?",
|
|
535
|
+
initialValue: true,
|
|
536
|
+
});
|
|
537
|
+
if (p.isCancel(proceed) || !proceed) {
|
|
538
|
+
console.log(chalk.gray(`\nRun manually: ${install.cmd}`));
|
|
539
|
+
console.log(chalk.gray("Then run 'jfl' again.\n"));
|
|
540
|
+
return;
|
|
541
|
+
}
|
|
542
|
+
try {
|
|
543
|
+
execSync(install.cmd, { stdio: "inherit" });
|
|
544
|
+
console.log(chalk.green(`\n✓ ${install.name} installed!\n`));
|
|
545
|
+
if (choice === "claude") {
|
|
546
|
+
console.log(chalk.gray("Set your Anthropic API key:"));
|
|
547
|
+
console.log(chalk.white(" export ANTHROPIC_API_KEY=your-key-here\n"));
|
|
548
|
+
console.log(chalk.gray("Or run 'claude' to authenticate interactively.\n"));
|
|
549
|
+
}
|
|
550
|
+
else if (choice === "codex") {
|
|
551
|
+
console.log(chalk.gray("Set your OpenAI API key:"));
|
|
552
|
+
console.log(chalk.white(" export OPENAI_API_KEY=your-key-here\n"));
|
|
553
|
+
}
|
|
554
|
+
else if (choice === "aider") {
|
|
555
|
+
console.log(chalk.gray("Set your API key (Anthropic or OpenAI):"));
|
|
556
|
+
console.log(chalk.white(" export ANTHROPIC_API_KEY=your-key-here"));
|
|
557
|
+
console.log(chalk.white(" # or"));
|
|
558
|
+
console.log(chalk.white(" export OPENAI_API_KEY=your-key-here\n"));
|
|
559
|
+
}
|
|
560
|
+
console.log(chalk.cyan("Run 'jfl' to start your AI session.\n"));
|
|
561
|
+
}
|
|
562
|
+
catch {
|
|
563
|
+
console.error(chalk.red("\nInstallation failed."));
|
|
564
|
+
console.log(chalk.gray(`\nTry manually: ${install.cmd}\n`));
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
export { showGatewayDashboard };
|
|
121
568
|
//# sourceMappingURL=session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACtF,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,GAEhB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;AAe/C,MAAM,gBAAgB,GAA2C;IAC/D,MAAM,EAAE,gCAAgC;IACxC,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,cAAc;IACrB,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,SAAS;CAChB,CAAA;AAED,MAAM,WAAW,GAAG,UAAU,CAAA;AAE9B,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAA0B,EAAE;IAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAEzB,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAA;IAE7F,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,cAAc,CAAC,GAAG,CAAC,CAAA;QACzB,OAAM;IACR,CAAC;IAED,qBAAqB;IACrB,MAAM,QAAQ,GAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAc,IAAI,EAAE,CAAA;IAC3D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IAED,gDAAgD;IAChD,qBAAqB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAEtD,iCAAiC;IACjC,IAAI,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAuB,CAAA;IAE5D,wBAAwB;IACxB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAEhC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,YAAY,EAAE,CAAA;QACpB,OAAM;IACR,CAAC;IAED,mDAAmD;IACnD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,YAAY,CAAC,CAAA;QACrE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAC/B,OAAM;QACR,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACzC,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAClC,OAAM;IACR,CAAC;IAED,qCAAqC;IACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAA;IAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAA;IAEvD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;QAC9B,OAAO,EAAE,8BAA8B;QACvC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7D,KAAK,EAAE,GAAG,CAAC,OAAO;SACnB,CAAC,CAAC;KACJ,CAAC,CAAA;IAEF,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAC9B,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;QAC/B,OAAO,EAAE,uBAAuB;QAChC,YAAY,EAAE,IAAI;KACnB,CAAC,CAAA;IAEF,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAE,CAAA;IACxD,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAC3B,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,IAAI,GAAkB,EAAE,CAAA;IAE9B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,8BAA8B,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACtF,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,6BAA6B,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACrF,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,OAAO;YACjB,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,6BAA6B,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACrF,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,OAAO;YACjB,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,0BAA0B,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAClF,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAChC,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,OAAO,IAAI,CAAA;AACb,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,GAAgB;IAClD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,QAAQ,EAAE,CAAwB,CAAA;IACjF,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAE7C,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC3C,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IAEvB,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;QACjC,OAAO,EAAE,4BAA4B,IAAI,GAAG;QAC5C,YAAY,EAAE,KAAK;KACpB,CAAC,CAAA;IAEF,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAA;IAExC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kEAAkE,CAAC,CAAC,CAAA;IAC/F,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;QAC/B,OAAO,EAAE,uBAAuB;QAChC,YAAY,EAAE,IAAI;KACnB,CAAC,CAAA;IAEF,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,GAAgB;IAC9C,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3C,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAwB,CAAA;IACpE,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAE7C,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;QAC7B,OAAO,EAAE,iCAAiC,WAAW,GAAG;QACxD,YAAY,EAAE,KAAK;KACpB,CAAC,CAAA;IAEF,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IAEpC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC,CAAA;IAC7F,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;QAC/B,OAAO,EAAE,uBAAuB;QAChC,YAAY,EAAE,IAAI;KACnB,CAAC,CAAA;IAEF,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,UAAU;IACjB,IAAI,OAA2B,CAAA;IAC/B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QACtD,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IACvB,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;AACxC,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAA;IAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAA;IAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAA;IAE7E,MAAM,QAAQ,GAAG,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAA;IACvD,MAAM,gBAAgB,EAAE,CAAA;IAExB,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAA;IAC9C,MAAM,gBAAgB,GAAG,mBAAmB,CAC1C,gBAAgB,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAC/D,CAAA;IAED,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC7B,QAAQ,CAAC,OAAO,CACd,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAAC,IAAI,eAAe,gBAAgB,CAAC,IAAI,SAAS,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAC7G,CAAA;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,CAAA;IAC3D,MAAM,oBAAoB,GAAG,MAAM,mBAAmB,EAAE,CAAA;IAExD,IAAI,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACjC,QAAQ,CAAC,OAAO,CACd,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,gBAAgB,oBAAoB,CAAC,QAAQ,YAAY,CAAC,CACxE,CAAA;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC,CAAA;IAChG,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAA;IAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACxG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAA;IACpF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAA;IAChF,OAAO,CAAC,GAAG,EAAE,CAAA;AACf,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QACnF,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,IAAI,CAAC,CAAA;QACzD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAC3B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAgB,EAAE,GAAW;IACpD,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAA;IAClD,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAA;IACtC,CAAC;IAED,iEAAiE;IACjE,MAAM,oBAAoB,EAAE,CAAA;IAE5B,aAAa;IACb,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,IAAI,UAAU,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,CAAA;IAC5C,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACxB,CAAC;IAED,gCAAgC;IAChC,UAAU,EAAE,CAAA;IAEZ,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACxC,IAAI,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAE3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAA;IAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAA;IACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACzC,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE;QACrC,GAAG;QACH,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,WAAW,EAAE,GAAG;SACjB;KACF,CAAC,CAAA;IAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;IAEF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAA;QACrE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAW;IACvC,UAAU,EAAE,CAAA;IACZ,oBAAoB,EAAE,CAAA;IAEtB,MAAM,aAAa,GAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAc,IAAI,EAAE,CAAA;IAChE,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAC3C,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CACrF,CAAA;IAED,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAA;IAElD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;YAC9B,OAAO,EAAE,+BAA+B;YACxC,OAAO,EAAE;gBACP,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACjC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC;oBAChD,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;gBACH,EAAE,KAAK,EAAE,uCAAuC,EAAE,KAAK,EAAE,UAAU,EAAE;gBACrE,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE;aAClD;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;YAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5B,MAAM,mBAAmB,EAAE,CAAA;YAC3B,OAAM;QACR,CAAC;QAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAA;YACxC,OAAO,CAAC,KAAK,CAAC,QAAkB,CAAC,CAAA;YACjC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAY,QAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAErG,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;YAChC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAkB,CAAC,CAAA;YACnD,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,EAAE,CAAA;YACtB,CAAC;YACD,OAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,yBAAyB;QAClC,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,uCAAuC,EAAE,KAAK,EAAE,MAAM,EAAE;YACjE,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE;SACnD;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,mBAAmB,EAAE,CAAA;QAC3B,OAAM;IACR,CAAC;IAED,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAA;IAC3D,MAAM,WAAW,EAAE,CAAA;AACrB,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAA;IAEvD,IAAI,QAAgB,CAAA;IACpB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,sBAAsB,EAAE,CAAA;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAA;QAC1D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACjF,OAAM;IACR,CAAC;IAED,IAAI,QAAsB,CAAA;IAC1B,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,mBAAmB,EAAE,CAAA;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAA;QACzD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACjF,OAAM;IACR,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC,CAAC,CAAA;QAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC,CAAA;QAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC,CAAA;QACnF,OAAM;IACR,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;QACrC,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC/B,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1J,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;KACJ,CAAC,CAAA;IAEF,IAAI,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QACtB,OAAM;IACR,CAAC;IAED,MAAM,OAAO,GAAG,eAA6B,CAAA;IAE7C,kCAAkC;IAClC,MAAM,eAAe,GAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAc,IAAI,EAAE,CAAA;IAClE,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;QACzC,OAAO,WAAW,KAAK,OAAO,CAAC,IAAI;YAC5B,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAChF,CAAC,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG;QAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC;KAClC,CAAA;IACD,MAAM,oBAAoB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACrD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAC5F,CAAA;IAED,MAAM,aAAa,GAAG,aAAa,IAAI,oBAAoB,CAAA;IAE3D,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,IAAI,OAAO,aAAa,IAAI,CAAC,CAAC,CAAA;QAElF,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;YACnC,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAA;QAEF,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,EAAE,CAAC;YAC9C,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC7C,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;gBACnC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;YACzC,CAAC;YAED,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;YAC5B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;YAChC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;YAC9C,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,EAAE,CAAA;YACtB,CAAC;QACH,CAAC;QACD,OAAM;IACR,CAAC;IAED,oBAAoB;IACpB,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACvD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;IAC9C,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IACpF,CAAC;IACD,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+CAA+C,QAAQ,MAAM,CAAC,CAAC,CAAA;IACzF,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1E,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;QAC7B,OAAO,EAAE,iBAAiB;QAC1B,YAAY,EAAE,WAAW;QACzB,WAAW,EAAE,WAAW;KACzB,CAAC,CAAA;IAEF,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QACtB,OAAM;IACR,CAAC;IAED,MAAM,YAAY,GAAI,SAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAEhF,IAAI,UAAkB,CAAA;IACtB,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAA;QAC1C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACjF,OAAM;IACR,CAAC;IAED,qBAAqB;IACrB,MAAM,WAAW,GAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAc,IAAI,EAAE,CAAA;IAC9D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC5B,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;IAEhC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAA;IAEzD,IAAI,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAA;QACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,aAAa,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACzF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,aAAa,CAAC,MAAM,eAAe,CAAC,CAAC,CAAA;QACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAA;QACnD,OAAO,CAAC,GAAG,EAAE,CAAA;IACf,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC,CAAA;IAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,UAAU,EAAE,CAAC,CAAC,CAAA;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;IAEnC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;QAChC,OAAO,EAAE,mBAAmB;QAC5B,YAAY,EAAE,IAAI;KACnB,CAAC,CAAA;IAEF,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACzB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;QAChC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAA;IAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC,CAAA;IAEpF,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;QAChC,OAAO,EAAE,wBAAwB;QACjC,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,6CAA6C,EAAE,KAAK,EAAE,KAAK,EAAE;YACtE,EAAE,KAAK,EAAE,8CAA8C,EAAE,KAAK,EAAE,MAAM,EAAE;YACxE,EAAE,KAAK,EAAE,oCAAoC,EAAE,KAAK,EAAE,MAAM,EAAE;SAC/D;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAM;IAElC,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAA;QACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAA;QACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC,CAAA;QAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAA;QAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAA;QAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAA;QACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAA;QACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mDAAmD,CAAC,CAAC,CAAA;QAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAA;QAC/D,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAA;IAEpD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;QAC5B,OAAO,EAAE,8BAA8B;QACvC,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,mCAAmC,EAAE,KAAK,EAAE,QAAQ,EAAE;YAC/D,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAE;YAC/C,EAAE,KAAK,EAAE,oCAAoC,EAAE,KAAK,EAAE,OAAO,EAAE;YAC/D,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE;SACpD;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAM;IAE9B,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAA;QAC/C,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAA;QACxE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAA;QAC5D,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;QACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAA;QAChE,OAAM;IACR,CAAC;IAED,MAAM,eAAe,GAAkD;QACrE,MAAM,EAAE,EAAE,GAAG,EAAE,0CAA0C,EAAE,IAAI,EAAE,aAAa,EAAE;QAChF,KAAK,EAAE,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,EAAE,WAAW,EAAE;QACjE,KAAK,EAAE,EAAE,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,OAAO,EAAE;KACxD,CAAA;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,MAAgB,CAAC,CAAA;IAEjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAA;IAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAE7C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;QAC9B,OAAO,EAAE,mBAAmB;QAC5B,YAAY,EAAE,IAAI;KACnB,CAAC,CAAA;IAEF,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAA;QAClD,OAAM;IACR,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,IAAI,eAAe,CAAC,CAAC,CAAA;QAE5D,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAA;YACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAA;YACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAA;QAC7E,CAAC;aAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAA;YACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAA;QACrE,CAAC;aAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAA;YAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAA;YACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;YAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAA;QACrE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAA;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAA;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC7D,CAAC;AACH,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA8LH,wBAAsB,aAAa,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,iBAuOxF"}
|