@kibitzsh/kibitz 0.0.3 → 0.0.4
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/README.md +2 -0
- package/dist/cli/index.js +341 -2609
- package/dist/core/commentary.js +602 -924
- package/dist/core/platform-support.js +155 -127
- package/dist/core/providers/anthropic.d.ts.map +1 -1
- package/dist/core/providers/anthropic.js +9 -2
- package/dist/core/providers/anthropic.js.map +1 -1
- package/dist/core/session-dispatch.js +379 -391
- package/dist/core/watcher.d.ts +1 -1
- package/dist/core/watcher.d.ts.map +1 -1
- package/dist/core/watcher.js +834 -795
- package/dist/core/watcher.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,146 +1,174 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
|
|
30
|
-
// src/core/platform-support.ts
|
|
31
|
-
var platform_support_exports = {};
|
|
32
|
-
__export(platform_support_exports, {
|
|
33
|
-
findCommandPath: () => findCommandPath,
|
|
34
|
-
getProviderCliCommand: () => getProviderCliCommand,
|
|
35
|
-
inheritShellPath: () => inheritShellPath,
|
|
36
|
-
resolveCmdNodeScript: () => resolveCmdNodeScript
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
37
17
|
});
|
|
38
|
-
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
var
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.getProviderCliCommand = getProviderCliCommand;
|
|
37
|
+
exports.resolveCmdNodeScript = resolveCmdNodeScript;
|
|
38
|
+
exports.inheritShellPath = inheritShellPath;
|
|
39
|
+
exports.findCommandPath = findCommandPath;
|
|
40
|
+
const child_process_1 = require("child_process");
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
/**
|
|
44
|
+
* Keep CLI discovery consistent across panel and terminal flows.
|
|
45
|
+
*/
|
|
42
46
|
function getProviderCliCommand(provider, platform = process.platform) {
|
|
43
|
-
|
|
47
|
+
return platform === 'win32' ? `${provider}.cmd` : provider;
|
|
44
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Resolve npm .cmd wrappers to their underlying JavaScript file.
|
|
51
|
+
* This avoids cmd.exe arg limits on Windows for long prompts.
|
|
52
|
+
*/
|
|
45
53
|
function resolveCmdNodeScript(cmdPath) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
if (!String(cmdPath || '').toLowerCase().endsWith('.cmd'))
|
|
55
|
+
return null;
|
|
56
|
+
try {
|
|
57
|
+
const content = fs.readFileSync(cmdPath, 'utf8');
|
|
58
|
+
const match = content.match(/%dp0%\\(.+?\.js)/i);
|
|
59
|
+
if (!match)
|
|
60
|
+
return null;
|
|
61
|
+
const scriptPath = path.join(path.dirname(cmdPath), match[1]);
|
|
62
|
+
return fs.existsSync(scriptPath) ? scriptPath : null;
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
56
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Merge user shell PATH into process PATH so packaged VS Code extension host
|
|
70
|
+
* can still locate user-installed CLIs.
|
|
71
|
+
*/
|
|
57
72
|
function inheritShellPath(platform = process.platform) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
73
|
+
if (platform === 'darwin') {
|
|
74
|
+
inheritDarwinPath();
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (platform === 'win32') {
|
|
78
|
+
inheritNpmPrefixPath('win32');
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
// Linux remains best-effort in this phase.
|
|
82
|
+
inheritNpmPrefixPath('linux');
|
|
67
83
|
}
|
|
68
84
|
function findCommandPath(command, platform = process.platform) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
85
|
+
try {
|
|
86
|
+
if (platform === 'win32') {
|
|
87
|
+
const out = (0, child_process_1.execSync)(`where ${command}`, {
|
|
88
|
+
encoding: 'utf8',
|
|
89
|
+
timeout: 5000,
|
|
90
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
91
|
+
}).trim();
|
|
92
|
+
const first = out.split(/\r?\n/).map((line) => line.trim()).find(Boolean);
|
|
93
|
+
return first || undefined;
|
|
94
|
+
}
|
|
95
|
+
const out = (0, child_process_1.execFileSync)('which', [command], {
|
|
96
|
+
encoding: 'utf8',
|
|
97
|
+
timeout: 5000,
|
|
98
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
99
|
+
}).trim();
|
|
100
|
+
return out || undefined;
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return undefined;
|
|
78
104
|
}
|
|
79
|
-
const out = (0, import_child_process.execFileSync)("which", [command], {
|
|
80
|
-
encoding: "utf8",
|
|
81
|
-
timeout: 5e3,
|
|
82
|
-
stdio: ["ignore", "pipe", "ignore"]
|
|
83
|
-
}).trim();
|
|
84
|
-
return out || void 0;
|
|
85
|
-
} catch {
|
|
86
|
-
return void 0;
|
|
87
|
-
}
|
|
88
105
|
}
|
|
89
106
|
function inheritDarwinPath() {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
107
|
+
const currentPath = process.env.PATH || '';
|
|
108
|
+
const parts = new Set(currentPath.split(path.delimiter).filter(Boolean));
|
|
109
|
+
const candidateShells = [process.env.SHELL, '/bin/zsh', '/bin/bash']
|
|
110
|
+
.map((value) => String(value || '').trim())
|
|
111
|
+
.filter(Boolean)
|
|
112
|
+
.filter((value, index, arr) => arr.indexOf(value) === index);
|
|
113
|
+
for (const shell of candidateShells) {
|
|
114
|
+
if (!fs.existsSync(shell))
|
|
115
|
+
continue;
|
|
116
|
+
try {
|
|
117
|
+
const shellPath = (0, child_process_1.execFileSync)(shell, ['-lic', 'echo $PATH'], {
|
|
118
|
+
encoding: 'utf8',
|
|
119
|
+
timeout: 5000,
|
|
120
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
121
|
+
}).trim();
|
|
122
|
+
if (!shellPath)
|
|
123
|
+
continue;
|
|
124
|
+
process.env.PATH = mergePath(currentPath, shellPath, parts);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
// Try next shell candidate.
|
|
129
|
+
}
|
|
105
130
|
}
|
|
106
|
-
}
|
|
107
131
|
}
|
|
108
132
|
function inheritNpmPrefixPath(platform) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
133
|
+
const npmCommand = platform === 'win32' ? 'npm.cmd' : 'npm';
|
|
134
|
+
try {
|
|
135
|
+
const npmPrefix = (0, child_process_1.execFileSync)(npmCommand, ['prefix', '-g'], {
|
|
136
|
+
encoding: 'utf8',
|
|
137
|
+
timeout: 5000,
|
|
138
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
139
|
+
shell: platform === 'win32',
|
|
140
|
+
}).trim();
|
|
141
|
+
if (!npmPrefix)
|
|
142
|
+
return;
|
|
143
|
+
const candidates = platform === 'win32'
|
|
144
|
+
? [npmPrefix, path.join(npmPrefix, 'node_modules', '.bin')]
|
|
145
|
+
: [path.join(npmPrefix, 'bin')];
|
|
146
|
+
let nextPath = process.env.PATH || '';
|
|
147
|
+
const parts = new Set(nextPath.split(path.delimiter).filter(Boolean));
|
|
148
|
+
for (const candidate of candidates) {
|
|
149
|
+
if (!candidate || parts.has(candidate))
|
|
150
|
+
continue;
|
|
151
|
+
nextPath = nextPath ? `${candidate}${path.delimiter}${nextPath}` : candidate;
|
|
152
|
+
parts.add(candidate);
|
|
153
|
+
}
|
|
154
|
+
process.env.PATH = nextPath;
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
// npm unavailable; keep current PATH.
|
|
125
158
|
}
|
|
126
|
-
process.env.PATH = nextPath;
|
|
127
|
-
} catch {
|
|
128
|
-
}
|
|
129
159
|
}
|
|
130
160
|
function mergePath(currentPath, shellPath, knownParts) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
161
|
+
const additions = [];
|
|
162
|
+
for (const candidate of shellPath.split(path.delimiter).filter(Boolean)) {
|
|
163
|
+
if (knownParts.has(candidate))
|
|
164
|
+
continue;
|
|
165
|
+
knownParts.add(candidate);
|
|
166
|
+
additions.push(candidate);
|
|
167
|
+
}
|
|
168
|
+
if (additions.length === 0)
|
|
169
|
+
return currentPath;
|
|
170
|
+
return currentPath
|
|
171
|
+
? `${currentPath}${path.delimiter}${additions.join(path.delimiter)}`
|
|
172
|
+
: additions.join(path.delimiter);
|
|
139
173
|
}
|
|
140
|
-
|
|
141
|
-
0 && (module.exports = {
|
|
142
|
-
findCommandPath,
|
|
143
|
-
getProviderCliCommand,
|
|
144
|
-
inheritShellPath,
|
|
145
|
-
resolveCmdNodeScript
|
|
146
|
-
});
|
|
174
|
+
//# sourceMappingURL=platform-support.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/core/providers/anthropic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/core/providers/anthropic.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AA2F5C;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IAC1C,QAAQ,CACZ,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EAAE,6BAA6B;IAC9C,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC9B,OAAO,CAAC,MAAM,CAAC;CAqHnB;AAED,wBAAgB,uBAAuB,IAAI;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAclG"}
|
|
@@ -6,6 +6,9 @@ const child_process_1 = require("child_process");
|
|
|
6
6
|
const fs_1 = require("fs");
|
|
7
7
|
const path_1 = require("path");
|
|
8
8
|
const os_1 = require("os");
|
|
9
|
+
// Kibitz commentary sessions run in this dedicated cwd so they land in a
|
|
10
|
+
// project directory that the watcher can reliably skip (see scanClaude).
|
|
11
|
+
const KIBITZ_COMMENTARY_CWD = (0, path_1.join)((0, os_1.homedir)(), '.kibitz-sessions');
|
|
9
12
|
let cachedClaudePath = null;
|
|
10
13
|
const PROVIDER_TIMEOUT_MS = 90_000;
|
|
11
14
|
/**
|
|
@@ -118,19 +121,23 @@ class AnthropicProvider {
|
|
|
118
121
|
const env = { ...process.env };
|
|
119
122
|
delete env.ELECTRON_RUN_AS_NODE;
|
|
120
123
|
delete env.CLAUDECODE;
|
|
124
|
+
try {
|
|
125
|
+
(0, fs_1.mkdirSync)(KIBITZ_COMMENTARY_CWD, { recursive: true });
|
|
126
|
+
}
|
|
127
|
+
catch { /* best effort */ }
|
|
121
128
|
let proc;
|
|
122
129
|
try {
|
|
123
130
|
const nodeScript = resolveNodeScript(claudePath);
|
|
124
131
|
if (nodeScript) {
|
|
125
132
|
proc = (0, child_process_1.spawn)(process.execPath, [nodeScript, ...args], {
|
|
126
|
-
cwd:
|
|
133
|
+
cwd: KIBITZ_COMMENTARY_CWD, env,
|
|
127
134
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
128
135
|
windowsHide: true,
|
|
129
136
|
});
|
|
130
137
|
}
|
|
131
138
|
else {
|
|
132
139
|
proc = (0, child_process_1.spawn)(claudePath, args, {
|
|
133
|
-
cwd:
|
|
140
|
+
cwd: KIBITZ_COMMENTARY_CWD, env,
|
|
134
141
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
135
142
|
windowsHide: true,
|
|
136
143
|
shell: process.platform === 'win32',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/core/providers/anthropic.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/core/providers/anthropic.ts"],"names":[],"mappings":"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"}
|