@qvac/core 0.0.0 → 0.1.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 (589) hide show
  1. package/LICENSE.md +198 -0
  2. package/NOTICE.md +13 -0
  3. package/README.md +694 -0
  4. package/SECURITY.md +6 -0
  5. package/dist/assistant.bundle +47257 -0
  6. package/dist/assistant.cjs +18 -0
  7. package/dist/assistant.d.ts +8 -0
  8. package/dist/prebuilds-manifest.json +380 -0
  9. package/dist-lib/client.d.ts +2 -0
  10. package/dist-lib/client.js +1 -0
  11. package/dist-lib/index.d.ts +13 -0
  12. package/dist-lib/index.js +10 -0
  13. package/dist-lib/lib/agent-icons.d.ts +3 -0
  14. package/dist-lib/lib/agent-icons.js +1 -0
  15. package/dist-lib/lib/api/agents.d.ts +5 -0
  16. package/dist-lib/lib/api/agents.js +38 -0
  17. package/dist-lib/lib/api/app-config.d.ts +5 -0
  18. package/dist-lib/lib/api/app-config.js +108 -0
  19. package/dist-lib/lib/api/approval-rules.d.ts +3 -0
  20. package/dist-lib/lib/api/approval-rules.js +9 -0
  21. package/dist-lib/lib/api/attachments.d.ts +8 -0
  22. package/dist-lib/lib/api/attachments.js +15 -0
  23. package/dist-lib/lib/api/chat-groups.d.ts +5 -0
  24. package/dist-lib/lib/api/chat-groups.js +12 -0
  25. package/dist-lib/lib/api/chat.d.ts +5 -0
  26. package/dist-lib/lib/api/chat.js +38 -0
  27. package/dist-lib/lib/api/chunks.d.ts +5 -0
  28. package/dist-lib/lib/api/chunks.js +61 -0
  29. package/dist-lib/lib/api/config.d.ts +5 -0
  30. package/dist-lib/lib/api/config.js +15 -0
  31. package/dist-lib/lib/api/current-mesh.d.ts +5 -0
  32. package/dist-lib/lib/api/current-mesh.js +12 -0
  33. package/dist-lib/lib/api/custom-models.d.ts +5 -0
  34. package/dist-lib/lib/api/custom-models.js +45 -0
  35. package/dist-lib/lib/api/devices.d.ts +8 -0
  36. package/dist-lib/lib/api/devices.js +125 -0
  37. package/dist-lib/lib/api/diagnostics.d.ts +7 -0
  38. package/dist-lib/lib/api/diagnostics.js +7 -0
  39. package/dist-lib/lib/api/effective-ctx-size.d.ts +2 -0
  40. package/dist-lib/lib/api/effective-ctx-size.js +10 -0
  41. package/dist-lib/lib/api/execution.d.ts +3 -0
  42. package/dist-lib/lib/api/execution.js +45 -0
  43. package/dist-lib/lib/api/files.d.ts +3 -0
  44. package/dist-lib/lib/api/files.js +48 -0
  45. package/dist-lib/lib/api/index.d.ts +62 -0
  46. package/dist-lib/lib/api/index.js +172 -0
  47. package/dist-lib/lib/api/instrument.d.ts +2 -0
  48. package/dist-lib/lib/api/instrument.js +86 -0
  49. package/dist-lib/lib/api/knowledge.d.ts +8 -0
  50. package/dist-lib/lib/api/knowledge.js +26 -0
  51. package/dist-lib/lib/api/logs.d.ts +14 -0
  52. package/dist-lib/lib/api/logs.js +116 -0
  53. package/dist-lib/lib/api/mesh.d.ts +13 -0
  54. package/dist-lib/lib/api/mesh.js +25 -0
  55. package/dist-lib/lib/api/model-download.d.ts +5 -0
  56. package/dist-lib/lib/api/model-download.js +47 -0
  57. package/dist-lib/lib/api/network.d.ts +8 -0
  58. package/dist-lib/lib/api/network.js +6 -0
  59. package/dist-lib/lib/api/notifications.d.ts +21 -0
  60. package/dist-lib/lib/api/notifications.js +108 -0
  61. package/dist-lib/lib/api/rag.d.ts +7 -0
  62. package/dist-lib/lib/api/rag.js +216 -0
  63. package/dist-lib/lib/api/sync.d.ts +3 -0
  64. package/dist-lib/lib/api/sync.js +6 -0
  65. package/dist-lib/lib/api/tool-activity.d.ts +5 -0
  66. package/dist-lib/lib/api/tool-activity.js +53 -0
  67. package/dist-lib/lib/api/tool-configs.d.ts +6 -0
  68. package/dist-lib/lib/api/tool-configs.js +27 -0
  69. package/dist-lib/lib/api/watchable.d.ts +12 -0
  70. package/dist-lib/lib/api/watchable.js +121 -0
  71. package/dist-lib/lib/assistant-client.d.ts +21 -0
  72. package/dist-lib/lib/assistant-client.js +52 -0
  73. package/dist-lib/lib/assistant-tree.d.ts +50 -0
  74. package/dist-lib/lib/assistant-tree.js +184 -0
  75. package/dist-lib/lib/assistant.d.ts +425 -0
  76. package/dist-lib/lib/assistant.js +2706 -0
  77. package/dist-lib/lib/audio-format.d.ts +4 -0
  78. package/dist-lib/lib/audio-format.js +4 -0
  79. package/dist-lib/lib/chat-title.d.ts +5 -0
  80. package/dist-lib/lib/chat-title.js +58 -0
  81. package/dist-lib/lib/client.d.ts +25 -0
  82. package/dist-lib/lib/client.js +53 -0
  83. package/dist-lib/lib/collabora/convert.d.ts +9 -0
  84. package/dist-lib/lib/collabora/convert.js +62 -0
  85. package/dist-lib/lib/collabora/entry.d.ts +1 -0
  86. package/dist-lib/lib/collabora/entry.js +44 -0
  87. package/dist-lib/lib/collabora/protocol.d.ts +15 -0
  88. package/dist-lib/lib/collabora/protocol.js +24 -0
  89. package/dist-lib/lib/collabora/worker.d.ts +5 -0
  90. package/dist-lib/lib/collabora/worker.js +111 -0
  91. package/dist-lib/lib/compaction.d.ts +30 -0
  92. package/dist-lib/lib/compaction.js +95 -0
  93. package/dist-lib/lib/constants.d.ts +4 -0
  94. package/dist-lib/lib/constants.js +4 -0
  95. package/dist-lib/lib/core/agent.d.ts +15 -0
  96. package/dist-lib/lib/core/agent.js +149 -0
  97. package/dist-lib/lib/core/app-build.d.ts +7 -0
  98. package/dist-lib/lib/core/app-build.js +1 -0
  99. package/dist-lib/lib/core/approval-rules.d.ts +15 -0
  100. package/dist-lib/lib/core/approval-rules.js +41 -0
  101. package/dist-lib/lib/core/async-iterable.d.ts +13 -0
  102. package/dist-lib/lib/core/async-iterable.js +65 -0
  103. package/dist-lib/lib/core/attachment-link.d.ts +7 -0
  104. package/dist-lib/lib/core/attachment-link.js +6 -0
  105. package/dist-lib/lib/core/audio-attachment.d.ts +1 -0
  106. package/dist-lib/lib/core/audio-attachment.js +4 -0
  107. package/dist-lib/lib/core/blind-peers.d.ts +6 -0
  108. package/dist-lib/lib/core/blind-peers.js +13 -0
  109. package/dist-lib/lib/core/chat-activity.d.ts +7 -0
  110. package/dist-lib/lib/core/chat-activity.js +244 -0
  111. package/dist-lib/lib/core/chat-group.d.ts +14 -0
  112. package/dist-lib/lib/core/chat-group.js +79 -0
  113. package/dist-lib/lib/core/chat-search.d.ts +17 -0
  114. package/dist-lib/lib/core/chat-search.js +199 -0
  115. package/dist-lib/lib/core/chat.d.ts +37 -0
  116. package/dist-lib/lib/core/chat.js +196 -0
  117. package/dist-lib/lib/core/chunk.d.ts +61 -0
  118. package/dist-lib/lib/core/chunk.js +212 -0
  119. package/dist-lib/lib/core/contract/activity.d.ts +11 -0
  120. package/dist-lib/lib/core/contract/activity.js +45 -0
  121. package/dist-lib/lib/core/contract/agents.d.ts +2 -0
  122. package/dist-lib/lib/core/contract/agents.js +29 -0
  123. package/dist-lib/lib/core/contract/approval-rules.d.ts +2 -0
  124. package/dist-lib/lib/core/contract/approval-rules.js +14 -0
  125. package/dist-lib/lib/core/contract/attestations.d.ts +2 -0
  126. package/dist-lib/lib/core/contract/attestations.js +14 -0
  127. package/dist-lib/lib/core/contract/chat-group.d.ts +2 -0
  128. package/dist-lib/lib/core/contract/chat-group.js +20 -0
  129. package/dist-lib/lib/core/contract/chat.d.ts +2 -0
  130. package/dist-lib/lib/core/contract/chat.js +18 -0
  131. package/dist-lib/lib/core/contract/chunks.d.ts +2 -0
  132. package/dist-lib/lib/core/contract/chunks.js +156 -0
  133. package/dist-lib/lib/core/contract/devices.d.ts +2 -0
  134. package/dist-lib/lib/core/contract/devices.js +110 -0
  135. package/dist-lib/lib/core/contract/index.d.ts +2 -0
  136. package/dist-lib/lib/core/contract/index.js +30 -0
  137. package/dist-lib/lib/core/contract/indexing.d.ts +4 -0
  138. package/dist-lib/lib/core/contract/indexing.js +82 -0
  139. package/dist-lib/lib/core/contract/knowledge.d.ts +2 -0
  140. package/dist-lib/lib/core/contract/knowledge.js +55 -0
  141. package/dist-lib/lib/core/contract/members.d.ts +2 -0
  142. package/dist-lib/lib/core/contract/members.js +96 -0
  143. package/dist-lib/lib/core/contract/seed-defaults.d.ts +2 -0
  144. package/dist-lib/lib/core/contract/seed-defaults.js +29 -0
  145. package/dist-lib/lib/core/contract/tool-activity.d.ts +2 -0
  146. package/dist-lib/lib/core/contract/tool-activity.js +25 -0
  147. package/dist-lib/lib/core/contract/tool-configs.d.ts +2 -0
  148. package/dist-lib/lib/core/contract/tool-configs.js +50 -0
  149. package/dist-lib/lib/core/contract/types.d.ts +11 -0
  150. package/dist-lib/lib/core/contract/types.js +1 -0
  151. package/dist-lib/lib/core/contract/writers.d.ts +2 -0
  152. package/dist-lib/lib/core/contract/writers.js +112 -0
  153. package/dist-lib/lib/core/cpu-info-node.d.ts +3 -0
  154. package/dist-lib/lib/core/cpu-info-node.js +2 -0
  155. package/dist-lib/lib/core/departures.d.ts +41 -0
  156. package/dist-lib/lib/core/departures.js +145 -0
  157. package/dist-lib/lib/core/device-attestation.d.ts +6 -0
  158. package/dist-lib/lib/core/device-attestation.js +12 -0
  159. package/dist-lib/lib/core/devices.d.ts +14 -0
  160. package/dist-lib/lib/core/devices.js +11 -0
  161. package/dist-lib/lib/core/document-attachment.d.ts +22 -0
  162. package/dist-lib/lib/core/document-attachment.js +35 -0
  163. package/dist-lib/lib/core/files/attachments.d.ts +8 -0
  164. package/dist-lib/lib/core/files/attachments.js +50 -0
  165. package/dist-lib/lib/core/files/index.d.ts +133 -0
  166. package/dist-lib/lib/core/files/index.js +585 -0
  167. package/dist-lib/lib/core/files/knowledge.d.ts +9 -0
  168. package/dist-lib/lib/core/files/knowledge.js +31 -0
  169. package/dist-lib/lib/core/files/preview/image.d.ts +4 -0
  170. package/dist-lib/lib/core/files/preview/image.js +42 -0
  171. package/dist-lib/lib/core/files/preview/index.d.ts +33 -0
  172. package/dist-lib/lib/core/files/preview/index.js +161 -0
  173. package/dist-lib/lib/core/files/processing/claims.d.ts +26 -0
  174. package/dist-lib/lib/core/files/processing/claims.js +89 -0
  175. package/dist-lib/lib/core/files/processing/document.d.ts +100 -0
  176. package/dist-lib/lib/core/files/processing/document.js +101 -0
  177. package/dist-lib/lib/core/files/processing/index.d.ts +75 -0
  178. package/dist-lib/lib/core/files/processing/index.js +295 -0
  179. package/dist-lib/lib/core/files/processing/ownership.d.ts +11 -0
  180. package/dist-lib/lib/core/files/processing/ownership.js +41 -0
  181. package/dist-lib/lib/core/files/processing/protocol.d.ts +29 -0
  182. package/dist-lib/lib/core/files/processing/protocol.js +70 -0
  183. package/dist-lib/lib/core/files/processing/settle.d.ts +10 -0
  184. package/dist-lib/lib/core/files/processing/settle.js +75 -0
  185. package/dist-lib/lib/core/files/processing/source.d.ts +36 -0
  186. package/dist-lib/lib/core/files/processing/source.js +96 -0
  187. package/dist-lib/lib/core/files/processing/state.d.ts +64 -0
  188. package/dist-lib/lib/core/files/processing/state.js +118 -0
  189. package/dist-lib/lib/core/files/rag/artifact/codec.d.ts +3 -0
  190. package/dist-lib/lib/core/files/rag/artifact/codec.js +172 -0
  191. package/dist-lib/lib/core/files/rag/artifact/id.d.ts +10 -0
  192. package/dist-lib/lib/core/files/rag/artifact/id.js +39 -0
  193. package/dist-lib/lib/core/files/rag/artifact/types.d.ts +24 -0
  194. package/dist-lib/lib/core/files/rag/artifact/types.js +41 -0
  195. package/dist-lib/lib/core/files/rag/build.d.ts +25 -0
  196. package/dist-lib/lib/core/files/rag/build.js +60 -0
  197. package/dist-lib/lib/core/files/rag/chunk/chunking.d.ts +12 -0
  198. package/dist-lib/lib/core/files/rag/chunk/chunking.js +117 -0
  199. package/dist-lib/lib/core/files/rag/chunk/metadata.d.ts +30 -0
  200. package/dist-lib/lib/core/files/rag/chunk/metadata.js +89 -0
  201. package/dist-lib/lib/core/files/rag/chunk/tokenizer.d.ts +7 -0
  202. package/dist-lib/lib/core/files/rag/chunk/tokenizer.js +18 -0
  203. package/dist-lib/lib/core/files/rag/document-types.d.ts +11 -0
  204. package/dist-lib/lib/core/files/rag/document-types.js +94 -0
  205. package/dist-lib/lib/core/files/rag/extract/csv-text.d.ts +1 -0
  206. package/dist-lib/lib/core/files/rag/extract/csv-text.js +117 -0
  207. package/dist-lib/lib/core/files/rag/extract/document-types.d.ts +22 -0
  208. package/dist-lib/lib/core/files/rag/extract/document-types.js +152 -0
  209. package/dist-lib/lib/core/files/rag/extract/extract.d.ts +17 -0
  210. package/dist-lib/lib/core/files/rag/extract/extract.js +81 -0
  211. package/dist-lib/lib/core/files/rag/extract/html-table-text.d.ts +1 -0
  212. package/dist-lib/lib/core/files/rag/extract/html-table-text.js +125 -0
  213. package/dist-lib/lib/core/files/rag/extract/html-text.d.ts +1 -0
  214. package/dist-lib/lib/core/files/rag/extract/html-text.js +132 -0
  215. package/dist-lib/lib/core/files/rag/extract/office-collabora.d.ts +2 -0
  216. package/dist-lib/lib/core/files/rag/extract/office-collabora.js +8 -0
  217. package/dist-lib/lib/core/files/rag/extract/pdf-platform.d.ts +17 -0
  218. package/dist-lib/lib/core/files/rag/extract/pdf-platform.js +141 -0
  219. package/dist-lib/lib/core/files/rag/extract/pdf-text.d.ts +12 -0
  220. package/dist-lib/lib/core/files/rag/extract/pdf-text.js +43 -0
  221. package/dist-lib/lib/core/files/rag/extract/rtf-text.d.ts +1 -0
  222. package/dist-lib/lib/core/files/rag/extract/rtf-text.js +15 -0
  223. package/dist-lib/lib/core/files/rag/extract/text-decoding.d.ts +1 -0
  224. package/dist-lib/lib/core/files/rag/extract/text-decoding.js +91 -0
  225. package/dist-lib/lib/core/files/rag/extract/types.d.ts +36 -0
  226. package/dist-lib/lib/core/files/rag/extract/types.js +12 -0
  227. package/dist-lib/lib/core/files/rag/extract/utf.d.ts +2 -0
  228. package/dist-lib/lib/core/files/rag/extract/utf.js +18 -0
  229. package/dist-lib/lib/core/files/rag/index.d.ts +54 -0
  230. package/dist-lib/lib/core/files/rag/index.js +79 -0
  231. package/dist-lib/lib/core/files/rag/limits.d.ts +2 -0
  232. package/dist-lib/lib/core/files/rag/limits.js +2 -0
  233. package/dist-lib/lib/core/files/rag/load.d.ts +28 -0
  234. package/dist-lib/lib/core/files/rag/load.js +250 -0
  235. package/dist-lib/lib/core/files/rag/models.d.ts +1 -0
  236. package/dist-lib/lib/core/files/rag/models.js +1 -0
  237. package/dist-lib/lib/core/files/rag/policy.d.ts +2 -0
  238. package/dist-lib/lib/core/files/rag/policy.js +23 -0
  239. package/dist-lib/lib/core/files/rag/produce.d.ts +21 -0
  240. package/dist-lib/lib/core/files/rag/produce.js +214 -0
  241. package/dist-lib/lib/core/files/rag/retrieval/citation-match.d.ts +2 -0
  242. package/dist-lib/lib/core/files/rag/retrieval/citation-match.js +16 -0
  243. package/dist-lib/lib/core/files/rag/retrieval/coverage.d.ts +4 -0
  244. package/dist-lib/lib/core/files/rag/retrieval/coverage.js +48 -0
  245. package/dist-lib/lib/core/files/rag/retrieval/diversity.d.ts +10 -0
  246. package/dist-lib/lib/core/files/rag/retrieval/diversity.js +37 -0
  247. package/dist-lib/lib/core/files/rag/retrieval/floor.d.ts +5 -0
  248. package/dist-lib/lib/core/files/rag/retrieval/floor.js +21 -0
  249. package/dist-lib/lib/core/files/rag/retrieval/format.d.ts +6 -0
  250. package/dist-lib/lib/core/files/rag/retrieval/format.js +21 -0
  251. package/dist-lib/lib/core/files/rag/retrieval/full-text.d.ts +22 -0
  252. package/dist-lib/lib/core/files/rag/retrieval/full-text.js +137 -0
  253. package/dist-lib/lib/core/files/rag/retrieval/knowledge.d.ts +2 -0
  254. package/dist-lib/lib/core/files/rag/retrieval/knowledge.js +53 -0
  255. package/dist-lib/lib/core/files/rag/retrieval/notices.d.ts +16 -0
  256. package/dist-lib/lib/core/files/rag/retrieval/notices.js +27 -0
  257. package/dist-lib/lib/core/files/rag/retrieval/scoring.d.ts +8 -0
  258. package/dist-lib/lib/core/files/rag/retrieval/scoring.js +82 -0
  259. package/dist-lib/lib/core/files/rag/retrieval/search.d.ts +3 -0
  260. package/dist-lib/lib/core/files/rag/retrieval/search.js +46 -0
  261. package/dist-lib/lib/core/files/rag/retrieval/selection.d.ts +10 -0
  262. package/dist-lib/lib/core/files/rag/retrieval/selection.js +63 -0
  263. package/dist-lib/lib/core/files/rag/retrieval/source-tag-filter.d.ts +6 -0
  264. package/dist-lib/lib/core/files/rag/retrieval/source-tag-filter.js +79 -0
  265. package/dist-lib/lib/core/files/rag/retrieval/sources.d.ts +13 -0
  266. package/dist-lib/lib/core/files/rag/retrieval/sources.js +20 -0
  267. package/dist-lib/lib/core/files/rag/retrieval/target.d.ts +13 -0
  268. package/dist-lib/lib/core/files/rag/retrieval/target.js +89 -0
  269. package/dist-lib/lib/core/files/rag/retrieval/terms.d.ts +8 -0
  270. package/dist-lib/lib/core/files/rag/retrieval/terms.js +70 -0
  271. package/dist-lib/lib/core/files/rag/retrieval/types.d.ts +28 -0
  272. package/dist-lib/lib/core/files/rag/retrieval/types.js +1 -0
  273. package/dist-lib/lib/core/files/rag/retrieval/web-sources.d.ts +8 -0
  274. package/dist-lib/lib/core/files/rag/retrieval/web-sources.js +41 -0
  275. package/dist-lib/lib/core/files/rag/retrieval/whole-document-query.d.ts +1 -0
  276. package/dist-lib/lib/core/files/rag/retrieval/whole-document-query.js +96 -0
  277. package/dist-lib/lib/core/files/rag/vector/memory.d.ts +15 -0
  278. package/dist-lib/lib/core/files/rag/vector/memory.js +135 -0
  279. package/dist-lib/lib/core/files/rag/vector/types.d.ts +28 -0
  280. package/dist-lib/lib/core/files/rag/vector/types.js +1 -0
  281. package/dist-lib/lib/core/files/records/chunks.d.ts +3 -0
  282. package/dist-lib/lib/core/files/records/chunks.js +12 -0
  283. package/dist-lib/lib/core/files/records/index.d.ts +10 -0
  284. package/dist-lib/lib/core/files/records/index.js +8 -0
  285. package/dist-lib/lib/core/files/records/knowledge.d.ts +22 -0
  286. package/dist-lib/lib/core/files/records/knowledge.js +105 -0
  287. package/dist-lib/lib/core/files/records/linkage.d.ts +11 -0
  288. package/dist-lib/lib/core/files/records/linkage.js +27 -0
  289. package/dist-lib/lib/core/files/records/output.d.ts +8 -0
  290. package/dist-lib/lib/core/files/records/output.js +38 -0
  291. package/dist-lib/lib/core/files/records/reclaim.d.ts +5 -0
  292. package/dist-lib/lib/core/files/records/reclaim.js +73 -0
  293. package/dist-lib/lib/core/files/records/routing.d.ts +23 -0
  294. package/dist-lib/lib/core/files/records/routing.js +62 -0
  295. package/dist-lib/lib/core/files/records/source.d.ts +16 -0
  296. package/dist-lib/lib/core/files/records/source.js +70 -0
  297. package/dist-lib/lib/core/files/records/sweep.d.ts +2 -0
  298. package/dist-lib/lib/core/files/records/sweep.js +30 -0
  299. package/dist-lib/lib/core/files/store/blob.d.ts +29 -0
  300. package/dist-lib/lib/core/files/store/blob.js +98 -0
  301. package/dist-lib/lib/core/files/store/index.d.ts +36 -0
  302. package/dist-lib/lib/core/files/store/index.js +89 -0
  303. package/dist-lib/lib/core/files/store/inline.d.ts +8 -0
  304. package/dist-lib/lib/core/files/store/inline.js +38 -0
  305. package/dist-lib/lib/core/files/store/reference.d.ts +27 -0
  306. package/dist-lib/lib/core/files/store/reference.js +168 -0
  307. package/dist-lib/lib/core/files/store/server.d.ts +27 -0
  308. package/dist-lib/lib/core/files/store/server.js +114 -0
  309. package/dist-lib/lib/core/files/store/sweep.d.ts +2 -0
  310. package/dist-lib/lib/core/files/store/sweep.js +45 -0
  311. package/dist-lib/lib/core/files/upload-input.d.ts +27 -0
  312. package/dist-lib/lib/core/files/upload-input.js +52 -0
  313. package/dist-lib/lib/core/files/upload.d.ts +32 -0
  314. package/dist-lib/lib/core/files/upload.js +201 -0
  315. package/dist-lib/lib/core/fs-drives.d.ts +18 -0
  316. package/dist-lib/lib/core/fs-drives.js +58 -0
  317. package/dist-lib/lib/core/gpu-info-node.d.ts +3 -0
  318. package/dist-lib/lib/core/gpu-info-node.js +2 -0
  319. package/dist-lib/lib/core/handoff-channel.d.ts +46 -0
  320. package/dist-lib/lib/core/handoff-channel.js +102 -0
  321. package/dist-lib/lib/core/health-assistant.d.ts +7 -0
  322. package/dist-lib/lib/core/health-assistant.js +24 -0
  323. package/dist-lib/lib/core/helpers/index.d.ts +5 -0
  324. package/dist-lib/lib/core/helpers/index.js +74 -0
  325. package/dist-lib/lib/core/hosted-agents.d.ts +36 -0
  326. package/dist-lib/lib/core/hosted-agents.js +127 -0
  327. package/dist-lib/lib/core/id.d.ts +1 -0
  328. package/dist-lib/lib/core/id.js +5 -0
  329. package/dist-lib/lib/core/identity.d.ts +14 -0
  330. package/dist-lib/lib/core/identity.js +45 -0
  331. package/dist-lib/lib/core/image/cache-sweep.d.ts +12 -0
  332. package/dist-lib/lib/core/image/cache-sweep.js +67 -0
  333. package/dist-lib/lib/core/image/normalize.d.ts +3 -0
  334. package/dist-lib/lib/core/image/normalize.js +49 -0
  335. package/dist-lib/lib/core/image/sniff.d.ts +3 -0
  336. package/dist-lib/lib/core/image/sniff.js +149 -0
  337. package/dist-lib/lib/core/invite.d.ts +14 -0
  338. package/dist-lib/lib/core/invite.js +36 -0
  339. package/dist-lib/lib/core/local/index.d.ts +71 -0
  340. package/dist-lib/lib/core/local/index.js +391 -0
  341. package/dist-lib/lib/core/membership.d.ts +15 -0
  342. package/dist-lib/lib/core/membership.js +40 -0
  343. package/dist-lib/lib/core/mesh.d.ts +153 -0
  344. package/dist-lib/lib/core/mesh.js +509 -0
  345. package/dist-lib/lib/core/migrations/agent-catalog.d.ts +6 -0
  346. package/dist-lib/lib/core/migrations/agent-catalog.js +17 -0
  347. package/dist-lib/lib/core/migrations/index.d.ts +5 -0
  348. package/dist-lib/lib/core/migrations/index.js +7 -0
  349. package/dist-lib/lib/core/migrations/membership.d.ts +11 -0
  350. package/dist-lib/lib/core/migrations/membership.js +26 -0
  351. package/dist-lib/lib/core/min-version.d.ts +6 -0
  352. package/dist-lib/lib/core/min-version.js +31 -0
  353. package/dist-lib/lib/core/next-frame.d.ts +6 -0
  354. package/dist-lib/lib/core/next-frame.js +27 -0
  355. package/dist-lib/lib/core/notification.d.ts +6 -0
  356. package/dist-lib/lib/core/notification.js +162 -0
  357. package/dist-lib/lib/core/ota-config.d.ts +19 -0
  358. package/dist-lib/lib/core/ota-config.js +44 -0
  359. package/dist-lib/lib/core/prompt-history.d.ts +12 -0
  360. package/dist-lib/lib/core/prompt-history.js +40 -0
  361. package/dist-lib/lib/core/search-fold.d.ts +1 -0
  362. package/dist-lib/lib/core/search-fold.js +4 -0
  363. package/dist-lib/lib/core/secret-handoff.d.ts +17 -0
  364. package/dist-lib/lib/core/secret-handoff.js +29 -0
  365. package/dist-lib/lib/core/send.d.ts +18 -0
  366. package/dist-lib/lib/core/send.js +46 -0
  367. package/dist-lib/lib/core/skill-overlay-handoff.d.ts +25 -0
  368. package/dist-lib/lib/core/skill-overlay-handoff.js +50 -0
  369. package/dist-lib/lib/core/skill-overlay-receiver.d.ts +8 -0
  370. package/dist-lib/lib/core/skill-overlay-receiver.js +20 -0
  371. package/dist-lib/lib/core/skill-secrets.d.ts +25 -0
  372. package/dist-lib/lib/core/skill-secrets.js +79 -0
  373. package/dist-lib/lib/core/sync/chats.d.ts +3 -0
  374. package/dist-lib/lib/core/sync/chats.js +5 -0
  375. package/dist-lib/lib/core/sync/chunks.d.ts +9 -0
  376. package/dist-lib/lib/core/sync/chunks.js +16 -0
  377. package/dist-lib/lib/core/sync/devices.d.ts +4 -0
  378. package/dist-lib/lib/core/sync/devices.js +12 -0
  379. package/dist-lib/lib/core/sync/files.d.ts +16 -0
  380. package/dist-lib/lib/core/sync/files.js +109 -0
  381. package/dist-lib/lib/core/sync/index.d.ts +5 -0
  382. package/dist-lib/lib/core/sync/index.js +63 -0
  383. package/dist-lib/lib/core/sync-status.d.ts +17 -0
  384. package/dist-lib/lib/core/sync-status.js +129 -0
  385. package/dist-lib/lib/core/system-info.d.ts +24 -0
  386. package/dist-lib/lib/core/system-info.js +66 -0
  387. package/dist-lib/lib/core/tool-activity.d.ts +22 -0
  388. package/dist-lib/lib/core/tool-activity.js +39 -0
  389. package/dist-lib/lib/core/tool-configs.d.ts +13 -0
  390. package/dist-lib/lib/core/tool-configs.js +141 -0
  391. package/dist-lib/lib/core.d.ts +291 -0
  392. package/dist-lib/lib/core.js +2126 -0
  393. package/dist-lib/lib/credential-pusher.d.ts +67 -0
  394. package/dist-lib/lib/credential-pusher.js +290 -0
  395. package/dist-lib/lib/custom-model-pusher.d.ts +9 -0
  396. package/dist-lib/lib/custom-model-pusher.js +42 -0
  397. package/dist-lib/lib/custom-model-source.d.ts +15 -0
  398. package/dist-lib/lib/custom-model-source.js +46 -0
  399. package/dist-lib/lib/deadline.d.ts +9 -0
  400. package/dist-lib/lib/deadline.js +31 -0
  401. package/dist-lib/lib/diagnostics.d.ts +35 -0
  402. package/dist-lib/lib/diagnostics.js +14 -0
  403. package/dist-lib/lib/fetch-node.d.ts +1 -0
  404. package/dist-lib/lib/fetch-node.js +1 -0
  405. package/dist-lib/lib/fs-drive-bridge.d.ts +12 -0
  406. package/dist-lib/lib/fs-drive-bridge.js +186 -0
  407. package/dist-lib/lib/fs-grant-keys.d.ts +2 -0
  408. package/dist-lib/lib/fs-grant-keys.js +6 -0
  409. package/dist-lib/lib/fs-grants.d.ts +10 -0
  410. package/dist-lib/lib/fs-grants.js +44 -0
  411. package/dist-lib/lib/image-cache-dir.d.ts +1 -0
  412. package/dist-lib/lib/image-cache-dir.js +5 -0
  413. package/dist-lib/lib/integrations/index.d.ts +4 -0
  414. package/dist-lib/lib/integrations/index.js +3 -0
  415. package/dist-lib/lib/integrations/mcp-providers.d.ts +12 -0
  416. package/dist-lib/lib/integrations/mcp-providers.js +22 -0
  417. package/dist-lib/lib/integrations/oauth-providers.d.ts +14 -0
  418. package/dist-lib/lib/integrations/oauth-providers.js +116 -0
  419. package/dist-lib/lib/integrations/setup-routes.d.ts +12 -0
  420. package/dist-lib/lib/integrations/setup-routes.js +114 -0
  421. package/dist-lib/lib/knowledge-search.d.ts +7 -0
  422. package/dist-lib/lib/knowledge-search.js +53 -0
  423. package/dist-lib/lib/kv-cache-reclaim.d.ts +5 -0
  424. package/dist-lib/lib/kv-cache-reclaim.js +29 -0
  425. package/dist-lib/lib/kv-cache.d.ts +18 -0
  426. package/dist-lib/lib/kv-cache.js +33 -0
  427. package/dist-lib/lib/legacy-core-domain.d.ts +258 -0
  428. package/dist-lib/lib/legacy-core-domain.js +1 -0
  429. package/dist-lib/lib/llm-model-names.d.ts +1 -0
  430. package/dist-lib/lib/llm-model-names.js +1 -0
  431. package/dist-lib/lib/log-buffer.d.ts +7 -0
  432. package/dist-lib/lib/log-buffer.js +16 -0
  433. package/dist-lib/lib/log-levels.d.ts +7 -0
  434. package/dist-lib/lib/log-levels.js +1 -0
  435. package/dist-lib/lib/log.d.ts +60 -0
  436. package/dist-lib/lib/log.js +149 -0
  437. package/dist-lib/lib/logger-type.d.ts +13 -0
  438. package/dist-lib/lib/logger-type.js +1 -0
  439. package/dist-lib/lib/logger.d.ts +5 -0
  440. package/dist-lib/lib/logger.js +18 -0
  441. package/dist-lib/lib/model-catalog-revision.d.ts +9 -0
  442. package/dist-lib/lib/model-catalog-revision.js +65 -0
  443. package/dist-lib/lib/model-clamp.d.ts +6 -0
  444. package/dist-lib/lib/model-clamp.js +20 -0
  445. package/dist-lib/lib/model-context.d.ts +13 -0
  446. package/dist-lib/lib/model-context.js +71 -0
  447. package/dist-lib/lib/model-download-status.d.ts +29 -0
  448. package/dist-lib/lib/model-download-status.js +56 -0
  449. package/dist-lib/lib/model-download.d.ts +191 -0
  450. package/dist-lib/lib/model-download.js +787 -0
  451. package/dist-lib/lib/oauth/asana.d.ts +35 -0
  452. package/dist-lib/lib/oauth/asana.js +71 -0
  453. package/dist-lib/lib/oauth/browser-connect.d.ts +22 -0
  454. package/dist-lib/lib/oauth/browser-connect.js +83 -0
  455. package/dist-lib/lib/oauth/client.d.ts +9 -0
  456. package/dist-lib/lib/oauth/client.js +9 -0
  457. package/dist-lib/lib/oauth/common.d.ts +38 -0
  458. package/dist-lib/lib/oauth/common.js +36 -0
  459. package/dist-lib/lib/oauth/crypto.d.ts +3 -0
  460. package/dist-lib/lib/oauth/crypto.js +25 -0
  461. package/dist-lib/lib/oauth/fetch-platform.d.ts +1 -0
  462. package/dist-lib/lib/oauth/fetch-platform.js +1 -0
  463. package/dist-lib/lib/oauth/flow-core.d.ts +6 -0
  464. package/dist-lib/lib/oauth/flow-core.js +37 -0
  465. package/dist-lib/lib/oauth/flow.d.ts +3 -0
  466. package/dist-lib/lib/oauth/flow.js +24 -0
  467. package/dist-lib/lib/oauth/google.d.ts +37 -0
  468. package/dist-lib/lib/oauth/google.js +77 -0
  469. package/dist-lib/lib/oauth/host.d.ts +5 -0
  470. package/dist-lib/lib/oauth/host.js +3 -0
  471. package/dist-lib/lib/oauth/keys.d.ts +25 -0
  472. package/dist-lib/lib/oauth/keys.js +93 -0
  473. package/dist-lib/lib/oauth/loopback.d.ts +3 -0
  474. package/dist-lib/lib/oauth/loopback.js +119 -0
  475. package/dist-lib/lib/oauth/loopback.stub.d.ts +3 -0
  476. package/dist-lib/lib/oauth/loopback.stub.js +6 -0
  477. package/dist-lib/lib/oauth/notion.d.ts +34 -0
  478. package/dist-lib/lib/oauth/notion.js +82 -0
  479. package/dist-lib/lib/oauth/pkce-runtime.d.ts +3 -0
  480. package/dist-lib/lib/oauth/pkce-runtime.js +5 -0
  481. package/dist-lib/lib/oauth/pkce.d.ts +8 -0
  482. package/dist-lib/lib/oauth/pkce.js +6 -0
  483. package/dist-lib/lib/oauth/providers.d.ts +5 -0
  484. package/dist-lib/lib/oauth/providers.js +73 -0
  485. package/dist-lib/lib/oauth/redirect-types.d.ts +19 -0
  486. package/dist-lib/lib/oauth/redirect-types.js +1 -0
  487. package/dist-lib/lib/oauth/register.d.ts +3 -0
  488. package/dist-lib/lib/oauth/register.js +34 -0
  489. package/dist-lib/lib/oauth/resolve.d.ts +17 -0
  490. package/dist-lib/lib/oauth/resolve.js +57 -0
  491. package/dist-lib/lib/oauth/spotify.d.ts +32 -0
  492. package/dist-lib/lib/oauth/spotify.js +73 -0
  493. package/dist-lib/lib/oauth/token-exchange-core.d.ts +6 -0
  494. package/dist-lib/lib/oauth/token-exchange-core.js +97 -0
  495. package/dist-lib/lib/oauth/token-exchange.d.ts +5 -0
  496. package/dist-lib/lib/oauth/token-exchange.js +9 -0
  497. package/dist-lib/lib/oauth/types.d.ts +54 -0
  498. package/dist-lib/lib/oauth/types.js +1 -0
  499. package/dist-lib/lib/oauth.client.d.ts +5 -0
  500. package/dist-lib/lib/oauth.client.js +2 -0
  501. package/dist-lib/lib/oauth.d.ts +14 -0
  502. package/dist-lib/lib/oauth.js +12 -0
  503. package/dist-lib/lib/obsidian-key.d.ts +1 -0
  504. package/dist-lib/lib/obsidian-key.js +1 -0
  505. package/dist-lib/lib/race-resource.d.ts +5 -0
  506. package/dist-lib/lib/race-resource.js +25 -0
  507. package/dist-lib/lib/reconnecting-watch.d.ts +2 -0
  508. package/dist-lib/lib/reconnecting-watch.js +78 -0
  509. package/dist-lib/lib/retry-budget.d.ts +14 -0
  510. package/dist-lib/lib/retry-budget.js +39 -0
  511. package/dist-lib/lib/run-notices.d.ts +23 -0
  512. package/dist-lib/lib/run-notices.js +33 -0
  513. package/dist-lib/lib/run-transcript.d.ts +35 -0
  514. package/dist-lib/lib/run-transcript.js +106 -0
  515. package/dist-lib/lib/skill-readiness.d.ts +2 -0
  516. package/dist-lib/lib/skill-readiness.js +21 -0
  517. package/dist-lib/lib/skill-types.d.ts +70 -0
  518. package/dist-lib/lib/skill-types.js +1 -0
  519. package/dist-lib/lib/spec-loader.d.ts +14 -0
  520. package/dist-lib/lib/spec-loader.js +9 -0
  521. package/dist-lib/lib/suspend-lifecycle.d.ts +17 -0
  522. package/dist-lib/lib/suspend-lifecycle.js +33 -0
  523. package/dist-lib/lib/task.d.ts +26 -0
  524. package/dist-lib/lib/task.js +69 -0
  525. package/dist-lib/lib/unref.d.ts +3 -0
  526. package/dist-lib/lib/unref.js +4 -0
  527. package/dist-lib/lib/wav-duration.d.ts +1 -0
  528. package/dist-lib/lib/wav-duration.js +53 -0
  529. package/dist-lib/lib/write-queue.d.ts +22 -0
  530. package/dist-lib/lib/write-queue.js +39 -0
  531. package/dist-lib/schema/build.d.ts +1 -0
  532. package/dist-lib/schema/build.js +120 -0
  533. package/dist-lib/schema/config.d.ts +4 -0
  534. package/dist-lib/schema/config.js +7 -0
  535. package/dist-lib/schema/content.d.ts +20 -0
  536. package/dist-lib/schema/content.js +122 -0
  537. package/dist-lib/schema/engine.d.ts +2 -0
  538. package/dist-lib/schema/engine.js +2013 -0
  539. package/dist-lib/schema/field-order.d.ts +1 -0
  540. package/dist-lib/schema/field-order.js +95 -0
  541. package/dist-lib/schema/helpers.d.ts +28 -0
  542. package/dist-lib/schema/helpers.js +176 -0
  543. package/dist-lib/schema/local.d.ts +2 -0
  544. package/dist-lib/schema/local.js +133 -0
  545. package/dist-lib/schema/qvac.d.ts +22 -0
  546. package/dist-lib/schema/qvac.js +722 -0
  547. package/dist-lib/schema/vendor.d.ts +5 -0
  548. package/dist-lib/spec/bind.d.ts +2 -0
  549. package/dist-lib/spec/bind.js +520 -0
  550. package/dist-lib/spec/calls.d.ts +3 -0
  551. package/dist-lib/spec/calls.js +129 -0
  552. package/dist-lib/spec/capabilities.d.ts +263 -0
  553. package/dist-lib/spec/config/hyperconf/index.d.ts +15 -0
  554. package/dist-lib/spec/config/hyperconf/index.js +24 -0
  555. package/dist-lib/spec/config/hyperconf/package.json +3 -0
  556. package/dist-lib/spec/config/hyperschema/index.js +81 -0
  557. package/dist-lib/spec/config/hyperschema/schema.json +19 -0
  558. package/dist-lib/spec/hrpc/hrpc.json +1500 -0
  559. package/dist-lib/spec/hrpc/index.d.ts +3 -0
  560. package/dist-lib/spec/hrpc/index.js +1545 -0
  561. package/dist-lib/spec/hrpc/messages.d.ts +4 -0
  562. package/dist-lib/spec/hrpc/messages.js +8373 -0
  563. package/dist-lib/spec/hyperschema/index.d.ts +20 -0
  564. package/dist-lib/spec/hyperschema/index.js +8373 -0
  565. package/dist-lib/spec/hyperschema/schema.json +6202 -0
  566. package/dist-lib/spec/hyperschema/types.d.ts +1545 -0
  567. package/dist-lib/spec/index.d.ts +36 -0
  568. package/dist-lib/spec/index.js +6 -0
  569. package/dist-lib/spec/local/hyperdb/db.json +186 -0
  570. package/dist-lib/spec/local/hyperdb/index.d.ts +9 -0
  571. package/dist-lib/spec/local/hyperdb/index.js +855 -0
  572. package/dist-lib/spec/local/hyperdb/messages.js +2189 -0
  573. package/dist-lib/spec/local/hyperschema/index.js +1208 -0
  574. package/dist-lib/spec/local/hyperschema/schema.json +639 -0
  575. package/dist-lib/spec/local/hyperschema/types.d.ts +159 -0
  576. package/dist-lib/spec/mesh/hyperdb/db.json +702 -0
  577. package/dist-lib/spec/mesh/hyperdb/index.d.ts +9 -0
  578. package/dist-lib/spec/mesh/hyperdb/index.js +2260 -0
  579. package/dist-lib/spec/mesh/hyperdb/messages.js +7453 -0
  580. package/dist-lib/spec/mesh/hyperdispatch/dispatch.json +174 -0
  581. package/dist-lib/spec/mesh/hyperdispatch/index.d.ts +13 -0
  582. package/dist-lib/spec/mesh/hyperdispatch/index.js +566 -0
  583. package/dist-lib/spec/mesh/hyperdispatch/messages.js +5713 -0
  584. package/dist-lib/spec/mesh/hyperschema/index.d.ts +14 -0
  585. package/dist-lib/spec/mesh/hyperschema/index.js +5713 -0
  586. package/dist-lib/spec/mesh/hyperschema/schema.json +3142 -0
  587. package/dist-lib/spec/mesh/hyperschema/types.d.ts +754 -0
  588. package/ducks.png +0 -0
  589. package/package.json +336 -1
