neuralos 3.2.5 → 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 +100 -34
  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);
@@ -348633,35 +348648,43 @@ var PROBE_CONNECTIVITY_DESCRIPTION = [
348633
348648
  var BUILTIN_TOOL_INFO = [
348634
348649
  {
348635
348650
  name: "exec_command",
348636
- description: EXEC_COMMAND_DESCRIPTION
348651
+ description: EXEC_COMMAND_DESCRIPTION,
348652
+ shortDescription: "Run a command on a terminal (SSH/WinRM/local)"
348637
348653
  },
348638
348654
  {
348639
348655
  name: "read_terminal_tab",
348640
- description: READ_TERMINAL_TAB_DESCRIPTION
348656
+ description: READ_TERMINAL_TAB_DESCRIPTION,
348657
+ shortDescription: "Read terminal output"
348641
348658
  },
348642
348659
  {
348643
348660
  name: "read_command_output",
348644
- description: READ_COMMAND_OUTPUT_DESCRIPTION
348661
+ description: READ_COMMAND_OUTPUT_DESCRIPTION,
348662
+ shortDescription: "Read background command output"
348645
348663
  },
348646
348664
  {
348647
348665
  name: "read_file",
348648
- description: READ_FILE_DESCRIPTION
348666
+ description: READ_FILE_DESCRIPTION,
348667
+ shortDescription: "Read a file from a host"
348649
348668
  },
348650
348669
  {
348651
348670
  name: "write_stdin",
348652
- description: WRITE_STDIN_TOOL_DESCRIPTION
348671
+ description: WRITE_STDIN_TOOL_DESCRIPTION,
348672
+ shortDescription: "Send keystrokes to a terminal"
348653
348673
  },
348654
348674
  {
348655
348675
  name: "reconnect_terminal_tab",
348656
- description: RECONNECT_TERMINAL_TAB_DESCRIPTION
348676
+ description: RECONNECT_TERMINAL_TAB_DESCRIPTION,
348677
+ shortDescription: "Reconnect a disconnected terminal"
348657
348678
  },
348658
348679
  {
348659
348680
  name: "open_terminal_tab",
348660
- description: OPEN_TERMINAL_TAB_DESCRIPTION
348681
+ description: OPEN_TERMINAL_TAB_DESCRIPTION,
348682
+ shortDescription: "Open a new terminal tab"
348661
348683
  },
348662
348684
  {
348663
348685
  name: "create_or_edit",
348664
- description: CREATE_OR_EDIT_TOOL_DESCRIPTION
348686
+ description: CREATE_OR_EDIT_TOOL_DESCRIPTION,
348687
+ shortDescription: "Create or edit a file"
348665
348688
  },
348666
348689
  {
348667
348690
  name: "write_file",
@@ -348675,19 +348698,23 @@ var BUILTIN_TOOL_INFO = [
348675
348698
  },
348676
348699
  {
348677
348700
  name: "skill",
348678
- description: "Load a skill to get detailed instructions for a specific task. Skills provide specialized knowledge, step-by-step guidance, and may include supporting files (scripts, references)."
348701
+ description: "Load a skill to get detailed instructions for a specific task. Skills provide specialized knowledge, step-by-step guidance, and may include supporting files (scripts, references).",
348702
+ shortDescription: "Load a skill for task guidance"
348679
348703
  },
348680
348704
  {
348681
348705
  name: "create_skill",
348682
- description: "Create a new skill in GyShell skills. This tool only creates new skills and does not modify or overwrite existing ones. If the skill name already exists, the call must fail and you should choose a different name. If you need to modify an existing skill, use edit_file to edit that skill's md file directly, or write_file only when intentionally replacing the full file."
348706
+ description: "Create a new skill in GyShell skills. This tool only creates new skills and does not modify or overwrite existing ones. If the skill name already exists, the call must fail and you should choose a different name. If you need to modify an existing skill, use edit_file to edit that skill's md file directly, or write_file only when intentionally replacing the full file.",
348707
+ shortDescription: "Create a new skill"
348683
348708
  },
348684
348709
  {
348685
348710
  name: "wait",
348686
- description: WAIT_TOOL_DESCRIPTION
348711
+ description: WAIT_TOOL_DESCRIPTION,
348712
+ shortDescription: "Pause for a fixed duration"
348687
348713
  },
348688
348714
  {
348689
348715
  name: "wait_terminal_idle",
348690
- description: WAIT_TERMINAL_IDLE_DESCRIPTION
348716
+ description: WAIT_TERMINAL_IDLE_DESCRIPTION,
348717
+ shortDescription: "Wait for terminal output to stabilize"
348691
348718
  },
348692
348719
  {
348693
348720
  name: "copy_between_tabs",
@@ -348703,87 +348730,108 @@ var BUILTIN_TOOL_INFO = [
348703
348730
  },
348704
348731
  {
348705
348732
  name: "manage_ssh_connection",
348706
- description: MANAGE_SSH_CONNECTION_DESCRIPTION
348733
+ description: MANAGE_SSH_CONNECTION_DESCRIPTION,
348734
+ shortDescription: "Manage SSH connections"
348707
348735
  },
348708
348736
  {
348709
348737
  name: "manage_winrm_connection",
348710
- description: MANAGE_WINRM_CONNECTION_DESCRIPTION
348738
+ description: MANAGE_WINRM_CONNECTION_DESCRIPTION,
348739
+ shortDescription: "Manage WinRM connections"
348711
348740
  },
348712
348741
  {
348713
348742
  name: "manage_serial_connection",
348714
- description: MANAGE_SERIAL_CONNECTION_DESCRIPTION
348743
+ description: MANAGE_SERIAL_CONNECTION_DESCRIPTION,
348744
+ shortDescription: "Manage serial connections"
348715
348745
  },
348716
348746
  {
348717
348747
  name: "list_session_logs",
348718
- description: LIST_SESSION_LOGS_DESCRIPTION
348748
+ description: LIST_SESSION_LOGS_DESCRIPTION,
348749
+ shortDescription: "List recorded sessions"
348719
348750
  },
348720
348751
  {
348721
348752
  name: "read_session_log",
348722
- description: READ_SESSION_LOG_DESCRIPTION
348753
+ description: READ_SESSION_LOG_DESCRIPTION,
348754
+ shortDescription: "Read a session log"
348723
348755
  },
348724
348756
  {
348725
348757
  name: "search_session_logs",
348726
- description: SEARCH_SESSION_LOGS_DESCRIPTION
348758
+ description: SEARCH_SESSION_LOGS_DESCRIPTION,
348759
+ shortDescription: "Search session logs"
348727
348760
  },
348728
348761
  {
348729
348762
  name: "get_run_ledger",
348730
- description: GET_RUN_LEDGER_DESCRIPTION
348763
+ description: GET_RUN_LEDGER_DESCRIPTION,
348764
+ shortDescription: "Query agent run audit ledger"
348731
348765
  },
348732
348766
  {
348733
348767
  name: "run_fleet_command",
348734
- description: RUN_FLEET_COMMAND_DESCRIPTION
348768
+ description: RUN_FLEET_COMMAND_DESCRIPTION,
348769
+ shortDescription: "Run a command on multiple terminals"
348735
348770
  },
348736
348771
  {
348737
348772
  name: "collect_facts",
348738
- description: COLLECT_FACTS_DESCRIPTION
348773
+ description: COLLECT_FACTS_DESCRIPTION,
348774
+ shortDescription: "Inventory terminal tabs"
348739
348775
  },
348740
348776
  {
348741
348777
  name: "probe_connectivity",
348742
- description: PROBE_CONNECTIVITY_DESCRIPTION
348778
+ description: PROBE_CONNECTIVITY_DESCRIPTION,
348779
+ shortDescription: "Probe SSH reachability"
348743
348780
  },
348744
348781
  {
348745
348782
  name: "manage_device_memory",
348746
- description: MANAGE_DEVICE_MEMORY_DESCRIPTION
348783
+ description: MANAGE_DEVICE_MEMORY_DESCRIPTION,
348784
+ shortDescription: "Per-host memory and incidents"
348747
348785
  },
348748
348786
  {
348749
348787
  name: "manage_script",
348750
- description: MANAGE_SCRIPT_DESCRIPTION
348788
+ description: MANAGE_SCRIPT_DESCRIPTION,
348789
+ shortDescription: "Manage reusable scripts"
348751
348790
  },
348752
348791
  {
348753
348792
  name: "manage_group",
348754
- description: MANAGE_GROUP_DESCRIPTION
348793
+ description: MANAGE_GROUP_DESCRIPTION,
348794
+ shortDescription: "Manage connection groups"
348755
348795
  },
348756
348796
  {
348757
348797
  name: "manage_scheduled_task",
348758
- description: MANAGE_SCHEDULED_TASK_DESCRIPTION
348798
+ description: MANAGE_SCHEDULED_TASK_DESCRIPTION,
348799
+ shortDescription: "Manage cron tasks"
348759
348800
  },
348760
348801
  {
348761
348802
  name: "manage_template",
348762
- description: MANAGE_TEMPLATE_DESCRIPTION
348803
+ description: MANAGE_TEMPLATE_DESCRIPTION,
348804
+ shortDescription: "Manage Jinja templates"
348763
348805
  },
348764
348806
  {
348765
348807
  name: "import_putty",
348766
- description: IMPORT_PUTTY_DESCRIPTION
348808
+ description: IMPORT_PUTTY_DESCRIPTION,
348809
+ shortDescription: "Import PuTTY sessions"
348767
348810
  },
348768
348811
  {
348769
348812
  name: "manage_playbook",
348770
- description: MANAGE_PLAYBOOK_DESCRIPTION
348813
+ description: MANAGE_PLAYBOOK_DESCRIPTION,
348814
+ shortDescription: "Manage playbooks"
348771
348815
  },
348772
348816
  {
348773
348817
  name: "run_playbook",
348774
- description: RUN_PLAYBOOK_DESCRIPTION
348818
+ description: RUN_PLAYBOOK_DESCRIPTION,
348819
+ shortDescription: "Execute a playbook"
348775
348820
  },
348776
348821
  {
348777
348822
  name: "manage_change",
348778
- description: MANAGE_CHANGE_DESCRIPTION
348823
+ description: MANAGE_CHANGE_DESCRIPTION,
348824
+ shortDescription: "Drive MOP changes (plan/approve/run)"
348779
348825
  },
348780
348826
  {
348781
348827
  name: "manage_trigger",
348782
- description: MANAGE_TRIGGER_DESCRIPTION
348828
+ description: MANAGE_TRIGGER_DESCRIPTION,
348829
+ shortDescription: "Manage event triggers"
348783
348830
  },
348784
348831
  {
348785
348832
  name: "get_metrics",
348786
- description: 'Read host metrics as Prometheus exposition text (for a scraper) or a one-line dashboard summary. Use to answer "how are my hosts doing" or to feed an external Prometheus/OTel collector.'
348833
+ description: 'Read host metrics as Prometheus exposition text (for a scraper) or a one-line dashboard summary. Use to answer "how are my hosts doing" or to feed an external Prometheus/OTel collector.',
348834
+ shortDescription: "Read host metrics"
348787
348835
  },
348788
348836
  {
348789
348837
  name: "manage_secret",
@@ -348827,7 +348875,8 @@ var BUILTIN_TOOL_INFO = [
348827
348875
  },
348828
348876
  {
348829
348877
  name: "ingest_apm_spans",
348830
- description: "Ingest OTLP/HTTP-JSON distributed-trace spans into the APM trace store (feeds bottleneck/slowest-trace analysis and the dashboard APM section)."
348878
+ description: "Ingest OTLP/HTTP-JSON distributed-trace spans into the APM trace store (feeds bottleneck/slowest-trace analysis and the dashboard APM section).",
348879
+ shortDescription: "Ingest APM trace spans"
348831
348880
  },
348832
348881
  {
348833
348882
  name: "get_apm_summary",
@@ -353009,6 +353058,7 @@ var CORE_METHODS = [
353009
353058
  m("terminal:resize", "terminal", "Resize a terminal (cols/rows).", "1.0.0", { terminalId: { type: "string" }, cols: { type: "number" }, rows: { type: "number" } }),
353010
353059
  m("terminal:kill", "terminal", "Kill/close a terminal tab.", "1.0.0", { terminalId: { type: "string" } }),
353011
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" } }),
353012
353062
  m("terminal:setSelection", "terminal", "Set the active/selected terminal tab.", "1.0.0", { terminalId: { type: "string" } }),
353013
353063
  m("terminal:getBufferDelta", "terminal", "Read terminal output from an offset (delta).", "1.0.0", { terminalId: { type: "string" }, fromOffset: { type: "number" } }),
353014
353064
  m("terminal:generateCommandDraft", "terminal", "Draft a command for a tab from its recent output (paste-before-run).", "1.0.0", { terminalId: { type: "string" } }),
@@ -373653,6 +373703,19 @@ var WebSocketGatewayAdapter = class {
373653
373703
  await bridge.kill(terminalId);
373654
373704
  return { ok: true };
373655
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
+ }
373656
373719
  case "terminal:reconnect": {
373657
373720
  const bridge = this.options.terminalBridge;
373658
373721
  if (!bridge?.reconnect) {
@@ -395203,6 +395266,9 @@ async function startGyBackend() {
395203
395266
  const tab = await terminalService.reconnectTerminal(terminalId);
395204
395267
  return { id: tab.id };
395205
395268
  },
395269
+ setTitle: async (terminalId, title) => {
395270
+ terminalService.setTitle(terminalId, title);
395271
+ },
395206
395272
  setSelection: async (terminalId, selectionText) => {
395207
395273
  terminalService.setSelection(terminalId, selectionText);
395208
395274
  },
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "neuralos",
3
- "version": "3.2.5",
4
- "description": "Headless AI-native backend for RTerm / neuralOS — v3.2.5: captureStatus (complete/partial/truncated), reconcileToolCalls (streamed multi-tool validation), reading frontier for emergency recovery. 11 plugins, 55 plugin tools wired. 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",