@hanzo/ui 8.27.60 → 8.27.63

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.
Files changed (55) hide show
  1. package/dist/auth/SignIn.cjs +2 -78
  2. package/dist/auth/SignIn.d.ts +1 -9
  3. package/dist/auth/SignIn.d.ts.map +1 -1
  4. package/dist/auth/SignIn.js +2 -78
  5. package/dist/auth/SignIn.js.map +1 -1
  6. package/dist/chat/Composer.cjs +1 -1
  7. package/dist/chat/Composer.d.ts +1 -1
  8. package/dist/chat/Composer.js +1 -1
  9. package/dist/consent/Consent.cjs +8 -23
  10. package/dist/consent/Consent.d.ts.map +1 -1
  11. package/dist/consent/Consent.js +11 -26
  12. package/dist/consent/Consent.js.map +1 -1
  13. package/dist/gallery.cjs +4 -4
  14. package/dist/gallery.d.ts.map +1 -1
  15. package/dist/gallery.html +4 -5
  16. package/dist/gallery.js +5 -5
  17. package/dist/gallery.js.map +1 -1
  18. package/dist/index.cjs +1 -1
  19. package/dist/index.js +1 -1
  20. package/dist/index.node.cjs +1 -1
  21. package/dist/index.node.js +1 -1
  22. package/dist/marketing/Footer.cjs +1 -1
  23. package/dist/marketing/Footer.js +1 -1
  24. package/dist/models/ModelPicker.cjs +191 -0
  25. package/dist/models/ModelPicker.d.ts +27 -0
  26. package/dist/models/ModelPicker.d.ts.map +1 -0
  27. package/dist/models/ModelPicker.js +189 -0
  28. package/dist/models/ModelPicker.js.map +1 -0
  29. package/dist/models/catalog.cjs +331 -181
  30. package/dist/models/catalog.d.ts +110 -38
  31. package/dist/models/catalog.d.ts.map +1 -1
  32. package/dist/models/catalog.js +312 -176
  33. package/dist/models/catalog.js.map +1 -1
  34. package/dist/models/index.cjs +33 -12
  35. package/dist/models/index.d.ts +7 -4
  36. package/dist/models/index.d.ts.map +1 -1
  37. package/dist/models/index.js +7 -6
  38. package/dist/models/index.js.map +1 -1
  39. package/dist/models/picker.logic.cjs +62 -0
  40. package/dist/models/picker.logic.d.ts +41 -0
  41. package/dist/models/picker.logic.d.ts.map +1 -0
  42. package/dist/models/picker.logic.js +54 -0
  43. package/dist/models/picker.logic.js.map +1 -0
  44. package/dist/product/limits.cjs +14 -13
  45. package/dist/product/limits.d.ts +9 -10
  46. package/dist/product/limits.d.ts.map +1 -1
  47. package/dist/product/limits.js +14 -12
  48. package/dist/product/limits.js.map +1 -1
  49. package/dist/styles.css +1 -2
  50. package/package.json +2 -2
  51. package/dist/models/ModelSelector.cjs +0 -80
  52. package/dist/models/ModelSelector.d.ts +0 -44
  53. package/dist/models/ModelSelector.d.ts.map +0 -1
  54. package/dist/models/ModelSelector.js +0 -78
  55. package/dist/models/ModelSelector.js.map +0 -1
@@ -1,6 +1,9 @@
1
- export { ModelSelector } from './ModelSelector.js';
2
- export type { ModelSelectorProps } from './ModelSelector.js';
3
- export { familyOf, groupModelsByFamily, isChatModel, filterChatModels, fetchModelCatalog, RESEARCH, } from './catalog.js';
4
- export type { ModelCatalogEntry } from './catalog.js';
1
+ export { ModelPicker } from './ModelPicker.js';
2
+ export type { ModelPickerProps } from './ModelPicker.js';
3
+ export { CAPABILITY_NAMES, CLASS_NAMES, ENSO, FAMILIES, RESEARCH, can, capabilitiesOf, defaultModel, fetchModelCatalog, formatContext, formatPrice, groupKey, groupLabel, groupModels, isPaused, makerName, makerOf, matchesModel, matchesPaused, modelName, modelOf, parseModels, sortModels, withResearch, } from './catalog.js';
4
+ export type { Capability, ModelCatalogEntry, ModelClass, ModelFamily, ModelGroup, ModelPricing, ModelSort, PauseSource, } from './catalog.js';
5
+ export type { PausedModel } from '../product/limits.js';
6
+ export { pickerRows, visibleRange } from './picker.logic.js';
7
+ export type { PickerRow } from './picker.logic.js';
5
8
  export type { ZenModelLike, ModelFamilyLike, ModelSpecLike, ModelPricingLike } from './types.js';
6
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,GACT,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAElD,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,cAAc,EACd,YAAY,EACZ,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;AAClB,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EACT,WAAW,GACZ,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACzD,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA"}
@@ -1,8 +1,9 @@
1
- // @hanzo/ui/models — the unified, data-agnostic model picker + catalog helpers.
1
+ // @hanzo/ui/models — the model catalog and the one model picker.
2
2
  //
