neuralos 3.2.7 → 3.2.8

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/bin/gybackend.cjs +32 -0
  2. package/package.json +2 -2
package/bin/gybackend.cjs CHANGED
@@ -296049,6 +296049,21 @@ ${promptPrefix}`;
296049
296049
  headless.resize(size.cols, size.rows);
296050
296050
  }
296051
296051
  }
296052
+ /** Set the display title of a terminal tab. Updates the tab, the persisted config,
296053
+ * and notifies the renderer so the UI shows the new title immediately. */
296054
+ setTitle(terminalId, title) {
296055
+ const terminal = this.terminals.get(terminalId);
296056
+ if (!terminal) return;
296057
+ const trimmed = String(title || "").trim();
296058
+ if (!trimmed) return;
296059
+ terminal.title = trimmed;
296060
+ const config2 = this.terminalConfigs.get(terminalId);
296061
+ if (config2) {
296062
+ this.terminalConfigs.set(terminalId, { ...config2, title: trimmed });
296063
+ }
296064
+ this.publishTerminalTabsChanged();
296065
+ this.schedulePersistTerminalState();
296066
+ }
296052
296067
  kill(terminalId) {
296053
296068
  this.pendingResizeByTerminal.delete(terminalId);
296054
296069
  this.pendingWrites.delete(terminalId);
@@ -353043,6 +353058,7 @@ var CORE_METHODS = [
353043
353058
  m("terminal:resize", "terminal", "Resize a terminal (cols/rows).", "1.0.0", { terminalId: { type: "string" }, cols: { type: "number" }, rows: { type: "number" } }),
353044
353059
  m("terminal:kill", "terminal", "Kill/close a terminal tab.", "1.0.0", { terminalId: { type: "string" } }),
353045
353060
  m("terminal:reconnect", "terminal", "Reconnect a disconnected SSH tab in place.", "1.0.0", { terminalId: { type: "string" } }),
353061
+ m("terminal:setTitle", "terminal", "Rename a terminal tab.", "1.0.0", { terminalId: { type: "string" }, title: { type: "string" } }),
353046
353062
  m("terminal:setSelection", "terminal", "Set the active/selected terminal tab.", "1.0.0", { terminalId: { type: "string" } }),
353047
353063
  m("terminal:getBufferDelta", "terminal", "Read terminal output from an offset (delta).", "1.0.0", { terminalId: { type: "string" }, fromOffset: { type: "number" } }),
353048
353064
  m("terminal:generateCommandDraft", "terminal", "Draft a command for a tab from its recent output (paste-before-run).", "1.0.0", { terminalId: { type: "string" } }),
@@ -373687,6 +373703,19 @@ var WebSocketGatewayAdapter = class {
373687
373703
  await bridge.kill(terminalId);
373688
373704
  return { ok: true };
373689
373705
  }
373706
+ case "terminal:setTitle": {
373707
+ const bridge = this.options.terminalBridge;
373708
+ if (!bridge?.setTitle) {
373709
+ throw new WebSocketRpcError(
373710
+ "METHOD_NOT_FOUND",
373711
+ "Terminal rename is not available on this websocket gateway."
373712
+ );
373713
+ }
373714
+ const terminalId = this.readStringParam(params, "terminalId");
373715
+ const title = this.readStringParam(params, "title");
373716
+ bridge.setTitle(terminalId, title);
373717
+ return { ok: true };
373718
+ }
373690
373719
  case "terminal:reconnect": {
373691
373720
  const bridge = this.options.terminalBridge;
373692
373721
  if (!bridge?.reconnect) {
@@ -395237,6 +395266,9 @@ async function startGyBackend() {
395237
395266
  const tab = await terminalService.reconnectTerminal(terminalId);
395238
395267
  return { id: tab.id };
395239
395268
  },
395269
+ setTitle: async (terminalId, title) => {
395270
+ terminalService.setTitle(terminalId, title);
395271
+ },
395240
395272
  setSelection: async (terminalId, selectionText) => {
395241
395273
  terminalService.setSelection(terminalId, selectionText);
395242
395274
  },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "neuralos",
3
- "version": "3.2.7",
4
- "description": "Headless AI-native backend for RTerm / neuralOS — v3.2.7: captureStatus for command output + tsconfig spec exclusion fix. 11 plugins, 55 plugin tools wired, parallel tool execution. Transports (SSH/serial/local), SQLite, and NATS libs install automatically.",
3
+ "version": "3.2.8",
4
+ "description": "Headless AI-native backend for RTerm / neuralOS — v3.2.8: rename terminal tabs + chat sessions via context menu. 11 plugins, 55 plugin tools wired, parallel tool execution, captureStatus. Transports (SSH/serial/local), SQLite, and NATS libs install automatically.",
5
5
  "main": "bin/gybackend.cjs",
6
6
  "bin": { "gybackend": "bin/gybackend.cjs" },
7
7
  "license": "MIT",