claude-code-plus-plus 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/index.js +5 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/start.js +4 -1
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/index.js +18 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/parser.js +8 -3
- package/dist/cli/parser.js.map +1 -1
- package/dist/cli/validators.js +30 -20
- package/dist/cli/validators.js.map +1 -1
- package/dist/config/defaults.js +10 -5
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/index.js +24 -4
- package/dist/config/index.js.map +1 -1
- package/dist/config/loader.js +29 -20
- package/dist/config/loader.js.map +1 -1
- package/dist/config/paths.js +30 -21
- package/dist/config/paths.js.map +1 -1
- package/dist/config/schema.js +6 -2
- package/dist/config/schema.js.map +1 -1
- package/dist/git/index.js +6 -1
- package/dist/git/index.js.map +1 -1
- package/dist/git/worktree.js +18 -13
- package/dist/git/worktree.js.map +1 -1
- package/dist/index.js +41 -6
- package/dist/index.js.map +1 -1
- package/dist/launcher/index.d.ts.map +1 -1
- package/dist/launcher/index.js +60 -26
- package/dist/launcher/index.js.map +1 -1
- package/dist/platform/clipboard.js +22 -15
- package/dist/platform/clipboard.js.map +1 -1
- package/dist/platform/detector.js +37 -22
- package/dist/platform/detector.js.map +1 -1
- package/dist/platform/index.js +42 -4
- package/dist/platform/index.js.map +1 -1
- package/dist/platform/paths.js +61 -48
- package/dist/platform/paths.js.map +1 -1
- package/dist/platform/shell.js +35 -27
- package/dist/platform/shell.js.map +1 -1
- package/dist/sidebar/app.d.ts.map +1 -1
- package/dist/sidebar/app.js +73 -39
- package/dist/sidebar/app.js.map +1 -1
- package/dist/sidebar/index.js +4 -2
- package/dist/sidebar/index.js.map +1 -1
- package/dist/sidebar/input.js +12 -5
- package/dist/sidebar/input.js.map +1 -1
- package/dist/sidebar/render.js +102 -90
- package/dist/sidebar/render.js.map +1 -1
- package/dist/terminal/bar-handler.js +9 -7
- package/dist/terminal/bar-handler.js.map +1 -1
- package/dist/terminal/bar-render.js +6 -2
- package/dist/terminal/bar-render.js.map +1 -1
- package/dist/terminal/index.js +6 -1
- package/dist/terminal/index.js.map +1 -1
- package/dist/tmux/commands.js +18 -11
- package/dist/tmux/commands.js.map +1 -1
- package/dist/tmux/index.js +33 -7
- package/dist/tmux/index.js.map +1 -1
- package/dist/tmux/pane.js +76 -51
- package/dist/tmux/pane.js.map +1 -1
- package/dist/types.js +4 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/async.js +16 -7
- package/dist/utils/async.js.map +1 -1
- package/dist/utils/errors.js +31 -14
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/id.js +19 -10
- package/dist/utils/id.js.map +1 -1
- package/dist/utils/index.js +65 -6
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logger.js +17 -10
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/string.js +22 -10
- package/dist/utils/string.js.map +1 -1
- package/dist/utils/validation.js +28 -13
- package/dist/utils/validation.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,15 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Platform Detection
|
|
3
4
|
*
|
|
4
5
|
* Detects the current operating system and environment.
|
|
5
6
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.detectPlatform = detectPlatform;
|
|
9
|
+
exports.detectArchitecture = detectArchitecture;
|
|
10
|
+
exports.detectShell = detectShell;
|
|
11
|
+
exports.isCI = isCI;
|
|
12
|
+
exports.isTTY = isTTY;
|
|
13
|
+
exports.getPlatformInfo = getPlatformInfo;
|
|
14
|
+
exports.isCommandAvailable = isCommandAvailable;
|
|
15
|
+
exports.getCommandVersion = getCommandVersion;
|
|
16
|
+
exports.isTmuxAvailable = isTmuxAvailable;
|
|
17
|
+
exports.getTmuxVersion = getTmuxVersion;
|
|
18
|
+
exports.isGitAvailable = isGitAvailable;
|
|
19
|
+
exports.getGitVersion = getGitVersion;
|
|
20
|
+
exports.isClaudeAvailable = isClaudeAvailable;
|
|
21
|
+
const os_1 = require("os");
|
|
22
|
+
const child_process_1 = require("child_process");
|
|
8
23
|
/**
|
|
9
24
|
* Detect the current platform
|
|
10
25
|
*/
|
|
11
|
-
|
|
12
|
-
const p = platform();
|
|
26
|
+
function detectPlatform() {
|
|
27
|
+
const p = (0, os_1.platform)();
|
|
13
28
|
switch (p) {
|
|
14
29
|
case 'darwin':
|
|
15
30
|
return 'darwin';
|
|
@@ -24,8 +39,8 @@ export function detectPlatform() {
|
|
|
24
39
|
/**
|
|
25
40
|
* Detect the CPU architecture
|
|
26
41
|
*/
|
|
27
|
-
|
|
28
|
-
const a = arch();
|
|
42
|
+
function detectArchitecture() {
|
|
43
|
+
const a = (0, os_1.arch)();
|
|
29
44
|
switch (a) {
|
|
30
45
|
case 'x64':
|
|
31
46
|
return 'x64';
|
|
@@ -40,7 +55,7 @@ export function detectArchitecture() {
|
|
|
40
55
|
/**
|
|
41
56
|
* Detect the default shell
|
|
42
57
|
*/
|
|
43
|
-
|
|
58
|
+
function detectShell() {
|
|
44
59
|
// Check SHELL environment variable first
|
|
45
60
|
const envShell = process.env.SHELL;
|
|
46
61
|
if (envShell) {
|
|
@@ -62,7 +77,7 @@ export function detectShell() {
|
|
|
62
77
|
/**
|
|
63
78
|
* Check if running in a CI environment
|
|
64
79
|
*/
|
|
65
|
-
|
|
80
|
+
function isCI() {
|
|
66
81
|
return (process.env.CI === 'true' ||
|
|
67
82
|
process.env.CI === '1' ||
|
|
68
83
|
process.env.CONTINUOUS_INTEGRATION === 'true' ||
|
|
@@ -75,19 +90,19 @@ export function isCI() {
|
|
|
75
90
|
/**
|
|
76
91
|
* Check if running in a TTY
|
|
77
92
|
*/
|
|
78
|
-
|
|
93
|
+
function isTTY() {
|
|
79
94
|
return process.stdin.isTTY === true && process.stdout.isTTY === true;
|
|
80
95
|
}
|
|
81
96
|
/**
|
|
82
97
|
* Get complete platform information
|
|
83
98
|
*/
|
|
84
|
-
|
|
99
|
+
function getPlatformInfo() {
|
|
85
100
|
return {
|
|
86
101
|
os: detectPlatform(),
|
|
87
102
|
arch: detectArchitecture(),
|
|
88
|
-
version: release(),
|
|
89
|
-
homeDir: homedir(),
|
|
90
|
-
tempDir: tmpdir(),
|
|
103
|
+
version: (0, os_1.release)(),
|
|
104
|
+
homeDir: (0, os_1.homedir)(),
|
|
105
|
+
tempDir: (0, os_1.tmpdir)(),
|
|
91
106
|
isTTY: isTTY(),
|
|
92
107
|
isCI: isCI(),
|
|
93
108
|
shell: detectShell(),
|
|
@@ -96,11 +111,11 @@ export function getPlatformInfo() {
|
|
|
96
111
|
/**
|
|
97
112
|
* Check if a command is available in PATH
|
|
98
113
|
*/
|
|
99
|
-
|
|
114
|
+
function isCommandAvailable(command) {
|
|
100
115
|
const os = detectPlatform();
|
|
101
116
|
const checkCommand = os === 'win32' ? 'where' : 'which';
|
|
102
117
|
try {
|
|
103
|
-
execSync(`${checkCommand} ${command}`, {
|
|
118
|
+
(0, child_process_1.execSync)(`${checkCommand} ${command}`, {
|
|
104
119
|
stdio: 'ignore',
|
|
105
120
|
});
|
|
106
121
|
return true;
|
|
@@ -112,9 +127,9 @@ export function isCommandAvailable(command) {
|
|
|
112
127
|
/**
|
|
113
128
|
* Get the version of a command
|
|
114
129
|
*/
|
|
115
|
-
|
|
130
|
+
function getCommandVersion(command, versionFlag = '--version') {
|
|
116
131
|
try {
|
|
117
|
-
const output = execSync(`${command} ${versionFlag}`, {
|
|
132
|
+
const output = (0, child_process_1.execSync)(`${command} ${versionFlag}`, {
|
|
118
133
|
encoding: 'utf-8',
|
|
119
134
|
stdio: ['pipe', 'pipe', 'ignore'],
|
|
120
135
|
});
|
|
@@ -127,13 +142,13 @@ export function getCommandVersion(command, versionFlag = '--version') {
|
|
|
127
142
|
/**
|
|
128
143
|
* Check if tmux is available
|
|
129
144
|
*/
|
|
130
|
-
|
|
145
|
+
function isTmuxAvailable() {
|
|
131
146
|
return isCommandAvailable('tmux');
|
|
132
147
|
}
|
|
133
148
|
/**
|
|
134
149
|
* Get tmux version
|
|
135
150
|
*/
|
|
136
|
-
|
|
151
|
+
function getTmuxVersion() {
|
|
137
152
|
const version = getCommandVersion('tmux', '-V');
|
|
138
153
|
if (version) {
|
|
139
154
|
// Parse "tmux 3.4" to "3.4"
|
|
@@ -145,13 +160,13 @@ export function getTmuxVersion() {
|
|
|
145
160
|
/**
|
|
146
161
|
* Check if git is available
|
|
147
162
|
*/
|
|
148
|
-
|
|
163
|
+
function isGitAvailable() {
|
|
149
164
|
return isCommandAvailable('git');
|
|
150
165
|
}
|
|
151
166
|
/**
|
|
152
167
|
* Get git version
|
|
153
168
|
*/
|
|
154
|
-
|
|
169
|
+
function getGitVersion() {
|
|
155
170
|
const version = getCommandVersion('git', '--version');
|
|
156
171
|
if (version) {
|
|
157
172
|
// Parse "git version 2.39.0" to "2.39.0"
|
|
@@ -163,7 +178,7 @@ export function getGitVersion() {
|
|
|
163
178
|
/**
|
|
164
179
|
* Check if claude CLI is available
|
|
165
180
|
*/
|
|
166
|
-
|
|
181
|
+
function isClaudeAvailable() {
|
|
167
182
|
return isCommandAvailable('claude');
|
|
168
183
|
}
|
|
169
184
|
//# sourceMappingURL=detector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/platform/detector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/platform/detector.ts"],"names":[],"mappings":"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"}
|
package/dist/platform/index.js
CHANGED
|
@@ -1,15 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Platform Module
|
|
3
4
|
*
|
|
4
5
|
* Platform detection and abstraction layer.
|
|
5
6
|
* Isolates all platform-specific code to enable cross-platform support.
|
|
6
7
|
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.shellSupports = exports.escapeShellArg = exports.getShellExecCommand = exports.getInteractiveShellCommand = exports.getShellInfo = exports.getShellType = exports.pasteFromClipboardSync = exports.pasteFromClipboard = exports.copyToClipboardSync = exports.copyToClipboard = exports.isClipboardAvailable = exports.getNullDevice = exports.resolvePath = exports.getProjectPaths = exports.getDebugLogPath = exports.getTempFilePath = exports.getWorktreesDir = exports.getCacheDir = exports.getConfigDir = exports.getAppDataDir = exports.getTempDir = exports.getHomeDir = exports.isClaudeAvailable = exports.getGitVersion = exports.isGitAvailable = exports.getTmuxVersion = exports.isTmuxAvailable = exports.getCommandVersion = exports.isCommandAvailable = exports.getPlatformInfo = exports.isTTY = exports.isCI = exports.detectShell = exports.detectArchitecture = exports.detectPlatform = void 0;
|
|
7
10
|
// Platform detection
|
|
8
|
-
|
|
11
|
+
var detector_1 = require("./detector");
|
|
12
|
+
Object.defineProperty(exports, "detectPlatform", { enumerable: true, get: function () { return detector_1.detectPlatform; } });
|
|
13
|
+
Object.defineProperty(exports, "detectArchitecture", { enumerable: true, get: function () { return detector_1.detectArchitecture; } });
|
|
14
|
+
Object.defineProperty(exports, "detectShell", { enumerable: true, get: function () { return detector_1.detectShell; } });
|
|
15
|
+
Object.defineProperty(exports, "isCI", { enumerable: true, get: function () { return detector_1.isCI; } });
|
|
16
|
+
Object.defineProperty(exports, "isTTY", { enumerable: true, get: function () { return detector_1.isTTY; } });
|
|
17
|
+
Object.defineProperty(exports, "getPlatformInfo", { enumerable: true, get: function () { return detector_1.getPlatformInfo; } });
|
|
18
|
+
Object.defineProperty(exports, "isCommandAvailable", { enumerable: true, get: function () { return detector_1.isCommandAvailable; } });
|
|
19
|
+
Object.defineProperty(exports, "getCommandVersion", { enumerable: true, get: function () { return detector_1.getCommandVersion; } });
|
|
20
|
+
Object.defineProperty(exports, "isTmuxAvailable", { enumerable: true, get: function () { return detector_1.isTmuxAvailable; } });
|
|
21
|
+
Object.defineProperty(exports, "getTmuxVersion", { enumerable: true, get: function () { return detector_1.getTmuxVersion; } });
|
|
22
|
+
Object.defineProperty(exports, "isGitAvailable", { enumerable: true, get: function () { return detector_1.isGitAvailable; } });
|
|
23
|
+
Object.defineProperty(exports, "getGitVersion", { enumerable: true, get: function () { return detector_1.getGitVersion; } });
|
|
24
|
+
Object.defineProperty(exports, "isClaudeAvailable", { enumerable: true, get: function () { return detector_1.isClaudeAvailable; } });
|
|
9
25
|
// Platform paths
|
|
10
|
-
|
|
26
|
+
var paths_1 = require("./paths");
|
|
27
|
+
Object.defineProperty(exports, "getHomeDir", { enumerable: true, get: function () { return paths_1.getHomeDir; } });
|
|
28
|
+
Object.defineProperty(exports, "getTempDir", { enumerable: true, get: function () { return paths_1.getTempDir; } });
|
|
29
|
+
Object.defineProperty(exports, "getAppDataDir", { enumerable: true, get: function () { return paths_1.getAppDataDir; } });
|
|
30
|
+
Object.defineProperty(exports, "getConfigDir", { enumerable: true, get: function () { return paths_1.getConfigDir; } });
|
|
31
|
+
Object.defineProperty(exports, "getCacheDir", { enumerable: true, get: function () { return paths_1.getCacheDir; } });
|
|
32
|
+
Object.defineProperty(exports, "getWorktreesDir", { enumerable: true, get: function () { return paths_1.getWorktreesDir; } });
|
|
33
|
+
Object.defineProperty(exports, "getTempFilePath", { enumerable: true, get: function () { return paths_1.getTempFilePath; } });
|
|
34
|
+
Object.defineProperty(exports, "getDebugLogPath", { enumerable: true, get: function () { return paths_1.getDebugLogPath; } });
|
|
35
|
+
Object.defineProperty(exports, "getProjectPaths", { enumerable: true, get: function () { return paths_1.getProjectPaths; } });
|
|
36
|
+
Object.defineProperty(exports, "resolvePath", { enumerable: true, get: function () { return paths_1.resolvePath; } });
|
|
37
|
+
Object.defineProperty(exports, "getNullDevice", { enumerable: true, get: function () { return paths_1.getNullDevice; } });
|
|
11
38
|
// Clipboard operations
|
|
12
|
-
|
|
39
|
+
var clipboard_1 = require("./clipboard");
|
|
40
|
+
Object.defineProperty(exports, "isClipboardAvailable", { enumerable: true, get: function () { return clipboard_1.isClipboardAvailable; } });
|
|
41
|
+
Object.defineProperty(exports, "copyToClipboard", { enumerable: true, get: function () { return clipboard_1.copyToClipboard; } });
|
|
42
|
+
Object.defineProperty(exports, "copyToClipboardSync", { enumerable: true, get: function () { return clipboard_1.copyToClipboardSync; } });
|
|
43
|
+
Object.defineProperty(exports, "pasteFromClipboard", { enumerable: true, get: function () { return clipboard_1.pasteFromClipboard; } });
|
|
44
|
+
Object.defineProperty(exports, "pasteFromClipboardSync", { enumerable: true, get: function () { return clipboard_1.pasteFromClipboardSync; } });
|
|
13
45
|
// Shell utilities
|
|
14
|
-
|
|
46
|
+
var shell_1 = require("./shell");
|
|
47
|
+
Object.defineProperty(exports, "getShellType", { enumerable: true, get: function () { return shell_1.getShellType; } });
|
|
48
|
+
Object.defineProperty(exports, "getShellInfo", { enumerable: true, get: function () { return shell_1.getShellInfo; } });
|
|
49
|
+
Object.defineProperty(exports, "getInteractiveShellCommand", { enumerable: true, get: function () { return shell_1.getInteractiveShellCommand; } });
|
|
50
|
+
Object.defineProperty(exports, "getShellExecCommand", { enumerable: true, get: function () { return shell_1.getShellExecCommand; } });
|
|
51
|
+
Object.defineProperty(exports, "escapeShellArg", { enumerable: true, get: function () { return shell_1.escapeShellArg; } });
|
|
52
|
+
Object.defineProperty(exports, "shellSupports", { enumerable: true, get: function () { return shell_1.shellSupports; } });
|
|
15
53
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/platform/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/platform/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qBAAqB;AACrB,uCAcoB;AAblB,0GAAA,cAAc,OAAA;AACd,8GAAA,kBAAkB,OAAA;AAClB,uGAAA,WAAW,OAAA;AACX,gGAAA,IAAI,OAAA;AACJ,iGAAA,KAAK,OAAA;AACL,2GAAA,eAAe,OAAA;AACf,8GAAA,kBAAkB,OAAA;AAClB,6GAAA,iBAAiB,OAAA;AACjB,2GAAA,eAAe,OAAA;AACf,0GAAA,cAAc,OAAA;AACd,0GAAA,cAAc,OAAA;AACd,yGAAA,aAAa,OAAA;AACb,6GAAA,iBAAiB,OAAA;AAInB,iBAAiB;AACjB,iCAYiB;AAXf,mGAAA,UAAU,OAAA;AACV,mGAAA,UAAU,OAAA;AACV,sGAAA,aAAa,OAAA;AACb,qGAAA,YAAY,OAAA;AACZ,oGAAA,WAAW,OAAA;AACX,wGAAA,eAAe,OAAA;AACf,wGAAA,eAAe,OAAA;AACf,wGAAA,eAAe,OAAA;AACf,wGAAA,eAAe,OAAA;AACf,oGAAA,WAAW,OAAA;AACX,sGAAA,aAAa,OAAA;AAIf,uBAAuB;AACvB,yCAMqB;AALnB,iHAAA,oBAAoB,OAAA;AACpB,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,+GAAA,kBAAkB,OAAA;AAClB,mHAAA,sBAAsB,OAAA;AAGxB,kBAAkB;AAClB,iCAOiB;AANf,qGAAA,YAAY,OAAA;AACZ,qGAAA,YAAY,OAAA;AACZ,mHAAA,0BAA0B,OAAA;AAC1B,4GAAA,mBAAmB,OAAA;AACnB,uGAAA,cAAc,OAAA;AACd,sGAAA,aAAa,OAAA"}
|
package/dist/platform/paths.js
CHANGED
|
@@ -1,149 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Platform-Specific Paths
|
|
3
4
|
*
|
|
4
5
|
* Computes paths for application data, config, and temp files.
|
|
5
6
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.getHomeDir = getHomeDir;
|
|
9
|
+
exports.getTempDir = getTempDir;
|
|
10
|
+
exports.getAppDataDir = getAppDataDir;
|
|
11
|
+
exports.getConfigDir = getConfigDir;
|
|
12
|
+
exports.getCacheDir = getCacheDir;
|
|
13
|
+
exports.getWorktreesDir = getWorktreesDir;
|
|
14
|
+
exports.getTempFilePath = getTempFilePath;
|
|
15
|
+
exports.getDebugLogPath = getDebugLogPath;
|
|
16
|
+
exports.getProjectPaths = getProjectPaths;
|
|
17
|
+
exports.resolvePath = resolvePath;
|
|
18
|
+
exports.getNullDevice = getNullDevice;
|
|
19
|
+
const os_1 = require("os");
|
|
20
|
+
const path_1 = require("path");
|
|
21
|
+
const detector_1 = require("./detector");
|
|
9
22
|
/**
|
|
10
23
|
* Get the user's home directory
|
|
11
24
|
*/
|
|
12
|
-
|
|
13
|
-
return homedir();
|
|
25
|
+
function getHomeDir() {
|
|
26
|
+
return (0, os_1.homedir)();
|
|
14
27
|
}
|
|
15
28
|
/**
|
|
16
29
|
* Get the system temp directory
|
|
17
30
|
*/
|
|
18
|
-
|
|
19
|
-
return tmpdir();
|
|
31
|
+
function getTempDir() {
|
|
32
|
+
return (0, os_1.tmpdir)();
|
|
20
33
|
}
|
|
21
34
|
/**
|
|
22
35
|
* Get the application data directory based on platform conventions
|
|
23
36
|
*/
|
|
24
|
-
|
|
25
|
-
const os = detectPlatform();
|
|
26
|
-
const home = homedir();
|
|
37
|
+
function getAppDataDir(appName = 'claude-plus-plus') {
|
|
38
|
+
const os = (0, detector_1.detectPlatform)();
|
|
39
|
+
const home = (0, os_1.homedir)();
|
|
27
40
|
switch (os) {
|
|
28
41
|
case 'darwin':
|
|
29
42
|
// macOS: ~/.claude-plus-plus (simple) or ~/Library/Application Support/
|
|
30
|
-
return join(home, `.${appName}`);
|
|
43
|
+
return (0, path_1.join)(home, `.${appName}`);
|
|
31
44
|
case 'linux':
|
|
32
45
|
// Linux: Follow XDG Base Directory spec if set
|
|
33
46
|
const xdgData = process.env.XDG_DATA_HOME;
|
|
34
47
|
if (xdgData) {
|
|
35
|
-
return join(xdgData, appName);
|
|
48
|
+
return (0, path_1.join)(xdgData, appName);
|
|
36
49
|
}
|
|
37
|
-
return join(home, `.${appName}`);
|
|
50
|
+
return (0, path_1.join)(home, `.${appName}`);
|
|
38
51
|
case 'win32':
|
|
39
52
|
// Windows: Use APPDATA
|
|
40
53
|
const appData = process.env.APPDATA;
|
|
41
54
|
if (appData) {
|
|
42
|
-
return join(appData, appName);
|
|
55
|
+
return (0, path_1.join)(appData, appName);
|
|
43
56
|
}
|
|
44
|
-
return join(home, `.${appName}`);
|
|
57
|
+
return (0, path_1.join)(home, `.${appName}`);
|
|
45
58
|
default:
|
|
46
|
-
return join(home, `.${appName}`);
|
|
59
|
+
return (0, path_1.join)(home, `.${appName}`);
|
|
47
60
|
}
|
|
48
61
|
}
|
|
49
62
|
/**
|
|
50
63
|
* Get the application config directory based on platform conventions
|
|
51
64
|
*/
|
|
52
|
-
|
|
53
|
-
const os = detectPlatform();
|
|
54
|
-
const home = homedir();
|
|
65
|
+
function getConfigDir(appName = 'claude-plus-plus') {
|
|
66
|
+
const os = (0, detector_1.detectPlatform)();
|
|
67
|
+
const home = (0, os_1.homedir)();
|
|
55
68
|
switch (os) {
|
|
56
69
|
case 'darwin':
|
|
57
|
-
return join(home, `.${appName}`);
|
|
70
|
+
return (0, path_1.join)(home, `.${appName}`);
|
|
58
71
|
case 'linux':
|
|
59
72
|
const xdgConfig = process.env.XDG_CONFIG_HOME;
|
|
60
73
|
if (xdgConfig) {
|
|
61
|
-
return join(xdgConfig, appName);
|
|
74
|
+
return (0, path_1.join)(xdgConfig, appName);
|
|
62
75
|
}
|
|
63
|
-
return join(home, `.${appName}`);
|
|
76
|
+
return (0, path_1.join)(home, `.${appName}`);
|
|
64
77
|
case 'win32':
|
|
65
78
|
const appData = process.env.APPDATA;
|
|
66
79
|
if (appData) {
|
|
67
|
-
return join(appData, appName);
|
|
80
|
+
return (0, path_1.join)(appData, appName);
|
|
68
81
|
}
|
|
69
|
-
return join(home, `.${appName}`);
|
|
82
|
+
return (0, path_1.join)(home, `.${appName}`);
|
|
70
83
|
default:
|
|
71
|
-
return join(home, `.${appName}`);
|
|
84
|
+
return (0, path_1.join)(home, `.${appName}`);
|
|
72
85
|
}
|
|
73
86
|
}
|
|
74
87
|
/**
|
|
75
88
|
* Get the application cache directory
|
|
76
89
|
*/
|
|
77
|
-
|
|
78
|
-
const os = detectPlatform();
|
|
79
|
-
const home = homedir();
|
|
90
|
+
function getCacheDir(appName = 'claude-plus-plus') {
|
|
91
|
+
const os = (0, detector_1.detectPlatform)();
|
|
92
|
+
const home = (0, os_1.homedir)();
|
|
80
93
|
switch (os) {
|
|
81
94
|
case 'darwin':
|
|
82
|
-
return join(home, 'Library', 'Caches', appName);
|
|
95
|
+
return (0, path_1.join)(home, 'Library', 'Caches', appName);
|
|
83
96
|
case 'linux':
|
|
84
97
|
const xdgCache = process.env.XDG_CACHE_HOME;
|
|
85
98
|
if (xdgCache) {
|
|
86
|
-
return join(xdgCache, appName);
|
|
99
|
+
return (0, path_1.join)(xdgCache, appName);
|
|
87
100
|
}
|
|
88
|
-
return join(home, '.cache', appName);
|
|
101
|
+
return (0, path_1.join)(home, '.cache', appName);
|
|
89
102
|
case 'win32':
|
|
90
103
|
const localAppData = process.env.LOCALAPPDATA;
|
|
91
104
|
if (localAppData) {
|
|
92
|
-
return join(localAppData, appName, 'cache');
|
|
105
|
+
return (0, path_1.join)(localAppData, appName, 'cache');
|
|
93
106
|
}
|
|
94
|
-
return join(home, `.${appName}`, 'cache');
|
|
107
|
+
return (0, path_1.join)(home, `.${appName}`, 'cache');
|
|
95
108
|
default:
|
|
96
|
-
return join(home, `.${appName}`, 'cache');
|
|
109
|
+
return (0, path_1.join)(home, `.${appName}`, 'cache');
|
|
97
110
|
}
|
|
98
111
|
}
|
|
99
112
|
/**
|
|
100
113
|
* Get the default worktrees base directory
|
|
101
114
|
*/
|
|
102
|
-
|
|
103
|
-
return join(homedir(), '.claude-worktrees');
|
|
115
|
+
function getWorktreesDir() {
|
|
116
|
+
return (0, path_1.join)((0, os_1.homedir)(), '.claude-worktrees');
|
|
104
117
|
}
|
|
105
118
|
/**
|
|
106
119
|
* Get a temp file path with a unique name
|
|
107
120
|
*/
|
|
108
|
-
|
|
121
|
+
function getTempFilePath(prefix, extension = '') {
|
|
109
122
|
const timestamp = Date.now();
|
|
110
123
|
const random = Math.random().toString(36).substring(2, 8);
|
|
111
124
|
const filename = `${prefix}-${timestamp}-${random}${extension}`;
|
|
112
|
-
return join(tmpdir(), filename);
|
|
125
|
+
return (0, path_1.join)((0, os_1.tmpdir)(), filename);
|
|
113
126
|
}
|
|
114
127
|
/**
|
|
115
128
|
* Get the debug log file path
|
|
116
129
|
*/
|
|
117
|
-
|
|
118
|
-
return join(tmpdir(), 'claude-pp-debug.log');
|
|
130
|
+
function getDebugLogPath() {
|
|
131
|
+
return (0, path_1.join)((0, os_1.tmpdir)(), 'claude-pp-debug.log');
|
|
119
132
|
}
|
|
120
133
|
/**
|
|
121
134
|
* Get paths for a specific project
|
|
122
135
|
*/
|
|
123
|
-
|
|
136
|
+
function getProjectPaths(projectPath, projectId) {
|
|
124
137
|
const appData = getAppDataDir();
|
|
125
|
-
const projectData = join(appData, projectId);
|
|
138
|
+
const projectData = (0, path_1.join)(appData, projectId);
|
|
126
139
|
return {
|
|
127
140
|
root: projectPath,
|
|
128
141
|
data: projectData,
|
|
129
|
-
state: join(projectData, 'state.json'),
|
|
130
|
-
terminalState: (sessionId) => join(tmpdir(), `claude-pp-term-${sessionId}.json`),
|
|
142
|
+
state: (0, path_1.join)(projectData, 'state.json'),
|
|
143
|
+
terminalState: (sessionId) => (0, path_1.join)((0, os_1.tmpdir)(), `claude-pp-term-${sessionId}.json`),
|
|
131
144
|
};
|
|
132
145
|
}
|
|
133
146
|
/**
|
|
134
147
|
* Resolve a path that may contain ~ for home directory
|
|
135
148
|
*/
|
|
136
|
-
|
|
149
|
+
function resolvePath(path) {
|
|
137
150
|
if (path.startsWith('~')) {
|
|
138
|
-
return join(homedir(), path.slice(1));
|
|
151
|
+
return (0, path_1.join)((0, os_1.homedir)(), path.slice(1));
|
|
139
152
|
}
|
|
140
153
|
return path;
|
|
141
154
|
}
|
|
142
155
|
/**
|
|
143
156
|
* Get the appropriate null device for the platform
|
|
144
157
|
*/
|
|
145
|
-
|
|
146
|
-
const os = detectPlatform();
|
|
158
|
+
function getNullDevice() {
|
|
159
|
+
const os = (0, detector_1.detectPlatform)();
|
|
147
160
|
return os === 'win32' ? 'NUL' : '/dev/null';
|
|
148
161
|
}
|
|
149
162
|
//# sourceMappingURL=paths.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/platform/paths.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/platform/paths.ts"],"names":[],"mappings":"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"}
|
package/dist/platform/shell.js
CHANGED
|
@@ -1,16 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Shell Detection and Configuration
|
|
3
4
|
*
|
|
4
5
|
* Detects the user's shell and provides shell-specific configuration.
|
|
5
6
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.getShellType = getShellType;
|
|
9
|
+
exports.getShellInfo = getShellInfo;
|
|
10
|
+
exports.getInteractiveShellCommand = getInteractiveShellCommand;
|
|
11
|
+
exports.getShellExecCommand = getShellExecCommand;
|
|
12
|
+
exports.escapeShellArg = escapeShellArg;
|
|
13
|
+
exports.shellSupports = shellSupports;
|
|
14
|
+
const fs_1 = require("fs");
|
|
15
|
+
const path_1 = require("path");
|
|
16
|
+
const os_1 = require("os");
|
|
17
|
+
const detector_1 = require("./detector");
|
|
10
18
|
/**
|
|
11
19
|
* Detect the shell type from a path
|
|
12
20
|
*/
|
|
13
|
-
|
|
21
|
+
function getShellType(shellPath) {
|
|
14
22
|
const shellName = shellPath.split('/').pop()?.toLowerCase() || '';
|
|
15
23
|
if (shellName.includes('bash'))
|
|
16
24
|
return 'bash';
|
|
@@ -30,23 +38,23 @@ export function getShellType(shellPath) {
|
|
|
30
38
|
* Get the RC file for a shell type
|
|
31
39
|
*/
|
|
32
40
|
function getShellRcFile(shellType) {
|
|
33
|
-
const home = homedir();
|
|
41
|
+
const home = (0, os_1.homedir)();
|
|
34
42
|
switch (shellType) {
|
|
35
43
|
case 'bash':
|
|
36
44
|
// Check for .bashrc first, then .bash_profile
|
|
37
|
-
if (existsSync(join(home, '.bashrc'))) {
|
|
38
|
-
return join(home, '.bashrc');
|
|
45
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(home, '.bashrc'))) {
|
|
46
|
+
return (0, path_1.join)(home, '.bashrc');
|
|
39
47
|
}
|
|
40
|
-
return join(home, '.bash_profile');
|
|
48
|
+
return (0, path_1.join)(home, '.bash_profile');
|
|
41
49
|
case 'zsh':
|
|
42
|
-
return join(home, '.zshrc');
|
|
50
|
+
return (0, path_1.join)(home, '.zshrc');
|
|
43
51
|
case 'fish':
|
|
44
|
-
return join(home, '.config', 'fish', 'config.fish');
|
|
52
|
+
return (0, path_1.join)(home, '.config', 'fish', 'config.fish');
|
|
45
53
|
case 'sh':
|
|
46
|
-
return join(home, '.profile');
|
|
54
|
+
return (0, path_1.join)(home, '.profile');
|
|
47
55
|
case 'powershell':
|
|
48
56
|
// PowerShell profile location
|
|
49
|
-
return join(home, 'Documents', 'PowerShell', 'Microsoft.PowerShell_profile.ps1');
|
|
57
|
+
return (0, path_1.join)(home, 'Documents', 'PowerShell', 'Microsoft.PowerShell_profile.ps1');
|
|
50
58
|
default:
|
|
51
59
|
return null;
|
|
52
60
|
}
|
|
@@ -55,19 +63,19 @@ function getShellRcFile(shellType) {
|
|
|
55
63
|
* Get the profile file for a shell type
|
|
56
64
|
*/
|
|
57
65
|
function getShellProfileFile(shellType) {
|
|
58
|
-
const home = homedir();
|
|
66
|
+
const home = (0, os_1.homedir)();
|
|
59
67
|
switch (shellType) {
|
|
60
68
|
case 'bash':
|
|
61
|
-
return join(home, '.bash_profile');
|
|
69
|
+
return (0, path_1.join)(home, '.bash_profile');
|
|
62
70
|
case 'zsh':
|
|
63
|
-
if (existsSync(join(home, '.zprofile'))) {
|
|
64
|
-
return join(home, '.zprofile');
|
|
71
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(home, '.zprofile'))) {
|
|
72
|
+
return (0, path_1.join)(home, '.zprofile');
|
|
65
73
|
}
|
|
66
|
-
return join(home, '.zshrc');
|
|
74
|
+
return (0, path_1.join)(home, '.zshrc');
|
|
67
75
|
case 'fish':
|
|
68
|
-
return join(home, '.config', 'fish', 'config.fish');
|
|
76
|
+
return (0, path_1.join)(home, '.config', 'fish', 'config.fish');
|
|
69
77
|
case 'sh':
|
|
70
|
-
return join(home, '.profile');
|
|
78
|
+
return (0, path_1.join)(home, '.profile');
|
|
71
79
|
default:
|
|
72
80
|
return null;
|
|
73
81
|
}
|
|
@@ -94,8 +102,8 @@ function getSourceCommand(shellType, rcFile) {
|
|
|
94
102
|
/**
|
|
95
103
|
* Get complete shell information
|
|
96
104
|
*/
|
|
97
|
-
|
|
98
|
-
const shellPath = detectShell();
|
|
105
|
+
function getShellInfo() {
|
|
106
|
+
const shellPath = (0, detector_1.detectShell)();
|
|
99
107
|
const shellType = getShellType(shellPath);
|
|
100
108
|
const rcFile = getShellRcFile(shellType);
|
|
101
109
|
return {
|
|
@@ -109,7 +117,7 @@ export function getShellInfo() {
|
|
|
109
117
|
/**
|
|
110
118
|
* Get the command to spawn an interactive shell
|
|
111
119
|
*/
|
|
112
|
-
|
|
120
|
+
function getInteractiveShellCommand() {
|
|
113
121
|
const info = getShellInfo();
|
|
114
122
|
switch (info.type) {
|
|
115
123
|
case 'bash':
|
|
@@ -129,7 +137,7 @@ export function getInteractiveShellCommand() {
|
|
|
129
137
|
/**
|
|
130
138
|
* Get the command to run a script in the shell
|
|
131
139
|
*/
|
|
132
|
-
|
|
140
|
+
function getShellExecCommand(script) {
|
|
133
141
|
const info = getShellInfo();
|
|
134
142
|
switch (info.type) {
|
|
135
143
|
case 'bash':
|
|
@@ -148,8 +156,8 @@ export function getShellExecCommand(script) {
|
|
|
148
156
|
/**
|
|
149
157
|
* Escape a string for safe use in shell commands
|
|
150
158
|
*/
|
|
151
|
-
|
|
152
|
-
const os = detectPlatform();
|
|
159
|
+
function escapeShellArg(arg) {
|
|
160
|
+
const os = (0, detector_1.detectPlatform)();
|
|
153
161
|
if (os === 'win32') {
|
|
154
162
|
// Windows: double quotes with escaped internal quotes
|
|
155
163
|
return `"${arg.replace(/"/g, '\\"')}"`;
|
|
@@ -160,7 +168,7 @@ export function escapeShellArg(arg) {
|
|
|
160
168
|
/**
|
|
161
169
|
* Check if the shell supports a feature
|
|
162
170
|
*/
|
|
163
|
-
|
|
171
|
+
function shellSupports(feature) {
|
|
164
172
|
const term = process.env.TERM || '';
|
|
165
173
|
const colorTerm = process.env.COLORTERM || '';
|
|
166
174
|
switch (feature) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/platform/shell.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/platform/shell.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAyBH,oCAYC;AA4FD,oCAYC;AAKD,gEAsBC;AAKD,kDAmBC;AAKD,wCAUC;AAKD,sCAiCC;AAnPD,2BAAgC;AAChC,+BAA4B;AAC5B,2BAA6B;AAC7B,yCAAyD;AAiBzD;;GAEG;AACH,SAAgB,YAAY,CAAC,SAAiB;IAC5C,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAElE,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QAChE,OAAO,YAAY,CAAC;IACtB,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAEjE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,SAAoB;IAC1C,MAAM,IAAI,GAAG,IAAA,YAAO,GAAE,CAAC;IAEvB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,8CAA8C;YAC9C,IAAI,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;gBACtC,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAErC,KAAK,KAAK;YACR,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE9B,KAAK,MAAM;YACT,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAEtD,KAAK,IAAI;YACP,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAEhC,KAAK,YAAY;YACf,8BAA8B;YAC9B,OAAO,IAAA,WAAI,EACT,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,kCAAkC,CACnC,CAAC;QAEJ;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,SAAoB;IAC/C,MAAM,IAAI,GAAG,IAAA,YAAO,GAAE,CAAC;IAEvB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAErC,KAAK,KAAK;YACR,IAAI,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;gBACxC,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE9B,KAAK,MAAM;YACT,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAEtD,KAAK,IAAI;YACP,OAAO,IAAA,WAAI,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAEhC;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,SAAoB,EAAE,MAAqB;IACnE,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK,CAAC;QACX,KAAK,IAAI;YACP,OAAO,WAAW,MAAM,GAAG,CAAC;QAE9B,KAAK,MAAM;YACT,OAAO,WAAW,MAAM,GAAG,CAAC;QAE9B,KAAK,YAAY;YACf,OAAO,MAAM,MAAM,GAAG,CAAC;QAEzB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY;IAC1B,MAAM,SAAS,GAAG,IAAA,sBAAW,GAAE,CAAC;IAChC,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAEzC,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,MAAM;QACN,WAAW,EAAE,mBAAmB,CAAC,SAAS,CAAC;QAC3C,aAAa,EAAE,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC;KACnD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,0BAA0B;IACxC,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;IAE5B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAEtC,KAAK,KAAK;YACR,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAEjC,KAAK,MAAM;YACT,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE3B,KAAK,YAAY;YACf,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAE3C,KAAK,KAAK;YACR,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErB;YACE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,MAAc;IAChD,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;IAE5B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK,CAAC;QACX,KAAK,IAAI,CAAC;QACV,KAAK,MAAM;YACT,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEnC,KAAK,YAAY;YACf,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAEzC,KAAK,KAAK;YACR,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEnC;YACE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,GAAW;IACxC,MAAM,EAAE,GAAG,IAAA,yBAAc,GAAE,CAAC;IAE5B,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,sDAAsD;QACtD,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;IACzC,CAAC;IAED,iDAAiD;IACjD,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,OAAuC;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;IAE9C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACpB,IAAI,KAAK,OAAO;gBAChB,SAAS,KAAK,WAAW;gBACzB,SAAS,KAAK,OAAO,CACtB,CAAC;QAEJ,KAAK,SAAS;YACZ,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;YACvC,OAAO,CACL,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAClC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CACpC,CAAC;QAEJ,KAAK,OAAO;YACV,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CACtB,CAAC;QAEJ;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
|