dev3000 0.0.130 → 0.0.131

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/cli.d.ts +1 -1
  2. package/dist/cli.js +26 -30
  3. package/dist/cli.js.map +1 -1
  4. package/dist/dev-environment.d.ts +1 -0
  5. package/dist/dev-environment.d.ts.map +1 -1
  6. package/dist/dev-environment.js +107 -12
  7. package/dist/dev-environment.js.map +1 -1
  8. package/dist/src/tui-interface-impl.tsx +4 -2
  9. package/dist/tui-interface-impl.d.ts.map +1 -1
  10. package/dist/tui-interface-impl.js +4 -2
  11. package/dist/tui-interface-impl.js.map +1 -1
  12. package/dist/utils/tmux-helpers.d.ts +35 -0
  13. package/dist/utils/tmux-helpers.d.ts.map +1 -0
  14. package/dist/utils/tmux-helpers.js +60 -0
  15. package/dist/utils/tmux-helpers.js.map +1 -0
  16. package/mcp-server/.next/BUILD_ID +1 -1
  17. package/mcp-server/.next/build-manifest.json +2 -2
  18. package/mcp-server/.next/fallback-build-manifest.json +2 -2
  19. package/mcp-server/.next/prerender-manifest.json +3 -3
  20. package/mcp-server/.next/server/app/_global-error.html +2 -2
  21. package/mcp-server/.next/server/app/_global-error.rsc +1 -1
  22. package/mcp-server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  23. package/mcp-server/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  24. package/mcp-server/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  25. package/mcp-server/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  26. package/mcp-server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  27. package/mcp-server/.next/server/app/_not-found.html +1 -1
  28. package/mcp-server/.next/server/app/_not-found.rsc +1 -1
  29. package/mcp-server/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  30. package/mcp-server/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  31. package/mcp-server/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  32. package/mcp-server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  33. package/mcp-server/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  34. package/mcp-server/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  35. package/mcp-server/.next/server/app/index.html +1 -1
  36. package/mcp-server/.next/server/app/index.rsc +1 -1
  37. package/mcp-server/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  38. package/mcp-server/.next/server/app/index.segments/_full.segment.rsc +1 -1
  39. package/mcp-server/.next/server/app/index.segments/_head.segment.rsc +1 -1
  40. package/mcp-server/.next/server/app/index.segments/_index.segment.rsc +1 -1
  41. package/mcp-server/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  42. package/mcp-server/.next/server/chunks/[root-of-the-server]__141a5bc7._.js.map +1 -1
  43. package/mcp-server/.next/server/pages/404.html +1 -1
  44. package/mcp-server/.next/server/pages/500.html +2 -2
  45. package/mcp-server/.next/server/server-reference-manifest.js +1 -1
  46. package/mcp-server/.next/server/server-reference-manifest.json +1 -1
  47. package/mcp-server/app/mcp/route.ts +2 -0
  48. package/package.json +1 -1
  49. package/src/tui-interface-impl.tsx +4 -2
  50. /package/mcp-server/.next/static/{YTIno5QuIO6mgeAWJ8zng → i5SOhj7cf3JSMPksTBNpr}/_buildManifest.js +0 -0
  51. /package/mcp-server/.next/static/{YTIno5QuIO6mgeAWJ8zng → i5SOhj7cf3JSMPksTBNpr}/_clientMiddlewareManifest.json +0 -0
  52. /package/mcp-server/.next/static/{YTIno5QuIO6mgeAWJ8zng → i5SOhj7cf3JSMPksTBNpr}/_ssgManifest.js +0 -0
package/dist/cli.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- #!/usr/bin/env -S node --no-warnings
1
+ #!/usr/bin/env bun
2
2
  export {};
3
3
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env -S node --no-warnings
1
+ #!/usr/bin/env bun
2
2
  import chalk from "chalk";
3
3
  import { Command } from "commander";
4
4
  import { existsSync, readFileSync } from "fs";
@@ -12,6 +12,7 @@ import { createPersistentLogFile, findAvailablePort, startDevEnvironment } from
12
12
  import { detectAIAgent } from "./utils/agent-detection.js";
13
13
  import { formatMcpConfigTargets, parseDisabledMcpConfigs } from "./utils/mcp-configs.js";
14
14
  import { getProjectName } from "./utils/project-name.js";
15
+ import { DEFAULT_TMUX_CONFIG, generateSessionName, generateTmuxCommands, getTmuxInstallInstructions, isTmuxInstalled } from "./utils/tmux-helpers.js";
15
16
  import { loadUserConfig } from "./utils/user-config.js";
16
17
  import { checkForUpdates, getUpgradeCommand, performUpgrade } from "./utils/version-check.js";
