Compare commits

..
Author SHA1 Message Date
bendtherules fabd2f6519 refactor: use shared spinner 2026-03-23 16:27:39 +05:30
bendtherules 932e023fcf chore(release): 0.2.0 2026-03-23 15:49:36 +05:30
bendtherules 8f069c5582 chore(release): 0.1.6 2026-03-23 15:48:26 +05:30
bendtherules 1a58a318fd refactor(index): remove unused re-exports from src/index.ts 2026-03-23 15:48:13 +05:30
3 changed files with 13 additions and 10 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "opencode-multi-model", "name": "opencode-multi-model",
"version": "0.1.5", "version": "0.2.0",
"description": "Launch multiple AI models in tmux sessions - OpenCode Plugin, CLI, and Project Tool", "description": "Launch multiple AI models in tmux sessions - OpenCode Plugin, CLI, and Project Tool",
"type": "module", "type": "module",
"main": "./dist/index.js", "main": "./dist/index.js",
+12 -6
View File
@@ -8,6 +8,8 @@ import type {
WorktreeInfo, WorktreeInfo,
} from "../types"; } from "../types";
let sharedSpinner: Ora | undefined;
const MAX_SUGGESTIONS = 3; const MAX_SUGGESTIONS = 3;
const WINDOW_NAME_LIMIT = 24; const WINDOW_NAME_LIMIT = 24;
@@ -35,17 +37,21 @@ export async function runCommand(
process.env.NODE_ENV === "test" || process.env.BUN_ENV === "test"; process.env.NODE_ENV === "test" || process.env.BUN_ENV === "test";
if (options?.mode === "cli" && !isTest) { if (options?.mode === "cli" && !isTest) {
const msg = options.spinnerMsg || `Running ${parts[0]}...`; const msg = options.spinnerMsg || `Running ${parts[0]}...`;
spinner = ora(msg).start(); if (!sharedSpinner) {
sharedSpinner = ora(msg).start();
} else {
sharedSpinner.text = msg;
if (!sharedSpinner.isSpinning) {
sharedSpinner.start();
}
}
spinner = sharedSpinner;
} }
const result = await Bun.$`${parts}`.quiet().nothrow(); const result = await Bun.$`${parts}`.quiet().nothrow();
if (spinner) { if (spinner) {
if (result.exitCode === 0) { spinner.stop().clear();
spinner.succeed();
} else {
spinner.fail();
}
} }
return { return {
-3
View File
@@ -30,6 +30,3 @@ const OpenCodeMultiModelPlugin: Plugin = async (_ctx) => {
}; };
export default OpenCodeMultiModelPlugin; export default OpenCodeMultiModelPlugin;
export * from "./core/index";
export * from "./types";
export { cleanupTool, closeTool, openTool };