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,5 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* CLI Commands Module
|
|
3
4
|
*/
|
|
4
|
-
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.executeStart = void 0;
|
|
7
|
+
var start_1 = require("./start");
|
|
8
|
+
Object.defineProperty(exports, "executeStart", { enumerable: true, get: function () { return start_1.executeStart; } });
|
|
5
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iCAAyD;AAAhD,qGAAA,YAAY,OAAA"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Start Command
|
|
3
4
|
*
|
|
4
5
|
* Default command to launch the application.
|
|
5
6
|
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.executeStart = executeStart;
|
|
6
9
|
// ============================================================================
|
|
7
10
|
// Start Command
|
|
8
11
|
// ============================================================================
|
|
9
12
|
/**
|
|
10
13
|
* Execute the start command
|
|
11
14
|
*/
|
|
12
|
-
|
|
15
|
+
async function executeStart(options, config) {
|
|
13
16
|
// This is a placeholder - the actual implementation
|
|
14
17
|
// would be in app.ts which orchestrates everything
|
|
15
18
|
// For now, just validate and return success
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAqBH,oCAWC;AAlBD,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E;;GAEG;AACI,KAAK,UAAU,YAAY,CAChC,OAAmB,EACnB,MAAiB;IAEjB,oDAAoD;IACpD,mDAAmD;IAEnD,4CAA4C;IAC5C,OAAO;QACL,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* CLI Module
|
|
3
4
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.executeStart = exports.getValidationWarnings = exports.getValidationErrors = exports.validateRequirements = exports.validateClaudeAvailable = exports.validateTmuxAvailable = exports.validateGitAvailable = exports.validateConfigPath = exports.validateProjectPath = exports.getVersionText = exports.getHelpText = exports.parseArgs = void 0;
|
|
7
|
+
var parser_1 = require("./parser");
|
|
8
|
+
Object.defineProperty(exports, "parseArgs", { enumerable: true, get: function () { return parser_1.parseArgs; } });
|
|
9
|
+
Object.defineProperty(exports, "getHelpText", { enumerable: true, get: function () { return parser_1.getHelpText; } });
|
|
10
|
+
Object.defineProperty(exports, "getVersionText", { enumerable: true, get: function () { return parser_1.getVersionText; } });
|
|
11
|
+
var validators_1 = require("./validators");
|
|
12
|
+
Object.defineProperty(exports, "validateProjectPath", { enumerable: true, get: function () { return validators_1.validateProjectPath; } });
|
|
13
|
+
Object.defineProperty(exports, "validateConfigPath", { enumerable: true, get: function () { return validators_1.validateConfigPath; } });
|
|
14
|
+
Object.defineProperty(exports, "validateGitAvailable", { enumerable: true, get: function () { return validators_1.validateGitAvailable; } });
|
|
15
|
+
Object.defineProperty(exports, "validateTmuxAvailable", { enumerable: true, get: function () { return validators_1.validateTmuxAvailable; } });
|
|
16
|
+
Object.defineProperty(exports, "validateClaudeAvailable", { enumerable: true, get: function () { return validators_1.validateClaudeAvailable; } });
|
|
17
|
+
Object.defineProperty(exports, "validateRequirements", { enumerable: true, get: function () { return validators_1.validateRequirements; } });
|
|
18
|
+
Object.defineProperty(exports, "getValidationErrors", { enumerable: true, get: function () { return validators_1.getValidationErrors; } });
|
|
19
|
+
Object.defineProperty(exports, "getValidationWarnings", { enumerable: true, get: function () { return validators_1.getValidationWarnings; } });
|
|
20
|
+
var commands_1 = require("./commands");
|
|
21
|
+
Object.defineProperty(exports, "executeStart", { enumerable: true, get: function () { return commands_1.executeStart; } });
|
|
7
22
|
//# sourceMappingURL=index.js.map
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;GAEG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,mCAMkB;AALhB,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AACX,wGAAA,cAAc,OAAA;AAKhB,2CAUsB;AATpB,iHAAA,mBAAmB,OAAA;AACnB,gHAAA,kBAAkB,OAAA;AAClB,kHAAA,oBAAoB,OAAA;AACpB,mHAAA,qBAAqB,OAAA;AACrB,qHAAA,uBAAuB,OAAA;AACvB,kHAAA,oBAAoB,OAAA;AACpB,iHAAA,mBAAmB,OAAA;AACnB,mHAAA,qBAAqB,OAAA;AAIvB,uCAA4D;AAAnD,wGAAA,YAAY,OAAA"}
|
package/dist/cli/parser.js
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* CLI Argument Parser
|
|
3
4
|
*
|
|
4
5
|
* Lightweight argument parsing for command-line options.
|
|
5
6
|
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.parseArgs = parseArgs;
|
|
9
|
+
exports.getHelpText = getHelpText;
|
|
10
|
+
exports.getVersionText = getVersionText;
|
|
6
11
|
// ============================================================================
|
|
7
12
|
// Parser
|
|
8
13
|
// ============================================================================
|
|
9
14
|
/**
|
|
10
15
|
* Parse command-line arguments
|
|
11
16
|
*/
|
|
12
|
-
|
|
17
|
+
function parseArgs(args) {
|
|
13
18
|
const options = {
|
|
14
19
|
help: false,
|
|
15
20
|
version: false,
|
|
@@ -77,7 +82,7 @@ export function parseArgs(args) {
|
|
|
77
82
|
/**
|
|
78
83
|
* Get help text
|
|
79
84
|
*/
|
|
80
|
-
|
|
85
|
+
function getHelpText(programName = 'claude-code-plus-plus') {
|
|
81
86
|
return `
|
|
82
87
|
${programName} - Multi-pane terminal interface for parallel Claude Code agents
|
|
83
88
|
|
|
@@ -106,7 +111,7 @@ For more information, visit https://github.com/anthropics/claude-code
|
|
|
106
111
|
/**
|
|
107
112
|
* Get version text
|
|
108
113
|
*/
|
|
109
|
-
|
|
114
|
+
function getVersionText(version) {
|
|
110
115
|
return `claude-code-plus-plus v${version}`;
|
|
111
116
|
}
|
|
112
117
|
//# sourceMappingURL=parser.js.map
|
package/dist/cli/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAiCH,8BAuEC;AAKD,kCAyBC;AAKD,wCAEC;AAnHD,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,SAAS,CAAC,IAAc;IACtC,MAAM,OAAO,GAAe;QAC1B,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK;QACZ,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,EAAE;KACZ,CAAC;IACF,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,OAAO;QACP,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;YACpB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,UAAU;QACV,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,QAAQ;QACR,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;YACrB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,cAAc;QACd,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACvC,CAAC,EAAE,CAAC;YACJ,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC/C,CAAC;YACD,SAAS;QACX,CAAC;QAED,mBAAmB;QACnB,IAAI,GAAG,KAAK,gCAAgC,EAAE,CAAC;YAC7C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;YAC/B,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,eAAe;QACf,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,qCAAqC;QACrC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,CAAC,EAAE,CAAC;IACN,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,cAAsB,uBAAuB;IACvE,OAAO;EACP,WAAW;;;IAGT,WAAW;;;;;;;;;;;;;;IAcX,WAAW;IACX,WAAW;IACX,WAAW;;;CAGd,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,0BAA0B,OAAO,EAAE,CAAC;AAC7C,CAAC"}
|
package/dist/cli/validators.js
CHANGED
|
@@ -1,26 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* CLI Input Validators
|
|
3
4
|
*
|
|
4
5
|
* Validation functions for CLI inputs.
|
|
5
6
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.validateProjectPath = validateProjectPath;
|
|
9
|
+
exports.validateConfigPath = validateConfigPath;
|
|
10
|
+
exports.validateGitAvailable = validateGitAvailable;
|
|
11
|
+
exports.validateTmuxAvailable = validateTmuxAvailable;
|
|
12
|
+
exports.validateClaudeAvailable = validateClaudeAvailable;
|
|
13
|
+
exports.validateRequirements = validateRequirements;
|
|
14
|
+
exports.getValidationErrors = getValidationErrors;
|
|
15
|
+
exports.getValidationWarnings = getValidationWarnings;
|
|
16
|
+
const fs_1 = require("fs");
|
|
17
|
+
const path_1 = require("path");
|
|
18
|
+
const child_process_1 = require("child_process");
|
|
9
19
|
// ============================================================================
|
|
10
20
|
// Validators
|
|
11
21
|
// ============================================================================
|
|
12
22
|
/**
|
|
13
23
|
* Validate project path
|
|
14
24
|
*/
|
|
15
|
-
|
|
16
|
-
const resolvedPath = resolve(path || process.cwd());
|
|
17
|
-
if (!existsSync(resolvedPath)) {
|
|
25
|
+
function validateProjectPath(path) {
|
|
26
|
+
const resolvedPath = (0, path_1.resolve)(path || process.cwd());
|
|
27
|
+
if (!(0, fs_1.existsSync)(resolvedPath)) {
|
|
18
28
|
return {
|
|
19
29
|
valid: false,
|
|
20
30
|
error: `Path does not exist: ${resolvedPath}`,
|
|
21
31
|
};
|
|
22
32
|
}
|
|
23
|
-
const stats = statSync(resolvedPath);
|
|
33
|
+
const stats = (0, fs_1.statSync)(resolvedPath);
|
|
24
34
|
if (!stats.isDirectory()) {
|
|
25
35
|
return {
|
|
26
36
|
valid: false,
|
|
@@ -35,18 +45,18 @@ export function validateProjectPath(path) {
|
|
|
35
45
|
/**
|
|
36
46
|
* Validate config file path
|
|
37
47
|
*/
|
|
38
|
-
|
|
48
|
+
function validateConfigPath(path) {
|
|
39
49
|
if (!path) {
|
|
40
50
|
return { valid: true };
|
|
41
51
|
}
|
|
42
|
-
const resolvedPath = resolve(path);
|
|
43
|
-
if (!existsSync(resolvedPath)) {
|
|
52
|
+
const resolvedPath = (0, path_1.resolve)(path);
|
|
53
|
+
if (!(0, fs_1.existsSync)(resolvedPath)) {
|
|
44
54
|
return {
|
|
45
55
|
valid: false,
|
|
46
56
|
error: `Config file does not exist: ${resolvedPath}`,
|
|
47
57
|
};
|
|
48
58
|
}
|
|
49
|
-
const stats = statSync(resolvedPath);
|
|
59
|
+
const stats = (0, fs_1.statSync)(resolvedPath);
|
|
50
60
|
if (!stats.isFile()) {
|
|
51
61
|
return {
|
|
52
62
|
valid: false,
|
|
@@ -61,9 +71,9 @@ export function validateConfigPath(path) {
|
|
|
61
71
|
/**
|
|
62
72
|
* Validate that git is available
|
|
63
73
|
*/
|
|
64
|
-
|
|
74
|
+
function validateGitAvailable() {
|
|
65
75
|
try {
|
|
66
|
-
execSync('git --version', { stdio: 'pipe' });
|
|
76
|
+
(0, child_process_1.execSync)('git --version', { stdio: 'pipe' });
|
|
67
77
|
return { valid: true };
|
|
68
78
|
}
|
|
69
79
|
catch {
|
|
@@ -76,9 +86,9 @@ export function validateGitAvailable() {
|
|
|
76
86
|
/**
|
|
77
87
|
* Validate that tmux is available
|
|
78
88
|
*/
|
|
79
|
-
|
|
89
|
+
function validateTmuxAvailable() {
|
|
80
90
|
try {
|
|
81
|
-
execSync('tmux -V', { stdio: 'pipe' });
|
|
91
|
+
(0, child_process_1.execSync)('tmux -V', { stdio: 'pipe' });
|
|
82
92
|
return { valid: true };
|
|
83
93
|
}
|
|
84
94
|
catch {
|
|
@@ -91,9 +101,9 @@ export function validateTmuxAvailable() {
|
|
|
91
101
|
/**
|
|
92
102
|
* Validate that Claude is available
|
|
93
103
|
*/
|
|
94
|
-
|
|
104
|
+
function validateClaudeAvailable() {
|
|
95
105
|
try {
|
|
96
|
-
execSync('claude --version', { stdio: 'pipe' });
|
|
106
|
+
(0, child_process_1.execSync)('claude --version', { stdio: 'pipe' });
|
|
97
107
|
return { valid: true };
|
|
98
108
|
}
|
|
99
109
|
catch {
|
|
@@ -106,7 +116,7 @@ export function validateClaudeAvailable() {
|
|
|
106
116
|
/**
|
|
107
117
|
* Run all required validations
|
|
108
118
|
*/
|
|
109
|
-
|
|
119
|
+
function validateRequirements(options) {
|
|
110
120
|
const results = [];
|
|
111
121
|
// Validate project path
|
|
112
122
|
results.push({
|
|
@@ -133,7 +143,7 @@ export function validateRequirements(options) {
|
|
|
133
143
|
/**
|
|
134
144
|
* Get all validation errors
|
|
135
145
|
*/
|
|
136
|
-
|
|
146
|
+
function getValidationErrors(results) {
|
|
137
147
|
return results
|
|
138
148
|
.filter((r) => !r.valid && r.error && !r.error.startsWith('Warning:'))
|
|
139
149
|
.map((r) => r.error);
|
|
@@ -141,7 +151,7 @@ export function getValidationErrors(results) {
|
|
|
141
151
|
/**
|
|
142
152
|
* Get all validation warnings
|
|
143
153
|
*/
|
|
144
|
-
|
|
154
|
+
function getValidationWarnings(results) {
|
|
145
155
|
return results
|
|
146
156
|
.filter((r) => !r.valid && r.error?.startsWith('Warning:'))
|
|
147
157
|
.map((r) => r.error.replace('Warning: ', ''));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/cli/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/cli/validators.ts"],"names":[],"mappings":"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"}
|
package/dist/config/defaults.js
CHANGED
|
@@ -1,18 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Default Configuration Values
|
|
3
4
|
*/
|
|
4
|
-
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createDefaultConfig = createDefaultConfig;
|
|
7
|
+
exports.getDefaultConfig = getDefaultConfig;
|
|
8
|
+
exports.resetDefaultConfig = resetDefaultConfig;
|
|
9
|
+
const types_1 = require("../types");
|
|
5
10
|
/**
|
|
6
11
|
* Create default configuration
|
|
7
12
|
*/
|
|
8
|
-
|
|
9
|
-
return { ...DEFAULT_CONFIG };
|
|
13
|
+
function createDefaultConfig() {
|
|
14
|
+
return { ...types_1.DEFAULT_CONFIG };
|
|
10
15
|
}
|
|
11
16
|
/**
|
|
12
17
|
* Default configuration instance
|
|
13
18
|
*/
|
|
14
19
|
let _defaultConfig = null;
|
|
15
|
-
|
|
20
|
+
function getDefaultConfig() {
|
|
16
21
|
if (!_defaultConfig) {
|
|
17
22
|
_defaultConfig = createDefaultConfig();
|
|
18
23
|
}
|
|
@@ -21,7 +26,7 @@ export function getDefaultConfig() {
|
|
|
21
26
|
/**
|
|
22
27
|
* Reset the default config (mainly for testing)
|
|
23
28
|
*/
|
|
24
|
-
|
|
29
|
+
function resetDefaultConfig() {
|
|
25
30
|
_defaultConfig = null;
|
|
26
31
|
}
|
|
27
32
|
//# sourceMappingURL=defaults.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAQH,kDAEC;AAOD,4CAKC;AAKD,gDAEC;AA1BD,oCAA0C;AAE1C;;GAEG;AACH,SAAgB,mBAAmB;IACjC,OAAO,EAAE,GAAG,sBAAc,EAAE,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,IAAI,cAAc,GAAqB,IAAI,CAAC;AAE5C,SAAgB,gBAAgB;IAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,mBAAmB,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB;IAChC,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC"}
|
package/dist/config/index.js
CHANGED
|
@@ -1,12 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Config Module
|
|
3
4
|
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PathsManager = exports.getNewWorktreePath = exports.getWelcomeScriptPath = exports.getTerminalStatePath = exports.ensureDirectories = exports.createAppPaths = exports.ConfigManager = exports.saveConfigFile = exports.loadConfig = exports.loadConfigFromEnv = exports.loadConfigFile = exports.getConfigFilePath = exports.resetDefaultConfig = exports.getDefaultConfig = exports.createDefaultConfig = exports.isValidConfig = exports.validateConfig = void 0;
|
|
4
7
|
// Schema
|
|
5
|
-
|
|
8
|
+
var schema_1 = require("./schema");
|
|
9
|
+
Object.defineProperty(exports, "validateConfig", { enumerable: true, get: function () { return schema_1.validateConfig; } });
|
|
10
|
+
Object.defineProperty(exports, "isValidConfig", { enumerable: true, get: function () { return schema_1.isValidConfig; } });
|
|
6
11
|
// Defaults
|
|
7
|
-
|
|
12
|
+
var defaults_1 = require("./defaults");
|
|
13
|
+
Object.defineProperty(exports, "createDefaultConfig", { enumerable: true, get: function () { return defaults_1.createDefaultConfig; } });
|
|
14
|
+
Object.defineProperty(exports, "getDefaultConfig", { enumerable: true, get: function () { return defaults_1.getDefaultConfig; } });
|
|
15
|
+
Object.defineProperty(exports, "resetDefaultConfig", { enumerable: true, get: function () { return defaults_1.resetDefaultConfig; } });
|
|
8
16
|
// Loader
|
|
9
|
-
|
|
17
|
+
var loader_1 = require("./loader");
|
|
18
|
+
Object.defineProperty(exports, "getConfigFilePath", { enumerable: true, get: function () { return loader_1.getConfigFilePath; } });
|
|
19
|
+
Object.defineProperty(exports, "loadConfigFile", { enumerable: true, get: function () { return loader_1.loadConfigFile; } });
|
|
20
|
+
Object.defineProperty(exports, "loadConfigFromEnv", { enumerable: true, get: function () { return loader_1.loadConfigFromEnv; } });
|
|
21
|
+
Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return loader_1.loadConfig; } });
|
|
22
|
+
Object.defineProperty(exports, "saveConfigFile", { enumerable: true, get: function () { return loader_1.saveConfigFile; } });
|
|
23
|
+
Object.defineProperty(exports, "ConfigManager", { enumerable: true, get: function () { return loader_1.ConfigManager; } });
|
|
10
24
|
// Paths
|
|
11
|
-
|
|
25
|
+
var paths_1 = require("./paths");
|
|
26
|
+
Object.defineProperty(exports, "createAppPaths", { enumerable: true, get: function () { return paths_1.createAppPaths; } });
|
|
27
|
+
Object.defineProperty(exports, "ensureDirectories", { enumerable: true, get: function () { return paths_1.ensureDirectories; } });
|
|
28
|
+
Object.defineProperty(exports, "getTerminalStatePath", { enumerable: true, get: function () { return paths_1.getTerminalStatePath; } });
|
|
29
|
+
Object.defineProperty(exports, "getWelcomeScriptPath", { enumerable: true, get: function () { return paths_1.getWelcomeScriptPath; } });
|
|
30
|
+
Object.defineProperty(exports, "getNewWorktreePath", { enumerable: true, get: function () { return paths_1.getNewWorktreePath; } });
|
|
31
|
+
Object.defineProperty(exports, "PathsManager", { enumerable: true, get: function () { return paths_1.PathsManager; } });
|
|
12
32
|
//# sourceMappingURL=index.js.map
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,SAAS;AACT,mCAAyD;AAAhD,wGAAA,cAAc,OAAA;AAAE,uGAAA,aAAa,OAAA;AAGtC,WAAW;AACX,uCAAuF;AAA9E,+GAAA,mBAAmB,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AAElE,SAAS;AACT,mCAOkB;AANhB,2GAAA,iBAAiB,OAAA;AACjB,wGAAA,cAAc,OAAA;AACd,2GAAA,iBAAiB,OAAA;AACjB,oGAAA,UAAU,OAAA;AACV,wGAAA,cAAc,OAAA;AACd,uGAAA,aAAa,OAAA;AAGf,QAAQ;AACR,iCAOiB;AANf,uGAAA,cAAc,OAAA;AACd,0GAAA,iBAAiB,OAAA;AACjB,6GAAA,oBAAoB,OAAA;AACpB,6GAAA,oBAAoB,OAAA;AACpB,2GAAA,kBAAkB,OAAA;AAClB,qGAAA,YAAY,OAAA"}
|
package/dist/config/loader.js
CHANGED
|
@@ -1,30 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Configuration Loader
|
|
3
4
|
*
|
|
4
5
|
* Loads configuration from file and environment.
|
|
5
6
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.ConfigManager = void 0;
|
|
9
|
+
exports.getConfigFilePath = getConfigFilePath;
|
|
10
|
+
exports.loadConfigFile = loadConfigFile;
|
|
11
|
+
exports.loadConfigFromEnv = loadConfigFromEnv;
|
|
12
|
+
exports.loadConfig = loadConfig;
|
|
13
|
+
exports.saveConfigFile = saveConfigFile;
|
|
14
|
+
const fs_1 = require("fs");
|
|
15
|
+
const path_1 = require("path");
|
|
16
|
+
const types_1 = require("../types");
|
|
17
|
+
const schema_1 = require("./schema");
|
|
18
|
+
const platform_1 = require("../platform");
|
|
11
19
|
/**
|
|
12
20
|
* Get the config file path
|
|
13
21
|
*/
|
|
14
|
-
|
|
15
|
-
return `${getConfigDir()}/config.json`;
|
|
22
|
+
function getConfigFilePath() {
|
|
23
|
+
return `${(0, platform_1.getConfigDir)()}/config.json`;
|
|
16
24
|
}
|
|
17
25
|
/**
|
|
18
26
|
* Load configuration from a JSON file
|
|
19
27
|
*/
|
|
20
|
-
|
|
21
|
-
if (!existsSync(filePath)) {
|
|
28
|
+
function loadConfigFile(filePath) {
|
|
29
|
+
if (!(0, fs_1.existsSync)(filePath)) {
|
|
22
30
|
return null;
|
|
23
31
|
}
|
|
24
32
|
try {
|
|
25
|
-
const content = readFileSync(filePath, 'utf-8');
|
|
33
|
+
const content = (0, fs_1.readFileSync)(filePath, 'utf-8');
|
|
26
34
|
const parsed = JSON.parse(content);
|
|
27
|
-
const errors = validateConfig(parsed);
|
|
35
|
+
const errors = (0, schema_1.validateConfig)(parsed);
|
|
28
36
|
if (errors.length > 0) {
|
|
29
37
|
console.warn(`Config validation warnings: ${errors.join(', ')}`);
|
|
30
38
|
}
|
|
@@ -38,7 +46,7 @@ export function loadConfigFile(filePath) {
|
|
|
38
46
|
/**
|
|
39
47
|
* Load configuration from environment variables
|
|
40
48
|
*/
|
|
41
|
-
|
|
49
|
+
function loadConfigFromEnv() {
|
|
42
50
|
const config = {};
|
|
43
51
|
if (process.env.CLAUDE_PP_COMMAND) {
|
|
44
52
|
config.claudeCommand = process.env.CLAUDE_PP_COMMAND;
|
|
@@ -54,8 +62,8 @@ export function loadConfigFromEnv() {
|
|
|
54
62
|
/**
|
|
55
63
|
* Load complete configuration, merging all sources
|
|
56
64
|
*/
|
|
57
|
-
|
|
58
|
-
let config = { ...DEFAULT_CONFIG };
|
|
65
|
+
function loadConfig(overrides) {
|
|
66
|
+
let config = { ...types_1.DEFAULT_CONFIG };
|
|
59
67
|
// Merge config file
|
|
60
68
|
const configFilePath = getConfigFilePath();
|
|
61
69
|
const fileConfig = loadConfigFile(configFilePath);
|
|
@@ -74,19 +82,19 @@ export function loadConfig(overrides) {
|
|
|
74
82
|
/**
|
|
75
83
|
* Save configuration to file
|
|
76
84
|
*/
|
|
77
|
-
|
|
85
|
+
function saveConfigFile(config) {
|
|
78
86
|
const filePath = getConfigFilePath();
|
|
79
|
-
const dir = dirname(filePath);
|
|
80
|
-
if (!existsSync(dir)) {
|
|
81
|
-
mkdirSync(dir, { recursive: true });
|
|
87
|
+
const dir = (0, path_1.dirname)(filePath);
|
|
88
|
+
if (!(0, fs_1.existsSync)(dir)) {
|
|
89
|
+
(0, fs_1.mkdirSync)(dir, { recursive: true });
|
|
82
90
|
}
|
|
83
91
|
const content = JSON.stringify(config, null, 2);
|
|
84
|
-
writeFileSync(filePath, content, 'utf-8');
|
|
92
|
+
(0, fs_1.writeFileSync)(filePath, content, 'utf-8');
|
|
85
93
|
}
|
|
86
94
|
/**
|
|
87
95
|
* Configuration manager class
|
|
88
96
|
*/
|
|
89
|
-
|
|
97
|
+
class ConfigManager {
|
|
90
98
|
config;
|
|
91
99
|
constructor(initialConfig) {
|
|
92
100
|
this.config = loadConfig(initialConfig);
|
|
@@ -104,4 +112,5 @@ export class ConfigManager {
|
|
|
104
112
|
this.config = loadConfig();
|
|
105
113
|
}
|
|
106
114
|
}
|
|
115
|
+
exports.ConfigManager = ConfigManager;
|
|
107
116
|
//# sourceMappingURL=loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|
package/dist/config/paths.js
CHANGED
|
@@ -1,61 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Application Paths
|
|
3
4
|
*
|
|
4
5
|
* Computes and manages application paths.
|
|
5
6
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.PathsManager = void 0;
|
|
9
|
+
exports.createAppPaths = createAppPaths;
|
|
10
|
+
exports.ensureDirectories = ensureDirectories;
|
|
11
|
+
exports.getTerminalStatePath = getTerminalStatePath;
|
|
12
|
+
exports.getWelcomeScriptPath = getWelcomeScriptPath;
|
|
13
|
+
exports.getNewWorktreePath = getNewWorktreePath;
|
|
14
|
+
const path_1 = require("path");
|
|
15
|
+
const fs_1 = require("fs");
|
|
16
|
+
const platform_1 = require("../platform");
|
|
17
|
+
const utils_1 = require("../utils");
|
|
10
18
|
/**
|
|
11
19
|
* Create application paths for a specific project
|
|
12
20
|
*/
|
|
13
|
-
|
|
14
|
-
const projectId = createProjectId(projectPath);
|
|
15
|
-
const dataDir = getAppDataDir();
|
|
16
|
-
const projectDir = join(dataDir, projectId);
|
|
21
|
+
function createAppPaths(projectPath, worktreesDir) {
|
|
22
|
+
const projectId = (0, utils_1.createProjectId)(projectPath);
|
|
23
|
+
const dataDir = (0, platform_1.getAppDataDir)();
|
|
24
|
+
const projectDir = (0, path_1.join)(dataDir, projectId);
|
|
17
25
|
return {
|
|
18
26
|
data: dataDir,
|
|
19
27
|
project: projectDir,
|
|
20
|
-
state: join(projectDir, 'state.json'),
|
|
21
|
-
worktrees: worktreesDir || getWorktreesDir(),
|
|
22
|
-
temp: getTempDir(),
|
|
28
|
+
state: (0, path_1.join)(projectDir, 'state.json'),
|
|
29
|
+
worktrees: worktreesDir || (0, platform_1.getWorktreesDir)(),
|
|
30
|
+
temp: (0, platform_1.getTempDir)(),
|
|
23
31
|
};
|
|
24
32
|
}
|
|
25
33
|
/**
|
|
26
34
|
* Ensure all required directories exist
|
|
27
35
|
*/
|
|
28
|
-
|
|
36
|
+
function ensureDirectories(paths) {
|
|
29
37
|
const dirsToCreate = [paths.data, paths.project, paths.worktrees];
|
|
30
38
|
for (const dir of dirsToCreate) {
|
|
31
|
-
if (!existsSync(dir)) {
|
|
32
|
-
mkdirSync(dir, { recursive: true });
|
|
39
|
+
if (!(0, fs_1.existsSync)(dir)) {
|
|
40
|
+
(0, fs_1.mkdirSync)(dir, { recursive: true });
|
|
33
41
|
}
|
|
34
42
|
}
|
|
35
43
|
}
|
|
36
44
|
/**
|
|
37
45
|
* Get the terminal state file path for a session
|
|
38
46
|
*/
|
|
39
|
-
|
|
40
|
-
return join(getTempDir(), `claude-pp-term-${sessionId}.json`);
|
|
47
|
+
function getTerminalStatePath(sessionId) {
|
|
48
|
+
return (0, path_1.join)((0, platform_1.getTempDir)(), `claude-pp-term-${sessionId}.json`);
|
|
41
49
|
}
|
|
42
50
|
/**
|
|
43
51
|
* Get the welcome script path for a session
|
|
44
52
|
*/
|
|
45
|
-
|
|
46
|
-
return join(getTempDir(), `claude-pp-welcome-${sessionName}.sh`);
|
|
53
|
+
function getWelcomeScriptPath(sessionName) {
|
|
54
|
+
return (0, path_1.join)((0, platform_1.getTempDir)(), `claude-pp-welcome-${sessionName}.sh`);
|
|
47
55
|
}
|
|
48
56
|
/**
|
|
49
57
|
* Get the worktree path for a new worktree
|
|
50
58
|
*/
|
|
51
|
-
|
|
59
|
+
function getNewWorktreePath(basePath, repoName, branchName) {
|
|
52
60
|
const safeBranch = branchName.replace(/[^a-zA-Z0-9-_]/g, '-');
|
|
53
|
-
return join(basePath, `${repoName}-${safeBranch}`);
|
|
61
|
+
return (0, path_1.join)(basePath, `${repoName}-${safeBranch}`);
|
|
54
62
|
}
|
|
55
63
|
/**
|
|
56
64
|
* Application paths manager
|
|
57
65
|
*/
|
|
58
|
-
|
|
66
|
+
class PathsManager {
|
|
59
67
|
paths;
|
|
60
68
|
initialized = false;
|
|
61
69
|
constructor(projectPath, worktreesDir) {
|
|
@@ -83,4 +91,5 @@ export class PathsManager {
|
|
|
83
91
|
return getNewWorktreePath(this.paths.worktrees, repoName, branchName);
|
|
84
92
|
}
|
|
85
93
|
}
|
|
94
|
+
exports.PathsManager = PathsManager;
|
|
86
95
|
//# sourceMappingURL=paths.js.map
|
package/dist/config/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"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"}
|
package/dist/config/schema.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Configuration Schema
|
|
3
4
|
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.validateConfig = validateConfig;
|
|
7
|
+
exports.isValidConfig = isValidConfig;
|
|
4
8
|
/**
|
|
5
9
|
* Validate a configuration object
|
|
6
10
|
* Returns an array of validation errors (empty if valid)
|
|
7
11
|
*/
|
|
8
|
-
|
|
12
|
+
function validateConfig(config) {
|
|
9
13
|
const errors = [];
|
|
10
14
|
if (typeof config !== 'object' || config === null) {
|
|
11
15
|
errors.push('Configuration must be an object');
|
|
@@ -26,7 +30,7 @@ export function validateConfig(config) {
|
|
|
26
30
|
/**
|
|
27
31
|
* Type guard to check if value is a valid AppConfig
|
|
28
32
|
*/
|
|
29
|
-
|
|
33
|
+
function isValidConfig(config) {
|
|
30
34
|
return validateConfig(config).length === 0;
|
|
31
35
|
}
|
|
32
36
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAWH,wCAuBC;AAKD,sCAEC;AAlCD;;;GAGG;AACH,SAAgB,cAAc,CAAC,MAAe;IAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,GAAG,GAAG,MAAiC,CAAC;IAE9C,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAClF,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QACxG,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,MAAe;IAC3C,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7C,CAAC"}
|