17
18
  /**
@@ -21,45 +22,38 @@ import { checkForUpdates, getUpgradeCommand, performUpgrade } from "./utils/vers
21
22
  async function launchWithTmux(agentCommand) {
22
23
  const { execSync, spawn } = await import("child_process");
23
24
  // Check if tmux is installed
24
- try {
25
- execSync("which tmux", { stdio: "ignore" });
26
- }
27
- catch {
25
+ if (!(await isTmuxInstalled())) {
28
26
  console.error(chalk.red("\n❌ tmux is not installed."));
29
27
  console.error(chalk.yellow("\nThe --with-agent flag requires tmux for split-screen mode."));
30
28
  console.error(chalk.cyan("\nTo install tmux:"));
31
- console.error(chalk.gray(" macOS: brew install tmux"));
32
- console.error(chalk.gray(" Ubuntu: sudo apt install tmux"));
33
- console.error(chalk.gray(" Fedora: sudo dnf install tmux"));
29
+ for (const instruction of getTmuxInstallInstructions()) {
30
+ console.error(chalk.gray(` ${instruction}`));
31
+ }
34
32
  console.error(chalk.yellow("\nAlternatively, run d3k and your agent in separate terminal tabs.\n"));
35
33
  process.exit(1);
36
34
  }
37
35
  // Generate a unique session name
38
- const sessionName = `d3k-${Date.now()}`;
36
+ const sessionName = generateSessionName();
39
37
  // Get the d3k command path (same as what user ran)
40
38
  const d3kCommand = process.argv[1].endsWith("d3k") ? "d3k" : "dev3000";
41
- console.log(chalk.hex("#A18CE5")(`\n🚀 Launching split-screen mode with tmux...\n`));
42
- console.log(chalk.gray(` Left pane: ${agentCommand}`));
43
- console.log(chalk.gray(` Right pane: ${d3kCommand}\n`));
44
- console.log(chalk.cyan(` Tmux controls:`));
45
- console.log(chalk.gray(` • Ctrl+B then ←/→ to switch panes`));
46
- console.log(chalk.gray(` • Ctrl+B then d to detach (keeps running)`));
47
- console.log(chalk.gray(` • tmux attach -t ${sessionName} to reattach\n`));
48
- // Create tmux session with horizontal split (left: agent, right: d3k)
49
- // -d creates detached, then we attach
39
+ // Clear screen before launching tmux (prevents leftover text after exit)
40
+ process.stdout.write("\x1b[2J\x1b[0f");
41
+ // Generate tmux commands using the helper
42
+ const commands = generateTmuxCommands({
43
+ sessionName,
44
+ d3kCommand,
45
+ agentCommand,
46
+ agentDelay: DEFAULT_TMUX_CONFIG.agentDelay,
47
+ paneWidthPercent: DEFAULT_TMUX_CONFIG.paneWidthPercent
48
+ });
50
49
  try {
51
- // Create new session with d3k in the first pane (will be right side)
52
- execSync(`tmux new-session -d -s "${sessionName}" -x "$(tput cols)" -y "$(tput lines)" "${d3kCommand}"`, {
53
- stdio: "inherit",
54
- shell: "/bin/bash"
55
- });
56
- // Split horizontally and run agent in the new pane (left side)
57
- // -b puts the new pane before (left of) the current one
58
- // -p 65 gives the agent 65% of the width
59
- execSync(`tmux split-window -h -b -p 65 -t "${sessionName}" "${agentCommand}"`, {
60
- stdio: "inherit",
61
- shell: "/bin/bash"
62
- });
50
+ // Execute all setup commands
51
+ for (const cmd of commands) {
52
+ execSync(cmd, {
53
+ stdio: "inherit",
54
+ shell: "/bin/bash"
55
+ });
56
+ }
63
57
  // Attach to the session
64
58
  const tmux = spawn("tmux", ["attach-session", "-t", sessionName], {
65
59
  stdio: "inherit"
@@ -72,6 +66,8 @@ async function launchWithTmux(agentCommand) {
72
66
  catch {
73
67
  // Session might already be killed
74
68
  }
69
+ // Clear screen after tmux exits for clean terminal
70
+ process.stdout.write("\x1b[2J\x1b[0f");
75
71
  process.exit(code || 0);
76
72
  });
77
73
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AACtG,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EAChB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAE7F;;;GAGG;AACH,KAAK,UAAU,cAAc,CAAC,YAAoB;IAChD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;IAEzD,6BAA6B;IAC7B,IAAI,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAA;QACtD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,8DAA8D,CAAC,CAAC,CAAA;QAC3F,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAA;QAC/C,KAAK,MAAM,WAAW,IAAI,0BAA0B,EAAE,EAAE,CAAC;YACvD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC,CAAA;QAC/C,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,sEAAsE,CAAC,CAAC,CAAA;QACnG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,iCAAiC;IACjC,MAAM,WAAW,GAAG,mBAAmB,EAAE,CAAA;IAEzC,mDAAmD;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAEtE,yEAAyE;IACzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAEtC,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,oBAAoB,CAAC;QACpC,WAAW;QACX,UAAU;QACV,YAAY;QACZ,UAAU,EAAE,mBAAmB,CAAC,UAAU;QAC1C,gBAAgB,EAAE,mBAAmB,CAAC,gBAAgB;KACvD,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,6BAA6B;QAC7B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,QAAQ,CAAC,GAAG,EAAE;gBACZ,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,WAAW;aACnB,CAAC,CAAA;QACJ,CAAC;QAED,wBAAwB;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE;YAChE,KAAK,EAAE,SAAS;SACjB,CAAC,CAAA;QAEF,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,0CAA0C;YAC1C,IAAI,CAAC;gBACH,QAAQ,CAAC,yBAAyB,WAAW,eAAe,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;YACpF,CAAC;YAAC,MAAM,CAAC;gBACP,kCAAkC;YACpC,CAAC;YACD,mDAAmD;YACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;YACtC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,EAAE,KAAK,CAAC,CAAA;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAYD,SAAS,mBAAmB,CAAC,KAAK,GAAG,KAAK;IACxC,0CAA0C;IAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,yCAAyC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;YAC/E,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,8CAA8C;IAC9C,IAAI,CAAC;QACH,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC3E,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAA;QAC5D,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAA;QACtE,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,KAAK,GAAG,KAAK;IAC5C,+EAA+E;IAC/E,MAAM,gBAAgB,GAAG,GAAY,EAAE;QACrC,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAA;gBACrE,OAAO,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAA;YACnC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IAED,mEAAmE;IACnE,sEAAsE;IACtE,MAAM,QAAQ,GAAG,MAAM,MAAM,EAAE,CAAA;IAC/B,IAAI,QAAQ,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACnC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAA;QAC/F,CAAC;QACD,sCAAsC;IACxC,CAAC;SAAM,CAAC;QACN,2DAA2D;QAC3D,IAAI,UAAU,CAAC,kBAAkB,CAAC,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnE,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAA;YAC3F,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,aAAa,EAAE,SAAS;gBACxB,WAAW,EAAE,MAAM,EAAE,gCAAgC;gBACrD,aAAa,EAAE,mBAAmB,CAAC,KAAK,CAAC;aAC1C,CAAA;QACH,CAAC;QAED,0BAA0B;QAC1B,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACjE,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAA;YACzF,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,aAAa,EAAE,QAAQ;gBACvB,WAAW,EAAE,MAAM,CAAC,qBAAqB;aAC1C,CAAA;QACH,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,MAAM,eAAe,GAAG,GAAkC,EAAE;QAC1D,oBAAoB;QACpB,MAAM,eAAe,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAA;QAClG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;YACnD,CAAC;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,oEAAoE;QACpE,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACnC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;YACrE,CAAC;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAA;gBACrE,MAAM,IAAI,GAAG,EAAE,GAAG,WAAW,CAAC,YAAY,EAAE,GAAG,WAAW,CAAC,eAAe,EAAE,CAAA;gBAC5E,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;oBACzC,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAA;oBAC5E,CAAC;oBACD,OAAO,QAAQ,CAAA;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,SAAS,GAAG,eAAe,EAAE,CAAA;QACnC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,yCAAyC,QAAQ,CAAC,KAAK,wBAAwB,SAAS,YAAY,CAAC,CAAA;QACnH,CAAC;QACD,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,cAAc,EAAE,QAAQ,CAAC,KAAK;YAC9B,aAAa,EAAE,KAAK;YACpB,WAAW,EAAE,MAAM;SACpB,CAAA;IACH,CAAC;IAED,6CAA6C;IAC7C,8DAA8D;IAC9D,8EAA8E;IAC9E,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAChC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAA;QAClF,CAAC;QACD,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,OAAO;YAClB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,KAAK;YACpB,WAAW,EAAE,MAAM;YACnB,iBAAiB,EAAE,IAAI,CAAC,wCAAwC;SACjE,CAAA;IACH,CAAC;IAED,qEAAqE;IACrE,MAAM,SAAS,GAAG,eAAe,EAAE,CAAA;IACnC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CACT,+FAA+F,SAAS,YAAY,CACrH,CAAA;IACH,CAAC;IACD,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,SAAS;QACT,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,MAAM;KACpB,CAAA;AACH,CAAC;AAED,iCAAiC;AACjC,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA,CAAC,mCAAmC;QACrF,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAA;QACrE,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,CAAA;QAEjC,8DAA8D;QAC9D,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;YAC7C,MAAM,SAAS,GAAG,QAAQ,CAAC,uCAAuC,EAAE;gBAClE,GAAG,EAAE,WAAW;gBAChB,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC,IAAI,EAAE,CAAA;YAET,IAAI,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7E,OAAO,IAAI,QAAQ,CAAA;YACrB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gDAAgD;QAClD,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,OAAO,OAAO,CAAA,CAAC,WAAW;IAC5B,CAAC;AACH,CAAC;AAED,gDAAgD;AAChD,SAAS,kBAAkB;IACzB,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjD,oCAAoC;IACpC,MAAM,WAAW,GAAG;QAClB,6BAA6B;QAC7B,uBAAuB;QACvB,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,SAAS;QACrB,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC;QACpG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,8BAA8B,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,2BAA2B,CAAC;KACxE,CAAC,MAAM,CAAC,OAAO,CAAa,CAAA;IAE7B,+DAA+D;IAC/D,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAC7G,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qDAAqD;IACrD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,oBAAoB;AACpB,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;IAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAA;IAC5E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC,CAAA;IACxF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAA;IAC5E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAA;IACtD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAA;IACrD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAA;IACxD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC,CAAA;IACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,qEAAqE,CAAC;KAClF,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;AAExB,OAAO;KACJ,WAAW,CAAC,qEAAqE,CAAC;KAClF,MAAM,CAAC,mBAAmB,EAAE,yDAAyD,CAAC;KACtF,MAAM,CAAC,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,CAAC;KAC1D,MAAM,CAAC,uBAAuB,EAAE,mEAAmE,CAAC;KACpG,MAAM,CAAC,yBAAyB,EAAE,+DAA+D,CAAC;KAClG,MAAM,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC,CAAC;KACnG,MAAM,CACL,kBAAkB,EAClB,4FAA4F,CAC7F;KACA,MAAM,CAAC,gBAAgB,EAAE,mEAAmE,CAAC;KAC7F,MAAM,CAAC,SAAS,EAAE,8DAA8D,CAAC;KACjF,MAAM,CAAC,YAAY,EAAE,wDAAwD,CAAC;KAC9E,MAAM,CAAC,UAAU,EAAE,mDAAmD,CAAC;KACvE,MAAM,CACL,sBAAsB,EACtB,6EAA6E,EAC7E,OAAO,CACR;KACA,MAAM,CAAC,qBAAqB,EAAE,iEAAiE,CAAC;KAChG,MAAM,CACL,iCAAiC,EACjC,mIAAmI,CACpI;KACA,MAAM,CAAC,0BAA0B,EAAE,8DAA8D,CAAC;KAClG,MAAM,CAAC,YAAY,EAAE,8DAA8D,CAAC;KACpF,MAAM,CAAC,YAAY,EAAE,2CAA2C,CAAC;KACjE,MAAM,CACL,wBAAwB,EACxB,4FAA4F,CAC7F;KACA,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,wDAAwD;IACxD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACvC,OAAM;IACR,CAAC;IACD,2BAA2B;IAC3B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAA;QAClE,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;YAC1C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,+BAA+B,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;gBAC9F,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;YACzC,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAA;QACjD,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAA;QAChE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,wCAAwC;IACxC,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC5D,MAAM,UAAU,GAAG,cAAc,EAAE,CAAA;IAEnC,8CAA8C;IAC9C,IAAI,aAAa,CAAC,iBAAiB,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAA;QAC3E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC,CAAA;QACjF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAA;QAClE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAA;QAC5E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAA;QAC1E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAA;QAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC,CAAA;QAC9E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC,CAAA;QAC9F,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAA;QACzE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC,CAAA;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,2DAA2D;IAC3D,MAAM,cAAc,GAAG,aAAa,EAAE,CAAA;IACtC,IAAI,cAAc,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QACpD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CACT,8BAA8B,cAAc,CAAC,SAAS,KAAK,cAAc,CAAC,MAAM,uBAAuB,CACxG,CAAA;QACH,CAAC;QACD,uDAAuD;QACvD,OAAO,CAAC,GAAG,GAAG,KAAK,CAAA;IACrB,CAAC;IAED,iEAAiE;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,aAAa,CAAC,WAAW,CAAA;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC,aAAa,CAAA;IAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAA;IAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC7F,MAAM,sBAAsB,GAC1B,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,UAAU,CAAC,iBAAiB,CAAA;IACtG,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,sBAAsB,CAAC,CAAA;IAE1E,kEAAkE;IAClE,IAAI,aAAqB,CAAA;IACzB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,6DAA6D;QAC7D,aAAa,GAAG,OAAO,CAAC,OAAO,CAAA;QAC/B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,iCAAiC,aAAa,EAAE,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;SAAM,IAAI,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3C,aAAa,GAAG,GAAG,aAAa,CAAC,aAAa,IAAI,MAAM,EAAE,CAAA;QAC1D,2EAA2E;QAC3E,8DAA8D;IAChE,CAAC;SAAM,IAAI,aAAa,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1C,aAAa,GAAG,qBAAqB,MAAM,EAAE,CAAA;QAC7C,qDAAqD;QACrD,IAAI,WAAW,EAAE,CAAC;YAChB,aAAa,IAAI,OAAO,IAAI,EAAE,CAAA;QAChC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,kBAAkB;QAClB,aAAa,GAAG,GAAG,aAAa,CAAC,cAAc,QAAQ,MAAM,EAAE,CAAA;QAC/D,gEAAgE;QAChE,IAAI,WAAW,EAAE,CAAC;YAChB,2DAA2D;YAC3D,sFAAsF;YACtF,IAAI,aAAa,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACzC,iCAAiC;gBACjC,aAAa,IAAI,OAAO,IAAI,EAAE,CAAA;YAChC,CAAC;iBAAM,CAAC;gBACN,qDAAqD;gBACrD,aAAa,IAAI,WAAW,IAAI,EAAE,CAAA;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,4CAA4C;IAC5C,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;YAC1F,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAA;YAEnD,6CAA6C;YAC7C,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;gBAC1F,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAA;gBAC7D,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,MAAM,CACV,WAAW,MAAM,8EAA8E,CAChG,CACF,CAAA;gBACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,+BAA+B,aAAa,GAAG,CAAC,CAAC,CAAA;gBAC5E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAA;gBACvD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,MAAM,yCAAyC,CAAC,CAAC,CAAA;gBACjG,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,MAAM,CAAC,qFAAqF,CAAC,CACpG,CAAA;gBACD,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,MAAM,CACV,yEAAyE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,IAAI,CAC1H,CACF,CAAA;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,qCAAqC;QACvC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,yBAAyB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAA;QACrF,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAA;QAC3F,OAAO,CAAC,GAAG,CAAC,2BAA2B,aAAa,EAAE,CAAC,CAAA;QACvD,OAAO,CAAC,GAAG,CACT,iCACE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAC3E,EAAE,CACH,CAAA;IACH,CAAC;IAED,sDAAsD;IACtD,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACtC,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAE1G,IAAI,CAAC;QACH,6BAA6B;QAC7B,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAA;QAEzC,gDAAgD;QAChD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAA;QAE1E,wDAAwD;QACxD,gEAAgE;QAChE,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAE/C,MAAM,mBAAmB,CAAC;YACxB,GAAG,OAAO;YACV,IAAI;YACJ,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YACzC,WAAW,EAAE,aAAa,CAAC,WAAW;YACtC,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,WAAW;YACX,cAAc;YACd,OAAO;YACP,UAAU;YACV,aAAa;YACb,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW;YACX,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,GAAG,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,yDAAyD;YACxG,cAAc,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO;YAC3C,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,KAAK;YACjD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,KAAK,KAAK,EAAE,6CAA6C;YACrG,kBAAkB;SACnB,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,4CAA4C,CAAC,EAAE,KAAK,CAAC,CAAA;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,iBAAiB;AACjB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAA;AAE5F,oBAAoB;AACpB,KAAK;KACF,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,4EAA4E,CAAC;KACzF,MAAM,CAAC,cAAc,EAAE,oDAAoD,CAAC;KAC5E,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;KAC/C,MAAM,CAAC,qBAAqB,EAAE,4CAA4C,CAAC;KAC3E,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;KACzC,MAAM,CAAC,sBAAsB,EAAE,oCAAoC,EAAE,KAAK,CAAC;KAC3E,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAA;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,KAAK,CAAC,CAAA;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,yBAAyB;AACzB,KAAK;KACF,OAAO,CAAC,sBAAsB,CAAC;KAC/B,WAAW,CAAC,wEAAwE,CAAC;KACrF,MAAM,CAAC,cAAc,EAAE,mDAAmD,CAAC;KAC3E,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;KACzC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IAClC,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,KAAK,CAAC,CAAA;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,kBAAkB;AAClB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,SAAS,EAAE,0CAA0C,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAA;IAEpD,MAAM,WAAW,GAAG,MAAM,eAAe,EAAE,CAAA;IAE3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAA;IAExF,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAA;IACxF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAA;IAC7E,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAA;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,WAAW,CAAC,cAAc,MAAM,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;IAE/G,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;QAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;QACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAA;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAE/B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAA;QAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAA;IAC3E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/D,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;QAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,KAAK,EAAE,CAAA"}
@@ -73,6 +73,7 @@ export declare class DevEnvironment {
73
73
  private detectPortChange;
74
74
  private debugLog;
75
75
  private showRecentLogs;
76
+ private checkForCommonIssues;
76
77
  private startMcpServer;
77
78
  private waitForServer;
78
79
  private detectPackageManagerInDir;
@@ -1 +1 @@
1
- {"version":3,"file":"dev-environment.d.ts","sourceRoot":"","sources":["../src/dev-environment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-environment.d.ts","sourceRoot":"","sources":["../src/dev-environment.ts"],"names":[],"mappings":"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"}
@@ -539,7 +539,7 @@ export function createPersistentLogFile() {
539
539
  }
540
540
  }
541
541
  // Write session info for MCP server to discover
542
- function writeSessionInfo(projectName, logFilePath, appPort, mcpPort, cdpUrl, chromePids, serverCommand, framework) {
542
+ function writeSessionInfo(projectName, logFilePath, appPort, mcpPort, cdpUrl, chromePids, serverCommand, framework, serverPid) {
543
543
  const sessionDir = join(homedir(), ".d3k");
544
544
  try {
545
545
  // Create ~/.d3k directory if it doesn't exist
@@ -558,7 +558,8 @@ function writeSessionInfo(projectName, logFilePath, appPort, mcpPort, cdpUrl, ch
558
558
  cwd: process.cwd(),
559
559
  chromePids: chromePids || [],
560
560
  serverCommand: serverCommand || null,
561
- framework: framework || null
561
+ framework: framework || null,
562
+ serverPid: serverPid || null
562
563
  };
563
564
  // Write session file - use project name as filename for easy lookup
564
565
  const sessionFile = join(sessionDir, `${projectName}.json`);
@@ -584,6 +585,21 @@ function getSessionChromePids(projectName) {
584
585
  }
585
586
  return [];
586
587
  }
588
+ // Get server PID for this instance
589
+ function getSessionServerPid(projectName) {
590
+ const sessionDir = join(homedir(), ".d3k");
591
+ const sessionFile = join(sessionDir, `${projectName}.json`);
592
+ try {
593
+ if (existsSync(sessionFile)) {
594
+ const sessionInfo = JSON.parse(readFileSync(sessionFile, "utf8"));
595
+ return sessionInfo.serverPid || null;
596
+ }
597
+ }
598
+ catch (_error) {
599
+ // Non-fatal - return null
600
+ }
601
+ return null;
602
+ }
587
603
  function createLogFileInDir(baseDir, projectName) {
588
604
  // Create timestamp
589
605
  const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
@@ -1008,7 +1024,7 @@ export class DevEnvironment {
1008
1024
  // Write session info for MCP server discovery (include CDP URL if browser monitoring was started)
1009
1025
  const cdpUrl = this.cdpMonitor?.getCdpUrl() || null;
1010
1026
  const chromePids = this.cdpMonitor?.getChromePids() || [];
1011
- writeSessionInfo(projectName, this.options.logFile, this.options.port, this.options.mcpPort, cdpUrl, chromePids, this.options.serverCommand, this.options.framework);
1027
+ writeSessionInfo(projectName, this.options.logFile, this.options.port, this.options.mcpPort, cdpUrl, chromePids, this.options.serverCommand, this.options.framework, this.serverProcess?.pid);
1012
1028
  // Clear status - ready!
1013
1029
  await this.tui.updateStatus(null);
1014
1030
  }
@@ -1071,7 +1087,7 @@ export class DevEnvironment {
1071
1087
  // Include CDP URL if browser monitoring was started
1072
1088
  const cdpUrl = this.cdpMonitor?.getCdpUrl() || null;
1073
1089
  const chromePids = this.cdpMonitor?.getChromePids() || [];
1074
- writeSessionInfo(projectName, this.options.logFile, this.options.port, this.options.mcpPort, cdpUrl, chromePids, this.options.serverCommand, this.options.framework);
1090
+ writeSessionInfo(projectName, this.options.logFile, this.options.port, this.options.mcpPort, cdpUrl, chromePids, this.options.serverCommand, this.options.framework, this.serverProcess?.pid);
1075
1091
  // Complete startup with success message only in non-TUI mode
1076
1092
  this.spinner.succeed("Development environment ready!");
1077
1093
  // Regular console output (when TUI is disabled with --no-tui)
@@ -1263,7 +1279,7 @@ export class DevEnvironment {
1263
1279
  const cdpUrl = this.cdpMonitor?.getCdpUrl();
1264
1280
  const chromePids = this.cdpMonitor?.getChromePids() || [];
1265
1281
  if (cdpUrl || chromePids.length > 0) {
1266
- writeSessionInfo(projectName, this.options.logFile, this.options.port, this.options.mcpPort, cdpUrl || undefined, chromePids, this.options.serverCommand);
1282
+ writeSessionInfo(projectName, this.options.logFile, this.options.port, this.options.mcpPort, cdpUrl || undefined, chromePids, this.options.serverCommand, this.options.framework, this.serverProcess?.pid);
1267
1283
  this.debugLog(`Updated session info with new port: ${this.options.port}`);
1268
1284
  }
1269
1285
  // Update TUI header with new port
@@ -1352,6 +1368,32 @@ export class DevEnvironment {
1352
1368
  console.log(chalk.yellow(`💡 Check logs for details: ${this.options.logFile}`));
1353
1369
  }
1354
1370
  }
1371
+ checkForCommonIssues() {
1372
+ try {
1373
+ if (!existsSync(this.options.logFile))
1374
+ return;
1375
+ const logContent = readFileSync(this.options.logFile, "utf8");
1376
+ // Check for Next.js lock file issue (this fix also kills the process holding the port)
1377
+ if (logContent.includes("Unable to acquire lock") && logContent.includes(".next/dev/lock")) {
1378
+ console.log(chalk.yellow("\n💡 Detected Next.js lock file issue!"));
1379
+ console.log(chalk.white(" Another Next.js dev server may be running or crashed without cleanup."));
1380
+ console.log(chalk.white(" To fix, run:"));
1381
+ console.log(chalk.cyan(" rm -f .next/dev/lock && pkill -f 'next dev'"));
1382
+ return; // pkill also fixes the port-in-use issue, so skip that check
1383
+ }
1384
+ // Check for port in use (only if not a Next.js lock issue)
1385
+ const portInUseMatch = logContent.match(/Port (\d+) is in use by process (\d+)/);
1386
+ if (portInUseMatch) {
1387
+ const [, port, pid] = portInUseMatch;
1388
+ console.log(chalk.yellow(`\n💡 Port ${port} was already in use by process ${pid}`));
1389
+ console.log(chalk.white(" To kill that process, run:"));
1390
+ console.log(chalk.cyan(` kill -9 ${pid}`));
1391
+ }
1392
+ }
1393
+ catch {
1394
+ // Ignore errors reading log file
1395
+ }
1396
+ }
1355
1397
  async startMcpServer() {
1356
1398
  this.debugLog("Starting MCP server setup");
1357
1399
  // Note: MCP server cleanup now happens earlier in checkPortsAvailable()
@@ -1881,7 +1923,7 @@ export class DevEnvironment {
1881
1923
  }
1882
1924
  // Always write session info after CDP monitoring starts - this is critical for
1883
1925
  // sandbox environments where external tools poll for the cdpUrl in the session file
1884
- writeSessionInfo(projectName, this.options.logFile, this.options.port, this.options.mcpPort, cdpUrl || undefined, chromePids, this.options.serverCommand);
1926
+ writeSessionInfo(projectName, this.options.logFile, this.options.port, this.options.mcpPort, cdpUrl || undefined, chromePids, this.options.serverCommand, this.options.framework, this.serverProcess?.pid);
1885
1927
  this.debugLog(`Updated session info with CDP URL: ${cdpUrl}, Chrome PIDs: [${chromePids.join(", ")}]`);
1886
1928
  this.logger.log("browser", `[CDP] Session info written with cdpUrl: ${cdpUrl ? "available" : "null"}`);
1887
1929
  // Navigate to the app
@@ -1905,9 +1947,11 @@ export class DevEnvironment {
1905
1947
  await this.screencastManager.stop();
1906
1948
  this.screencastManager = null;
1907
1949
  }
1950
+ // Read server PID from session file BEFORE deleting it (needed for cleanup)
1951
+ const projectName = getProjectName();
1952
+ const savedServerPid = getSessionServerPid(projectName);
1908
1953
  // Clean up session file
1909
1954
  try {
1910
- const projectName = getProjectName();
1911
1955
  const sessionFile = join(homedir(), ".d3k", `${projectName}.json`);
1912
1956
  if (existsSync(sessionFile)) {
1913
1957
  unlinkSync(sessionFile);
@@ -1954,6 +1998,24 @@ export class DevEnvironment {
1954
1998
  // Kill app server only (MCP server remains as singleton)
1955
1999
  console.log(chalk.cyan("🔄 Killing app server..."));
1956
2000
  await killPortProcess(this.options.port, "your app server");
2001
+ // Kill server process and its children using the saved PID (from before session file was deleted)
2002
+ if (!isInSandbox() && savedServerPid) {
2003
+ try {
2004
+ const { spawnSync } = await import("child_process");
2005
+ // Kill all child processes of the server
2006
+ spawnSync("pkill", ["-P", savedServerPid.toString()], { stdio: "ignore" });
2007
+ // Kill the server process itself
2008
+ try {
2009
+ process.kill(savedServerPid, "SIGKILL");
2010
+ }
2011
+ catch {
2012
+ // Process may already be dead
2013
+ }
2014
+ }
2015
+ catch {
2016
+ // Ignore pkill errors
2017
+ }
2018
+ }
1957
2019
  // Shutdown CDP monitor if it was started
1958
2020
  if (this.cdpMonitor) {
1959
2021
  try {
@@ -1966,8 +2028,10 @@ export class DevEnvironment {
1966
2028
  }
1967
2029
  }
1968
2030
  console.log(chalk.red(`❌ ${this.options.commandName} exited due to server failure`));
1969
- const projectName = getProjectName();
1970
- console.log(chalk.yellow(`Check the logs at ~/.d3k/logs/${projectName}-d3k.log for errors. Feeling like helping? Run dev3000 --debug and file an issue at https://github.com/vercel-labs/dev3000/issues`));
2031
+ // Show recent log entries to help diagnose the issue
2032
+ this.showRecentLogs();
2033
+ // Check for common issues and provide specific guidance
2034
+ this.checkForCommonIssues();
1971
2035
  process.exit(1);
1972
2036
  }
1973
2037
  setupCleanupHandlers() {
@@ -2038,15 +2102,31 @@ export class DevEnvironment {
2038
2102
  process.exit(1);
2039
2103
  });
2040
2104
  });
2105
+ // Handle SIGHUP (sent by tmux when session/pane is killed)
2106
+ process.on("SIGHUP", () => {
2107
+ this.debugLog("SIGHUP received (tmux session closing)");
2108
+ if (this.isShuttingDown)
2109
+ return;
2110
+ this.isShuttingDown = true;
2111
+ this.handleShutdown()
2112
+ .then(() => {
2113
+ process.exit(0);
2114
+ })
2115
+ .catch(() => {
2116
+ process.exit(1);
2117
+ });
2118
+ });
2041
2119
  }
2042
2120
  async handleShutdown() {
2043
2121
  // Stop health monitoring
2044
2122
  this.stopHealthCheck();
2045
2123
  // Release the lock file
2046
2124
  this.releaseLock();
2125
+ // Read server PID from session file BEFORE deleting it (needed for cleanup)
2126
+ const projectName = getProjectName();
2127
+ const savedServerPid = getSessionServerPid(projectName);
2047
2128
  // Clean up session file
2048
2129
  try {
2049
- const projectName = getProjectName();
2050
2130
  const sessionFile = join(homedir(), ".d3k", `${projectName}.json`);
2051
2131
  if (existsSync(sessionFile)) {
2052
2132
  unlinkSync(sessionFile);
@@ -2195,9 +2275,24 @@ export class DevEnvironment {
2195
2275
  await new Promise((resolve) => setTimeout(resolve, 100));
2196
2276
  // Double-check: try to kill any remaining processes on the app port
2197
2277
  try {
2198
- const { spawn } = await import("child_process");
2199
- spawn("sh", ["-c", `pkill -f ":${this.options.port}"`], { stdio: "ignore" });
2278
+ const { spawnSync } = await import("child_process");
2279
+ // Kill by port
2280
+ spawnSync("sh", ["-c", `pkill -f ":${this.options.port}"`], { stdio: "ignore" });
2200
2281
  this.debugLog(`Sent pkill signal for port ${this.options.port}`);
2282
+ // Kill server process and its children using the saved PID (from before session file was deleted)
2283
+ if (savedServerPid) {
2284
+ // Kill all child processes of the server
2285
+ spawnSync("pkill", ["-P", savedServerPid.toString()], { stdio: "ignore" });
2286
+ this.debugLog(`Killed children of server PID ${savedServerPid}`);
2287
+ // Kill the server process itself
2288
+ try {
2289
+ process.kill(savedServerPid, "SIGKILL");
2290
+ this.debugLog(`Killed server PID ${savedServerPid}`);
2291
+ }
2292
+ catch {
2293
+ // Process may already be dead
2294
+ }
2295
+ }
2201
2296
  }
2202
2297
  catch {
2203
2298
  // Ignore pkill errors