ai.matey.react.hooks 0.2.0 → 0.2.1
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/CHANGELOG.md +33 -0
- package/dist/cjs/use-assistant.js +1 -1
- package/dist/cjs/use-assistant.js.map +1 -1
- package/dist/cjs/use-stream.js +1 -1
- package/dist/cjs/use-stream.js.map +1 -1
- package/dist/cjs/use-token-count.js +35 -7
- package/dist/cjs/use-token-count.js.map +1 -1
- package/dist/esm/use-assistant.js +1 -1
- package/dist/esm/use-assistant.js.map +1 -1
- package/dist/esm/use-stream.js +1 -1
- package/dist/esm/use-stream.js.map +1 -1
- package/dist/esm/use-token-count.js +35 -7
- package/dist/esm/use-token-count.js.map +1 -1
- package/dist/types/use-token-count.d.ts +8 -1
- package/dist/types/use-token-count.d.ts.map +1 -1
- package/package.json +6 -3
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# ai.matey.react.hooks
|
|
2
|
+
|
|
3
|
+
## 0.2.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- f227db2: Lint hardening: previously-unlinted packages (cli, react-\*) now pass the strict ESLint config;
|
|
8
|
+
fixed floating/misused promises in React hooks and CLI, case-block declarations, and unused
|
|
9
|
+
variables. require-await and no-redundant-type-constituents re-enabled repo-wide.
|
|
10
|
+
- 2912b7d: Introduce a shared, data-driven model registry in `ai.matey.utils` as the single source of truth
|
|
11
|
+
for model metadata (pricing, context windows, capabilities, quality/latency). The registry ships
|
|
12
|
+
with a mid-2026 seed (GPT-5.x/o-series, Claude 4.x, Gemini 2.5/3, Grok, current Mistral/DeepSeek,
|
|
13
|
+
plus embedding models) and is runtime-extensible via `registerModels()` / `overrideModelPricing()`,
|
|
14
|
+
with alias and longest-prefix fallback so new dated snapshots of known families still resolve.
|
|
15
|
+
|
|
16
|
+
`ai.matey.core`'s model-pricing API is now a thin delegate over the registry (no API break; legacy
|
|
17
|
+
models keep their prices, marked `deprecated`). Capability inference recognizes current families.
|
|
18
|
+
Cost-tracking middleware consults the registry before provider-level defaults. `useTokenCount`
|
|
19
|
+
consults the registry for context windows. Backend default models updated:
|
|
20
|
+
`claude-3-haiku-20240307` → `claude-sonnet-4-5-20250929` (Anthropic), `gpt-3.5-turbo` →
|
|
21
|
+
`gpt-5-mini` (OpenAI) — note this changes behavior for requests that omit a model. `estimateCost()`
|
|
22
|
+
on both backends now prices the actual requested model. Refreshed `deepseek-chat` pricing.
|
|
23
|
+
|
|
24
|
+
- Updated dependencies [dae4d01]
|
|
25
|
+
- Updated dependencies [e7df1d0]
|
|
26
|
+
- Updated dependencies [f227db2]
|
|
27
|
+
- Updated dependencies [2912b7d]
|
|
28
|
+
- Updated dependencies [78731bb]
|
|
29
|
+
- Updated dependencies [b7e2312]
|
|
30
|
+
- Updated dependencies [58ebc03]
|
|
31
|
+
- ai.matey.types@0.3.0
|
|
32
|
+
- ai.matey.utils@0.3.0
|
|
33
|
+
- ai.matey.react.core@0.2.1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-assistant.js","sourceRoot":"","sources":["../../src/use-assistant.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAmIH,oCAmLC;AApTD,iCAAsD;AAmGtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,YAAY,CAAC,UAA+B,EAAE;IAC5D,MAAM,EACJ,GAAG,GAAG,gBAAgB,EACtB,WAAW,EACX,QAAQ,EAAE,eAAe,EACzB,OAAO,GAAG,EAAE,EACZ,IAAI,GAAG,EAAE,EACT,QAAQ,EACR,OAAO,GACR,GAAG,OAAO,CAAC;IAEZ,QAAQ;IACR,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAqB,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAS,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAqB,eAAe,CAAC,CAAC;IAC9E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAkB,kBAAkB,CAAC,CAAC;IAC1E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAoB,SAAS,CAAC,CAAC;IAEjE,yBAAyB;IACzB,MAAM,kBAAkB,GAAG,IAAA,cAAM,EAAyB,IAAI,CAAC,CAAC;IAEhE;;OAEG;IACH,MAAM,YAAY,GAAG,IAAA,mBAAW,EAC9B,CAAC,SAA0B,EAAE,EAAE;QAC7B,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF;;OAEG;IACH,MAAM,iBAAiB,GAAG,IAAA,mBAAW,EACnC,CAAC,CAA4D,EAAE,EAAE;QAC/D,QAAQ,
|
|
1
|
+
{"version":3,"file":"use-assistant.js","sourceRoot":"","sources":["../../src/use-assistant.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/use-stream.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-stream.js","sourceRoot":"","sources":["../../src/use-stream.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAwEH,8BA0JC;AAhOD,iCAAsD;AAwCtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,SAAgB,SAAS,CAAC,UAA4B,EAAE;IACtD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAEnE,QAAQ;IACR,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAS,WAAW,CAAC,CAAC;IACtD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IAC/D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAoB,SAAS,CAAC,CAAC;IAEjE,OAAO;IACP,MAAM,kBAAkB,GAAG,IAAA,cAAM,EAAyB,IAAI,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,IAAA,cAAM,EAAS,WAAW,CAAC,CAAC;IAE5C;;OAEG;IACH,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC5B,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC/B,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnC,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QACpC,CAAC;QACD,cAAc,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC7B,IAAI,EAAE,CAAC;QACP,OAAO,CAAC,WAAW,CAAC,CAAC;QACrB,OAAO,CAAC,OAAO,GAAG,WAAW,CAAC;QAC9B,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAExB;;OAEG;IACH,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,KAAK,EAAE,QAAkB,EAAmB,EAAE;QAC5E,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,mBAAmB,GAAG,IAAA,mBAAW,EACrC,KAAK,EAAE,MAAkC,EAAmB,EAAE;QAC5D,IAAI,CAAC;YACH,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,OAAO,CAAC,EAAE,CAAC,CAAC;YACZ,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;YAErB,0BAA0B;YAC1B,kBAAkB,CAAC,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAElC,OAAO,IAAI,EAAE,CAAC;gBACZ,mBAAmB;gBACnB,IAAI,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC/C,MAAM,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"use-stream.js","sourceRoot":"","sources":["../../src/use-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ exports.MODEL_TOKEN_LIMITS = void 0;
|
|
|
11
11
|
exports.useTokenCount = useTokenCount;
|
|
12
12
|
exports.getModelTokenLimit = getModelTokenLimit;
|
|
13
13
|
const react_1 = require("react");
|
|
14
|
+
const ai_matey_utils_1 = require("ai.matey.utils");
|
|
14
15
|
/**
|
|
15
16
|
* Default tokenizer using rough estimation.
|
|
16
17
|
*
|
|
@@ -18,8 +19,9 @@ const react_1 = require("react");
|
|
|
18
19
|
* which is approximately accurate for GPT models with English text.
|
|
19
20
|
*/
|
|
20
21
|
function defaultTokenizer(text) {
|
|
21
|
-
if (!text)
|
|
22
|
+
if (!text) {
|
|
22
23
|
return 0;
|
|
24
|
+
}
|
|
23
25
|
// More sophisticated estimation:
|
|
24
26
|
// - Count words (average ~1.3 tokens per word)
|
|
25
27
|
// - Count special characters/punctuation (often separate tokens)
|
|
@@ -27,7 +29,7 @@ function defaultTokenizer(text) {
|
|
|
27
29
|
const words = text.split(/\s+/).filter(Boolean);
|
|
28
30
|
const wordTokens = words.length * 1.3;
|
|
29
31
|
// Count punctuation and special characters
|
|
30
|
-
const punctuation = (text.match(/[.,!?;:'"()
|
|
32
|
+
const punctuation = (text.match(/[.,!?;:'"()[\]{}<>@#$%^&*+=|\\/-]/g) || []).length;
|
|
31
33
|
// Count numbers as separate tokens
|
|
32
34
|
const numbers = (text.match(/\d+/g) || []).length;
|
|
33
35
|
return Math.ceil(wordTokens + punctuation * 0.5 + numbers);
|
|
@@ -64,8 +66,9 @@ function useTokenCount(options = {}) {
|
|
|
64
66
|
const characterCount = (0, react_1.useMemo)(() => text.length, [text]);
|
|
65
67
|
// Word count (memoized)
|
|
66
68
|
const wordCount = (0, react_1.useMemo)(() => {
|
|
67
|
-
if (!text.trim())
|
|
69
|
+
if (!text.trim()) {
|
|
68
70
|
return 0;
|
|
71
|
+
}
|
|
69
72
|
return text.split(/\s+/).filter(Boolean).length;
|
|
70
73
|
}, [text]);
|
|
71
74
|
// Count tokens function
|
|
@@ -97,19 +100,36 @@ function useTokenCount(options = {}) {
|
|
|
97
100
|
};
|
|
98
101
|
}
|
|
99
102
|
/**
|
|
100
|
-
* Model-specific token limits.
|
|
103
|
+
* Model-specific token limits (context windows).
|
|
104
|
+
*
|
|
105
|
+
* Static fallback for models the shared model registry does not know;
|
|
106
|
+
* the registry in `ai.matey.utils` is consulted first, so registering a
|
|
107
|
+
* model there also fixes token counting here.
|
|
101
108
|
*/
|
|
102
109
|
exports.MODEL_TOKEN_LIMITS = {
|
|
103
|
-
'gpt-
|
|
110
|
+
'gpt-5.1': 400000,
|
|
111
|
+
'gpt-5': 400000,
|
|
112
|
+
'gpt-4.1': 1047576,
|
|
113
|
+
'gpt-4o': 128000,
|
|
104
114
|
'gpt-4-32k': 32768,
|
|
105
115
|
'gpt-4-turbo': 128000,
|
|
106
|
-
'gpt-
|
|
116
|
+
'gpt-4': 8192,
|
|
107
117
|
'gpt-3.5-turbo': 16385,
|
|
118
|
+
o3: 200000,
|
|
119
|
+
'o4-mini': 200000,
|
|
120
|
+
'claude-opus-4': 200000,
|
|
121
|
+
'claude-sonnet-4': 200000,
|
|
122
|
+
'claude-haiku-4': 200000,
|
|
108
123
|
'claude-3-opus': 200000,
|
|
109
124
|
'claude-3-sonnet': 200000,
|
|
110
125
|
'claude-3-haiku': 200000,
|
|
111
|
-
'gemini-pro':
|
|
126
|
+
'gemini-3-pro': 1000000,
|
|
127
|
+
'gemini-2.5-pro': 1048576,
|
|
128
|
+
'gemini-2.5-flash': 1048576,
|
|
112
129
|
'gemini-1.5-pro': 1000000,
|
|
130
|
+
'gemini-pro': 30720,
|
|
131
|
+
'grok-4': 256000,
|
|
132
|
+
'grok-3': 131072,
|
|
113
133
|
'command-r': 128000,
|
|
114
134
|
'command-r-plus': 128000,
|
|
115
135
|
'mixtral-8x7b': 32768,
|
|
@@ -118,8 +138,16 @@ exports.MODEL_TOKEN_LIMITS = {
|
|
|
118
138
|
};
|
|
119
139
|
/**
|
|
120
140
|
* Get token limit for a model.
|
|
141
|
+
*
|
|
142
|
+
* Consults the shared model registry first, then this module's static
|
|
143
|
+
* table (exact match, then prefix/substring match).
|
|
121
144
|
*/
|
|
122
145
|
function getModelTokenLimit(model) {
|
|
146
|
+
// Shared model registry is the source of truth when it knows the model
|
|
147
|
+
const registryWindow = (0, ai_matey_utils_1.getModelContextWindow)(model);
|
|
148
|
+
if (registryWindow !== null) {
|
|
149
|
+
return registryWindow;
|
|
150
|
+
}
|
|
123
151
|
// Try exact match
|
|
124
152
|
if (exports.MODEL_TOKEN_LIMITS[model]) {
|
|
125
153
|
return exports.MODEL_TOKEN_LIMITS[model];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-token-count.js","sourceRoot":"","sources":["../../src/use-token-count.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;
|
|
1
|
+
{"version":3,"file":"use-token-count.js","sourceRoot":"","sources":["../../src/use-token-count.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-assistant.js","sourceRoot":"","sources":["../../src/use-assistant.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAmGtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,YAAY,CAAC,UAA+B,EAAE;IAC5D,MAAM,EACJ,GAAG,GAAG,gBAAgB,EACtB,WAAW,EACX,QAAQ,EAAE,eAAe,EACzB,OAAO,GAAG,EAAE,EACZ,IAAI,GAAG,EAAE,EACT,QAAQ,EACR,OAAO,GACR,GAAG,OAAO,CAAC;IAEZ,QAAQ;IACR,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAqB,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAqB,eAAe,CAAC,CAAC;IAC9E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAkB,kBAAkB,CAAC,CAAC;IAC1E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAoB,SAAS,CAAC,CAAC;IAEjE,yBAAyB;IACzB,MAAM,kBAAkB,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;IAEhE;;OAEG;IACH,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,SAA0B,EAAE,EAAE;QAC7B,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF;;OAEG;IACH,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,CAA4D,EAAE,EAAE;QAC/D,QAAQ,
|
|
1
|
+
{"version":3,"file":"use-assistant.js","sourceRoot":"","sources":["../../src/use-assistant.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/use-stream.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-stream.js","sourceRoot":"","sources":["../../src/use-stream.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAwCtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,SAAS,CAAC,UAA4B,EAAE;IACtD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAEnE,QAAQ;IACR,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAS,WAAW,CAAC,CAAC;IACtD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC/D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAoB,SAAS,CAAC,CAAC;IAEjE,OAAO;IACP,MAAM,kBAAkB,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,MAAM,CAAS,WAAW,CAAC,CAAC;IAE5C;;OAEG;IACH,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC/B,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnC,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QACpC,CAAC;QACD,cAAc,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,IAAI,EAAE,CAAC;QACP,OAAO,CAAC,WAAW,CAAC,CAAC;QACrB,OAAO,CAAC,OAAO,GAAG,WAAW,CAAC;QAC9B,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAExB;;OAEG;IACH,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,EAAE,QAAkB,EAAmB,EAAE;QAC5E,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,mBAAmB,GAAG,WAAW,CACrC,KAAK,EAAE,MAAkC,EAAmB,EAAE;QAC5D,IAAI,CAAC;YACH,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,OAAO,CAAC,EAAE,CAAC,CAAC;YACZ,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;YAErB,0BAA0B;YAC1B,kBAAkB,CAAC,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAElC,OAAO,IAAI,EAAE,CAAC;gBACZ,mBAAmB;gBACnB,IAAI,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC/C,MAAM,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"use-stream.js","sourceRoot":"","sources":["../../src/use-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
8
8
|
import { useState, useEffect, useMemo, useCallback } from 'react';
|
|
9
|
+
import { getModelContextWindow } from 'ai.matey.utils';
|
|
9
10
|
/**
|
|
10
11
|
* Default tokenizer using rough estimation.
|
|
11
12
|
*
|
|
@@ -13,8 +14,9 @@ import { useState, useEffect, useMemo, useCallback } from 'react';
|
|
|
13
14
|
* which is approximately accurate for GPT models with English text.
|
|
14
15
|
*/
|
|
15
16
|
function defaultTokenizer(text) {
|
|
16
|
-
if (!text)
|
|
17
|
+
if (!text) {
|
|
17
18
|
return 0;
|
|
19
|
+
}
|
|
18
20
|
// More sophisticated estimation:
|
|
19
21
|
// - Count words (average ~1.3 tokens per word)
|
|
20
22
|
// - Count special characters/punctuation (often separate tokens)
|
|
@@ -22,7 +24,7 @@ function defaultTokenizer(text) {
|
|
|
22
24
|
const words = text.split(/\s+/).filter(Boolean);
|
|
23
25
|
const wordTokens = words.length * 1.3;
|
|
24
26
|
// Count punctuation and special characters
|
|
25
|
-
const punctuation = (text.match(/[.,!?;:'"()
|
|
27
|
+
const punctuation = (text.match(/[.,!?;:'"()[\]{}<>@#$%^&*+=|\\/-]/g) || []).length;
|
|
26
28
|
// Count numbers as separate tokens
|
|
27
29
|
const numbers = (text.match(/\d+/g) || []).length;
|
|
28
30
|
return Math.ceil(wordTokens + punctuation * 0.5 + numbers);
|
|
@@ -59,8 +61,9 @@ export function useTokenCount(options = {}) {
|
|
|
59
61
|
const characterCount = useMemo(() => text.length, [text]);
|
|
60
62
|
// Word count (memoized)
|
|
61
63
|
const wordCount = useMemo(() => {
|
|
62
|
-
if (!text.trim())
|
|
64
|
+
if (!text.trim()) {
|
|
63
65
|
return 0;
|
|
66
|
+
}
|
|
64
67
|
return text.split(/\s+/).filter(Boolean).length;
|
|
65
68
|
}, [text]);
|
|
66
69
|
// Count tokens function
|
|
@@ -92,19 +95,36 @@ export function useTokenCount(options = {}) {
|
|
|
92
95
|
};
|
|
93
96
|
}
|
|
94
97
|
/**
|
|
95
|
-
* Model-specific token limits.
|
|
98
|
+
* Model-specific token limits (context windows).
|
|
99
|
+
*
|
|
100
|
+
* Static fallback for models the shared model registry does not know;
|
|
101
|
+
* the registry in `ai.matey.utils` is consulted first, so registering a
|
|
102
|
+
* model there also fixes token counting here.
|
|
96
103
|
*/
|
|
97
104
|
export const MODEL_TOKEN_LIMITS = {
|
|
98
|
-
'gpt-
|
|
105
|
+
'gpt-5.1': 400000,
|
|
106
|
+
'gpt-5': 400000,
|
|
107
|
+
'gpt-4.1': 1047576,
|
|
108
|
+
'gpt-4o': 128000,
|
|
99
109
|
'gpt-4-32k': 32768,
|
|
100
110
|
'gpt-4-turbo': 128000,
|
|
101
|
-
'gpt-
|
|
111
|
+
'gpt-4': 8192,
|
|
102
112
|
'gpt-3.5-turbo': 16385,
|
|
113
|
+
o3: 200000,
|
|
114
|
+
'o4-mini': 200000,
|
|
115
|
+
'claude-opus-4': 200000,
|
|
116
|
+
'claude-sonnet-4': 200000,
|
|
117
|
+
'claude-haiku-4': 200000,
|
|
103
118
|
'claude-3-opus': 200000,
|
|
104
119
|
'claude-3-sonnet': 200000,
|
|
105
120
|
'claude-3-haiku': 200000,
|
|
106
|
-
'gemini-pro':
|
|
121
|
+
'gemini-3-pro': 1000000,
|
|
122
|
+
'gemini-2.5-pro': 1048576,
|
|
123
|
+
'gemini-2.5-flash': 1048576,
|
|
107
124
|
'gemini-1.5-pro': 1000000,
|
|
125
|
+
'gemini-pro': 30720,
|
|
126
|
+
'grok-4': 256000,
|
|
127
|
+
'grok-3': 131072,
|
|
108
128
|
'command-r': 128000,
|
|
109
129
|
'command-r-plus': 128000,
|
|
110
130
|
'mixtral-8x7b': 32768,
|
|
@@ -113,8 +133,16 @@ export const MODEL_TOKEN_LIMITS = {
|
|
|
113
133
|
};
|
|
114
134
|
/**
|
|
115
135
|
* Get token limit for a model.
|
|
136
|
+
*
|
|
137
|
+
* Consults the shared model registry first, then this module's static
|
|
138
|
+
* table (exact match, then prefix/substring match).
|
|
116
139
|
*/
|
|
117
140
|
export function getModelTokenLimit(model) {
|
|
141
|
+
// Shared model registry is the source of truth when it knows the model
|
|
142
|
+
const registryWindow = getModelContextWindow(model);
|
|
143
|
+
if (registryWindow !== null) {
|
|
144
|
+
return registryWindow;
|
|
145
|
+
}
|
|
118
146
|
// Try exact match
|
|
119
147
|
if (MODEL_TOKEN_LIMITS[model]) {
|
|
120
148
|
return MODEL_TOKEN_LIMITS[model];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-token-count.js","sourceRoot":"","sources":["../../src/use-token-count.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"use-token-count.js","sourceRoot":"","sources":["../../src/use-token-count.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAgCvD;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,CAAC;IACX,CAAC;IAED,iCAAiC;IACjC,+CAA+C;IAC/C,iEAAiE;IACjE,2BAA2B;IAE3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;IAEtC,2CAA2C;IAC3C,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAEpF,mCAAmC;IACnC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAElD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,aAAa,CAAC,UAAgC,EAAE;IAC9D,MAAM,EACJ,IAAI,GAAG,EAAE,EACT,KAAK,EAAE,MAAM,EAAE,gDAAgD;IAC/D,SAAS,GAAG,gBAAgB,EAC5B,UAAU,GAAG,GAAG,GACjB,GAAG,OAAO,CAAC;IAEZ,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IACxD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAEjE,6BAA6B;IAC7B,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1D,wBAAwB;IACxB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAClD,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,wBAAwB;IACxB,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,SAAiB,EAAU,EAAE;QAC5B,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,kCAAkC;IAClC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,aAAa,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YAChC,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,EAAE,UAAU,CAAC,CAAC;QAEf,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IAEpC,OAAO;QACL,UAAU;QACV,cAAc;QACd,SAAS;QACT,YAAY;QACZ,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,MAAM;IACrB,OAAO,EAAE,IAAI;IACb,eAAe,EAAE,KAAK;IACtB,EAAE,EAAE,MAAM;IACV,SAAS,EAAE,MAAM;IACjB,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,MAAM;IACzB,gBAAgB,EAAE,MAAM;IACxB,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,MAAM;IACzB,gBAAgB,EAAE,MAAM;IACxB,cAAc,EAAE,OAAO;IACvB,gBAAgB,EAAE,OAAO;IACzB,kBAAkB,EAAE,OAAO;IAC3B,gBAAgB,EAAE,OAAO;IACzB,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,MAAM;IACnB,gBAAgB,EAAE,MAAM;IACxB,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,IAAI;IACnB,gBAAgB,EAAE,MAAM;CACzB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,uEAAuE;IACvE,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,kBAAkB;IAClB,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,mBAAmB;IACnB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC9D,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -58,11 +58,18 @@ export interface UseTokenCountReturn {
|
|
|
58
58
|
*/
|
|
59
59
|
export declare function useTokenCount(options?: UseTokenCountOptions): UseTokenCountReturn;
|
|
60
60
|
/**
|
|
61
|
-
* Model-specific token limits.
|
|
61
|
+
* Model-specific token limits (context windows).
|
|
62
|
+
*
|
|
63
|
+
* Static fallback for models the shared model registry does not know;
|
|
64
|
+
* the registry in `ai.matey.utils` is consulted first, so registering a
|
|
65
|
+
* model there also fixes token counting here.
|
|
62
66
|
*/
|
|
63
67
|
export declare const MODEL_TOKEN_LIMITS: Record<string, number>;
|
|
64
68
|
/**
|
|
65
69
|
* Get token limit for a model.
|
|
70
|
+
*
|
|
71
|
+
* Consults the shared model registry first, then this module's static
|
|
72
|
+
* table (exact match, then prefix/substring match).
|
|
66
73
|
*/
|
|
67
74
|
export declare function getModelTokenLimit(model: string): number | undefined;
|
|
68
75
|
//# sourceMappingURL=use-token-count.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-token-count.d.ts","sourceRoot":"","sources":["../../src/use-token-count.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"use-token-count.d.ts","sourceRoot":"","sources":["../../src/use-token-count.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,YAAY,EAAE,OAAO,CAAC;IACtB,4BAA4B;IAC5B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACvC;AA8BD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAyDrF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA6BrD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoBpE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai.matey.react.hooks",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Additional React hooks for AI Matey - useAssistant, useStream, useTokenCount",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -31,11 +31,14 @@
|
|
|
31
31
|
"build:types": "tsc -p tsconfig.types.json",
|
|
32
32
|
"clean": "rm -rf dist",
|
|
33
33
|
"typecheck": "tsc --noEmit",
|
|
34
|
-
"test": "vitest run"
|
|
34
|
+
"test": "vitest run",
|
|
35
|
+
"lint": "eslint src --ext .ts,.tsx",
|
|
36
|
+
"lint:fix": "eslint src --ext .ts,.tsx --fix"
|
|
35
37
|
},
|
|
36
38
|
"dependencies": {
|
|
37
39
|
"ai.matey.types": "*",
|
|
38
|
-
"ai.matey.react.core": "*"
|
|
40
|
+
"ai.matey.react.core": "*",
|
|
41
|
+
"ai.matey.utils": "*"
|
|
39
42
|
},
|
|
40
43
|
"peerDependencies": {
|
|
41
44
|
"react": ">=18.0.0"
|