@qvac/sdk 0.3.0 → 0.4.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.
Files changed (210) 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/constants/audio.d.ts +1 -2
  53. package/dist/constants/audio.js +1 -17
  54. package/dist/examples/cache-management.d.ts +2 -0
  55. package/dist/examples/cache-management.js +97 -0
  56. package/dist/examples/delegated-inference/consumer.js +2 -2
  57. package/dist/examples/download-with-blind-relays.d.ts +2 -0
  58. package/dist/examples/download-with-blind-relays.js +48 -0
  59. package/dist/examples/download-with-cancel.js +3 -4
  60. package/dist/examples/embed-hyperdrive.js +0 -1
  61. package/dist/examples/kv-cache-cleanup.js +0 -1
  62. package/dist/examples/kv-cache-custom-key.js +0 -1
  63. package/dist/examples/kv-cache-example.js +0 -1
  64. package/dist/examples/llamacpp-file-logging.js +0 -1
  65. package/dist/examples/llamacpp-filesystem.js +2 -2
  66. package/dist/examples/llamacpp-http.js +0 -1
  67. package/dist/examples/llamacpp-hyperdrive.js +0 -1
  68. package/dist/examples/llamacpp-multimodal.js +0 -1
  69. package/dist/examples/llamacpp-native-tools.js +118 -36
  70. package/dist/examples/llamacpp-sharded.d.ts +2 -0
  71. package/dist/examples/llamacpp-sharded.js +44 -0
  72. package/dist/examples/multi-model-demo.js +0 -1
  73. package/dist/examples/parallel-download.js +2 -2
  74. package/dist/examples/rag/rag-chromadb.js +0 -1
  75. package/dist/examples/rag/rag-hyperdb-workspaces.js +0 -1
  76. package/dist/examples/rag/rag-hyperdb.js +0 -1
  77. package/dist/examples/rag/rag-lancedb.js +0 -1
  78. package/dist/examples/rag/rag-sqlite.js +0 -1
  79. package/dist/examples/text-to-speech.d.ts +3 -0
  80. package/dist/examples/text-to-speech.js +137 -0
  81. package/dist/examples/translation/translation-indic.js +3 -1
  82. package/dist/examples/translation/translation-llm-context.js +0 -1
  83. package/dist/examples/translation/translation-llm.js +2 -2
  84. package/dist/examples/translation/translation-opus.js +3 -1
  85. package/dist/examples/translation/translation-stream.js +0 -1
  86. package/dist/examples/whispercpp-filesystem.js +32 -5
  87. package/dist/examples/whispercpp-microphone-record.js +9 -9
  88. package/dist/examples/whispercpp-prompt.d.ts +2 -0
  89. package/dist/examples/whispercpp-prompt.js +68 -0
  90. package/dist/expo/plugins/withMobileBundle.js +9 -3
  91. package/dist/index.d.ts +4 -2
  92. package/dist/index.js +4 -2
  93. package/dist/models/hyperdrive/models.d.ts +1916 -100
  94. package/dist/models/hyperdrive/models.js +2042 -102
  95. package/dist/schemas/common.d.ts +413 -58
  96. package/dist/schemas/common.js +9 -0
  97. package/dist/schemas/completion-stream.d.ts +26 -22
  98. package/dist/schemas/completion-stream.js +9 -23
  99. package/dist/schemas/download-asset.d.ts +77 -2
  100. package/dist/schemas/download-asset.js +15 -4
  101. package/dist/schemas/get-model-info.d.ts +100 -0
  102. package/dist/schemas/get-model-info.js +40 -0
  103. package/dist/schemas/index.d.ts +7 -0
  104. package/dist/schemas/index.js +7 -0
  105. package/dist/schemas/llamacpp-config.d.ts +2 -1
  106. package/dist/schemas/llamacpp-config.js +3 -4
  107. package/dist/schemas/load-model.d.ts +2316 -266
  108. package/dist/schemas/load-model.js +157 -10
  109. package/dist/schemas/model-src-utils.d.ts +98 -0
  110. package/dist/schemas/model-src-utils.js +31 -0
  111. package/dist/schemas/sdk-errors-client.d.ts +25 -0
  112. package/dist/schemas/sdk-errors-client.js +111 -0
  113. package/dist/schemas/sdk-errors-server.d.ts +55 -0
  114. package/dist/schemas/sdk-errors-server.js +271 -0
  115. package/dist/schemas/set-config.d.ts +21 -0
  116. package/dist/schemas/set-config.js +14 -0
  117. package/dist/schemas/text-to-speech.d.ts +34 -0
  118. package/dist/schemas/text-to-speech.js +25 -0
  119. package/dist/schemas/tools.d.ts +62 -0
  120. package/dist/schemas/tools.js +43 -0
  121. package/dist/schemas/transcription.d.ts +25 -2
  122. package/dist/schemas/transcription.js +12 -1
  123. package/dist/schemas/translation-config.d.ts +33 -5
  124. package/dist/schemas/translation-config.js +18 -1
  125. package/dist/schemas/unload-model.d.ts +2 -0
  126. package/dist/schemas/unload-model.js +2 -0
  127. package/dist/schemas/whispercpp-config.d.ts +55 -18
  128. package/dist/schemas/whispercpp-config.js +63 -15
  129. package/dist/server/bare/addons/cancel.js +2 -1
  130. package/dist/server/bare/addons/llamacpp/create-model.d.ts +9 -2
  131. package/dist/server/bare/addons/llamacpp/create-model.js +23 -23
  132. package/dist/server/bare/addons/llamacpp/handlers/completion-stream.d.ts +10 -2
  133. package/dist/server/bare/addons/llamacpp/handlers/completion-stream.js +62 -43
  134. package/dist/server/bare/addons/llamacpp/handlers/embed.js +3 -2
  135. package/dist/server/bare/addons/llamacpp/kv-cache-utils.d.ts +1 -1
  136. package/dist/server/bare/addons/llamacpp/kv-cache-utils.js +6 -2
  137. package/dist/server/bare/addons/load-model.js +59 -28
  138. package/dist/server/bare/addons/translation/create-model.d.ts +5 -1
  139. package/dist/server/bare/addons/translation/create-model.js +17 -25
  140. package/dist/server/bare/addons/translation/handlers/translate.js +10 -1
  141. package/dist/server/bare/addons/tts/create-model.d.ts +10 -0
  142. package/dist/server/bare/addons/tts/create-model.js +25 -0
  143. package/dist/server/bare/addons/tts/handlers/text-to-speech.d.ts +3 -0
  144. package/dist/server/bare/addons/tts/handlers/text-to-speech.js +87 -0
  145. package/dist/server/bare/addons/tts/index.d.ts +3 -0
  146. package/dist/server/bare/addons/tts/index.js +2 -0
  147. package/dist/server/bare/addons/unload-model.js +21 -3
  148. package/dist/server/bare/addons/whispercpp/create-model.d.ts +5 -1
  149. package/dist/server/bare/addons/whispercpp/create-model.js +13 -32
  150. package/dist/server/bare/addons/whispercpp/handlers/transcribe-stream.js +41 -20
  151. package/dist/server/bare/delegate-rpc-client.js +3 -2
  152. package/dist/server/bare/hyperswarm.d.ts +3 -0
  153. package/dist/server/bare/hyperswarm.js +22 -1
  154. package/dist/server/bare/rag-hyperdb/rag-manager.js +2 -3
  155. package/dist/server/bare/registry/config-registry.d.ts +5 -0
  156. package/dist/server/bare/registry/config-registry.js +39 -0
  157. package/dist/server/bare/registry/model-registry.d.ts +13 -0
  158. package/dist/server/bare/registry/model-registry.js +24 -7
  159. package/dist/server/rpc/handle-request.js +42 -3
  160. package/dist/server/rpc/handlers/completion-stream-delegated.js +2 -1
  161. package/dist/server/rpc/handlers/completion-stream.js +11 -4
  162. package/dist/server/rpc/handlers/download-asset.js +2 -3
  163. package/dist/server/rpc/handlers/get-model-info.d.ts +3 -0
  164. package/dist/server/rpc/handlers/get-model-info.js +148 -0
  165. package/dist/server/rpc/handlers/index.d.ts +4 -0
  166. package/dist/server/rpc/handlers/index.js +6 -0
  167. package/dist/server/rpc/handlers/load-model/http.js +51 -10
  168. package/dist/server/rpc/handlers/load-model/hyperdrive.js +336 -156
  169. package/dist/server/rpc/handlers/load-model/index.js +1 -1
  170. package/dist/server/rpc/handlers/load-model/resolve.d.ts +1 -1
  171. package/dist/server/rpc/handlers/load-model/resolve.js +10 -6
  172. package/dist/server/rpc/handlers/load-model-delegated.js +7 -4
  173. package/dist/server/rpc/handlers/load-model.js +19 -1
  174. package/dist/server/rpc/handlers/provideHandler/handler.js +2 -1
  175. package/dist/server/rpc/handlers/rag.js +0 -3
  176. package/dist/server/rpc/handlers/set-config.d.ts +3 -0
  177. package/dist/server/rpc/handlers/set-config.js +18 -0
  178. package/dist/server/rpc/handlers/stopProvideHandler.js +3 -1
  179. package/dist/server/rpc/handlers/text-to-speech.d.ts +3 -0
  180. package/dist/server/rpc/handlers/text-to-speech.js +7 -0
  181. package/dist/server/rpc/handlers/transcribe-stream.js +6 -2
  182. package/dist/server/rpc/handlers/unload-model.js +7 -0
  183. package/dist/server/utils/audio/decoder.js +1 -1
  184. package/dist/server/utils/cache.d.ts +13 -8
  185. package/dist/server/utils/cache.js +69 -14
  186. package/dist/server/utils/checksum.d.ts +2 -0
  187. package/dist/server/utils/checksum.js +24 -0
  188. package/dist/server/utils/index.d.ts +2 -0
  189. package/dist/server/utils/index.js +2 -0
  190. package/dist/server/utils/shard-utils.d.ts +22 -0
  191. package/dist/server/utils/shard-utils.js +37 -0
  192. package/dist/server/utils/tool-integration.d.ts +13 -0
  193. package/dist/server/utils/tool-integration.js +43 -0
  194. package/dist/server/utils/tool-parser.d.ts +7 -0
  195. package/dist/server/utils/tool-parser.js +244 -0
  196. package/dist/utils/errors-base.d.ts +3 -0
  197. package/dist/utils/errors-base.js +13 -0
  198. package/dist/utils/errors-client.d.ts +107 -0
  199. package/dist/utils/errors-client.js +186 -0
  200. package/dist/utils/errors-server.d.ts +146 -0
  201. package/dist/utils/errors-server.js +253 -0
  202. package/dist/utils/tool-helpers.d.ts +17 -0
  203. package/dist/utils/tool-helpers.js +99 -0
  204. package/package.json +14 -10
  205. package/dist/examples/llamacpp-tools-routing.d.ts +0 -2
  206. package/dist/examples/llamacpp-tools-routing.js +0 -364
  207. package/dist/examples/llamacpp-tools.d.ts +0 -2
  208. package/dist/examples/llamacpp-tools.js +0 -81
  209. package/dist/server/http-server.d.ts +0 -2
  210. package/dist/server/http-server.js +0 -189
