@m14i/sith 1.21.1 → 1.22.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["file:///home/runner/work/sith/sith/src/commands/docker.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEX,oBAAoB,EAEpB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["file:///home/runner/work/sith/sith/src/commands/docker.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEX,oBAAoB,EAEpB,MAAM,aAAa,CAAC;AAqTrB,wBAAsB,aAAa,CAClC,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TerminalUI.d.ts","sourceRoot":"","sources":["file:///home/runner/work/sith/sith/src/components/TerminalUI.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TerminalUI.d.ts","sourceRoot":"","sources":["file:///home/runner/work/sith/sith/src/components/TerminalUI.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAwC,MAAM,OAAO,CAAC;AA4I7D,wBAAgB,UAAU,IAAI,KAAK,CAAC,YAAY,CA0N/C;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
|
package/dist/index.js
CHANGED
|
@@ -42966,27 +42966,25 @@ which.sync = whichSync
|
|
|
42966
42966
|
|
|
42967
42967
|
__nccwpck_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
|
|
42968
42968
|
/* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
|
|
42969
|
-
/* harmony export */ Q: () => (/* binding */ dockerCommand)
|
|
42970
|
-
/* harmony export */ l: () => (/* binding */ runShellDirect)
|
|
42969
|
+
/* harmony export */ Q: () => (/* binding */ dockerCommand)
|
|
42971
42970
|
/* harmony export */ });
|
|
42971
|
+
/* unused harmony export runShellDirect */
|
|
42972
42972
|
/* harmony import */ var node_fs__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(3024);
|
|
42973
42973
|
/* harmony import */ var node_fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__nccwpck_require__.n(node_fs__WEBPACK_IMPORTED_MODULE_0__);
|
|
42974
42974
|
/* harmony import */ var node_path__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(6760);
|
|
42975
42975
|
/* harmony import */ var node_path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__nccwpck_require__.n(node_path__WEBPACK_IMPORTED_MODULE_1__);
|
|
42976
42976
|
/* harmony import */ var node_url__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(3136);
|
|
42977
42977
|
/* harmony import */ var node_url__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__nccwpck_require__.n(node_url__WEBPACK_IMPORTED_MODULE_2__);
|
|
42978
|
-
/* harmony import */ var
|
|
42978
|
+
/* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(6181);
|
|
42979
42979
|
/* harmony import */ var ink__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(3816);
|
|
42980
42980
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(2864);
|
|
42981
42981
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__nccwpck_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
|
|
42982
42982
|
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(6878);
|
|
42983
|
-
/* harmony import */ var
|
|
42984
|
-
/* harmony import */ var
|
|
42985
|
-
/* harmony import */ var
|
|
42986
|
-
|
|
42987
|
-
|
|
42988
|
-
([ink__WEBPACK_IMPORTED_MODULE_3__, _skills_js__WEBPACK_IMPORTED_MODULE_9__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
|
|
42989
|
-
|
|
42983
|
+
/* harmony import */ var _utils_launcher_js__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(5800);
|
|
42984
|
+
/* harmony import */ var _nix_js__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(9922);
|
|
42985
|
+
/* harmony import */ var _skills_js__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(9805);
|
|
42986
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([ink__WEBPACK_IMPORTED_MODULE_3__, _skills_js__WEBPACK_IMPORTED_MODULE_8__]);
|
|
42987
|
+
([ink__WEBPACK_IMPORTED_MODULE_3__, _skills_js__WEBPACK_IMPORTED_MODULE_8__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
|
|
42990
42988
|
|
|
42991
42989
|
|
|
42992
42990
|
|
|
@@ -43077,11 +43075,11 @@ function Menu() {
|
|
|
43077
43075
|
switch (value) {
|
|
43078
43076
|
case "shell":
|
|
43079
43077
|
exit();
|
|
43080
|
-
await
|
|
43078
|
+
await (0,_utils_launcher_js__WEBPACK_IMPORTED_MODULE_6__/* .launchShell */ .k1)();
|
|
43081
43079
|
return;
|
|
43082
43080
|
case "skills":
|
|
43083
43081
|
exit();
|
|
43084
|
-
(0,
|
|
43082
|
+
(0,_skills_js__WEBPACK_IMPORTED_MODULE_8__/* .skillsCommand */ .a)();
|
|
43085
43083
|
return;
|
|
43086
43084
|
case "config":
|
|
43087
43085
|
setCurrentMenu("config");
|
|
@@ -43108,11 +43106,11 @@ function Menu() {
|
|
|
43108
43106
|
setIsProcessing(true);
|
|
43109
43107
|
setProcessStep("Pulling prebuilt Docker image...");
|
|
43110
43108
|
try {
|
|
43111
|
-
await (0,
|
|
43109
|
+
await (0,execa__WEBPACK_IMPORTED_MODULE_9__/* .execa */ .Ho)("docker", ["pull", _config_js__WEBPACK_IMPORTED_MODULE_5__/* .DOCKER_CONFIG */ .e6.prebuiltImage], {
|
|
43112
43110
|
stdio: "inherit",
|
|
43113
43111
|
});
|
|
43114
43112
|
// Tag the pulled image with local name for compatibility
|
|
43115
|
-
await (0,
|
|
43113
|
+
await (0,execa__WEBPACK_IMPORTED_MODULE_9__/* .execa */ .Ho)("docker", ["tag", _config_js__WEBPACK_IMPORTED_MODULE_5__/* .DOCKER_CONFIG */ .e6.prebuiltImage, _config_js__WEBPACK_IMPORTED_MODULE_5__/* .DOCKER_CONFIG */ .e6.imageName], {
|
|
43116
43114
|
stdio: "inherit",
|
|
43117
43115
|
});
|
|
43118
43116
|
setIsProcessing(false);
|
|
@@ -43128,8 +43126,8 @@ function Menu() {
|
|
|
43128
43126
|
setIsProcessing(true);
|
|
43129
43127
|
setProcessStep("Installing Nix locally...");
|
|
43130
43128
|
try {
|
|
43131
|
-
await (0,
|
|
43132
|
-
await (0,
|
|
43129
|
+
await (0,_nix_js__WEBPACK_IMPORTED_MODULE_7__/* .installNix */ .Fh)();
|
|
43130
|
+
await (0,_nix_js__WEBPACK_IMPORTED_MODULE_7__/* .copyNixFiles */ .Qi)();
|
|
43133
43131
|
setIsProcessing(false);
|
|
43134
43132
|
setProcessComplete(true);
|
|
43135
43133
|
setProcessStep("");
|
|
@@ -43147,7 +43145,7 @@ function Menu() {
|
|
|
43147
43145
|
if (!node_fs__WEBPACK_IMPORTED_MODULE_0___default().existsSync(dockerfilePath)) {
|
|
43148
43146
|
throw new Error(`Dockerfile not found at: ${dockerfilePath}`);
|
|
43149
43147
|
}
|
|
43150
|
-
await (0,
|
|
43148
|
+
await (0,execa__WEBPACK_IMPORTED_MODULE_9__/* .execa */ .Ho)("docker", ["build", "-f", dockerfilePath, "-t", _config_js__WEBPACK_IMPORTED_MODULE_5__/* .DOCKER_CONFIG */ .e6.imageName, rootDir], {
|
|
43151
43149
|
stdio: "inherit",
|
|
43152
43150
|
});
|
|
43153
43151
|
setIsProcessing(false);
|
|
@@ -43233,7 +43231,7 @@ async function dockerCommand(options) {
|
|
|
43233
43231
|
(0,ink__WEBPACK_IMPORTED_MODULE_3__/* .render */ .XX)(react__WEBPACK_IMPORTED_MODULE_4___default().createElement(Menu, null));
|
|
43234
43232
|
}
|
|
43235
43233
|
async function runShellDirect() {
|
|
43236
|
-
await
|
|
43234
|
+
await launchShell();
|
|
43237
43235
|
}
|
|
43238
43236
|
async function pullDocker() {
|
|
43239
43237
|
console.log("📦 Pulling prebuilt Docker image...");
|
|
@@ -43242,12 +43240,12 @@ async function pullDocker() {
|
|
|
43242
43240
|
console.log(`Source: ${_config_js__WEBPACK_IMPORTED_MODULE_5__/* .DOCKER_CONFIG */ .e6.prebuiltImage}`);
|
|
43243
43241
|
console.log(`Target: ${_config_js__WEBPACK_IMPORTED_MODULE_5__/* .DOCKER_CONFIG */ .e6.imageName}`);
|
|
43244
43242
|
console.log();
|
|
43245
|
-
await (0,
|
|
43243
|
+
await (0,execa__WEBPACK_IMPORTED_MODULE_9__/* .execa */ .Ho)("docker", ["pull", _config_js__WEBPACK_IMPORTED_MODULE_5__/* .DOCKER_CONFIG */ .e6.prebuiltImage], {
|
|
43246
43244
|
stdio: "inherit",
|
|
43247
43245
|
});
|
|
43248
43246
|
console.log();
|
|
43249
43247
|
console.log("🏷️ Tagging image for local use...");
|
|
43250
|
-
await (0,
|
|
43248
|
+
await (0,execa__WEBPACK_IMPORTED_MODULE_9__/* .execa */ .Ho)("docker", ["tag", _config_js__WEBPACK_IMPORTED_MODULE_5__/* .DOCKER_CONFIG */ .e6.prebuiltImage, _config_js__WEBPACK_IMPORTED_MODULE_5__/* .DOCKER_CONFIG */ .e6.imageName], {
|
|
43251
43249
|
stdio: "inherit",
|
|
43252
43250
|
});
|
|
43253
43251
|
console.log();
|
|
@@ -43275,7 +43273,7 @@ async function buildDocker() {
|
|
|
43275
43273
|
console.log(`Root: ${rootDir}`);
|
|
43276
43274
|
console.log(`Dockerfile: ${dockerfilePath}`);
|
|
43277
43275
|
console.log();
|
|
43278
|
-
await (0,
|
|
43276
|
+
await (0,execa__WEBPACK_IMPORTED_MODULE_9__/* .execa */ .Ho)("docker", ["build", "-f", dockerfilePath, "-t", _config_js__WEBPACK_IMPORTED_MODULE_5__/* .DOCKER_CONFIG */ .e6.imageName, rootDir], {
|
|
43279
43277
|
stdio: "inherit",
|
|
43280
43278
|
});
|
|
43281
43279
|
console.log();
|
|
@@ -43292,31 +43290,6 @@ async function buildDocker() {
|
|
|
43292
43290
|
process.exit(1);
|
|
43293
43291
|
}
|
|
43294
43292
|
}
|
|
43295
|
-
async function runShell() {
|
|
43296
|
-
const skillsDir = (0,_utils_skills_js__WEBPACK_IMPORTED_MODULE_7__/* .getSkillsDir */ .YJ)();
|
|
43297
|
-
console.log("🚀 Starting interactive shell...");
|
|
43298
|
-
console.log(`Mounting workspace to ${_config_js__WEBPACK_IMPORTED_MODULE_5__/* .DOCKER_CONFIG */ .e6.workspaceMount}`);
|
|
43299
|
-
console.log(`Mounting skills from ${skillsDir} to ${_config_js__WEBPACK_IMPORTED_MODULE_5__/* .DOCKER_CONFIG */ .e6.skillsMount}`);
|
|
43300
|
-
console.log('Press Ctrl+D or type "exit" to leave');
|
|
43301
|
-
console.log();
|
|
43302
|
-
// Try to get GitHub token from gh CLI if not in env
|
|
43303
|
-
let githubToken = process.env.GITHUB_TOKEN || "";
|
|
43304
|
-
if (!githubToken) {
|
|
43305
|
-
try {
|
|
43306
|
-
const { stdout } = await (0,execa__WEBPACK_IMPORTED_MODULE_10__/* .execa */ .Ho)("gh", ["auth", "token"]);
|
|
43307
|
-
githubToken = stdout.trim();
|
|
43308
|
-
}
|
|
43309
|
-
catch {
|
|
43310
|
-
// Ignore if gh CLI not available or not authenticated
|
|
43311
|
-
}
|
|
43312
|
-
}
|
|
43313
|
-
const claudeOauthToken = process.env.CLAUDE_CODE_OAUTH_TOKEN || "";
|
|
43314
|
-
const dockerArgs = (0,_utils_dockerArgs_js__WEBPACK_IMPORTED_MODULE_6__/* .buildDockerShellCommand */ .ac)(githubToken, claudeOauthToken);
|
|
43315
|
-
await (0,execa__WEBPACK_IMPORTED_MODULE_10__/* .execa */ .Ho)("docker", dockerArgs, {
|
|
43316
|
-
stdio: "inherit",
|
|
43317
|
-
reject: false,
|
|
43318
|
-
});
|
|
43319
|
-
}
|
|
43320
43293
|
|
|
43321
43294
|
__webpack_async_result__();
|
|
43322
43295
|
} catch(e) { __webpack_async_result__(e); } });
|
|
@@ -43810,17 +43783,15 @@ __nccwpck_require__.a(module, async (__webpack_handle_async_dependencies__, __we
|
|
|
43810
43783
|
/* harmony export */ t: () => (/* binding */ renderTerminalUI)
|
|
43811
43784
|
/* harmony export */ });
|
|
43812
43785
|
/* unused harmony export TerminalUI */
|
|
43813
|
-
/* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(6181);
|
|
43814
43786
|
/* harmony import */ var ink__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(3816);
|
|
43815
43787
|
/* harmony import */ var ink_text_input__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(9046);
|
|
43816
43788
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(2864);
|
|
43817
43789
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__nccwpck_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
|
|
43818
43790
|
/* harmony import */ var _commands_skills_js__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(9805);
|
|
43819
43791
|
/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(6878);
|
|
43820
|
-
/* harmony import */ var
|
|
43821
|
-
/* harmony import */ var _utils_githubToken_js__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(1460);
|
|
43792
|
+
/* harmony import */ var _utils_launcher_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(5800);
|
|
43822
43793
|
/* harmony import */ var _utils_messageUtils_js__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(5534);
|
|
43823
|
-
/* harmony import */ var
|
|
43794
|
+
/* harmony import */ var _utils_slashCommands_js__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(9987);
|
|
43824
43795
|
/* harmony import */ var _ConfigModal_js__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(3636);
|
|
43825
43796
|
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([ink__WEBPACK_IMPORTED_MODULE_0__, ink_text_input__WEBPACK_IMPORTED_MODULE_1__, _commands_skills_js__WEBPACK_IMPORTED_MODULE_3__, _ConfigModal_js__WEBPACK_IMPORTED_MODULE_6__]);
|
|
43826
43797
|
([ink__WEBPACK_IMPORTED_MODULE_0__, ink_text_input__WEBPACK_IMPORTED_MODULE_1__, _commands_skills_js__WEBPACK_IMPORTED_MODULE_3__, _ConfigModal_js__WEBPACK_IMPORTED_MODULE_6__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
|
|
@@ -43833,8 +43804,6 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([ink_
|
|
|
43833
43804
|
|
|
43834
43805
|
|
|
43835
43806
|
|
|
43836
|
-
|
|
43837
|
-
|
|
43838
43807
|
const TOOLS = [
|
|
43839
43808
|
{
|
|
43840
43809
|
value: "opencode",
|
|
@@ -43912,62 +43881,15 @@ function TerminalUI() {
|
|
|
43912
43881
|
}, []);
|
|
43913
43882
|
const handleDockerShell = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(async () => {
|
|
43914
43883
|
exit();
|
|
43915
|
-
|
|
43916
|
-
console.log(`Mounting current directory to ${_config_js__WEBPACK_IMPORTED_MODULE_4__/* .DOCKER_CONFIG */ .e6.workspaceMount}`);
|
|
43917
|
-
console.log('Press Ctrl+D or type "exit" to leave');
|
|
43918
|
-
console.log();
|
|
43919
|
-
const githubToken = await (0,_utils_githubToken_js__WEBPACK_IMPORTED_MODULE_8__/* .getGitHubToken */ .l)();
|
|
43920
|
-
const claudeOauthToken = process.env.CLAUDE_CODE_OAUTH_TOKEN || "";
|
|
43921
|
-
const dockerArgs = (0,_utils_dockerArgs_js__WEBPACK_IMPORTED_MODULE_5__/* .buildDockerShellCommand */ .ac)(githubToken, claudeOauthToken);
|
|
43922
|
-
await (0,execa__WEBPACK_IMPORTED_MODULE_9__/* .execa */ .Ho)("docker", dockerArgs, { stdio: "inherit", reject: false });
|
|
43923
|
-
console.log();
|
|
43924
|
-
console.log("✅ Exited shell");
|
|
43884
|
+
await (0,_utils_launcher_js__WEBPACK_IMPORTED_MODULE_5__/* .launchShell */ .k1)();
|
|
43925
43885
|
}, [exit]);
|
|
43926
43886
|
const handleOpenCode = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(async (prompt) => {
|
|
43927
43887
|
exit();
|
|
43928
|
-
|
|
43929
|
-
console.log(`Mounting current directory to ${_config_js__WEBPACK_IMPORTED_MODULE_4__/* .DOCKER_CONFIG */ .e6.workspaceMount}`);
|
|
43930
|
-
if (prompt) {
|
|
43931
|
-
console.log(`Prompt: ${prompt}`);
|
|
43932
|
-
}
|
|
43933
|
-
console.log();
|
|
43934
|
-
const githubToken = await (0,_utils_githubToken_js__WEBPACK_IMPORTED_MODULE_8__/* .getGitHubToken */ .l)();
|
|
43935
|
-
const claudeOauthToken = process.env.CLAUDE_CODE_OAUTH_TOKEN || "";
|
|
43936
|
-
const dockerArgs = (0,_utils_dockerArgs_js__WEBPACK_IMPORTED_MODULE_5__/* .buildDockerOpencodeCommand */ .Xs)(githubToken, prompt, claudeOauthToken);
|
|
43937
|
-
try {
|
|
43938
|
-
await (0,execa__WEBPACK_IMPORTED_MODULE_9__/* .execa */ .Ho)("docker", dockerArgs, { stdio: "inherit" });
|
|
43939
|
-
console.log();
|
|
43940
|
-
console.log("✅ Exited OpenCode");
|
|
43941
|
-
}
|
|
43942
|
-
catch (error) {
|
|
43943
|
-
const errorMessage = error instanceof Error ? error.message : "Failed to start OpenCode";
|
|
43944
|
-
console.error(`❌ ${errorMessage}`);
|
|
43945
|
-
process.exit(1);
|
|
43946
|
-
}
|
|
43888
|
+
await (0,_utils_launcher_js__WEBPACK_IMPORTED_MODULE_5__/* .launchOpencode */ .Tg)(prompt);
|
|
43947
43889
|
}, [exit]);
|
|
43948
43890
|
const handleClaudeCode = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(async (prompt) => {
|
|
43949
43891
|
exit();
|
|
43950
|
-
|
|
43951
|
-
console.log(`Mounting current directory to ${_config_js__WEBPACK_IMPORTED_MODULE_4__/* .DOCKER_CONFIG */ .e6.workspaceMount}`);
|
|
43952
|
-
if (prompt) {
|
|
43953
|
-
console.log(`Prompt: ${prompt}`);
|
|
43954
|
-
}
|
|
43955
|
-
console.log();
|
|
43956
|
-
const githubToken = await (0,_utils_githubToken_js__WEBPACK_IMPORTED_MODULE_8__/* .getGitHubToken */ .l)();
|
|
43957
|
-
const claudeOauthToken = process.env.CLAUDE_CODE_OAUTH_TOKEN || "";
|
|
43958
|
-
const dockerArgs = (0,_utils_dockerArgs_js__WEBPACK_IMPORTED_MODULE_5__/* .buildDockerClaudeCodeCommand */ .fn)(githubToken, prompt, claudeOauthToken);
|
|
43959
|
-
try {
|
|
43960
|
-
await (0,execa__WEBPACK_IMPORTED_MODULE_9__/* .execa */ .Ho)("docker", dockerArgs, { stdio: "inherit" });
|
|
43961
|
-
console.log();
|
|
43962
|
-
console.log("✅ Exited Claude Code");
|
|
43963
|
-
}
|
|
43964
|
-
catch (error) {
|
|
43965
|
-
const errorMessage = error instanceof Error
|
|
43966
|
-
? error.message
|
|
43967
|
-
: "Failed to start Claude Code";
|
|
43968
|
-
console.error(`❌ ${errorMessage}`);
|
|
43969
|
-
process.exit(1);
|
|
43970
|
-
}
|
|
43892
|
+
await (0,_utils_launcher_js__WEBPACK_IMPORTED_MODULE_5__/* .launchClaude */ .Q7)(prompt);
|
|
43971
43893
|
}, [exit]);
|
|
43972
43894
|
const handleSlashCommand = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(async (command, userInput) => {
|
|
43973
43895
|
if (!command) {
|
|
@@ -43986,7 +43908,7 @@ function TerminalUI() {
|
|
|
43986
43908
|
break;
|
|
43987
43909
|
case "help": {
|
|
43988
43910
|
addMessage("Available commands:", "info");
|
|
43989
|
-
const availableCommands = (0,
|
|
43911
|
+
const availableCommands = (0,_utils_slashCommands_js__WEBPACK_IMPORTED_MODULE_8__/* .getAvailableCommands */ .K)();
|
|
43990
43912
|
for (const cmd of availableCommands) {
|
|
43991
43913
|
addMessage(` ${cmd.command} - ${cmd.description}`, "info");
|
|
43992
43914
|
}
|
|
@@ -44001,14 +43923,14 @@ function TerminalUI() {
|
|
|
44001
43923
|
addMessage("Switched to Claude Code", "success");
|
|
44002
43924
|
break;
|
|
44003
43925
|
}
|
|
44004
|
-
}, [addMessage, handleDockerShell
|
|
43926
|
+
}, [addMessage, handleDockerShell]);
|
|
44005
43927
|
const handleSubmit = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(async (value) => {
|
|
44006
43928
|
const trimmedValue = value.trim();
|
|
44007
43929
|
if (!trimmedValue) {
|
|
44008
43930
|
return;
|
|
44009
43931
|
}
|
|
44010
43932
|
setInput("");
|
|
44011
|
-
const command = (0,
|
|
43933
|
+
const command = (0,_utils_slashCommands_js__WEBPACK_IMPORTED_MODULE_8__/* .parseSlashCommand */ .M)(trimmedValue);
|
|
44012
43934
|
if (command) {
|
|
44013
43935
|
await handleSlashCommand(command, trimmedValue);
|
|
44014
43936
|
}
|
|
@@ -44191,27 +44113,22 @@ const ASCII_LOGO = [
|
|
|
44191
44113
|
/***/ ((module, __unused_webpack___webpack_exports__, __nccwpck_require__) => {
|
|
44192
44114
|
|
|
44193
44115
|
__nccwpck_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {
|
|
44194
|
-
/* harmony import */ var
|
|
44195
|
-
/* harmony import */ var
|
|
44196
|
-
/* harmony import */ var
|
|
44197
|
-
/* harmony import */ var
|
|
44198
|
-
/* harmony import */ var
|
|
44199
|
-
/* harmony import */ var
|
|
44200
|
-
/* harmony import */ var
|
|
44201
|
-
/* harmony import */ var
|
|
44202
|
-
/* harmony import */ var
|
|
44203
|
-
/* harmony import */ var
|
|
44204
|
-
/* harmony import */ var
|
|
44205
|
-
/* harmony import */ var
|
|
44206
|
-
/* harmony import */ var
|
|
44207
|
-
/* harmony import */ var
|
|
44208
|
-
|
|
44209
|
-
|
|
44210
|
-
/* harmony import */ var _utils_githubToken_js__WEBPACK_IMPORTED_MODULE_12__ = __nccwpck_require__(1460);
|
|
44211
|
-
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_commands_docker_js__WEBPACK_IMPORTED_MODULE_5__, _commands_skills_js__WEBPACK_IMPORTED_MODULE_7__, _components_TerminalUI_js__WEBPACK_IMPORTED_MODULE_8__]);
|
|
44212
|
-
([_commands_docker_js__WEBPACK_IMPORTED_MODULE_5__, _commands_skills_js__WEBPACK_IMPORTED_MODULE_7__, _components_TerminalUI_js__WEBPACK_IMPORTED_MODULE_8__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
|
|
44213
|
-
|
|
44214
|
-
|
|
44116
|
+
/* harmony import */ var node_fs__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(3024);
|
|
44117
|
+
/* harmony import */ var node_fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__nccwpck_require__.n(node_fs__WEBPACK_IMPORTED_MODULE_0__);
|
|
44118
|
+
/* harmony import */ var node_path__WEBPACK_IMPORTED_MODULE_1__ = __nccwpck_require__(6760);
|
|
44119
|
+
/* harmony import */ var node_path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__nccwpck_require__.n(node_path__WEBPACK_IMPORTED_MODULE_1__);
|
|
44120
|
+
/* harmony import */ var node_url__WEBPACK_IMPORTED_MODULE_2__ = __nccwpck_require__(3136);
|
|
44121
|
+
/* harmony import */ var node_url__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__nccwpck_require__.n(node_url__WEBPACK_IMPORTED_MODULE_2__);
|
|
44122
|
+
/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_10__ = __nccwpck_require__(9611);
|
|
44123
|
+
/* harmony import */ var commander__WEBPACK_IMPORTED_MODULE_3__ = __nccwpck_require__(2202);
|
|
44124
|
+
/* harmony import */ var update_notifier__WEBPACK_IMPORTED_MODULE_9__ = __nccwpck_require__(6213);
|
|
44125
|
+
/* harmony import */ var _commands_docker_js__WEBPACK_IMPORTED_MODULE_4__ = __nccwpck_require__(5515);
|
|
44126
|
+
/* harmony import */ var _commands_nix_js__WEBPACK_IMPORTED_MODULE_5__ = __nccwpck_require__(9922);
|
|
44127
|
+
/* harmony import */ var _commands_skills_js__WEBPACK_IMPORTED_MODULE_6__ = __nccwpck_require__(9805);
|
|
44128
|
+
/* harmony import */ var _components_TerminalUI_js__WEBPACK_IMPORTED_MODULE_7__ = __nccwpck_require__(3535);
|
|
44129
|
+
/* harmony import */ var _utils_launcher_js__WEBPACK_IMPORTED_MODULE_8__ = __nccwpck_require__(5800);
|
|
44130
|
+
var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_commands_docker_js__WEBPACK_IMPORTED_MODULE_4__, _commands_skills_js__WEBPACK_IMPORTED_MODULE_6__, _components_TerminalUI_js__WEBPACK_IMPORTED_MODULE_7__]);
|
|
44131
|
+
([_commands_docker_js__WEBPACK_IMPORTED_MODULE_4__, _commands_skills_js__WEBPACK_IMPORTED_MODULE_6__, _components_TerminalUI_js__WEBPACK_IMPORTED_MODULE_7__] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);
|
|
44215
44132
|
|
|
44216
44133
|
|
|
44217
44134
|
|
|
@@ -44224,19 +44141,19 @@ var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_com
|
|
|
44224
44141
|
|
|
44225
44142
|
|
|
44226
44143
|
// Import package.json for version and update checks
|
|
44227
|
-
const __filename = (0,
|
|
44228
|
-
const __dirname = (0,
|
|
44229
|
-
const pkg = JSON.parse((0,
|
|
44144
|
+
const __filename = (0,node_url__WEBPACK_IMPORTED_MODULE_2__.fileURLToPath)(import.meta.url);
|
|
44145
|
+
const __dirname = (0,node_path__WEBPACK_IMPORTED_MODULE_1__.dirname)(__filename);
|
|
44146
|
+
const pkg = JSON.parse((0,node_fs__WEBPACK_IMPORTED_MODULE_0__.readFileSync)((0,node_path__WEBPACK_IMPORTED_MODULE_1__.join)(__dirname, "../package.json"), "utf-8"));
|
|
44230
44147
|
const PROGRAM_NAME = "sith";
|
|
44231
44148
|
const PROGRAM_VERSION = pkg.version;
|
|
44232
44149
|
const PROGRAM_DESCRIPTION = "Turn your context to the dark side. Standardize and share your OpenCode setup with a fully dockerized environment, designed for seamless collaboration and CI integration.";
|
|
44233
44150
|
// Check for updates (automatic background check)
|
|
44234
|
-
const notifier = (0,
|
|
44151
|
+
const notifier = (0,update_notifier__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)({ pkg });
|
|
44235
44152
|
notifier.notify();
|
|
44236
44153
|
async function checkForUpdates() {
|
|
44237
|
-
console.log(
|
|
44154
|
+
console.log(chalk__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Ay.cyan("Checking for updates..."));
|
|
44238
44155
|
// Force update check by setting updateCheckInterval to 0
|
|
44239
|
-
const notifier = (0,
|
|
44156
|
+
const notifier = (0,update_notifier__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)({
|
|
44240
44157
|
pkg,
|
|
44241
44158
|
updateCheckInterval: 0,
|
|
44242
44159
|
});
|
|
@@ -44245,16 +44162,16 @@ async function checkForUpdates() {
|
|
|
44245
44162
|
const update = notifier.update;
|
|
44246
44163
|
if (update && update.latest !== pkg.version) {
|
|
44247
44164
|
console.log();
|
|
44248
|
-
console.log(
|
|
44249
|
-
console.log(
|
|
44165
|
+
console.log(chalk__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Ay.green(`Update available: ${chalk__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Ay.dim(pkg.version)} → ${chalk__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Ay.bold(update.latest)}`));
|
|
44166
|
+
console.log(chalk__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Ay.cyan(`Run ${chalk__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Ay.bold(`npm install -g ${pkg.name}`)} to update`));
|
|
44250
44167
|
console.log();
|
|
44251
44168
|
}
|
|
44252
44169
|
else {
|
|
44253
|
-
console.log(
|
|
44170
|
+
console.log(chalk__WEBPACK_IMPORTED_MODULE_10__/* ["default"] */ .Ay.green(`✓ You're on the latest version (${pkg.version})`));
|
|
44254
44171
|
}
|
|
44255
44172
|
}
|
|
44256
44173
|
function createProgram() {
|
|
44257
|
-
const program = new
|
|
44174
|
+
const program = new commander__WEBPACK_IMPORTED_MODULE_3__/* .Command */ .uB();
|
|
44258
44175
|
program
|
|
44259
44176
|
.name(PROGRAM_NAME)
|
|
44260
44177
|
.description(PROGRAM_DESCRIPTION)
|
|
@@ -44272,21 +44189,21 @@ function createProgram() {
|
|
|
44272
44189
|
await checkForUpdates();
|
|
44273
44190
|
}
|
|
44274
44191
|
else if (options.nix) {
|
|
44275
|
-
await (0,
|
|
44192
|
+
await (0,_commands_nix_js__WEBPACK_IMPORTED_MODULE_5__/* .runNixShell */ .nb)();
|
|
44276
44193
|
}
|
|
44277
44194
|
else if (options.nixInstall) {
|
|
44278
|
-
await (0,
|
|
44195
|
+
await (0,_commands_nix_js__WEBPACK_IMPORTED_MODULE_5__/* .nixCommand */ .Dv)({ install: true });
|
|
44279
44196
|
}
|
|
44280
44197
|
else if (options.it) {
|
|
44281
|
-
await (0,
|
|
44198
|
+
await (0,_utils_launcher_js__WEBPACK_IMPORTED_MODULE_8__/* .launchShell */ .k1)();
|
|
44282
44199
|
}
|
|
44283
44200
|
else if (options.legacy || options.pull || options.build) {
|
|
44284
44201
|
// Use legacy menu for explicit pull/build or --legacy flag
|
|
44285
|
-
await (0,
|
|
44202
|
+
await (0,_commands_docker_js__WEBPACK_IMPORTED_MODULE_4__/* .dockerCommand */ .Q)(options);
|
|
44286
44203
|
}
|
|
44287
44204
|
else {
|
|
44288
44205
|
// Default: show new terminal UI
|
|
44289
|
-
(0,
|
|
44206
|
+
(0,_components_TerminalUI_js__WEBPACK_IMPORTED_MODULE_7__/* .renderTerminalUI */ .t)();
|
|
44290
44207
|
}
|
|
44291
44208
|
});
|
|
44292
44209
|
// Docker command - explicit Docker management
|
|
@@ -44296,21 +44213,21 @@ function createProgram() {
|
|
|
44296
44213
|
.option("--pull", "Pull prebuilt Docker image (recommended)")
|
|
44297
44214
|
.option("--build", "Build the Docker image from scratch")
|
|
44298
44215
|
.action(async (options) => {
|
|
44299
|
-
await (0,
|
|
44216
|
+
await (0,_commands_docker_js__WEBPACK_IMPORTED_MODULE_4__/* .dockerCommand */ .Q)(options);
|
|
44300
44217
|
});
|
|
44301
44218
|
// Shell command - direct interactive shell (bypasses menu)
|
|
44302
44219
|
program
|
|
44303
44220
|
.command("shell")
|
|
44304
44221
|
.description("Run interactive shell in Docker container")
|
|
44305
44222
|
.action(async () => {
|
|
44306
|
-
await (0,
|
|
44223
|
+
await (0,_utils_launcher_js__WEBPACK_IMPORTED_MODULE_8__/* .launchShell */ .k1)();
|
|
44307
44224
|
});
|
|
44308
44225
|
// Skills command - install/uninstall skills from catalog
|
|
44309
44226
|
program
|
|
44310
44227
|
.command("skills")
|
|
44311
44228
|
.description("Manage skills (~/.sith/skills/)")
|
|
44312
44229
|
.action(() => {
|
|
44313
|
-
(0,
|
|
44230
|
+
(0,_commands_skills_js__WEBPACK_IMPORTED_MODULE_6__/* .skillsCommand */ .a)();
|
|
44314
44231
|
});
|
|
44315
44232
|
// Nix command - native Nix environment
|
|
44316
44233
|
program
|
|
@@ -44319,7 +44236,7 @@ function createProgram() {
|
|
|
44319
44236
|
.option("--install", "Install Nix package manager")
|
|
44320
44237
|
.option("--shell", "Run Nix shell")
|
|
44321
44238
|
.action(async (options) => {
|
|
44322
|
-
await (0,
|
|
44239
|
+
await (0,_commands_nix_js__WEBPACK_IMPORTED_MODULE_5__/* .nixCommand */ .Dv)(options);
|
|
44323
44240
|
});
|
|
44324
44241
|
// OpenCode command - launch OpenCode in Docker
|
|
44325
44242
|
program
|
|
@@ -44327,10 +44244,7 @@ function createProgram() {
|
|
|
44327
44244
|
.description("Launch OpenCode in Docker")
|
|
44328
44245
|
.option("-p, --prompt <prompt>", "Prompt to pass to OpenCode")
|
|
44329
44246
|
.action(async (options) => {
|
|
44330
|
-
|
|
44331
|
-
const claudeOauthToken = process.env.CLAUDE_CODE_OAUTH_TOKEN || "";
|
|
44332
|
-
const args = (0,_utils_dockerArgs_js__WEBPACK_IMPORTED_MODULE_9__/* .buildDockerOpencodeCommand */ .Xs)(token, options.prompt, claudeOauthToken);
|
|
44333
|
-
(0,node_child_process__WEBPACK_IMPORTED_MODULE_0__.spawnSync)("docker", args, { stdio: "inherit" });
|
|
44247
|
+
await (0,_utils_launcher_js__WEBPACK_IMPORTED_MODULE_8__/* .launchOpencode */ .Tg)(options.prompt);
|
|
44334
44248
|
});
|
|
44335
44249
|
// Claude command - launch Claude Code in Docker
|
|
44336
44250
|
program
|
|
@@ -44338,10 +44252,7 @@ function createProgram() {
|
|
|
44338
44252
|
.description("Launch Claude Code in Docker")
|
|
44339
44253
|
.option("-p, --prompt <prompt>", "Prompt to pass to Claude Code")
|
|
44340
44254
|
.action(async (options) => {
|
|
44341
|
-
|
|
44342
|
-
const claudeOauthToken = process.env.CLAUDE_CODE_OAUTH_TOKEN || "";
|
|
44343
|
-
const args = (0,_utils_dockerArgs_js__WEBPACK_IMPORTED_MODULE_9__/* .buildDockerClaudeCodeCommand */ .fn)(token, options.prompt, claudeOauthToken);
|
|
44344
|
-
(0,node_child_process__WEBPACK_IMPORTED_MODULE_0__.spawnSync)("docker", args, { stdio: "inherit" });
|
|
44255
|
+
await (0,_utils_launcher_js__WEBPACK_IMPORTED_MODULE_8__/* .launchClaude */ .Q7)(options.prompt);
|
|
44345
44256
|
});
|
|
44346
44257
|
return program;
|
|
44347
44258
|
}
|
|
@@ -44354,41 +44265,49 @@ __webpack_async_result__();
|
|
|
44354
44265
|
|
|
44355
44266
|
/***/ }),
|
|
44356
44267
|
|
|
44357
|
-
/***/
|
|
44268
|
+
/***/ 5800:
|
|
44358
44269
|
/***/ ((__unused_webpack_module, __webpack_exports__, __nccwpck_require__) => {
|
|
44359
44270
|
|
|
44360
|
-
|
|
44361
|
-
|
|
44362
|
-
|
|
44363
|
-
|
|
44364
|
-
/*
|
|
44365
|
-
|
|
44366
|
-
|
|
44271
|
+
|
|
44272
|
+
// EXPORTS
|
|
44273
|
+
__nccwpck_require__.d(__webpack_exports__, {
|
|
44274
|
+
Q7: () => (/* binding */ launchClaude),
|
|
44275
|
+
Tg: () => (/* binding */ launchOpencode),
|
|
44276
|
+
k1: () => (/* binding */ launchShell)
|
|
44277
|
+
});
|
|
44278
|
+
|
|
44279
|
+
// EXTERNAL MODULE: ./node_modules/.pnpm/execa@9.6.1/node_modules/execa/index.js + 136 modules
|
|
44280
|
+
var execa = __nccwpck_require__(6181);
|
|
44281
|
+
// EXTERNAL MODULE: ./src/config.ts
|
|
44282
|
+
var config = __nccwpck_require__(6878);
|
|
44283
|
+
// EXTERNAL MODULE: ./src/utils/skills.ts
|
|
44284
|
+
var skills = __nccwpck_require__(6400);
|
|
44285
|
+
;// CONCATENATED MODULE: ./src/utils/dockerArgs.ts
|
|
44367
44286
|
|
|
44368
44287
|
|
|
44369
44288
|
function buildDockerShellCommand(githubToken, claudeOauthToken) {
|
|
44370
|
-
(0,
|
|
44289
|
+
(0,skills/* syncClaudeMd */.RK)();
|
|
44371
44290
|
const args = [
|
|
44372
44291
|
"run",
|
|
44373
44292
|
"--rm",
|
|
44374
44293
|
"-it",
|
|
44375
44294
|
"-v",
|
|
44376
|
-
`${process.cwd()}:${
|
|
44295
|
+
`${process.cwd()}:${config/* DOCKER_CONFIG */.e6.workspaceMount}`,
|
|
44377
44296
|
"-v",
|
|
44378
|
-
`${(0,
|
|
44297
|
+
`${(0,skills/* getSkillsDir */.YJ)()}:${config/* DOCKER_CONFIG */.e6.skillsMount}`,
|
|
44379
44298
|
"-v",
|
|
44380
|
-
`${(0,
|
|
44299
|
+
`${(0,skills/* getSkillsDir */.YJ)()}:${config/* DOCKER_CONFIG */.e6.claudeSkillsMount}`,
|
|
44381
44300
|
"-v",
|
|
44382
|
-
`${(0,
|
|
44301
|
+
`${(0,skills/* getClaudeMdPath */.pF)()}:${config/* DOCKER_CONFIG */.e6.claudeConfigMount}/CLAUDE.md`,
|
|
44383
44302
|
"-v",
|
|
44384
|
-
`${(0,
|
|
44303
|
+
`${(0,skills/* getOpenCodeConfigPath */.Jn)()}:${config/* DOCKER_CONFIG */.e6.opencodeConfigMount}`,
|
|
44385
44304
|
"-e",
|
|
44386
44305
|
`GITHUB_TOKEN=${githubToken}`,
|
|
44387
44306
|
];
|
|
44388
44307
|
if (claudeOauthToken) {
|
|
44389
44308
|
args.push("-e", `CLAUDE_CODE_OAUTH_TOKEN=${claudeOauthToken}`);
|
|
44390
44309
|
}
|
|
44391
|
-
args.push("--entrypoint", "nix-shell",
|
|
44310
|
+
args.push("--entrypoint", "nix-shell", config/* DOCKER_CONFIG */.e6.imageName, config/* DOCKER_CONFIG */.e6.shellEntrypoint);
|
|
44392
44311
|
return args;
|
|
44393
44312
|
}
|
|
44394
44313
|
function buildDockerOpencodeCommand(githubToken, prompt, claudeOauthToken) {
|
|
@@ -44397,18 +44316,18 @@ function buildDockerOpencodeCommand(githubToken, prompt, claudeOauthToken) {
|
|
|
44397
44316
|
"--rm",
|
|
44398
44317
|
"-it",
|
|
44399
44318
|
"-v",
|
|
44400
|
-
`${process.cwd()}:${
|
|
44319
|
+
`${process.cwd()}:${config/* DOCKER_CONFIG */.e6.workspaceMount}`,
|
|
44401
44320
|
"-v",
|
|
44402
|
-
`${(0,
|
|
44321
|
+
`${(0,skills/* getSkillsDir */.YJ)()}:${config/* DOCKER_CONFIG */.e6.skillsMount}`,
|
|
44403
44322
|
"-v",
|
|
44404
|
-
`${(0,
|
|
44323
|
+
`${(0,skills/* getOpenCodeConfigPath */.Jn)()}:${config/* DOCKER_CONFIG */.e6.opencodeConfigMount}`,
|
|
44405
44324
|
"-e",
|
|
44406
44325
|
`GITHUB_TOKEN=${githubToken}`,
|
|
44407
44326
|
];
|
|
44408
44327
|
if (claudeOauthToken) {
|
|
44409
44328
|
args.push("-e", `CLAUDE_CODE_OAUTH_TOKEN=${claudeOauthToken}`);
|
|
44410
44329
|
}
|
|
44411
|
-
args.push("--entrypoint", "bash",
|
|
44330
|
+
args.push("--entrypoint", "bash", config/* DOCKER_CONFIG */.e6.imageName, "-c");
|
|
44412
44331
|
let opencodeCommand = "source /opt/sith/nix/nix-scripts/setup.sh && cd /workspace && opencode -m github-copilot/claude-sonnet-4.6";
|
|
44413
44332
|
if (prompt) {
|
|
44414
44333
|
const escapedPrompt = prompt.replace(/'/g, "'\\''");
|
|
@@ -44418,14 +44337,14 @@ function buildDockerOpencodeCommand(githubToken, prompt, claudeOauthToken) {
|
|
|
44418
44337
|
return args;
|
|
44419
44338
|
}
|
|
44420
44339
|
function buildDockerClaudeCodeCommand(githubToken, prompt, claudeOauthToken) {
|
|
44421
|
-
(0,
|
|
44422
|
-
const claudeMdPath = (0,
|
|
44340
|
+
(0,skills/* syncClaudeMd */.RK)();
|
|
44341
|
+
const claudeMdPath = (0,skills/* getClaudeMdPath */.pF)();
|
|
44423
44342
|
const args = [
|
|
44424
44343
|
"run",
|
|
44425
44344
|
"--rm",
|
|
44426
44345
|
"-it",
|
|
44427
44346
|
"-v",
|
|
44428
|
-
`${process.cwd()}:${
|
|
44347
|
+
`${process.cwd()}:${config/* DOCKER_CONFIG */.e6.workspaceMount}`,
|
|
44429
44348
|
"-e",
|
|
44430
44349
|
`GITHUB_TOKEN=${githubToken}`,
|
|
44431
44350
|
];
|
|
@@ -44433,10 +44352,10 @@ function buildDockerClaudeCodeCommand(githubToken, prompt, claudeOauthToken) {
|
|
|
44433
44352
|
args.push("-e", `CLAUDE_CODE_OAUTH_TOKEN=${claudeOauthToken}`);
|
|
44434
44353
|
}
|
|
44435
44354
|
// Mount only ~/.sith/ contents — never expose ~/.claude to the container
|
|
44436
|
-
args.push("-v", `${(0,
|
|
44355
|
+
args.push("-v", `${(0,skills/* getSkillsDir */.YJ)()}:${config/* DOCKER_CONFIG */.e6.claudeSkillsMount}`);
|
|
44437
44356
|
// Generated CLAUDE.md (with skill @imports) overrides any CLAUDE.md from ~/.claude
|
|
44438
|
-
args.push("-v", `${claudeMdPath}:${
|
|
44439
|
-
args.push("--entrypoint", "bash",
|
|
44357
|
+
args.push("-v", `${claudeMdPath}:${config/* DOCKER_CONFIG */.e6.claudeConfigMount}/CLAUDE.md`);
|
|
44358
|
+
args.push("--entrypoint", "bash", config/* DOCKER_CONFIG */.e6.imageName, "-c");
|
|
44440
44359
|
let claudeCommand = "source /opt/sith/nix/nix-scripts/setup.sh && cd /workspace && /root/.npm-global/bin/claude";
|
|
44441
44360
|
if (prompt) {
|
|
44442
44361
|
const escapedPrompt = prompt.replace(/'/g, "'\\''");
|
|
@@ -44446,22 +44365,13 @@ function buildDockerClaudeCodeCommand(githubToken, prompt, claudeOauthToken) {
|
|
|
44446
44365
|
return args;
|
|
44447
44366
|
}
|
|
44448
44367
|
|
|
44449
|
-
|
|
44450
|
-
/***/ }),
|
|
44451
|
-
|
|
44452
|
-
/***/ 1460:
|
|
44453
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __nccwpck_require__) => {
|
|
44454
|
-
|
|
44455
|
-
/* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
|
|
44456
|
-
/* harmony export */ l: () => (/* binding */ getGitHubToken)
|
|
44457
|
-
/* harmony export */ });
|
|
44458
|
-
/* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_0__ = __nccwpck_require__(6181);
|
|
44368
|
+
;// CONCATENATED MODULE: ./src/utils/githubToken.ts
|
|
44459
44369
|
|
|
44460
44370
|
async function getGitHubToken() {
|
|
44461
44371
|
if (process.env.GITHUB_TOKEN)
|
|
44462
44372
|
return process.env.GITHUB_TOKEN;
|
|
44463
44373
|
try {
|
|
44464
|
-
const { stdout } = await (0,
|
|
44374
|
+
const { stdout } = await (0,execa/* execa */.Ho)("gh", ["auth", "token"]);
|
|
44465
44375
|
return stdout.trim();
|
|
44466
44376
|
}
|
|
44467
44377
|
catch {
|
|
@@ -44469,6 +44379,62 @@ async function getGitHubToken() {
|
|
|
44469
44379
|
}
|
|
44470
44380
|
}
|
|
44471
44381
|
|
|
44382
|
+
;// CONCATENATED MODULE: ./src/utils/launcher.ts
|
|
44383
|
+
|
|
44384
|
+
|
|
44385
|
+
|
|
44386
|
+
|
|
44387
|
+
function getClaudeOauthToken() {
|
|
44388
|
+
return process.env.CLAUDE_CODE_OAUTH_TOKEN || "";
|
|
44389
|
+
}
|
|
44390
|
+
async function launchShell() {
|
|
44391
|
+
console.log("🚀 Starting Docker shell...");
|
|
44392
|
+
console.log(`Mounting current directory to ${config/* DOCKER_CONFIG */.e6.workspaceMount}`);
|
|
44393
|
+
console.log('Press Ctrl+D or type "exit" to leave');
|
|
44394
|
+
console.log();
|
|
44395
|
+
const githubToken = await getGitHubToken();
|
|
44396
|
+
const dockerArgs = buildDockerShellCommand(githubToken, getClaudeOauthToken());
|
|
44397
|
+
await (0,execa/* execa */.Ho)("docker", dockerArgs, { stdio: "inherit", reject: false });
|
|
44398
|
+
console.log();
|
|
44399
|
+
console.log("✅ Exited shell");
|
|
44400
|
+
}
|
|
44401
|
+
async function launchOpencode(prompt) {
|
|
44402
|
+
console.log("🚀 Starting OpenCode...");
|
|
44403
|
+
console.log(`Mounting current directory to ${config/* DOCKER_CONFIG */.e6.workspaceMount}`);
|
|
44404
|
+
if (prompt)
|
|
44405
|
+
console.log(`Prompt: ${prompt}`);
|
|
44406
|
+
console.log();
|
|
44407
|
+
const githubToken = await getGitHubToken();
|
|
44408
|
+
const dockerArgs = buildDockerOpencodeCommand(githubToken, prompt, getClaudeOauthToken());
|
|
44409
|
+
try {
|
|
44410
|
+
await (0,execa/* execa */.Ho)("docker", dockerArgs, { stdio: "inherit" });
|
|
44411
|
+
console.log();
|
|
44412
|
+
console.log("✅ Exited OpenCode");
|
|
44413
|
+
}
|
|
44414
|
+
catch (error) {
|
|
44415
|
+
console.error(`❌ ${error instanceof Error ? error.message : "Failed to start OpenCode"}`);
|
|
44416
|
+
process.exit(1);
|
|
44417
|
+
}
|
|
44418
|
+
}
|
|
44419
|
+
async function launchClaude(prompt) {
|
|
44420
|
+
console.log("🤖 Starting Claude Code...");
|
|
44421
|
+
console.log(`Mounting current directory to ${config/* DOCKER_CONFIG */.e6.workspaceMount}`);
|
|
44422
|
+
if (prompt)
|
|
44423
|
+
console.log(`Prompt: ${prompt}`);
|
|
44424
|
+
console.log();
|
|
44425
|
+
const githubToken = await getGitHubToken();
|
|
44426
|
+
const dockerArgs = buildDockerClaudeCodeCommand(githubToken, prompt, getClaudeOauthToken());
|
|
44427
|
+
try {
|
|
44428
|
+
await (0,execa/* execa */.Ho)("docker", dockerArgs, { stdio: "inherit" });
|
|
44429
|
+
console.log();
|
|
44430
|
+
console.log("✅ Exited Claude Code");
|
|
44431
|
+
}
|
|
44432
|
+
catch (error) {
|
|
44433
|
+
console.error(`❌ ${error instanceof Error ? error.message : "Failed to start Claude Code"}`);
|
|
44434
|
+
process.exit(1);
|
|
44435
|
+
}
|
|
44436
|
+
}
|
|
44437
|
+
|
|
44472
44438
|
|
|
44473
44439
|
/***/ }),
|
|
44474
44440
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["file:///home/runner/work/sith/sith/src/utils/launcher.ts"],"names":[],"mappings":"AAaA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBjD;AAED,wBAAsB,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBnE;AAED,wBAAsB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBjE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@m14i/sith",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.22.0",
|
|
4
4
|
"description": "Turn your context to the dark side. Standardize and share your OpenCode setup with a fully dockerized environment, designed for seamless collaboration and CI integration.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
"lint": "biome check src/",
|
|
20
20
|
"typecheck": "tsc --noEmit",
|
|
21
21
|
"clean": "rm -rf dist",
|
|
22
|
-
"prepublishOnly": "pnpm build"
|
|
22
|
+
"prepublishOnly": "pnpm build",
|
|
23
|
+
"prepare": "husky"
|
|
23
24
|
},
|
|
24
25
|
"files": [
|
|
25
26
|
"dist",
|
|
@@ -57,6 +58,8 @@
|
|
|
57
58
|
"@types/update-notifier": "^6.0.8",
|
|
58
59
|
"@vercel/ncc": "^0.38.1",
|
|
59
60
|
"@vitest/coverage-v8": "^4.1.7",
|
|
61
|
+
"husky": "^9.1.7",
|
|
62
|
+
"lint-staged": "^17.0.7",
|
|
60
63
|
"semantic-release": "^24.2.0",
|
|
61
64
|
"tsx": "^4.7.2",
|
|
62
65
|
"typescript": "^5.4.5",
|
|
@@ -65,6 +68,11 @@
|
|
|
65
68
|
"engines": {
|
|
66
69
|
"node": ">=18"
|
|
67
70
|
},
|
|
71
|
+
"lint-staged": {
|
|
72
|
+
"src/**/*.{ts,tsx}": [
|
|
73
|
+
"biome check --write --unsafe"
|
|
74
|
+
]
|
|
75
|
+
},
|
|
68
76
|
"pnpm": {
|
|
69
77
|
"overrides": {
|
|
70
78
|
"esbuild": ">=0.28.1"
|