3
- // import { ModelSelector, fetchModelCatalog } from '@hanzo/ui/models'
4
- // const models = await fetchModelCatalog()
5
- // <ModelSelector models={models} value={id} onChange={setId} />
6
- export { ModelSelector } from './ModelSelector.js';
7
- export { familyOf, groupModelsByFamily, isChatModel, filterChatModels, fetchModelCatalog, RESEARCH, } from './catalog.js';
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, ENSO, FAMILIES, RESEARCH, can, capabilitiesOf, defaultModel, fetchModelCatalog, formatContext, formatPrice, groupKey, groupLabel, groupModels, isPaused, makerName, makerOf, matchesModel, matchesPaused, modelName, modelOf, parseModels, sortModels, withResearch, } from './catalog.js';
8
+ export { pickerRows, visibleRange } from './picker.logic.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,wEAAwE;AACxE,6CAA6C;AAC7C,kEAAkE;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,GACT,MAAM,WAAW,CAAA"}
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,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,cAAc,EACd,YAAY,EACZ,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,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.restable = exports.modelCount = exports.pickable = void 0;
4
+ exports.pickerRows = pickerRows;
5
+ exports.visibleRange = visibleRange;
6
+ exports.revealTop = revealTop;
7
+ /**
8
+ * ModelPicker's decisions, as pure functions over plain values: which rows are
9
+ * drawn, and which slice of them a scrolled viewport shows. Tested in node.
10
+ */
11
+ const catalog_1 = require("./catalog.cjs");
12
+ /** Whether a model may be picked: everything the gateway lists, never a research preview. */
13
+ const pickable = (m) => m.access !== 'research';
14
+ exports.pickable = pickable;
15
+ /**
16
+ * The rows for a catalog: the models `scope` allows (all of them without one),
17
+ * the research previews among them, narrowed by the search, in groups — Hanzo's
18
+ * families first — each sorted by name, with the house router first in Enso.
19
+ */
20
+ function pickerRows(models, query, scope) {
21
+ const offered = (0, catalog_1.withResearch)(models).filter((m) => (!scope || (0, catalog_1.can)(m, scope)) && (0, catalog_1.matchesModel)(m, query));
22
+ const rows = [];
23
+ const sorted = (0, catalog_1.sortModels)(offered).sort((a, b) => Number(b.id === catalog_1.ENSO) - Number(a.id === catalog_1.ENSO));
24
+ for (const g of (0, catalog_1.groupModels)(sorted)) {
25
+ rows.push({ kind: 'group', key: g.key, label: g.label, count: g.models.length });
26
+ for (const model of g.models)
27
+ rows.push({ kind: 'model', model });
28
+ }
29
+ return rows;
30
+ }
31
+ /** How many models the rows draw. */
32
+ const modelCount = (rows) => rows.filter((r) => r.kind === 'model').length;
33
+ exports.modelCount = modelCount;
34
+ /** Whether the cursor may rest on a row: a model that can be picked. */
35
+ const restable = (rows, i) => {
36
+ const r = rows[i];
37
+ return r?.kind === 'model' && (0, exports.pickable)(r.model);
38
+ };
39
+ exports.restable = restable;
40
+ /**
41
+ * The rows a viewport shows, `over` rows beyond each edge, for rows of one
42
+ * height. `end` is exclusive.
43
+ */
44
+ function visibleRange(top, height, row, count, over = 8) {
45
+ if (count <= 0 || row <= 0)
46
+ return { start: 0, end: 0 };
47
+ const first = Math.floor(Math.max(0, top) / row);
48
+ const last = Math.ceil((Math.max(0, top) + Math.max(0, height)) / row);
49
+ return { start: Math.max(0, first - over), end: Math.min(count, last + over) };
50
+ }
51
+ /**
52
+ * The scroll offset that brings row `i` into a viewport, or null when it is in
53
+ * view already: the least movement, the way `scrollIntoView({block:'nearest'})` reads.
54
+ */
55
+ function revealTop(i, top, height, row) {
56
+ const y = i * row;
57
+ if (y < top)
58
+ return y;
59
+ if (y + row > top + height)
60
+ return y + row - height;
61
+ return null;
62
+ }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * ModelPicker's decisions, as pure functions over plain values: which rows are
3
+ * drawn, and which slice of them a scrolled viewport shows. Tested in node.
4
+ */
5
+ import { type Capability, type ModelCatalogEntry } from './catalog.js';
6
+ /** A drawn row: a group's heading, or a model under it. */
7
+ export type PickerRow = {
8
+ kind: 'group';
9
+ key: string;
10
+ label: string;
11
+ count: number;
12
+ } | {
13
+ kind: 'model';
14
+ model: ModelCatalogEntry;
15
+ };
16
+ /** Whether a model may be picked: everything the gateway lists, never a research preview. */
17
+ export declare const pickable: (m: ModelCatalogEntry) => boolean;
18
+ /**
19
+ * The rows for a catalog: the models `scope` allows (all of them without one),
20
+ * the research previews among them, narrowed by the search, in groups — Hanzo's
21
+ * families first — each sorted by name, with the house router first in Enso.
22
+ */
23
+ export declare function pickerRows(models: readonly ModelCatalogEntry[], query: string, scope?: Capability): PickerRow[];
24
+ /** How many models the rows draw. */
25
+ export declare const modelCount: (rows: readonly PickerRow[]) => number;
26
+ /** Whether the cursor may rest on a row: a model that can be picked. */
27
+ export declare const restable: (rows: readonly PickerRow[], i: number) => boolean;
28
+ /**
29
+ * The rows a viewport shows, `over` rows beyond each edge, for rows of one
30
+ * height. `end` is exclusive.
31
+ */
32
+ export declare function visibleRange(top: number, height: number, row: number, count: number, over?: number): {
33
+ start: number;
34
+ end: number;
35
+ };
36
+ /**
37
+ * The scroll offset that brings row `i` into a viewport, or null when it is in
38
+ * view already: the least movement, the way `scrollIntoView({block:'nearest'})` reads.
39
+ */
40
+ export declare function revealTop(i: number, top: number, height: number, row: number): number | null;
41
+ //# 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;;;GAGG;AACH,OAAO,EAOL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,WAAW,CAAA;AAElB,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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * ModelPicker's decisions, as pure functions over plain values: which rows are
3
+ * drawn, and which slice of them a scrolled viewport shows. Tested in node.
4
+ */
5
+ import { can, ENSO, groupModels, matchesModel, sortModels, withResearch, } from './catalog.js';
6
+ /** Whether a model may be picked: everything the gateway lists, never a research preview. */
7
+ export const pickable = (m) => m.access !== 'research';
8
+ /**
9
+ * The rows for a catalog: the models `scope` allows (all of them without one),
10
+ * the research previews among them, narrowed by the search, in groups — Hanzo's
11
+ * families first — each sorted by name, with the house router first in Enso.
12
+ */
13
+ export function pickerRows(models, query, scope) {
14
+ const offered = withResearch(models).filter((m) => (!scope || can(m, scope)) && matchesModel(m, query));
15
+ const rows = [];
16
+ const sorted = sortModels(offered).sort((a, b) => Number(b.id === ENSO) - Number(a.id === ENSO));
17
+ for (const g of groupModels(sorted)) {
18
+ rows.push({ kind: 'group', key: g.key, label: g.label, count: g.models.length });
19
+ for (const model of g.models)
20
+ rows.push({ kind: 'model', model });
21
+ }
22
+ return rows;
23
+ }
24
+ /** How many models the rows draw. */
25
+ export const modelCount = (rows) => rows.filter((r) => r.kind === 'model').length;
26
+ /** Whether the cursor may rest on a row: a model that can be picked. */
27
+ export const restable = (rows, i) => {
28
+ const r = rows[i];
29
+ return r?.kind === 'model' && pickable(r.model);
30
+ };
31
+ /**
32
+ * The rows a viewport shows, `over` rows beyond each edge, for rows of one
33
+ * height. `end` is exclusive.
34
+ */
35
+ export function visibleRange(top, height, row, count, over = 8) {
36
+ if (count <= 0 || row <= 0)
37
+ return { start: 0, end: 0 };
38
+ const first = Math.floor(Math.max(0, top) / row);
39
+ const last = Math.ceil((Math.max(0, top) + Math.max(0, height)) / row);
40
+ return { start: Math.max(0, first - over), end: Math.min(count, last + over) };
41
+ }
42
+ /**
43
+ * The scroll offset that brings row `i` into a viewport, or null when it is in
44
+ * view already: the least movement, the way `scrollIntoView({block:'nearest'})` reads.
45
+ */
46
+ export function revealTop(i, top, height, row) {
47
+ const y = i * row;
48
+ if (y < top)
49
+ return y;
50
+ if (y + row > top + height)
51
+ return y + row - height;
52
+ return null;
53
+ }
54
+ //# 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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"}
@@ -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)
@@ -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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"}
@@ -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":"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"}
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.60",
3
+ "version": "8.27.63",
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": {
@@ -383,7 +383,7 @@
383
383
  },
384
384
  "devDependencies": {
385
385
  "@hanzo/cd": "0.1.2",
386
- "@hanzo/event": "0.3.56",
386
+ "@hanzo/event": "0.3.57",
387
387
  "@hanzo/dashboard": "0.2.0",
388
388
  "@hanzo/data": "1.2.4",
389
389
  "@hanzo/gui": "8.3.5",
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModelSelector.d.ts","sourceRoot":"","sources":["../../src/models/ModelSelector.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAAmD,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAenG,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,iBAAiB,EAAE,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yCAAyC;IACzC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAA;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,IAAW,EACX,WAA4B,EAC5B,QAAe,EACf,SAAS,EACT,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,MAAM,GACP,EAAE,kBAAkB,+BA2IpB;eAEc,aAAa"}