@qvac/core 0.0.0 → 0.1.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 (586) 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 +47256 -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/local.d.ts +2 -0
  542. package/dist-lib/schema/local.js +133 -0
  543. package/dist-lib/schema/qvac.d.ts +22 -0
  544. package/dist-lib/schema/qvac.js +722 -0
  545. package/dist-lib/spec/bind.d.ts +2 -0
  546. package/dist-lib/spec/bind.js +520 -0
  547. package/dist-lib/spec/calls.d.ts +3 -0
  548. package/dist-lib/spec/calls.js +129 -0
  549. package/dist-lib/spec/capabilities.d.ts +263 -0
  550. package/dist-lib/spec/config/hyperconf/index.d.ts +15 -0
  551. package/dist-lib/spec/config/hyperconf/index.js +24 -0
  552. package/dist-lib/spec/config/hyperconf/package.json +3 -0
  553. package/dist-lib/spec/config/hyperschema/index.js +81 -0
  554. package/dist-lib/spec/config/hyperschema/schema.json +19 -0
  555. package/dist-lib/spec/hrpc/hrpc.json +1500 -0
  556. package/dist-lib/spec/hrpc/index.d.ts +3 -0
  557. package/dist-lib/spec/hrpc/index.js +1545 -0
  558. package/dist-lib/spec/hrpc/messages.d.ts +4 -0
  559. package/dist-lib/spec/hrpc/messages.js +8373 -0
  560. package/dist-lib/spec/hyperschema/index.d.ts +20 -0
  561. package/dist-lib/spec/hyperschema/index.js +8373 -0
  562. package/dist-lib/spec/hyperschema/schema.json +6202 -0
  563. package/dist-lib/spec/hyperschema/types.d.ts +1545 -0
  564. package/dist-lib/spec/index.d.ts +36 -0
  565. package/dist-lib/spec/index.js +6 -0
  566. package/dist-lib/spec/local/hyperdb/db.json +186 -0
  567. package/dist-lib/spec/local/hyperdb/index.d.ts +9 -0
  568. package/dist-lib/spec/local/hyperdb/index.js +855 -0
  569. package/dist-lib/spec/local/hyperdb/messages.js +2189 -0
  570. package/dist-lib/spec/local/hyperschema/index.js +1208 -0
  571. package/dist-lib/spec/local/hyperschema/schema.json +639 -0
  572. package/dist-lib/spec/local/hyperschema/types.d.ts +159 -0
  573. package/dist-lib/spec/mesh/hyperdb/db.json +702 -0
  574. package/dist-lib/spec/mesh/hyperdb/index.d.ts +9 -0
  575. package/dist-lib/spec/mesh/hyperdb/index.js +2260 -0
  576. package/dist-lib/spec/mesh/hyperdb/messages.js +7453 -0
  577. package/dist-lib/spec/mesh/hyperdispatch/dispatch.json +174 -0
  578. package/dist-lib/spec/mesh/hyperdispatch/index.d.ts +13 -0
  579. package/dist-lib/spec/mesh/hyperdispatch/index.js +566 -0
  580. package/dist-lib/spec/mesh/hyperdispatch/messages.js +5713 -0
  581. package/dist-lib/spec/mesh/hyperschema/index.d.ts +14 -0
  582. package/dist-lib/spec/mesh/hyperschema/index.js +5713 -0
  583. package/dist-lib/spec/mesh/hyperschema/schema.json +3142 -0
  584. package/dist-lib/spec/mesh/hyperschema/types.d.ts +754 -0
  585. package/ducks.png +0 -0
  586. package/package.json +332 -1
