rrce-workflow 0.2.37 → 0.2.38

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.
Files changed (2) hide show
  1. package/dist/index.js +83 -16
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -2121,9 +2121,12 @@ var StatusBoard;
2121
2121
  var init_StatusBoard = __esm({
2122
2122
  "src/mcp/ui/StatusBoard.tsx"() {
2123
2123
  "use strict";
2124
- StatusBoard = ({ exposedLabel, port, pid }) => {
2124
+ StatusBoard = ({ exposedLabel, port, pid, running }) => {
2125
2125
  return /* @__PURE__ */ jsx2(Box2, { borderStyle: "single", borderColor: "cyan", paddingX: 1, children: /* @__PURE__ */ jsxs(Text2, { children: [
2126
- "\u{1F4CB} ",
2126
+ running ? /* @__PURE__ */ jsx2(Text2, { color: "green", children: "\u25CF RUNNING" }) : /* @__PURE__ */ jsx2(Text2, { color: "red", children: "\u25CF STOPPED" }),
2127
+ " ",
2128
+ "\u2502",
2129
+ " \u{1F4CB} ",
2127
2130
  /* @__PURE__ */ jsx2(Text2, { color: "yellow", children: exposedLabel }),
2128
2131
  " ",
2129
2132
  "\u2502",
@@ -2185,10 +2188,62 @@ var init_CommandBar = __esm({
2185
2188
  }
2186
2189
  });
2187
2190
 
2188
- // src/mcp/ui/Dashboard.tsx
2191
+ // src/mcp/ui/HelpModal.tsx
2189
2192
  import "react";
2190
- import { Box as Box5 } from "ink";
2193
+ import { Box as Box5, Text as Text5 } from "ink";
2191
2194
  import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
2195
+ var HelpModal;
2196
+ var init_HelpModal = __esm({
2197
+ "src/mcp/ui/HelpModal.tsx"() {
2198
+ "use strict";
2199
+ HelpModal = ({ onClose }) => {
2200
+ return /* @__PURE__ */ jsxs4(Box5, { borderStyle: "double", borderColor: "yellow", padding: 1, flexDirection: "column", children: [
2201
+ /* @__PURE__ */ jsx5(Text5, { bold: true, color: "yellow", children: "\u2328\uFE0F Keyboard Shortcuts" }),
2202
+ /* @__PURE__ */ jsxs4(Box5, { flexDirection: "column", marginTop: 1, children: [
2203
+ /* @__PURE__ */ jsx5(Box5, { marginTop: 1, children: /* @__PURE__ */ jsx5(Text5, { bold: true, color: "cyan", children: "Configuration:" }) }),
2204
+ /* @__PURE__ */ jsxs4(Text5, { children: [
2205
+ " ",
2206
+ /* @__PURE__ */ jsx5(Text5, { bold: true, children: "p" }),
2207
+ " - Configure Projects (Opens Wizard)"
2208
+ ] }),
2209
+ /* @__PURE__ */ jsxs4(Text5, { children: [
2210
+ " ",
2211
+ /* @__PURE__ */ jsx5(Text5, { bold: true, children: "i" }),
2212
+ " - Install to IDEs (Opens Wizard)"
2213
+ ] }),
2214
+ /* @__PURE__ */ jsx5(Box5, { marginTop: 1, children: /* @__PURE__ */ jsx5(Text5, { bold: true, color: "cyan", children: "Server Control:" }) }),
2215
+ /* @__PURE__ */ jsxs4(Text5, { children: [
2216
+ " ",
2217
+ /* @__PURE__ */ jsx5(Text5, { bold: true, children: "r" }),
2218
+ " - Reload Configuration"
2219
+ ] }),
2220
+ /* @__PURE__ */ jsxs4(Text5, { children: [
2221
+ " ",
2222
+ /* @__PURE__ */ jsx5(Text5, { bold: true, children: "c" }),
2223
+ " - Clear Logs"
2224
+ ] }),
2225
+ /* @__PURE__ */ jsxs4(Text5, { children: [
2226
+ " ",
2227
+ /* @__PURE__ */ jsx5(Text5, { bold: true, children: "q" }),
2228
+ " - Stop Server & Exit"
2229
+ ] }),
2230
+ /* @__PURE__ */ jsx5(Box5, { marginTop: 1, children: /* @__PURE__ */ jsx5(Text5, { bold: true, color: "cyan", children: "Other:" }) }),
2231
+ /* @__PURE__ */ jsxs4(Text5, { children: [
2232
+ " ",
2233
+ /* @__PURE__ */ jsx5(Text5, { bold: true, children: "?" }),
2234
+ " - Toggle this Help"
2235
+ ] })
2236
+ ] }),
2237
+ /* @__PURE__ */ jsx5(Box5, { marginTop: 1, children: /* @__PURE__ */ jsx5(Text5, { color: "gray", children: "Press '?' again to close" }) })
2238
+ ] });
2239
+ };
2240
+ }
2241
+ });
2242
+
2243
+ // src/mcp/ui/Dashboard.tsx
2244
+ import "react";
2245
+ import { Box as Box6 } from "ink";
2246
+ import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
2192
2247
  var Dashboard;
2193
2248
  var init_Dashboard = __esm({
2194
2249
  "src/mcp/ui/Dashboard.tsx"() {
@@ -2197,12 +2252,14 @@ var init_Dashboard = __esm({
2197
2252
  init_StatusBoard();
2198
2253
  init_LogViewer();
2199
2254
  init_CommandBar();
2200
- Dashboard = ({ logs, exposedLabel, port, pid, logHeight }) => {
2201
- return /* @__PURE__ */ jsxs4(Box5, { flexDirection: "column", padding: 0, children: [
2202
- /* @__PURE__ */ jsx5(Header, {}),
2203
- /* @__PURE__ */ jsx5(LogViewer, { logs, height: logHeight }),
2204
- /* @__PURE__ */ jsx5(StatusBoard, { exposedLabel, port, pid }),
2205
- /* @__PURE__ */ jsx5(CommandBar, {})
2255
+ init_HelpModal();
2256
+ Dashboard = ({ logs, exposedLabel, port, pid, running, logHeight, showHelp: showHelp2 }) => {
2257
+ return /* @__PURE__ */ jsxs5(Box6, { flexDirection: "column", padding: 0, children: [
2258
+ /* @__PURE__ */ jsx6(Header, {}),
2259
+ showHelp2 ? /* @__PURE__ */ jsx6(HelpModal, { onClose: () => {
2260
+ } }) : /* @__PURE__ */ jsx6(LogViewer, { logs, height: logHeight }),
2261
+ /* @__PURE__ */ jsx6(StatusBoard, { exposedLabel, port, pid, running }),
2262
+ /* @__PURE__ */ jsx6(CommandBar, {})
2206
2263
  ] });
2207
2264
  };
2208
2265
  }
@@ -2216,7 +2273,7 @@ __export(App_exports, {
2216
2273
  import { useState, useEffect as useEffect2 } from "react";
2217
2274
  import { useInput, useApp } from "ink";
2218
2275
  import fs11 from "fs";
2219
- import { jsx as jsx6 } from "react/jsx-runtime";
2276
+ import { jsx as jsx7 } from "react/jsx-runtime";
2220
2277
  var App;
2221
2278
  var init_App = __esm({
2222
2279
  "src/mcp/ui/App.tsx"() {
@@ -2234,10 +2291,13 @@ var init_App = __esm({
2234
2291
  pid: process.pid,
2235
2292
  running: false
2236
2293
  });
2294
+ const [showHelp2, setShowHelp] = useState(false);
2237
2295
  const config = loadMCPConfig();
2238
2296
  const projects = scanForProjects();
2239
2297
  const exposedProjects = projects.filter((p) => {
2240
- const cfg = config.projects.find((c) => c.name === p.name);
2298
+ const cfg = config.projects.find(
2299
+ (c) => c.path && c.path === p.dataPath || !c.path && c.name === p.name
2300
+ );
2241
2301
  return cfg?.expose ?? config.defaults.includeNew;
2242
2302
  });
2243
2303
  const exposedNames = exposedProjects.map((p) => p.name).slice(0, 5);
@@ -2294,10 +2354,12 @@ var init_App = __esm({
2294
2354
  exit();
2295
2355
  }
2296
2356
  if (input === "p") {
2357
+ setLogs((prev) => [...prev, "Switching to configuration wizard..."]);
2297
2358
  onConfigure();
2298
2359
  exit();
2299
2360
  }
2300
2361
  if (input === "i") {
2362
+ setLogs((prev) => [...prev, "Switching to install wizard..."]);
2301
2363
  onInstall();
2302
2364
  exit();
2303
2365
  }
@@ -2307,17 +2369,22 @@ var init_App = __esm({
2307
2369
  if (input === "r") {
2308
2370
  setLogs((prev) => [...prev, "[INFO] Config reload requested..."]);
2309
2371
  }
2372
+ if (input === "?") {
2373
+ setShowHelp((prev) => !prev);
2374
+ }
2310
2375
  }, { isActive: true });
2311
2376
  const termHeight = process.stdout.rows || 24;
2312
2377
  const logHeight = Math.max(5, termHeight - 12);
2313
- return /* @__PURE__ */ jsx6(
2378
+ return /* @__PURE__ */ jsx7(
2314
2379
  Dashboard,
2315
2380
  {
2316
2381
  logs,
2317
2382
  exposedLabel,
2318
2383
  port: serverInfo.port,
2319
2384
  pid: serverInfo.pid,
2320
- logHeight
2385
+ running: serverInfo.running,
2386
+ logHeight,
2387
+ showHelp: showHelp2
2321
2388
  }
2322
2389
  );
2323
2390
  };
@@ -2327,7 +2394,7 @@ var init_App = __esm({
2327
2394
  // src/mcp/commands/start.ts
2328
2395
  import { confirm, isCancel as isCancel4, text } from "@clack/prompts";
2329
2396
  async function handleStartServer() {
2330
- const React7 = await import("react");
2397
+ const React8 = await import("react");
2331
2398
  const { render } = await import("ink");
2332
2399
  const { App: App2 } = await Promise.resolve().then(() => (init_App(), App_exports));
2333
2400
  const config = loadMCPConfig();
@@ -2372,7 +2439,7 @@ async function handleStartServer() {
2372
2439
  while (keepRunning) {
2373
2440
  let nextAction = "exit";
2374
2441
  process.stdin.resume();
2375
- const app = render(React7.createElement(App2, {
2442
+ const app = render(React8.createElement(App2, {
2376
2443
  initialPort,
2377
2444
  onExit: () => {
2378
2445
  nextAction = "exit";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rrce-workflow",
3
- "version": "0.2.37",
3
+ "version": "0.2.38",
4
4
  "description": "RRCE-Workflow TUI - Agentic code workflow generator for AI-assisted development",
5
5
  "author": "RRCE Team",
6
6
  "license": "MIT",