@@ -0,0 +1,18 @@
1
+ import type { Capabilities } from '../spec/capabilities.d.ts';
2
+ export type KvCacheDeletionResult = {
3
+ status: 'success';
4
+ } | {
5
+ status: 'failure';
6
+ error: string;
7
+ } | {
8
+ status: 'unsupported';
9
+ error: string;
10
+ };
11
+ interface LegacyCompatibleClient {
12
+ clearKvCache?: Capabilities['clearKvCache'];
13
+ deleteChatKvCache?: Capabilities['deleteChatKvCache'];
14
+ deviceInfo?: Capabilities['deviceInfo'];
15
+ }
16
+ export declare function clearKvCache(client: LegacyCompatibleClient): Promise<KvCacheDeletionResult>;
17
+ export declare function deleteChatKvCache(client: LegacyCompatibleClient, chatId: string): Promise<KvCacheDeletionResult>;
18
+ export {};
@@ -0,0 +1,33 @@
1
+ export async function clearKvCache(client) {
2
+ const clear = client.clearKvCache?.bind(client);
3
+ return deleteWhenSupported(client, clear);
4
+ }
5
+ export async function deleteChatKvCache(client, chatId) {
6
+ const remove = client.deleteChatKvCache?.bind(client);
7
+ return deleteWhenSupported(client, remove && (() => remove({ id: chatId })));
8
+ }
9
+ async function deleteWhenSupported(client, deletion) {
10
+ if (!client.deviceInfo || !deletion)
11
+ return unsupported();
12
+ try {
13
+ const info = await client.deviceInfo();
14
+ if (info.supportsKvCacheDeletion !== true)
15
+ return unsupported();
16
+ const response = await deletion();
17
+ if (response.status === 'success')
18
+ return { status: 'success' };
19
+ if (response.status === 'failure') {
20
+ return { status: 'failure', error: response.error ?? 'Core KV cache deletion failed' };
21
+ }
22
+ return unsupported(response.error);
23
+ }
24
+ catch (error) {
25
+ return {
26
+ status: 'failure',
27
+ error: error instanceof Error ? error.message : String(error)
28
+ };
29
+ }
30
+ }
31
+ function unsupported(error) {
32
+ return { status: 'unsupported', error: error ?? 'Core does not support KV cache deletion' };
33
+ }
@@ -0,0 +1,258 @@
1
+ import type { ImageModelChoice } from '@qvac/harness/model-catalog';
2
+ export type Attachment = {
3
+ readonly id: string;
4
+ readonly messageId: string;
5
+ readonly fileName: string;
6
+ readonly mimeType: string;
7
+ readonly byteLength: number;
8
+ readonly blobId: string;
9
+ readonly createdAt: number;
10
+ };
11
+ export type DelegationCapabilities = {
12
+ chat: boolean;
13
+ transcription: boolean;
14
+ tts: boolean;
15
+ embeddings: boolean;
16
+ knowledge: boolean;
17
+ };
18
+ export type DelegationConfig = {
19
+ enabled: boolean;
20
+ targetDeviceId: string | null;
21
+ targetAgentId: string | null;
22
+ capabilities: DelegationCapabilities;
23
+ };
24
+ export type JsonPrimitive = string | number | boolean | null;
25
+ export type JsonValue = JsonPrimitive | JsonObject | ReadonlyArray<JsonValue>;
26
+ export type JsonObject = {
27
+ readonly [key: string]: JsonValue;
28
+ };
29
+ export type ToolCallData = {
30
+ readonly id: string;
31
+ readonly name: string;
32
+ readonly arguments: JsonObject;
33
+ };
34
+ export type ToolCallErrorData = {
35
+ readonly code: string;
36
+ readonly message: string;
37
+ };
38
+ export type InferenceMetrics = {
39
+ readonly ttft: number;
40
+ readonly tps: number;
41
+ readonly totalTokens: number;
42
+ readonly durationMs: number;
43
+ readonly promptTokens: number | null;
44
+ readonly cacheTokens: number | null;
45
+ };
46
+ export type RagSourceData = {
47
+ readonly label: string;
48
+ readonly fileName: string;
49
+ readonly chunkIndex: number;
50
+ readonly excerpt: string;
51
+ readonly attachmentId: string | null;
52
+ readonly artifactId: string | null;
53
+ readonly documentId: string | null;
54
+ readonly score: number;
55
+ };
56
+ export type ToolApprovalRequest = {
57
+ readonly id: string;
58
+ readonly toolCallId?: string | undefined;
59
+ readonly runId?: string | null | undefined;
60
+ readonly toolName: string;
61
+ readonly action?: string | undefined;
62
+ readonly args: JsonObject;
63
+ };
64
+ export type StreamEvent = {
65
+ readonly type: 'thinking';
66
+ readonly token: string;
67
+ } | {
68
+ readonly type: 'content';
69
+ readonly token: string;
70
+ } | {
71
+ readonly type: 'tool-call';
72
+ readonly call: ToolCallData;
73
+ } | {
74
+ readonly type: 'tool-call-error';
75
+ readonly error: ToolCallErrorData;
76
+ } | {
77
+ readonly type: 'metrics';
78
+ readonly metrics: InferenceMetrics;
79
+ } | {
80
+ readonly type: 'tool-approval-request';
81
+ readonly request: ToolApprovalRequest;
82
+ } | {
83
+ readonly type: 'tool-exec-start';
84
+ readonly id: string;
85
+ readonly command: string;
86
+ } | {
87
+ readonly type: 'tool-exec-output';
88
+ readonly id: string;
89
+ readonly data: string;
90
+ } | {
91
+ readonly type: 'tool-exec-done';
92
+ readonly id: string;
93
+ readonly exitCode: number;
94
+ readonly durationMs: number;
95
+ } | {
96
+ readonly type: 'tool-result';
97
+ readonly id: string;
98
+ readonly name: string;
99
+ readonly data: JsonObject;
100
+ } | {
101
+ readonly type: 'turn-start';
102
+ } | {
103
+ readonly type: 'model-loading';
104
+ readonly modelName: string;
105
+ } | {
106
+ readonly type: 'model-loaded';
107
+ readonly modelName: string;
108
+ } | {
109
+ readonly type: 'image-model-loading';
110
+ readonly choice: ImageModelChoice;
111
+ } | {
112
+ readonly type: 'image-model-load-progress';
113
+ readonly choice: ImageModelChoice;
114
+ readonly downloaded: number;
115
+ readonly total: number;
116
+ readonly percentage: number;
117
+ } | {
118
+ readonly type: 'image-model-loaded';
119
+ readonly choice: ImageModelChoice;
120
+ readonly ok: boolean;
121
+ } | {
122
+ readonly type: 'image-generation-progress';
123
+ readonly id: string;
124
+ readonly percentage: number;
125
+ } | {
126
+ readonly type: 'vision-processing';
127
+ readonly fileName: string;
128
+ } | {
129
+ readonly type: 'vision-done';
130
+ } | {
131
+ readonly type: 'vision-error';
132
+ readonly fileName: string;
133
+ readonly reason: string;
134
+ } | {
135
+ readonly type: 'audio-transcribing';
136
+ readonly fileName: string;
137
+ } | {
138
+ readonly type: 'audio-done';
139
+ } | {
140
+ readonly type: 'ocr-processing';
141
+ readonly fileName: string;
142
+ } | {
143
+ readonly type: 'ocr-done';
144
+ readonly fileName: string;
145
+ readonly blockCount: number;
146
+ } | {
147
+ readonly type: 'rag-sources';
148
+ readonly sources: ReadonlyArray<RagSourceData>;
149
+ } | {
150
+ readonly type: 'rag-notice';
151
+ readonly message: string;
152
+ } | {
153
+ readonly type: 'web-search-start';
154
+ readonly id: string;
155
+ readonly query: string;
156
+ } | {
157
+ readonly type: 'web-search-done';
158
+ readonly id: string;
159
+ readonly resultCount: number;
160
+ readonly engineSummary: ReadonlyArray<{
161
+ readonly engine: string;
162
+ readonly status: 'ok' | 'timeout' | 'error';
163
+ readonly resultCount: number;
164
+ }>;
165
+ };
166
+ export type LocalStreamEvent = {
167
+ readonly runId: string;
168
+ readonly chatId: string;
169
+ readonly event: StreamEvent;
170
+ };
171
+ export type RemoteStreamEvent = {
172
+ readonly taskId: string;
173
+ readonly chatId: string;
174
+ readonly event: StreamEvent | {
175
+ readonly type: 'done';
176
+ };
177
+ readonly targetDeviceId?: string | undefined;
178
+ };
179
+ export type NetworkAddress = {
180
+ readonly host: string;
181
+ readonly port: number;
182
+ };
183
+ export type DhtConnectionStat = {
184
+ readonly host: string | null;
185
+ readonly port: number | null;
186
+ readonly online: boolean | null;
187
+ readonly degraded: boolean | null;
188
+ readonly connections: number;
189
+ readonly peers: ReadonlyArray<string>;
190
+ };
191
+ export type DhtHealthStat = {
192
+ readonly online: boolean;
193
+ readonly degraded: boolean;
194
+ readonly cold: boolean;
195
+ readonly idle: boolean;
196
+ readonly responses: number;
197
+ readonly timeouts: number;
198
+ readonly timeoutsRate: number;
199
+ };
200
+ export type DhtConfigStat = {
201
+ readonly concurrency: number;
202
+ readonly maxWindow: number;
203
+ readonly randomPunchInterval: number;
204
+ readonly connectionKeepAlive: number;
205
+ readonly sendDownHints: boolean;
206
+ readonly downHintsRateLimit: number;
207
+ };
208
+ export type NetworkStat = {
209
+ readonly tick: number;
210
+ readonly localAddress: NetworkAddress | null;
211
+ readonly remoteAddress: NetworkAddress | null;
212
+ readonly connection: DhtConnectionStat;
213
+ readonly stats: Record<string, unknown>;
214
+ readonly health: DhtHealthStat;
215
+ readonly nodes: number;
216
+ readonly config: DhtConfigStat;
217
+ };
218
+ export type ProcessMemoryStat = {
219
+ readonly percent: number;
220
+ readonly rss: number;
221
+ readonly total: number;
222
+ readonly heapPercent: number;
223
+ readonly heapUsed: number;
224
+ readonly heapTotal: number;
225
+ readonly external: number;
226
+ };
227
+ export type ProcessStat = {
228
+ readonly timestamp: string;
229
+ readonly cpu: number;
230
+ readonly cpuThread: number;
231
+ readonly cpus: number;
232
+ readonly memory: ProcessMemoryStat;
233
+ readonly delay: number;
234
+ readonly runtime: number;
235
+ };
236
+ export type MeshStat = {
237
+ readonly head: {
238
+ readonly key: string;
239
+ readonly length: number;
240
+ };
241
+ readonly system?: {
242
+ readonly key: string | null;
243
+ readonly length: number;
244
+ };
245
+ readonly flushes?: number;
246
+ readonly writable: boolean;
247
+ };
248
+ export type MemoryBudgetStat = {
249
+ readonly totalBytes: number;
250
+ readonly availableBytes: number;
251
+ readonly source: string;
252
+ };
253
+ export type ModelEvictionPolicyId = 'single-active' | 'lru' | 'keep-during-turn';
254
+ export type ModelLifecycleConfig = {
255
+ readonly policy: ModelEvictionPolicyId;
256
+ readonly cap: number;
257
+ readonly unloadTimeoutMs?: number;
258
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export { QWEN_35_2B, QWEN_35_4B, QWEN_35_9B, QWEN_36_27B, QWEN_36_35B_A3B, QWEN_38_27B, MEDPSY_1_7B, MEDPSY_4B } from '@qvac/harness/model-catalog';
@@ -0,0 +1 @@
1
+ export { QWEN_35_2B, QWEN_35_4B, QWEN_35_9B, QWEN_36_27B, QWEN_36_35B_A3B, QWEN_38_27B, MEDPSY_1_7B, MEDPSY_4B } from '@qvac/harness/model-catalog';
@@ -0,0 +1,7 @@
1
+ export declare class LogBuffer<T> {
2
+ private readonly _items;
3
+ private readonly _cap;
4
+ constructor(cap: number);
5
+ push(item: T): void;
6
+ snapshot(): ReadonlyArray<T>;
7
+ }
@@ -0,0 +1,16 @@
1
+ export class LogBuffer {
2
+ _items;
3
+ _cap;
4
+ constructor(cap) {
5
+ this._items = [];
6
+ this._cap = cap;
7
+ }
8
+ push(item) {
9
+ this._items.push(item);
10
+ if (this._items.length > this._cap)
11
+ this._items.shift();
12
+ }
13
+ snapshot() {
14
+ return [...this._items];
15
+ }
16
+ }
@@ -0,0 +1,7 @@
1
+ export declare const LEVELS: {
2
+ debug: number;
3
+ info: number;
4
+ warn: number;
5
+ error: number;
6
+ };
7
+ export type LogLevel = keyof typeof LEVELS;
@@ -0,0 +1 @@
1
+ export const LEVELS = { debug: 0, info: 1, warn: 2, error: 3 };
@@ -0,0 +1,60 @@
1
+ import { type LogLevel } from './log-levels.ts';
2
+ export { LEVELS } from './log-levels.ts';
3
+ export type { LogLevel } from './log-levels.ts';
4
+ export type LogOrigin = 'core' | 'client';
5
+ export interface LogRecord {
6
+ readonly seq: number;
7
+ readonly at: number;
8
+ readonly level: LogLevel;
9
+ readonly scope: ReadonlyArray<string>;
10
+ readonly message: string;
11
+ readonly origin: LogOrigin;
12
+ readonly originDeviceId?: Buffer | undefined;
13
+ }
14
+ export interface LogClientInput {
15
+ readonly level: LogLevel;
16
+ readonly scope: ReadonlyArray<string>;
17
+ readonly message: string;
18
+ readonly at: number;
19
+ readonly originDeviceId?: Buffer;
20
+ }
21
+ export interface LoggerOptions {
22
+ dev?: boolean;
23
+ verbose?: boolean | undefined;
24
+ logFile?: string | undefined;
25
+ logLevel?: LogLevel | undefined;
26
+ logFileMaxSize?: number;
27
+ }
28
+ export interface LogFlags {
29
+ logFile?: string | undefined;
30
+ logLevel?: string | undefined;
31
+ logVerbose?: boolean | undefined;
32
+ }
33
+ export declare function isLogLevel(value: unknown): value is LogLevel;
34
+ export declare function toLoggerOptions(flags: LogFlags): LoggerOptions;
35
+ export declare class Logger {
36
+ private _muted;
37
+ private _dev;
38
+ private _verbose;
39
+ private _level;
40
+ private _system;
41
+ private _file;
42
+ private _seq;
43
+ private readonly _subscribers;
44
+ private readonly _buffer;
45
+ constructor({ dev, verbose, logFile, logLevel, logFileMaxSize }?: LoggerOptions);
46
+ mute(): void;
47
+ unmute(): void;
48
+ debug(...args: unknown[]): void;
49
+ info(...args: unknown[]): void;
50
+ warn(...args: unknown[]): void;
51
+ error(...args: unknown[]): void;
52
+ subscribe(listener: (record: LogRecord) => void): void;
53
+ unsubscribe(listener: (record: LogRecord) => void): void;
54
+ backfill(): ReadonlyArray<LogRecord>;
55
+ onRotate(listener: (path: string, archived: string | null) => void): void;
56
+ close(): void;
57
+ appendClient(input: LogClientInput): void;
58
+ _write(level: LogLevel, ...args: unknown[]): void;
59
+ private _sink;
60
+ }
@@ -0,0 +1,149 @@
1
+ import fs from 'fs';
2
+ import { dirname } from 'path';
3
+ import FileLog from 'bare-file-logger';
4
+ import SystemLog from 'bare-system-logger';
5
+ import { LogBuffer } from "./log-buffer.js";
6
+ import { LEVELS } from "./log-levels.js";
7
+ export { LEVELS } from "./log-levels.js";
8
+ const SCOPE = 'qvac-app-core';
9
+ const LOG_BUFFER_CAP = 1000;
10
+ export function isLogLevel(value) {
11
+ return typeof value === 'string' && value in LEVELS;
12
+ }
13
+ export function toLoggerOptions(flags) {
14
+ return {
15
+ logFile: flags.logFile || undefined,
16
+ logLevel: isLogLevel(flags.logLevel) ? flags.logLevel : undefined,
17
+ verbose: flags.logVerbose ? true : undefined
18
+ };
19
+ }
20
+ export class Logger {
21
+ _muted;
22
+ _dev;
23
+ _verbose;
24
+ _level;
25
+ _system;
26
+ _file;
27
+ _seq;
28
+ _subscribers;
29
+ _buffer;
30
+ constructor({ dev = false, verbose = false, logFile, logLevel = 'info', logFileMaxSize } = {}) {
31
+ this._muted = false;
32
+ this._dev = dev;
33
+ this._verbose = verbose;
34
+ this._level = LEVELS[logLevel] ?? LEVELS.info;
35
+ this._system = new SystemLog();
36
+ if (logFile)
37
+ fs.mkdirSync(dirname(logFile), { recursive: true });
38
+ this._file = logFile
39
+ ? new FileLog(logFile, {
40
+ maxSize: logFileMaxSize || 100_000_000,
41
+ rotate: (path) => `${path}.1`
42
+ })
43
+ : null;
44
+ this._seq = 0;
45
+ this._subscribers = new Set();
46
+ this._buffer = new LogBuffer(LOG_BUFFER_CAP);
47
+ }
48
+ mute() {
49
+ this._muted = true;
50
+ }
51
+ unmute() {
52
+ this._muted = false;
53
+ }
54
+ debug(...args) {
55
+ this._write('debug', ...args);
56
+ }
57
+ info(...args) {
58
+ this._write('info', ...args);
59
+ }
60
+ warn(...args) {
61
+ this._write('warn', ...args);
62
+ }
63
+ error(...args) {
64
+ this._write('error', ...args);
65
+ }
66
+ subscribe(listener) {
67
+ this._subscribers.add(listener);
68
+ }
69
+ unsubscribe(listener) {
70
+ this._subscribers.delete(listener);
71
+ }
72
+ backfill() {
73
+ return this._buffer.snapshot();
74
+ }
75
+ onRotate(listener) {
76
+ this._file?.on('rotate', listener);
77
+ }
78
+ close() {
79
+ this._file?.close();
80
+ this._file = null;
81
+ }
82
+ appendClient(input) {
83
+ if (this._muted)
84
+ return;
85
+ this._sink({
86
+ level: input.level,
87
+ scope: [...input.scope],
88
+ message: input.message,
89
+ origin: 'client',
90
+ originDeviceId: input.originDeviceId,
91
+ at: input.at
92
+ });
93
+ }
94
+ _write(level, ...args) {
95
+ if (this._muted || LEVELS[level] < this._level)
96
+ return;
97
+ this._sink({ level, ...toParts(args), origin: 'core', at: Date.now() });
98
+ }
99
+ _sink(parts) {
100
+ const record = { ...parts, seq: this._seq++ };
101
+ const rendered = renderRecord(record);
102
+ if (this._verbose || (this._dev && this._level === LEVELS.debug)) {
103
+ const log = console[record.level] || console.log;
104
+ log(...rendered);
105
+ }
106
+ this._system[record.level](...rendered);
107
+ if (this._file)
108
+ this._file[record.level](...rendered);
109
+ this._buffer.push(record);
110
+ for (const listener of this._subscribers)
111
+ listener(record);
112
+ }
113
+ }
114
+ function renderRecord(record) {
115
+ const tags = [SCOPE, ...record.scope];
116
+ if (record.origin === 'client') {
117
+ tags.push(record.originDeviceId
118
+ ? `client:${record.originDeviceId.toString('hex').slice(0, 8)}`
119
+ : 'client');
120
+ }
121
+ return [`[${tags.join(':')}]`, new Date(record.at).toISOString(), '-', record.message];
122
+ }
123
+ function toParts(args) {
124
+ const [rawScope, rawMessage, ...rest] = args;
125
+ const scope = typeof rawScope === 'string'
126
+ ? [rawScope]
127
+ : Array.isArray(rawScope) && rawScope.every((s) => typeof s === 'string')
128
+ ? [...rawScope]
129
+ : [];
130
+ const head = typeof rawMessage === 'string'
131
+ ? rawMessage
132
+ : rawMessage === undefined
133
+ ? ''
134
+ : formatArg(rawMessage);
135
+ const tail = rest.map(formatArg).join(' ');
136
+ return { scope, message: tail ? `${head} ${tail}`.trim() : head };
137
+ }
138
+ function formatArg(value) {
139
+ if (typeof value === 'string')
140
+ return value;
141
+ if (value instanceof Error)
142
+ return value.stack ?? value.message;
143
+ try {
144
+ return JSON.stringify(value) ?? String(value);
145
+ }
146
+ catch {
147
+ return String(value);
148
+ }
149
+ }
@@ -0,0 +1,13 @@
1
+ import type { LogClientInput, LogRecord } from './log.ts';
2
+ export interface Logger {
3
+ debug(...args: unknown[]): void;
4
+ info(...args: unknown[]): void;
5
+ warn(...args: unknown[]): void;
6
+ error(...args: unknown[]): void;
7
+ mute(): void;
8
+ unmute(): void;
9
+ subscribe(listener: (record: LogRecord) => void): void;
10
+ unsubscribe(listener: (record: LogRecord) => void): void;
11
+ backfill(): ReadonlyArray<LogRecord>;
12
+ appendClient(input: LogClientInput): void;
13
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { Logger } from './logger-type.ts';
2
+ declare global {
3
+ var logger: Logger;
4
+ }
5
+ export declare function setLogger(next: Logger | null): void;
@@ -0,0 +1,18 @@
1
+ const silent = {
2
+ debug() { },
3
+ info() { },
4
+ warn() { },
5
+ error() { },
6
+ mute() { },
7
+ unmute() { },
8
+ subscribe() { },
9
+ unsubscribe() { },
10
+ backfill() {
11
+ return [];
12
+ },
13
+ appendClient() { }
14
+ };
15
+ globalThis.logger ??= silent;
16
+ export function setLogger(next) {
17
+ globalThis.logger = next ?? silent;
18
+ }
@@ -0,0 +1,9 @@
1
+ import type { AssistantModelCatalogRevision } from '../spec/hyperschema/types.d.ts';
2
+ export declare class ModelCatalogRevisionHub {
3
+ private readonly _listeners;
4
+ private _revision;
5
+ private _closed;
6
+ notify(): void;
7
+ watch(): AsyncIterable<AssistantModelCatalogRevision>;
8
+ close(): void;
9
+ }
@@ -0,0 +1,65 @@
1
+ export class ModelCatalogRevisionHub {
2
+ _listeners = new Set();
3
+ _revision = 0;
4
+ _closed = false;
5
+ notify() {
6
+ if (this._closed)
7
+ return;
8
+ this._revision += 1;
9
+ for (const listener of this._listeners)
10
+ listener();
11
+ }
12
+ watch() {
13
+ const hub = this;
14
+ let observed = -1;
15
+ let ended = false;
16
+ let pending = null;
17
+ const done = () => ({
18
+ value: undefined,
19
+ done: true
20
+ });
21
+ const onChange = () => {
22
+ if (!pending)
23
+ return;
24
+ const next = pending;
25
+ pending = null;
26
+ if (ended || hub._closed) {
27
+ next.resolve(done());
28
+ return;
29
+ }
30
+ observed = hub._revision;
31
+ next.resolve({ value: { revision: observed }, done: false });
32
+ };
33
+ hub._listeners.add(onChange);
34
+ const iterator = {
35
+ next() {
36
+ if (ended || hub._closed)
37
+ return Promise.resolve(done());
38
+ if (observed !== hub._revision) {
39
+ observed = hub._revision;
40
+ return Promise.resolve({ value: { revision: observed }, done: false });
41
+ }
42
+ pending ??= Promise.withResolvers();
43
+ return pending.promise;
44
+ },
45
+ return() {
46
+ ended = true;
47
+ hub._listeners.delete(onChange);
48
+ pending?.resolve(done());
49
+ pending = null;
50
+ return Promise.resolve(done());
51
+ }
52
+ };
53
+ return {
54
+ [Symbol.asyncIterator]: () => iterator
55
+ };
56
+ }
57
+ close() {
58
+ if (this._closed)
59
+ return;
60
+ this._closed = true;
61
+ for (const listener of this._listeners)
62
+ listener();
63
+ this._listeners.clear();
64
+ }
65
+ }
@@ -0,0 +1,6 @@
1
+ export interface HostCapability {
2
+ readonly capabilityProfile: string;
3
+ readonly recommendedModelName: string;
4
+ }
5
+ export declare function isMobilePlatform(platform: string): boolean;
6
+ export declare function runnableModelName(requested: string, host: HostCapability | null, mobileClass: boolean): string;