kastell 2.2.4 → 2.2.6

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 (199) hide show
  1. package/.claude-plugin/marketplace.json +18 -18
  2. package/.claude-plugin/plugin.json +45 -38
  3. package/CHANGELOG.md +1313 -1266
  4. package/LICENSE +201 -201
  5. package/NOTICE +5 -5
  6. package/README.md +1 -1
  7. package/README.tr.md +1 -1
  8. package/bin/kastell +2 -2
  9. package/bin/kastell-mcp +5 -5
  10. package/dist/adapters/coolify.js +92 -92
  11. package/dist/adapters/dokploy.js +99 -99
  12. package/dist/commands/fix.d.ts +2 -0
  13. package/dist/commands/fix.d.ts.map +1 -1
  14. package/dist/commands/fix.js +26 -1
  15. package/dist/commands/fix.js.map +1 -1
  16. package/dist/commands/interactive/plugins.d.ts.map +1 -1
  17. package/dist/commands/interactive/plugins.js +26 -2
  18. package/dist/commands/interactive/plugins.js.map +1 -1
  19. package/dist/commands/plugin.d.ts.map +1 -1
  20. package/dist/commands/plugin.js +6 -2
  21. package/dist/commands/plugin.js.map +1 -1
  22. package/dist/core/audit/commands.d.ts +13 -2
  23. package/dist/core/audit/commands.d.ts.map +1 -1
  24. package/dist/core/audit/commands.js +39 -2
  25. package/dist/core/audit/commands.js.map +1 -1
  26. package/dist/core/audit/explainCheck.d.ts +1 -0
  27. package/dist/core/audit/explainCheck.d.ts.map +1 -1
  28. package/dist/core/audit/explainCheck.js +1 -1
  29. package/dist/core/audit/explainCheck.js.map +1 -1
  30. package/dist/core/audit/fix-history.d.ts +3 -1
  31. package/dist/core/audit/fix-history.d.ts.map +1 -1
  32. package/dist/core/audit/fix-history.js +6 -2
  33. package/dist/core/audit/fix-history.js.map +1 -1
  34. package/dist/core/audit/fix.d.ts.map +1 -1
  35. package/dist/core/audit/fix.js +22 -0
  36. package/dist/core/audit/fix.js.map +1 -1
  37. package/dist/core/audit/formatters/badge.js +20 -20
  38. package/dist/core/audit/index.d.ts.map +1 -1
  39. package/dist/core/audit/index.js +12 -3
  40. package/dist/core/audit/index.js.map +1 -1
  41. package/dist/core/audit/listChecks.d.ts.map +1 -1
  42. package/dist/core/audit/listChecks.js +24 -0
  43. package/dist/core/audit/listChecks.js.map +1 -1
  44. package/dist/core/audit/pluginAudit.d.ts +8 -0
  45. package/dist/core/audit/pluginAudit.d.ts.map +1 -0
  46. package/dist/core/audit/pluginAudit.js +134 -0
  47. package/dist/core/audit/pluginAudit.js.map +1 -0
  48. package/dist/core/audit/pluginFix.d.ts +19 -0
  49. package/dist/core/audit/pluginFix.d.ts.map +1 -0
  50. package/dist/core/audit/pluginFix.js +122 -0
  51. package/dist/core/audit/pluginFix.js.map +1 -0
  52. package/dist/core/audit/snapshot.d.ts +4 -4
  53. package/dist/core/audit/types.d.ts +2 -1
  54. package/dist/core/audit/types.d.ts.map +1 -1
  55. package/dist/core/completions.js +631 -631
  56. package/dist/core/plugin.d.ts +6 -0
  57. package/dist/core/plugin.d.ts.map +1 -1
  58. package/dist/core/plugin.js +2 -0
  59. package/dist/core/plugin.js.map +1 -1
  60. package/dist/index.js +7 -0
  61. package/dist/index.js.map +1 -1
  62. package/dist/mcp/index.js +1 -1
  63. package/dist/mcp/index.js.map +1 -1
  64. package/dist/mcp/pluginTools.d.ts +5 -0
  65. package/dist/mcp/pluginTools.d.ts.map +1 -0
  66. package/dist/mcp/pluginTools.js +54 -0
  67. package/dist/mcp/pluginTools.js.map +1 -0
  68. package/dist/mcp/prompts/workflows.d.ts +17 -0
  69. package/dist/mcp/prompts/workflows.d.ts.map +1 -0
  70. package/dist/mcp/prompts/workflows.js +73 -0
  71. package/dist/mcp/prompts/workflows.js.map +1 -0
  72. package/dist/mcp/resources/checks.d.ts +4 -0
  73. package/dist/mcp/resources/checks.d.ts.map +1 -0
  74. package/dist/mcp/resources/checks.js +49 -0
  75. package/dist/mcp/resources/checks.js.map +1 -0
  76. package/dist/mcp/resources/servers.d.ts +4 -0
  77. package/dist/mcp/resources/servers.d.ts.map +1 -0
  78. package/dist/mcp/resources/servers.js +59 -0
  79. package/dist/mcp/resources/servers.js.map +1 -0
  80. package/dist/mcp/server.d.ts +1 -1
  81. package/dist/mcp/server.d.ts.map +1 -1
  82. package/dist/mcp/server.js +68 -35
  83. package/dist/mcp/server.js.map +1 -1
  84. package/dist/mcp/tools/serverAudit.d.ts +1 -1
  85. package/dist/mcp/tools/serverExplain.d.ts.map +1 -1
  86. package/dist/mcp/tools/serverExplain.js.map +1 -1
  87. package/dist/mcp/tools/serverFix.d.ts.map +1 -1
  88. package/dist/mcp/tools/serverFix.js +7 -1
  89. package/dist/mcp/tools/serverFix.js.map +1 -1
  90. package/dist/mcp/tools/serverFleet.d.ts.map +1 -1
  91. package/dist/mcp/tools/serverFleet.js.map +1 -1
  92. package/dist/mcp/tools/serverInfo.d.ts +1 -1
  93. package/dist/mcp/tools/serverInfo.js +1 -1
  94. package/dist/mcp/tools/serverManage.d.ts +2 -1
  95. package/dist/mcp/tools/serverManage.d.ts.map +1 -1
  96. package/dist/mcp/tools/serverManage.js +50 -5
  97. package/dist/mcp/tools/serverManage.js.map +1 -1
  98. package/dist/mcp/tools/serverPlugin.d.ts +3 -0
  99. package/dist/mcp/tools/serverPlugin.d.ts.map +1 -1
  100. package/dist/mcp/tools/serverPlugin.js +11 -1
  101. package/dist/mcp/tools/serverPlugin.js.map +1 -1
  102. package/dist/mcp/tools/serverProvision.d.ts +5 -5
  103. package/dist/mcp/tools/serverProvision.d.ts.map +1 -1
  104. package/dist/mcp/tools/serverProvision.js +31 -9
  105. package/dist/mcp/tools/serverProvision.js.map +1 -1
  106. package/dist/mcp/tools/serverSecure.d.ts.map +1 -1
  107. package/dist/mcp/tools/serverSecure.js +30 -1
  108. package/dist/mcp/tools/serverSecure.js.map +1 -1
  109. package/dist/mcp/utils.d.ts +25 -0
  110. package/dist/mcp/utils.d.ts.map +1 -1
  111. package/dist/mcp/utils.js +36 -0
  112. package/dist/mcp/utils.js.map +1 -1
  113. package/dist/mcp-bundle.mjs +102301 -0
  114. package/dist/plugin/handlerResolver.d.ts +2 -0
  115. package/dist/plugin/handlerResolver.d.ts.map +1 -0
  116. package/dist/plugin/handlerResolver.js +16 -0
  117. package/dist/plugin/handlerResolver.js.map +1 -0
  118. package/dist/plugin/loader.d.ts.map +1 -1
  119. package/dist/plugin/loader.js +41 -4
  120. package/dist/plugin/loader.js.map +1 -1
  121. package/dist/plugin/registerCommands.d.ts +4 -0
  122. package/dist/plugin/registerCommands.d.ts.map +1 -0
  123. package/dist/plugin/registerCommands.js +45 -0
  124. package/dist/plugin/registerCommands.js.map +1 -0
  125. package/dist/plugin/registry.d.ts +20 -1
  126. package/dist/plugin/registry.d.ts.map +1 -1
  127. package/dist/plugin/registry.js +51 -1
  128. package/dist/plugin/registry.js.map +1 -1
  129. package/dist/plugin/sdk/constants.d.ts +2 -0
  130. package/dist/plugin/sdk/constants.d.ts.map +1 -1
  131. package/dist/plugin/sdk/constants.js +2 -0
  132. package/dist/plugin/sdk/constants.js.map +1 -1
  133. package/dist/plugin/sdk/types.d.ts +74 -1
  134. package/dist/plugin/sdk/types.d.ts.map +1 -1
  135. package/dist/plugin/validate.d.ts +2 -1
  136. package/dist/plugin/validate.d.ts.map +1 -1
  137. package/dist/plugin/validate.js +106 -1
  138. package/dist/plugin/validate.js.map +1 -1
  139. package/dist/utils/cloudInit.js +58 -58
  140. package/dist/utils/fileLock.d.ts +5 -1
  141. package/dist/utils/fileLock.d.ts.map +1 -1
  142. package/dist/utils/fileLock.js +70 -15
  143. package/dist/utils/fileLock.js.map +1 -1
  144. package/dist/utils/paths.d.ts +0 -1
  145. package/dist/utils/paths.d.ts.map +1 -1
  146. package/dist/utils/paths.js +1 -2
  147. package/dist/utils/paths.js.map +1 -1
  148. package/dist/utils/secureWrite.d.ts.map +1 -1
  149. package/dist/utils/secureWrite.js +3 -38
  150. package/dist/utils/secureWrite.js.map +1 -1
  151. package/dist/utils/version.d.ts.map +1 -1
  152. package/dist/utils/version.js +19 -4
  153. package/dist/utils/version.js.map +1 -1
  154. package/kastell-plugin/.claude-plugin/plugin.json +20 -20
  155. package/kastell-plugin/.mcp.json +15 -8
  156. package/kastell-plugin/README.md +113 -113
  157. package/kastell-plugin/agents/kastell-auditor.md +77 -77
  158. package/kastell-plugin/agents/scripts/bucket_mapper.sh +101 -101
  159. package/kastell-plugin/agents/scripts/trend_report.sh +91 -91
  160. package/kastell-plugin/hooks/destroy-block.cjs +31 -31
  161. package/kastell-plugin/hooks/hooks.json +57 -57
  162. package/kastell-plugin/hooks/pre-commit-audit-guard.cjs +75 -75
  163. package/kastell-plugin/hooks/session-audit.cjs +86 -86
  164. package/kastell-plugin/hooks/session-log.cjs +56 -56
  165. package/kastell-plugin/hooks/stop-quality-check.cjs +72 -72
  166. package/kastell-plugin/skills/kastell-careful/SKILL.md +64 -64
  167. package/kastell-plugin/skills/kastell-ops/SKILL.md +139 -139
  168. package/kastell-plugin/skills/kastell-ops/references/commands.md +45 -45
  169. package/kastell-plugin/skills/kastell-ops/references/mcp-tools.md +50 -50
  170. package/kastell-plugin/skills/kastell-ops/references/patterns.md +145 -145
  171. package/kastell-plugin/skills/kastell-ops/references/pitfalls.md +136 -136
  172. package/kastell-plugin/skills/kastell-ops/scripts/check_coverage.sh +101 -101
  173. package/kastell-plugin/skills/kastell-ops/scripts/fleet_report.sh +73 -73
  174. package/kastell-plugin/skills/kastell-ops/scripts/parse_audit.sh +76 -76
  175. package/kastell-plugin/skills/kastell-research/SKILL.md +90 -90
  176. package/kastell-plugin/skills/kastell-scaffold/SKILL.md +104 -104
  177. package/kastell-plugin/skills/kastell-scaffold/references/template-audit-check.md +150 -150
  178. package/kastell-plugin/skills/kastell-scaffold/references/template-command.md +80 -80
  179. package/kastell-plugin/skills/kastell-scaffold/references/template-mcp-tool.md +72 -72
  180. package/kastell-plugin/skills/kastell-scaffold/references/template-provider.md +67 -67
  181. package/kastell-plugin/skills/kastell-scaffold/scripts/scaffold.sh +180 -180
  182. package/kastell-plugin/skills/kastell-scaffold/templates/check-test.ts.tpl +27 -27
  183. package/kastell-plugin/skills/kastell-scaffold/templates/check.ts.tpl +50 -50
  184. package/kastell-plugin/skills/kastell-scaffold/templates/command-core.ts.tpl +18 -18
  185. package/kastell-plugin/skills/kastell-scaffold/templates/command-test.ts.tpl +17 -17
  186. package/kastell-plugin/skills/kastell-scaffold/templates/command.ts.tpl +25 -25
  187. package/kastell-plugin/skills/kastell-scaffold/templates/mcp-tool-test.ts.tpl +30 -30
  188. package/kastell-plugin/skills/kastell-scaffold/templates/mcp-tool.ts.tpl +29 -29
  189. package/kastell-plugin/skills/kastell-scaffold/templates/provider-test.ts.tpl +34 -34
  190. package/kastell-plugin/skills/kastell-scaffold/templates/provider.ts.tpl +32 -32
  191. package/package.json +125 -122
  192. package/dist/commands/interactive.d.ts +0 -11
  193. package/dist/commands/interactive.d.ts.map +0 -1
  194. package/dist/commands/interactive.js +0 -1079
  195. package/dist/commands/interactive.js.map +0 -1
  196. package/dist/core/lock.d.ts +0 -66
  197. package/dist/core/lock.d.ts.map +0 -1
  198. package/dist/core/lock.js +0 -556
  199. package/dist/core/lock.js.map +0 -1
