@hanzo/ui 8.27.59 → 8.27.61
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/dist/backends/gui/code-editor.cjs +39 -18
- package/dist/backends/gui/code-editor.d.ts.map +1 -1
- package/dist/backends/gui/code-editor.js +39 -18
- package/dist/backends/gui/code-editor.js.map +1 -1
- package/dist/backends/gui/json-tree.cjs +4 -2
- package/dist/backends/gui/json-tree.d.ts.map +1 -1
- package/dist/backends/gui/json-tree.js +4 -2
- package/dist/backends/gui/json-tree.js.map +1 -1
- package/dist/backends/gui/json.cjs +68 -66
- package/dist/backends/gui/json.d.ts +3 -2
- package/dist/backends/gui/json.d.ts.map +1 -1
- package/dist/backends/gui/json.js +68 -66
- package/dist/backends/gui/json.js.map +1 -1
- package/dist/chat/Composer.cjs +1 -1
- package/dist/chat/Composer.d.ts +1 -1
- package/dist/chat/Composer.js +1 -1
- package/dist/gallery.cjs +4 -4
- package/dist/gallery.d.ts.map +1 -1
- package/dist/gallery.html +4 -5
- package/dist/gallery.js +5 -5
- package/dist/gallery.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/index.node.cjs +1 -1
- package/dist/index.node.js +1 -1
- package/dist/models/ModelPicker.cjs +191 -0
- package/dist/models/ModelPicker.d.ts +27 -0
- package/dist/models/ModelPicker.d.ts.map +1 -0
- package/dist/models/ModelPicker.js +189 -0
- package/dist/models/ModelPicker.js.map +1 -0
- package/dist/models/catalog.cjs +313 -184
- package/dist/models/catalog.d.ts +101 -38
- package/dist/models/catalog.d.ts.map +1 -1
- package/dist/models/catalog.js +295 -179
- package/dist/models/catalog.js.map +1 -1
- package/dist/models/index.cjs +33 -12
- package/dist/models/index.d.ts +7 -4
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +7 -6
- package/dist/models/index.js.map +1 -1
- package/dist/models/picker.logic.cjs +83 -0
- package/dist/models/picker.logic.d.ts +51 -0
- package/dist/models/picker.logic.d.ts.map +1 -0
- package/dist/models/picker.logic.js +74 -0
- package/dist/models/picker.logic.js.map +1 -0
- package/dist/product/limits.cjs +14 -13
- package/dist/product/limits.d.ts +9 -10
- package/dist/product/limits.d.ts.map +1 -1
- package/dist/product/limits.js +14 -12
- package/dist/product/limits.js.map +1 -1
- package/dist/styles.css +1 -2
- package/package.json +1 -1
- package/dist/models/ModelSelector.cjs +0 -80
- package/dist/models/ModelSelector.d.ts +0 -44
- package/dist/models/ModelSelector.d.ts.map +0 -1
- package/dist/models/ModelSelector.js +0 -78
- package/dist/models/ModelSelector.js.map +0 -1
package/dist/models/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
// @hanzo/ui/models — the
|
|
1
|
+
// @hanzo/ui/models — the model catalog and the one model picker.
|
|
2
2
|
//
|
|
3
|
-
// import {
|
|
4
|
-
// const models = await fetchModelCatalog()
|
|
5
|
-
// <
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
3
|
+
// import { ModelPicker, fetchModelCatalog, defaultModel } from '@hanzo/ui/models'
|
|
4
|
+
// const models = await fetchModelCatalog(api, token)
|
|
5
|
+
// <ModelPicker models={models} value={id} onChange={setId} limits={limits} />
|
|
6
|
+
export { ModelPicker } from './ModelPicker.js';
|
|
7
|
+
export { CAPABILITY_NAMES, CLASS_NAMES, FAMILIES, RESEARCH, can, capabilitiesOf, fetchModelCatalog, formatContext, formatPrice, groupKey, groupLabel, groupModels, isPaused, makerName, makerOf, matchesModel, matchesPaused, modelName, modelOf, parseModels, sortModels, withResearch, } from './catalog.js';
|
|
8
|
+
export { ENSO, defaultModel, pickerRows, visibleRange } from './picker.logic.js';
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
package/dist/models/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,EAAE;AACF,oFAAoF;AACpF,uDAAuD;AACvD,gFAAgF;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAG3C,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,QAAQ,EACR,UAAU,EACV,WAAW,EACX,QAAQ,EACR,SAAS,EACT,OAAO,EACP,YAAY,EACZ,aAAa,EACb,SAAS,EACT,OAAO,EACP,WAAW,EACX,UAAU,EACV,YAAY,GACb,MAAM,WAAW,CAAA;AAalB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.restable = exports.modelCount = exports.pickable = exports.ENSO = void 0;
|
|
4
|
+
exports.pickerRows = pickerRows;
|
|
5
|
+
exports.visibleRange = visibleRange;
|
|
6
|
+
exports.revealTop = revealTop;
|
|
7
|
+
exports.defaultModel = defaultModel;
|
|
8
|
+
/**
|
|
9
|
+
* ModelPicker's decisions, as pure functions over plain values: which rows are
|
|
10
|
+
* drawn, which slice of them a scrolled viewport shows, and which model a new
|
|
11
|
+
* conversation starts on. Tested in node.
|
|
12
|
+
*/
|
|
13
|
+
const catalog_1 = require("./catalog.cjs");
|
|
14
|
+
/** The house router: what a conversation is answered by until a model is picked. */
|
|
15
|
+
exports.ENSO = 'enso-auto';
|
|
16
|
+
/** Whether a model may be picked: everything the gateway lists, never a research preview. */
|
|
17
|
+
const pickable = (m) => m.access !== 'research';
|
|
18
|
+
exports.pickable = pickable;
|
|
19
|
+
/**
|
|
20
|
+
* The rows for a catalog: the models `scope` allows (all of them without one),
|
|
21
|
+
* the research previews among them, narrowed by the search, in groups — Hanzo's
|
|
22
|
+
* families first — each sorted by name, with the house router first in Enso.
|
|
23
|
+
*/
|
|
24
|
+
function pickerRows(models, query, scope) {
|
|
25
|
+
const offered = (0, catalog_1.withResearch)(models).filter((m) => (!scope || (0, catalog_1.can)(m, scope)) && (0, catalog_1.matchesModel)(m, query));
|
|
26
|
+
const rows = [];
|
|
27
|
+
const sorted = (0, catalog_1.sortModels)(offered).sort((a, b) => Number(b.id === exports.ENSO) - Number(a.id === exports.ENSO));
|
|
28
|
+
for (const g of (0, catalog_1.groupModels)(sorted)) {
|
|
29
|
+
rows.push({ kind: 'group', key: g.key, label: g.label, count: g.models.length });
|
|
30
|
+
for (const model of g.models)
|
|
31
|
+
rows.push({ kind: 'model', model });
|
|
32
|
+
}
|
|
33
|
+
return rows;
|
|
34
|
+
}
|
|
35
|
+
/** How many models the rows draw. */
|
|
36
|
+
const modelCount = (rows) => rows.filter((r) => r.kind === 'model').length;
|
|
37
|
+
exports.modelCount = modelCount;
|
|
38
|
+
/** Whether the cursor may rest on a row: a model that can be picked. */
|
|
39
|
+
const restable = (rows, i) => {
|
|
40
|
+
const r = rows[i];
|
|
41
|
+
return r?.kind === 'model' && (0, exports.pickable)(r.model);
|
|
42
|
+
};
|
|
43
|
+
exports.restable = restable;
|
|
44
|
+
/**
|
|
45
|
+
* The rows a viewport shows, `over` rows beyond each edge, for rows of one
|
|
46
|
+
* height. `end` is exclusive.
|
|
47
|
+
*/
|
|
48
|
+
function visibleRange(top, height, row, count, over = 8) {
|
|
49
|
+
if (count <= 0 || row <= 0)
|
|
50
|
+
return { start: 0, end: 0 };
|
|
51
|
+
const first = Math.floor(Math.max(0, top) / row);
|
|
52
|
+
const last = Math.ceil((Math.max(0, top) + Math.max(0, height)) / row);
|
|
53
|
+
return { start: Math.max(0, first - over), end: Math.min(count, last + over) };
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The scroll offset that brings row `i` into a viewport, or null when it is in
|
|
57
|
+
* view already: the least movement, the way `scrollIntoView({block:'nearest'})` reads.
|
|
58
|
+
*/
|
|
59
|
+
function revealTop(i, top, height, row) {
|
|
60
|
+
const y = i * row;
|
|
61
|
+
if (y < top)
|
|
62
|
+
return y;
|
|
63
|
+
if (y + row > top + height)
|
|
64
|
+
return y + row - height;
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The model a new conversation, run or playground tab starts on: Enso for a
|
|
69
|
+
* conversation, else the first of Hanzo's own models that does what the scope
|
|
70
|
+
* asks, else the first free or Hanzo model that does. Never a premium model:
|
|
71
|
+
* a person picks one of those. '' when nothing qualifies.
|
|
72
|
+
*/
|
|
73
|
+
function defaultModel(models, scope = 'chat') {
|
|
74
|
+
const offered = models.filter((m) => (0, exports.pickable)(m) && m.class !== 'premium' && (0, catalog_1.can)(m, scope));
|
|
75
|
+
if (scope === 'chat' && offered.some((m) => m.id === exports.ENSO))
|
|
76
|
+
return exports.ENSO;
|
|
77
|
+
for (const f of catalog_1.FAMILIES) {
|
|
78
|
+
const ours = (0, catalog_1.sortModels)(offered.filter((m) => m.family === f.id));
|
|
79
|
+
if (ours.length)
|
|
80
|
+
return ours[0].id;
|
|
81
|
+
}
|
|
82
|
+
return (0, catalog_1.sortModels)(offered)[0]?.id ?? '';
|
|
83
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ModelPicker's decisions, as pure functions over plain values: which rows are
|
|
3
|
+
* drawn, which slice of them a scrolled viewport shows, and which model a new
|
|
4
|
+
* conversation starts on. Tested in node.
|
|
5
|
+
*/
|
|
6
|
+
import { type Capability, type ModelCatalogEntry } from './catalog.js';
|
|
7
|
+
/** The house router: what a conversation is answered by until a model is picked. */
|
|
8
|
+
export declare const ENSO = "enso-auto";
|
|
9
|
+
/** A drawn row: a group's heading, or a model under it. */
|
|
10
|
+
export type PickerRow = {
|
|
11
|
+
kind: 'group';
|
|
12
|
+
key: string;
|
|
13
|
+
label: string;
|
|
14
|
+
count: number;
|
|
15
|
+
} | {
|
|
16
|
+
kind: 'model';
|
|
17
|
+
model: ModelCatalogEntry;
|
|
18
|
+
};
|
|
19
|
+
/** Whether a model may be picked: everything the gateway lists, never a research preview. */
|
|
20
|
+
export declare const pickable: (m: ModelCatalogEntry) => boolean;
|
|
21
|
+
/**
|
|
22
|
+
* The rows for a catalog: the models `scope` allows (all of them without one),
|
|
23
|
+
* the research previews among them, narrowed by the search, in groups — Hanzo's
|
|
24
|
+
* families first — each sorted by name, with the house router first in Enso.
|
|
25
|
+
*/
|
|
26
|
+
export declare function pickerRows(models: readonly ModelCatalogEntry[], query: string, scope?: Capability): PickerRow[];
|
|
27
|
+
/** How many models the rows draw. */
|
|
28
|
+
export declare const modelCount: (rows: readonly PickerRow[]) => number;
|
|
29
|
+
/** Whether the cursor may rest on a row: a model that can be picked. */
|
|
30
|
+
export declare const restable: (rows: readonly PickerRow[], i: number) => boolean;
|
|
31
|
+
/**
|
|
32
|
+
* The rows a viewport shows, `over` rows beyond each edge, for rows of one
|
|
33
|
+
* height. `end` is exclusive.
|
|
34
|
+
*/
|
|
35
|
+
export declare function visibleRange(top: number, height: number, row: number, count: number, over?: number): {
|
|
36
|
+
start: number;
|
|
37
|
+
end: number;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* The scroll offset that brings row `i` into a viewport, or null when it is in
|
|
41
|
+
* view already: the least movement, the way `scrollIntoView({block:'nearest'})` reads.
|
|
42
|
+
*/
|
|
43
|
+
export declare function revealTop(i: number, top: number, height: number, row: number): number | null;
|
|
44
|
+
/**
|
|
45
|
+
* The model a new conversation, run or playground tab starts on: Enso for a
|
|
46
|
+
* conversation, else the first of Hanzo's own models that does what the scope
|
|
47
|
+
* asks, else the first free or Hanzo model that does. Never a premium model:
|
|
48
|
+
* a person picks one of those. '' when nothing qualifies.
|
|
49
|
+
*/
|
|
50
|
+
export declare function defaultModel(models: readonly ModelCatalogEntry[], scope?: Capability): string;
|
|
51
|
+
//# sourceMappingURL=picker.logic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"picker.logic.d.ts","sourceRoot":"","sources":["../../src/models/picker.logic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAOL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,WAAW,CAAA;AAElB,oFAAoF;AACpF,eAAO,MAAM,IAAI,cAAc,CAAA;AAE/B,2DAA2D;AAC3D,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,CAAA;AAE/C,6FAA6F;AAC7F,eAAO,MAAM,QAAQ,MAAO,iBAAiB,KAAG,OAAkC,CAAA;AAElF;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,SAAS,iBAAiB,EAAE,EACpC,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,UAAU,GACjB,SAAS,EAAE,CASb;AAED,qCAAqC;AACrC,eAAO,MAAM,UAAU,SAAU,SAAS,SAAS,EAAE,KAAG,MAAuD,CAAA;AAE/G,wEAAwE;AACxE,eAAO,MAAM,QAAQ,SAAU,SAAS,SAAS,EAAE,KAAK,MAAM,KAAG,OAGhE,CAAA;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,SAAI,GACP;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAKhC;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5F;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,EAAE,KAAK,GAAE,UAAmB,GAAG,MAAM,CAQrG"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ModelPicker's decisions, as pure functions over plain values: which rows are
|
|
3
|
+
* drawn, which slice of them a scrolled viewport shows, and which model a new
|
|
4
|
+
* conversation starts on. Tested in node.
|
|
5
|
+
*/
|
|
6
|
+
import { can, FAMILIES, groupModels, matchesModel, sortModels, withResearch, } from './catalog.js';
|
|
7
|
+
/** The house router: what a conversation is answered by until a model is picked. */
|
|
8
|
+
export const ENSO = 'enso-auto';
|
|
9
|
+
/** Whether a model may be picked: everything the gateway lists, never a research preview. */
|
|
10
|
+
export const pickable = (m) => m.access !== 'research';
|
|
11
|
+
/**
|
|
12
|
+
* The rows for a catalog: the models `scope` allows (all of them without one),
|
|
13
|
+
* the research previews among them, narrowed by the search, in groups — Hanzo's
|
|
14
|
+
* families first — each sorted by name, with the house router first in Enso.
|
|
15
|
+
*/
|
|
16
|
+
export function pickerRows(models, query, scope) {
|
|
17
|
+
const offered = withResearch(models).filter((m) => (!scope || can(m, scope)) && matchesModel(m, query));
|
|
18
|
+
const rows = [];
|
|
19
|
+
const sorted = sortModels(offered).sort((a, b) => Number(b.id === ENSO) - Number(a.id === ENSO));
|
|
20
|
+
for (const g of groupModels(sorted)) {
|
|
21
|
+
rows.push({ kind: 'group', key: g.key, label: g.label, count: g.models.length });
|
|
22
|
+
for (const model of g.models)
|
|
23
|
+
rows.push({ kind: 'model', model });
|
|
24
|
+
}
|
|
25
|
+
return rows;
|
|
26
|
+
}
|
|
27
|
+
/** How many models the rows draw. */
|
|
28
|
+
export const modelCount = (rows) => rows.filter((r) => r.kind === 'model').length;
|
|
29
|
+
/** Whether the cursor may rest on a row: a model that can be picked. */
|
|
30
|
+
export const restable = (rows, i) => {
|
|
31
|
+
const r = rows[i];
|
|
32
|
+
return r?.kind === 'model' && pickable(r.model);
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* The rows a viewport shows, `over` rows beyond each edge, for rows of one
|
|
36
|
+
* height. `end` is exclusive.
|
|
37
|
+
*/
|
|
38
|
+
export function visibleRange(top, height, row, count, over = 8) {
|
|
39
|
+
if (count <= 0 || row <= 0)
|
|
40
|
+
return { start: 0, end: 0 };
|
|
41
|
+
const first = Math.floor(Math.max(0, top) / row);
|
|
42
|
+
const last = Math.ceil((Math.max(0, top) + Math.max(0, height)) / row);
|
|
43
|
+
return { start: Math.max(0, first - over), end: Math.min(count, last + over) };
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The scroll offset that brings row `i` into a viewport, or null when it is in
|
|
47
|
+
* view already: the least movement, the way `scrollIntoView({block:'nearest'})` reads.
|
|
48
|
+
*/
|
|
49
|
+
export function revealTop(i, top, height, row) {
|
|
50
|
+
const y = i * row;
|
|
51
|
+
if (y < top)
|
|
52
|
+
return y;
|
|
53
|
+
if (y + row > top + height)
|
|
54
|
+
return y + row - height;
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The model a new conversation, run or playground tab starts on: Enso for a
|
|
59
|
+
* conversation, else the first of Hanzo's own models that does what the scope
|
|
60
|
+
* asks, else the first free or Hanzo model that does. Never a premium model:
|
|
61
|
+
* a person picks one of those. '' when nothing qualifies.
|
|
62
|
+
*/
|
|
63
|
+
export function defaultModel(models, scope = 'chat') {
|
|
64
|
+
const offered = models.filter((m) => pickable(m) && m.class !== 'premium' && can(m, scope));
|
|
65
|
+
if (scope === 'chat' && offered.some((m) => m.id === ENSO))
|
|
66
|
+
return ENSO;
|
|
67
|
+
for (const f of FAMILIES) {
|
|
68
|
+
const ours = sortModels(offered.filter((m) => m.family === f.id));
|
|
69
|
+
if (ours.length)
|
|
70
|
+
return ours[0].id;
|
|
71
|
+
}
|
|
72
|
+
return sortModels(offered)[0]?.id ?? '';
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=picker.logic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"picker.logic.js","sourceRoot":"","sources":["../../src/models/picker.logic.ts"],"names":[],"mappings":"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"}
|
package/dist/product/limits.cjs
CHANGED
|
@@ -15,7 +15,6 @@ exports.actionsOf = actionsOf;
|
|
|
15
15
|
exports.limitsOf = limitsOf;
|
|
16
16
|
exports.servedOf = servedOf;
|
|
17
17
|
exports.refusalOf = refusalOf;
|
|
18
|
-
exports.classOf = classOf;
|
|
19
18
|
exports.overlay = overlay;
|
|
20
19
|
exports.classesLabel = classesLabel;
|
|
21
20
|
exports.when = when;
|
|
@@ -77,6 +76,18 @@ const classList = (v) => Array.isArray(v) ? v.flatMap((c) => (one(exports.CLASSE
|
|
|
77
76
|
* is not an answer; a class without a numeric percent is left out rather than
|
|
78
77
|
* drawn full or empty.
|
|
79
78
|
*/
|
|
79
|
+
function pausedOf(v) {
|
|
80
|
+
if (!Array.isArray(v))
|
|
81
|
+
return [];
|
|
82
|
+
return v.flatMap((p) => {
|
|
83
|
+
const o = record(p);
|
|
84
|
+
const model = text(o?.model);
|
|
85
|
+
if (!model)
|
|
86
|
+
return [];
|
|
87
|
+
const fallback = text(o?.fallback);
|
|
88
|
+
return [{ model, ...(fallback ? { fallback } : {}), resets_at: text(o?.resets_at) }];
|
|
89
|
+
});
|
|
90
|
+
}
|
|
80
91
|
function limitsOf(body) {
|
|
81
92
|
const o = record(body);
|
|
82
93
|
const plan = text(o?.plan);
|
|
@@ -89,6 +100,7 @@ function limitsOf(body) {
|
|
|
89
100
|
if (got)
|
|
90
101
|
classes[c] = got;
|
|
91
102
|
}
|
|
103
|
+
const paused = pausedOf(o?.paused);
|
|
92
104
|
const lim = record(o?.limited);
|
|
93
105
|
const limited = lim
|
|
94
106
|
? { reason: text(lim.reason) ?? '', classes: classList(lim.classes), message: text(lim.message) ?? '' }
|
|
@@ -102,6 +114,7 @@ function limitsOf(body) {
|
|
|
102
114
|
state,
|
|
103
115
|
classes,
|
|
104
116
|
...(limited ? { limited } : {}),
|
|
117
|
+
...(paused.length ? { paused } : {}),
|
|
105
118
|
actions: actionsOf(o?.actions),
|
|
106
119
|
upgrade: text(o?.upgrade) ?? undefined,
|
|
107
120
|
};
|
|
@@ -145,18 +158,6 @@ function refusalOf(body, status, retryAfter) {
|
|
|
145
158
|
retry: Number.isFinite(retry) ? retry : null,
|
|
146
159
|
};
|
|
147
160
|
}
|
|
148
|
-
/**
|
|
149
|
-
* Which class a model id bills to. Hanzo's own families are `ours`, anything
|
|
150
|
-
* naming the free lane is `free`, and every other model is `premium`.
|
|
151
|
-
*/
|
|
152
|
-
function classOf(id) {
|
|
153
|
-
const bare = id.toLowerCase().replace(/^hanzo\//, '');
|
|
154
|
-
if (bare === 'free' || /(^|[-/:])free($|[-/:])/.test(bare))
|
|
155
|
-
return 'free';
|
|
156
|
-
if (/^(zen|enso|kai|jev)([-.:/0-9]|$)/.test(bare))
|
|
157
|
-
return 'ours';
|
|
158
|
-
return 'premium';
|
|
159
|
-
}
|
|
160
161
|
/** The limits with what served calls said since they were read laid over them. */
|
|
161
162
|
function overlay(limits, heard) {
|
|
162
163
|
if (!limits)
|
package/dist/product/limits.d.ts
CHANGED
|
@@ -25,6 +25,13 @@ export interface Limited {
|
|
|
25
25
|
classes: LimitClass[];
|
|
26
26
|
message: string;
|
|
27
27
|
}
|
|
28
|
+
/** One model paused inside a class that is not: an exact id or a `*` glob (`anthropic/claude-opus*`). */
|
|
29
|
+
export interface PausedModel {
|
|
30
|
+
model: string;
|
|
31
|
+
/** The model that answers in its place. */
|
|
32
|
+
fallback?: string;
|
|
33
|
+
resets_at?: string | null;
|
|
34
|
+
}
|
|
28
35
|
export interface Limits {
|
|
29
36
|
/** The plan slug, or "" for a caller with no plan. */
|
|
30
37
|
plan: string;
|
|
@@ -33,6 +40,8 @@ export interface Limits {
|
|
|
33
40
|
state: LimitState;
|
|
34
41
|
classes: Partial<Record<LimitClass, ClassLimit>>;
|
|
35
42
|
limited?: Limited;
|
|
43
|
+
/** Models paused one by one, by exact id or glob. */
|
|
44
|
+
paused?: PausedModel[];
|
|
36
45
|
actions: LimitAction[];
|
|
37
46
|
upgrade?: string;
|
|
38
47
|
}
|
|
@@ -72,11 +81,6 @@ export declare const CLASS_LABEL: Record<LimitClass, string>;
|
|
|
72
81
|
/** The worse of two states. */
|
|
73
82
|
export declare const worst: (a: LimitState, b: LimitState) => LimitState;
|
|
74
83
|
export declare function actionsOf(v: unknown): LimitAction[];
|
|
75
|
-
/**
|
|
76
|
-
* `GET /v1/ai/limits`, checked field by field. A body without a string `plan`
|
|
77
|
-
* is not an answer; a class without a numeric percent is left out rather than
|
|
78
|
-
* drawn full or empty.
|
|
79
|
-
*/
|
|
80
84
|
export declare function limitsOf(body: unknown): Limits | null;
|
|
81
85
|
/** The usage headers on a served call, or null when it carries none. */
|
|
82
86
|
export declare function servedOf(headers: {
|
|
@@ -84,11 +88,6 @@ export declare function servedOf(headers: {
|
|
|
84
88
|
}): Served | null;
|
|
85
89
|
/** A billing refusal's envelope, or null for any other error. */
|
|
86
90
|
export declare function refusalOf(body: unknown, status: number, retryAfter?: string | null): Refusal | null;
|
|
87
|
-
/**
|
|
88
|
-
* Which class a model id bills to. Hanzo's own families are `ours`, anything
|
|
89
|
-
* naming the free lane is `free`, and every other model is `premium`.
|
|
90
|
-
*/
|
|
91
|
-
export declare function classOf(id: string): LimitClass;
|
|
92
91
|
/** The headers and refusal heard since the limits were last read. */
|
|
93
92
|
export interface Heard {
|
|
94
93
|
served: Served | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../src/product/limits.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../src/product/limits.ts"],"names":[],"mappings":"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"}
|
package/dist/product/limits.js
CHANGED
|
@@ -63,6 +63,18 @@ const classList = (v) => Array.isArray(v) ? v.flatMap((c) => (one(CLASSES, c) ?
|
|
|
63
63
|
* is not an answer; a class without a numeric percent is left out rather than
|
|
64
64
|
* drawn full or empty.
|
|
65
65
|
*/
|
|
66
|
+
function pausedOf(v) {
|
|
67
|
+
if (!Array.isArray(v))
|
|
68
|
+
return [];
|
|
69
|
+
return v.flatMap((p) => {
|
|
70
|
+
const o = record(p);
|
|
71
|
+
const model = text(o?.model);
|
|
72
|
+
if (!model)
|
|
73
|
+
return [];
|
|
74
|
+
const fallback = text(o?.fallback);
|
|
75
|
+
return [{ model, ...(fallback ? { fallback } : {}), resets_at: text(o?.resets_at) }];
|
|
76
|
+
});
|
|
77
|
+
}
|
|
66
78
|
export function limitsOf(body) {
|
|
67
79
|
const o = record(body);
|
|
68
80
|
const plan = text(o?.plan);
|
|
@@ -75,6 +87,7 @@ export function limitsOf(body) {
|
|
|
75
87
|
if (got)
|
|
76
88
|
classes[c] = got;
|
|
77
89
|
}
|
|
90
|
+
const paused = pausedOf(o?.paused);
|
|
78
91
|
const lim = record(o?.limited);
|
|
79
92
|
const limited = lim
|
|
80
93
|
? { reason: text(lim.reason) ?? '', classes: classList(lim.classes), message: text(lim.message) ?? '' }
|
|
@@ -88,6 +101,7 @@ export function limitsOf(body) {
|
|
|
88
101
|
state,
|
|
89
102
|
classes,
|
|
90
103
|
...(limited ? { limited } : {}),
|
|
104
|
+
...(paused.length ? { paused } : {}),
|
|
91
105
|
actions: actionsOf(o?.actions),
|
|
92
106
|
upgrade: text(o?.upgrade) ?? undefined,
|
|
93
107
|
};
|
|
@@ -131,18 +145,6 @@ export function refusalOf(body, status, retryAfter) {
|
|
|
131
145
|
retry: Number.isFinite(retry) ? retry : null,
|
|
132
146
|
};
|
|
133
147
|
}
|
|
134
|
-
/**
|
|
135
|
-
* Which class a model id bills to. Hanzo's own families are `ours`, anything
|
|
136
|
-
* naming the free lane is `free`, and every other model is `premium`.
|
|
137
|
-
*/
|
|
138
|
-
export function classOf(id) {
|
|
139
|
-
const bare = id.toLowerCase().replace(/^hanzo\//, '');
|
|
140
|
-
if (bare === 'free' || /(^|[-/:])free($|[-/:])/.test(bare))
|
|
141
|
-
return 'free';
|
|
142
|
-
if (/^(zen|enso|kai|jev)([-.:/0-9]|$)/.test(bare))
|
|
143
|
-
return 'ours';
|
|
144
|
-
return 'premium';
|
|
145
|
-
}
|
|
146
148
|
/** The limits with what served calls said since they were read laid over them. */
|
|
147
149
|
export function overlay(limits, heard) {
|
|
148
150
|
if (!limits)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limits.js","sourceRoot":"","sources":["../../src/product/limits.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,8EAA8E;AAC9E,8CAA8C;AAC9C,EAAE;AACF,4EAA4E;AAC5E,4EAA4E;AAC5E,8EAA8E;AAC9E,aAAa;AACb,EAAE;AACF,kEAAkE;AAgFlE,MAAM,CAAC,MAAM,OAAO,GAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAEzE,MAAM,CAAC,MAAM,WAAW,GAA+B;IACrD,OAAO,EAAE,gBAAgB;IACzB,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,aAAa;CACpB,CAAA;AAED,MAAM,MAAM,GAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;AAC/D,MAAM,MAAM,GAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;AAC5E,MAAM,IAAI,GAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;AACtE,MAAM,IAAI,GAA+B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;AAEvE,MAAM,IAAI,GAAG,CAAC,CAAU,EAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAC9E,MAAM,GAAG,GAAG,CAAmB,GAAiB,EAAE,CAAU,EAAY,EAAE,CACxE,OAAO,CAAC,KAAK,QAAQ,IAAK,GAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAO,CAAC,CAAC,CAAC,IAAI,CAAA;AACnF,MAAM,MAAM,GAAG,CAAC,CAAU,EAAkC,EAAE,CAC5D,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAA6B,CAAC,CAAC,CAAC,IAAI,CAAA;AAEzF,+BAA+B;AAC/B,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAa,EAAE,CAAa,EAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE9F,mEAAmE;AACnE,MAAM,KAAK,GAAG,CAAC,CAAU,EAAiB,EAAE,CAC1C,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAEhG,SAAS,QAAQ,CAAC,CAAU;IAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACnB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACjC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACjC,OAAO;QACL,OAAO;QACP,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC;KAC9B,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,CAAU;IAC7B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACrB,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACnB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACnB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACjC,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;AAChG,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,CAAU;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IAChC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAiB,EAAE;QACpC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACnB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,CAAU,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACxB,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAA;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC1B,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACrI,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAU,EAAgB,EAAE,CAC7C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAEtF;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IACtB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAC1B,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC9B,MAAM,OAAO,GAA4C,EAAE,CAAA;IAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAC9B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,GAAG;YAAE,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;IAC3B,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAC9B,MAAM,OAAO,GAAwB,GAAG;QACtC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;QACvG,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,KAAK,GACT,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC;QACrB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAa,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IACzH,OAAO;QACL,IAAI;QACJ,YAAY,EAAE,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,SAAS;QAChD,UAAU,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,SAAS;QAC5C,KAAK;QACL,OAAO;QACP,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC;QAC9B,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,SAAS;KACvC,CAAA;AACH,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,QAAQ,CAAC,OAA6C;IACpE,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAA;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAA;IACxD,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IACpC,OAAO;QACL,KAAK,EAAE,KAAK,IAAI,SAAS;QACzB,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACvD,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACjD,QAAQ;QACR,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,IAAI;KACpD,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,IAAI,GAAsB,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAA;AAEvE,iEAAiE;AACjE,MAAM,UAAU,SAAS,CAAC,IAAa,EAAE,MAAc,EAAE,UAA0B;IACjF,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;IACrC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACnB,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACpH,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IACnD,OAAO;QACL,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;QACxB,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;QAC5B,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5B,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;KAC7C,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,EAAU;IAChC,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IACrD,IAAI,IAAI,KAAK,MAAM,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAA;IACzE,IAAI,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAA;IAChE,OAAO,SAAS,CAAA;AAClB,CAAC;AAQD,kFAAkF;AAClF,MAAM,UAAU,OAAO,CAAC,MAAqB,EAAE,KAAY;IACzD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,MAAM,OAAO,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;IACrC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IACjC,IAAI,MAAM,EAAE,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAE,CAAA;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAA;IACvD,CAAC;IACD,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAE,CAAA;QACjC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,EAAE,CAAA;IAClH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EACtE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACpD,CAAA;IACD,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAA;AAChF,CAAC;AAED,qFAAqF;AACrF,MAAM,OAAO,GAAG,CAAC,CAAyB,EAAiB,EAAE,CAC3D,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAEjG,MAAM,QAAQ,GAAG,CAAC,GAAsB,EAAiB,EAAE,CACzD,GAAG,CAAC,MAAM,CAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AAEnG,oDAAoD;AACpD,MAAM,UAAU,YAAY,CAAC,OAAqB;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAA;IAC3G,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAA;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAG,CAAA;IACzB,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAA;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,IAAI,CAAC,GAA8B,EAAE,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;IAC3E,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IACrC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IAC9B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;IACrB,OAAO,CAAC,GAAG,GAAG,GAAG,UAAU;QACzB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACvE,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAA;AACxF,CAAC;AAED,MAAM,KAAK,GAA2B;IACpC,kBAAkB,EAAE,kCAAkC;IACtD,aAAa,EAAE,4CAA4C;IAC3D,oBAAoB,EAAE,kCAAkC;CACzD,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,MAAqB,EACrB,KAAY,EACZ,IAAI,GAA2B,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EACzC,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;IAExB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IACjC,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAA;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAa,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAA;IACnE,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACpG,IAAI,OAAO,EAAE,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9C,IAAI,QAAQ,IAAI,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnF,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAEzF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAClD,MAAM,MAAM,GAAG,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,IAAI,EAAE,CAAA;IAC/E,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC,CAAA;IACtG,MAAM,MAAM,GAAG,MAAM,KAAK,qBAAqB,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/B,MAAM,IAAI,GAAG,MAAM;QACjB,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;QACtE,CAAC,CAAC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,0BAA0B,CAAA;IAC/F,OAAO;QACL,MAAM;QACN,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,uBAAuB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;QAC1E,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;QAC3E,SAAS,EAAE,MAAM;QACjB,QAAQ;QACR,OAAO,EAAE,OAAO,KAAK,IAAI;KAC1B,CAAA;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,MAAM,CAAC,MAAqB,EAAE,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;IACpE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACtD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAChC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC3B,OAAO,CAAC,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,KAAK,MAAM,CAAC,CAAA;IAChF,CAAC,CAAC,CAAA;IACF,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC9E,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACrF,OAAO,wCAAwC,IAAI,gBAAgB,KAAK,CAAC,CAAC,CAAC,WAAW,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;AACvG,CAAC"}
|
|
1
|
+
{"version":3,"file":"limits.js","sourceRoot":"","sources":["../../src/product/limits.ts"],"names":[],"mappings":"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"}
|
package/dist/styles.css
CHANGED
|
@@ -3108,8 +3108,6 @@ a svg,
|
|
|
3108
3108
|
:root ._col-background{color:var(--background);}
|
|
3109
3109
|
:root ._col-bad{color:var(--bad);}
|
|
3110
3110
|
:root ._col-color{color:var(--color);}
|
|
3111
|
-
:root ._col-color11{color:var(--color11);}
|
|
3112
|
-
:root ._col-color12{color:var(--color12);}
|
|
3113
3111
|
:root ._col-destructive1568942800{color:var(--destructive-foreground);}
|
|
3114
3112
|
:root ._col-faint{color:var(--faint);}
|
|
3115
3113
|
:root ._col-green11{color:var(--green11);}
|
|
@@ -3480,6 +3478,7 @@ a svg,
|
|
|
3480
3478
|
:root ._self-stretch{align-self:stretch;}
|
|
3481
3479
|
:root ._shrink-0{flex-shrink:0;}
|
|
3482
3480
|
:root ._shrink-1{flex-shrink:1;}
|
|
3481
|
+
:root ._shrink-2{flex-shrink:2;}
|
|
3483
3482
|
@media (min-width: 768px){:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root:root ._shrink-_md_0{flex-shrink:0;}}
|
|
3484
3483
|
:root ._t-0px{top:0px;}
|
|
3485
3484
|
:root ._t-20px{top:20px;}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hanzo/ui",
|
|
3
|
-
"version": "8.27.
|
|
3
|
+
"version": "8.27.61",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Hanzo UI — the one canonical Hanzo component library, on @hanzo/gui + @hanzo/design. ONE substrate: every component renders through @hanzo/gui primitives, so the same import works on web, native (expo) and desktop (Tauri). Self-contained (theme.css), presentational, host-agnostic, clean-room.",
|
|
6
6
|
"exports": {
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
'use client';"use strict";
|
|
2
|
-
'use client';
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.ModelSelector = ModelSelector;
|
|
5
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
-
const react_1 = require("react");
|
|
7
|
-
const sx_1 = require("../sx.cjs");
|
|
8
|
-
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
9
|
-
const gui_1 = require("@hanzo/gui");
|
|
10
|
-
const gui_2 = require("../backends/gui/index.cjs");
|
|
11
|
-
const catalog_1 = require("./catalog.cjs");
|
|
12
|
-
/** Show the search input once a catalog gets this large. */
|
|
13
|
-
const SEARCH_THRESHOLD = 12;
|
|
14
|
-
/** Panel floor when the trigger has not reported its width yet. */
|
|
15
|
-
const MIN_W = 224;
|
|
16
|
-
const MAX_H = 288;
|
|
17
|
-
function fmtContext(ctx) {
|
|
18
|
-
if (!ctx)
|
|
19
|
-
return '';
|
|
20
|
-
if (ctx >= 1_000_000)
|
|
21
|
-
return `${(ctx / 1_000_000).toFixed(ctx % 1_000_000 === 0 ? 0 : 1)}M`;
|
|
22
|
-
if (ctx >= 1000)
|
|
23
|
-
return `${Math.round(ctx / 1000)}K`;
|
|
24
|
-
return `${ctx}`;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* ModelSelector — the one unified model picker for every Hanzo app.
|
|
28
|
-
*
|
|
29
|
-
* Family-grouped picker in a Popover + Command combobox: grouped sections with
|
|
30
|
-
* family headers, premium markers, context suffixes, keyboard navigation, and
|
|
31
|
-
* type-to-filter search for large catalogs.
|
|
32
|
-
*
|
|
33
|
-
* A model `paused` names is listed and chosen like any other, with a quiet
|
|
34
|
-
* "Paused" where its context size would sit.
|
|
35
|
-
*
|
|
36
|
-
* A model with `access` is listed and never chosen: its row is disabled, says
|
|
37
|
-
* why, and links to where a person asks for access. The link sits inside a
|
|
38
|
-
* list item rather than an option, so it is a control of its own and not one
|
|
39
|
-
* nested in another; it keeps Enter to itself, which the list would otherwise
|
|
40
|
-
* take as a pick.
|
|
41
|
-
*
|
|
42
|
-
* Styling is gui style props and tokens throughout — no class strings. The panel
|
|
43
|
-
* matches the trigger's MEASURED width (`onLayout`, which gui implements on web
|
|
44
|
-
* too), never a Radix `--radix-popover-trigger-width` custom property: nothing
|
|
45
|
-
* defines that variable now that Radix is gone.
|
|
46
|
-
*/
|
|
47
|
-
function ModelSelector({ models, value, onChange, disabled = false, size = 'md', placeholder = 'Select model', chatOnly = true, className, open: openProp, onOpenChange, paused, }) {
|
|
48
|
-
const [own, setOwn] = (0, react_1.useState)(false);
|
|
49
|
-
const open = openProp ?? own;
|
|
50
|
-
const setOpen = (next) => {
|
|
51
|
-
if (openProp === undefined)
|
|
52
|
-
setOwn(next);
|
|
53
|
-
onOpenChange?.(next);
|
|
54
|
-
};
|
|
55
|
-
const [triggerW, setTriggerW] = (0, react_1.useState)(0);
|
|
56
|
-
const visible = (0, react_1.useMemo)(() => (chatOnly ? (0, catalog_1.filterChatModels)(models) : models), [models, chatOnly]);
|
|
57
|
-
const groups = (0, react_1.useMemo)(() => (0, catalog_1.groupModelsByFamily)(visible), [visible]);
|
|
58
|
-
const showSearch = visible.length > SEARCH_THRESHOLD;
|
|
59
|
-
// Resolve the selected label from the FULL list so a current pick still shows
|
|
60
|
-
// even when chatOnly would otherwise hide it.
|
|
61
|
-
const selected = value ? models.find((m) => m.id === value) : undefined;
|
|
62
|
-
const selectedLabel = selected ? (selected.label ?? selected.id) : placeholder;
|
|
63
|
-
const selectedFamily = selected ? (0, catalog_1.familyOf)(selected) : undefined;
|
|
64
|
-
const isSm = size === 'sm';
|
|
65
|
-
return ((0, jsx_runtime_1.jsxs)(gui_2.Popover, { open: open, onOpenChange: setOpen, children: [(0, jsx_runtime_1.jsx)(gui_1.XStack, { onLayout: (e) => setTriggerW(e.nativeEvent.layout.width), children: (0, jsx_runtime_1.jsx)(gui_2.PopoverTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(gui_2.Button, { variant: "outline", size: isSm ? 'sm' : 'default', role: "combobox", "aria-expanded": open, disabled: disabled, justify: "flex-start", ...(0, sx_1.sx)(className), children: [(0, jsx_runtime_1.jsx)(gui_1.SizableText, { numberOfLines: 1, size: isSm ? '$1' : '$2', color: "$color12", children: selectedLabel }), selectedFamily && ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { numberOfLines: 1, size: isSm ? '$1' : '$2', color: "$color11", children: selectedFamily })), (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronsUpDown, { size: isSm ? 12 : 14, ml: "auto", shrink: 0, opacity: 0.5 })] }) }) }), (0, jsx_runtime_1.jsx)(gui_2.PopoverContent, { align: "start", p: 0, width: Math.max(triggerW, MIN_W), children: (0, jsx_runtime_1.jsxs)(gui_2.Command, { children: [showSearch && (0, jsx_runtime_1.jsx)(gui_2.CommandInput, { placeholder: "Search models\u2026" }), (0, jsx_runtime_1.jsxs)(gui_2.CommandList, { maxH: MAX_H, children: [(0, jsx_runtime_1.jsx)(gui_2.CommandEmpty, { children: "No models found." }), groups.map((group) => ((0, jsx_runtime_1.jsx)(gui_2.CommandGroup, { heading: group.family, children: group.models.map((m) => {
|
|
66
|
-
const label = m.label ?? m.id;
|
|
67
|
-
const ctx = fmtContext(m.context_window);
|
|
68
|
-
const locked = m.access === 'research';
|
|
69
|
-
const resting = !locked && (paused?.(m) ?? false);
|
|
70
|
-
return ((0, jsx_runtime_1.jsxs)(gui_2.CommandItem, { value: `${group.family} ${label} ${m.id}`, disabled: locked, "aria-disabled": locked ? false : undefined, "data-access": m.access, "data-paused": resting || undefined,
|
|
71
|
-
// The name is muted, not the row: its link has to read as a link.
|
|
72
|
-
opacity: 1, onSelect: () => {
|
|
73
|
-
onChange(m.id);
|
|
74
|
-
setOpen(false);
|
|
75
|
-
}, children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { flex: 1, minW: 0, items: "center", gap: "$2", "aria-disabled": locked || undefined, opacity: locked ? 0.5 : 1, children: [(0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: 14, shrink: 0, opacity: m.id === value ? 1 : 0 }), (0, jsx_runtime_1.jsx)(gui_1.SizableText, { numberOfLines: 1, size: "$2", children: label }), m.premium && ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$color11", "aria-label": "Premium", children: "\u2726" })), locked ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { ml: "auto", shrink: 0, pl: "$2", size: "$1", color: "$color11", children: "Research preview" })) : resting ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { ml: "auto", shrink: 0, pl: "$2", size: "$1", color: "$color11", children: "Paused" })) : ctx && ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ml: "auto", shrink: 0, pl: "$2", children: (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", color: "$color11", fontVariant: ['tabular-nums'], children: ctx }) }))] }), locked && m.request && ((0, jsx_runtime_1.jsx)(gui_2.Anchor, { href: m.request, target: "_blank", rel: "noopener noreferrer", shrink: 0, size: "$1", color: "$color12", textDecorationLine: "underline",
|
|
76
|
-
// The row takes no pointer while disabled; its link does.
|
|
77
|
-
pointerEvents: "auto", onKeyDown: (e) => e.stopPropagation(), children: "Request access" }))] }, m.id));
|
|
78
|
-
}) }, group.family)))] })] }) })] }));
|
|
79
|
-
}
|
|
80
|
-
exports.default = ModelSelector;
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { type ModelCatalogEntry } from './catalog.js';
|
|
2
|
-
export interface ModelSelectorProps {
|
|
3
|
-
models: ModelCatalogEntry[];
|
|
4
|
-
value?: string;
|
|
5
|
-
onChange: (id: string) => void;
|
|
6
|
-
disabled?: boolean;
|
|
7
|
-
size?: 'sm' | 'md';
|
|
8
|
-
placeholder?: string;
|
|
9
|
-
/** Default true: filter to chat-capable models (exclude embedding/image/etc.). */
|
|
10
|
-
chatOnly?: boolean;
|
|
11
|
-
className?: string;
|
|
12
|
-
/** Open state, when the host owns it. */
|
|
13
|
-
open?: boolean;
|
|
14
|
-
onOpenChange?: (open: boolean) => void;
|
|
15
|
-
/**
|
|
16
|
-
* Models whose class of usage is paused. Each still picks — the server
|
|
17
|
-
* refuses it or answers from a free model — and its row says "Paused".
|
|
18
|
-
*/
|
|
19
|
-
paused?: (model: ModelCatalogEntry) => boolean;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* ModelSelector — the one unified model picker for every Hanzo app.
|
|
23
|
-
*
|
|
24
|
-
* Family-grouped picker in a Popover + Command combobox: grouped sections with
|
|
25
|
-
* family headers, premium markers, context suffixes, keyboard navigation, and
|
|
26
|
-
* type-to-filter search for large catalogs.
|
|
27
|
-
*
|
|
28
|
-
* A model `paused` names is listed and chosen like any other, with a quiet
|
|
29
|
-
* "Paused" where its context size would sit.
|
|
30
|
-
*
|
|
31
|
-
* A model with `access` is listed and never chosen: its row is disabled, says
|
|
32
|
-
* why, and links to where a person asks for access. The link sits inside a
|
|
33
|
-
* list item rather than an option, so it is a control of its own and not one
|
|
34
|
-
* nested in another; it keeps Enter to itself, which the list would otherwise
|
|
35
|
-
* take as a pick.
|
|
36
|
-
*
|
|
37
|
-
* Styling is gui style props and tokens throughout — no class strings. The panel
|
|
38
|
-
* matches the trigger's MEASURED width (`onLayout`, which gui implements on web
|
|
39
|
-
* too), never a Radix `--radix-popover-trigger-width` custom property: nothing
|
|
40
|
-
* defines that variable now that Radix is gone.
|
|
41
|
-
*/
|
|
42
|
-
export declare function ModelSelector({ models, value, onChange, disabled, size, placeholder, chatOnly, className, open: openProp, onOpenChange, paused, }: ModelSelectorProps): import("react").JSX.Element;
|
|
43
|
-
export default ModelSelector;
|
|
44
|
-
//# sourceMappingURL=ModelSelector.d.ts.map
|