devez-vibe 1.3.3 → 1.3.5

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/bin/dvz.exe CHANGED
Binary file
@@ -21,9 +21,10 @@ const sessions = new Map();
21
21
  // transcript under, so a session can be renamed mid-flight. Old id → live id,
22
22
  // which keeps ids the host already handed out (or wrote to disk) resolvable.
23
23
  const sessionAliases = new Map();
24
- const pendingHostRequests = new Map();
25
- const modelCatalogs = new Map();
26
- let nextHostRequest = 1;
24
+ const pendingHostRequests = new Map();
25
+ const modelCatalogs = new Map();
26
+ const CLAUDE_MODEL_ORDER = ["fable", "opus", "sonnet", "haiku"];
27
+ let nextHostRequest = 1;
27
28
 
28
29
  class AsyncQueue {
29
30
  constructor() {
@@ -185,7 +186,7 @@ function catalogEntry(model, defaultResolvedModel) {
185
186
  };
186
187
  }
187
188
 
188
- async function loadModelCatalog(params) {
189
+ async function loadModelCatalog(params) {
189
190
  const cacheKey = `${params.claudePath || "claude"}\n${params.cwd || process.cwd()}`;
190
191
  if (modelCatalogs.has(cacheKey)) return modelCatalogs.get(cacheKey);
191
192
  const pending = (async () => {
@@ -206,10 +207,18 @@ async function loadModelCatalog(params) {
206
207
  })();
207
208
  try {
208
209
  const models = await agentQuery.supportedModels();
209
- const defaultResolvedModel = String(
210
- models.find((model) => model.value === "default")?.resolvedModel || "",
211
- );
212
- return {
210
+ const defaultResolvedModel = String(
211
+ models.find((model) => model.value === "default")?.resolvedModel || "",
212
+ );
213
+ models.sort((left, right) => {
214
+ const leftFamily = String(left.value || "").match(/(fable|opus|sonnet|haiku)/i)?.[1]?.toLowerCase();
215
+ const rightFamily = String(right.value || "").match(/(fable|opus|sonnet|haiku)/i)?.[1]?.toLowerCase();
216
+ const leftOrder = CLAUDE_MODEL_ORDER.indexOf(leftFamily);
217
+ const rightOrder = CLAUDE_MODEL_ORDER.indexOf(rightFamily);
218
+ return (leftOrder < 0 ? CLAUDE_MODEL_ORDER.length : leftOrder)
219
+ - (rightOrder < 0 ? CLAUDE_MODEL_ORDER.length : rightOrder);
220
+ });
221
+ return {
213
222
  data: models
214
223
  .filter((model) => model.value && model.value !== "default")
215
224
  .map((model) => catalogEntry(model, defaultResolvedModel)),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devez-vibe",
3
- "version": "1.3.3",
3
+ "version": "1.3.5",
4
4
  "description": "Stable terminal UI for Codex and Claude Agent SDK",
5
5
  "keywords": [
6
6
  "codex",