daftari 1.29.0 → 1.31.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 (369) hide show
  1. package/CHANGELOG.md +281 -0
  2. package/README.md +263 -9
  3. package/dist/access/rbac.d.ts +1 -0
  4. package/dist/access/rbac.d.ts.map +1 -1
  5. package/dist/access/rbac.js +7 -0
  6. package/dist/access/rbac.js.map +1 -1
  7. package/dist/asof/git-read.d.ts +17 -0
  8. package/dist/asof/git-read.d.ts.map +1 -0
  9. package/dist/asof/git-read.js +163 -0
  10. package/dist/asof/git-read.js.map +1 -0
  11. package/dist/asof/index.d.ts +2 -0
  12. package/dist/asof/index.d.ts.map +1 -0
  13. package/dist/asof/index.js +151 -0
  14. package/dist/asof/index.js.map +1 -0
  15. package/dist/asof/report.d.ts +11 -0
  16. package/dist/asof/report.d.ts.map +1 -0
  17. package/dist/asof/report.js +119 -0
  18. package/dist/asof/report.js.map +1 -0
  19. package/dist/asof/snapshot.d.ts +72 -0
  20. package/dist/asof/snapshot.d.ts.map +1 -0
  21. package/dist/asof/snapshot.js +207 -0
  22. package/dist/asof/snapshot.js.map +1 -0
  23. package/dist/audit/checks/broken_refs.d.ts +1 -1
  24. package/dist/audit/checks/broken_refs.d.ts.map +1 -1
  25. package/dist/audit/checks/broken_refs.js +77 -22
  26. package/dist/audit/checks/broken_refs.js.map +1 -1
  27. package/dist/audit/collect.d.ts +1 -0
  28. package/dist/audit/collect.d.ts.map +1 -1
  29. package/dist/audit/collect.js +22 -2
  30. package/dist/audit/collect.js.map +1 -1
  31. package/dist/audit/index.d.ts.map +1 -1
  32. package/dist/audit/index.js +9 -3
  33. package/dist/audit/index.js.map +1 -1
  34. package/dist/audit/links.d.ts.map +1 -1
  35. package/dist/audit/links.js +9 -3
  36. package/dist/audit/links.js.map +1 -1
  37. package/dist/audit/report.d.ts.map +1 -1
  38. package/dist/audit/report.js +2 -0
  39. package/dist/audit/report.js.map +1 -1
  40. package/dist/audit/types.d.ts +4 -1
  41. package/dist/audit/types.d.ts.map +1 -1
  42. package/dist/audit/types.js.map +1 -1
  43. package/dist/backfill/apply.js +2 -2
  44. package/dist/backfill/apply.js.map +1 -1
  45. package/dist/backfill/derive.d.ts.map +1 -1
  46. package/dist/backfill/derive.js +1 -0
  47. package/dist/backfill/derive.js.map +1 -1
  48. package/dist/backfill/plan.js +2 -2
  49. package/dist/backfill/plan.js.map +1 -1
  50. package/dist/cli.d.ts.map +1 -1
  51. package/dist/cli.js +36 -0
  52. package/dist/cli.js.map +1 -1
  53. package/dist/consolidate/call-budget.d.ts +3 -0
  54. package/dist/consolidate/call-budget.d.ts.map +1 -0
  55. package/dist/consolidate/call-budget.js +37 -0
  56. package/dist/consolidate/call-budget.js.map +1 -0
  57. package/dist/consolidate/constants.d.ts +1 -0
  58. package/dist/consolidate/constants.d.ts.map +1 -1
  59. package/dist/consolidate/constants.js +5 -0
  60. package/dist/consolidate/constants.js.map +1 -1
  61. package/dist/consolidate/index.d.ts.map +1 -1
  62. package/dist/consolidate/index.js +96 -27
  63. package/dist/consolidate/index.js.map +1 -1
  64. package/dist/court/docket.d.ts +39 -0
  65. package/dist/court/docket.d.ts.map +1 -0
  66. package/dist/court/docket.js +103 -0
  67. package/dist/court/docket.js.map +1 -0
  68. package/dist/court/index.d.ts +2 -0
  69. package/dist/court/index.d.ts.map +1 -0
  70. package/dist/court/index.js +169 -0
  71. package/dist/court/index.js.map +1 -0
  72. package/dist/court/precedent.d.ts +18 -0
  73. package/dist/court/precedent.d.ts.map +1 -0
  74. package/dist/court/precedent.js +89 -0
  75. package/dist/court/precedent.js.map +1 -0
  76. package/dist/court/report.d.ts +10 -0
  77. package/dist/court/report.d.ts.map +1 -0
  78. package/dist/court/report.js +77 -0
  79. package/dist/court/report.js.map +1 -0
  80. package/dist/curation/consumes.d.ts +24 -0
  81. package/dist/curation/consumes.d.ts.map +1 -0
  82. package/dist/curation/consumes.js +122 -0
  83. package/dist/curation/consumes.js.map +1 -0
  84. package/dist/curation/edge-staleness.d.ts +47 -0
  85. package/dist/curation/edge-staleness.d.ts.map +1 -0
  86. package/dist/curation/edge-staleness.js +258 -0
  87. package/dist/curation/edge-staleness.js.map +1 -0
  88. package/dist/curation/edges.d.ts.map +1 -1
  89. package/dist/curation/edges.js +164 -10
  90. package/dist/curation/edges.js.map +1 -1
  91. package/dist/curation/lint.d.ts +4 -1
  92. package/dist/curation/lint.d.ts.map +1 -1
  93. package/dist/curation/lint.js +61 -6
  94. package/dist/curation/lint.js.map +1 -1
  95. package/dist/curation/provenance.d.ts +2 -0
  96. package/dist/curation/provenance.d.ts.map +1 -1
  97. package/dist/curation/provenance.js +2 -0
  98. package/dist/curation/provenance.js.map +1 -1
  99. package/dist/curation/read-log.d.ts +19 -0
  100. package/dist/curation/read-log.d.ts.map +1 -0
  101. package/dist/curation/read-log.js +120 -0
  102. package/dist/curation/read-log.js.map +1 -0
  103. package/dist/curation/review-throughput.d.ts +24 -0
  104. package/dist/curation/review-throughput.d.ts.map +1 -0
  105. package/dist/curation/review-throughput.js +102 -0
  106. package/dist/curation/review-throughput.js.map +1 -0
  107. package/dist/curation/staged-actions.d.ts +11 -1
  108. package/dist/curation/staged-actions.d.ts.map +1 -1
  109. package/dist/curation/staged-actions.js +117 -30
  110. package/dist/curation/staged-actions.js.map +1 -1
  111. package/dist/curation/staleness.js +1 -1
  112. package/dist/curation/staleness.js.map +1 -1
  113. package/dist/curation/structural.d.ts +16 -0
  114. package/dist/curation/structural.d.ts.map +1 -0
  115. package/dist/curation/structural.js +64 -0
  116. package/dist/curation/structural.js.map +1 -0
  117. package/dist/curation/tension-access.d.ts +7 -0
  118. package/dist/curation/tension-access.d.ts.map +1 -0
  119. package/dist/curation/tension-access.js +44 -0
  120. package/dist/curation/tension-access.js.map +1 -0
  121. package/dist/curation/tension-blast.d.ts +6 -1
  122. package/dist/curation/tension-blast.d.ts.map +1 -1
  123. package/dist/curation/tension-blast.js +11 -2
  124. package/dist/curation/tension-blast.js.map +1 -1
  125. package/dist/curation/tension-clusters.d.ts +1 -1
  126. package/dist/curation/tension-clusters.d.ts.map +1 -1
  127. package/dist/curation/tension-clusters.js +5 -2
  128. package/dist/curation/tension-clusters.js.map +1 -1
  129. package/dist/curation/tension.d.ts +6 -2
  130. package/dist/curation/tension.d.ts.map +1 -1
  131. package/dist/curation/tension.js +86 -35
  132. package/dist/curation/tension.js.map +1 -1
  133. package/dist/curation/tier0.d.ts +27 -0
  134. package/dist/curation/tier0.d.ts.map +1 -0
  135. package/dist/curation/tier0.js +196 -0
  136. package/dist/curation/tier0.js.map +1 -0
  137. package/dist/curation/tier1.d.ts +30 -0
  138. package/dist/curation/tier1.d.ts.map +1 -0
  139. package/dist/curation/tier1.js +142 -0
  140. package/dist/curation/tier1.js.map +1 -0
  141. package/dist/curation/tier2.d.ts +43 -0
  142. package/dist/curation/tier2.d.ts.map +1 -0
  143. package/dist/curation/tier2.js +182 -0
  144. package/dist/curation/tier2.js.map +1 -0
  145. package/dist/curation/vault-docs.d.ts +5 -1
  146. package/dist/curation/vault-docs.d.ts.map +1 -1
  147. package/dist/curation/vault-docs.js +15 -1
  148. package/dist/curation/vault-docs.js.map +1 -1
  149. package/dist/eval/generate.js +22 -5
  150. package/dist/eval/generate.js.map +1 -1
  151. package/dist/eval/index.d.ts.map +1 -1
  152. package/dist/eval/index.js +173 -25
  153. package/dist/eval/index.js.map +1 -1
  154. package/dist/eval/llm-openrouter.d.ts +9 -0
  155. package/dist/eval/llm-openrouter.d.ts.map +1 -0
  156. package/dist/eval/llm-openrouter.js +171 -0
  157. package/dist/eval/llm-openrouter.js.map +1 -0
  158. package/dist/eval/llm.js +1 -1
  159. package/dist/eval/llm.js.map +1 -1
  160. package/dist/eval/prune.d.ts +24 -0
  161. package/dist/eval/prune.d.ts.map +1 -0
  162. package/dist/eval/prune.js +83 -0
  163. package/dist/eval/prune.js.map +1 -0
  164. package/dist/eval/storage.d.ts +3 -0
  165. package/dist/eval/storage.d.ts.map +1 -1
  166. package/dist/eval/storage.js +14 -0
  167. package/dist/eval/storage.js.map +1 -1
  168. package/dist/frontmatter/parser.d.ts +1 -0
  169. package/dist/frontmatter/parser.d.ts.map +1 -1
  170. package/dist/frontmatter/parser.js +12 -0
  171. package/dist/frontmatter/parser.js.map +1 -1
  172. package/dist/frontmatter/schema.d.ts.map +1 -1
  173. package/dist/frontmatter/schema.js +38 -3
  174. package/dist/frontmatter/schema.js.map +1 -1
  175. package/dist/frontmatter/types.d.ts +4 -1
  176. package/dist/frontmatter/types.d.ts.map +1 -1
  177. package/dist/frontmatter/types.js +8 -0
  178. package/dist/frontmatter/types.js.map +1 -1
  179. package/dist/import/index.d.ts.map +1 -1
  180. package/dist/import/index.js +44 -9
  181. package/dist/import/index.js.map +1 -1
  182. package/dist/import/langgraph-store.d.ts +53 -0
  183. package/dist/import/langgraph-store.d.ts.map +1 -0
  184. package/dist/import/langgraph-store.js +292 -0
  185. package/dist/import/langgraph-store.js.map +1 -0
  186. package/dist/index.d.ts +5 -0
  187. package/dist/index.d.ts.map +1 -1
  188. package/dist/index.js +56 -18
  189. package/dist/index.js.map +1 -1
  190. package/dist/lifecycle/lock.d.ts +9 -1
  191. package/dist/lifecycle/lock.d.ts.map +1 -1
  192. package/dist/lifecycle/lock.js +34 -9
  193. package/dist/lifecycle/lock.js.map +1 -1
  194. package/dist/okf/export.d.ts +12 -0
  195. package/dist/okf/export.d.ts.map +1 -0
  196. package/dist/okf/export.js +115 -0
  197. package/dist/okf/export.js.map +1 -0
  198. package/dist/okf/import.d.ts +24 -0
  199. package/dist/okf/import.d.ts.map +1 -0
  200. package/dist/okf/import.js +107 -0
  201. package/dist/okf/import.js.map +1 -0
  202. package/dist/okf/index.d.ts +2 -0
  203. package/dist/okf/index.d.ts.map +1 -0
  204. package/dist/okf/index.js +147 -0
  205. package/dist/okf/index.js.map +1 -0
  206. package/dist/okf/map.d.ts +16 -0
  207. package/dist/okf/map.d.ts.map +1 -0
  208. package/dist/okf/map.js +149 -0
  209. package/dist/okf/map.js.map +1 -0
  210. package/dist/okf/types.d.ts +9 -0
  211. package/dist/okf/types.d.ts.map +1 -0
  212. package/dist/okf/types.js +48 -0
  213. package/dist/okf/types.js.map +1 -0
  214. package/dist/search/contested.d.ts +18 -0
  215. package/dist/search/contested.d.ts.map +1 -0
  216. package/dist/search/contested.js +119 -0
  217. package/dist/search/contested.js.map +1 -0
  218. package/dist/search/coverage.d.ts.map +1 -1
  219. package/dist/search/coverage.js +1 -1
  220. package/dist/search/coverage.js.map +1 -1
  221. package/dist/search/hybrid.d.ts +23 -0
  222. package/dist/search/hybrid.d.ts.map +1 -1
  223. package/dist/search/hybrid.js +75 -15
  224. package/dist/search/hybrid.js.map +1 -1
  225. package/dist/search/reindex.d.ts +1 -0
  226. package/dist/search/reindex.d.ts.map +1 -1
  227. package/dist/search/reindex.js +57 -24
  228. package/dist/search/reindex.js.map +1 -1
  229. package/dist/search/watcher.d.ts +2 -0
  230. package/dist/search/watcher.d.ts.map +1 -1
  231. package/dist/search/watcher.js +23 -12
  232. package/dist/search/watcher.js.map +1 -1
  233. package/dist/serve/index.d.ts +36 -0
  234. package/dist/serve/index.d.ts.map +1 -0
  235. package/dist/serve/index.js +507 -0
  236. package/dist/serve/index.js.map +1 -0
  237. package/dist/server.d.ts +10 -1
  238. package/dist/server.d.ts.map +1 -1
  239. package/dist/server.js +91 -12
  240. package/dist/server.js.map +1 -1
  241. package/dist/sleep/cycle.d.ts +59 -0
  242. package/dist/sleep/cycle.d.ts.map +1 -0
  243. package/dist/sleep/cycle.js +127 -0
  244. package/dist/sleep/cycle.js.map +1 -0
  245. package/dist/sleep/index.d.ts +5 -0
  246. package/dist/sleep/index.d.ts.map +1 -0
  247. package/dist/sleep/index.js +320 -0
  248. package/dist/sleep/index.js.map +1 -0
  249. package/dist/sleep/report.d.ts +14 -0
  250. package/dist/sleep/report.d.ts.map +1 -0
  251. package/dist/sleep/report.js +139 -0
  252. package/dist/sleep/report.js.map +1 -0
  253. package/dist/sleep/tension-scan-state.d.ts +19 -0
  254. package/dist/sleep/tension-scan-state.d.ts.map +1 -0
  255. package/dist/sleep/tension-scan-state.js +0 -0
  256. package/dist/sleep/tension-scan-state.js.map +1 -0
  257. package/dist/sleep/tension-scan.d.ts +44 -0
  258. package/dist/sleep/tension-scan.d.ts.map +1 -0
  259. package/dist/sleep/tension-scan.js +0 -0
  260. package/dist/sleep/tension-scan.js.map +1 -0
  261. package/dist/storage/backend.d.ts +12 -0
  262. package/dist/storage/backend.d.ts.map +1 -0
  263. package/dist/storage/backend.js +231 -0
  264. package/dist/storage/backend.js.map +1 -0
  265. package/dist/storage/backends/fs.d.ts +4 -0
  266. package/dist/storage/backends/fs.d.ts.map +1 -0
  267. package/dist/storage/backends/fs.js +99 -0
  268. package/dist/storage/backends/fs.js.map +1 -0
  269. package/dist/storage/fs-walk.d.ts +5 -0
  270. package/dist/storage/fs-walk.d.ts.map +1 -0
  271. package/dist/storage/fs-walk.js +28 -0
  272. package/dist/storage/fs-walk.js.map +1 -0
  273. package/dist/storage/index-db.d.ts +18 -0
  274. package/dist/storage/index-db.d.ts.map +1 -1
  275. package/dist/storage/index-db.js +159 -22
  276. package/dist/storage/index-db.js.map +1 -1
  277. package/dist/storage/local.d.ts +7 -1
  278. package/dist/storage/local.d.ts.map +1 -1
  279. package/dist/storage/local.js +42 -4
  280. package/dist/storage/local.js.map +1 -1
  281. package/dist/storage/sync.d.ts +25 -0
  282. package/dist/storage/sync.d.ts.map +1 -0
  283. package/dist/storage/sync.js +308 -0
  284. package/dist/storage/sync.js.map +1 -0
  285. package/dist/sync/index.d.ts +2 -0
  286. package/dist/sync/index.d.ts.map +1 -0
  287. package/dist/sync/index.js +136 -0
  288. package/dist/sync/index.js.map +1 -0
  289. package/dist/themes/clustering.d.ts +6 -11
  290. package/dist/themes/clustering.d.ts.map +1 -1
  291. package/dist/themes/clustering.js +76 -84
  292. package/dist/themes/clustering.js.map +1 -1
  293. package/dist/tools/consumes.d.ts +14 -0
  294. package/dist/tools/consumes.d.ts.map +1 -0
  295. package/dist/tools/consumes.js +99 -0
  296. package/dist/tools/consumes.js.map +1 -0
  297. package/dist/tools/curation.d.ts +2 -0
  298. package/dist/tools/curation.d.ts.map +1 -1
  299. package/dist/tools/curation.js +102 -7
  300. package/dist/tools/curation.js.map +1 -1
  301. package/dist/tools/edge-staleness.d.ts +28 -0
  302. package/dist/tools/edge-staleness.d.ts.map +1 -0
  303. package/dist/tools/edge-staleness.js +205 -0
  304. package/dist/tools/edge-staleness.js.map +1 -0
  305. package/dist/tools/edges.d.ts.map +1 -1
  306. package/dist/tools/edges.js +28 -22
  307. package/dist/tools/edges.js.map +1 -1
  308. package/dist/tools/read.d.ts +15 -1
  309. package/dist/tools/read.d.ts.map +1 -1
  310. package/dist/tools/read.js +144 -31
  311. package/dist/tools/read.js.map +1 -1
  312. package/dist/tools/receipt.d.ts +65 -0
  313. package/dist/tools/receipt.d.ts.map +1 -0
  314. package/dist/tools/receipt.js +257 -0
  315. package/dist/tools/receipt.js.map +1 -0
  316. package/dist/tools/search.d.ts +1 -0
  317. package/dist/tools/search.d.ts.map +1 -1
  318. package/dist/tools/search.js +186 -12
  319. package/dist/tools/search.js.map +1 -1
  320. package/dist/tools/staged-actions.d.ts +3 -0
  321. package/dist/tools/staged-actions.d.ts.map +1 -1
  322. package/dist/tools/staged-actions.js +228 -23
  323. package/dist/tools/staged-actions.js.map +1 -1
  324. package/dist/tools/themes.d.ts +9 -0
  325. package/dist/tools/themes.d.ts.map +1 -1
  326. package/dist/tools/themes.js +333 -133
  327. package/dist/tools/themes.js.map +1 -1
  328. package/dist/tools/tier1.d.ts +14 -0
  329. package/dist/tools/tier1.d.ts.map +1 -0
  330. package/dist/tools/tier1.js +169 -0
  331. package/dist/tools/tier1.js.map +1 -0
  332. package/dist/tools/tier2.d.ts +27 -0
  333. package/dist/tools/tier2.d.ts.map +1 -0
  334. package/dist/tools/tier2.js +344 -0
  335. package/dist/tools/tier2.js.map +1 -0
  336. package/dist/tools/witness.d.ts +9 -0
  337. package/dist/tools/witness.d.ts.map +1 -0
  338. package/dist/tools/witness.js +66 -0
  339. package/dist/tools/witness.js.map +1 -0
  340. package/dist/tools/write.d.ts +9 -1
  341. package/dist/tools/write.d.ts.map +1 -1
  342. package/dist/tools/write.js +593 -59
  343. package/dist/tools/write.js.map +1 -1
  344. package/dist/utils/config.d.ts +54 -0
  345. package/dist/utils/config.d.ts.map +1 -1
  346. package/dist/utils/config.js +420 -4
  347. package/dist/utils/config.js.map +1 -1
  348. package/dist/utils/paths.d.ts +2 -0
  349. package/dist/utils/paths.d.ts.map +1 -0
  350. package/dist/utils/paths.js +15 -0
  351. package/dist/utils/paths.js.map +1 -0
  352. package/dist/utils/redos.d.ts +2 -0
  353. package/dist/utils/redos.d.ts.map +1 -0
  354. package/dist/utils/redos.js +101 -0
  355. package/dist/utils/redos.js.map +1 -0
  356. package/dist/utils/run-id.d.ts +3 -0
  357. package/dist/utils/run-id.d.ts.map +1 -0
  358. package/dist/utils/run-id.js +19 -0
  359. package/dist/utils/run-id.js.map +1 -0
  360. package/dist/utils/vault-gitignore.d.ts +1 -1
  361. package/dist/utils/vault-gitignore.d.ts.map +1 -1
  362. package/dist/utils/vault-gitignore.js +6 -1
  363. package/dist/utils/vault-gitignore.js.map +1 -1
  364. package/dist/witness/track-record.d.ts +42 -0
  365. package/dist/witness/track-record.d.ts.map +1 -0
  366. package/dist/witness/track-record.js +189 -0
  367. package/dist/witness/track-record.js.map +1 -0
  368. package/package.json +27 -2
  369. package/templates/config.yaml +8 -0
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/search/watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/search/watcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { type Result } from "../frontmatter/types.js";
2
+ import { type StorageBackend } from "../storage/backend.js";
3
+ import { syncVault } from "../storage/sync.js";
4
+ import { type DaftariConfig } from "../utils/config.js";
5
+ export declare const DEFAULT_PORT = 8787;
6
+ export declare const DEFAULT_BIND = "127.0.0.1";
7
+ interface ResolvedToken {
8
+ secret: Buffer;
9
+ user: string;
10
+ roleName: string;
11
+ }
12
+ export declare function isLoopbackBind(bind: string): boolean;
13
+ export declare function validateServeStartup(config: DaftariConfig, bind: string, env: NodeJS.ProcessEnv): {
14
+ ok: true;
15
+ tokens: ResolvedToken[];
16
+ } | {
17
+ ok: false;
18
+ error: string;
19
+ };
20
+ export declare function matchToken(presented: string, tokens: ResolvedToken[]): ResolvedToken | null;
21
+ export interface ServeHandle {
22
+ port: number;
23
+ close: () => Promise<void>;
24
+ }
25
+ interface LoopbackGuard {
26
+ hosts: Set<string>;
27
+ origins: Set<string>;
28
+ }
29
+ export declare function makeLoopbackGuard(port: number): LoopbackGuard;
30
+ export declare function violatesLoopbackGuard(guard: LoopbackGuard, host: string | undefined, origin: string | undefined): string | null;
31
+ export declare function startHttpServer(vaultRoot: string, config: DaftariConfig, tokens: ResolvedToken[], bind: string, port: number): Promise<ServeHandle>;
32
+ export declare function prepareStorageSync(config: DaftariConfig): Promise<Result<StorageBackend | null, Error>>;
33
+ export declare function startPeriodicSync(vaultRoot: string, backend: StorageBackend, intervalMinutes: number, syncFn?: typeof syncVault): () => void;
34
+ export declare function runServe(argv: string[]): Promise<number>;
35
+ export {};
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/serve/index.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAM,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAK1D,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,oBAAoB,CAAC;AAEpE,eAAO,MAAM,YAAY,OAAO,CAAC;AACjC,eAAO,MAAM,YAAY,cAAc,CAAC;AAiCxC,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAID,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,aAAa,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAgFtE;AAKD,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,GAAG,IAAI,CAW3F;AAyCD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAaD,UAAU,aAAa;IACrB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAM7D;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,MAAM,GAAG,IAAI,CAQf;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,aAAa,EAAE,EACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,CAAC,CAiLtB;AAOD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAI/C;AAOD,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,eAAe,EAAE,MAAM,EACvB,MAAM,GAAE,OAAO,SAAqB,GACnC,MAAM,IAAI,CAoBZ;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA6G9D"}
@@ -0,0 +1,507 @@
1
+ // `daftari serve` (#5, spec 2026-07-20) — server mode over Streamable HTTP.
2
+ //
3
+ // One always-on instance, many MCP clients. The mechanical core: createServer
4
+ // already parameterizes the access context, so each MCP session gets its own
5
+ // Server bound to the identity resolved when the session opened — no tool
6
+ // handler changes, and every RBAC/existence-disclosure invariant applies
7
+ // per session, transport-independently.
8
+ //
9
+ // Fail-loud rules (all from the spec, all startup or session-open errors,
10
+ // never silent downgrades):
11
+ // - non-loopback bind requires auth configured AND
12
+ // server.transport_security: external declared;
13
+ // - a token entry whose env var is unset, or whose role is not declared,
14
+ // refuses to start;
15
+ // - once auth is configured, a missing/unmatched bearer token is rejected
16
+ // at session open (401) on every bind — never downgraded to guest;
17
+ // - the deny-all guest exists only in the no-auth loopback configuration.
18
+ import { randomUUID, timingSafeEqual } from "node:crypto";
19
+ import { createServer as createHttpServer, } from "node:http";
20
+ import { resolve } from "node:path";
21
+ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
22
+ import { isInitializeRequest } from "@modelcontextprotocol/sdk/types.js";
23
+ import { createRemoteJWKSet, jwtVerify } from "jose";
24
+ import { GUEST_ROLE, resolveAccess } from "../access/rbac.js";
25
+ import { ok } from "../frontmatter/types.js";
26
+ import { installShutdownHandlers, parseFlag, startVaultServices } from "../index.js";
27
+ import { acquireLock } from "../lifecycle/lock.js";
28
+ import { setProvider } from "../search/vector.js";
29
+ import { createServer, resolveToolExposure, SERVER_VERSION } from "../server.js";
30
+ import { createBackend } from "../storage/backend.js";
31
+ import { directoryExists } from "../storage/local.js";
32
+ import { syncVault } from "../storage/sync.js";
33
+ import { loadConfig } from "../utils/config.js";
34
+ export const DEFAULT_PORT = 8787;
35
+ export const DEFAULT_BIND = "127.0.0.1";
36
+ const HELP = `daftari serve — server mode over Streamable HTTP (spec 2026-07-20).
37
+
38
+ Usage:
39
+ daftari serve --vault <path> [--port <n>] [--bind <addr>] [--takeover]
40
+
41
+ Defaults:
42
+ --port ${DEFAULT_PORT}
43
+ --bind ${DEFAULT_BIND} (loopback; non-loopback binds require auth AND
44
+ server.transport_security: external in config)
45
+
46
+ --takeover deliberately replace a LIVE daftari holding this vault
47
+ (a plain serve refuses against any live holder)
48
+
49
+ Endpoint: http://<bind>:<port>/mcp (MCP Streamable HTTP)
50
+
51
+ Auth: clients send "Authorization: Bearer <token>". Two composable schemes:
52
+ server.auth.tokens — static tokens; values come from the env vars named in
53
+ config, never from config itself.
54
+ server.auth.oauth — OAuth 2.1 resource-server validation: bearer JWTs are
55
+ verified against the IdP's JWKS (issuer + audience + expiry) and the
56
+ subject claim maps through the declared subjects table. A valid token
57
+ with an unmapped subject is 403 (authenticated, not authorized).
58
+ With any auth configured, a missing/invalid credential is a 401 at session
59
+ open — never a guest downgrade; with no auth (loopback only), sessions run
60
+ as the deny-all guest.
61
+
62
+ Exit codes: 2 config/usage error, 3 runtime error.
63
+ `;
64
+ const LOOPBACK_BINDS = new Set(["127.0.0.1", "::1", "localhost"]);
65
+ export function isLoopbackBind(bind) {
66
+ return LOOPBACK_BINDS.has(bind);
67
+ }
68
+ // Pure startup gating (#5): everything that must refuse before a socket
69
+ // opens. Exported for direct tests — the rules matter more than the wiring.
70
+ export function validateServeStartup(config, bind, env) {
71
+ const authConfigured = config.server.tokens.length > 0 || config.server.oauth !== undefined;
72
+ if (!isLoopbackBind(bind)) {
73
+ if (!authConfigured) {
74
+ return {
75
+ ok: false,
76
+ error: `refusing to bind ${bind} with no authentication configured — ` +
77
+ `declare server.auth.tokens and/or server.auth.oauth in .daftari/config.yaml`,
78
+ };
79
+ }
80
+ if (config.server.transportSecurity !== "external") {
81
+ return {
82
+ ok: false,
83
+ error: `refusing to bind ${bind}: declare server.transport_security: ` +
84
+ `"external" to acknowledge that TLS terminates upstream (or the ` +
85
+ `network is trusted); daftari never terminates TLS itself`,
86
+ };
87
+ }
88
+ }
89
+ const tokens = [];
90
+ for (const t of config.server.tokens) {
91
+ const value = env[t.env];
92
+ if (typeof value !== "string" || value.length === 0) {
93
+ return {
94
+ ok: false,
95
+ error: `server.auth.tokens entry for ${t.user} names env var ${t.env}, which is not set`,
96
+ };
97
+ }
98
+ if (!(t.role in config.roles)) {
99
+ return {
100
+ ok: false,
101
+ error: `server.auth.tokens entry for ${t.user} names role '${t.role}', ` +
102
+ `which is not declared in config roles`,
103
+ };
104
+ }
105
+ tokens.push({ secret: Buffer.from(value, "utf-8"), user: t.user, roleName: t.role });
106
+ }
107
+ // OAuth (#7): the block's shape was validated at config load; startup
108
+ // verifies what only this process can — URL parseability and that every
109
+ // mapped role is declared, the same loud posture as the token entries.
110
+ const oauth = config.server.oauth;
111
+ if (oauth) {
112
+ for (const field of [oauth.issuer, oauth.jwksUri]) {
113
+ let parsed;
114
+ try {
115
+ parsed = new URL(field);
116
+ }
117
+ catch {
118
+ return { ok: false, error: `server.auth.oauth: '${field}' is not a valid URL` };
119
+ }
120
+ // JWKS/issuer over plaintext http would let a network-position
121
+ // attacker serve a forged key set and mint arbitrary authorized
122
+ // sessions — https only, with loopback http as the sole escape hatch
123
+ // (local test IdPs; no network position exists on the host itself).
124
+ // URL.hostname keeps IPv6 brackets ("[::1]"); strip them so the
125
+ // loopback set (written for bare --bind values) matches.
126
+ const loopbackHost = isLoopbackBind(parsed.hostname.replace(/^\[|\]$/g, ""));
127
+ if (parsed.protocol !== "https:" && !(parsed.protocol === "http:" && loopbackHost)) {
128
+ return {
129
+ ok: false,
130
+ error: `server.auth.oauth: '${field}' must use https ` +
131
+ `(plain http is allowed only for loopback test IdPs)`,
132
+ };
133
+ }
134
+ }
135
+ for (const [subject, entry] of Object.entries(oauth.subjects)) {
136
+ if (!(entry.role in config.roles)) {
137
+ return {
138
+ ok: false,
139
+ error: `server.auth.oauth.subjects entry for ${subject} names role ` +
140
+ `'${entry.role}', which is not declared in config roles`,
141
+ };
142
+ }
143
+ }
144
+ }
145
+ return { ok: true, tokens };
146
+ }
147
+ // Constant-time match of the presented bearer against every configured
148
+ // secret. Iterates the FULL list regardless of an early match, so response
149
+ // timing does not reveal which (or whether any) entry matched.
150
+ export function matchToken(presented, tokens) {
151
+ const presentedBuf = Buffer.from(presented, "utf-8");
152
+ let matched = null;
153
+ for (const t of tokens) {
154
+ const sameLength = presentedBuf.length === t.secret.length;
155
+ // timingSafeEqual requires equal lengths; compare against self when the
156
+ // lengths differ so every candidate costs one comparison either way.
157
+ const equal = timingSafeEqual(sameLength ? presentedBuf : t.secret, t.secret);
158
+ if (sameLength && equal && matched === null)
159
+ matched = t;
160
+ }
161
+ return matched;
162
+ }
163
+ function bearerFrom(req) {
164
+ const header = req.headers.authorization;
165
+ if (typeof header !== "string")
166
+ return null;
167
+ const m = /^Bearer\s+(.+)$/.exec(header);
168
+ return m ? m[1] : null;
169
+ }
170
+ function writeJson(res, status, body) {
171
+ res.writeHead(status, { "content-type": "application/json" });
172
+ res.end(JSON.stringify(body));
173
+ }
174
+ function readBody(req) {
175
+ return new Promise((resolveBody, rejectBody) => {
176
+ const chunks = [];
177
+ req.on("data", (c) => chunks.push(c));
178
+ req.on("end", () => {
179
+ const raw = Buffer.concat(chunks).toString("utf-8");
180
+ if (raw.length === 0) {
181
+ resolveBody(undefined);
182
+ return;
183
+ }
184
+ try {
185
+ resolveBody(JSON.parse(raw));
186
+ }
187
+ catch (e) {
188
+ rejectBody(e);
189
+ }
190
+ });
191
+ req.on("error", rejectBody);
192
+ });
193
+ }
194
+ export function makeLoopbackGuard(port) {
195
+ const spellings = ["127.0.0.1", "localhost", "[::1]"];
196
+ return {
197
+ hosts: new Set(spellings.map((h) => `${h}:${port}`)),
198
+ origins: new Set(spellings.map((h) => `http://${h}:${port}`)),
199
+ };
200
+ }
201
+ export function violatesLoopbackGuard(guard, host, origin) {
202
+ if (!host || !guard.hosts.has(host)) {
203
+ return `Host header '${host ?? "<missing>"}' is not a loopback address for this server`;
204
+ }
205
+ if (origin !== undefined && !guard.origins.has(origin)) {
206
+ return `Origin '${origin}' is not allowed on a loopback bind`;
207
+ }
208
+ return null;
209
+ }
210
+ export function startHttpServer(vaultRoot, config, tokens, bind, port) {
211
+ const sessions = new Map();
212
+ const oauth = config.server.oauth;
213
+ const authConfigured = tokens.length > 0 || oauth !== undefined;
214
+ // JWKS key set, created lazily on the first OAuth verification: jose
215
+ // caches fetched keys, so the server stays stateless and offline-tolerant
216
+ // after the first fetch (spec Decision 2, phase 2).
217
+ let jwks = null;
218
+ // Set once the listener is up (the ephemeral-port case needs the BOUND
219
+ // port); no request can arrive before listen resolves.
220
+ let loopbackGuard = null;
221
+ // Resolves the request's identity under the spec's session rules, or
222
+ // writes the rejection and returns null. With auth configured:
223
+ // - a static-token match binds its declared identity;
224
+ // - else, with oauth declared, a bearer that verifies against the IdP's
225
+ // JWKS (issuer + audience + signature + expiry) maps its subject claim
226
+ // through the declared table — a valid-but-unmapped subject is 403
227
+ // (authenticated, not authorized), NEVER guest;
228
+ // - anything else is 401. With no auth at all (startup gating
229
+ // guarantees loopback) every session is the deny-all guest.
230
+ const authenticate = async (req, res) => {
231
+ if (!authConfigured) {
232
+ return resolveAccess(config, "guest", GUEST_ROLE);
233
+ }
234
+ const presented = bearerFrom(req);
235
+ if (presented !== null) {
236
+ const matched = matchToken(presented, tokens);
237
+ if (matched !== null) {
238
+ return resolveAccess(config, matched.user, matched.roleName);
239
+ }
240
+ if (oauth) {
241
+ try {
242
+ jwks ??= createRemoteJWKSet(new URL(oauth.jwksUri));
243
+ const verified = await jwtVerify(presented, jwks, {
244
+ issuer: oauth.issuer,
245
+ audience: oauth.audience,
246
+ });
247
+ const subject = verified.payload.sub;
248
+ // Own-property lookup only: `subjects` is a plain object, and a
249
+ // sub claim like "constructor" or "toString" would otherwise hit
250
+ // an inherited Object.prototype member and skip the 403.
251
+ const mapped = subject !== undefined && Object.hasOwn(oauth.subjects, subject)
252
+ ? oauth.subjects[subject]
253
+ : undefined;
254
+ if (mapped === undefined) {
255
+ writeJson(res, 403, {
256
+ error: "forbidden",
257
+ message: "authenticated subject has no declared role mapping",
258
+ });
259
+ return null;
260
+ }
261
+ return resolveAccess(config, mapped.user, mapped.role);
262
+ }
263
+ catch {
264
+ // Signature/issuer/audience/expiry failure — an invalid
265
+ // credential, not an unmapped one: 401 below.
266
+ }
267
+ }
268
+ }
269
+ writeJson(res, 401, {
270
+ error: "unauthorized",
271
+ message: "a valid bearer token is required",
272
+ });
273
+ return null;
274
+ };
275
+ const httpServer = createHttpServer((req, res) => {
276
+ void handle(req, res).catch((e) => {
277
+ const reason = e instanceof Error ? e.message : String(e);
278
+ if (!res.headersSent) {
279
+ writeJson(res, 500, { error: "internal", message: reason });
280
+ }
281
+ else {
282
+ res.end();
283
+ }
284
+ });
285
+ });
286
+ async function handle(req, res) {
287
+ // Rebinding guard runs FIRST — before routing, before auth — so no
288
+ // response (including 404s and 401 bodies) reaches a rebinded page.
289
+ if (loopbackGuard) {
290
+ const originHeader = req.headers.origin;
291
+ const violation = violatesLoopbackGuard(loopbackGuard, req.headers.host, typeof originHeader === "string" ? originHeader : undefined);
292
+ if (violation !== null) {
293
+ writeJson(res, 403, { error: "forbidden", message: violation });
294
+ return;
295
+ }
296
+ }
297
+ const url = new URL(req.url ?? "/", `http://${req.headers.host ?? "localhost"}`);
298
+ if (url.pathname !== "/mcp") {
299
+ writeJson(res, 404, { error: "not_found" });
300
+ return;
301
+ }
302
+ const access = await authenticate(req, res);
303
+ if (access === null)
304
+ return;
305
+ const sessionId = req.headers["mcp-session-id"];
306
+ const existing = typeof sessionId === "string" ? sessions.get(sessionId) : undefined;
307
+ if (existing) {
308
+ // A session id is routing state, not a credential: the request's own
309
+ // bearer must resolve to the identity the session was opened with.
310
+ if (existing.user !== access.user) {
311
+ writeJson(res, 401, {
312
+ error: "unauthorized",
313
+ message: "credential does not match the session's identity",
314
+ });
315
+ return;
316
+ }
317
+ const body = req.method === "POST" ? await readBody(req) : undefined;
318
+ await existing.transport.handleRequest(req, res, body);
319
+ return;
320
+ }
321
+ if (req.method !== "POST") {
322
+ writeJson(res, 400, { error: "bad_request", message: "unknown or missing session" });
323
+ return;
324
+ }
325
+ const body = await readBody(req);
326
+ if (!isInitializeRequest(body)) {
327
+ writeJson(res, 400, {
328
+ error: "bad_request",
329
+ message: "expected an initialize request to open a session",
330
+ });
331
+ return;
332
+ }
333
+ const transport = new StreamableHTTPServerTransport({
334
+ sessionIdGenerator: () => randomUUID(),
335
+ onsessioninitialized: (id) => {
336
+ sessions.set(id, { transport, user: access.user });
337
+ },
338
+ onsessionclosed: (id) => {
339
+ sessions.delete(id);
340
+ },
341
+ });
342
+ transport.onclose = () => {
343
+ const id = transport.sessionId;
344
+ if (id)
345
+ sessions.delete(id);
346
+ };
347
+ // One Server per session, bound to the session's identity — the whole
348
+ // point of Decision 2.
349
+ const server = createServer(vaultRoot, access, config.tools);
350
+ await server.connect(transport);
351
+ await transport.handleRequest(req, res, body);
352
+ }
353
+ return new Promise((resolveStart, rejectStart) => {
354
+ httpServer.once("error", rejectStart);
355
+ httpServer.listen(port, bind, () => {
356
+ httpServer.removeListener("error", rejectStart);
357
+ const address = httpServer.address();
358
+ const boundPort = typeof address === "object" && address !== null ? address.port : port;
359
+ if (isLoopbackBind(bind))
360
+ loopbackGuard = makeLoopbackGuard(boundPort);
361
+ resolveStart({
362
+ port: boundPort,
363
+ close: async () => {
364
+ // Sessions close concurrently — shutdown latency must not scale
365
+ // with the number of live clients.
366
+ await Promise.all([...sessions.values()].map((s) => s.transport.close().catch(() => { })));
367
+ sessions.clear();
368
+ await new Promise((r) => httpServer.close(() => r()));
369
+ },
370
+ });
371
+ });
372
+ });
373
+ }
374
+ // Startup gate for periodic storage sync (#6): when the config declares a
375
+ // sync cadence, the backend must be creatable BEFORE the server binds — a
376
+ // missing SDK or bad endpoint refuses at startup instead of leaving a
377
+ // healthy-looking server that silently never syncs. ok(null) when no
378
+ // periodic sync is configured.
379
+ export async function prepareStorageSync(config) {
380
+ const storage = config.storage;
381
+ if (storage?.syncIntervalMinutes === undefined)
382
+ return ok(null);
383
+ return createBackend(storage);
384
+ }
385
+ // The periodic push itself (#6): overlap-guarded (a slow push skips ticks
386
+ // rather than stacking), failures logged and never fatal — the backing is a
387
+ // durability channel, not a serving dependency. The timer is unref'd so it
388
+ // never keeps a dying process alive. Returns a stopper. `syncFn` is
389
+ // injectable for tests.
390
+ export function startPeriodicSync(vaultRoot, backend, intervalMinutes, syncFn = syncVault) {
391
+ let syncing = false;
392
+ const timer = setInterval(() => {
393
+ if (syncing)
394
+ return;
395
+ syncing = true;
396
+ void syncFn(vaultRoot, backend)
397
+ .then((r) => {
398
+ if (!r.ok) {
399
+ process.stderr.write(`daftari: warning: storage sync failed: ${r.error.message}\n`);
400
+ }
401
+ })
402
+ .finally(() => {
403
+ syncing = false;
404
+ });
405
+ }, intervalMinutes * 60 * 1000);
406
+ timer.unref();
407
+ return () => clearInterval(timer);
408
+ }
409
+ export async function runServe(argv) {
410
+ if (argv.includes("--help") || argv.includes("-h")) {
411
+ process.stdout.write(HELP);
412
+ return 0;
413
+ }
414
+ const vaultArg = parseFlag(argv, "vault");
415
+ if (!vaultArg) {
416
+ process.stderr.write("daftari serve: missing required --vault <path> argument\n");
417
+ return 2;
418
+ }
419
+ const vaultRoot = resolve(vaultArg);
420
+ if (!(await directoryExists(vaultRoot))) {
421
+ process.stderr.write(`daftari serve: vault directory not found: ${vaultRoot}\n`);
422
+ return 2;
423
+ }
424
+ const bind = parseFlag(argv, "bind") ?? DEFAULT_BIND;
425
+ const portRaw = parseFlag(argv, "port");
426
+ const port = portRaw === null ? DEFAULT_PORT : Number.parseInt(portRaw, 10);
427
+ if (Number.isNaN(port) || port < 0 || port > 65535) {
428
+ process.stderr.write(`daftari serve: invalid --port '${portRaw}'\n`);
429
+ return 2;
430
+ }
431
+ const config = loadConfig(vaultRoot);
432
+ if (!config.ok) {
433
+ process.stderr.write(`daftari serve: ${config.error.message}\n`);
434
+ return 2;
435
+ }
436
+ const gate = validateServeStartup(config.value, bind, process.env);
437
+ if (!gate.ok) {
438
+ process.stderr.write(`daftari serve: ${gate.error}\n`);
439
+ return 2;
440
+ }
441
+ // Storage backing for periodic sync (#6): created and validated BEFORE the
442
+ // lock and the listener. A config-declared capability that cannot run must
443
+ // refuse at startup — returning an exit code after the listener is up
444
+ // would leave a healthy-looking server that silently never syncs.
445
+ const syncBackend = await prepareStorageSync(config.value);
446
+ if (!syncBackend.ok) {
447
+ process.stderr.write(`daftari serve: ${syncBackend.error.message}\n`);
448
+ return 2;
449
+ }
450
+ const lock = await acquireLock(vaultRoot, SERVER_VERSION, {
451
+ mode: "serve",
452
+ bind: `${bind}:${port}`,
453
+ takeover: argv.includes("--takeover"),
454
+ });
455
+ if (!lock.ok) {
456
+ process.stderr.write(`daftari serve: ${lock.error.message}\n`);
457
+ return 2;
458
+ }
459
+ // Install immediately after the lock lands (the stdio path's guarantee):
460
+ // a failure between here and the listener opening must still release the
461
+ // lock on exit. `handle` is assigned once the listener is up.
462
+ let handle = null;
463
+ installShutdownHandlers(vaultRoot, () => {
464
+ if (handle)
465
+ void handle.close();
466
+ });
467
+ try {
468
+ setProvider(config.value.embeddingProvider);
469
+ }
470
+ catch (e) {
471
+ process.stderr.write(`daftari serve: ${e instanceof Error ? e.message : String(e)}\n`);
472
+ return 3;
473
+ }
474
+ // Startup warnings mirror stdio's: unknown tool names in the tools block.
475
+ for (const name of resolveToolExposure(config.value.tools).unknown) {
476
+ process.stderr.write(`daftari: warning: tools.include/exclude names unknown tool '${name}' — ignored\n`);
477
+ }
478
+ try {
479
+ handle = await startHttpServer(vaultRoot, config.value, gate.tokens, bind, port);
480
+ }
481
+ catch (e) {
482
+ process.stderr.write(`daftari serve: failed to bind ${bind}:${port}: ${e instanceof Error ? e.message : String(e)}\n`);
483
+ return 3;
484
+ }
485
+ const authParts = [
486
+ ...(gate.tokens.length > 0 ? [`${gate.tokens.length} token(s)`] : []),
487
+ ...(config.value.server.oauth !== undefined ? ["oauth"] : []),
488
+ ];
489
+ process.stderr.write(`daftari: serving vault at ${vaultRoot} — http://${bind}:${handle.port}/mcp ` +
490
+ `(${authParts.length > 0 ? authParts.join(" + ") : "no auth: guest-only"})\n`);
491
+ await startVaultServices(vaultRoot, {
492
+ warmEmbeddings: config.value.warmEmbeddings,
493
+ watch: config.value.watch,
494
+ });
495
+ // Periodic push to the storage backing (#6). The backend was created and
496
+ // validated BEFORE the listener opened (prepareStorageSync); from here on
497
+ // sync failures are logged, never fatal — the backing is a durability
498
+ // channel, not a serving dependency. Overlap-guarded: a slow push skips
499
+ // ticks rather than stacking.
500
+ const intervalMinutes = config.value.storage?.syncIntervalMinutes;
501
+ if (syncBackend.value !== null && intervalMinutes !== undefined) {
502
+ startPeriodicSync(vaultRoot, syncBackend.value, intervalMinutes);
503
+ process.stderr.write(`daftari: syncing to ${syncBackend.value.id} every ${intervalMinutes}m\n`);
504
+ }
505
+ return 0;
506
+ }
507
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/serve/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,0EAA0E;AAC1E,yEAAyE;AACzE,wCAAwC;AACxC,EAAE;AACF,0EAA0E;AAC1E,4BAA4B;AAC5B,qDAAqD;AACrD,oDAAoD;AACpD,2EAA2E;AAC3E,wBAAwB;AACxB,4EAA4E;AAC5E,uEAAuE;AACvE,4EAA4E;AAE5E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,YAAY,IAAI,gBAAgB,GAGjC,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACrD,OAAO,EAAsB,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,EAAE,EAAe,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,aAAa,EAAuB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAsB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEpE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AAExC,MAAM,IAAI,GAAG;;;;;;WAMF,YAAY;WACZ,YAAY;;;;;;;;;;;;;;;;;;;;CAoBtB,CAAC;AAUF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;AAElE,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,wEAAwE;AACxE,4EAA4E;AAC5E,MAAM,UAAU,oBAAoB,CAClC,MAAqB,EACrB,IAAY,EACZ,GAAsB;IAEtB,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;IAC5F,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EACH,oBAAoB,IAAI,uCAAuC;oBAC/D,6EAA6E;aAChF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;YACnD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EACH,oBAAoB,IAAI,uCAAuC;oBAC/D,iEAAiE;oBACjE,0DAA0D;aAC7D,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,gCAAgC,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,GAAG,oBAAoB;aACzF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EACH,gCAAgC,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,IAAI,KAAK;oBACjE,uCAAuC;aAC1C,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,sEAAsE;IACtE,wEAAwE;IACxE,uEAAuE;IACvE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;IAClC,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,IAAI,MAAW,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,KAAK,sBAAsB,EAAE,CAAC;YAClF,CAAC;YACD,+DAA+D;YAC/D,gEAAgE;YAChE,qEAAqE;YACrE,oEAAoE;YACpE,gEAAgE;YAChE,yDAAyD;YACzD,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7E,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,YAAY,CAAC,EAAE,CAAC;gBACnF,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EACH,uBAAuB,KAAK,mBAAmB;wBAC/C,qDAAqD;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EACH,wCAAwC,OAAO,cAAc;wBAC7D,IAAI,KAAK,CAAC,IAAI,0CAA0C;iBAC3D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC;AAED,uEAAuE;AACvE,2EAA2E;AAC3E,+DAA+D;AAC/D,MAAM,UAAU,UAAU,CAAC,SAAiB,EAAE,MAAuB;IACnE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACrD,IAAI,OAAO,GAAyB,IAAI,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3D,wEAAwE;QACxE,qEAAqE;QACrE,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QAC9E,IAAI,UAAU,IAAI,KAAK,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,GAAG,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,GAAoB;IACtC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;IACzC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,CAAC;AAED,SAAS,SAAS,CAAC,GAAmB,EAAE,MAAc,EAAE,IAAa;IACnE,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC9D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,GAAoB;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,WAAW,CAAC,SAAS,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,UAAU,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AA8BD,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO;QACL,KAAK,EAAE,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,EAAE,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAoB,EACpB,IAAwB,EACxB,MAA0B;IAE1B,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,gBAAgB,IAAI,IAAI,WAAW,6CAA6C,CAAC;IAC1F,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,OAAO,WAAW,MAAM,qCAAqC,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,SAAiB,EACjB,MAAqB,EACrB,MAAuB,EACvB,IAAY,EACZ,IAAY;IAEZ,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;IAClC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,KAAK,SAAS,CAAC;IAChE,qEAAqE;IACrE,0EAA0E;IAC1E,oDAAoD;IACpD,IAAI,IAAI,GAAiD,IAAI,CAAC;IAC9D,uEAAuE;IACvE,uDAAuD;IACvD,IAAI,aAAa,GAAyB,IAAI,CAAC;IAE/C,qEAAqE;IACrE,+DAA+D;IAC/D,wDAAwD;IACxD,0EAA0E;IAC1E,2EAA2E;IAC3E,uEAAuE;IACvE,oDAAoD;IACpD,gEAAgE;IAChE,gEAAgE;IAChE,MAAM,YAAY,GAAG,KAAK,EACxB,GAAoB,EACpB,GAAmB,EACY,EAAE;QACjC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC9C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC;oBACH,IAAI,KAAK,kBAAkB,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBACpD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE;wBAChD,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;qBACzB,CAAC,CAAC;oBACH,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;oBACrC,gEAAgE;oBAChE,iEAAiE;oBACjE,yDAAyD;oBACzD,MAAM,MAAM,GACV,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC;wBAC7D,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;wBACzB,CAAC,CAAC,SAAS,CAAC;oBAChB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACzB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE;4BAClB,KAAK,EAAE,WAAW;4BAClB,OAAO,EAAE,oDAAoD;yBAC9D,CAAC,CAAC;wBACH,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,OAAO,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACzD,CAAC;gBAAC,MAAM,CAAC;oBACP,wDAAwD;oBACxD,8CAA8C;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QACD,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE;YAClB,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,kCAAkC;SAC5C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,MAAM,CAAC,GAAoB,EAAE,GAAmB;QAC7D,mEAAmE;QACnE,oEAAoE;QACpE,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;YACxC,MAAM,SAAS,GAAG,qBAAqB,CACrC,aAAa,EACb,GAAG,CAAC,OAAO,CAAC,IAAI,EAChB,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAC5D,CAAC;YACF,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;gBAChE,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;QACjF,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC5B,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO;QAE5B,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAErF,IAAI,QAAQ,EAAE,CAAC;YACb,qEAAqE;YACrE,mEAAmE;YACnE,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE;oBAClB,KAAK,EAAE,cAAc;oBACrB,OAAO,EAAE,kDAAkD;iBAC5D,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,MAAM,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1B,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE;gBAClB,KAAK,EAAE,aAAa;gBACpB,OAAO,EAAE,kDAAkD;aAC5D,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC;YAClD,kBAAkB,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;YACtC,oBAAoB,EAAE,CAAC,EAAE,EAAE,EAAE;gBAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE;gBACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC;SACF,CAAC,CAAC;QACH,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;YACvB,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;YAC/B,IAAI,EAAE;gBAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC;QAEF,sEAAsE;QACtE,uBAAuB;QACvB,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;QAC/C,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACtC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;YACjC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACxF,IAAI,cAAc,CAAC,IAAI,CAAC;gBAAE,aAAa,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACvE,YAAY,CAAC;gBACX,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,KAAK,IAAI,EAAE;oBAChB,gEAAgE;oBAChE,mCAAmC;oBACnC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1F,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACjB,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9D,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0EAA0E;AAC1E,0EAA0E;AAC1E,sEAAsE;AACtE,qEAAqE;AACrE,+BAA+B;AAC/B,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,OAAO,EAAE,mBAAmB,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,0EAA0E;AAC1E,4EAA4E;AAC5E,2EAA2E;AAC3E,oEAAoE;AACpE,wBAAwB;AACxB,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,OAAuB,EACvB,eAAuB,EACvB,SAA2B,SAAS;IAEpC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,KAAK,GAAG,WAAW,CACvB,GAAG,EAAE;QACH,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;aAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;YACtF,CAAC;QACH,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC,EACD,eAAe,GAAG,EAAE,GAAG,IAAI,CAC5B,CAAC;IACF,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAc;IAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAClF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,SAAS,IAAI,CAAC,CAAC;QACjF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC;IACrD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5E,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,OAAO,KAAK,CAAC,CAAC;QACrE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QACjE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACnE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QACvD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,2EAA2E;IAC3E,2EAA2E;IAC3E,sEAAsE;IACtE,kEAAkE;IAClE,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,WAAW,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QACtE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE;QACxD,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;KACtC,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC;IACX,CAAC;IACD,yEAAyE;IACzE,yEAAyE;IACzE,8DAA8D;IAC9D,IAAI,MAAM,GAAuB,IAAI,CAAC;IACtC,uBAAuB,CAAC,SAAS,EAAE,GAAG,EAAE;QACtC,IAAI,MAAM;YAAE,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,0EAA0E;IAC1E,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+DAA+D,IAAI,eAAe,CACnF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACnF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,iCAAiC,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACjG,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,SAAS,GAAG;QAChB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6BAA6B,SAAS,aAAa,IAAI,IAAI,MAAM,CAAC,IAAI,OAAO;QAC3E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,KAAK,CAChF,CAAC;IAEF,MAAM,kBAAkB,CAAC,SAAS,EAAE;QAClC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc;QAC3C,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;KAC1B,CAAC,CAAC;IAEH,yEAAyE;IACzE,0EAA0E;IAC1E,sEAAsE;IACtE,wEAAwE;IACxE,8BAA8B;IAC9B,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC;IAClE,IAAI,WAAW,CAAC,KAAK,KAAK,IAAI,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAChE,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,WAAW,CAAC,KAAK,CAAC,EAAE,UAAU,eAAe,KAAK,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
package/dist/server.d.ts CHANGED
@@ -1,6 +1,15 @@
1
1
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
2
  import { type AccessContext } from "./access/rbac.js";
