offgrid-ai 0.15.1 → 0.15.2

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": "offgrid-ai",
3
- "version": "0.15.1",
3
+ "version": "0.15.2",
4
4
  "description": "Privacy-first CLI for running local LLMs — discover, configure, run, benchmark",
5
5
  "author": "Eeshan Srivastava (https://eeshans.com)",
6
6
  "type": "module",
@@ -85,9 +85,7 @@ export async function modelCommandCenter(initialCatalog) {
85
85
  for (const { backendId, sourceId, items } of byBackend.values()) {
86
86
  const backendLabel = backendFor(backendId)?.label ?? backendId;
87
87
  const sourceLabel = formatSourceLabel(sourceId);
88
- const sep = sourceLabel && sourceLabel !== backendLabel
89
- ? `${backendLabel} · ${sourceLabel} (${items.length})`
90
- : `${backendLabel} (${items.length})`;
88
+ const sep = `Inference: ${backendLabel} via Download Source: ${sourceLabel} (${items.length})`;
91
89
  const groupItems = items.map((item) => {
92
90
  const opt = modelSelectOption(item, { runningProfilesNow, modelMissingIds, nameWidth, compact: true });
93
91
  return { value: opt.value, label: opt.label, description: opt.description };
@@ -177,7 +177,7 @@ export function modelSelectOption(item, { runningProfilesNow, modelMissingIds, n
177
177
  const full = `${item.label} · ${backendLabel}`;
178
178
  return {
179
179
  value: itemKey(item),
180
- label: [pc.yellow(pc.bold(optionPad(full, null, nameWidth))), optionQuantLabel(item), optionCtxLabel(item), pc.dim(optionSizeLabel(item))].join(OPTION_SEPARATOR),
180
+ label: [pc.yellow("○"), pc.yellow(pc.bold(optionPad(full, null, nameWidth))), optionQuantLabel(item), optionCtxLabel(item), pc.dim(optionSizeLabel(item))].join(OPTION_SEPARATOR),
181
181
  };
182
182
  }
183
183
 
package/src/ui.mjs CHANGED
@@ -144,7 +144,10 @@ export function createPrompt() {
144
144
 
145
145
  export async function modelSelect(label, groups, { defaultKey, pageSize = 20 } = {}) {
146
146
  const choices = [];
147
- for (const group of groups) {
147
+ for (let i = 0; i < groups.length; i++) {
148
+ const group = groups[i];
149
+ // Add blank line before each group (except the first)
150
+ if (i > 0) choices.push(new Separator(""));
148
151
  if (group.separator) {
149
152
  choices.push(new Separator(group.separator));
150
153
  }