@tanstack/ai 0.50.0 → 0.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/activities/chat/index.js +94 -23
- package/dist/esm/activities/chat/index.js.map +1 -1
- package/dist/esm/activities/chat/middleware/compose.js +4 -2
- package/dist/esm/activities/chat/middleware/compose.js.map +1 -1
- package/dist/esm/activities/chat/middleware/index.d.ts +2 -0
- package/dist/esm/activities/chat/middleware/metadata.d.ts +16 -0
- package/dist/esm/activities/chat/middleware/metadata.js +8 -0
- package/dist/esm/activities/chat/middleware/metadata.js.map +1 -0
- package/dist/esm/activities/chat/middleware/types.d.ts +9 -0
- package/dist/esm/activities/chat/middleware/types.js.map +1 -1
- package/dist/esm/activities/chat/stream/processor.d.ts +2 -0
- package/dist/esm/activities/chat/stream/processor.js +39 -12
- package/dist/esm/activities/chat/stream/processor.js.map +1 -1
- package/dist/esm/activities/chat/tools/schema-converter.js +21 -10
- package/dist/esm/activities/chat/tools/schema-converter.js.map +1 -1
- package/dist/esm/index.d.ts +4 -2
- package/dist/esm/index.js +3 -1
- package/dist/esm/utilities/errors.d.ts +27 -0
- package/dist/esm/utilities/errors.js +19 -1
- package/dist/esm/utilities/errors.js.map +1 -1
- package/package.json +2 -2
- package/skills/ai-core/SKILL.md +17 -0
- package/src/activities/chat/index.ts +139 -44
- package/src/activities/chat/middleware/compose.ts +14 -2
- package/src/activities/chat/middleware/index.ts +3 -0
- package/src/activities/chat/middleware/metadata.ts +20 -0
- package/src/activities/chat/middleware/types.ts +9 -0
- package/src/activities/chat/stream/processor.ts +51 -6
- package/src/activities/chat/tools/schema-converter.ts +30 -17
- package/src/index.ts +6 -0
- package/src/utilities/errors.ts +42 -0
package/src/utilities/errors.ts
CHANGED
|
@@ -1,5 +1,47 @@
|
|
|
1
1
|
import type { StreamChunk } from '../types'
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Thrown when a skills request exceeds a provider limit. Lives in core (rather
|
|
5
|
+
* than `@tanstack/ai-skills`) so the native tool factories in `ai-anthropic`
|
|
6
|
+
* and `openai-base` can throw it without depending on the skills package;
|
|
7
|
+
* `@tanstack/ai-skills` re-exports it for the portable path.
|
|
8
|
+
*
|
|
9
|
+
* `path` distinguishes the native provider cap (e.g. Anthropic's 8-skill
|
|
10
|
+
* limit) from a portable-path limit, so a portable user isn't sent chasing a
|
|
11
|
+
* cap that only applies to hosted skills.
|
|
12
|
+
*/
|
|
13
|
+
export interface SkillLimitErrorInit {
|
|
14
|
+
provider: 'anthropic' | 'openai' | 'gemini' | 'other'
|
|
15
|
+
path: 'native' | 'portable'
|
|
16
|
+
limit: string
|
|
17
|
+
allowed: number
|
|
18
|
+
actual: number
|
|
19
|
+
offending: Array<string>
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export class SkillLimitError extends Error {
|
|
23
|
+
readonly provider: 'anthropic' | 'openai' | 'gemini' | 'other'
|
|
24
|
+
readonly path: 'native' | 'portable'
|
|
25
|
+
readonly limit: string
|
|
26
|
+
readonly allowed: number
|
|
27
|
+
readonly actual: number
|
|
28
|
+
readonly offending: Array<string>
|
|
29
|
+
|
|
30
|
+
constructor(init: SkillLimitErrorInit) {
|
|
31
|
+
super(
|
|
32
|
+
`${init.provider} ${init.path} skills limit exceeded (${init.limit}): ` +
|
|
33
|
+
`${init.actual} > ${init.allowed}`,
|
|
34
|
+
)
|
|
35
|
+
this.name = 'SkillLimitError'
|
|
36
|
+
this.provider = init.provider
|
|
37
|
+
this.path = init.path
|
|
38
|
+
this.limit = init.limit
|
|
39
|
+
this.allowed = init.allowed
|
|
40
|
+
this.actual = init.actual
|
|
41
|
+
this.offending = init.offending
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
3
45
|
/**
|
|
4
46
|
* Best-effort extraction of a human-readable message from an unknown thrown
|
|
5
47
|
* value, returning `undefined` when none can be found.
|