replicas-cli 0.2.46 → 0.2.49

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.
package/README.md CHANGED
@@ -24,7 +24,7 @@ replicas login
24
24
  replicas connect my-workspace
25
25
 
26
26
  # Launch the interactive terminal dashboard
27
- replicas interactive
27
+ replicas interact
28
28
  ```
29
29
 
30
30
  ## Commands
@@ -47,7 +47,7 @@ Switch between organizations.
47
47
  ### `replicas connect <workspace-name>`
48
48
  Connect to a workspace via SSH.
49
49
 
50
- ### `replicas interactive`
50
+ ### `replicas interact`
51
51
  Launch the interactive terminal dashboard — a full TUI alternative to the web dashboard. View workspaces, chat with agents, monitor environment status, and create workspaces without leaving the terminal.
52
52
 
53
53
  ## Configuration
package/dist/index.mjs CHANGED
@@ -1855,12 +1855,12 @@ async function interactiveCommand() {
1855
1855
  );
1856
1856
  }
1857
1857
  console.log(chalk17.gray("Starting interactive mode..."));
1858
- const { launchInteractive } = await import("./interactive-SMLO2Z45.mjs");
1858
+ const { launchInteractive } = await import("./interactive-EWNWT5K6.mjs");
1859
1859
  await launchInteractive();
1860
1860
  }
1861
1861
 
1862
1862
  // src/index.ts
1863
- var CLI_VERSION = "0.2.46";
1863
+ var CLI_VERSION = "0.2.49";
1864
1864
  var program = new Command();
1865
1865
  program.name("replicas").description("CLI for managing Replicas workspaces").version(CLI_VERSION);
1866
1866
  program.command("login").description("Authenticate with your Replicas account").action(async () => {
@@ -2118,7 +2118,7 @@ repos.action(async () => {
2118
2118
  process.exit(1);
2119
2119
  }
2120
2120
  });
2121
- program.command("interactive").alias("i").description("Launch the interactive terminal dashboard").action(async () => {
2121
+ program.command("interact").alias("i").description("Launch the interactive terminal dashboard").action(async () => {
2122
2122
  try {
2123
2123
  await interactiveCommand();
2124
2124
  } catch (error) {
@@ -598,9 +598,11 @@ function WorkspaceSidebar({
598
598
  );
599
599
  const moveCursor = useCallback3(
600
600
  (next) => {
601
- const clamped = Math.max(0, Math.min(items.length - 1, next));
602
- setCursorIndex(clamped);
603
- adjustScroll(clamped);
601
+ const len = items.length;
602
+ if (len === 0) return;
603
+ const wrapped = (next % len + len) % len;
604
+ setCursorIndex(wrapped);
605
+ adjustScroll(wrapped);
604
606
  },
605
607
  [items.length, adjustScroll]
606
608
  );
@@ -1588,8 +1590,10 @@ function WorkspaceInfo({ status, workspaceName, workspaceId, focused, loading, e
1588
1590
  const safeCursor = interactiveItems.length > 0 ? Math.min(cursorIndex, interactiveItems.length - 1) : 0;
1589
1591
  const moveCursor = useCallback4(
1590
1592
  (next) => {
1591
- const clamped = Math.max(0, Math.min(interactiveItems.length - 1, next));
1592
- setCursorIndex(clamped);
1593
+ const len = interactiveItems.length;
1594
+ if (len === 0) return;
1595
+ const wrapped = (next % len + len) % len;
1596
+ setCursorIndex(wrapped);
1593
1597
  },
1594
1598
  [interactiveItems.length]
1595
1599
  );
@@ -2113,6 +2117,7 @@ function AppInner() {
2113
2117
  mockGroupRef.current.set(mock.id, groupId);
2114
2118
  setMockWorkspaces((prev) => [mock, ...prev]);
2115
2119
  setSelectedWorkspaceId(mock.id);
2120
+ setFocusPanel("chat-input");
2116
2121
  try {
2117
2122
  const request = groupType === "set" ? { repository_set_id: groupId.replace(/^set:/, ""), name: mock.name, placeholder: true } : { repository_ids: [groupId], name: mock.name, placeholder: true };
2118
2123
  const result = await createWorkspaceMutation.mutateAsync(request);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replicas-cli",
3
- "version": "0.2.46",
3
+ "version": "0.2.49",
4
4
  "description": "CLI for managing Replicas workspaces - SSH into cloud dev environments with automatic port forwarding",
5
5
  "main": "dist/index.mjs",
6
6
  "bin": {