@qvac/sdk 0.5.0 → 0.6.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 (259) hide show
  1. package/README.md +48 -11
  2. package/bare-imports.json +35 -0
  3. package/dist/client/api/cancel.d.ts +12 -3
  4. package/dist/client/api/cancel.js +12 -3
  5. package/dist/client/api/get-model-info.d.ts +2 -2
  6. package/dist/client/api/get-model-info.js +2 -2
  7. package/dist/client/api/index.d.ts +2 -1
  8. package/dist/client/api/index.js +2 -1
  9. package/dist/client/api/load-model.js +6 -1
  10. package/dist/client/api/ocr.d.ts +31 -0
  11. package/dist/client/api/ocr.js +88 -0
  12. package/dist/client/api/rag.d.ts +215 -20
  13. package/dist/client/api/rag.js +382 -23
  14. package/dist/client/api/translate.js +10 -11
  15. package/dist/client/api/unload-model.js +1 -1
  16. package/dist/client/init-hooks.d.ts +4 -3
  17. package/dist/client/init-hooks.js +40 -31
  18. package/dist/client/rpc/bare-client.d.ts +1 -178
  19. package/dist/client/rpc/bare-client.js +42 -9
  20. package/dist/client/rpc/expo-rpc-client.js +57 -2
  21. package/dist/client/rpc/node-rpc-client.js +5 -1
  22. package/dist/client/rpc/rpc-client.d.ts +1 -1
  23. package/dist/client/rpc/rpc-client.js +11 -57
  24. package/dist/examples/config/blind-relay/blind-relay.config.d.ts +5 -0
  25. package/dist/examples/config/blind-relay/blind-relay.config.js +7 -0
  26. package/dist/examples/config/default/default.config.d.ts +8 -0
  27. package/dist/examples/config/default/default.config.js +6 -0
  28. package/dist/examples/default-config-usage.d.ts +17 -0
  29. package/dist/examples/default-config-usage.js +47 -0
  30. package/dist/examples/delegated-inference/consumer.js +1 -0
  31. package/dist/examples/download-with-blind-relays.js +4 -3
  32. package/dist/examples/embed-hyperdrive.js +4 -0
  33. package/dist/examples/kv-cache-custom-key.js +16 -1
  34. package/dist/examples/llamacpp-sharded.js +12 -3
  35. package/dist/examples/ocr-fasttext.d.ts +2 -0
  36. package/dist/examples/ocr-fasttext.js +52 -0
  37. package/dist/examples/quickstart.d.ts +2 -0
  38. package/dist/examples/quickstart.js +28 -0
  39. package/dist/examples/rag/rag-hyperdb/cancellation.d.ts +2 -0
  40. package/dist/examples/rag/rag-hyperdb/cancellation.js +75 -0
  41. package/dist/examples/rag/rag-hyperdb/ingest.d.ts +2 -0
  42. package/dist/examples/rag/{rag-hyperdb.js → rag-hyperdb/ingest.js} +10 -4
  43. package/dist/examples/rag/rag-hyperdb/pipeline.d.ts +2 -0
  44. package/dist/examples/rag/rag-hyperdb/pipeline.js +74 -0
  45. package/dist/examples/rag/rag-hyperdb/workspaces.d.ts +2 -0
  46. package/dist/examples/rag/rag-hyperdb/workspaces.js +178 -0
  47. package/dist/examples/translation/translation-bergamot-batch.d.ts +2 -0
  48. package/dist/examples/translation/translation-bergamot-batch.js +49 -0
  49. package/dist/examples/translation/translation-bergamot.d.ts +2 -0
  50. package/dist/examples/translation/translation-bergamot.js +39 -0
  51. package/dist/examples/translation/translation-indic.js +1 -0
  52. package/dist/examples/translation/translation-opus.js +1 -0
  53. package/dist/examples/translation/translation-stream.js +1 -0
  54. package/dist/expo/plugins/withMobileBundle.js +29 -10
  55. package/dist/index.d.ts +3 -2
  56. package/dist/index.js +3 -1
  57. package/dist/logging/addon.js +23 -7
  58. package/dist/logging/base-logger.js +2 -2
  59. package/dist/logging/client-logger.js +15 -4
  60. package/dist/logging/index.d.ts +1 -0
  61. package/dist/logging/index.js +1 -0
  62. package/dist/logging/logger.js +11 -3
  63. package/dist/logging/namespaces.d.ts +1 -0
  64. package/dist/logging/namespaces.js +1 -0
  65. package/dist/logging/registry.d.ts +5 -0
  66. package/dist/logging/registry.js +17 -5
  67. package/dist/logging/transport.js +2 -2
  68. package/dist/logging/utils.d.ts +2 -0
  69. package/dist/logging/utils.js +62 -0
  70. package/dist/models/hyperdrive/models.d.ts +1096 -178
  71. package/dist/models/hyperdrive/models.js +1476 -507
  72. package/dist/schemas/archive.d.ts +9 -0
  73. package/dist/schemas/archive.js +17 -0
  74. package/dist/schemas/cancel.d.ts +6 -0
  75. package/dist/schemas/cancel.js +5 -0
  76. package/dist/schemas/common.d.ts +582 -77
  77. package/dist/schemas/common.js +6 -1
  78. package/dist/schemas/delegate.d.ts +1 -0
  79. package/dist/schemas/delegate.js +1 -0
  80. package/dist/schemas/download-asset.d.ts +21 -9
  81. package/dist/schemas/get-model-info.d.ts +12 -10
  82. package/dist/schemas/get-model-info.js +9 -1
  83. package/dist/schemas/index.d.ts +6 -2
  84. package/dist/schemas/index.js +9 -2
  85. package/dist/schemas/llamacpp-config.d.ts +112 -8
  86. package/dist/schemas/llamacpp-config.js +40 -8
  87. package/dist/schemas/load-model.d.ts +2993 -525
  88. package/dist/schemas/load-model.js +88 -33
  89. package/dist/schemas/logging-stream.d.ts +2 -2
  90. package/dist/schemas/model-src-utils.d.ts +38 -16
  91. package/dist/schemas/model-src-utils.js +4 -8
  92. package/dist/schemas/model-types.d.ts +154 -0
  93. package/dist/schemas/model-types.js +140 -0
  94. package/dist/schemas/ocr.d.ts +88 -0
  95. package/dist/schemas/ocr.js +52 -0
  96. package/dist/schemas/rag.d.ts +183 -52
  97. package/dist/schemas/rag.js +148 -23
  98. package/dist/schemas/reload-config.d.ts +20 -8
  99. package/dist/schemas/reload-config.js +7 -5
  100. package/dist/schemas/runtime-context.d.ts +19 -0
  101. package/dist/schemas/runtime-context.js +7 -0
  102. package/dist/schemas/sdk-config.d.ts +697 -2
  103. package/dist/schemas/sdk-config.js +99 -1
  104. package/dist/schemas/sdk-errors-client.d.ts +1 -0
  105. package/dist/schemas/sdk-errors-client.js +5 -0
  106. package/dist/schemas/sdk-errors-server.d.ts +14 -0
  107. package/dist/schemas/sdk-errors-server.js +70 -0
  108. package/dist/schemas/shard.d.ts +21 -0
  109. package/dist/schemas/shard.js +17 -0
  110. package/dist/schemas/translate.d.ts +68 -23
  111. package/dist/schemas/translate.js +37 -11
  112. package/dist/schemas/translation-config.d.ts +272 -29
  113. package/dist/schemas/translation-config.js +63 -6
  114. package/dist/scripts/run-unit-tests.d.ts +2 -0
  115. package/dist/scripts/run-unit-tests.js +17 -0
  116. package/dist/server/bare/addons/llamacpp-completion/cache-logger.d.ts +6 -0
  117. package/dist/server/bare/addons/llamacpp-completion/cache-logger.js +34 -0
  118. package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/create-model.d.ts +1 -5
  119. package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/create-model.js +3 -26
  120. package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/handlers/completion-stream.js +26 -7
  121. package/dist/server/bare/addons/llamacpp-completion/index.d.ts +4 -0
  122. package/dist/server/bare/addons/llamacpp-completion/index.js +3 -0
  123. package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/kv-cache-utils.d.ts +4 -1
  124. package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/kv-cache-utils.js +43 -10
  125. package/dist/server/bare/addons/llamacpp-embedding/create-model.d.ts +8 -0
  126. package/dist/server/bare/addons/llamacpp-embedding/create-model.js +38 -0
  127. package/dist/server/bare/addons/llamacpp-embedding/index.d.ts +3 -0
  128. package/dist/server/bare/addons/llamacpp-embedding/index.js +2 -0
  129. package/dist/server/bare/addons/load-model.js +28 -24
  130. package/dist/server/bare/addons/{translation → nmtcpp-translation}/create-model.js +23 -8
  131. package/dist/server/bare/addons/{translation → nmtcpp-translation}/handlers/translate.js +35 -11
  132. package/dist/server/bare/addons/onnx-ocr/create-model.d.ts +10 -0
  133. package/dist/server/bare/addons/onnx-ocr/create-model.js +39 -0
  134. package/dist/server/bare/addons/onnx-ocr/handlers/ocr-stream.d.ts +10 -0
  135. package/dist/server/bare/addons/onnx-ocr/handlers/ocr-stream.js +109 -0
  136. package/dist/server/bare/addons/onnx-ocr/index.d.ts +3 -0
  137. package/dist/server/bare/addons/onnx-ocr/index.js +2 -0
  138. package/dist/server/bare/addons/{whispercpp → whispercpp-transcription}/create-model.js +2 -1
  139. package/dist/server/bare/delegate-rpc-client.js +19 -1
  140. package/dist/server/bare/rag-hyperdb/handlers/chunk.d.ts +3 -0
  141. package/dist/server/bare/rag-hyperdb/handlers/chunk.js +7 -0
  142. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.d.ts +3 -0
  143. package/dist/server/bare/rag-hyperdb/handlers/close-workspace.js +9 -0
  144. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.d.ts +1 -1
  145. package/dist/server/bare/rag-hyperdb/handlers/delete-embeddings.js +9 -10
  146. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.d.ts +3 -0
  147. package/dist/server/bare/rag-hyperdb/handlers/delete-workspace.js +14 -0
  148. package/dist/server/bare/rag-hyperdb/handlers/ingest.d.ts +9 -0
  149. package/dist/server/bare/rag-hyperdb/handlers/ingest.js +18 -0
  150. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.d.ts +3 -0
  151. package/dist/server/bare/rag-hyperdb/handlers/list-workspaces.js +4 -0
  152. package/dist/server/bare/rag-hyperdb/handlers/reindex.d.ts +9 -0
  153. package/dist/server/bare/rag-hyperdb/handlers/reindex.js +16 -0
  154. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.d.ts +7 -4
  155. package/dist/server/bare/rag-hyperdb/handlers/save-embeddings.js +13 -14
  156. package/dist/server/bare/rag-hyperdb/handlers/search.js +10 -10
  157. package/dist/server/bare/rag-hyperdb/index.d.ts +8 -1
  158. package/dist/server/bare/rag-hyperdb/index.js +8 -1
  159. package/dist/server/bare/rag-hyperdb/rag-operation-manager.d.ts +7 -0
  160. package/dist/server/bare/rag-hyperdb/rag-operation-manager.js +39 -0
  161. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.d.ts +15 -0
  162. package/dist/server/bare/rag-hyperdb/rag-workspace-manager.js +135 -0
  163. package/dist/server/bare/registry/config-registry.js +11 -0
  164. package/dist/server/bare/registry/logging-stream-registry.js +3 -3
  165. package/dist/server/bare/registry/model-config-registry.d.ts +4 -0
  166. package/dist/server/bare/registry/model-config-registry.js +15 -0
  167. package/dist/server/bare/registry/model-config-utils.d.ts +15 -0
  168. package/dist/server/bare/registry/model-config-utils.js +121 -0
  169. package/dist/server/bare/registry/model-registry.d.ts +6 -29
  170. package/dist/server/bare/registry/runtime-context-registry.d.ts +7 -0
  171. package/dist/server/bare/registry/runtime-context-registry.js +26 -0
  172. package/dist/server/bare/utils/loader-adapter.d.ts +7 -0
  173. package/dist/server/bare/utils/loader-adapter.js +9 -0
  174. package/dist/server/error-handlers.js +4 -2
  175. package/dist/server/rpc/handle-request.js +91 -9
  176. package/dist/server/rpc/handlers/cancelHandler.js +10 -1
  177. package/dist/server/rpc/handlers/completion-stream.js +1 -1
  178. package/dist/server/rpc/handlers/delete-cache.js +1 -1
  179. package/dist/server/rpc/handlers/embed.js +1 -1
  180. package/dist/server/rpc/handlers/get-model-info.d.ts +1 -1
  181. package/dist/server/rpc/handlers/get-model-info.js +22 -10
  182. package/dist/server/rpc/handlers/index.d.ts +4 -1
  183. package/dist/server/rpc/handlers/index.js +2 -0
  184. package/dist/server/rpc/handlers/load-model/download-manager.d.ts +11 -11
  185. package/dist/server/rpc/handlers/load-model/download-manager.js +36 -26
  186. package/dist/server/rpc/handlers/{load-model.d.ts → load-model/handler.d.ts} +2 -2
  187. package/dist/server/rpc/handlers/load-model/handler.js +179 -0
  188. package/dist/server/rpc/handlers/load-model/http.js +342 -33
  189. package/dist/server/rpc/handlers/load-model/hyperdrive.js +5 -3
  190. package/dist/server/rpc/handlers/load-model/index.d.ts +2 -2
  191. package/dist/server/rpc/handlers/load-model/index.js +2 -2
  192. package/dist/server/rpc/handlers/load-model/resolve.js +32 -3
  193. package/dist/server/rpc/handlers/load-model-delegated.js +6 -3
  194. package/dist/server/rpc/handlers/ocr-stream.d.ts +3 -0
  195. package/dist/server/rpc/handlers/ocr-stream.js +39 -0
  196. package/dist/server/rpc/handlers/rag.d.ts +2 -2
  197. package/dist/server/rpc/handlers/rag.js +107 -43
  198. package/dist/server/rpc/handlers/text-to-speech.js +1 -1
  199. package/dist/server/rpc/handlers/transcribe-stream.js +1 -1
  200. package/dist/server/rpc/handlers/translate.js +6 -15
  201. package/dist/server/utils/archive.d.ts +3 -0
  202. package/dist/server/utils/archive.js +171 -0
  203. package/dist/server/utils/audio/decoder.js +2 -2
  204. package/dist/server/utils/cache.d.ts +5 -5
  205. package/dist/server/utils/cache.js +6 -6
  206. package/dist/server/utils/config-transform.d.ts +2 -2
  207. package/dist/server/utils/config-transform.js +8 -6
  208. package/dist/server/utils/formatting.d.ts +13 -0
  209. package/dist/server/utils/formatting.js +26 -0
  210. package/dist/server/utils/gguf-tensor-extractor.d.ts +15 -0
  211. package/dist/server/utils/gguf-tensor-extractor.js +314 -0
  212. package/dist/server/utils/index.d.ts +3 -1
  213. package/dist/server/utils/index.js +3 -1
  214. package/dist/server/utils/shard-utils.d.ts +42 -16
  215. package/dist/server/utils/shard-utils.js +95 -7
  216. package/dist/server/worker.js +8 -3
  217. package/dist/utils/errors-base.d.ts +1 -1
  218. package/dist/utils/errors-base.js +2 -2
  219. package/dist/utils/errors-client.d.ts +12 -0
  220. package/dist/utils/errors-client.js +20 -0
  221. package/dist/utils/errors-server.d.ts +33 -0
  222. package/dist/utils/errors-server.js +55 -0
  223. package/package.json +40 -15
  224. package/dist/client/rpc/bare-rpc-client.d.ts +0 -4
  225. package/dist/client/rpc/bare-rpc-client.js +0 -94
  226. package/dist/examples/config/config-path.d.ts +0 -8
  227. package/dist/examples/config/config-path.js +0 -13
  228. package/dist/examples/rag/rag-hyperdb-workspaces.d.ts +0 -2
  229. package/dist/examples/rag/rag-hyperdb-workspaces.js +0 -106
  230. package/dist/examples/rag/rag-hyperdb.d.ts +0 -2
  231. package/dist/server/bare/addons/llamacpp/index.d.ts +0 -4
  232. package/dist/server/bare/addons/llamacpp/index.js +0 -3
  233. package/dist/server/bare/rag-hyperdb/rag-manager.d.ts +0 -5
  234. package/dist/server/bare/rag-hyperdb/rag-manager.js +0 -66
  235. package/dist/server/rpc/handlers/load-model.js +0 -111
  236. package/dist/server/utils/hash.d.ts +0 -5
  237. package/dist/server/utils/hash.js +0 -11
  238. package/dist/utils/getProcessSafe.d.ts +0 -7
  239. package/dist/utils/getProcessSafe.js +0 -17
  240. package/dist/utils/runtime.d.ts +0 -30
  241. package/dist/utils/runtime.js +0 -48
  242. /package/dist/server/bare/addons/{llamacpp → llamacpp-completion}/handlers/completion-stream.d.ts +0 -0
  243. /package/dist/server/bare/addons/{llamacpp → llamacpp-embedding}/handlers/embed.d.ts +0 -0
  244. /package/dist/server/bare/addons/{llamacpp → llamacpp-embedding}/handlers/embed.js +0 -0
  245. /package/dist/server/bare/addons/{translation → nmtcpp-translation}/create-model.d.ts +0 -0
  246. /package/dist/server/bare/addons/{translation → nmtcpp-translation}/handlers/translate.d.ts +0 -0
  247. /package/dist/server/bare/addons/{translation → nmtcpp-translation}/index.d.ts +0 -0
  248. /package/dist/server/bare/addons/{translation → nmtcpp-translation}/index.js +0 -0
  249. /package/dist/server/bare/addons/{tts → onnx-tts}/create-model.d.ts +0 -0
  250. /package/dist/server/bare/addons/{tts → onnx-tts}/create-model.js +0 -0
  251. /package/dist/server/bare/addons/{tts → onnx-tts}/handlers/text-to-speech.d.ts +0 -0
  252. /package/dist/server/bare/addons/{tts → onnx-tts}/handlers/text-to-speech.js +0 -0
  253. /package/dist/server/bare/addons/{tts → onnx-tts}/index.d.ts +0 -0
  254. /package/dist/server/bare/addons/{tts → onnx-tts}/index.js +0 -0
  255. /package/dist/server/bare/addons/{whispercpp → whispercpp-transcription}/create-model.d.ts +0 -0
  256. /package/dist/server/bare/addons/{whispercpp → whispercpp-transcription}/handlers/transcribe-stream.d.ts +0 -0
  257. /package/dist/server/bare/addons/{whispercpp → whispercpp-transcription}/handlers/transcribe-stream.js +0 -0
  258. /package/dist/server/bare/addons/{whispercpp → whispercpp-transcription}/index.d.ts +0 -0
  259. /package/dist/server/bare/addons/{whispercpp → whispercpp-transcription}/index.js +0 -0
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- // ============== Common Types ==============
2
+ // ============== Common Schemas ==============
3
3
  const llmChunkOptsSchema = z.object({
4
4
  chunkSize: z.number().optional(),
5
5
  chunkOverlap: z.number().optional(),
@@ -8,63 +8,154 @@ const llmChunkOptsSchema = z.object({
8
8
  .enum(["character", "word", "token", "sentence", "line"])
9
9
  .optional(),
10
10
  });
11
- const ragSaveEmbeddingsResultSchema = z.object({
11
+ const saveEmbeddingsResultSchema = z.object({
12
12
  status: z.enum(["fulfilled", "rejected"]),
13
13
  id: z.string().optional(),
14
14
  error: z.string().optional(),
15
15
  });
16
- const searchResultSchema = z.object({
17
- id: z.string(),
18
- content: z.string(),
19
- score: z.number(),
16
+ // ============== Base Schemas ==============
17
+ // For storage-only operations (reindex, delete, saveEmbeddings)
18
+ // modelId is optional - only needed if no cached RAG instance exists
19
+ const ragStorageOnlyBaseSchema = z.object({
20
+ modelId: z.string().optional(),
21
+ workspace: z.string().optional(),
20
22
  });
21
- // ============== Request Schema ==============
22
- const ragBaseSchema = z.object({
23
+ // For operations that need the embedding model (ingest, search)
24
+ const ragBaseSchema = ragStorageOnlyBaseSchema.extend({
23
25
  modelId: z.string(),
24
- workspace: z.string().optional(), // Optional workspace for isolated storage
25
26
  });
26
- const ragSaveEmbeddingsParamsSchema = ragBaseSchema.extend({
27
+ // ============== Ingest Operation ==============
28
+ export const ragIngestParamsSchema = ragBaseSchema.extend({
27
29
  documents: z.union([z.string(), z.array(z.string())]),
28
- chunk: z.boolean().default(false),
30
+ chunk: z.boolean().default(true),
29
31
  chunkOpts: llmChunkOptsSchema.optional(),
32
+ progressInterval: z.number().positive().optional(),
33
+ onProgress: z.unknown().optional(),
34
+ withProgress: z.boolean().optional(),
30
35
  });
31
- export const ragSaveEmbeddingsOperationSchema = ragSaveEmbeddingsParamsSchema.extend({
36
+ const ragIngestOperationSchema = ragIngestParamsSchema.extend({
37
+ type: z.literal("rag"),
38
+ operation: z.literal("ingest"),
39
+ });
40
+ // ============== Chunk Operation ==============
41
+ const docSchema = z.object({
42
+ id: z.string(),
43
+ content: z.string(),
44
+ });
45
+ export const ragChunkParamsSchema = z.object({
46
+ documents: z.union([z.string(), z.array(z.string())]),
47
+ chunkOpts: llmChunkOptsSchema.optional(),
48
+ });
49
+ const ragChunkOperationSchema = ragChunkParamsSchema.extend({
50
+ type: z.literal("rag"),
51
+ operation: z.literal("chunk"),
52
+ });
53
+ // ============== SaveEmbeddings Operation ==============
54
+ const embeddedDocSchema = z.object({
55
+ id: z.string(),
56
+ content: z.string(),
57
+ embedding: z.array(z.number()),
58
+ embeddingModelId: z.string(),
59
+ metadata: z.record(z.string(), z.unknown()).optional(),
60
+ });
61
+ export const ragSaveEmbeddingsParamsSchema = ragStorageOnlyBaseSchema.extend({
62
+ documents: z.array(embeddedDocSchema),
63
+ progressInterval: z.number().positive().optional(),
64
+ onProgress: z.unknown().optional(),
65
+ withProgress: z.boolean().optional(),
66
+ });
67
+ const ragSaveEmbeddingsOperationSchema = ragSaveEmbeddingsParamsSchema.extend({
32
68
  type: z.literal("rag"),
33
69
  operation: z.literal("saveEmbeddings"),
34
70
  });
35
- const ragSearchParamsSchema = ragBaseSchema.extend({
36
- query: z.string().min(1, "Query cannot be empty"),
37
- topK: z.number().positive().optional(),
38
- n: z.number().positive().optional(),
71
+ // ============== Reindex Operation ==============
72
+ const reindexResultSchema = z.object({
73
+ reindexed: z.boolean(),
74
+ details: z.record(z.string(), z.unknown()).optional(),
39
75
  });
40
- export const ragSearchOperationSchema = ragSearchParamsSchema.extend({
76
+ export const ragReindexParamsSchema = ragStorageOnlyBaseSchema.extend({
77
+ onProgress: z.unknown().optional(),
78
+ withProgress: z.boolean().optional(),
79
+ });
80
+ const ragReindexOperationSchema = ragReindexParamsSchema.extend({
41
81
  type: z.literal("rag"),
42
- operation: z.literal("search"),
82
+ operation: z.literal("reindex"),
83
+ });
84
+ // ============== Search Operation ==============
85
+ const searchResultSchema = z.object({
86
+ id: z.string(),
87
+ content: z.string(),
88
+ score: z.number(),
89
+ });
90
+ export const ragSearchParamsSchema = ragBaseSchema.extend({
91
+ query: z.string().min(1, "Query cannot be empty"),
43
92
  topK: z.number().positive().default(5),
44
93
  n: z.number().positive().default(3),
45
94
  });
46
- const deleteEmbeddingsParamsSchema = ragBaseSchema.extend({
95
+ const ragSearchOperationSchema = ragSearchParamsSchema.extend({
96
+ type: z.literal("rag"),
97
+ operation: z.literal("search"),
98
+ });
99
+ // ============== Delete Embeddings Operation ==============
100
+ export const ragDeleteEmbeddingsParamsSchema = ragStorageOnlyBaseSchema.extend({
47
101
  ids: z.array(z.string()).min(1, "At least one ID must be provided"),
48
102
  });
49
- export const ragDeleteEmbeddingsOperationSchema = deleteEmbeddingsParamsSchema.extend({
103
+ const ragDeleteEmbeddingsOperationSchema = ragDeleteEmbeddingsParamsSchema.extend({
50
104
  type: z.literal("rag"),
51
105
  operation: z.literal("deleteEmbeddings"),
52
106
  });
107
+ // ============== List Workspaces Operation ==============
108
+ const ragListWorkspacesOperationSchema = z.object({
109
+ type: z.literal("rag"),
110
+ operation: z.literal("listWorkspaces"),
111
+ });
112
+ // ============== Close Workspace Operation ==============
113
+ export const ragCloseWorkspaceParamsSchema = z.object({
114
+ workspace: z.string().optional(),
115
+ deleteOnClose: z.boolean().optional(),
116
+ });
117
+ const ragCloseWorkspaceOperationSchema = ragCloseWorkspaceParamsSchema.extend({
118
+ type: z.literal("rag"),
119
+ operation: z.literal("closeWorkspace"),
120
+ });
121
+ // ============== Delete Workspace Operation ==============
122
+ export const ragDeleteWorkspaceParamsSchema = z.object({
123
+ workspace: z.string().min(1, "Workspace name cannot be empty"),
124
+ });
125
+ const ragDeleteWorkspaceOperationSchema = ragDeleteWorkspaceParamsSchema.extend({
126
+ type: z.literal("rag"),
127
+ operation: z.literal("deleteWorkspace"),
128
+ });
129
+ // ============== Unified Request Schema ==============
53
130
  export const ragRequestSchema = z.discriminatedUnion("operation", [
131
+ ragChunkOperationSchema,
132
+ ragIngestOperationSchema,
54
133
  ragSaveEmbeddingsOperationSchema,
55
134
  ragSearchOperationSchema,
56
135
  ragDeleteEmbeddingsOperationSchema,
136
+ ragReindexOperationSchema,
137
+ ragListWorkspacesOperationSchema,
138
+ ragCloseWorkspaceOperationSchema,
139
+ ragDeleteWorkspaceOperationSchema,
57
140
  ]);
58
- // ============== Response Schema ==============
141
+ // ============== Response Schemas ==============
59
142
  const ragResponseBaseSchema = z.object({
60
143
  type: z.literal("rag"),
61
144
  success: z.boolean(),
62
145
  error: z.string().optional(),
63
146
  });
147
+ const ragChunkResponseSchema = ragResponseBaseSchema.extend({
148
+ operation: z.literal("chunk"),
149
+ chunks: z.array(docSchema),
150
+ });
151
+ const ragIngestResponseSchema = ragResponseBaseSchema.extend({
152
+ operation: z.literal("ingest"),
153
+ processed: z.array(saveEmbeddingsResultSchema),
154
+ droppedIndices: z.array(z.number()),
155
+ });
64
156
  const ragSaveEmbeddingsResponseSchema = ragResponseBaseSchema.extend({
65
157
  operation: z.literal("saveEmbeddings"),
66
- processed: z.array(ragSaveEmbeddingsResultSchema),
67
- droppedIndices: z.array(z.number()),
158
+ processed: z.array(saveEmbeddingsResultSchema),
68
159
  });
69
160
  const ragSearchResponseSchema = ragResponseBaseSchema.extend({
70
161
  operation: z.literal("search"),
@@ -73,8 +164,42 @@ const ragSearchResponseSchema = ragResponseBaseSchema.extend({
73
164
  const ragDeleteEmbeddingsResponseSchema = ragResponseBaseSchema.extend({
74
165
  operation: z.literal("deleteEmbeddings"),
75
166
  });
167
+ const ragReindexResponseSchema = ragResponseBaseSchema.extend({
168
+ operation: z.literal("reindex"),
169
+ result: reindexResultSchema,
170
+ });
171
+ const ragWorkspaceInfoSchema = z.object({
172
+ name: z.string(),
173
+ open: z.boolean(),
174
+ });
175
+ const ragListWorkspacesResponseSchema = ragResponseBaseSchema.extend({
176
+ operation: z.literal("listWorkspaces"),
177
+ workspaces: z.array(ragWorkspaceInfoSchema),
178
+ });
179
+ const ragCloseWorkspaceResponseSchema = ragResponseBaseSchema.extend({
180
+ operation: z.literal("closeWorkspace"),
181
+ });
182
+ const ragDeleteWorkspaceResponseSchema = ragResponseBaseSchema.extend({
183
+ operation: z.literal("deleteWorkspace"),
184
+ });
76
185
  export const ragResponseSchema = z.discriminatedUnion("operation", [
186
+ ragChunkResponseSchema,
187
+ ragIngestResponseSchema,
77
188
  ragSaveEmbeddingsResponseSchema,
78
189
  ragSearchResponseSchema,
79
190
  ragDeleteEmbeddingsResponseSchema,
191
+ ragReindexResponseSchema,
192
+ ragListWorkspacesResponseSchema,
193
+ ragCloseWorkspaceResponseSchema,
194
+ ragDeleteWorkspaceResponseSchema,
80
195
  ]);
196
+ // ============== Progress Update Schema ==============
197
+ export const ragProgressUpdateSchema = z.object({
198
+ type: z.literal("rag:progress"),
199
+ operation: z.enum(["ingest", "saveEmbeddings", "reindex"]),
200
+ workspace: z.string(),
201
+ stage: z.string(),
202
+ current: z.number(),
203
+ total: z.number(),
204
+ timestamp: z.number(),
205
+ });
@@ -3,7 +3,10 @@ import { whisperConfigSchema } from "./whispercpp-config";
3
3
  export declare const modelIdSchema: z.ZodString;
4
4
  export declare const reloadConfigOptionsSchema: z.ZodUnion<readonly [z.ZodObject<{
5
5
  modelId: z.ZodString;
6
- modelType: z.ZodLiteral<"whisper">;
6
+ modelType: z.ZodEnum<{
7
+ "whispercpp-transcription": "whispercpp-transcription";
8
+ whisper: "whisper";
9
+ }>;
7
10
  modelConfig: z.ZodObject<{
8
11
  strategy: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
9
12
  greedy: "greedy";
@@ -69,7 +72,10 @@ export declare const reloadConfigOptionsSchema: z.ZodUnion<readonly [z.ZodObject
69
72
  }, z.core.$strip>]>;
70
73
  export declare const reloadConfigOptionsToRequestSchema: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
71
74
  modelId: z.ZodString;
72
- modelType: z.ZodLiteral<"whisper">;
75
+ modelType: z.ZodEnum<{
76
+ "whispercpp-transcription": "whispercpp-transcription";
77
+ whisper: "whisper";
78
+ }>;
73
79
  modelConfig: z.ZodObject<{
74
80
  strategy: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
75
81
  greedy: "greedy";
@@ -135,11 +141,11 @@ export declare const reloadConfigOptionsToRequestSchema: z.ZodUnion<readonly [z.
135
141
  }, z.core.$strip>, z.ZodTransform<{
136
142
  type: "loadModel";
137
143
  modelId: string;
138
- modelType: "whisper";
144
+ modelType: "whispercpp-transcription" | "whisper";
139
145
  modelConfig: z.infer<typeof whisperConfigSchema>;
140
146
  }, {
141
147
  modelId: string;
142
- modelType: "whisper";
148
+ modelType: "whispercpp-transcription" | "whisper";
143
149
  modelConfig: {
144
150
  strategy?: "greedy" | "beam_search" | undefined;
145
151
  n_threads?: number | undefined;
@@ -204,7 +210,10 @@ export declare const reloadConfigWhisperRequestSchema: z.ZodObject<{
204
210
  withProgress: z.ZodOptional<z.ZodNever>;
205
211
  delegate: z.ZodOptional<z.ZodNever>;
206
212
  seed: z.ZodOptional<z.ZodNever>;
207
- modelType: z.ZodLiteral<"whisper">;
213
+ modelType: z.ZodEnum<{
214
+ "whispercpp-transcription": "whispercpp-transcription";
215
+ whisper: "whisper";
216
+ }>;
208
217
  modelConfig: z.ZodObject<{
209
218
  strategy: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
210
219
  greedy: "greedy";
@@ -268,14 +277,17 @@ export declare const reloadConfigWhisperRequestSchema: z.ZodObject<{
268
277
  }, z.core.$strip>>>;
269
278
  }, z.core.$strip>;
270
279
  }, z.core.$strip>;
271
- export declare const reloadConfigRequestSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
280
+ export declare const reloadConfigRequestSchema: z.ZodUnion<readonly [z.ZodObject<{
272
281
  type: z.ZodLiteral<"loadModel">;
273
282
  modelId: z.ZodString;
274
283
  modelSrc: z.ZodOptional<z.ZodNever>;
275
284
  withProgress: z.ZodOptional<z.ZodNever>;
276
285
  delegate: z.ZodOptional<z.ZodNever>;
277
286
  seed: z.ZodOptional<z.ZodNever>;
278
- modelType: z.ZodLiteral<"whisper">;
287
+ modelType: z.ZodEnum<{
288
+ "whispercpp-transcription": "whispercpp-transcription";
289
+ whisper: "whisper";
290
+ }>;
279
291
  modelConfig: z.ZodObject<{
280
292
  strategy: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
281
293
  greedy: "greedy";
@@ -338,7 +350,7 @@ export declare const reloadConfigRequestSchema: z.ZodDiscriminatedUnion<[z.ZodOb
338
350
  caption_enabled: z.ZodOptional<z.ZodBoolean>;
339
351
  }, z.core.$strip>>>;
340
352
  }, z.core.$strip>;
341
- }, z.core.$strip>], "modelType">;
353
+ }, z.core.$strip>]>;
342
354
  export type ReloadConfigRequest = z.infer<typeof reloadConfigRequestSchema>;
343
355
  export type ReloadConfigOptions = z.infer<typeof reloadConfigOptionsSchema>;
344
356
  //# sourceMappingURL=reload-config.d.ts.map
@@ -1,12 +1,13 @@
1
1
  import { z } from "zod";
2
2
  import { whisperConfigSchema } from "./whispercpp-config.js";
3
+ import { whisperModelTypeSchema } from "./model-types.js";
3
4
  export const modelIdSchema = z
4
5
  .string()
5
6
  .regex(/^[0-9a-f]{16}$/, "Invalid modelId format");
6
7
  export const reloadConfigOptionsSchema = z.union([
7
8
  z.object({
8
9
  modelId: modelIdSchema,
9
- modelType: z.literal("whisper"),
10
+ modelType: whisperModelTypeSchema,
10
11
  modelConfig: whisperConfigSchema.partial().strict(),
11
12
  }),
12
13
  ]);
@@ -14,13 +15,13 @@ export const reloadConfigOptionsToRequestSchema = z.union([
14
15
  z
15
16
  .object({
16
17
  modelId: modelIdSchema,
17
- modelType: z.literal("whisper"),
18
+ modelType: whisperModelTypeSchema,
18
19
  modelConfig: whisperConfigSchema.partial().strict(),
19
20
  })
20
21
  .transform((data) => ({
21
22
  type: "loadModel",
22
23
  modelId: data.modelId,
23
- modelType: "whisper",
24
+ modelType: data.modelType,
24
25
  modelConfig: data.modelConfig,
25
26
  })),
26
27
  ]);
@@ -34,9 +35,10 @@ const reloadConfigRequestBaseSchema = z.object({
34
35
  seed: z.never().optional(),
35
36
  });
36
37
  export const reloadConfigWhisperRequestSchema = reloadConfigRequestBaseSchema.extend({
37
- modelType: z.literal("whisper"),
38
+ modelType: whisperModelTypeSchema,
38
39
  modelConfig: whisperConfigSchema.partial(),
39
40
  });
40
- export const reloadConfigRequestSchema = z.discriminatedUnion("modelType", [
41
+ // Using z.union since modelType accepts multiple values
42
+ export const reloadConfigRequestSchema = z.union([
41
43
  reloadConfigWhisperRequestSchema,
42
44
  ]);
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+ export declare const runtimeContextSchema: z.ZodObject<{
3
+ runtime: z.ZodOptional<z.ZodEnum<{
4
+ node: "node";
5
+ bare: "bare";
6
+ "react-native": "react-native";
7
+ }>>;
8
+ platform: z.ZodOptional<z.ZodEnum<{
9
+ android: "android";
10
+ ios: "ios";
11
+ darwin: "darwin";
12
+ linux: "linux";
13
+ win32: "win32";
14
+ }>>;
15
+ deviceModel: z.ZodOptional<z.ZodString>;
16
+ deviceBrand: z.ZodOptional<z.ZodString>;
17
+ }, z.core.$strip>;
18
+ export type RuntimeContext = z.infer<typeof runtimeContextSchema>;
19
+ //# sourceMappingURL=runtime-context.d.ts.map
@@ -0,0 +1,7 @@
1
+ import { z } from "zod";
2
+ export const runtimeContextSchema = z.object({
3
+ runtime: z.enum(["node", "bare", "react-native"]).optional(),
4
+ platform: z.enum(["android", "ios", "darwin", "linux", "win32"]).optional(),
5
+ deviceModel: z.string().optional(),
6
+ deviceBrand: z.string().optional(),
7
+ });