@@ -10,98 +10,98 @@ export class CoolifyAdapter {
10
10
  platformPorts = [80, 443, COOLIFY_PORT, 6001, 6002];
11
11
  getCloudInit(serverName, sshPublicKey) {
12
12
  const safeName = serverName.replace(/[^a-z0-9-]/g, "");
13
- return `#!/bin/bash
14
- set +e
15
- export DEBIAN_FRONTEND=noninteractive
16
- touch /var/log/kastell-install.log
17
- chmod 600 /var/log/kastell-install.log
18
- exec > >(tee /var/log/kastell-install.log) 2>&1
19
-
20
- echo "=================================="
21
- echo "Kastell Auto-Installer"
22
- echo "Server: ${safeName}"
23
- echo "=================================="
24
-
25
- # Wait for network connectivity (DO cloud-init may start before network is ready)
26
- echo "Waiting for network connectivity..."
27
- MAX_ATTEMPTS=30
28
- ATTEMPTS=0
29
- while [ $ATTEMPTS -lt $MAX_ATTEMPTS ]; do
30
- if curl -s --max-time 5 https://cdn.coollabs.io > /dev/null 2>&1; then
31
- echo "Network is ready!"
32
- break
33
- fi
34
- ATTEMPTS=$((ATTEMPTS + 1))
35
- echo "Network not ready (attempt $ATTEMPTS/$MAX_ATTEMPTS)..."
36
- sleep 2
37
- done
38
-
39
- # Disable needrestart to prevent interactive prompts during Docker/package installation
40
- echo "Disabling needrestart..."
41
- if dpkg -l needrestart > /dev/null 2>&1; then
42
- apt-get remove -y needrestart || true
43
- fi
44
- export NEEDRESTART_MODE=a
45
- export NEEDRESTART_SUSPEND=1
46
-
47
- # Update system
48
- echo "Updating system packages..."
49
- apt-get update -y
50
-
51
- # Configure firewall BEFORE installer (prevents SSH lockout if installer hangs)
52
- echo "Configuring firewall..."
53
- if command -v ufw &> /dev/null; then
54
- ufw allow 22/tcp
55
- ufw allow 80/tcp
56
- ufw allow 443/tcp
57
- ufw allow 8000/tcp
58
- ufw allow 6001/tcp
59
- ufw allow 6002/tcp
60
- echo "y" | ufw enable || true
61
- else
62
- iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
63
- iptables -A INPUT -p tcp --dport 22 -j ACCEPT
64
- iptables -A INPUT -p tcp --dport 80 -j ACCEPT
65
- iptables -A INPUT -p tcp --dport 443 -j ACCEPT
66
- iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
67
- mkdir -p /etc/iptables
68
- iptables-save > /etc/iptables/rules.v4 || true
69
- apt-get install -y iptables-persistent || true
70
- fi
71
-
72
- # Switch from socket activation to traditional SSH service (prevents Ubuntu 24.04 ssh.socket bugs)
73
- echo "Switching to traditional SSH service..."
74
- systemctl disable --now ssh.socket 2>/dev/null || true
75
- systemctl enable --now ssh.service 2>/dev/null || true
76
-
77
- # Install Coolify
78
- echo "Installing Coolify..."
79
- curl -fsSL https://cdn.coollabs.io/coolify/install.sh -o /tmp/coolify-install.sh && head -c2 /tmp/coolify-install.sh | grep -q "#!" && [ "$(wc -c < /tmp/coolify-install.sh)" -gt 100 ] && env DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a NEEDRESTART_SUSPEND=1 bash /tmp/coolify-install.sh && rm -f /tmp/coolify-install.sh
80
-
81
- # Ensure SSH remains accessible after Coolify installation
82
- echo "Ensuring SSH service is active..."
83
- if ! ss -tlnp | grep -q ':22 '; then
84
- systemctl restart ssh.service 2>/dev/null || systemctl restart sshd.service 2>/dev/null || true
85
- sleep 2
86
- fi
87
-
88
- # Re-inject SSH public key (Coolify installer may overwrite authorized_keys)
89
- ${sshPublicKey ? `echo "Re-injecting SSH public key..."
90
- mkdir -p /root/.ssh
91
- chmod 700 /root/.ssh
92
- grep -qF '${sshPublicKey.trim().replace(/'/g, "'\\''")}' /root/.ssh/authorized_keys 2>/dev/null || echo '${sshPublicKey.trim().replace(/'/g, "'\\''")}' >> /root/.ssh/authorized_keys
93
- chmod 600 /root/.ssh/authorized_keys` : "# No SSH public key provided — skipping re-injection"}
94
-
95
- # Wait for services
96
- echo "Waiting for Coolify services to start..."
97
- sleep 30
98
-
99
- echo "=================================="
100
- echo "Coolify installation completed!"
101
- echo "=================================="
102
- echo ""
103
- echo "Please wait 3-5 more minutes for Coolify to fully initialize."
104
- echo "Then access your instance at: http://YOUR_SERVER_IP:8000"
13
+ return `#!/bin/bash
14
+ set +e
15
+ export DEBIAN_FRONTEND=noninteractive
16
+ touch /var/log/kastell-install.log
17
+ chmod 600 /var/log/kastell-install.log
18
+ exec > >(tee /var/log/kastell-install.log) 2>&1
19
+
20
+ echo "=================================="
21
+ echo "Kastell Auto-Installer"
22
+ echo "Server: ${safeName}"
23
+ echo "=================================="
24
+
25
+ # Wait for network connectivity (DO cloud-init may start before network is ready)
26
+ echo "Waiting for network connectivity..."
27
+ MAX_ATTEMPTS=30
28
+ ATTEMPTS=0
29
+ while [ $ATTEMPTS -lt $MAX_ATTEMPTS ]; do
30
+ if curl -s --max-time 5 https://cdn.coollabs.io > /dev/null 2>&1; then
31
+ echo "Network is ready!"
32
+ break
33
+ fi
34
+ ATTEMPTS=$((ATTEMPTS + 1))
35
+ echo "Network not ready (attempt $ATTEMPTS/$MAX_ATTEMPTS)..."
36
+ sleep 2
37
+ done
38
+
39
+ # Disable needrestart to prevent interactive prompts during Docker/package installation
40
+ echo "Disabling needrestart..."
41
+ if dpkg -l needrestart > /dev/null 2>&1; then
42
+ apt-get remove -y needrestart || true
43
+ fi
44
+ export NEEDRESTART_MODE=a
45
+ export NEEDRESTART_SUSPEND=1
46
+
47
+ # Update system
48
+ echo "Updating system packages..."
49
+ apt-get update -y
50
+
51
+ # Configure firewall BEFORE installer (prevents SSH lockout if installer hangs)
52
+ echo "Configuring firewall..."
53
+ if command -v ufw &> /dev/null; then
54
+ ufw allow 22/tcp
55
+ ufw allow 80/tcp
56
+ ufw allow 443/tcp
57
+ ufw allow 8000/tcp
58
+ ufw allow 6001/tcp
59
+ ufw allow 6002/tcp
60
+ echo "y" | ufw enable || true
61
+ else
62
+ iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
63
+ iptables -A INPUT -p tcp --dport 22 -j ACCEPT
64
+ iptables -A INPUT -p tcp --dport 80 -j ACCEPT
65
+ iptables -A INPUT -p tcp --dport 443 -j ACCEPT
66
+ iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
67
+ mkdir -p /etc/iptables
68
+ iptables-save > /etc/iptables/rules.v4 || true
69
+ apt-get install -y iptables-persistent || true
70
+ fi
71
+
72
+ # Switch from socket activation to traditional SSH service (prevents Ubuntu 24.04 ssh.socket bugs)
73
+ echo "Switching to traditional SSH service..."
74
+ systemctl disable --now ssh.socket 2>/dev/null || true
75
+ systemctl enable --now ssh.service 2>/dev/null || true
76
+
77
+ # Install Coolify
78
+ echo "Installing Coolify..."
79
+ curl -fsSL https://cdn.coollabs.io/coolify/install.sh -o /tmp/coolify-install.sh && head -c2 /tmp/coolify-install.sh | grep -q "#!" && [ "$(wc -c < /tmp/coolify-install.sh)" -gt 100 ] && env DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a NEEDRESTART_SUSPEND=1 bash /tmp/coolify-install.sh && rm -f /tmp/coolify-install.sh
80
+
81
+ # Ensure SSH remains accessible after Coolify installation
82
+ echo "Ensuring SSH service is active..."
83
+ if ! ss -tlnp | grep -q ':22 '; then
84
+ systemctl restart ssh.service 2>/dev/null || systemctl restart sshd.service 2>/dev/null || true
85
+ sleep 2
86
+ fi
87
+
88
+ # Re-inject SSH public key (Coolify installer may overwrite authorized_keys)
89
+ ${sshPublicKey ? `echo "Re-injecting SSH public key..."
90
+ mkdir -p /root/.ssh
91
+ chmod 700 /root/.ssh
92
+ grep -qF '${sshPublicKey.trim().replace(/'/g, "'\\''")}' /root/.ssh/authorized_keys 2>/dev/null || echo '${sshPublicKey.trim().replace(/'/g, "'\\''")}' >> /root/.ssh/authorized_keys
93
+ chmod 600 /root/.ssh/authorized_keys` : "# No SSH public key provided — skipping re-injection"}
94
+
95
+ # Wait for services
96
+ echo "Waiting for Coolify services to start..."
97
+ sleep 30
98
+
99
+ echo "=================================="
100
+ echo "Coolify installation completed!"
101
+ echo "=================================="
102
+ echo ""
103
+ echo "Please wait 3-5 more minutes for Coolify to fully initialize."
104
+ echo "Then access your instance at: http://YOUR_SERVER_IP:8000"
105
105
  `;
106
106
  }
107
107
  async healthCheck(ip, domain) {
@@ -10,105 +10,105 @@ export class DokployAdapter {
10
10
  platformPorts = [80, 443, DOKPLOY_PORT];
11
11
  getCloudInit(serverName, sshPublicKey) {
12
12
  const safeName = serverName.replace(/[^a-z0-9-]/g, "");
13
- return `#!/bin/bash
14
- set +e
15
- export DEBIAN_FRONTEND=noninteractive
16
- touch /var/log/kastell-install.log
17
- chmod 600 /var/log/kastell-install.log
18
- exec > >(tee /var/log/kastell-install.log) 2>&1
19
-
20
- echo "=================================="
21
- echo "Kastell Auto-Installer"
22
- echo "Server: ${safeName}"
23
- echo "Platform: Dokploy"
24
- echo "=================================="
25
-
26
- # Wait for network connectivity
27
- echo "Waiting for network connectivity..."
28
- MAX_ATTEMPTS=30
29
- ATTEMPTS=0
30
- while [ $ATTEMPTS -lt $MAX_ATTEMPTS ]; do
31
- if curl -s --max-time 5 https://dokploy.com > /dev/null 2>&1; then
32
- echo "Network is ready!"
33
- break
34
- fi
35
- ATTEMPTS=$((ATTEMPTS + 1))
36
- echo "Network not ready (attempt $ATTEMPTS/$MAX_ATTEMPTS)..."
37
- sleep 2
38
- done
39
-
40
- # Disable needrestart to prevent interactive prompts during Docker/package installation
41
- echo "Disabling needrestart..."
42
- if dpkg -l needrestart > /dev/null 2>&1; then
43
- apt-get remove -y needrestart || true
44
- fi
45
- export NEEDRESTART_MODE=a
46
- export NEEDRESTART_SUSPEND=1
47
-
48
- # Update system
49
- echo "Updating system packages..."
50
- apt-get update -y
51
-
52
- # Configure firewall BEFORE installer (prevents SSH lockout if installer hangs)
53
- echo "Configuring firewall..."
54
- if command -v ufw &> /dev/null; then
55
- ufw allow 22/tcp
56
- ufw allow 80/tcp
57
- ufw allow 443/tcp
58
- ufw allow 3000/tcp
59
- ufw allow 2377/tcp
60
- ufw allow 7946/tcp
61
- ufw allow 7946/udp
62
- ufw allow 4789/udp
63
- echo "y" | ufw enable || true
64
- else
65
- iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
66
- iptables -A INPUT -p tcp --dport 22 -j ACCEPT
67
- iptables -A INPUT -p tcp --dport 80 -j ACCEPT
68
- iptables -A INPUT -p tcp --dport 443 -j ACCEPT
69
- iptables -A INPUT -p tcp --dport 2377 -j ACCEPT
70
- iptables -A INPUT -p tcp --dport 7946 -j ACCEPT
71
- iptables -A INPUT -p udp --dport 7946 -j ACCEPT
72
- iptables -A INPUT -p udp --dport 4789 -j ACCEPT
73
- iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
74
- mkdir -p /etc/iptables
75
- iptables-save > /etc/iptables/rules.v4 || true
76
- apt-get install -y iptables-persistent || true
77
- fi
78
-
79
- # Switch from socket activation to traditional SSH service (prevents Ubuntu 24.04 ssh.socket bugs)
80
- echo "Switching to traditional SSH service..."
81
- systemctl disable --now ssh.socket 2>/dev/null || true
82
- systemctl enable --now ssh.service 2>/dev/null || true
83
-
84
- # Install Dokploy
85
- echo "Installing Dokploy..."
86
- curl -sSL https://dokploy.com/install.sh -o /tmp/dokploy-install.sh && head -c2 /tmp/dokploy-install.sh | grep -q "#!" && [ "$(wc -c < /tmp/dokploy-install.sh)" -gt 100 ] && env DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a NEEDRESTART_SUSPEND=1 sh /tmp/dokploy-install.sh && rm -f /tmp/dokploy-install.sh
87
-
88
- # Ensure SSH remains accessible after installation
89
- echo "Ensuring SSH service is active..."
90
- if ! ss -tlnp | grep -q ':22 '; then
91
- systemctl restart ssh.service 2>/dev/null || systemctl restart sshd.service 2>/dev/null || true
92
- sleep 2
93
- fi
94
-
95
- # Re-inject SSH public key (platform installer may overwrite authorized_keys)
96
- ${sshPublicKey ? `echo "Re-injecting SSH public key..."
97
- mkdir -p /root/.ssh
98
- chmod 700 /root/.ssh
99
- grep -qF '${sshPublicKey.trim().replace(/'/g, "'\\''")}' /root/.ssh/authorized_keys 2>/dev/null || echo '${sshPublicKey.trim().replace(/'/g, "'\\''")}' >> /root/.ssh/authorized_keys
100
- chmod 600 /root/.ssh/authorized_keys` : "# No SSH public key provided — skipping re-injection"}
101
-
102
- # Wait for services
103
- echo "Waiting for Dokploy services to start..."
104
- sleep 30
105
-
106
- echo "=================================="
107
- echo "Dokploy installation completed!"
108
- echo "=================================="
109
- echo ""
110
- echo "Please wait 3-5 more minutes for Dokploy to fully initialize."
111
- echo "Then access your instance at: http://YOUR_SERVER_IP:3000"
13
+ return `#!/bin/bash
14
+ set +e
15
+ export DEBIAN_FRONTEND=noninteractive
16
+ touch /var/log/kastell-install.log
17
+ chmod 600 /var/log/kastell-install.log
18
+ exec > >(tee /var/log/kastell-install.log) 2>&1
19
+
20
+ echo "=================================="
21
+ echo "Kastell Auto-Installer"
22
+ echo "Server: ${safeName}"
23
+ echo "Platform: Dokploy"
24
+ echo "=================================="
25
+
26
+ # Wait for network connectivity
27
+ echo "Waiting for network connectivity..."
28
+ MAX_ATTEMPTS=30
29
+ ATTEMPTS=0
30
+ while [ $ATTEMPTS -lt $MAX_ATTEMPTS ]; do
31
+ if curl -s --max-time 5 https://dokploy.com > /dev/null 2>&1; then
32
+ echo "Network is ready!"
33
+ break
34
+ fi
35
+ ATTEMPTS=$((ATTEMPTS + 1))
36
+ echo "Network not ready (attempt $ATTEMPTS/$MAX_ATTEMPTS)..."
37
+ sleep 2
38
+ done
39
+
40
+ # Disable needrestart to prevent interactive prompts during Docker/package installation
41
+ echo "Disabling needrestart..."
42
+ if dpkg -l needrestart > /dev/null 2>&1; then
43
+ apt-get remove -y needrestart || true
44
+ fi
45
+ export NEEDRESTART_MODE=a
46
+ export NEEDRESTART_SUSPEND=1
47
+
48
+ # Update system
49
+ echo "Updating system packages..."
50
+ apt-get update -y
51
+
52
+ # Configure firewall BEFORE installer (prevents SSH lockout if installer hangs)
53
+ echo "Configuring firewall..."
54
+ if command -v ufw &> /dev/null; then
55
+ ufw allow 22/tcp
56
+ ufw allow 80/tcp
57
+ ufw allow 443/tcp
58
+ ufw allow 3000/tcp
59
+ ufw allow 2377/tcp
60
+ ufw allow 7946/tcp
61
+ ufw allow 7946/udp
62
+ ufw allow 4789/udp
63
+ echo "y" | ufw enable || true
64
+ else
65
+ iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
66
+ iptables -A INPUT -p tcp --dport 22 -j ACCEPT
67
+ iptables -A INPUT -p tcp --dport 80 -j ACCEPT
68
+ iptables -A INPUT -p tcp --dport 443 -j ACCEPT
69
+ iptables -A INPUT -p tcp --dport 2377 -j ACCEPT
70
+ iptables -A INPUT -p tcp --dport 7946 -j ACCEPT
71
+ iptables -A INPUT -p udp --dport 7946 -j ACCEPT
72
+ iptables -A INPUT -p udp --dport 4789 -j ACCEPT
73
+ iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
74
+ mkdir -p /etc/iptables
75
+ iptables-save > /etc/iptables/rules.v4 || true
76
+ apt-get install -y iptables-persistent || true
77
+ fi
78
+
79
+ # Switch from socket activation to traditional SSH service (prevents Ubuntu 24.04 ssh.socket bugs)
80
+ echo "Switching to traditional SSH service..."
81
+ systemctl disable --now ssh.socket 2>/dev/null || true
82
+ systemctl enable --now ssh.service 2>/dev/null || true
83
+
84
+ # Install Dokploy
85
+ echo "Installing Dokploy..."
86
+ curl -sSL https://dokploy.com/install.sh -o /tmp/dokploy-install.sh && head -c2 /tmp/dokploy-install.sh | grep -q "#!" && [ "$(wc -c < /tmp/dokploy-install.sh)" -gt 100 ] && env DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a NEEDRESTART_SUSPEND=1 sh /tmp/dokploy-install.sh && rm -f /tmp/dokploy-install.sh
87
+
88
+ # Ensure SSH remains accessible after installation
89
+ echo "Ensuring SSH service is active..."
90
+ if ! ss -tlnp | grep -q ':22 '; then
91
+ systemctl restart ssh.service 2>/dev/null || systemctl restart sshd.service 2>/dev/null || true
92
+ sleep 2
93
+ fi
94
+
95
+ # Re-inject SSH public key (platform installer may overwrite authorized_keys)
96
+ ${sshPublicKey ? `echo "Re-injecting SSH public key..."
97
+ mkdir -p /root/.ssh
98
+ chmod 700 /root/.ssh
99
+ grep -qF '${sshPublicKey.trim().replace(/'/g, "'\\''")}' /root/.ssh/authorized_keys 2>/dev/null || echo '${sshPublicKey.trim().replace(/'/g, "'\\''")}' >> /root/.ssh/authorized_keys
100
+ chmod 600 /root/.ssh/authorized_keys` : "# No SSH public key provided — skipping re-injection"}
101
+
102
+ # Wait for services
103
+ echo "Waiting for Dokploy services to start..."
104
+ sleep 30
105
+
106
+ echo "=================================="
107
+ echo "Dokploy installation completed!"
108
+ echo "=================================="
109
+ echo ""
110
+ echo "Please wait 3-5 more minutes for Dokploy to fully initialize."
111
+ echo "Then access your instance at: http://YOUR_SERVER_IP:3000"
112
112
  `;
113
113
  }
114
114
  async healthCheck(ip, domain) {
@@ -1,3 +1,5 @@
1
+ import { type FixPreview } from "../core/audit/fix.js";
2
+ export declare function renderForbiddenBlock(forbiddenFixes: FixPreview[], includeForbidden: boolean): string;
1
3
  /**
2
4
  * `kastell fix --safe` command.
3
5
  * Applies only SAFE tier fixes with mandatory backup-first execution.
@@ -1 +1 @@
1
- {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AAwCA;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE;IACP,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GACA,OAAO,CAAC,IAAI,CAAC,CA6gBf"}
1
+ {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AAQA,OAAO,EAWL,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAyB9B,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,UAAU,EAAE,EAC5B,gBAAgB,EAAE,OAAO,GACxB,MAAM,CAUR;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE;IACP,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GACA,OAAO,CAAC,IAAI,CAAC,CAuhBf"}
@@ -16,6 +16,21 @@ import { classifyError } from "../utils/errorMapper.js";
16
16
  import { confirmOrCancel } from "../utils/prompts.js";
17
17
  import { loadFixHistory, saveFixHistory, saveRollbackEntry, generateFixId, backupFilesBeforeFix, rollbackFix, backupRemoteCleanup, rollbackAllFixes, rollbackToFix, } from "../core/audit/fix-history.js";
18
18
  import { saveBaselineSafe, loadBaseline, checkRegression, formatRegressionSummary, extractPassedCheckIds, shouldUpdateBaseline, hasRegression } from "../core/audit/regression.js";
19
+ import { getPluginBackupPaths, getAppliedPluginNames } from "../core/audit/pluginFix.js";
20
+ const FORBIDDEN_BLOCK_HEADER = "=== FORBIDDEN fixes (skipped, manual review required) ===";
21
+ const COMMAND_TRUNCATE_LEN = 80;
22
+ export function renderForbiddenBlock(forbiddenFixes, includeForbidden) {
23
+ if (!includeForbidden || forbiddenFixes.length === 0)
24
+ return "";
25
+ const lines = [FORBIDDEN_BLOCK_HEADER];
26
+ forbiddenFixes.forEach((fix, idx) => {
27
+ const cmd = fix.command.length > COMMAND_TRUNCATE_LEN
28
+ ? fix.command.slice(0, COMMAND_TRUNCATE_LEN - 1) + "…"
29
+ : fix.command;
30
+ lines.push(`[F${idx + 1}] ${fix.checkId} — ${cmd}`);
31
+ });
32
+ return lines.join("\n");
33
+ }
19
34
  /**
20
35
  * `kastell fix --safe` command.
21
36
  * Applies only SAFE tier fixes with mandatory backup-first execution.
@@ -281,6 +296,11 @@ export async function fixSafeCommand(query, options) {
281
296
  }
282
297
  // Dry-run exit (FIX-05): show preview only, no backup or fixes
283
298
  if (options.dryRun) {
299
+ const forbiddenOutput = renderForbiddenBlock(forbiddenFixes ?? [], options.includeForbidden === true);
300
+ if (forbiddenOutput) {
301
+ logger.info("");
302
+ logger.info(forbiddenOutput);
303
+ }
284
304
  return;
285
305
  }
286
306
  // Confirm with user (skip in non-interactive mode for scheduled/automated runs)
@@ -314,7 +334,9 @@ export async function fixSafeCommand(query, options) {
314
334
  const fixCommands = fixCommandsFromChecks(selectedChecks);
315
335
  const remoteBackupSpinner = createSpinner("Creating remote file backup...");
316
336
  remoteBackupSpinner.start();
317
- const remoteBackupPath = await backupFilesBeforeFix(ip, fixId, fixCommands);
337
+ const failedCheckIds = auditResult.categories.flatMap((c) => c.checks.filter((ch) => !ch.passed).map((ch) => ch.id));
338
+ const pluginBackupPaths = getPluginBackupPaths(failedCheckIds);
339
+ const remoteBackupPath = await backupFilesBeforeFix(ip, fixId, fixCommands, pluginBackupPaths);
318
340
  remoteBackupSpinner.stop();
319
341
  // Apply SAFE fixes (prioritized)
320
342
  const fixSpinner = createSpinner("Applying safe fixes...");
@@ -420,6 +442,7 @@ export async function fixSafeCommand(query, options) {
420
442
  }
421
443
  }
422
444
  // Save to fix history (FIXPRO-02)
445
+ const appliedPluginNames = getAppliedPluginNames([...applied]);
423
446
  await saveFixHistory({
424
447
  fixId,
425
448
  serverIp: ip,
@@ -430,6 +453,8 @@ export async function fixSafeCommand(query, options) {
430
453
  scoreAfter: newScore,
431
454
  status: applied.length > 0 ? "applied" : "failed",
432
455
  backupPath: remoteBackupPath,
456
+ source: appliedPluginNames.length > 0 ? "plugin" : "fix",
457
+ pluginName: appliedPluginNames.length > 0 ? appliedPluginNames.join(",") : undefined,
433
458
  });
434
459
  // Generate fix report (FIXPRO-07, D-10)
435
460
  if (options.report) {
@@ -1 +1 @@
1
- {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,GAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAsB,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEnL;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAyB,EACzB,OAiBC;IAED,8EAA8E;IAC9E,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9D,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACjF,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IACD,uCAAuC;IACvC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,uFAAuF,CAAC,CAAC;QACtG,OAAO;IACT,CAAC;IACD,sCAAsC;IACtC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;QAC7F,OAAO;IACT,CAAC;IACD,4EAA4E;IAC5E,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACzG,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAC/F,OAAO;IACT,CAAC;IACD,4EAA4E;IAC5E,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CACT,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAC/F,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GACT,KAAK,CAAC,UAAU,KAAK,IAAI;gBACvB,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,UAAU,EAAE;gBAC5C,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,IAAI,CAAC;YAC/B,MAAM,WAAW,GACf,KAAK,CAAC,MAAM,KAAK,SAAS;gBACxB,CAAC,CAAC,KAAK,CAAC,KAAK;gBACb,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa;oBAC9B,CAAC,CAAC,KAAK,CAAC,MAAM;oBACd,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;YAClB,MAAM,CAAC,IAAI,CACT,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CACnK,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,2EAA2E;IAC3E,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;QAE1D,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QAEnC,IAAI,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC7B,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YACD,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,WAAW;QACX,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,oBAAoB,KAAK,qCAAqC,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QACD,MAAM,eAAe,GAAG,aAAa,CAAC,gBAAgB,KAAK,KAAK,CAAC,CAAC;QAClE,eAAe,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,WAAW,CAC5D,EAAE,EACF,KAAK,CAAC,UAAU,CACjB,CAAC;QACF,eAAe,CAAC,IAAI,EAAE,CAAC;QAEvB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,OAAO,CAAC,aAAa,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,WAAW,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,sDAAsD;QACtD,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;YACzD,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACpD,YAAY,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;gBACxC,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;gBACnE,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CACT,UAAU,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW,MAAM,UAAU,KAAK,IAAI,GAAG,KAAK,GAAG,CACpF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAE3C,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,mBAAmB,CAAC,KAAK,EAAE,2BAA2B,EAAE,CAAC,EAAE,EAAE,EAAE,CACnE,gBAAgB,CAAC,EAAE,CAAC,CACrB,CAAC;QACF,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,OAAO,CAAC,UAAU,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAClF,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,UAAW,CAAC,CACvC,CAAC;QACF,OAAO;IACT,CAAC;IAED,6CAA6C;IAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CACT,wEAAwE,CACzE,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACpE,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QACzF,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QACjF,MAAM,CAAC,IAAI,CACT,qEAAqE,CACtE,CAAC;QACF,OAAO;IACT,CAAC;IAED,4BAA4B;IAC5B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;IAE1D,uBAAuB;IACvB,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,iCAAiC;IACjC,MAAM,YAAY,GAAG,aAAa,CAAC,2BAA2B,CAAC,CAAC;IAChE,YAAY,CAAC,KAAK,EAAE,CAAC;IACrB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClD,YAAY,CAAC,IAAI,EAAE,CAAC;IAEpB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,KAAK,CACV,iBAAiB,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,CACnD,CAAC;QACF,IAAI,MAAM,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC;IAErC,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnG,IAAI,gBAAgB,EAAE,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,uBAAuB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7D,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;gBACtD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,MAAM,eAAe,CACnC,yCAAyC,EACzC,KAAK,EACL,sEAAsE,CACvE,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,GAC1E,gBAAgB,CAAC,WAAW,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEhF,8EAA8E;IAC9E,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAE/D,wEAAwE;IACxE,IAAI,qBAAqB,GAAG,aAAa,CAAC;IAC1C,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,CAAC,OAAO,iBAAiB,mBAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtG,OAAO;QACT,CAAC;QACD,qBAAqB,GAAG,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9E,MAAM,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,OAAO,MAAM,qBAAqB,CAAC,MAAM,qCAAqC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACzI,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,kBAAkB,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;IAE1E,IAAI,cAAgC,CAAC;IACrC,IAAI,YAAgC,CAAC;IAErC,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,cAAc,GAAG,kBAAkB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxC,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,GAAG,EAAE,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QACD,IAAI,WAAW,CAAC,YAAY,IAAI,YAAY,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CACT,eAAe,WAAW,CAAC,YAAY,WAAW,YAAY,kBAAkB,CACjF,CAAC;YACF,OAAO;QACT,CAAC;QACD,cAAc,GAAG,qBAAqB,CAAC,YAAY,EAAE,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC/F,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzE,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,YAAY,CAAC;IAChC,CAAC;IAED,2BAA2B;IAC3B,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC;IACxC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC7C,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CACT,KAAK,YAAY,0DAA0D,CAC5E,CAAC;QACJ,CAAC;QACD,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CACT,KAAK,cAAc,wDAAwD,CAC5E,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,uDAAuD;IACvD,MAAM,oBAAoB,GAAG,cAAc,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAC1B,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACjC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,CAAC,IAAI,CACT,2BAA2B,SAAS,aAAa,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAClG,CAAC;IACF,MAAM,CAAC,IAAI,CACT,kDAAkD,CACnD,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CACT,KAAK,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,IAAI,EAAE,CAChH,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CACT,sEAAsE,YAAY,SAAS,CAC5F,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CACT,0DAA0D,cAAc,SAAS,CAClF,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IAED,gFAAgF;IAChF,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAClC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACxC;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,SAAS,SAAS,+CAA+C;gBAC1E,OAAO,EAAE,KAAK;aACf;SACF,CAAC,CAAC;QACH,IAAI,CAAC,OAAO;YAAE,OAAO;IACvB,CAAC;IAED,mCAAmC;IACnC,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC1D,aAAa,CAAC,KAAK,EAAE,CAAC;IACtB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAC1C,aAAa,CAAC,IAAI,EAAE,CAAC;IAErB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CACV,wCAAwC,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,CAC1E,CAAC;QACF,IAAI,MAAM,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CACT,+DAA+D,CAChE,CAAC;QACF,OAAO,CAAC,qCAAqC;IAC/C,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,oBAAoB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAExD,4DAA4D;IAC5D,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,WAAW,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,mBAAmB,GAAG,aAAa,CAAC,gCAAgC,CAAC,CAAC;IAC5E,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC5B,MAAM,gBAAgB,GAAG,MAAM,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC5E,mBAAmB,CAAC,IAAI,EAAE,CAAC;IAE3B,iCAAiC;IACjC,MAAM,UAAU,GAAG,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAC3D,UAAU,CAAC,KAAK,EAAE,CAAC;IACnB,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,cAAc,GAAoB,EAAE,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,2CAA2C;YAC3C,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC5D,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,wBAAwB,CAAC,CAAC;oBACjD,SAAS;gBACX,CAAC;YACH,CAAC;YACD,gEAAgE;YAChE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACtE,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpH,2CAA2C;gBAC3C,IAAI,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAClC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1E,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,sCAAsC,CAAC,CAAC;gBACnE,CAAC;gBACD,SAAS;YACX,CAAC;YACD,mCAAmC;YACnC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,wBAAwB,CAAC,CAAC;gBACjD,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAC3D,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CACT,GAAG,KAAK,CAAC,EAAE,0BAA0B,SAAS,CAAC,IAAI,GAAG,CACvD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvB,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC/F,6DAA6D;gBAC7D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,sCAAsC,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,KAAK,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;YACnG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,UAAU,CAAC,IAAI,EAAE,CAAC;IAElB,kBAAkB;IAClB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE/C,4DAA4D;IAC5D,IAAI,cAAc,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,+DAA+D,CAAC,CAAC;QACrG,oGAAoG;QACpG,MAAM,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACnG,MAAM,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;QACzD,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QACpE,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,WAAW,eAAe,CAAC,OAAO,CAAC,MAAM,uBAAuB,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvH,CAAC;QACD,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,qBAAqB,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;QACzD,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,YAAY,GAAG,yBAAyB,CAAC,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;QAChF,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAC3C,EAAE,EACF,QAAQ,EACR,WAAW,EACX,YAAY,CACb,CAAC;QACF,YAAY,CAAC,IAAI,EAAE,CAAC;QACpB,QAAQ,GAAG,aAAa,EAAE,YAAY,IAAI,IAAI,CAAC;QAC/C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC;YAClD,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;YAClE,MAAM,CAAC,OAAO,CACZ,UAAU,WAAW,CAAC,YAAY,MAAM,QAAQ,KAAK,IAAI,GAAG,KAAK,gBAAgB,OAAO,CAAC,MAAM,eAAe,YAAY,cAAc,YAAY,gBAAgB,cAAc,GAAG,CACtL,CAAC;YACF,qCAAqC;YACrC,IAAI,YAAY,KAAK,SAAS,IAAI,QAAQ,GAAG,YAAY,EAAE,CAAC;gBAC1D,MAAM,CAAC,IAAI,CACT,UAAU,YAAY,eAAe,QAAQ,4CAA4C,CAC1F,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,aAAa,IAAI,WAAW,CAAC;QAClD,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;QAC/F,MAAM,eAAe,GAAG,aAAa,IAAI,QAAQ;YAC/C,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,CAAC;YAC1D,CAAC,CAAC,gBAAgB,CAAC;QAErB,IAAI,oBAAoB,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,gBAAgB,CAAC,YAAY,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,MAAM,cAAc,CAAC;QACnB,KAAK;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,MAAM,EAAE,OAAO;QACf,WAAW,EAAE,WAAW,CAAC,YAAY;QACrC,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;QACjD,UAAU,EAAE,gBAAgB;KAC7B,CAAC,CAAC;IAEH,wCAAwC;IACxC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,aAAa;aAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC9B,cAAc,EAAE,OAAO,EAAE,MAAM;YAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACpB,WAAW,EAAE,WAAW,CAAC,YAAY;YACrC,UAAU,EAAE,QAAQ;YACpB,OAAO;YACP,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,uCAAuC;IACvC,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,yEAAyE;AACzE,KAAK,UAAU,mBAAmB,CAChC,KAAyB,EACzB,YAAoB,EACpB,MAA2E;IAE3E,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;IAC1E,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;IAE1D,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IACpD,eAAe,CAAC,KAAK,EAAE,CAAC;IACxB,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1D,eAAe,CAAC,IAAI,EAAE,CAAC;IAEvB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,gBAAgB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,WAAW,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;QACzD,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpD,YAAY,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../src/commands/interactive/plugins.ts"],"names":[],"mappings":"AAGA,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAuB7D"}
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../src/commands/interactive/plugins.ts"],"names":[],"mappings":"AAIA,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAqD7D"}
@@ -1,14 +1,38 @@
1
1
  import inquirer from "inquirer";
2
2
  import { promptList } from "./shared.js";
3
+ import { getPluginCommands } from "../../plugin/registry.js";
3
4
  export async function promptPlugin() {
4
- const sub = await promptList("Plugin action:", [
5
+ const pluginCmds = getPluginCommands();
6
+ const choices = [
5
7
  { name: "List installed plugins", value: "list" },
6
8
  { name: "Install a plugin", value: "install" },
7
9
  { name: "Remove a plugin", value: "remove" },
8
10
  { name: "Validate plugins", value: "validate" },
9
- ]);
11
+ ];
12
+ if (pluginCmds.length > 0) {
13
+ choices.push({ name: `Run plugin command (${pluginCmds.length} available)`, value: "run" });
14
+ }
15
+ const sub = await promptList("Plugin action:", choices);
10
16
  if (!sub)
11
17
  return null;
18
+ if (sub === "run") {
19
+ const grouped = new Map();
20
+ for (const entry of pluginCmds) {
21
+ const group = grouped.get(entry.pluginShortName) ?? [];
22
+ group.push(entry);
23
+ grouped.set(entry.pluginShortName, group);
24
+ }
25
+ const pluginChoices = [...grouped.keys()].map(name => ({ name, value: name }));
26
+ const { plugin } = await inquirer.prompt([
27
+ { type: "list", name: "plugin", message: "Select plugin:", choices: pluginChoices },
28
+ ]);
29
+ const cmds = grouped.get(plugin);
30
+ const cmdChoices = cmds.map(c => ({ name: `${c.command.name} — ${c.command.description}`, value: c.command.name }));
31
+ const { command } = await inquirer.prompt([
32
+ { type: "list", name: "command", message: "Select command:", choices: cmdChoices },
33
+ ]);
34
+ return [plugin, command];
35
+ }
12
36
  if (sub === "install") {
13
37
  const { name } = await inquirer.prompt([
14
38
  { type: "input", name: "name", message: "Plugin name (kastell-plugin-<name>):" },
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/commands/interactive/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,gBAAgB,EAAE;QAC7C,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,MAAM,EAAE;QACjD,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE;QAC9C,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC5C,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE;KAChD,CAAC,CAAC;IACH,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACrC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,sCAAsC,EAAE;SACjF,CAAC,CAAC;QACH,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACrC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,EAAE;SACnE,CAAC,CAAC;QACH,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/commands/interactive/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG;QACd,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,MAAM,EAAE;QACjD,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE;QAC9C,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC5C,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE;KAChD,CAAC;IAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,uBAAuB,UAAU,CAAC,MAAM,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACxD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;QACrD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACvC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE;SACpF,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACpH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACxC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE;SACnF,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACrC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,sCAAsC,EAAE;SACjF,CAAC,CAAC;QACH,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACrC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,EAAE;SACnE,CAAC,CAAC;QACH,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/commands/plugin.ts"],"names":[],"mappings":"AAWA,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,OAAO,CAAC,IAAI,CAAC,CAgCf;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYrE;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAiCxC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAezD"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/commands/plugin.ts"],"names":[],"mappings":"AAWA,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7C,OAAO,CAAC,IAAI,CAAC,CAgCf;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYrE;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAqCxC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAezD"}