@@ -3,49 +3,176 @@ import { llmConfigSchema, embedConfigSchema } from "./llamacpp-config.js";
3
3
  import { whisperConfigSchema } from "./whispercpp-config.js";
4
4
  import { delegateSchema } from "./delegate.js";
5
5
  import { nmtConfigSchema } from "./translation-config.js";
6
- export const loadModelOptionsSchema = z
7
- .union([
6
+ import { ttsConfigSchema } from "./text-to-speech.js";
7
+ import { modelSrcInputSchema, modelInputToSrcSchema, modelInputToNameSchema, } from "./model-src-utils.js";
8
+ const loadModelOptionsBaseSchema = z.union([
8
9
  z.object({
9
- modelSrc: z.string(),
10
+ modelSrc: modelSrcInputSchema,
10
11
  modelType: z.literal("llm"),
11
12
  modelConfig: llmConfigSchema.partial().strict().optional(),
12
13
  seed: z.boolean().optional(),
13
- projectionModelSrc: z.string().optional(),
14
+ projectionModelSrc: modelSrcInputSchema.optional(),
14
15
  delegate: delegateSchema,
15
16
  toolFormat: z.enum(["json", "xml"]).default("json"),
16
17
  }),
17
18
  z.object({
18
- modelSrc: z.string(),
19
+ modelSrc: modelSrcInputSchema,
19
20
  modelType: z.literal("whisper"),
20
21
  modelConfig: whisperConfigSchema.partial().strict().optional(),
21
22
  seed: z.boolean().optional(),
22
- vadModelSrc: z.string().optional(),
23
+ vadModelSrc: modelSrcInputSchema.optional(),
23
24
  delegate: delegateSchema,
24
25
  }),
25
26
  z.object({
26
- modelSrc: z.string(),
27
+ modelSrc: modelSrcInputSchema,
27
28
  modelType: z.literal("embeddings"),
28
29
  modelConfig: embedConfigSchema.partial().strict().optional(),
29
30
  seed: z.boolean().optional(),
30
31
  delegate: delegateSchema,
31
32
  }),
32
33
  z.object({
33
- modelSrc: z.string(),
34
+ modelSrc: modelSrcInputSchema,
34
35
  modelType: z.literal("nmt"),
35
36
  modelConfig: nmtConfigSchema,
36
37
  seed: z.boolean().optional(),
37
38
  delegate: delegateSchema,
38
39
  }),
39
- ])
40
- .transform((data) => ({
40
+ z.object({
41
+ modelSrc: modelSrcInputSchema,
42
+ modelType: z.literal("tts"),
43
+ modelConfig: ttsConfigSchema,
44
+ configSrc: modelSrcInputSchema,
45
+ eSpeakDataPath: z.string(),
46
+ seed: z.boolean().optional(),
47
+ delegate: delegateSchema,
48
+ }),
49
+ ]);
50
+ export const loadModelOptionsSchema = loadModelOptionsBaseSchema.transform((data) => ({
41
51
  ...data,
42
52
  seed: data.seed ?? false,
43
53
  }));
54
+ export const loadModelOptionsToRequestSchema = z.union([
55
+ z
56
+ .object({
57
+ modelSrc: modelSrcInputSchema,
58
+ modelType: z.literal("llm"),
59
+ modelConfig: llmConfigSchema.partial().strict().optional(),
60
+ seed: z.boolean().optional(),
61
+ projectionModelSrc: modelSrcInputSchema.optional(),
62
+ delegate: delegateSchema,
63
+ toolFormat: z.enum(["json", "xml"]).default("json"),
64
+ onProgress: z.unknown().optional(),
65
+ withProgress: z.boolean().optional(),
66
+ })
67
+ .transform((data) => ({
68
+ type: "loadModel",
69
+ modelType: "llm",
70
+ modelSrc: modelInputToSrcSchema.parse(data.modelSrc),
71
+ modelName: modelInputToNameSchema.parse(data.modelSrc),
72
+ modelConfig: (data.modelConfig ?? {}),
73
+ seed: data.seed ?? false,
74
+ withProgress: data.withProgress ?? !!data.onProgress,
75
+ delegate: data.delegate,
76
+ projectionModelSrc: data.projectionModelSrc
77
+ ? modelInputToSrcSchema.parse(data.projectionModelSrc)
78
+ : undefined,
79
+ })),
80
+ z
81
+ .object({
82
+ modelSrc: modelSrcInputSchema,
83
+ modelType: z.literal("whisper"),
84
+ modelConfig: whisperConfigSchema.partial().strict().optional(),
85
+ seed: z.boolean().optional(),
86
+ vadModelSrc: modelSrcInputSchema.optional(),
87
+ delegate: delegateSchema,
88
+ onProgress: z.unknown().optional(),
89
+ withProgress: z.boolean().optional(),
90
+ })
91
+ .transform((data) => ({
92
+ type: "loadModel",
93
+ modelType: "whisper",
94
+ modelSrc: modelInputToSrcSchema.parse(data.modelSrc),
95
+ modelName: modelInputToNameSchema.parse(data.modelSrc),
96
+ modelConfig: (data.modelConfig ?? {}),
97
+ seed: data.seed ?? false,
98
+ withProgress: data.withProgress ?? !!data.onProgress,
99
+ delegate: data.delegate,
100
+ vadModelSrc: data.vadModelSrc
101
+ ? modelInputToSrcSchema.parse(data.vadModelSrc)
102
+ : undefined,
103
+ })),
104
+ z
105
+ .object({
106
+ modelSrc: modelSrcInputSchema,
107
+ modelType: z.literal("embeddings"),
108
+ modelConfig: embedConfigSchema.partial().strict().optional(),
109
+ seed: z.boolean().optional(),
110
+ delegate: delegateSchema,
111
+ onProgress: z.unknown().optional(),
112
+ withProgress: z.boolean().optional(),
113
+ })
114
+ .transform((data) => ({
115
+ type: "loadModel",
116
+ modelType: "embeddings",
117
+ modelSrc: modelInputToSrcSchema.parse(data.modelSrc),
118
+ modelName: modelInputToNameSchema.parse(data.modelSrc),
119
+ modelConfig: (data.modelConfig ?? {}),
120
+ seed: data.seed ?? false,
121
+ withProgress: data.withProgress ?? !!data.onProgress,
122
+ delegate: data.delegate,
123
+ })),
124
+ z
125
+ .object({
126
+ modelSrc: modelSrcInputSchema,
127
+ modelType: z.literal("nmt"),
128
+ modelConfig: nmtConfigSchema,
129
+ seed: z.boolean().optional(),
130
+ delegate: delegateSchema,
131
+ onProgress: z.unknown().optional(),
132
+ withProgress: z.boolean().optional(),
133
+ })
134
+ .transform((data) => ({
135
+ type: "loadModel",
136
+ modelType: "nmt",
137
+ modelSrc: modelInputToSrcSchema.parse(data.modelSrc),
138
+ modelName: modelInputToNameSchema.parse(data.modelSrc),
139
+ modelConfig: data.modelConfig,
140
+ seed: data.seed ?? false,
141
+ withProgress: data.withProgress ?? !!data.onProgress,
142
+ delegate: data.delegate,
143
+ })),
144
+ z
145
+ .object({
146
+ modelSrc: modelSrcInputSchema,
147
+ modelType: z.literal("tts"),
148
+ modelConfig: ttsConfigSchema,
149
+ configSrc: modelSrcInputSchema,
150
+ eSpeakDataPath: z.string(),
151
+ seed: z.boolean().optional(),
152
+ delegate: delegateSchema,
153
+ onProgress: z.unknown().optional(),
154
+ withProgress: z.boolean().optional(),
155
+ })
156
+ .transform((data) => ({
157
+ type: "loadModel",
158
+ modelType: "tts",
159
+ modelSrc: modelInputToSrcSchema.parse(data.modelSrc),
160
+ modelName: modelInputToNameSchema.parse(data.modelSrc),
161
+ modelConfig: data.modelConfig,
162
+ seed: data.seed ?? false,
163
+ withProgress: data.withProgress ?? !!data.onProgress,
164
+ delegate: data.delegate,
165
+ configSrc: modelInputToSrcSchema.parse(data.configSrc),
166
+ eSpeakDataPath: data.eSpeakDataPath,
167
+ })),
168
+ ]);
44
169
  const commonModelConfigSchema = z.object({
45
170
  type: z.literal("loadModel"),
46
171
  modelSrc: z.string(),
172
+ modelName: z.string().optional(),
47
173
  projectionModelSrc: z.string().optional(),
48
174
  vadModelSrc: z.string().optional(),
175
+ configSrc: z.string().optional(),
49
176
  withProgress: z.boolean().optional(),
50
177
  seed: z.boolean().optional(),
51
178
  delegate: delegateSchema,
@@ -67,6 +194,12 @@ export const loadNmtModelRequestSchema = commonModelConfigSchema.extend({
67
194
  modelType: z.literal("nmt"),
68
195
  modelConfig: nmtConfigSchema,
69
196
  });
197
+ export const loadTtsModelRequestSchema = commonModelConfigSchema.extend({
198
+ modelType: z.literal("tts"),
199
+ modelConfig: ttsConfigSchema,
200
+ configSrc: z.string(),
201
+ eSpeakDataPath: z.string(),
202
+ });
70
203
  // Union of all load model request types
71
204
  export const loadModelRequestSchema = z
72
205
  .discriminatedUnion("modelType", [
@@ -74,6 +207,7 @@ export const loadModelRequestSchema = z
74
207
  loadWhisperModelRequestSchema,
75
208
  loadEmbeddingsModelRequestSchema,
76
209
  loadNmtModelRequestSchema,
210
+ loadTtsModelRequestSchema,
77
211
  ])
78
212
  .transform((data) => ({
79
213
  ...data,
@@ -91,6 +225,16 @@ export const modelProgressUpdateSchema = z.object({
91
225
  total: z.number(),
92
226
  percentage: z.number(),
93
227
  downloadKey: z.string(),
228
+ shardInfo: z
229
+ .object({
230
+ currentShard: z.number(),
231
+ totalShards: z.number(),
232
+ shardName: z.string(),
233
+ overallDownloaded: z.number(),
234
+ overallTotal: z.number(),
235
+ overallPercentage: z.number(),
236
+ })
237
+ .optional(),
94
238
  });
95
239
  export const hyperdriveUrlSchema = z
96
240
  .string()
@@ -105,4 +249,7 @@ export const loadModelServerParamsSchema = z.object({
105
249
  options: loadModelOptionsSchema,
106
250
  projectionModelPath: z.string().optional(),
107
251
  vadModelPath: z.string().optional(),
252
+ ttsConfigModelPath: z.string().optional(),
253
+ eSpeakDataPath: z.string().optional(),
254
+ modelName: z.string().optional(),
108
255
  });
@@ -0,0 +1,98 @@
1
+ import { z } from "zod";
2
+ export declare const modelDescriptorSchema: z.ZodObject<{
3
+ src: z.ZodString;
4
+ name: z.ZodOptional<z.ZodString>;
5
+ modelId: z.ZodOptional<z.ZodString>;
6
+ hyperdriveKey: z.ZodOptional<z.ZodString>;
7
+ hyperbeeKey: z.ZodOptional<z.ZodString>;
8
+ expectedSize: z.ZodOptional<z.ZodNumber>;
9
+ sha256Checksum: z.ZodOptional<z.ZodString>;
10
+ addon: z.ZodOptional<z.ZodEnum<{
11
+ llm: "llm";
12
+ whisper: "whisper";
13
+ embeddings: "embeddings";
14
+ nmt: "nmt";
15
+ vad: "vad";
16
+ tts: "tts";
17
+ }>>;
18
+ }, z.core.$strip>;
19
+ export declare const modelSrcInputSchema: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
20
+ src: z.ZodString;
21
+ name: z.ZodOptional<z.ZodString>;
22
+ modelId: z.ZodOptional<z.ZodString>;
23
+ hyperdriveKey: z.ZodOptional<z.ZodString>;
24
+ hyperbeeKey: z.ZodOptional<z.ZodString>;
25
+ expectedSize: z.ZodOptional<z.ZodNumber>;
26
+ sha256Checksum: z.ZodOptional<z.ZodString>;
27
+ addon: z.ZodOptional<z.ZodEnum<{
28
+ llm: "llm";
29
+ whisper: "whisper";
30
+ embeddings: "embeddings";
31
+ nmt: "nmt";
32
+ vad: "vad";
33
+ tts: "tts";
34
+ }>>;
35
+ }, z.core.$strip>]>;
36
+ export type ModelDescriptor = z.infer<typeof modelDescriptorSchema>;
37
+ export type ModelSrcInput = z.infer<typeof modelSrcInputSchema>;
38
+ /**
39
+ * Schema that transforms ModelSrc to its src string
40
+ * Usage: modelSrcToStringSchema.parse(modelSrc)
41
+ */
42
+ export declare const modelInputToSrcSchema: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
43
+ src: z.ZodString;
44
+ name: z.ZodOptional<z.ZodString>;
45
+ modelId: z.ZodOptional<z.ZodString>;
46
+ hyperdriveKey: z.ZodOptional<z.ZodString>;
47
+ hyperbeeKey: z.ZodOptional<z.ZodString>;
48
+ expectedSize: z.ZodOptional<z.ZodNumber>;
49
+ sha256Checksum: z.ZodOptional<z.ZodString>;
50
+ addon: z.ZodOptional<z.ZodEnum<{
51
+ llm: "llm";
52
+ whisper: "whisper";
53
+ embeddings: "embeddings";
54
+ nmt: "nmt";
55
+ vad: "vad";
56
+ tts: "tts";
57
+ }>>;
58
+ }, z.core.$strip>]>, z.ZodTransform<string, string | {
59
+ src: string;
60
+ name?: string | undefined;
61
+ modelId?: string | undefined;
62
+ hyperdriveKey?: string | undefined;
63
+ hyperbeeKey?: string | undefined;
64
+ expectedSize?: number | undefined;
65
+ sha256Checksum?: string | undefined;
66
+ addon?: "llm" | "whisper" | "embeddings" | "nmt" | "vad" | "tts" | undefined;
67
+ }>>;
68
+ /**
69
+ * Schema that transforms ModelSrc to its optional name
70
+ * Usage: modelSrcToNameSchema.parse(modelSrc)
71
+ */
72
+ export declare const modelInputToNameSchema: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
73
+ src: z.ZodString;
74
+ name: z.ZodOptional<z.ZodString>;
75
+ modelId: z.ZodOptional<z.ZodString>;
76
+ hyperdriveKey: z.ZodOptional<z.ZodString>;
77
+ hyperbeeKey: z.ZodOptional<z.ZodString>;
78
+ expectedSize: z.ZodOptional<z.ZodNumber>;
79
+ sha256Checksum: z.ZodOptional<z.ZodString>;
80
+ addon: z.ZodOptional<z.ZodEnum<{
81
+ llm: "llm";
82
+ whisper: "whisper";
83
+ embeddings: "embeddings";
84
+ nmt: "nmt";
85
+ vad: "vad";
86
+ tts: "tts";
87
+ }>>;
88
+ }, z.core.$strip>]>, z.ZodTransform<string | undefined, string | {
89
+ src: string;
90
+ name?: string | undefined;
91
+ modelId?: string | undefined;
92
+ hyperdriveKey?: string | undefined;
93
+ hyperbeeKey?: string | undefined;
94
+ expectedSize?: number | undefined;
95
+ sha256Checksum?: string | undefined;
96
+ addon?: "llm" | "whisper" | "embeddings" | "nmt" | "vad" | "tts" | undefined;
97
+ }>>;
98
+ //# sourceMappingURL=model-src-utils.d.ts.map
@@ -0,0 +1,31 @@
1
+ import { z } from "zod";
2
+ export const modelDescriptorSchema = z.object({
3
+ src: z.string(),
4
+ name: z.string().optional(),
5
+ modelId: z.string().optional(),
6
+ hyperdriveKey: z.string().optional(),
7
+ hyperbeeKey: z.string().optional(),
8
+ expectedSize: z.number().optional(),
9
+ sha256Checksum: z.string().optional(),
10
+ addon: z
11
+ .enum(["llm", "whisper", "embeddings", "nmt", "vad", "tts"])
12
+ .optional(),
13
+ });
14
+ export const modelSrcInputSchema = z.union([z.string(), modelDescriptorSchema]);
15
+ /**
16
+ * Schema that transforms ModelSrc to its src string
17
+ * Usage: modelSrcToStringSchema.parse(modelSrc)
18
+ */
19
+ export const modelInputToSrcSchema = modelSrcInputSchema.transform((modelSrc) => {
20
+ return typeof modelSrc === "string" ? modelSrc : modelSrc.src;
21
+ });
22
+ /**
23
+ * Schema that transforms ModelSrc to its optional name
24
+ * Usage: modelSrcToNameSchema.parse(modelSrc)
25
+ */
26
+ export const modelInputToNameSchema = modelSrcInputSchema.transform((modelSrc) => {
27
+ if (typeof modelSrc === "object" && "name" in modelSrc) {
28
+ return typeof modelSrc.name === "string" ? modelSrc.name : undefined;
29
+ }
30
+ return undefined;
31
+ });
@@ -0,0 +1,25 @@
1
+ import { type ErrorCodesMap } from "@qvac/error";
2
+ export declare const SDK_CLIENT_ERROR_CODES: {
3
+ readonly INVALID_RESPONSE_TYPE: 50001;
4
+ readonly INVALID_OPERATION_IN_RESPONSE: 50002;
5
+ readonly STREAM_ENDED_WITHOUT_RESPONSE: 50003;
6
+ readonly NO_DATA_RECEIVED: 50004;
7
+ readonly INVALID_AUDIO_CHUNK_TYPE: 50005;
8
+ readonly INVALID_TOOLS_ARRAY: 50006;
9
+ readonly INVALID_TOOL_SCHEMA: 50007;
10
+ readonly RPC_NO_HANDLER: 50200;
11
+ readonly RPC_REQUEST_NOT_SENT: 50201;
12
+ readonly RPC_RESPONSE_STREAM_NOT_CREATED: 50202;
13
+ readonly RPC_CONNECTION_FAILED: 50203;
14
+ readonly UNKNOWN_REQUEST_TYPE: 50204;
15
+ readonly PROVIDER_START_FAILED: 50400;
16
+ readonly PROVIDER_STOP_FAILED: 50401;
17
+ readonly DELEGATE_NO_FINAL_RESPONSE: 50402;
18
+ readonly DELEGATE_PROVIDER_ERROR: 50403;
19
+ readonly DELEGATE_CONNECTION_FAILED: 50404;
20
+ readonly SDK_NOT_FOUND_IN_NODE_MODULES: 50600;
21
+ readonly WORKER_FILE_NOT_FOUND: 50601;
22
+ };
23
+ declare const clientErrorDefinitions: ErrorCodesMap;
24
+ export { clientErrorDefinitions as SDK_CLIENT_ERROR_DEFINITIONS };
25
+ //# sourceMappingURL=sdk-errors-client.d.ts.map
@@ -0,0 +1,111 @@
1
+ import { addCodes } from "@qvac/error";
2
+ // Client-side error codes (50,001-52,000 range for this SDK)
3
+ export const SDK_CLIENT_ERROR_CODES = {
4
+ // Response Validation Errors (50,001-50,199)
5
+ INVALID_RESPONSE_TYPE: 50001,
6
+ INVALID_OPERATION_IN_RESPONSE: 50002,
7
+ STREAM_ENDED_WITHOUT_RESPONSE: 50003,
8
+ NO_DATA_RECEIVED: 50004,
9
+ INVALID_AUDIO_CHUNK_TYPE: 50005,
10
+ INVALID_TOOLS_ARRAY: 50006,
11
+ INVALID_TOOL_SCHEMA: 50007,
12
+ // RPC Communication Errors (50,200-50,399)
13
+ RPC_NO_HANDLER: 50200,
14
+ RPC_REQUEST_NOT_SENT: 50201,
15
+ RPC_RESPONSE_STREAM_NOT_CREATED: 50202,
16
+ RPC_CONNECTION_FAILED: 50203,
17
+ UNKNOWN_REQUEST_TYPE: 50204,
18
+ // Provider/Delegation Errors (50,400-50,599)
19
+ PROVIDER_START_FAILED: 50400,
20
+ PROVIDER_STOP_FAILED: 50401,
21
+ DELEGATE_NO_FINAL_RESPONSE: 50402,
22
+ DELEGATE_PROVIDER_ERROR: 50403,
23
+ DELEGATE_CONNECTION_FAILED: 50404,
24
+ // Build/Bundle Errors (50,600-50,799)
25
+ SDK_NOT_FOUND_IN_NODE_MODULES: 50600,
26
+ WORKER_FILE_NOT_FOUND: 50601,
27
+ };
28
+ const clientErrorDefinitions = {
29
+ // Response Validation Errors (50,001-50,199)
30
+ [SDK_CLIENT_ERROR_CODES.INVALID_RESPONSE_TYPE]: {
31
+ name: "INVALID_RESPONSE_TYPE",
32
+ message: (expected) => `Invalid response type received, expected: ${expected}`,
33
+ },
34
+ [SDK_CLIENT_ERROR_CODES.INVALID_OPERATION_IN_RESPONSE]: {
35
+ name: "INVALID_OPERATION_IN_RESPONSE",
36
+ message: "Invalid operation type in response",
37
+ },
38
+ [SDK_CLIENT_ERROR_CODES.STREAM_ENDED_WITHOUT_RESPONSE]: {
39
+ name: "STREAM_ENDED_WITHOUT_RESPONSE",
40
+ message: "Stream ended without receiving final response",
41
+ },
42
+ [SDK_CLIENT_ERROR_CODES.NO_DATA_RECEIVED]: {
43
+ name: "NO_DATA_RECEIVED",
44
+ message: "No data received from request",
45
+ },
46
+ [SDK_CLIENT_ERROR_CODES.INVALID_AUDIO_CHUNK_TYPE]: {
47
+ name: "INVALID_AUDIO_CHUNK_TYPE",
48
+ message: "Invalid audio chunk type received",
49
+ },
50
+ [SDK_CLIENT_ERROR_CODES.INVALID_TOOLS_ARRAY]: {
51
+ name: "INVALID_TOOLS_ARRAY",
52
+ message: "Invalid tools array provided",
53
+ },
54
+ [SDK_CLIENT_ERROR_CODES.INVALID_TOOL_SCHEMA]: {
55
+ name: "INVALID_TOOL_SCHEMA",
56
+ message: (details) => `Invalid tool schema: ${details}`,
57
+ },
58
+ // RPC Communication Errors (50,200-50,399)
59
+ [SDK_CLIENT_ERROR_CODES.RPC_NO_HANDLER]: {
60
+ name: "RPC_NO_HANDLER",
61
+ message: (requestType) => `No handler function registered for request type: ${requestType}`,
62
+ },
63
+ [SDK_CLIENT_ERROR_CODES.RPC_REQUEST_NOT_SENT]: {
64
+ name: "RPC_REQUEST_NOT_SENT",
65
+ message: "Cannot perform operation - request has not been sent yet",
66
+ },
67
+ [SDK_CLIENT_ERROR_CODES.RPC_RESPONSE_STREAM_NOT_CREATED]: {
68
+ name: "RPC_RESPONSE_STREAM_NOT_CREATED",
69
+ message: "Cannot perform operation - response stream not created",
70
+ },
71
+ [SDK_CLIENT_ERROR_CODES.RPC_CONNECTION_FAILED]: {
72
+ name: "RPC_CONNECTION_FAILED",
73
+ message: (details) => `RPC connection failed: ${details}`,
74
+ },
75
+ [SDK_CLIENT_ERROR_CODES.UNKNOWN_REQUEST_TYPE]: {
76
+ name: "UNKNOWN_REQUEST_TYPE",
77
+ message: "Unknown request type received",
78
+ },
79
+ // Provider/Delegation Errors (50,400-50,599)
80
+ [SDK_CLIENT_ERROR_CODES.PROVIDER_START_FAILED]: {
81
+ name: "PROVIDER_START_FAILED",
82
+ message: (details) => `Failed to start provider${details ? `: ${details}` : ""}`,
83
+ },
84
+ [SDK_CLIENT_ERROR_CODES.PROVIDER_STOP_FAILED]: {
85
+ name: "PROVIDER_STOP_FAILED",
86
+ message: (details) => `Failed to stop provider${details ? `: ${details}` : ""}`,
87
+ },
88
+ [SDK_CLIENT_ERROR_CODES.DELEGATE_NO_FINAL_RESPONSE]: {
89
+ name: "DELEGATE_NO_FINAL_RESPONSE",
90
+ message: "No final response received from delegated provider",
91
+ },
92
+ [SDK_CLIENT_ERROR_CODES.DELEGATE_PROVIDER_ERROR]: {
93
+ name: "DELEGATE_PROVIDER_ERROR",
94
+ message: (details) => `Delegated provider error: ${details}`,
95
+ },
96
+ [SDK_CLIENT_ERROR_CODES.DELEGATE_CONNECTION_FAILED]: {
97
+ name: "DELEGATE_CONNECTION_FAILED",
98
+ message: (details) => `Failed to connect to delegated provider: ${details}`,
99
+ },
100
+ // Build/Bundle Errors (50,600-50,799)
101
+ [SDK_CLIENT_ERROR_CODES.SDK_NOT_FOUND_IN_NODE_MODULES]: {
102
+ name: "SDK_NOT_FOUND_IN_NODE_MODULES",
103
+ message: "@qvac/sdk not found in node_modules",
104
+ },
105
+ [SDK_CLIENT_ERROR_CODES.WORKER_FILE_NOT_FOUND]: {
106
+ name: "WORKER_FILE_NOT_FOUND",
107
+ message: (workerPath) => `Worker file not found at ${workerPath}`,
108
+ },
109
+ };
110
+ addCodes(clientErrorDefinitions, { name: "qvac-sdk-client", version: "1.1.0" });
111
+ export { clientErrorDefinitions as SDK_CLIENT_ERROR_DEFINITIONS };
@@ -0,0 +1,55 @@
1
+ import { type ErrorCodesMap } from "@qvac/error";
2
+ export declare const SDK_SERVER_ERROR_CODES: {
3
+ readonly MODEL_ALREADY_REGISTERED: 52001;
4
+ readonly MODEL_NOT_FOUND: 52002;
5
+ readonly MODEL_NOT_LOADED: 52003;
6
+ readonly MODEL_IS_DELEGATED: 52004;
7
+ readonly UNKNOWN_MODEL_TYPE: 52005;
8
+ readonly MODEL_LOAD_FAILED: 52200;
9
+ readonly MODEL_FILE_NOT_FOUND: 52201;
10
+ readonly MODEL_FILE_NOT_FOUND_IN_DIR: 52202;
11
+ readonly MODEL_FILE_LOCATE_FAILED: 52203;
12
+ readonly PROJECTION_MODEL_REQUIRED: 52204;
13
+ readonly VAD_MODEL_REQUIRED: 52205;
14
+ readonly TTS_CONFIG_MODEL_REQUIRED: 52206;
15
+ readonly ESPEAK_DATA_PATH_REQUIRED: 52207;
16
+ readonly MODEL_UNLOAD_FAILED: 52400;
17
+ readonly EMBED_FAILED: 52401;
18
+ readonly EMBED_NO_EMBEDDINGS: 52402;
19
+ readonly TRANSCRIPTION_FAILED: 52403;
20
+ readonly AUDIO_FILE_NOT_FOUND: 52404;
21
+ readonly TRANSLATION_FAILED: 52405;
22
+ readonly COMPLETION_FAILED: 52406;
23
+ readonly ATTACHMENT_NOT_FOUND: 52407;
24
+ readonly CANCEL_FAILED: 52408;
25
+ readonly TEXT_TO_SPEECH_FAILED: 52409;
26
+ readonly RAG_SAVE_FAILED: 52800;
27
+ readonly RAG_SEARCH_FAILED: 52801;
28
+ readonly RAG_DELETE_FAILED: 52802;
29
+ readonly RAG_UNKNOWN_OPERATION: 52803;
30
+ readonly RAG_HYPERDB_FAILED: 52804;
31
+ readonly RAG_WORKSPACE_MODEL_MISMATCH: 52805;
32
+ readonly FILE_NOT_FOUND: 53000;
33
+ readonly DOWNLOAD_CANCELLED: 53001;
34
+ readonly CHECKSUM_VALIDATION_FAILED: 53002;
35
+ readonly HTTP_ERROR: 53003;
36
+ readonly NO_RESPONSE_BODY: 53004;
37
+ readonly RESPONSE_BODY_NOT_READABLE: 53005;
38
+ readonly NO_BLOB_FOUND: 53006;
39
+ readonly DOWNLOAD_ASSET_FAILED: 53007;
40
+ readonly SEEDING_NOT_SUPPORTED: 53008;
41
+ readonly HYPERDRIVE_DOWNLOAD_FAILED: 53009;
42
+ readonly DELETE_CACHE_FAILED: 53200;
43
+ readonly INVALID_DELETE_CACHE_PARAMS: 53201;
44
+ readonly CACHE_DIR_NOT_ABSOLUTE: 53202;
45
+ readonly CACHE_DIR_NOT_WRITABLE: 53203;
46
+ readonly SET_CONFIG_FAILED: 53350;
47
+ readonly FFMPEG_NOT_AVAILABLE: 53500;
48
+ readonly AUDIO_PLAYER_FAILED: 53501;
49
+ readonly INVALID_AUDIO_CHUNK_TYPE: 53502;
50
+ readonly DELEGATE_NO_FINAL_RESPONSE: 53700;
51
+ readonly DELEGATE_CONNECTION_FAILED: 53701;
52
+ };
53
+ declare const serverErrorDefinitions: ErrorCodesMap;
54
+ export { serverErrorDefinitions as SDK_SERVER_ERROR_DEFINITIONS };
55
+ //# sourceMappingURL=sdk-errors-server.d.ts.map