@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.
Files changed (31) hide show
  1. package/dist/esm/activities/chat/index.js +94 -23
  2. package/dist/esm/activities/chat/index.js.map +1 -1
  3. package/dist/esm/activities/chat/middleware/compose.js +4 -2
  4. package/dist/esm/activities/chat/middleware/compose.js.map +1 -1
  5. package/dist/esm/activities/chat/middleware/index.d.ts +2 -0
  6. package/dist/esm/activities/chat/middleware/metadata.d.ts +16 -0
  7. package/dist/esm/activities/chat/middleware/metadata.js +8 -0
  8. package/dist/esm/activities/chat/middleware/metadata.js.map +1 -0
  9. package/dist/esm/activities/chat/middleware/types.d.ts +9 -0
  10. package/dist/esm/activities/chat/middleware/types.js.map +1 -1
  11. package/dist/esm/activities/chat/stream/processor.d.ts +2 -0
  12. package/dist/esm/activities/chat/stream/processor.js +39 -12
  13. package/dist/esm/activities/chat/stream/processor.js.map +1 -1
  14. package/dist/esm/activities/chat/tools/schema-converter.js +21 -10
  15. package/dist/esm/activities/chat/tools/schema-converter.js.map +1 -1
  16. package/dist/esm/index.d.ts +4 -2
  17. package/dist/esm/index.js +3 -1
  18. package/dist/esm/utilities/errors.d.ts +27 -0
  19. package/dist/esm/utilities/errors.js +19 -1
  20. package/dist/esm/utilities/errors.js.map +1 -1
  21. package/package.json +2 -2
  22. package/skills/ai-core/SKILL.md +17 -0
  23. package/src/activities/chat/index.ts +139 -44
  24. package/src/activities/chat/middleware/compose.ts +14 -2
  25. package/src/activities/chat/middleware/index.ts +3 -0
  26. package/src/activities/chat/middleware/metadata.ts +20 -0
  27. package/src/activities/chat/middleware/types.ts +9 -0
  28. package/src/activities/chat/stream/processor.ts +51 -6
  29. package/src/activities/chat/tools/schema-converter.ts +30 -17
  30. package/src/index.ts +6 -0
  31. package/src/utilities/errors.ts +42 -0
@@ -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.