@zyraxon-ai/llm 19.0.5

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 (218) hide show
  1. package/README.md +131 -0
  2. package/dist/cache-policy.d.ts +3 -0
  3. package/dist/cache-policy.d.ts.map +1 -0
  4. package/dist/cache-policy.js +109 -0
  5. package/dist/cache-policy.js.map +1 -0
  6. package/dist/index.d.ts +13 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +9 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/llm.d.ts +205 -0
  11. package/dist/llm.d.ts.map +1 -0
  12. package/dist/llm.js +82 -0
  13. package/dist/llm.js.map +1 -0
  14. package/dist/protocols/anthropic-messages.d.ts +340 -0
  15. package/dist/protocols/anthropic-messages.d.ts.map +1 -0
  16. package/dist/protocols/anthropic-messages.js +719 -0
  17. package/dist/protocols/anthropic-messages.js.map +1 -0
  18. package/dist/protocols/bedrock-converse.d.ts +472 -0
  19. package/dist/protocols/bedrock-converse.d.ts.map +1 -0
  20. package/dist/protocols/bedrock-converse.js +529 -0
  21. package/dist/protocols/bedrock-converse.js.map +1 -0
  22. package/dist/protocols/bedrock-event-stream.d.ts +10 -0
  23. package/dist/protocols/bedrock-event-stream.d.ts.map +1 -0
  24. package/dist/protocols/bedrock-event-stream.js +64 -0
  25. package/dist/protocols/bedrock-event-stream.js.map +1 -0
  26. package/dist/protocols/gemini.d.ts +165 -0
  27. package/dist/protocols/gemini.d.ts.map +1 -0
  28. package/dist/protocols/gemini.js +420 -0
  29. package/dist/protocols/gemini.js.map +1 -0
  30. package/dist/protocols/index.d.ts +7 -0
  31. package/dist/protocols/index.d.ts.map +1 -0
  32. package/dist/protocols/index.js +7 -0
  33. package/dist/protocols/index.js.map +1 -0
  34. package/dist/protocols/openai-chat.d.ts +297 -0
  35. package/dist/protocols/openai-chat.d.ts.map +1 -0
  36. package/dist/protocols/openai-chat.js +426 -0
  37. package/dist/protocols/openai-chat.js.map +1 -0
  38. package/dist/protocols/openai-compatible-chat.d.ts +12 -0
  39. package/dist/protocols/openai-compatible-chat.d.ts.map +1 -0
  40. package/dist/protocols/openai-compatible-chat.js +20 -0
  41. package/dist/protocols/openai-compatible-chat.js.map +1 -0
  42. package/dist/protocols/openai-responses.d.ts +615 -0
  43. package/dist/protocols/openai-responses.d.ts.map +1 -0
  44. package/dist/protocols/openai-responses.js +828 -0
  45. package/dist/protocols/openai-responses.js.map +1 -0
  46. package/dist/protocols/shared.d.ts +193 -0
  47. package/dist/protocols/shared.d.ts.map +1 -0
  48. package/dist/protocols/shared.js +237 -0
  49. package/dist/protocols/shared.js.map +1 -0
  50. package/dist/protocols/utils/bedrock-auth.d.ts +19 -0
  51. package/dist/protocols/utils/bedrock-auth.d.ts.map +1 -0
  52. package/dist/protocols/utils/bedrock-auth.js +42 -0
  53. package/dist/protocols/utils/bedrock-auth.js.map +1 -0
  54. package/dist/protocols/utils/bedrock-cache.d.ts +16 -0
  55. package/dist/protocols/utils/bedrock-cache.d.ts.map +1 -0
  56. package/dist/protocols/utils/bedrock-cache.js +30 -0
  57. package/dist/protocols/utils/bedrock-cache.js.map +1 -0
  58. package/dist/protocols/utils/bedrock-media.d.ts +50 -0
  59. package/dist/protocols/utils/bedrock-media.d.ts.map +1 -0
  60. package/dist/protocols/utils/bedrock-media.js +69 -0
  61. package/dist/protocols/utils/bedrock-media.js.map +1 -0
  62. package/dist/protocols/utils/cache.d.ts +7 -0
  63. package/dist/protocols/utils/cache.d.ts.map +1 -0
  64. package/dist/protocols/utils/cache.js +9 -0
  65. package/dist/protocols/utils/cache.js.map +1 -0
  66. package/dist/protocols/utils/gemini-tool-schema.d.ts +3 -0
  67. package/dist/protocols/utils/gemini-tool-schema.d.ts.map +1 -0
  68. package/dist/protocols/utils/gemini-tool-schema.js +84 -0
  69. package/dist/protocols/utils/gemini-tool-schema.js.map +1 -0
  70. package/dist/protocols/utils/lifecycle.d.ts +20 -0
  71. package/dist/protocols/utils/lifecycle.d.ts.map +1 -0
  72. package/dist/protocols/utils/lifecycle.js +66 -0
  73. package/dist/protocols/utils/lifecycle.js.map +1 -0
  74. package/dist/protocols/utils/openai-options.d.ts +23 -0
  75. package/dist/protocols/utils/openai-options.d.ts.map +1 -0
  76. package/dist/protocols/utils/openai-options.js +68 -0
  77. package/dist/protocols/utils/openai-options.js.map +1 -0
  78. package/dist/protocols/utils/tool-schema.d.ts +8 -0
  79. package/dist/protocols/utils/tool-schema.d.ts.map +1 -0
  80. package/dist/protocols/utils/tool-schema.js +80 -0
  81. package/dist/protocols/utils/tool-schema.js.map +1 -0
  82. package/dist/protocols/utils/tool-stream.d.ts +156 -0
  83. package/dist/protocols/utils/tool-stream.d.ts.map +1 -0
  84. package/dist/protocols/utils/tool-stream.js +137 -0
  85. package/dist/protocols/utils/tool-stream.js.map +1 -0
  86. package/dist/provider-error.d.ts +3 -0
  87. package/dist/provider-error.d.ts.map +1 -0
  88. package/dist/provider-error.js +29 -0
  89. package/dist/provider-error.js.map +1 -0
  90. package/dist/provider.d.ts +24 -0
  91. package/dist/provider.d.ts.map +1 -0
  92. package/dist/provider.js +3 -0
  93. package/dist/provider.js.map +1 -0
  94. package/dist/providers/amazon-bedrock.d.ts +142 -0
  95. package/dist/providers/amazon-bedrock.d.ts.map +1 -0
  96. package/dist/providers/amazon-bedrock.js +27 -0
  97. package/dist/providers/amazon-bedrock.js.map +1 -0
  98. package/dist/providers/anthropic.d.ts +24 -0
  99. package/dist/providers/anthropic.d.ts.map +1 -0
  100. package/dist/providers/anthropic.js +27 -0
  101. package/dist/providers/anthropic.js.map +1 -0
  102. package/dist/providers/azure.d.ts +36 -0
  103. package/dist/providers/azure.d.ts.map +1 -0
  104. package/dist/providers/azure.js +70 -0
  105. package/dist/providers/azure.js.map +1 -0
  106. package/dist/providers/cloudflare.d.ts +47 -0
  107. package/dist/providers/cloudflare.d.ts.map +1 -0
  108. package/dist/providers/cloudflare.js +88 -0
  109. package/dist/providers/cloudflare.js.map +1 -0
  110. package/dist/providers/github-copilot.d.ts +30 -0
  111. package/dist/providers/github-copilot.d.ts.map +1 -0
  112. package/dist/providers/github-copilot.js +48 -0
  113. package/dist/providers/github-copilot.js.map +1 -0
  114. package/dist/providers/google.d.ts +24 -0
  115. package/dist/providers/google.d.ts.map +1 -0
  116. package/dist/providers/google.js +27 -0
  117. package/dist/providers/google.js.map +1 -0
  118. package/dist/providers/index.d.ts +12 -0
  119. package/dist/providers/index.d.ts.map +1 -0
  120. package/dist/providers/index.js +12 -0
  121. package/dist/providers/index.js.map +1 -0
  122. package/dist/providers/openai-compatible-profile.d.ts +44 -0
  123. package/dist/providers/openai-compatible-profile.d.ts.map +1 -0
  124. package/dist/providers/openai-compatible-profile.js +13 -0
  125. package/dist/providers/openai-compatible-profile.js.map +1 -0
  126. package/dist/providers/openai-compatible.d.ts +62 -0
  127. package/dist/providers/openai-compatible.d.ts.map +1 -0
  128. package/dist/providers/openai-compatible.js +48 -0
  129. package/dist/providers/openai-compatible.js.map +1 -0
  130. package/dist/providers/openai-options.d.ts +31 -0
  131. package/dist/providers/openai-options.d.ts.map +1 -0
  132. package/dist/providers/openai-options.js +43 -0
  133. package/dist/providers/openai-options.js.map +1 -0
  134. package/dist/providers/openai.d.ts +116 -0
  135. package/dist/providers/openai.d.ts.map +1 -0
  136. package/dist/providers/openai.js +39 -0
  137. package/dist/providers/openai.js.map +1 -0
  138. package/dist/providers/openrouter.d.ts +199 -0
  139. package/dist/providers/openrouter.d.ts.map +1 -0
  140. package/dist/providers/openrouter.js +66 -0
  141. package/dist/providers/openrouter.js.map +1 -0
  142. package/dist/providers/xai.d.ts +32 -0
  143. package/dist/providers/xai.d.ts.map +1 -0
  144. package/dist/providers/xai.js +44 -0
  145. package/dist/providers/xai.js.map +1 -0
  146. package/dist/route/auth-options.d.ts +35 -0
  147. package/dist/route/auth-options.d.ts.map +1 -0
  148. package/dist/route/auth-options.js +15 -0
  149. package/dist/route/auth-options.js.map +1 -0
  150. package/dist/route/auth.js +90 -0
  151. package/dist/route/auth.js.map +1 -0
  152. package/dist/route/client.d.ts +306 -0
  153. package/dist/route/client.d.ts.map +1 -0
  154. package/dist/route/client.js +197 -0
  155. package/dist/route/client.js.map +1 -0
  156. package/dist/route/endpoint.js +22 -0
  157. package/dist/route/endpoint.js.map +1 -0
  158. package/dist/route/executor.d.ts +13 -0
  159. package/dist/route/executor.d.ts.map +1 -0
  160. package/dist/route/executor.js +287 -0
  161. package/dist/route/executor.js.map +1 -0
  162. package/dist/route/framing.js +5 -0
  163. package/dist/route/framing.js.map +1 -0
  164. package/dist/route/index.d.ts +17 -0
  165. package/dist/route/index.d.ts.map +1 -0
  166. package/dist/route/index.js +10 -0
  167. package/dist/route/index.js.map +1 -0
  168. package/dist/route/protocol.d.ts +77 -0
  169. package/dist/route/protocol.d.ts.map +1 -0
  170. package/dist/route/protocol.js +18 -0
  171. package/dist/route/protocol.js.map +1 -0
  172. package/dist/route/transport/http.d.ts +34 -0
  173. package/dist/route/transport/http.d.ts.map +1 -0
  174. package/dist/route/transport/http.js +98 -0
  175. package/dist/route/transport/http.js.map +1 -0
  176. package/dist/route/transport/index.d.ts +28 -0
  177. package/dist/route/transport/index.d.ts.map +1 -0
  178. package/dist/route/transport/index.js +3 -0
  179. package/dist/route/transport/index.js.map +1 -0
  180. package/dist/route/transport/websocket.d.ts +57 -0
  181. package/dist/route/transport/websocket.d.ts.map +1 -0
  182. package/dist/route/transport/websocket.js +181 -0
  183. package/dist/route/transport/websocket.js.map +1 -0
  184. package/dist/schema/errors.d.ts +166 -0
  185. package/dist/schema/errors.d.ts.map +1 -0
  186. package/dist/schema/errors.js +187 -0
  187. package/dist/schema/errors.js.map +1 -0
  188. package/dist/schema/events.d.ts +3821 -0
  189. package/dist/schema/events.d.ts.map +1 -0
  190. package/dist/schema/events.js +484 -0
  191. package/dist/schema/events.js.map +1 -0
  192. package/dist/schema/ids.d.ts +31 -0
  193. package/dist/schema/ids.d.ts.map +1 -0
  194. package/dist/schema/ids.js +19 -0
  195. package/dist/schema/ids.js.map +1 -0
  196. package/dist/schema/index.d.ts +6 -0
  197. package/dist/schema/index.d.ts.map +1 -0
  198. package/dist/schema/index.js +6 -0
  199. package/dist/schema/index.js.map +1 -0
  200. package/dist/schema/messages.d.ts +294 -0
  201. package/dist/schema/messages.d.ts.map +1 -0
  202. package/dist/schema/messages.js +247 -0
  203. package/dist/schema/messages.js.map +1 -0
  204. package/dist/schema/options.d.ts +144 -0
  205. package/dist/schema/options.d.ts.map +1 -0
  206. package/dist/schema/options.js +196 -0
  207. package/dist/schema/options.js.map +1 -0
  208. package/dist/tool-runtime.d.ts +16 -0
  209. package/dist/tool-runtime.d.ts.map +1 -0
  210. package/dist/tool-runtime.js +35 -0
  211. package/dist/tool-runtime.js.map +1 -0
  212. package/dist/tool.js +67 -0
  213. package/dist/tool.js.map +1 -0
  214. package/dist/utils/record.d.ts +3 -0
  215. package/dist/utils/record.d.ts.map +1 -0
  216. package/dist/utils/record.js +3 -0
  217. package/dist/utils/record.js.map +1 -0
  218. package/package.json +37 -0
