@qvac/sdk 0.3.0 → 0.4.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 (207) hide show
  1. package/README.md +22 -0
  2. package/dist/client/api/cancel.d.ts +1 -1
  3. package/dist/client/api/cancel.js +4 -3
  4. package/dist/client/api/completion-stream.d.ts +24 -32
  5. package/dist/client/api/completion-stream.js +142 -50
  6. package/dist/client/api/delete-cache.js +3 -2
  7. package/dist/client/api/download-asset.d.ts +3 -3
  8. package/dist/client/api/download-asset.js +12 -17
  9. package/dist/client/api/embed.d.ts +1 -1
  10. package/dist/client/api/embed.js +4 -3
  11. package/dist/client/api/get-model-info.d.ts +29 -0
  12. package/dist/client/api/get-model-info.js +14 -0
  13. package/dist/client/api/index.d.ts +3 -0
  14. package/dist/client/api/index.js +3 -0
  15. package/dist/client/api/load-model.d.ts +3 -3
  16. package/dist/client/api/load-model.js +13 -22
  17. package/dist/client/api/logging-stream.d.ts +1 -1
  18. package/dist/client/api/logging-stream.js +3 -2
  19. package/dist/client/api/ping.d.ts +1 -1
  20. package/dist/client/api/ping.js +3 -2
  21. package/dist/client/api/provide.d.ts +1 -1
  22. package/dist/client/api/provide.js +4 -3
  23. package/dist/client/api/rag.d.ts +3 -3
  24. package/dist/client/api/rag.js +13 -12
  25. package/dist/client/api/set-config.d.ts +7 -0
  26. package/dist/client/api/set-config.js +20 -0
  27. package/dist/client/api/stop-provider.d.ts +1 -1
  28. package/dist/client/api/stop-provider.js +4 -3
  29. package/dist/client/api/text-to-speech.d.ts +7 -0
  30. package/dist/client/api/text-to-speech.js +58 -0
  31. package/dist/client/api/transcribe.d.ts +4 -2
  32. package/dist/client/api/transcribe.js +9 -5
  33. package/dist/client/api/translate.d.ts +1 -1
  34. package/dist/client/api/translate.js +3 -2
  35. package/dist/client/api/unload-model.d.ts +5 -1
  36. package/dist/client/api/unload-model.js +14 -4
  37. package/dist/client/config-manager.d.ts +4 -0
  38. package/dist/client/config-manager.js +8 -0
  39. package/dist/client/index.d.ts +1 -1
  40. package/dist/client/index.js +1 -1
  41. package/dist/client/init-hooks.d.ts +6 -0
  42. package/dist/client/init-hooks.js +37 -0
  43. package/dist/client/rpc/bare-client.d.ts +69 -0
  44. package/dist/client/rpc/bare-client.js +5 -4
  45. package/dist/client/rpc/bare-rpc-client.js +7 -3
  46. package/dist/client/rpc/expo-rpc-client.d.ts +1 -0
  47. package/dist/client/rpc/expo-rpc-client.js +9 -1
  48. package/dist/client/rpc/node-rpc-client.d.ts +1 -1
  49. package/dist/client/rpc/node-rpc-client.js +22 -9
  50. package/dist/client/rpc/rpc-client.d.ts +1 -0
  51. package/dist/client/rpc/rpc-client.js +20 -1
  52. package/dist/examples/cache-management.d.ts +2 -0
  53. package/dist/examples/cache-management.js +97 -0
  54. package/dist/examples/delegated-inference/consumer.js +2 -2
  55. package/dist/examples/download-with-blind-relays.d.ts +2 -0
  56. package/dist/examples/download-with-blind-relays.js +48 -0
  57. package/dist/examples/download-with-cancel.js +3 -4
  58. package/dist/examples/embed-hyperdrive.js +0 -1
  59. package/dist/examples/kv-cache-cleanup.js +0 -1
  60. package/dist/examples/kv-cache-custom-key.js +0 -1
  61. package/dist/examples/kv-cache-example.js +0 -1
  62. package/dist/examples/llamacpp-file-logging.js +0 -1
  63. package/dist/examples/llamacpp-filesystem.js +2 -2
  64. package/dist/examples/llamacpp-http.js +0 -1
  65. package/dist/examples/llamacpp-hyperdrive.js +0 -1
  66. package/dist/examples/llamacpp-multimodal.js +0 -1
  67. package/dist/examples/llamacpp-native-tools.js +118 -36
  68. package/dist/examples/llamacpp-sharded.d.ts +2 -0
  69. package/dist/examples/llamacpp-sharded.js +44 -0
  70. package/dist/examples/multi-model-demo.js +0 -1
  71. package/dist/examples/parallel-download.js +2 -2
  72. package/dist/examples/rag/rag-chromadb.js +0 -1
  73. package/dist/examples/rag/rag-hyperdb-workspaces.js +0 -1
  74. package/dist/examples/rag/rag-hyperdb.js +0 -1
  75. package/dist/examples/rag/rag-lancedb.js +0 -1
  76. package/dist/examples/rag/rag-sqlite.js +0 -1
  77. package/dist/examples/text-to-speech.d.ts +3 -0
  78. package/dist/examples/text-to-speech.js +137 -0
  79. package/dist/examples/translation/translation-indic.js +3 -1
  80. package/dist/examples/translation/translation-llm-context.js +0 -1
  81. package/dist/examples/translation/translation-llm.js +2 -2
  82. package/dist/examples/translation/translation-opus.js +3 -1
  83. package/dist/examples/translation/translation-stream.js +0 -1
  84. package/dist/examples/whispercpp-filesystem.js +32 -5
  85. package/dist/examples/whispercpp-microphone-record.js +9 -9
  86. package/dist/examples/whispercpp-prompt.d.ts +2 -0
  87. package/dist/examples/whispercpp-prompt.js +68 -0
  88. package/dist/expo/plugins/withMobileBundle.js +9 -3
  89. package/dist/index.d.ts +4 -2
  90. package/dist/index.js +4 -2
  91. package/dist/models/hyperdrive/models.d.ts +1916 -100
  92. package/dist/models/hyperdrive/models.js +2042 -102
  93. package/dist/schemas/common.d.ts +413 -58
  94. package/dist/schemas/common.js +9 -0
  95. package/dist/schemas/completion-stream.d.ts +26 -22
  96. package/dist/schemas/completion-stream.js +9 -23
  97. package/dist/schemas/download-asset.d.ts +77 -2
  98. package/dist/schemas/download-asset.js +15 -4
  99. package/dist/schemas/get-model-info.d.ts +100 -0
  100. package/dist/schemas/get-model-info.js +40 -0
  101. package/dist/schemas/index.d.ts +7 -0
  102. package/dist/schemas/index.js +7 -0
  103. package/dist/schemas/llamacpp-config.d.ts +2 -1
  104. package/dist/schemas/llamacpp-config.js +3 -4
  105. package/dist/schemas/load-model.d.ts +2316 -266
  106. package/dist/schemas/load-model.js +157 -10
  107. package/dist/schemas/model-src-utils.d.ts +98 -0
  108. package/dist/schemas/model-src-utils.js +31 -0
  109. package/dist/schemas/sdk-errors-client.d.ts +25 -0
  110. package/dist/schemas/sdk-errors-client.js +111 -0
  111. package/dist/schemas/sdk-errors-server.d.ts +55 -0
  112. package/dist/schemas/sdk-errors-server.js +271 -0
  113. package/dist/schemas/set-config.d.ts +21 -0
  114. package/dist/schemas/set-config.js +14 -0
  115. package/dist/schemas/text-to-speech.d.ts +34 -0
  116. package/dist/schemas/text-to-speech.js +25 -0
  117. package/dist/schemas/tools.d.ts +62 -0
  118. package/dist/schemas/tools.js +43 -0
  119. package/dist/schemas/transcription.d.ts +25 -2
  120. package/dist/schemas/transcription.js +12 -1
  121. package/dist/schemas/translation-config.d.ts +33 -5
  122. package/dist/schemas/translation-config.js +18 -1
  123. package/dist/schemas/unload-model.d.ts +2 -0
  124. package/dist/schemas/unload-model.js +2 -0
  125. package/dist/schemas/whispercpp-config.d.ts +55 -18
  126. package/dist/schemas/whispercpp-config.js +63 -15
  127. package/dist/server/bare/addons/cancel.js +2 -1
  128. package/dist/server/bare/addons/llamacpp/create-model.d.ts +9 -2
  129. package/dist/server/bare/addons/llamacpp/create-model.js +23 -23
  130. package/dist/server/bare/addons/llamacpp/handlers/completion-stream.d.ts +10 -2
  131. package/dist/server/bare/addons/llamacpp/handlers/completion-stream.js +62 -43
  132. package/dist/server/bare/addons/llamacpp/handlers/embed.js +3 -2
  133. package/dist/server/bare/addons/llamacpp/kv-cache-utils.d.ts +1 -1
  134. package/dist/server/bare/addons/llamacpp/kv-cache-utils.js +6 -2
  135. package/dist/server/bare/addons/load-model.js +59 -28
  136. package/dist/server/bare/addons/translation/create-model.d.ts +5 -1
  137. package/dist/server/bare/addons/translation/create-model.js +17 -25
  138. package/dist/server/bare/addons/translation/handlers/translate.js +10 -1
  139. package/dist/server/bare/addons/tts/create-model.d.ts +10 -0
  140. package/dist/server/bare/addons/tts/create-model.js +25 -0
  141. package/dist/server/bare/addons/tts/handlers/text-to-speech.d.ts +3 -0
  142. package/dist/server/bare/addons/tts/handlers/text-to-speech.js +87 -0
  143. package/dist/server/bare/addons/tts/index.d.ts +3 -0
  144. package/dist/server/bare/addons/tts/index.js +2 -0
  145. package/dist/server/bare/addons/unload-model.js +21 -3
  146. package/dist/server/bare/addons/whispercpp/create-model.d.ts +5 -1
  147. package/dist/server/bare/addons/whispercpp/create-model.js +13 -32
  148. package/dist/server/bare/addons/whispercpp/handlers/transcribe-stream.js +41 -20
  149. package/dist/server/bare/delegate-rpc-client.js +3 -2
  150. package/dist/server/bare/hyperswarm.d.ts +3 -0
  151. package/dist/server/bare/hyperswarm.js +22 -1
  152. package/dist/server/bare/rag-hyperdb/rag-manager.js +2 -3
  153. package/dist/server/bare/registry/config-registry.d.ts +5 -0
  154. package/dist/server/bare/registry/config-registry.js +39 -0
  155. package/dist/server/bare/registry/model-registry.d.ts +13 -0
  156. package/dist/server/bare/registry/model-registry.js +24 -7
  157. package/dist/server/rpc/handle-request.js +42 -3
  158. package/dist/server/rpc/handlers/completion-stream-delegated.js +2 -1
  159. package/dist/server/rpc/handlers/completion-stream.js +11 -4
  160. package/dist/server/rpc/handlers/download-asset.js +2 -3
  161. package/dist/server/rpc/handlers/get-model-info.d.ts +3 -0
  162. package/dist/server/rpc/handlers/get-model-info.js +148 -0
  163. package/dist/server/rpc/handlers/index.d.ts +4 -0
  164. package/dist/server/rpc/handlers/index.js +6 -0
  165. package/dist/server/rpc/handlers/load-model/http.js +51 -10
  166. package/dist/server/rpc/handlers/load-model/hyperdrive.js +336 -156
  167. package/dist/server/rpc/handlers/load-model/index.js +1 -1
  168. package/dist/server/rpc/handlers/load-model/resolve.d.ts +1 -1
  169. package/dist/server/rpc/handlers/load-model/resolve.js +10 -6
  170. package/dist/server/rpc/handlers/load-model-delegated.js +7 -4
  171. package/dist/server/rpc/handlers/load-model.js +19 -1
  172. package/dist/server/rpc/handlers/provideHandler/handler.js +2 -1
  173. package/dist/server/rpc/handlers/rag.js +0 -3
  174. package/dist/server/rpc/handlers/set-config.d.ts +3 -0
  175. package/dist/server/rpc/handlers/set-config.js +18 -0
  176. package/dist/server/rpc/handlers/stopProvideHandler.js +3 -1
  177. package/dist/server/rpc/handlers/text-to-speech.d.ts +3 -0
  178. package/dist/server/rpc/handlers/text-to-speech.js +7 -0
  179. package/dist/server/rpc/handlers/transcribe-stream.js +6 -2
  180. package/dist/server/rpc/handlers/unload-model.js +7 -0
  181. package/dist/server/utils/cache.d.ts +13 -8
  182. package/dist/server/utils/cache.js +69 -14
  183. package/dist/server/utils/checksum.d.ts +2 -0
  184. package/dist/server/utils/checksum.js +24 -0
  185. package/dist/server/utils/index.d.ts +2 -0
  186. package/dist/server/utils/index.js +2 -0
  187. package/dist/server/utils/shard-utils.d.ts +22 -0
  188. package/dist/server/utils/shard-utils.js +37 -0
  189. package/dist/server/utils/tool-integration.d.ts +13 -0
  190. package/dist/server/utils/tool-integration.js +43 -0
  191. package/dist/server/utils/tool-parser.d.ts +7 -0
  192. package/dist/server/utils/tool-parser.js +244 -0
  193. package/dist/utils/errors-base.d.ts +3 -0
  194. package/dist/utils/errors-base.js +13 -0
  195. package/dist/utils/errors-client.d.ts +107 -0
  196. package/dist/utils/errors-client.js +186 -0
  197. package/dist/utils/errors-server.d.ts +146 -0
  198. package/dist/utils/errors-server.js +253 -0
  199. package/dist/utils/tool-helpers.d.ts +17 -0
  200. package/dist/utils/tool-helpers.js +99 -0
  201. package/package.json +12 -8
  202. package/dist/examples/llamacpp-tools-routing.d.ts +0 -2
  203. package/dist/examples/llamacpp-tools-routing.js +0 -364
  204. package/dist/examples/llamacpp-tools.d.ts +0 -2
  205. package/dist/examples/llamacpp-tools.js +0 -81
  206. package/dist/server/http-server.d.ts +0 -2
  207. package/dist/server/http-server.js +0 -189
