@stigmer/react 0.4.4 → 0.4.6
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/billing/AutoRechargeCard.js +2 -2
- package/billing/AutoRechargeCard.js.map +1 -1
- package/billing/CreditLedgerTable.js +1 -1
- package/billing/CreditLedgerTable.js.map +1 -1
- package/billing/CreditPackGrid.js +1 -1
- package/billing/CreditPackGrid.js.map +1 -1
- package/billing/LowBalanceBanner.js +1 -1
- package/billing/LowBalanceBanner.js.map +1 -1
- package/index.d.ts +2 -2
- package/index.d.ts.map +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/internal/__tests__/stream-controller.test.js +34 -1
- package/internal/__tests__/stream-controller.test.js.map +1 -1
- package/internal/stream-controller.d.ts.map +1 -1
- package/internal/stream-controller.js +3 -3
- package/internal/stream-controller.js.map +1 -1
- package/models/ModelRegistryContext.d.ts +21 -0
- package/models/ModelRegistryContext.d.ts.map +1 -0
- package/models/ModelRegistryContext.js +22 -0
- package/models/ModelRegistryContext.js.map +1 -0
- package/models/ModelSelector.js +3 -3
- package/models/ModelSelector.js.map +1 -1
- package/models/__tests__/useModelRegistry.test.js +127 -32
- package/models/__tests__/useModelRegistry.test.js.map +1 -1
- package/models/index.d.ts +3 -1
- package/models/index.d.ts.map +1 -1
- package/models/index.js +2 -1
- package/models/index.js.map +1 -1
- package/models/registry.d.ts +20 -12
- package/models/registry.d.ts.map +1 -1
- package/models/registry.js +51 -27
- package/models/registry.js.map +1 -1
- package/models/useModelRegistry.d.ts +11 -3
- package/models/useModelRegistry.d.ts.map +1 -1
- package/models/useModelRegistry.js +13 -5
- package/models/useModelRegistry.js.map +1 -1
- package/package.json +4 -4
- package/provider.d.ts.map +1 -1
- package/provider.js +42 -1
- package/provider.js.map +1 -1
- package/session/__tests__/useNewSessionFlow.test.js +32 -18
- package/session/__tests__/useNewSessionFlow.test.js.map +1 -1
- package/session/__tests__/usePersistedModel.test.js +26 -12
- package/session/__tests__/usePersistedModel.test.js.map +1 -1
- package/src/billing/AutoRechargeCard.tsx +2 -2
- package/src/billing/CreditLedgerTable.tsx +1 -1
- package/src/billing/CreditPackGrid.tsx +1 -1
- package/src/billing/LowBalanceBanner.tsx +1 -1
- package/src/index.ts +4 -1
- package/src/internal/__tests__/stream-controller.test.ts +47 -1
- package/src/internal/stream-controller.ts +4 -4
- package/src/models/ModelRegistryContext.ts +32 -0
- package/src/models/ModelSelector.tsx +4 -4
- package/src/models/__tests__/useModelRegistry.test.tsx +150 -41
- package/src/models/index.ts +3 -1
- package/src/models/registry.ts +51 -30
- package/src/models/useModelRegistry.ts +18 -7
- package/src/provider.tsx +58 -8
- package/src/session/__tests__/useNewSessionFlow.test.tsx +39 -18
- package/src/session/__tests__/usePersistedModel.test.tsx +33 -12
- package/src/usage/OrgUsagePanel.tsx +3 -3
- package/styles.css +1 -1
- package/usage/OrgUsagePanel.js +1 -1
- package/usage/OrgUsagePanel.js.map +1 -1
|
@@ -1,32 +1,115 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
2
|
import { describe, it, expect } from "vitest";
|
|
2
3
|
import { renderHook } from "@testing-library/react";
|
|
3
4
|
import { useModelRegistry } from "../useModelRegistry";
|
|
4
|
-
import {
|
|
5
|
+
import { DEFAULT_MODEL_ID, DEFAULT_CURSOR_MODEL_ID, DISABLED_PROVIDERS, modelKey, parseRegistryJson, } from "../registry";
|
|
6
|
+
import { ModelRegistryContext } from "../ModelRegistryContext";
|
|
7
|
+
/**
|
|
8
|
+
* Minimal inline registry data for tests. Mirrors the shape of the
|
|
9
|
+
* API response without depending on a static JSON file.
|
|
10
|
+
*/
|
|
11
|
+
const TEST_REGISTRY_JSON = {
|
|
12
|
+
models: [
|
|
13
|
+
{
|
|
14
|
+
id: "claude-sonnet-4.6",
|
|
15
|
+
displayName: "Claude Sonnet 4.6",
|
|
16
|
+
shortDescription: "Balanced capability",
|
|
17
|
+
speedTier: "fast",
|
|
18
|
+
provider: "anthropic",
|
|
19
|
+
harness: "native",
|
|
20
|
+
costTier: "standard",
|
|
21
|
+
featured: true,
|
|
22
|
+
pricing: { inputPricePerMillion: 3, outputPricePerMillion: 15, cacheWritePricePerMillion: 3.75, cacheReadPricePerMillion: 0.3 },
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: "claude-opus-4.6",
|
|
26
|
+
displayName: "Claude Opus 4.6",
|
|
27
|
+
shortDescription: "Complex reasoning",
|
|
28
|
+
speedTier: "slow",
|
|
29
|
+
provider: "anthropic",
|
|
30
|
+
harness: "native",
|
|
31
|
+
costTier: "premium",
|
|
32
|
+
featured: true,
|
|
33
|
+
pricing: { inputPricePerMillion: 5, outputPricePerMillion: 25, cacheWritePricePerMillion: 6.25, cacheReadPricePerMillion: 0.5 },
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: "gpt-4o",
|
|
37
|
+
displayName: "GPT-4o",
|
|
38
|
+
shortDescription: "Fast reasoning",
|
|
39
|
+
speedTier: "fast",
|
|
40
|
+
provider: "openai",
|
|
41
|
+
harness: "native",
|
|
42
|
+
costTier: "standard",
|
|
43
|
+
featured: true,
|
|
44
|
+
pricing: { inputPricePerMillion: 2.5, outputPricePerMillion: 10, cacheWritePricePerMillion: 2.5, cacheReadPricePerMillion: 1.25 },
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: "default",
|
|
48
|
+
displayName: "Cursor Auto",
|
|
49
|
+
shortDescription: "Automatic model selection",
|
|
50
|
+
speedTier: "fast",
|
|
51
|
+
provider: "cursor",
|
|
52
|
+
harness: "cursor",
|
|
53
|
+
costTier: "standard",
|
|
54
|
+
featured: true,
|
|
55
|
+
pricing: { inputPricePerMillion: 1.25, outputPricePerMillion: 6, cacheWritePricePerMillion: 1.25, cacheReadPricePerMillion: 0.25 },
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: "claude-4.6-sonnet",
|
|
59
|
+
displayName: "Claude 4.6 Sonnet",
|
|
60
|
+
shortDescription: "Balanced Cursor model",
|
|
61
|
+
speedTier: "fast",
|
|
62
|
+
provider: "anthropic",
|
|
63
|
+
harness: "cursor",
|
|
64
|
+
costTier: "standard",
|
|
65
|
+
featured: false,
|
|
66
|
+
pricing: { inputPricePerMillion: 3, outputPricePerMillion: 15, cacheWritePricePerMillion: 3.75, cacheReadPricePerMillion: 0.3 },
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: "ollama-local",
|
|
70
|
+
displayName: "Ollama Local",
|
|
71
|
+
shortDescription: "Local model",
|
|
72
|
+
speedTier: "fast",
|
|
73
|
+
provider: "ollama",
|
|
74
|
+
harness: "native",
|
|
75
|
+
costTier: "economy",
|
|
76
|
+
featured: false,
|
|
77
|
+
pricing: { inputPricePerMillion: 0, outputPricePerMillion: 0, cacheWritePricePerMillion: 0, cacheReadPricePerMillion: 0 },
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
};
|
|
81
|
+
const TEST_MODELS = parseRegistryJson(TEST_REGISTRY_JSON);
|
|
82
|
+
function createWrapper(models = TEST_MODELS) {
|
|
83
|
+
const state = { models, isLoading: false, error: null };
|
|
84
|
+
return function Wrapper({ children }) {
|
|
85
|
+
return (_jsx(ModelRegistryContext.Provider, { value: state, children: children }));
|
|
86
|
+
};
|
|
87
|
+
}
|
|
5
88
|
describe("useModelRegistry", () => {
|
|
6
89
|
describe("unified mode (no harness)", () => {
|
|
7
90
|
it("excludes DISABLED_PROVIDERS from models", () => {
|
|
8
|
-
const { result } = renderHook(() => useModelRegistry());
|
|
91
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper: createWrapper() });
|
|
9
92
|
for (const model of result.current.models) {
|
|
10
93
|
expect(DISABLED_PROVIDERS.has(model.provider)).toBe(false);
|
|
11
94
|
}
|
|
12
95
|
});
|
|
13
96
|
it("includes models from both native and cursor harnesses", () => {
|
|
14
|
-
const { result } = renderHook(() => useModelRegistry());
|
|
97
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper: createWrapper() });
|
|
15
98
|
const harnesses = new Set(result.current.models.map((m) => m.harness));
|
|
16
99
|
expect(harnesses.has("native")).toBe(true);
|
|
17
100
|
expect(harnesses.has("cursor")).toBe(true);
|
|
18
101
|
});
|
|
19
|
-
it("includes all non-disabled models
|
|
20
|
-
const { result } = renderHook(() => useModelRegistry());
|
|
21
|
-
const expected =
|
|
102
|
+
it("includes all non-disabled models", () => {
|
|
103
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper: createWrapper() });
|
|
104
|
+
const expected = TEST_MODELS.filter((m) => !DISABLED_PROVIDERS.has(m.provider));
|
|
22
105
|
expect(result.current.models).toHaveLength(expected.length);
|
|
23
106
|
});
|
|
24
107
|
it("resolves defaultModel to DEFAULT_MODEL_ID", () => {
|
|
25
|
-
const { result } = renderHook(() => useModelRegistry());
|
|
108
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper: createWrapper() });
|
|
26
109
|
expect(result.current.defaultModel.modelId).toBe(DEFAULT_MODEL_ID);
|
|
27
110
|
});
|
|
28
111
|
it("groups models by provider in byProvider map", () => {
|
|
29
|
-
const { result } = renderHook(() => useModelRegistry());
|
|
112
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper: createWrapper() });
|
|
30
113
|
for (const [provider, models] of result.current.byProvider) {
|
|
31
114
|
for (const m of models) {
|
|
32
115
|
expect(m.provider).toBe(provider);
|
|
@@ -34,43 +117,43 @@ describe("useModelRegistry", () => {
|
|
|
34
117
|
}
|
|
35
118
|
});
|
|
36
119
|
it("returns providers matching byProvider keys in order", () => {
|
|
37
|
-
const { result } = renderHook(() => useModelRegistry());
|
|
120
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper: createWrapper() });
|
|
38
121
|
const fromMap = Array.from(result.current.byProvider.keys());
|
|
39
122
|
expect(result.current.providers).toEqual(fromMap);
|
|
40
123
|
});
|
|
41
124
|
it("looks up enabled models by getModel", () => {
|
|
42
|
-
const { result } = renderHook(() => useModelRegistry());
|
|
125
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper: createWrapper() });
|
|
43
126
|
const model = result.current.getModel(DEFAULT_MODEL_ID);
|
|
44
127
|
expect(model).toBeDefined();
|
|
45
128
|
expect(model.modelId).toBe(DEFAULT_MODEL_ID);
|
|
46
129
|
});
|
|
47
130
|
it("returns undefined for disabled provider models via getModel", () => {
|
|
48
|
-
const { result } = renderHook(() => useModelRegistry());
|
|
49
|
-
const disabledModel =
|
|
131
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper: createWrapper() });
|
|
132
|
+
const disabledModel = TEST_MODELS.find((m) => DISABLED_PROVIDERS.has(m.provider));
|
|
50
133
|
if (disabledModel) {
|
|
51
134
|
expect(result.current.getModel(disabledModel.modelId)).toBeUndefined();
|
|
52
135
|
}
|
|
53
136
|
});
|
|
54
137
|
it("returns undefined for unknown model IDs via getModel", () => {
|
|
55
|
-
const { result } = renderHook(() => useModelRegistry());
|
|
138
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper: createWrapper() });
|
|
56
139
|
expect(result.current.getModel("nonexistent-model")).toBeUndefined();
|
|
57
140
|
});
|
|
58
141
|
it("returns featured models subset", () => {
|
|
59
|
-
const { result } = renderHook(() => useModelRegistry());
|
|
142
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper: createWrapper() });
|
|
60
143
|
expect(result.current.featured.length).toBeGreaterThan(0);
|
|
61
144
|
for (const model of result.current.featured) {
|
|
62
145
|
expect(model.featured).toBe(true);
|
|
63
146
|
}
|
|
64
147
|
});
|
|
65
148
|
it("featured models are a subset of all models", () => {
|
|
66
|
-
const { result } = renderHook(() => useModelRegistry());
|
|
149
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper: createWrapper() });
|
|
67
150
|
const allKeys = new Set(result.current.models.map((m) => modelKey(m.harness, m.modelId)));
|
|
68
151
|
for (const model of result.current.featured) {
|
|
69
152
|
expect(allKeys.has(modelKey(model.harness, model.modelId))).toBe(true);
|
|
70
153
|
}
|
|
71
154
|
});
|
|
72
155
|
it("resolves models by compound key via getByKey", () => {
|
|
73
|
-
const { result } = renderHook(() => useModelRegistry());
|
|
156
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper: createWrapper() });
|
|
74
157
|
const key = modelKey("native", DEFAULT_MODEL_ID);
|
|
75
158
|
const model = result.current.getByKey(key);
|
|
76
159
|
expect(model).toBeDefined();
|
|
@@ -78,7 +161,7 @@ describe("useModelRegistry", () => {
|
|
|
78
161
|
expect(model.harness).toBe("native");
|
|
79
162
|
});
|
|
80
163
|
it("resolves cursor models by compound key via getByKey", () => {
|
|
81
|
-
const { result } = renderHook(() => useModelRegistry());
|
|
164
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper: createWrapper() });
|
|
82
165
|
const key = modelKey("cursor", DEFAULT_CURSOR_MODEL_ID);
|
|
83
166
|
const model = result.current.getByKey(key);
|
|
84
167
|
expect(model).toBeDefined();
|
|
@@ -86,24 +169,24 @@ describe("useModelRegistry", () => {
|
|
|
86
169
|
expect(model.harness).toBe("cursor");
|
|
87
170
|
});
|
|
88
171
|
it("returns undefined for unknown compound keys via getByKey", () => {
|
|
89
|
-
const { result } = renderHook(() => useModelRegistry());
|
|
172
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper: createWrapper() });
|
|
90
173
|
expect(result.current.getByKey("native/nonexistent")).toBeUndefined();
|
|
91
174
|
});
|
|
92
175
|
});
|
|
93
176
|
describe("native harness (explicit)", () => {
|
|
94
177
|
it("shows only native-harness models", () => {
|
|
95
|
-
const { result } = renderHook(() => useModelRegistry({ harness: "native" }));
|
|
178
|
+
const { result } = renderHook(() => useModelRegistry({ harness: "native" }), { wrapper: createWrapper() });
|
|
96
179
|
for (const model of result.current.models) {
|
|
97
180
|
expect(model.harness).toBe("native");
|
|
98
181
|
}
|
|
99
182
|
});
|
|
100
183
|
it("excludes cursor-harness models", () => {
|
|
101
|
-
const { result } = renderHook(() => useModelRegistry({ harness: "native" }));
|
|
184
|
+
const { result } = renderHook(() => useModelRegistry({ harness: "native" }), { wrapper: createWrapper() });
|
|
102
185
|
const cursorModels = result.current.models.filter((m) => m.harness === "cursor");
|
|
103
186
|
expect(cursorModels).toHaveLength(0);
|
|
104
187
|
});
|
|
105
188
|
it("resolves defaultModel to the first featured native model", () => {
|
|
106
|
-
const { result } = renderHook(() => useModelRegistry({ harness: "native" }));
|
|
189
|
+
const { result } = renderHook(() => useModelRegistry({ harness: "native" }), { wrapper: createWrapper() });
|
|
107
190
|
const featured = result.current.featured;
|
|
108
191
|
expect(featured.length).toBeGreaterThan(0);
|
|
109
192
|
expect(result.current.defaultModel.modelId).toBe(featured[0].modelId);
|
|
@@ -111,37 +194,49 @@ describe("useModelRegistry", () => {
|
|
|
111
194
|
});
|
|
112
195
|
describe("cursor harness", () => {
|
|
113
196
|
it("shows only cursor-harness models", () => {
|
|
114
|
-
const { result } = renderHook(() => useModelRegistry({ harness: "cursor" }));
|
|
197
|
+
const { result } = renderHook(() => useModelRegistry({ harness: "cursor" }), { wrapper: createWrapper() });
|
|
115
198
|
for (const model of result.current.models) {
|
|
116
199
|
expect(model.harness).toBe("cursor");
|
|
117
200
|
}
|
|
118
201
|
});
|
|
119
202
|
it("includes cursor-harness models from multiple providers", () => {
|
|
120
|
-
const { result } = renderHook(() => useModelRegistry({ harness: "cursor" }));
|
|
203
|
+
const { result } = renderHook(() => useModelRegistry({ harness: "cursor" }), { wrapper: createWrapper() });
|
|
121
204
|
const providers = new Set(result.current.models.map((m) => m.provider));
|
|
122
205
|
expect(providers.size).toBeGreaterThan(1);
|
|
123
206
|
});
|
|
124
|
-
it("includes all cursor-harness models from MODEL_REGISTRY", () => {
|
|
125
|
-
const { result } = renderHook(() => useModelRegistry({ harness: "cursor" }));
|
|
126
|
-
const cursorModels = MODEL_REGISTRY.filter((m) => m.harness === "cursor");
|
|
127
|
-
expect(result.current.models).toHaveLength(cursorModels.length);
|
|
128
|
-
});
|
|
129
207
|
it("resolves defaultModel to DEFAULT_CURSOR_MODEL_ID", () => {
|
|
130
|
-
const { result } = renderHook(() => useModelRegistry({ harness: "cursor" }));
|
|
208
|
+
const { result } = renderHook(() => useModelRegistry({ harness: "cursor" }), { wrapper: createWrapper() });
|
|
131
209
|
expect(result.current.defaultModel.modelId).toBe(DEFAULT_CURSOR_MODEL_ID);
|
|
132
210
|
});
|
|
133
211
|
it("looks up cursor models via getModel", () => {
|
|
134
|
-
const { result } = renderHook(() => useModelRegistry({ harness: "cursor" }));
|
|
212
|
+
const { result } = renderHook(() => useModelRegistry({ harness: "cursor" }), { wrapper: createWrapper() });
|
|
135
213
|
expect(result.current.getModel(DEFAULT_CURSOR_MODEL_ID)).toBeDefined();
|
|
136
214
|
});
|
|
137
215
|
it("cannot look up native-only models via getModel", () => {
|
|
138
|
-
const { result } = renderHook(() => useModelRegistry({ harness: "cursor" }));
|
|
216
|
+
const { result } = renderHook(() => useModelRegistry({ harness: "cursor" }), { wrapper: createWrapper() });
|
|
139
217
|
expect(result.current.getModel(DEFAULT_MODEL_ID)).toBeUndefined();
|
|
140
218
|
});
|
|
141
219
|
});
|
|
220
|
+
describe("loading state", () => {
|
|
221
|
+
it("exposes isLoading from context", () => {
|
|
222
|
+
const loadingState = { models: [], isLoading: true, error: null };
|
|
223
|
+
const wrapper = ({ children }) => (_jsx(ModelRegistryContext.Provider, { value: loadingState, children: children }));
|
|
224
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper });
|
|
225
|
+
expect(result.current.isLoading).toBe(true);
|
|
226
|
+
expect(result.current.models).toHaveLength(0);
|
|
227
|
+
});
|
|
228
|
+
it("exposes error from context", () => {
|
|
229
|
+
const err = new Error("fetch failed");
|
|
230
|
+
const errorState = { models: [], isLoading: false, error: err };
|
|
231
|
+
const wrapper = ({ children }) => (_jsx(ModelRegistryContext.Provider, { value: errorState, children: children }));
|
|
232
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper });
|
|
233
|
+
expect(result.current.error).toBe(err);
|
|
234
|
+
expect(result.current.isLoading).toBe(false);
|
|
235
|
+
});
|
|
236
|
+
});
|
|
142
237
|
describe("defaultModel fallback", () => {
|
|
143
238
|
it("falls back to the first enabled model when default ID is missing", () => {
|
|
144
|
-
const { result } = renderHook(() => useModelRegistry());
|
|
239
|
+
const { result } = renderHook(() => useModelRegistry(), { wrapper: createWrapper() });
|
|
145
240
|
expect(result.current.defaultModel).toBeDefined();
|
|
146
241
|
expect(result.current.models).toContain(result.current.defaultModel);
|
|
147
242
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useModelRegistry.test.js","sourceRoot":"","sources":["../../../src/models/__tests__/useModelRegistry.test.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useModelRegistry.test.js","sourceRoot":"","sources":["../../../src/models/__tests__/useModelRegistry.test.tsx"],"names":[],"mappings":"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"}
|
package/models/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { DEFAULT_MODEL_ID, DEFAULT_CURSOR_MODEL_ID, DISABLED_PROVIDERS, modelKey, parseModelKey, resolveDefaultModelId, fetchModelRegistry, parseRegistryJson } from "./registry";
|
|
2
2
|
export type { ParsedModelKey, DefaultModelResolution, DefaultModelSource } from "./registry";
|
|
3
3
|
export type { ModelInfo, Provider, CostTier, SpeedTier } from "./registry";
|
|
4
4
|
export { useModelRegistry } from "./useModelRegistry";
|
|
5
5
|
export type { UseModelRegistryReturn, UseModelRegistryOptions } from "./useModelRegistry";
|
|
6
|
+
export { ModelRegistryContext, useModelRegistryContext } from "./ModelRegistryContext";
|
|
7
|
+
export type { ModelRegistryState } from "./ModelRegistryContext";
|
|
6
8
|
export { ModelSelector } from "./ModelSelector";
|
|
7
9
|
export type { ModelSelectorProps } from "./ModelSelector";
|
|
8
10
|
export { HarnessSelector } from "./HarnessSelector";
|
package/models/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAClL,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7F,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACvF,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7H,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
|
package/models/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { DEFAULT_MODEL_ID, DEFAULT_CURSOR_MODEL_ID, DISABLED_PROVIDERS, modelKey, parseModelKey, resolveDefaultModelId, fetchModelRegistry, parseRegistryJson } from "./registry";
|
|
2
2
|
export { useModelRegistry } from "./useModelRegistry";
|
|
3
|
+
export { ModelRegistryContext, useModelRegistryContext } from "./ModelRegistryContext";
|
|
3
4
|
export { ModelSelector } from "./ModelSelector";
|
|
4
5
|
export { HarnessSelector } from "./HarnessSelector";
|
|
5
6
|
export { DEFAULT_HARNESS, HARNESS_LABELS, HARNESS_META, HARNESS_OPTIONS, toProtoHarness, fromProtoHarness } from "./harness";
|
package/models/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGlL,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEvF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC"}
|
package/models/registry.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Model registry — UI-relevant metadata for all platform-supported LLM models.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Fetches from the public model registry API endpoint at runtime and caches
|
|
5
|
+
* the result in the {@link StigmerProvider} context. This eliminates the
|
|
6
|
+
* static JSON file that previously shipped in the npm package.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* Platform consumers (React SDK, cursor-runner, graphton) all fetch from the
|
|
9
|
+
* same endpoint, each with their own local TTL cache.
|
|
9
10
|
*/
|
|
10
11
|
import type { HarnessOption } from "./harness";
|
|
11
12
|
/**
|
|
@@ -28,14 +29,14 @@ export type SpeedTier = "fastest" | "fast" | "balanced" | "slow";
|
|
|
28
29
|
/**
|
|
29
30
|
* LLM provider identifier. Each provider maps to a distinct inference
|
|
30
31
|
* backend (or intermediary, in the case of Cursor-served third-party
|
|
31
|
-
* models). The
|
|
32
|
+
* models). The model registry uses this for grouping in the
|
|
32
33
|
* "Show All" expanded view.
|
|
33
34
|
*/
|
|
34
35
|
export type Provider = "anthropic" | "openai" | "google" | "xai" | "cursor" | "moonshot" | "ollama";
|
|
35
36
|
/**
|
|
36
37
|
* Providers whose models should be hidden from the UI.
|
|
37
38
|
*
|
|
38
|
-
* The model entries themselves stay in
|
|
39
|
+
* The model entries themselves stay in the registry so backend
|
|
39
40
|
* compatibility is preserved. The useModelRegistry hook filters
|
|
40
41
|
* them out before anything reaches a component.
|
|
41
42
|
*
|
|
@@ -106,13 +107,20 @@ export interface ParsedModelKey {
|
|
|
106
107
|
*/
|
|
107
108
|
export declare function parseModelKey(key: string): ParsedModelKey | undefined;
|
|
108
109
|
/**
|
|
109
|
-
*
|
|
110
|
-
* unified JSON registry.
|
|
110
|
+
* Parse raw registry JSON (from the API or a static file) into `ModelInfo[]`.
|
|
111
111
|
*
|
|
112
|
-
* {
|
|
113
|
-
*
|
|
112
|
+
* Expects the shape `{ models: RegistryJsonEntry[] }`. Filters out comment
|
|
113
|
+
* entries and invalid rows, then maps to the `ModelInfo` interface.
|
|
114
114
|
*/
|
|
115
|
-
export declare
|
|
115
|
+
export declare function parseRegistryJson(data: unknown): ModelInfo[];
|
|
116
|
+
/**
|
|
117
|
+
* Fetch the model registry from the authenticated API endpoint.
|
|
118
|
+
*
|
|
119
|
+
* @param apiUrl - Base URL of the Stigmer Cloud API (e.g. `https://api.stigmer.ai`)
|
|
120
|
+
* @param token - Bearer token for authentication (from `client.getAuthCredential()`)
|
|
121
|
+
* @returns Parsed `ModelInfo[]`.
|
|
122
|
+
*/
|
|
123
|
+
export declare function fetchModelRegistry(apiUrl: string, token: string | null): Promise<ModelInfo[]>;
|
|
116
124
|
/**
|
|
117
125
|
* Model ID used when no user preference is set (native harness).
|
|
118
126
|
*
|
|
@@ -146,7 +154,7 @@ export interface DefaultModelResolution {
|
|
|
146
154
|
* Future phases will add org-level and agent-level defaults between
|
|
147
155
|
* user preference and harness default.
|
|
148
156
|
*/
|
|
149
|
-
export declare function resolveDefaultModelId(harness: HarnessOption, options?: {
|
|
157
|
+
export declare function resolveDefaultModelId(harness: HarnessOption, models: readonly ModelInfo[], options?: {
|
|
150
158
|
userPreference?: string;
|
|
151
159
|
orgDefault?: string;
|
|
152
160
|
agentDefault?: string;
|
package/models/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/models/registry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/models/registry.ts"],"names":[],"mappings":"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"}
|
package/models/registry.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Model registry — UI-relevant metadata for all platform-supported LLM models.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Fetches from the public model registry API endpoint at runtime and caches
|
|
5
|
+
* the result in the {@link StigmerProvider} context. This eliminates the
|
|
6
|
+
* static JSON file that previously shipped in the npm package.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* Platform consumers (React SDK, cursor-runner, graphton) all fetch from the
|
|
9
|
+
* same endpoint, each with their own local TTL cache.
|
|
9
10
|
*/
|
|
10
|
-
import registryData from "../../data/model-registry.json";
|
|
11
11
|
/**
|
|
12
12
|
* Providers whose models should be hidden from the UI.
|
|
13
13
|
*
|
|
14
|
-
* The model entries themselves stay in
|
|
14
|
+
* The model entries themselves stay in the registry so backend
|
|
15
15
|
* compatibility is preserved. The useModelRegistry hook filters
|
|
16
16
|
* them out before anything reaches a component.
|
|
17
17
|
*
|
|
@@ -53,24 +53,48 @@ function isModelEntry(entry) {
|
|
|
53
53
|
typeof entry.costTier === "string" && VALID_COST_TIERS.has(entry.costTier));
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
|
-
*
|
|
57
|
-
* unified JSON registry.
|
|
56
|
+
* Parse raw registry JSON (from the API or a static file) into `ModelInfo[]`.
|
|
58
57
|
*
|
|
59
|
-
* {
|
|
60
|
-
*
|
|
58
|
+
* Expects the shape `{ models: RegistryJsonEntry[] }`. Filters out comment
|
|
59
|
+
* entries and invalid rows, then maps to the `ModelInfo` interface.
|
|
61
60
|
*/
|
|
62
|
-
export
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
61
|
+
export function parseRegistryJson(data) {
|
|
62
|
+
if (!data || typeof data !== "object")
|
|
63
|
+
return [];
|
|
64
|
+
const models = data.models;
|
|
65
|
+
if (!Array.isArray(models))
|
|
66
|
+
return [];
|
|
67
|
+
return models
|
|
68
|
+
.filter(isModelEntry)
|
|
69
|
+
.map((m) => ({
|
|
70
|
+
modelId: m.id,
|
|
71
|
+
provider: m.provider,
|
|
72
|
+
displayName: m.displayName,
|
|
73
|
+
shortDescription: m.shortDescription ?? "",
|
|
74
|
+
speedTier: (VALID_SPEED_TIERS.has(m.speedTier ?? "") ? m.speedTier : "fast"),
|
|
75
|
+
costTier: m.costTier,
|
|
76
|
+
harness: m.harness,
|
|
77
|
+
featured: m.featured ?? false,
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Fetch the model registry from the authenticated API endpoint.
|
|
82
|
+
*
|
|
83
|
+
* @param apiUrl - Base URL of the Stigmer Cloud API (e.g. `https://api.stigmer.ai`)
|
|
84
|
+
* @param token - Bearer token for authentication (from `client.getAuthCredential()`)
|
|
85
|
+
* @returns Parsed `ModelInfo[]`.
|
|
86
|
+
*/
|
|
87
|
+
export async function fetchModelRegistry(apiUrl, token) {
|
|
88
|
+
const headers = {};
|
|
89
|
+
if (token) {
|
|
90
|
+
headers["Authorization"] = `Bearer ${token}`;
|
|
91
|
+
}
|
|
92
|
+
const res = await fetch(`${apiUrl}/v1/proxy/model-registry`, { headers });
|
|
93
|
+
if (!res.ok)
|
|
94
|
+
throw new Error(`Model registry fetch failed: ${res.status}`);
|
|
95
|
+
const data = await res.json();
|
|
96
|
+
return parseRegistryJson(data);
|
|
97
|
+
}
|
|
74
98
|
/**
|
|
75
99
|
* Model ID used when no user preference is set (native harness).
|
|
76
100
|
*
|
|
@@ -92,23 +116,23 @@ export const DEFAULT_CURSOR_MODEL_ID = "default";
|
|
|
92
116
|
* Future phases will add org-level and agent-level defaults between
|
|
93
117
|
* user preference and harness default.
|
|
94
118
|
*/
|
|
95
|
-
export function resolveDefaultModelId(harness, options) {
|
|
119
|
+
export function resolveDefaultModelId(harness, models, options) {
|
|
96
120
|
if (options?.userPreference) {
|
|
97
|
-
const model =
|
|
121
|
+
const model = models.find((m) => m.harness === harness && m.modelId === options.userPreference);
|
|
98
122
|
if (model)
|
|
99
123
|
return { modelId: model.modelId, source: "user_preference" };
|
|
100
124
|
}
|
|
101
125
|
if (options?.orgDefault) {
|
|
102
|
-
const model =
|
|
126
|
+
const model = models.find((m) => m.harness === harness && m.modelId === options.orgDefault);
|
|
103
127
|
if (model)
|
|
104
128
|
return { modelId: model.modelId, source: "org_default" };
|
|
105
129
|
}
|
|
106
130
|
if (options?.agentDefault) {
|
|
107
|
-
const model =
|
|
131
|
+
const model = models.find((m) => m.harness === harness && m.modelId === options.agentDefault);
|
|
108
132
|
if (model)
|
|
109
133
|
return { modelId: model.modelId, source: "agent_default" };
|
|
110
134
|
}
|
|
111
|
-
const featured =
|
|
135
|
+
const featured = models.find((m) => m.harness === harness && m.featured);
|
|
112
136
|
if (featured)
|
|
113
137
|
return { modelId: featured.modelId, source: "harness_default" };
|
|
114
138
|
const fallbackId = harness === "cursor" ? DEFAULT_CURSOR_MODEL_ID : DEFAULT_MODEL_ID;
|
package/models/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/models/registry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/models/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,8 +17,8 @@ export interface UseModelRegistryReturn {
|
|
|
17
17
|
readonly models: readonly ModelInfo[];
|
|
18
18
|
/** Models grouped by provider for sectioned rendering. */
|
|
19
19
|
readonly byProvider: ReadonlyMap<Provider, readonly ModelInfo[]>;
|
|
20
|
-
/** The platform default model for the current mode. */
|
|
21
|
-
readonly defaultModel: ModelInfo;
|
|
20
|
+
/** The platform default model for the current mode. `undefined` while the registry is loading. */
|
|
21
|
+
readonly defaultModel: ModelInfo | undefined;
|
|
22
22
|
/**
|
|
23
23
|
* Look up a single model by its `modelId`.
|
|
24
24
|
*
|
|
@@ -37,6 +37,10 @@ export interface UseModelRegistryReturn {
|
|
|
37
37
|
* Always unambiguous, even in unified mode.
|
|
38
38
|
*/
|
|
39
39
|
readonly getByKey: (key: string) => ModelInfo | undefined;
|
|
40
|
+
/** `true` while the model registry is being fetched from the API. */
|
|
41
|
+
readonly isLoading: boolean;
|
|
42
|
+
/** Non-null if the API fetch failed. Models will be empty in this case. */
|
|
43
|
+
readonly error: Error | null;
|
|
40
44
|
}
|
|
41
45
|
/**
|
|
42
46
|
* Data hook that exposes the platform model registry with grouping
|
|
@@ -46,6 +50,10 @@ export interface UseModelRegistryReturn {
|
|
|
46
50
|
* who want full control over rendering import this hook and build
|
|
47
51
|
* their own UI.
|
|
48
52
|
*
|
|
53
|
+
* The model data is fetched from the public model registry API by
|
|
54
|
+
* {@link StigmerProvider} and cached in context. During loading,
|
|
55
|
+
* `isLoading` is `true` and `models` is empty.
|
|
56
|
+
*
|
|
49
57
|
* **Modes:**
|
|
50
58
|
* - `options.harness === "cursor"` — Cursor-harness models only
|
|
51
59
|
* - `options.harness === "native"` — native models, excluding disabled providers
|
|
@@ -54,7 +62,7 @@ export interface UseModelRegistryReturn {
|
|
|
54
62
|
* @example
|
|
55
63
|
* ```tsx
|
|
56
64
|
* // Unified mode — flat picker with all models
|
|
57
|
-
* const { featured, models, getByKey } = useModelRegistry();
|
|
65
|
+
* const { featured, models, getByKey, isLoading } = useModelRegistry();
|
|
58
66
|
*
|
|
59
67
|
* // Legacy single-harness mode
|
|
60
68
|
* const { models, defaultModel } = useModelRegistry({ harness: "native" });
|