3
+ import type { ToolsConfig } from "./utils/config.js";
3
4
  export declare const SERVER_NAME = "daftari";
4
5
  export declare const SERVER_VERSION: string;
5
- export declare function createServer(vaultRoot: string, access?: AccessContext): Server;
6
+ export declare function registeredToolNames(): string[];
7
+ export declare const CORE_TOOLS: readonly string[];
8
+ export declare const STANDARD_TOOLS: readonly string[];
9
+ export interface ToolExposure {
10
+ exposed: Set<string>;
11
+ unknown: string[];
12
+ }
13
+ export declare function resolveToolExposure(tools: ToolsConfig): ToolExposure;
14
+ export declare function createServer(vaultRoot: string, access?: AccessContext, toolsConfig?: ToolsConfig): Server;
6
15
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,kBAAkB,CAAC;AASnE,eAAO,MAAM,WAAW,YAAY,CAAC;AAQrC,eAAO,MAAM,cAAc,QAAmB,CAAC;AAK/C,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,aAA6B,GAAG,MAAM,CA+D7F"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,kBAAkB,CAAC;AAcnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,eAAO,MAAM,WAAW,YAAY,CAAC;AAQrC,eAAO,MAAM,cAAc,QAAmB,CAAC;AAoB/C,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAWD,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAOvC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAc3C,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAIrB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAKD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,CAoBpE;AAQD,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,aAA6B,EACrC,WAAW,CAAC,EAAE,WAAW,GACxB,MAAM,CAwDR"}