@@ -0,0 +1,244 @@
1
+ let toolCallSequence = 0;
2
+ function generateStableToolCallId(name, args) {
3
+ const content = `${name}:${JSON.stringify(args)}`;
4
+ let hash = 0;
5
+ for (let i = 0; i < content.length; i++) {
6
+ const char = content.charCodeAt(i);
7
+ hash = (hash << 5) - hash + char;
8
+ hash = hash & hash;
9
+ }
10
+ const sequence = toolCallSequence++;
11
+ return `call_${Math.abs(hash).toString(36)}_${sequence}`;
12
+ }
13
+ function isValidToolCall(obj) {
14
+ if (!obj || typeof obj !== "object") {
15
+ return false;
16
+ }
17
+ if (!("name" in obj) || typeof obj.name !== "string") {
18
+ return false;
19
+ }
20
+ if (!("arguments" in obj) ||
21
+ typeof obj.arguments !== "object" ||
22
+ obj.arguments === null) {
23
+ return false;
24
+ }
25
+ return true;
26
+ }
27
+ function validateToolArguments(toolName, args, tools) {
28
+ const tool = tools.find((t) => t.name === toolName);
29
+ if (!tool) {
30
+ return {
31
+ isValid: false,
32
+ error: {
33
+ code: "UNKNOWN_TOOL",
34
+ message: `Tool "${toolName}" not found in available tools`,
35
+ },
36
+ };
37
+ }
38
+ const required = tool.parameters.required || [];
39
+ for (const requiredParam of required) {
40
+ if (!(requiredParam in args)) {
41
+ return {
42
+ isValid: false,
43
+ error: {
44
+ code: "VALIDATION_ERROR",
45
+ message: `Missing required parameter "${requiredParam}" for tool "${toolName}"`,
46
+ },
47
+ };
48
+ }
49
+ }
50
+ return { isValid: true };
51
+ }
52
+ function parseGemmaFormat(text, tools) {
53
+ const toolCalls = [];
54
+ const errors = [];
55
+ try {
56
+ const parsed = JSON.parse(text);
57
+ if (parsed &&
58
+ typeof parsed === "object" &&
59
+ "tool_calls" in parsed &&
60
+ Array.isArray(parsed.tool_calls)) {
61
+ for (const callItem of parsed.tool_calls) {
62
+ if (!isValidToolCall(callItem)) {
63
+ continue;
64
+ }
65
+ const call = callItem;
66
+ const validation = validateToolArguments(call.name, call.arguments, tools);
67
+ if (!validation.isValid && validation.error) {
68
+ errors.push({
69
+ ...validation.error,
70
+ raw: JSON.stringify(call),
71
+ });
72
+ continue;
73
+ }
74
+ toolCalls.push({
75
+ id: call.id || generateStableToolCallId(call.name, call.arguments),
76
+ name: call.name,
77
+ arguments: call.arguments,
78
+ raw: JSON.stringify(call),
79
+ });
80
+ }
81
+ }
82
+ }
83
+ catch {
84
+ // Not Gemma format, continue to next parser
85
+ }
86
+ return { toolCalls, errors };
87
+ }
88
+ function parseQwenFormat(text, tools) {
89
+ const toolCalls = [];
90
+ const errors = [];
91
+ const toolCallRegex = /<tool_call>\s*({[\s\S]*?})\s*<\/tool_call>/g;
92
+ const matches = Array.from(text.matchAll(toolCallRegex));
93
+ for (const match of matches) {
94
+ try {
95
+ const callJson = match[1];
96
+ if (!callJson)
97
+ continue;
98
+ const trimmedJson = callJson.trim();
99
+ const callItem = JSON.parse(trimmedJson);
100
+ if (!isValidToolCall(callItem)) {
101
+ continue;
102
+ }
103
+ const call = callItem;
104
+ const validation = validateToolArguments(call.name, call.arguments, tools);
105
+ if (!validation.isValid && validation.error) {
106
+ errors.push({
107
+ ...validation.error,
108
+ raw: trimmedJson,
109
+ });
110
+ continue;
111
+ }
112
+ toolCalls.push({
113
+ id: call.id || generateStableToolCallId(call.name, call.arguments),
114
+ name: call.name,
115
+ arguments: call.arguments,
116
+ raw: trimmedJson,
117
+ });
118
+ }
119
+ catch (error) {
120
+ errors.push({
121
+ code: "PARSE_ERROR",
122
+ message: `Failed to parse Qwen tool call: ${error instanceof Error ? error.message : String(error)}`,
123
+ raw: match[1],
124
+ });
125
+ }
126
+ }
127
+ return { toolCalls, errors };
128
+ }
129
+ function parseLlamacppFormat(text, tools) {
130
+ const toolCalls = [];
131
+ const errors = [];
132
+ try {
133
+ const parsedItem = JSON.parse(text);
134
+ if (isValidToolCall(parsedItem)) {
135
+ const parsed = parsedItem;
136
+ const validation = validateToolArguments(parsed.name, parsed.arguments, tools);
137
+ if (!validation.isValid && validation.error) {
138
+ errors.push({
139
+ ...validation.error,
140
+ raw: text,
141
+ });
142
+ }
143
+ else {
144
+ toolCalls.push({
145
+ id: parsed.id ||
146
+ generateStableToolCallId(parsed.name, parsed.arguments),
147
+ name: parsed.name,
148
+ arguments: parsed.arguments,
149
+ raw: text,
150
+ });
151
+ }
152
+ }
153
+ }
154
+ catch {
155
+ // Not valid JSON format
156
+ }
157
+ return { toolCalls, errors };
158
+ }
159
+ function parseGenericFormat(text, tools) {
160
+ const toolCalls = [];
161
+ const errors = [];
162
+ const jsonObjectRegex = /\{[\s\S]*?"name"[\s\S]*?"arguments"[\s\S]*?\}/g;
163
+ let match;
164
+ while ((match = jsonObjectRegex.exec(text)) !== null) {
165
+ try {
166
+ const objItem = JSON.parse(match[0]);
167
+ if (isValidToolCall(objItem)) {
168
+ const obj = objItem;
169
+ const validation = validateToolArguments(obj.name, obj.arguments, tools);
170
+ if (!validation.isValid && validation.error) {
171
+ errors.push({
172
+ ...validation.error,
173
+ raw: match[0],
174
+ });
175
+ continue;
176
+ }
177
+ toolCalls.push({
178
+ id: obj.id || generateStableToolCallId(obj.name, obj.arguments),
179
+ name: obj.name,
180
+ arguments: obj.arguments,
181
+ raw: match[0],
182
+ });
183
+ }
184
+ }
185
+ catch (error) {
186
+ errors.push({
187
+ code: "PARSE_ERROR",
188
+ message: `Failed to parse generic tool call: ${error instanceof Error ? error.message : String(error)}`,
189
+ raw: match[0],
190
+ });
191
+ }
192
+ }
193
+ return { toolCalls, errors };
194
+ }
195
+ export function parseToolCalls(text, tools) {
196
+ if (!tools || tools.length === 0) {
197
+ return { toolCalls: [], errors: [] };
198
+ }
199
+ let result = parseGemmaFormat(text, tools);
200
+ if (result.toolCalls.length > 0) {
201
+ return result;
202
+ }
203
+ result = parseQwenFormat(text, tools);
204
+ if (result.toolCalls.length > 0) {
205
+ return result;
206
+ }
207
+ result = parseLlamacppFormat(text, tools);
208
+ if (result.toolCalls.length > 0) {
209
+ return result;
210
+ }
211
+ if (text.includes("<tool_call>")) {
212
+ return { toolCalls: [], errors: [] };
213
+ }
214
+ result = parseGenericFormat(text, tools);
215
+ return result;
216
+ }
217
+ export function convertToolsToGrammar(tools) {
218
+ const toolSchemas = tools.map((tool) => {
219
+ const properties = {};
220
+ for (const [key, value] of Object.entries(tool.parameters.properties)) {
221
+ properties[key] = {
222
+ type: value.type,
223
+ ...(value.description && { description: value.description }),
224
+ ...(value.enum && { enum: value.enum }),
225
+ };
226
+ }
227
+ return {
228
+ type: "object",
229
+ properties: {
230
+ name: { type: "string", const: tool.name },
231
+ arguments: {
232
+ type: "object",
233
+ properties,
234
+ required: tool.parameters.required || [],
235
+ },
236
+ },
237
+ required: ["name", "arguments"],
238
+ };
239
+ });
240
+ const grammar = {
241
+ oneOf: toolSchemas,
242
+ };
243
+ return JSON.stringify(grammar);
244
+ }
@@ -0,0 +1,3 @@
1
+ import type { QvacErrorOptions } from "@qvac/error";
2
+ export declare const createErrorOptions: (code: number, adds?: string | (string | number)[], cause?: unknown) => QvacErrorOptions;
3
+ //# sourceMappingURL=errors-base.d.ts.map
@@ -0,0 +1,13 @@
1
+ export const createErrorOptions = (code, adds, cause) => {
2
+ const options = { code };
3
+ if (adds !== undefined) {
4
+ options.adds = adds;
5
+ }
6
+ if (cause !== undefined) {
7
+ options.cause =
8
+ cause instanceof Error
9
+ ? cause
10
+ : new Error(typeof cause === "string" ? cause : JSON.stringify(cause));
11
+ }
12
+ return options;
13
+ };
@@ -0,0 +1,107 @@
1
+ import { QvacErrorBase } from "@qvac/error";
2
+ export declare class InvalidResponseError extends QvacErrorBase {
3
+ constructor(expected: string, cause?: unknown);
4
+ }
5
+ export declare class InvalidOperationError extends QvacErrorBase {
6
+ constructor(cause?: unknown);
7
+ }
8
+ export declare class StreamEndedError extends QvacErrorBase {
9
+ constructor(cause?: unknown);
10
+ }
11
+ export declare class NoDataReceivedError extends QvacErrorBase {
12
+ constructor(cause?: unknown);
13
+ }
14
+ export declare class InvalidAudioChunkError extends QvacErrorBase {
15
+ constructor(cause?: unknown);
16
+ }
17
+ export declare class InvalidToolsArrayError extends QvacErrorBase {
18
+ constructor(cause?: unknown);
19
+ }
20
+ export declare class InvalidToolSchemaError extends QvacErrorBase {
21
+ constructor(details: string, cause?: unknown);
22
+ }
23
+ export declare class RPCNoHandlerError extends QvacErrorBase {
24
+ constructor(requestType: string, cause?: unknown);
25
+ }
26
+ export declare class RPCRequestNotSentError extends QvacErrorBase {
27
+ constructor(cause?: unknown);
28
+ }
29
+ export declare class RPCResponseStreamNotCreatedError extends QvacErrorBase {
30
+ constructor(cause?: unknown);
31
+ }
32
+ export declare class RPCConnectionFailedError extends QvacErrorBase {
33
+ constructor(details: string, cause?: unknown);
34
+ }
35
+ export declare class UnknownRequestTypeError extends QvacErrorBase {
36
+ constructor(cause?: unknown);
37
+ }
38
+ export declare class ProviderStartFailedError extends QvacErrorBase {
39
+ constructor(details?: string, cause?: unknown);
40
+ }
41
+ export declare class ProviderStopFailedError extends QvacErrorBase {
42
+ constructor(details?: string, cause?: unknown);
43
+ }
44
+ export declare class DelegateNoFinalResponseError extends QvacErrorBase {
45
+ constructor(cause?: unknown);
46
+ }
47
+ export declare class DelegateProviderError extends QvacErrorBase {
48
+ constructor(details: string, cause?: unknown);
49
+ }
50
+ export declare class DelegateConnectionFailedError extends QvacErrorBase {
51
+ constructor(details: string, cause?: unknown);
52
+ }
53
+ export declare class SDKNotFoundInNodeModulesError extends QvacErrorBase {
54
+ constructor(cause?: unknown);
55
+ }
56
+ export declare class WorkerFileNotFoundError extends QvacErrorBase {
57
+ constructor(workerPath: string, cause?: unknown);
58
+ }
59
+ export declare class ModelUnloadFailedError extends QvacErrorBase {
60
+ constructor(modelId?: string, cause?: unknown);
61
+ }
62
+ export declare class EmbedFailedError extends QvacErrorBase {
63
+ constructor(details?: string, cause?: unknown);
64
+ }
65
+ export declare class TranscriptionFailedError extends QvacErrorBase {
66
+ constructor(details?: string, cause?: unknown);
67
+ }
68
+ export declare class TranslationFailedError extends QvacErrorBase {
69
+ constructor(details?: string, cause?: unknown);
70
+ }
71
+ export declare class CancelFailedError extends QvacErrorBase {
72
+ constructor(details?: string, cause?: unknown);
73
+ }
74
+ export declare class RAGSaveFailedError extends QvacErrorBase {
75
+ constructor(details?: string, cause?: unknown);
76
+ }
77
+ export declare class RAGSearchFailedError extends QvacErrorBase {
78
+ constructor(details?: string, cause?: unknown);
79
+ }
80
+ export declare class RAGDeleteFailedError extends QvacErrorBase {
81
+ constructor(details?: string, cause?: unknown);
82
+ }
83
+ export declare class DownloadAssetFailedError extends QvacErrorBase {
84
+ constructor(details?: string, cause?: unknown);
85
+ }
86
+ export declare class DownloadCancelledError extends QvacErrorBase {
87
+ constructor(cause?: unknown);
88
+ }
89
+ export declare class ChecksumValidationFailedError extends QvacErrorBase {
90
+ constructor(fileName: string, cause?: unknown);
91
+ }
92
+ export declare class HTTPError extends QvacErrorBase {
93
+ constructor(status: number, statusText: string, cause?: unknown);
94
+ }
95
+ export declare class ModelLoadFailedError extends QvacErrorBase {
96
+ constructor(details?: string, cause?: unknown);
97
+ }
98
+ export declare class DeleteCacheFailedError extends QvacErrorBase {
99
+ constructor(details?: string, cause?: unknown);
100
+ }
101
+ export declare class InvalidDeleteCacheParamsError extends QvacErrorBase {
102
+ constructor(cause?: unknown);
103
+ }
104
+ export declare class SetConfigFailedError extends QvacErrorBase {
105
+ constructor(details?: string, cause?: unknown);
106
+ }
107
+ //# sourceMappingURL=errors-client.d.ts.map
@@ -0,0 +1,186 @@
1
+ import { QvacErrorBase } from "@qvac/error";
2
+ import { SDK_CLIENT_ERROR_CODES } from "../schemas/sdk-errors-client.js";
3
+ import { createErrorOptions } from "./errors-base.js";
4
+ // ============== Response Validation Errors ==============
5
+ export class InvalidResponseError extends QvacErrorBase {
6
+ constructor(expected, cause) {
7
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.INVALID_RESPONSE_TYPE, [expected], cause));
8
+ }
9
+ }
10
+ export class InvalidOperationError extends QvacErrorBase {
11
+ constructor(cause) {
12
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.INVALID_OPERATION_IN_RESPONSE, undefined, cause));
13
+ }
14
+ }
15
+ export class StreamEndedError extends QvacErrorBase {
16
+ constructor(cause) {
17
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.STREAM_ENDED_WITHOUT_RESPONSE, undefined, cause));
18
+ }
19
+ }
20
+ export class NoDataReceivedError extends QvacErrorBase {
21
+ constructor(cause) {
22
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.NO_DATA_RECEIVED, undefined, cause));
23
+ }
24
+ }
25
+ export class InvalidAudioChunkError extends QvacErrorBase {
26
+ constructor(cause) {
27
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.INVALID_AUDIO_CHUNK_TYPE, undefined, cause));
28
+ }
29
+ }
30
+ export class InvalidToolsArrayError extends QvacErrorBase {
31
+ constructor(cause) {
32
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.INVALID_TOOLS_ARRAY, undefined, cause));
33
+ }
34
+ }
35
+ export class InvalidToolSchemaError extends QvacErrorBase {
36
+ constructor(details, cause) {
37
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.INVALID_TOOL_SCHEMA, [details], cause));
38
+ }
39
+ }
40
+ // ============== RPC Communication Errors ==============
41
+ export class RPCNoHandlerError extends QvacErrorBase {
42
+ constructor(requestType, cause) {
43
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.RPC_NO_HANDLER, [requestType], cause));
44
+ }
45
+ }
46
+ export class RPCRequestNotSentError extends QvacErrorBase {
47
+ constructor(cause) {
48
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.RPC_REQUEST_NOT_SENT, undefined, cause));
49
+ }
50
+ }
51
+ export class RPCResponseStreamNotCreatedError extends QvacErrorBase {
52
+ constructor(cause) {
53
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.RPC_RESPONSE_STREAM_NOT_CREATED, undefined, cause));
54
+ }
55
+ }
56
+ export class RPCConnectionFailedError extends QvacErrorBase {
57
+ constructor(details, cause) {
58
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.RPC_CONNECTION_FAILED, [details], cause));
59
+ }
60
+ }
61
+ export class UnknownRequestTypeError extends QvacErrorBase {
62
+ constructor(cause) {
63
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.UNKNOWN_REQUEST_TYPE, undefined, cause));
64
+ }
65
+ }
66
+ // ============== Provider/Delegation Errors ==============
67
+ export class ProviderStartFailedError extends QvacErrorBase {
68
+ constructor(details, cause) {
69
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.PROVIDER_START_FAILED, details ? [details] : undefined, cause));
70
+ }
71
+ }
72
+ export class ProviderStopFailedError extends QvacErrorBase {
73
+ constructor(details, cause) {
74
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.PROVIDER_STOP_FAILED, details ? [details] : undefined, cause));
75
+ }
76
+ }
77
+ export class DelegateNoFinalResponseError extends QvacErrorBase {
78
+ constructor(cause) {
79
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.DELEGATE_NO_FINAL_RESPONSE, undefined, cause));
80
+ }
81
+ }
82
+ export class DelegateProviderError extends QvacErrorBase {
83
+ constructor(details, cause) {
84
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.DELEGATE_PROVIDER_ERROR, [details], cause));
85
+ }
86
+ }
87
+ export class DelegateConnectionFailedError extends QvacErrorBase {
88
+ constructor(details, cause) {
89
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.DELEGATE_CONNECTION_FAILED, [details], cause));
90
+ }
91
+ }
92
+ // ============== Build/Bundle Errors ==============
93
+ export class SDKNotFoundInNodeModulesError extends QvacErrorBase {
94
+ constructor(cause) {
95
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.SDK_NOT_FOUND_IN_NODE_MODULES, undefined, cause));
96
+ }
97
+ }
98
+ export class WorkerFileNotFoundError extends QvacErrorBase {
99
+ constructor(workerPath, cause) {
100
+ super(createErrorOptions(SDK_CLIENT_ERROR_CODES.WORKER_FILE_NOT_FOUND, [workerPath], cause));
101
+ }
102
+ }
103
+ // ============== Operation Errors (Client-side wrappers for server operations) ==============
104
+ // These are used by client API to throw errors based on server responses
105
+ // They reference server error codes but are thrown on client side
106
+ import { SDK_SERVER_ERROR_CODES } from "../schemas/sdk-errors-server.js";
107
+ export class ModelUnloadFailedError extends QvacErrorBase {
108
+ constructor(modelId, cause) {
109
+ super(createErrorOptions(SDK_SERVER_ERROR_CODES.MODEL_UNLOAD_FAILED, modelId ? [modelId] : undefined, cause));
110
+ }
111
+ }
112
+ export class EmbedFailedError extends QvacErrorBase {
113
+ constructor(details, cause) {
114
+ super(createErrorOptions(SDK_SERVER_ERROR_CODES.EMBED_FAILED, details ? [details] : undefined, cause));
115
+ }
116
+ }
117
+ export class TranscriptionFailedError extends QvacErrorBase {
118
+ constructor(details, cause) {
119
+ super(createErrorOptions(SDK_SERVER_ERROR_CODES.TRANSCRIPTION_FAILED, details ? [details] : undefined, cause));
120
+ }
121
+ }
122
+ export class TranslationFailedError extends QvacErrorBase {
123
+ constructor(details, cause) {
124
+ super(createErrorOptions(SDK_SERVER_ERROR_CODES.TRANSLATION_FAILED, details ? [details] : undefined, cause));
125
+ }
126
+ }
127
+ export class CancelFailedError extends QvacErrorBase {
128
+ constructor(details, cause) {
129
+ super(createErrorOptions(SDK_SERVER_ERROR_CODES.CANCEL_FAILED, details ? [details] : undefined, cause));
130
+ }
131
+ }
132
+ export class RAGSaveFailedError extends QvacErrorBase {
133
+ constructor(details, cause) {
134
+ super(createErrorOptions(SDK_SERVER_ERROR_CODES.RAG_SAVE_FAILED, details ? [details] : undefined, cause));
135
+ }
136
+ }
137
+ export class RAGSearchFailedError extends QvacErrorBase {
138
+ constructor(details, cause) {
139
+ super(createErrorOptions(SDK_SERVER_ERROR_CODES.RAG_SEARCH_FAILED, details ? [details] : undefined, cause));
140
+ }
141
+ }
142
+ export class RAGDeleteFailedError extends QvacErrorBase {
143
+ constructor(details, cause) {
144
+ super(createErrorOptions(SDK_SERVER_ERROR_CODES.RAG_DELETE_FAILED, details ? [details] : undefined, cause));
145
+ }
146
+ }
147
+ export class DownloadAssetFailedError extends QvacErrorBase {
148
+ constructor(details, cause) {
149
+ super(createErrorOptions(SDK_SERVER_ERROR_CODES.DOWNLOAD_ASSET_FAILED, details ? [details] : undefined, cause));
150
+ }
151
+ }
152
+ export class DownloadCancelledError extends QvacErrorBase {
153
+ constructor(cause) {
154
+ super(createErrorOptions(SDK_SERVER_ERROR_CODES.DOWNLOAD_CANCELLED, undefined, cause));
155
+ }
156
+ }
157
+ export class ChecksumValidationFailedError extends QvacErrorBase {
158
+ constructor(fileName, cause) {
159
+ super(createErrorOptions(SDK_SERVER_ERROR_CODES.CHECKSUM_VALIDATION_FAILED, [fileName], cause));
160
+ }
161
+ }
162
+ export class HTTPError extends QvacErrorBase {
163
+ constructor(status, statusText, cause) {
164
+ super(createErrorOptions(SDK_SERVER_ERROR_CODES.HTTP_ERROR, [status, statusText], cause));
165
+ }
166
+ }
167
+ export class ModelLoadFailedError extends QvacErrorBase {
168
+ constructor(details, cause) {
169
+ super(createErrorOptions(SDK_SERVER_ERROR_CODES.MODEL_LOAD_FAILED, details ? [details] : undefined, cause));
170
+ }
171
+ }
172
+ export class DeleteCacheFailedError extends QvacErrorBase {
173
+ constructor(details, cause) {
174
+ super(createErrorOptions(SDK_SERVER_ERROR_CODES.DELETE_CACHE_FAILED, details ? [details] : undefined, cause));
175
+ }
176
+ }
177
+ export class InvalidDeleteCacheParamsError extends QvacErrorBase {
178
+ constructor(cause) {
179
+ super(createErrorOptions(SDK_SERVER_ERROR_CODES.INVALID_DELETE_CACHE_PARAMS, undefined, cause));
180
+ }
181
+ }
182
+ export class SetConfigFailedError extends QvacErrorBase {
183
+ constructor(details, cause) {
184
+ super(createErrorOptions(SDK_SERVER_ERROR_CODES.SET_CONFIG_FAILED, details ? [details] : undefined, cause));
185
+ }
186
+ }