@@ -0,0 +1,166 @@
1
+ import { Schema } from "effect";
2
+ export declare const ProviderFailureClassification: Schema.Literal<"context-overflow">;
3
+ export type ProviderFailureClassification = typeof ProviderFailureClassification.Type;
4
+ declare const HttpRequestDetails_base: Schema.Class<HttpRequestDetails, Schema.Struct<{
5
+ readonly method: Schema.String;
6
+ readonly url: Schema.String;
7
+ readonly headers: Schema.$Record<Schema.String, Schema.String>;
8
+ }>, {}>;
9
+ export declare class HttpRequestDetails extends HttpRequestDetails_base {
10
+ }
11
+ declare const HttpResponseDetails_base: Schema.Class<HttpResponseDetails, Schema.Struct<{
12
+ readonly status: Schema.Number;
13
+ readonly headers: Schema.$Record<Schema.String, Schema.String>;
14
+ }>, {}>;
15
+ export declare class HttpResponseDetails extends HttpResponseDetails_base {
16
+ }
17
+ declare const HttpRateLimitDetails_base: Schema.Class<HttpRateLimitDetails, Schema.Struct<{
18
+ readonly retryAfterMs: Schema.optional<Schema.Number>;
19
+ readonly limit: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
20
+ readonly remaining: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
21
+ readonly reset: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
22
+ }>, {}>;
23
+ export declare class HttpRateLimitDetails extends HttpRateLimitDetails_base {
24
+ }
25
+ declare const HttpContext_base: Schema.Class<HttpContext, Schema.Struct<{
26
+ readonly request: typeof HttpRequestDetails;
27
+ readonly response: Schema.optional<typeof HttpResponseDetails>;
28
+ readonly body: Schema.optional<Schema.String>;
29
+ readonly bodyTruncated: Schema.optional<Schema.Boolean>;
30
+ readonly requestId: Schema.optional<Schema.String>;
31
+ readonly rateLimit: Schema.optional<typeof HttpRateLimitDetails>;
32
+ }>, {}>;
33
+ export declare class HttpContext extends HttpContext_base {
34
+ }
35
+ declare const InvalidRequestReason_base: Schema.Class<InvalidRequestReason, Schema.Struct<{
36
+ readonly _tag: Schema.tag<"InvalidRequest">;
37
+ readonly message: Schema.String;
38
+ readonly parameter: Schema.optional<Schema.String>;
39
+ readonly classification: Schema.optional<Schema.Literal<"context-overflow">>;
40
+ readonly providerMetadata: Schema.optional<Schema.$Record<Schema.String, Schema.$Record<Schema.String, Schema.Unknown>>>;
41
+ readonly http: Schema.optional<typeof HttpContext>;
42
+ }>, {}>;
43
+ export declare class InvalidRequestReason extends InvalidRequestReason_base {
44
+ get retryable(): boolean;
45
+ }
46
+ declare const NoRouteReason_base: Schema.Class<NoRouteReason, Schema.Struct<{
47
+ readonly _tag: Schema.tag<"NoRoute">;
48
+ readonly route: Schema.String;
49
+ readonly provider: Schema.brand<Schema.String, "LLM.ProviderID">;
50
+ readonly model: Schema.brand<Schema.String, "LLM.ModelID">;
51
+ }>, {}>;
52
+ export declare class NoRouteReason extends NoRouteReason_base {
53
+ get retryable(): boolean;
54
+ get message(): string;
55
+ }
56
+ declare const AuthenticationReason_base: Schema.Class<AuthenticationReason, Schema.Struct<{
57
+ readonly _tag: Schema.tag<"Authentication">;
58
+ readonly message: Schema.String;
59
+ readonly kind: Schema.Literals<readonly ["missing", "invalid", "expired", "insufficient-permissions", "unknown"]>;
60
+ readonly providerMetadata: Schema.optional<Schema.$Record<Schema.String, Schema.$Record<Schema.String, Schema.Unknown>>>;
61
+ readonly http: Schema.optional<typeof HttpContext>;
62
+ }>, {}>;
63
+ export declare class AuthenticationReason extends AuthenticationReason_base {
64
+ get retryable(): boolean;
65
+ }
66
+ declare const RateLimitReason_base: Schema.Class<RateLimitReason, Schema.Struct<{
67
+ readonly _tag: Schema.tag<"RateLimit">;
68
+ readonly message: Schema.String;
69
+ readonly retryAfterMs: Schema.optional<Schema.Number>;
70
+ readonly rateLimit: Schema.optional<typeof HttpRateLimitDetails>;
71
+ readonly providerMetadata: Schema.optional<Schema.$Record<Schema.String, Schema.$Record<Schema.String, Schema.Unknown>>>;
72
+ readonly http: Schema.optional<typeof HttpContext>;
73
+ }>, {}>;
74
+ export declare class RateLimitReason extends RateLimitReason_base {
75
+ get retryable(): boolean;
76
+ }
77
+ declare const QuotaExceededReason_base: Schema.Class<QuotaExceededReason, Schema.Struct<{
78
+ readonly _tag: Schema.tag<"QuotaExceeded">;
79
+ readonly message: Schema.String;
80
+ readonly providerMetadata: Schema.optional<Schema.$Record<Schema.String, Schema.$Record<Schema.String, Schema.Unknown>>>;
81
+ readonly http: Schema.optional<typeof HttpContext>;
82
+ }>, {}>;
83
+ export declare class QuotaExceededReason extends QuotaExceededReason_base {
84
+ get retryable(): boolean;
85
+ }
86
+ declare const ContentPolicyReason_base: Schema.Class<ContentPolicyReason, Schema.Struct<{
87
+ readonly _tag: Schema.tag<"ContentPolicy">;
88
+ readonly message: Schema.String;
89
+ readonly providerMetadata: Schema.optional<Schema.$Record<Schema.String, Schema.$Record<Schema.String, Schema.Unknown>>>;
90
+ readonly http: Schema.optional<typeof HttpContext>;
91
+ }>, {}>;
92
+ export declare class ContentPolicyReason extends ContentPolicyReason_base {
93
+ get retryable(): boolean;
94
+ }
95
+ declare const ProviderInternalReason_base: Schema.Class<ProviderInternalReason, Schema.Struct<{
96
+ readonly _tag: Schema.tag<"ProviderInternal">;
97
+ readonly message: Schema.String;
98
+ readonly status: Schema.Number;
99
+ readonly retryAfterMs: Schema.optional<Schema.Number>;
100
+ readonly providerMetadata: Schema.optional<Schema.$Record<Schema.String, Schema.$Record<Schema.String, Schema.Unknown>>>;
101
+ readonly http: Schema.optional<typeof HttpContext>;
102
+ }>, {}>;
103
+ export declare class ProviderInternalReason extends ProviderInternalReason_base {
104
+ get retryable(): boolean;
105
+ }
106
+ declare const TransportReason_base: Schema.Class<TransportReason, Schema.Struct<{
107
+ readonly _tag: Schema.tag<"Transport">;
108
+ readonly message: Schema.String;
109
+ readonly kind: Schema.optional<Schema.String>;
110
+ readonly url: Schema.optional<Schema.String>;
111
+ readonly http: Schema.optional<typeof HttpContext>;
112
+ }>, {}>;
113
+ export declare class TransportReason extends TransportReason_base {
114
+ get retryable(): boolean;
115
+ }
116
+ declare const InvalidProviderOutputReason_base: Schema.Class<InvalidProviderOutputReason, Schema.Struct<{
117
+ readonly _tag: Schema.tag<"InvalidProviderOutput">;
118
+ readonly message: Schema.String;
119
+ readonly route: Schema.optional<Schema.String>;
120
+ readonly raw: Schema.optional<Schema.String>;
121
+ readonly providerMetadata: Schema.optional<Schema.$Record<Schema.String, Schema.$Record<Schema.String, Schema.Unknown>>>;
122
+ }>, {}>;
123
+ export declare class InvalidProviderOutputReason extends InvalidProviderOutputReason_base {
124
+ get retryable(): boolean;
125
+ }
126
+ declare const UnknownProviderReason_base: Schema.Class<UnknownProviderReason, Schema.Struct<{
127
+ readonly _tag: Schema.tag<"UnknownProvider">;
128
+ readonly message: Schema.String;
129
+ readonly status: Schema.optional<Schema.Number>;
130
+ readonly providerMetadata: Schema.optional<Schema.$Record<Schema.String, Schema.$Record<Schema.String, Schema.Unknown>>>;
131
+ readonly http: Schema.optional<typeof HttpContext>;
132
+ }>, {}>;
133
+ export declare class UnknownProviderReason extends UnknownProviderReason_base {
134
+ get retryable(): boolean;
135
+ }
136
+ export declare const LLMErrorReason: Schema.toTaggedUnion<"_tag", readonly [typeof InvalidRequestReason, typeof NoRouteReason, typeof AuthenticationReason, typeof RateLimitReason, typeof QuotaExceededReason, typeof ContentPolicyReason, typeof ProviderInternalReason, typeof TransportReason, typeof InvalidProviderOutputReason, typeof UnknownProviderReason]>;
137
+ export type LLMErrorReason = Schema.Schema.Type<typeof LLMErrorReason>;
138
+ declare const LLMError_base: Schema.Class<LLMError, Schema.TaggedStruct<"LLM.Error", {
139
+ readonly module: Schema.String;
140
+ readonly method: Schema.String;
141
+ readonly reason: Schema.toTaggedUnion<"_tag", readonly [typeof InvalidRequestReason, typeof NoRouteReason, typeof AuthenticationReason, typeof RateLimitReason, typeof QuotaExceededReason, typeof ContentPolicyReason, typeof ProviderInternalReason, typeof TransportReason, typeof InvalidProviderOutputReason, typeof UnknownProviderReason]>;
142
+ }>, import("effect/Cause").YieldableError>;
143
+ export declare class LLMError extends LLMError_base {
144
+ readonly cause: InvalidRequestReason | NoRouteReason | AuthenticationReason | RateLimitReason | QuotaExceededReason | ContentPolicyReason | ProviderInternalReason | TransportReason | InvalidProviderOutputReason | UnknownProviderReason;
145
+ get retryable(): boolean;
146
+ get retryAfterMs(): number;
147
+ get message(): string;
148
+ }
149
+ declare const ToolFailure_base: Schema.Class<ToolFailure, Schema.TaggedStruct<"LLM.ToolFailure", {
150
+ readonly message: Schema.String;
151
+ readonly error: Schema.optional<Schema.Defect>;
152
+ readonly metadata: Schema.optional<Schema.$Record<Schema.String, Schema.Unknown>>;
153
+ }>, import("effect/Cause").YieldableError>;
154
+ /**
155
+ * Failure type for tool execute handlers. Handlers must map their internal
156
+ * errors to this shape; the runtime catches `ToolFailure`s and surfaces them
157
+ * as `tool-error` events plus a `tool-result` of `type: "error"` so the model
158
+ * can self-correct.
159
+ *
160
+ * Anything thrown or yielded by a handler that is not a `ToolFailure` is
161
+ * treated as a defect and fails the stream.
162
+ */
163
+ export declare class ToolFailure extends ToolFailure_base {
164
+ }
165
+ export {};
166
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/schema/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAO,MAAM,6BAA6B,oCAAqC,CAAA;AAC/E,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAC,IAAI,CAAA;;;;;;AAErF,qBAAa,kBAAmB,SAAQ,uBAItC;CAAG;;;;;AAEL,qBAAa,mBAAoB,SAAQ,wBAGvC;CAAG;;;;;;;AAEL,qBAAa,oBAAqB,SAAQ,yBAKxC;CAAG;;;;;;;;;AAEL,qBAAa,WAAY,SAAQ,gBAO/B;CAAG;;;;;;;;;AAEL,qBAAa,oBAAqB,SAAQ,yBAOxC;IACA,IAAI,SAAS,YAEZ;CACF;;;;;;;AAED,qBAAa,aAAc,SAAQ,kBAKjC;IACA,IAAI,SAAS,YAEZ;IAED,IAAI,OAAO,WAEV;CACF;;;;;;;;AAED,qBAAa,oBAAqB,SAAQ,yBAMxC;IACA,IAAI,SAAS,YAEZ;CACF;;;;;;;;;AAED,qBAAa,eAAgB,SAAQ,oBAOnC;IACA,IAAI,SAAS,YAEZ;CACF;;;;;;;AAED,qBAAa,mBAAoB,SAAQ,wBAKvC;IACA,IAAI,SAAS,YAEZ;CACF;;;;;;;AAED,qBAAa,mBAAoB,SAAQ,wBAKvC;IACA,IAAI,SAAS,YAEZ;CACF;;;;;;;;;AAED,qBAAa,sBAAuB,SAAQ,2BAO1C;IACA,IAAI,SAAS,YAEZ;CACF;;;;;;;;AAED,qBAAa,eAAgB,SAAQ,oBAMnC;IACA,IAAI,SAAS,YAEZ;CACF;;;;;;;;AAED,qBAAa,2BAA4B,SAAQ,gCAQ/C;IACA,IAAI,SAAS,YAEZ;CACF;;;;;;;;AAED,qBAAa,qBAAsB,SAAQ,0BAMzC;IACA,IAAI,SAAS,YAEZ;CACF;AAED,eAAO,MAAM,cAAc,kUAWU,CAAA;AACrC,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,CAAA;;;;;;AAEtE,qBAAa,QAAS,SAAQ,aAI5B;IACA,SAAkB,KAAK,6NAAc;IAErC,IAAI,SAAS,YAEZ;IAED,IAAI,YAAY,WAEf;IAED,IAAa,OAAO,WAEnB;CACF;;;;;;AAED;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,gBAI/B;CAAG"}
@@ -0,0 +1,187 @@
1
+ import { Schema } from "effect";
2
+ import { ModelID, ProviderID, ProviderMetadata, RouteID } from "./ids";
3
+ export const ProviderFailureClassification = Schema.Literal("context-overflow");
4
+ export class HttpRequestDetails extends Schema.Class("LLM.HttpRequestDetails")({
5
+ method: Schema.String,
6
+ url: Schema.String,
7
+ headers: Schema.Record(Schema.String, Schema.String),
8
+ }) {
9
+ }
10
+ export class HttpResponseDetails extends Schema.Class("LLM.HttpResponseDetails")({
11
+ status: Schema.Number,
12
+ headers: Schema.Record(Schema.String, Schema.String),
13
+ }) {
14
+ }
15
+ export class HttpRateLimitDetails extends Schema.Class("LLM.HttpRateLimitDetails")({
16
+ retryAfterMs: Schema.optional(Schema.Number),
17
+ limit: Schema.optional(Schema.Record(Schema.String, Schema.String)),
18
+ remaining: Schema.optional(Schema.Record(Schema.String, Schema.String)),
19
+ reset: Schema.optional(Schema.Record(Schema.String, Schema.String)),
20
+ }) {
21
+ }
22
+ export class HttpContext extends Schema.Class("LLM.HttpContext")({
23
+ request: HttpRequestDetails,
24
+ response: Schema.optional(HttpResponseDetails),
25
+ body: Schema.optional(Schema.String),
26
+ bodyTruncated: Schema.optional(Schema.Boolean),
27
+ requestId: Schema.optional(Schema.String),
28
+ rateLimit: Schema.optional(HttpRateLimitDetails),
29
+ }) {
30
+ }
31
+ export class InvalidRequestReason extends Schema.Class("LLM.Error.InvalidRequest")({
32
+ _tag: Schema.tag("InvalidRequest"),
33
+ message: Schema.String,
34
+ parameter: Schema.optional(Schema.String),
35
+ classification: Schema.optional(ProviderFailureClassification),
36
+ providerMetadata: Schema.optional(ProviderMetadata),
37
+ http: Schema.optional(HttpContext),
38
+ }) {
39
+ get retryable() {
40
+ return false;
41
+ }
42
+ }
43
+ export class NoRouteReason extends Schema.Class("LLM.Error.NoRoute")({
44
+ _tag: Schema.tag("NoRoute"),
45
+ route: RouteID,
46
+ provider: ProviderID,
47
+ model: ModelID,
48
+ }) {
49
+ get retryable() {
50
+ return false;
51
+ }
52
+ get message() {
53
+ return `No LLM route for ${this.provider}/${this.model} using ${this.route}`;
54
+ }
55
+ }
56
+ export class AuthenticationReason extends Schema.Class("LLM.Error.Authentication")({
57
+ _tag: Schema.tag("Authentication"),
58
+ message: Schema.String,
59
+ kind: Schema.Literals(["missing", "invalid", "expired", "insufficient-permissions", "unknown"]),
60
+ providerMetadata: Schema.optional(ProviderMetadata),
61
+ http: Schema.optional(HttpContext),
62
+ }) {
63
+ get retryable() {
64
+ return false;
65
+ }
66
+ }
67
+ export class RateLimitReason extends Schema.Class("LLM.Error.RateLimit")({
68
+ _tag: Schema.tag("RateLimit"),
69
+ message: Schema.String,
70
+ retryAfterMs: Schema.optional(Schema.Number),
71
+ rateLimit: Schema.optional(HttpRateLimitDetails),
72
+ providerMetadata: Schema.optional(ProviderMetadata),
73
+ http: Schema.optional(HttpContext),
74
+ }) {
75
+ get retryable() {
76
+ return true;
77
+ }
78
+ }
79
+ export class QuotaExceededReason extends Schema.Class("LLM.Error.QuotaExceeded")({
80
+ _tag: Schema.tag("QuotaExceeded"),
81
+ message: Schema.String,
82
+ providerMetadata: Schema.optional(ProviderMetadata),
83
+ http: Schema.optional(HttpContext),
84
+ }) {
85
+ get retryable() {
86
+ return false;
87
+ }
88
+ }
89
+ export class ContentPolicyReason extends Schema.Class("LLM.Error.ContentPolicy")({
90
+ _tag: Schema.tag("ContentPolicy"),
91
+ message: Schema.String,
92
+ providerMetadata: Schema.optional(ProviderMetadata),
93
+ http: Schema.optional(HttpContext),
94
+ }) {
95
+ get retryable() {
96
+ return false;
97
+ }
98
+ }
99
+ export class ProviderInternalReason extends Schema.Class("LLM.Error.ProviderInternal")({
100
+ _tag: Schema.tag("ProviderInternal"),
101
+ message: Schema.String,
102
+ status: Schema.Number,
103
+ retryAfterMs: Schema.optional(Schema.Number),
104
+ providerMetadata: Schema.optional(ProviderMetadata),
105
+ http: Schema.optional(HttpContext),
106
+ }) {
107
+ get retryable() {
108
+ return true;
109
+ }
110
+ }
111
+ export class TransportReason extends Schema.Class("LLM.Error.Transport")({
112
+ _tag: Schema.tag("Transport"),
113
+ message: Schema.String,
114
+ kind: Schema.optional(Schema.String),
115
+ url: Schema.optional(Schema.String),
116
+ http: Schema.optional(HttpContext),
117
+ }) {
118
+ get retryable() {
119
+ return false;
120
+ }
121
+ }
122
+ export class InvalidProviderOutputReason extends Schema.Class("LLM.Error.InvalidProviderOutput")({
123
+ _tag: Schema.tag("InvalidProviderOutput"),
124
+ message: Schema.String,
125
+ route: Schema.optional(Schema.String),
126
+ raw: Schema.optional(Schema.String),
127
+ providerMetadata: Schema.optional(ProviderMetadata),
128
+ }) {
129
+ get retryable() {
130
+ return false;
131
+ }
132
+ }
133
+ export class UnknownProviderReason extends Schema.Class("LLM.Error.UnknownProvider")({
134
+ _tag: Schema.tag("UnknownProvider"),
135
+ message: Schema.String,
136
+ status: Schema.optional(Schema.Number),
137
+ providerMetadata: Schema.optional(ProviderMetadata),
138
+ http: Schema.optional(HttpContext),
139
+ }) {
140
+ get retryable() {
141
+ return false;
142
+ }
143
+ }
144
+ export const LLMErrorReason = Schema.Union([
145
+ InvalidRequestReason,
146
+ NoRouteReason,
147
+ AuthenticationReason,
148
+ RateLimitReason,
149
+ QuotaExceededReason,
150
+ ContentPolicyReason,
151
+ ProviderInternalReason,
152
+ TransportReason,
153
+ InvalidProviderOutputReason,
154
+ UnknownProviderReason,
155
+ ]).pipe(Schema.toTaggedUnion("_tag"));
156
+ export class LLMError extends Schema.TaggedErrorClass()("LLM.Error", {
157
+ module: Schema.String,
158
+ method: Schema.String,
159
+ reason: LLMErrorReason,
160
+ }) {
161
+ cause = this.reason;
162
+ get retryable() {
163
+ return this.reason.retryable;
164
+ }
165
+ get retryAfterMs() {
166
+ return "retryAfterMs" in this.reason ? this.reason.retryAfterMs : undefined;
167
+ }
168
+ get message() {
169
+ return `${this.module}.${this.method}: ${this.reason.message}`;
170
+ }
171
+ }
172
+ /**
173
+ * Failure type for tool execute handlers. Handlers must map their internal
174
+ * errors to this shape; the runtime catches `ToolFailure`s and surfaces them
175
+ * as `tool-error` events plus a `tool-result` of `type: "error"` so the model
176
+ * can self-correct.
177
+ *
178
+ * Anything thrown or yielded by a handler that is not a `ToolFailure` is
179
+ * treated as a defect and fails the stream.
180
+ */
181
+ export class ToolFailure extends Schema.TaggedErrorClass()("LLM.ToolFailure", {
182
+ message: Schema.String,
183
+ error: Schema.optional(Schema.Defect()),
184
+ metadata: Schema.optional(Schema.Record(Schema.String, Schema.Unknown)),
185
+ }) {
186
+ }
187
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/schema/errors.ts"],"names":[],"mappings":"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"}