taskplane 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.
@@ -712,22 +712,26 @@ body {
712
712
  background: none;
713
713
  border: none;
714
714
  cursor: pointer;
715
- font-size: 0.75rem;
716
- padding: 2px;
715
+ font-size: 0.85rem;
716
+ padding: 3px 5px;
717
717
  border-radius: var(--radius-sm);
718
- opacity: 0.6;
719
- transition: opacity 0.2s, background 0.2s;
718
+ opacity: 1;
719
+ transition: opacity 0.2s, background 0.2s, color 0.2s, box-shadow 0.2s;
720
720
  line-height: 1;
721
+ color: var(--text-muted);
721
722
  }
722
723
 
723
724
  .viewer-eye-btn:hover {
724
725
  opacity: 1;
725
- background: rgba(88,166,255,0.15);
726
+ background: rgba(88,166,255,0.18);
727
+ color: var(--accent);
726
728
  }
727
729
 
728
730
  .viewer-eye-btn.active {
729
731
  opacity: 1;
730
- background: rgba(88,166,255,0.15);
732
+ background: rgba(88,166,255,0.25);
733
+ color: var(--accent);
734
+ box-shadow: 0 0 0 1px var(--accent-dim);
731
735
  }
732
736
 
733
737
  .tmux-view-btn.active {
@@ -85,7 +85,7 @@ export async function executeOrchBatch(
85
85
  execLog("batch", batchState.batchId, "starting batch planning");
86
86
 
87
87
  // Preflight
88
- const preflight = runPreflight(orchConfig);
88
+ const preflight = runPreflight(orchConfig, repoRoot);
89
89
  onNotify(formatPreflightResults(preflight), preflight.passed ? "info" : "error");
90
90
  if (!preflight.passed) {
91
91
  batchState.phase = "failed";
@@ -252,7 +252,7 @@ export default function (pi: ExtensionAPI) {
252
252
  }
253
253
 
254
254
  // ── Section 1: Preflight ─────────────────────────────────
255
- const preflight = runPreflight(orchConfig);
255
+ const preflight = runPreflight(orchConfig, execCtx!.repoRoot);
256
256
  ctx.ui.notify(formatPreflightResults(preflight), preflight.passed ? "info" : "error");
257
257
  if (!preflight.passed) return;
258
258
 
@@ -1373,12 +1373,13 @@ export function removeAllWorktrees(
1373
1373
  * Execute a command synchronously and return { ok, stdout }.
1374
1374
  * Returns ok=false on any error (non-zero exit, command not found, etc.).
1375
1375
  */
1376
- export function execCheck(command: string): { ok: boolean; stdout: string } {
1376
+ export function execCheck(command: string, cwd?: string): { ok: boolean; stdout: string } {
1377
1377
  try {
1378
1378
  const stdout = execSync(command, {
1379
1379
  encoding: "utf-8",
1380
1380
  timeout: 10_000,
1381
1381
  stdio: ["pipe", "pipe", "pipe"],
1382
+ ...(cwd ? { cwd } : {}),
1382
1383
  }).trim();
1383
1384
  return { ok: true, stdout };
1384
1385
  } catch {
@@ -1417,7 +1418,7 @@ export function meetsMinVersion(actual: [number, number], minimum: [number, numb
1417
1418
  * - tmux version >= 2.6
1418
1419
  * - tmux functional (can create/destroy sessions)
1419
1420
  */
1420
- export function runPreflight(config: OrchestratorConfig): PreflightResult {
1421
+ export function runPreflight(config: OrchestratorConfig, repoRoot?: string): PreflightResult {
1421
1422
  const checks: PreflightCheck[] = [];
1422
1423
  const tmuxRequired = config.orchestrator.spawn_mode === "tmux";
1423
1424
 
@@ -1450,14 +1451,19 @@ export function runPreflight(config: OrchestratorConfig): PreflightResult {
1450
1451
  }
1451
1452
 
1452
1453
  // ── Git worktree support ─────────────────────────────────────
1453
- const worktreeResult = execCheck("git worktree list");
1454
+ // In workspace mode, cwd may not be a git repo — run from a repo root
1455
+ const worktreeResult = execCheck("git worktree list", repoRoot);
1454
1456
  checks.push({
1455
1457
  name: "git-worktree",
1456
1458
  status: worktreeResult.ok ? "pass" : "fail",
1457
1459
  message: worktreeResult.ok
1458
1460
  ? "Worktree support available"
1459
1461
  : "Git worktree not available",
1460
- hint: worktreeResult.ok ? undefined : "Upgrade Git to 2.15+",
1462
+ hint: worktreeResult.ok
1463
+ ? undefined
1464
+ : repoRoot
1465
+ ? "Upgrade Git to 2.15+"
1466
+ : "Workspace root is not a git repo. Check workspace config repo paths.",
1461
1467
  });
1462
1468
 
1463
1469
  // ── TMUX availability and version ────────────────────────────
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taskplane",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "AI agent orchestration for pi — parallel task execution with checkpoint discipline",
5
5
  "keywords": [
6
6
  "pi-package",