@@ -0,0 +1,39 @@
1
+ import { capToolActivityArguments } from "../../schema/qvac.js";
2
+ import { randomId } from "./id.js";
3
+ const TOOL_ACTIVITY_BY_AGENT = '@qvac/tool-activity-by-agent';
4
+ export async function recordToolActivity(store, input) {
5
+ const activity = {
6
+ id: randomId(),
7
+ agentId: input.agentId,
8
+ originDeviceId: input.originDeviceId,
9
+ chatId: input.chatId,
10
+ runId: input.runId,
11
+ toolName: input.toolName,
12
+ arguments: capToolActivityArguments(input.arguments),
13
+ resource: input.resource ?? undefined,
14
+ effect: input.effect,
15
+ decision: input.decision,
16
+ at: input.at,
17
+ seq: 0
18
+ };
19
+ await store.dispatch('append-tool-activity', { activity });
20
+ return { id: activity.id };
21
+ }
22
+ export async function listToolActivity(store, agentId, { limit, beforeSeq } = {}) {
23
+ if (beforeSeq !== undefined && beforeSeq <= 0)
24
+ return [];
25
+ const snap = store.view.snapshot();
26
+ try {
27
+ return await snap
28
+ .find(TOOL_ACTIVITY_BY_AGENT, {
29
+ gte: { agentId },
30
+ lte: beforeSeq === undefined ? { agentId } : { agentId, seq: beforeSeq - 1 },
31
+ reverse: true,
32
+ limit: limit || undefined
33
+ })
34
+ .toArray();
35
+ }
36
+ finally {
37
+ await snap.close();
38
+ }
39
+ }
@@ -0,0 +1,13 @@
1
+ import type { QvacToolConfigs } from '../../spec/mesh/hyperschema/types.d.ts';
2
+ import type { Mesh } from './mesh.ts';
3
+ export interface ToolConfigInput {
4
+ readonly agentId: string;
5
+ readonly toolName: string;
6
+ readonly settings: Readonly<Record<string, unknown>>;
7
+ }
8
+ export declare function toolConfigsCarrySecret(settings: unknown): boolean;
9
+ export declare function getToolConfigs(store: Mesh, agentId: string, toolName: string): Promise<QvacToolConfigs | null>;
10
+ export declare function listToolConfigs(store: Mesh, agentId: string): Promise<QvacToolConfigs[]>;
11
+ export declare function setToolConfigs(store: Mesh, input: ToolConfigInput): Promise<QvacToolConfigs>;
12
+ export declare function deleteToolConfigs(store: Mesh, agentId: string, toolName: string): Promise<QvacToolConfigs>;
13
+ export declare function softDeleteToolConfigsForAgent(store: Mesh, agentId: string): Promise<void>;
@@ -0,0 +1,141 @@
1
+ import { MAX_TOOL_CONFIGS_BYTES, toolConfigsWithinBounds } from "../../schema/qvac.js";
2
+ import { mustGetAgent } from "./agent.js";
3
+ const TOOL_CONFIGS = '@qvac/tool-configs';
4
+ const ACTIVE_TOOL_CONFIGS_BY_AGENT = '@qvac/active-tool-configs-by-agent';
5
+ function isPlainObject(value) {
6
+ if (value === null || typeof value !== 'object' || Array.isArray(value))
7
+ return false;
8
+ const proto = Object.getPrototypeOf(value);
9
+ return proto === Object.prototype || proto === null;
10
+ }
11
+ const SECRET_KEY_HINTS = [
12
+ 'authorization',
13
+ 'apikey',
14
+ 'password',
15
+ 'passwd',
16
+ 'passphrase',
17
+ 'secret',
18
+ 'privatekey',
19
+ 'accesskey',
20
+ 'accesstoken',
21
+ 'refreshtoken',
22
+ 'sessiontoken',
23
+ 'authtoken',
24
+ 'bearer',
25
+ 'credential'
26
+ ];
27
+ const SECRET_KEY_PATTERNS = [/token$/];
28
+ const SECRET_REFERENCE_SUFFIXES = ['ref', 'refid', 'reference', 'id', 'name', 'handle', 'alias'];
29
+ function looksLikeSecretKey(key) {
30
+ const normalized = key.toLowerCase().replace(/[-_\s]/g, '');
31
+ const secretish = SECRET_KEY_HINTS.some((hint) => normalized.includes(hint)) ||
32
+ SECRET_KEY_PATTERNS.some((pattern) => pattern.test(normalized));
33
+ if (!secretish)
34
+ return false;
35
+ return !SECRET_REFERENCE_SUFFIXES.some((suffix) => normalized.endsWith(suffix));
36
+ }
37
+ function findReplicatedSecret(value, path) {
38
+ if (Array.isArray(value)) {
39
+ for (const item of value) {
40
+ const hit = findReplicatedSecret(item, path);
41
+ if (hit)
42
+ return hit;
43
+ }
44
+ return null;
45
+ }
46
+ if (!isPlainObject(value))
47
+ return null;
48
+ for (const key of Object.keys(value)) {
49
+ if (looksLikeSecretKey(key))
50
+ return `${path}.${key}`;
51
+ const hit = findReplicatedSecret(value[key], `${path}.${key}`);
52
+ if (hit)
53
+ return hit;
54
+ }
55
+ return null;
56
+ }
57
+ function assertNoReplicatedSecrets(value, path) {
58
+ const hit = findReplicatedSecret(value, path);
59
+ if (hit) {
60
+ throw new Error(`tool configs must not carry secrets (${hit}); ` +
61
+ 'keep the secret device-local and store a mesh-safe reference instead');
62
+ }
63
+ }
64
+ export function toolConfigsCarrySecret(settings) {
65
+ return findReplicatedSecret(settings, 'settings') !== null;
66
+ }
67
+ export async function getToolConfigs(store, agentId, toolName) {
68
+ return store.view.get(TOOL_CONFIGS, { agentId, toolName });
69
+ }
70
+ export async function listToolConfigs(store, agentId) {
71
+ const snap = store.view.snapshot();
72
+ try {
73
+ const rows = [];
74
+ for await (const row of snap.find(ACTIVE_TOOL_CONFIGS_BY_AGENT, {
75
+ gte: { agentId },
76
+ lte: { agentId }
77
+ })) {
78
+ rows.push(row);
79
+ }
80
+ return rows;
81
+ }
82
+ finally {
83
+ await snap.close();
84
+ }
85
+ }
86
+ export async function setToolConfigs(store, input) {
87
+ const agent = await mustGetAgent(store, input.agentId);
88
+ if (agent.deletedAt) {
89
+ throw new Error(`agent is deleted: ${input.agentId}`);
90
+ }
91
+ if (!isPlainObject(input.settings)) {
92
+ throw new Error('tool configs must be a plain object');
93
+ }
94
+ assertNoReplicatedSecrets(input.settings, 'settings');
95
+ const normalized = { ...input.settings };
96
+ if (!toolConfigsWithinBounds(normalized)) {
97
+ throw new Error(`tool configs exceed the ${MAX_TOOL_CONFIGS_BYTES} byte wire cap`);
98
+ }
99
+ const now = Date.now();
100
+ const current = await getToolConfigs(store, input.agentId, input.toolName);
101
+ const settings = {
102
+ agentId: input.agentId,
103
+ toolName: input.toolName,
104
+ settings: normalized,
105
+ createdAt: current?.createdAt ?? now,
106
+ updatedAt: now,
107
+ deletedAt: undefined
108
+ };
109
+ await store.dispatch('put-tool-configs', { settings });
110
+ return settings;
111
+ }
112
+ export async function deleteToolConfigs(store, agentId, toolName) {
113
+ await mustGetAgent(store, agentId);
114
+ const current = await getToolConfigs(store, agentId, toolName);
115
+ if (!current || current.deletedAt) {
116
+ throw new Error(`tool configs not found: ${agentId}/${toolName}`);
117
+ }
118
+ const now = Date.now();
119
+ const settings = { ...current, deletedAt: now, updatedAt: now };
120
+ await store.dispatch('put-tool-configs', { settings });
121
+ return settings;
122
+ }
123
+ export async function softDeleteToolConfigsForAgent(store, agentId) {
124
+ const snap = store.view.snapshot();
125
+ try {
126
+ for await (const row of snap.find(ACTIVE_TOOL_CONFIGS_BY_AGENT, {
127
+ gte: { agentId },
128
+ lte: { agentId }
129
+ })) {
130
+ if (store.closing)
131
+ return;
132
+ const now = Date.now();
133
+ await store.dispatch('put-tool-configs', {
134
+ settings: { ...row, deletedAt: now, updatedAt: now }
135
+ });
136
+ }
137
+ }
138
+ finally {
139
+ await snap.close();
140
+ }
141
+ }
@@ -0,0 +1,291 @@
1
+ import Corestore from 'corestore';
2
+ import CorestoreStorage from 'hypercore-storage';
3
+ import type { BootstrapNode } from 'hyperswarm';
4
+ import ReadyGuard from 'ready-guard';
5
+ import ReadyResource from 'ready-resource';
6
+ import type { Logger } from '../index.ts';
7
+ import type { AssistantCompactChatResponse, AssistantCopySkillResponse, AssistantDeleteModelRequest, AssistantDeleteModelResponse, AssistantDeleteSkillResponse, AssistantKvCacheDeletionResponse, AssistantListModelsRequest, AssistantManagedSkillsResponse, AssistantModelCatalogRevision, AssistantModelInfoList, AssistantOkResponse, AssistantSkillCatalogResponse, AssistantSkillFileResponse, AssistantSpeakRequest, AssistantSpeakResponse, AssistantToolCatalogResponse, AssistantTranscribeRequest, AssistantTranscribeResponse } from '../spec/index.d.ts';
8
+ import { type BlindPeeringOpts } from './core/blind-peers.ts';
9
+ import { type IndexingEmbedder, type RagExtractors, type VectorIndex } from './core/files/index.ts';
10
+ import { type DriveHost } from './core/fs-drives.ts';
11
+ import { type MeshInvite } from './core/invite.ts';
12
+ import { openLocalStore } from './core/local/index.ts';
13
+ import { type SecretRequest } from './core/secret-handoff.ts';
14
+ import type { AppBuildMetadata } from './core/app-build.ts';
15
+ import { Mesh, type DeviceMetadata } from './core/mesh.ts';
16
+ import { type Stream, type Transport } from '@qvac/harness/rpc';
17
+ import { type CoreSpec } from './spec-loader.ts';
18
+ import { type LocalQvacState } from '../spec/index.js';
19
+ export interface CoreOptions {
20
+ storagePath: string;
21
+ logger?: Logger | null;
22
+ spec?: () => Promise<CoreSpec>;
23
+ bootstrapNodes?: ReadonlyArray<BootstrapNode>;
24
+ device?: DeviceMetadata;
25
+ app?: AppBuildMetadata;
26
+ minSupportedVersion?: string;
27
+ otaConfigCore?: {
28
+ readonly key: string;
29
+ readonly minLength: number;
30
+ };
31
+ blindPeerKeys?: ReadonlyArray<Buffer>;
32
+ blindPeeringOpts?: BlindPeeringOpts;
33
+ meshSeed?: Buffer;
34
+ meshKey?: Buffer;
35
+ additionalNodes?: ReadonlyArray<{
36
+ readonly host: string;
37
+ readonly port: number;
38
+ }>;
39
+ listModels?: (options: AssistantListModelsRequest) => Promise<AssistantModelInfoList>;
40
+ deleteModel?: (options: AssistantDeleteModelRequest) => Promise<AssistantDeleteModelResponse>;
41
+ clearKvCache?: () => Promise<AssistantKvCacheDeletionResponse>;
42
+ deleteChatKvCache?: (chatId: string) => Promise<AssistantKvCacheDeletionResponse>;
43
+ compactChat?: (chatId: string) => Promise<AssistantCompactChatResponse>;
44
+ modelCatalogWatch?: () => AsyncIterable<AssistantModelCatalogRevision>;
45
+ retryModelDownload?: (name: string) => Promise<void>;
46
+ transcribe?: (request: AssistantTranscribeRequest) => Promise<AssistantTranscribeResponse>;
47
+ speak?: (request: AssistantSpeakRequest) => Promise<AssistantSpeakResponse>;
48
+ speakStream?: (text: AsyncIterable<string>) => AsyncIterable<AssistantSpeakResponse>;
49
+ embedder?: IndexingEmbedder;
50
+ extractors?: RagExtractors;
51
+ skills?: (agentId?: string | null, modelName?: string | null, options?: {
52
+ readonly refresh?: boolean;
53
+ }) => Promise<unknown>;
54
+ skillCatalog?: (agentId?: string | null, modelName?: string | null, options?: {
55
+ readonly refresh?: boolean;
56
+ }) => Promise<AssistantSkillCatalogResponse>;
57
+ tools?: () => Promise<AssistantToolCatalogResponse>;
58
+ hostsModelSource?: boolean;
59
+ vectorIndex?: VectorIndex;
60
+ apiLifecycle?: {
61
+ readonly suspend: () => Promise<void>;
62
+ readonly resume: () => Promise<void>;
63
+ };
64
+ }
65
+ export interface SkillManagementHooks {
66
+ listManagedSkills(): Promise<AssistantManagedSkillsResponse>;
67
+ readSkillFile(name: string): Promise<AssistantSkillFileResponse>;
68
+ writeSkillFile(name: string, content: string): Promise<AssistantOkResponse>;
69
+ copySkillForEdit(name: string): Promise<AssistantCopySkillResponse>;
70
+ deleteOverlaySkill(name: string): Promise<AssistantDeleteSkillResponse>;
71
+ }
72
+ export declare class Core extends ReadyResource {
73
+ private readonly _storagePath;
74
+ store: Corestore;
75
+ rootCorestore: Corestore;
76
+ storage: CorestoreStorage;
77
+ local: ReturnType<typeof openLocalStore>;
78
+ state: LocalQvacState;
79
+ private readonly _transport;
80
+ private readonly _apiLifecycle;
81
+ private readonly _log;
82
+ private readonly _spec;
83
+ private readonly _bootstrapNodes;
84
+ private readonly _device;
85
+ private readonly _app;
86
+ private _minSupportedVersion;
87
+ private readonly _otaConfigCore;
88
+ private _otaConfig;
89
+ private _configPeering;
90
+ private _localDevice;
91
+ private readonly _blindPeerKeys;
92
+ private readonly _blindPeeringOpts;
93
+ private readonly _meshSeed;
94
+ private readonly _meshKey;
95
+ private readonly _additionalNodes;
96
+ private _listModels;
97
+ private _deleteModel;
98
+ private _clearKvCache;
99
+ private _deleteChatKvCache;
100
+ private _compactChat;
101
+ private _modelCatalogWatch;
102
+ private _modelCatalogWatchSource;
103
+ private _retryModelDownload;
104
+ private _transcribe;
105
+ private _speak;
106
+ private _speakStream;
107
+ private _embedder;
108
+ private _ragExtractors;
109
+ private _indexedEmbedder;
110
+ private readonly _indexingLock;
111
+ private readonly _meshTransitionLock;
112
+ private _processingFiles;
113
+ private _skills;
114
+ private _skillCatalog;
115
+ private _skillManagement;
116
+ private readonly _catalogHooks;
117
+ private _tools;
118
+ private readonly _hostsModelSource;
119
+ private _vectorIndex;
120
+ private readonly _closeSignal;
121
+ private _signalClose;
122
+ private readonly _closeListeners;
123
+ private _closeSignaled;
124
+ private _mesh;
125
+ private readonly _offlineBoot;
126
+ readonly onlineBoot: ReadyGuard;
127
+ private _candidateMesh;
128
+ private _cancelCandidateJoin;
129
+ private _joinCancellation;
130
+ private _meshSecretSeed;
131
+ private readonly _rpcs;
132
+ private _stream;
133
+ private _api;
134
+ private readonly _clients;
135
+ private _deviceKeyPair;
136
+ private readonly _memberLock;
137
+ private _identityPhrase;
138
+ private _identityPublicKey;
139
+ private _swarm;
140
+ private _departures;
141
+ private _fsDrives;
142
+ private _blobServer;
143
+ private readonly _attachmentUrl;
144
+ private readonly _wakeup;
145
+ private readonly _secretHandoff;
146
+ private readonly _skillOverlayHandoff;
147
+ private _hostedAgents;
148
+ private _minting;
149
+ private _leaving;
150
+ private _kicked;
151
+ private _kickedPending;
152
+ private readonly _peers;
153
+ private readonly _statusListeners;
154
+ private readonly _diagnosticsProviders;
155
+ private _systemInfo;
156
+ private readonly _onMeshWritable;
157
+ private readonly _onMeshDead;
158
+ private readonly _onMeshStalled;
159
+ private _statusError;
160
+ private _upgradeRequired;
161
+ constructor(transport: Transport, { storagePath, logger, spec, bootstrapNodes, device, app, minSupportedVersion, otaConfigCore, blindPeerKeys, blindPeeringOpts, meshSeed, meshKey, additionalNodes, listModels, deleteModel, clearKvCache, deleteChatKvCache, compactChat, modelCatalogWatch, retryModelDownload, transcribe, speak, speakStream, embedder, extractors, skills, skillCatalog, tools, hostsModelSource, vectorIndex, apiLifecycle }: CoreOptions);
162
+ get devicePublicKey(): Buffer | null;
163
+ get fsDrives(): DriveHost | null;
164
+ get suspended(): boolean;
165
+ get mesh(): Pick<Mesh, 'view' | 'discoveryKey' | 'publicKey' | 'key' | 'localWriterKey' | 'writable' | 'localLength' | 'blindPeerKeys'> | null;
166
+ meshReady(): Promise<void>;
167
+ get peerCount(): number;
168
+ get peerDeviceIds(): ReadonlyArray<string>;
169
+ _open(): Promise<void>;
170
+ private _runBootOffline;
171
+ private _openBootMesh;
172
+ private _runBootOnline;
173
+ private _reopenMesh;
174
+ get otaConfigCore(): {
175
+ readonly key: string;
176
+ readonly minLength: number;
177
+ } | null;
178
+ private _openOtaConfig;
179
+ private _logFloor;
180
+ private _peerConfigCore;
181
+ private _closeConfigPeering;
182
+ private _closeOtaConfig;
183
+ private _blockedByMinVersion;
184
+ private _setUpgradeRequired;
185
+ setMinSupportedVersion(required: string | null | undefined): void;
186
+ connect(stream: Stream): Promise<void>;
187
+ wakeup(): Promise<void>;
188
+ presuspend(): Promise<void>;
189
+ suspend(): Promise<void>;
190
+ resume(): Promise<void>;
191
+ private _refreshTopics;
192
+ _close(): Promise<void>;
193
+ private _openSwarm;
194
+ private _resolveBlindPeerKeys;
195
+ private _startMesh;
196
+ private _openMesh;
197
+ private _mintBirthMember;
198
+ private _holdIdentityPhrase;
199
+ private _pushIdentityPhrase;
200
+ private _offerIdentityPhrase;
201
+ private _bringMeshOnline;
202
+ private _advertiseDeviceProfile;
203
+ private _advertiseAppVersion;
204
+ private _settleMembership;
205
+ private _migrationContext;
206
+ private _recordMembership;
207
+ private _ensureNotRevoked;
208
+ private _retireMesh;
209
+ private _withdrawFromMesh;
210
+ private _onKicked;
211
+ private _requestFreshMesh;
212
+ private _onClose;
213
+ private _waitForMeshChange;
214
+ joinMesh(rawInvite: string): Promise<void>;
215
+ cancelMeshJoin(): void;
216
+ private _throwIfJoinCanceled;
217
+ private _joinMesh;
218
+ private _runJoinMesh;
219
+ private _joinParkedMesh;
220
+ private _openCandidateMesh;
221
+ private _waitForCandidateWritable;
222
+ private _activateMesh;
223
+ private _currentMesh;
224
+ private _awaitMesh;
225
+ private _startMeshServices;
226
+ private _stopHostedAgents;
227
+ private _discardCandidateMesh;
228
+ private _departureHasAudience;
229
+ private _announceDeparture;
230
+ leaveMesh(): Promise<void>;
231
+ removeDeviceWriter(writerKey: Buffer, deviceId: Buffer): Promise<void>;
232
+ renameLocalDevice(name: string): Promise<void>;
233
+ saveDeviceProfileLocal(capabilityProfile: DeviceMetadata['capabilityProfile'], recommendedModelName: string, platform?: string): Promise<void>;
234
+ waitForWritable(): Promise<void>;
235
+ getMeshInvite(): Promise<MeshInvite | null>;
236
+ private _closeSwarm;
237
+ pushSkillSecret(request: SecretRequest): Promise<void>;
238
+ private _storeHandedOffSecret;
239
+ private _skillOverlayOp;
240
+ private _resolveSkillOverlayHost;
241
+ private _serveSkillOverlayOp;
242
+ private _runLocalSkillOverlayOp;
243
+ private _setupFields;
244
+ private _hostSkills;
245
+ private _onConnection;
246
+ private _trackPeerConnection;
247
+ private _onPeerChange;
248
+ private _meshStatusSource;
249
+ private _networkStatusSource;
250
+ private _networkSnapshot;
251
+ private _networkState;
252
+ private _logSource;
253
+ compact(force?: boolean): Promise<void>;
254
+ registerDiagnostics(provider: () => object): () => void;
255
+ registerListModels(hook: (options: AssistantListModelsRequest) => Promise<AssistantModelInfoList>): () => void;
256
+ registerDeleteModel(hook: (options: AssistantDeleteModelRequest) => Promise<AssistantDeleteModelResponse>): () => void;
257
+ registerClearKvCache(hook: () => Promise<AssistantKvCacheDeletionResponse>): () => void;
258
+ registerDeleteChatKvCache(hook: (chatId: string) => Promise<AssistantKvCacheDeletionResponse>): () => void;
259
+ registerCompactChat(hook: (chatId: string) => Promise<AssistantCompactChatResponse>): () => void;
260
+ registerModelCatalogWatch(hook: () => AsyncIterable<AssistantModelCatalogRevision>): () => void;
261
+ private _watchModelCatalog;
262
+ private _openModelCatalogWatchSource;
263
+ private _resetModelCatalogWatchSource;
264
+ registerRetryModelDownload(hook: (name: string) => Promise<void>): () => void;
265
+ registerSkills(hook: (agentId?: string | null, modelName?: string | null, options?: {
266
+ readonly refresh?: boolean;
267
+ }) => Promise<unknown>): () => void;
268
+ registerSkillCatalog(hook: (agentId?: string | null, modelName?: string | null, options?: {
269
+ readonly refresh?: boolean;
270
+ readonly skipCredentialProbe?: boolean;
271
+ }) => Promise<AssistantSkillCatalogResponse>): () => void;
272
+ registerSkillManagement(hooks: SkillManagementHooks): () => void;
273
+ private _waitForCatalogHooks;
274
+ private _catalogHooksReady;
275
+ private _openCatalogHooks;
276
+ registerTools(hook: () => Promise<AssistantToolCatalogResponse>): () => void;
277
+ registerEmbedder(embedder: IndexingEmbedder, extractors?: RagExtractors): () => Promise<void>;
278
+ private _reconcileIndexing;
279
+ private _startIndexing;
280
+ private _stopIndexing;
281
+ registerTranscribe(hook: (request: AssistantTranscribeRequest) => Promise<AssistantTranscribeResponse>): () => void;
282
+ registerSpeak(hook: (request: AssistantSpeakRequest) => Promise<AssistantSpeakResponse>): () => void;
283
+ registerSpeakStream(hook: (text: AsyncIterable<string>) => AsyncIterable<AssistantSpeakResponse>): () => void;
284
+ private _diagnosticsSource;
285
+ private _memberDiagnostics;
286
+ private _diagnostics;
287
+ private _statusSnapshot;
288
+ acknowledgeKicked(): void;
289
+ private _statusState;
290
+ private _notifyStatus;
291
+ }