@bramblex/codex-workbench 0.1.8 → 0.1.9

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bramblex/codex-workbench",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "Terminal workbench for browsing and managing local and SSH Codex sessions.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -69,6 +69,7 @@ async function runWorkbench() {
69
69
  mouse: true,
70
70
  keys: true,
71
71
  vi: false,
72
+ tags: true,
72
73
  scrollbar: { ch: ' ', track: { bg: 'black' }, style: { bg: 'green' } },
73
74
  style: {
74
75
  border: { fg: 'green' },
@@ -196,25 +197,28 @@ async function runWorkbench() {
196
197
  return index >= 0 && index < 9 ? String(index + 1) : '';
197
198
  };
198
199
 
200
+ const styledListLabel = (color, text) => `{${color}-fg}{bold}${blessed.escape(text)}{/}`;
201
+
199
202
  const machineLabel = (source, count) => {
200
203
  const shortcut = sourceShortcut(source);
201
204
  const prefix = shortcut ? `${shortcut} ` : '';
202
205
  const maxLabel = Math.max(8, projectWidth - 18);
203
206
  const text = `${prefix}${truncate(source.label, maxLabel)} (${count})`;
204
207
  const width = Math.max(12, projectWidth - 4);
205
- const head = `- ${text} `;
206
- return `${head}${'-'.repeat(width)}`.slice(0, width);
208
+ const head = `= ${text} `;
209
+ const line = `${head}${'='.repeat(width)}`.slice(0, width);
210
+ return styledListLabel('yellow', line);
207
211
  };
208
212
 
209
213
  const projectLabel = (group) => {
210
- if (group.kind === 'all') return `0 All (${sessions.length})`;
214
+ if (group.kind === 'all') return styledListLabel('white', `0 All (${sessions.length})`);
211
215
  if (group.kind === 'source') {
212
216
  const count = sessionsForSource(group.source.id).length;
213
217
  return machineLabel(group.source, count);
214
218
  }
215
219
  const count = sessions.filter((session) => session.sourceId === group.source.id && session.cwd === group.cwd).length;
216
220
  const base = path.basename(group.cwd) || group.cwd;
217
- return ` ${truncate(base, Math.max(10, projectWidth - 12))} (${count})`;
221
+ return ` ${blessed.escape(`${truncate(base, Math.max(10, projectWidth - 12))} (${count})`)}`;
218
222
  };
219
223
 
220
224
  const sessionLabel = (session) => {