@weavelogic/knowledge-graph-agent 0.2.0 → 0.3.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 (585) hide show
  1. package/README.md +686 -304
  2. package/dist/_virtual/_commonjsHelpers.js +7 -0
  3. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  4. package/dist/_virtual/additionalItems.js +5 -0
  5. package/dist/_virtual/additionalItems.js.map +1 -0
  6. package/dist/_virtual/additionalProperties.js +5 -0
  7. package/dist/_virtual/additionalProperties.js.map +1 -0
  8. package/dist/_virtual/ajv.js +6 -0
  9. package/dist/_virtual/ajv.js.map +1 -0
  10. package/dist/_virtual/ajv2.js +5 -0
  11. package/dist/_virtual/ajv2.js.map +1 -0
  12. package/dist/_virtual/allOf.js +5 -0
  13. package/dist/_virtual/allOf.js.map +1 -0
  14. package/dist/_virtual/anyOf.js +5 -0
  15. package/dist/_virtual/anyOf.js.map +1 -0
  16. package/dist/_virtual/applicability.js +5 -0
  17. package/dist/_virtual/applicability.js.map +1 -0
  18. package/dist/_virtual/boolSchema.js +5 -0
  19. package/dist/_virtual/boolSchema.js.map +1 -0
  20. package/dist/_virtual/code.js +5 -0
  21. package/dist/_virtual/code.js.map +1 -0
  22. package/dist/_virtual/code2.js +5 -0
  23. package/dist/_virtual/code2.js.map +1 -0
  24. package/dist/_virtual/const.js +5 -0
  25. package/dist/_virtual/const.js.map +1 -0
  26. package/dist/_virtual/contains.js +5 -0
  27. package/dist/_virtual/contains.js.map +1 -0
  28. package/dist/_virtual/core.js +5 -0
  29. package/dist/_virtual/core.js.map +1 -0
  30. package/dist/_virtual/dataType.js +5 -0
  31. package/dist/_virtual/dataType.js.map +1 -0
  32. package/dist/_virtual/defaults.js +5 -0
  33. package/dist/_virtual/defaults.js.map +1 -0
  34. package/dist/_virtual/dependencies.js +5 -0
  35. package/dist/_virtual/dependencies.js.map +1 -0
  36. package/dist/_virtual/draft7.js +5 -0
  37. package/dist/_virtual/draft7.js.map +1 -0
  38. package/dist/_virtual/enum.js +5 -0
  39. package/dist/_virtual/enum.js.map +1 -0
  40. package/dist/_virtual/equal.js +5 -0
  41. package/dist/_virtual/equal.js.map +1 -0
  42. package/dist/_virtual/errors.js +5 -0
  43. package/dist/_virtual/errors.js.map +1 -0
  44. package/dist/_virtual/format.js +5 -0
  45. package/dist/_virtual/format.js.map +1 -0
  46. package/dist/_virtual/formats.js +5 -0
  47. package/dist/_virtual/formats.js.map +1 -0
  48. package/dist/_virtual/id.js +5 -0
  49. package/dist/_virtual/id.js.map +1 -0
  50. package/dist/_virtual/if.js +5 -0
  51. package/dist/_virtual/if.js.map +1 -0
  52. package/dist/_virtual/index.js +8 -0
  53. package/dist/_virtual/index.js.map +1 -0
  54. package/dist/_virtual/index10.js +5 -0
  55. package/dist/_virtual/index10.js.map +1 -0
  56. package/dist/_virtual/index11.js +5 -0
  57. package/dist/_virtual/index11.js.map +1 -0
  58. package/dist/_virtual/index12.js +5 -0
  59. package/dist/_virtual/index12.js.map +1 -0
  60. package/dist/_virtual/index2.js +5 -0
  61. package/dist/_virtual/index2.js.map +1 -0
  62. package/dist/_virtual/index3.js +5 -0
  63. package/dist/_virtual/index3.js.map +1 -0
  64. package/dist/_virtual/index4.js +5 -0
  65. package/dist/_virtual/index4.js.map +1 -0
  66. package/dist/_virtual/index5.js +5 -0
  67. package/dist/_virtual/index5.js.map +1 -0
  68. package/dist/_virtual/index6.js +5 -0
  69. package/dist/_virtual/index6.js.map +1 -0
  70. package/dist/_virtual/index7.js +5 -0
  71. package/dist/_virtual/index7.js.map +1 -0
  72. package/dist/_virtual/index8.js +5 -0
  73. package/dist/_virtual/index8.js.map +1 -0
  74. package/dist/_virtual/index9.js +5 -0
  75. package/dist/_virtual/index9.js.map +1 -0
  76. package/dist/_virtual/items.js +5 -0
  77. package/dist/_virtual/items.js.map +1 -0
  78. package/dist/_virtual/items2020.js +5 -0
  79. package/dist/_virtual/items2020.js.map +1 -0
  80. package/dist/_virtual/keyword.js +5 -0
  81. package/dist/_virtual/keyword.js.map +1 -0
  82. package/dist/_virtual/limit.js +5 -0
  83. package/dist/_virtual/limit.js.map +1 -0
  84. package/dist/_virtual/limitItems.js +5 -0
  85. package/dist/_virtual/limitItems.js.map +1 -0
  86. package/dist/_virtual/limitLength.js +5 -0
  87. package/dist/_virtual/limitLength.js.map +1 -0
  88. package/dist/_virtual/limitNumber.js +5 -0
  89. package/dist/_virtual/limitNumber.js.map +1 -0
  90. package/dist/_virtual/limitProperties.js +5 -0
  91. package/dist/_virtual/limitProperties.js.map +1 -0
  92. package/dist/_virtual/metadata.js +5 -0
  93. package/dist/_virtual/metadata.js.map +1 -0
  94. package/dist/_virtual/multipleOf.js +5 -0
  95. package/dist/_virtual/multipleOf.js.map +1 -0
  96. package/dist/_virtual/names.js +5 -0
  97. package/dist/_virtual/names.js.map +1 -0
  98. package/dist/_virtual/not.js +5 -0
  99. package/dist/_virtual/not.js.map +1 -0
  100. package/dist/_virtual/oneOf.js +5 -0
  101. package/dist/_virtual/oneOf.js.map +1 -0
  102. package/dist/_virtual/pattern.js +5 -0
  103. package/dist/_virtual/pattern.js.map +1 -0
  104. package/dist/_virtual/patternProperties.js +5 -0
  105. package/dist/_virtual/patternProperties.js.map +1 -0
  106. package/dist/_virtual/prefixItems.js +5 -0
  107. package/dist/_virtual/prefixItems.js.map +1 -0
  108. package/dist/_virtual/properties.js +5 -0
  109. package/dist/_virtual/properties.js.map +1 -0
  110. package/dist/_virtual/propertyNames.js +5 -0
  111. package/dist/_virtual/propertyNames.js.map +1 -0
  112. package/dist/_virtual/ref.js +5 -0
  113. package/dist/_virtual/ref.js.map +1 -0
  114. package/dist/_virtual/ref_error.js +5 -0
  115. package/dist/_virtual/ref_error.js.map +1 -0
  116. package/dist/_virtual/required.js +5 -0
  117. package/dist/_virtual/required.js.map +1 -0
  118. package/dist/_virtual/resolve.js +5 -0
  119. package/dist/_virtual/resolve.js.map +1 -0
  120. package/dist/_virtual/rules.js +5 -0
  121. package/dist/_virtual/rules.js.map +1 -0
  122. package/dist/_virtual/scope.js +5 -0
  123. package/dist/_virtual/scope.js.map +1 -0
  124. package/dist/_virtual/subschema.js +5 -0
  125. package/dist/_virtual/subschema.js.map +1 -0
  126. package/dist/_virtual/thenElse.js +5 -0
  127. package/dist/_virtual/thenElse.js.map +1 -0
  128. package/dist/_virtual/types.js +5 -0
  129. package/dist/_virtual/types.js.map +1 -0
  130. package/dist/_virtual/ucs2length.js +5 -0
  131. package/dist/_virtual/ucs2length.js.map +1 -0
  132. package/dist/_virtual/uniqueItems.js +5 -0
  133. package/dist/_virtual/uniqueItems.js.map +1 -0
  134. package/dist/_virtual/uri.js +5 -0
  135. package/dist/_virtual/uri.js.map +1 -0
  136. package/dist/_virtual/util.js +5 -0
  137. package/dist/_virtual/util.js.map +1 -0
  138. package/dist/_virtual/validation_error.js +5 -0
  139. package/dist/_virtual/validation_error.js.map +1 -0
  140. package/dist/agents/analyst-agent.d.ts +230 -0
  141. package/dist/agents/analyst-agent.d.ts.map +1 -0
  142. package/dist/agents/analyst-agent.js +793 -0
  143. package/dist/agents/analyst-agent.js.map +1 -0
  144. package/dist/agents/architect-agent.d.ts +248 -0
  145. package/dist/agents/architect-agent.d.ts.map +1 -0
  146. package/dist/agents/architect-agent.js +685 -0
  147. package/dist/agents/architect-agent.js.map +1 -0
  148. package/dist/agents/base-agent.d.ts +169 -0
  149. package/dist/agents/base-agent.d.ts.map +1 -0
  150. package/dist/agents/base-agent.js +441 -0
  151. package/dist/agents/base-agent.js.map +1 -0
  152. package/dist/agents/coder-agent.d.ts +191 -0
  153. package/dist/agents/coder-agent.d.ts.map +1 -0
  154. package/dist/agents/coder-agent.js +1008 -0
  155. package/dist/agents/coder-agent.js.map +1 -0
  156. package/dist/agents/index.d.ts +18 -0
  157. package/dist/agents/index.d.ts.map +1 -0
  158. package/dist/agents/index.js +40 -0
  159. package/dist/agents/index.js.map +1 -0
  160. package/dist/agents/registry.d.ts +213 -0
  161. package/dist/agents/registry.d.ts.map +1 -0
  162. package/dist/agents/registry.js +419 -0
  163. package/dist/agents/registry.js.map +1 -0
  164. package/dist/agents/researcher-agent.d.ts +226 -0
  165. package/dist/agents/researcher-agent.d.ts.map +1 -0
  166. package/dist/agents/researcher-agent.js +572 -0
  167. package/dist/agents/researcher-agent.js.map +1 -0
  168. package/dist/agents/rules-engine.d.ts +320 -0
  169. package/dist/agents/rules-engine.d.ts.map +1 -0
  170. package/dist/agents/rules-engine.js +552 -0
  171. package/dist/agents/rules-engine.js.map +1 -0
  172. package/dist/agents/tester-agent.d.ts +219 -0
  173. package/dist/agents/tester-agent.d.ts.map +1 -0
  174. package/dist/agents/tester-agent.js +683 -0
  175. package/dist/agents/tester-agent.js.map +1 -0
  176. package/dist/agents/types.d.ts +425 -0
  177. package/dist/agents/types.d.ts.map +1 -0
  178. package/dist/agents/types.js +57 -0
  179. package/dist/agents/types.js.map +1 -0
  180. package/dist/caching/index.d.ts +55 -0
  181. package/dist/caching/index.d.ts.map +1 -0
  182. package/dist/caching/index.js +206 -0
  183. package/dist/caching/index.js.map +1 -0
  184. package/dist/caching/lru-cache.d.ts +254 -0
  185. package/dist/caching/lru-cache.d.ts.map +1 -0
  186. package/dist/caching/types.d.ts +95 -0
  187. package/dist/caching/types.d.ts.map +1 -0
  188. package/dist/chunking/chunker.d.ts +94 -0
  189. package/dist/chunking/chunker.d.ts.map +1 -0
  190. package/dist/chunking/index.d.ts +125 -0
  191. package/dist/chunking/index.d.ts.map +1 -0
  192. package/dist/chunking/index.js +283 -0
  193. package/dist/chunking/index.js.map +1 -0
  194. package/dist/chunking/types.d.ts +92 -0
  195. package/dist/chunking/types.d.ts.map +1 -0
  196. package/dist/cli/commands/commit.d.ts +11 -0
  197. package/dist/cli/commands/commit.d.ts.map +1 -0
  198. package/dist/cli/commands/commit.js +379 -0
  199. package/dist/cli/commands/commit.js.map +1 -0
  200. package/dist/cli/commands/config.d.ts +8 -0
  201. package/dist/cli/commands/config.d.ts.map +1 -0
  202. package/dist/cli/commands/config.js +107 -0
  203. package/dist/cli/commands/config.js.map +1 -0
  204. package/dist/cli/commands/cultivate.d.ts +16 -0
  205. package/dist/cli/commands/cultivate.d.ts.map +1 -0
  206. package/dist/cli/commands/cultivate.js +254 -0
  207. package/dist/cli/commands/cultivate.js.map +1 -0
  208. package/dist/cli/commands/diagnostics.d.ts +8 -0
  209. package/dist/cli/commands/diagnostics.d.ts.map +1 -0
  210. package/dist/cli/commands/diagnostics.js +140 -0
  211. package/dist/cli/commands/diagnostics.js.map +1 -0
  212. package/dist/cli/commands/generate.d.ts +13 -0
  213. package/dist/cli/commands/generate.d.ts.map +1 -0
  214. package/dist/cli/commands/init-primitives.d.ts +19 -0
  215. package/dist/cli/commands/init-primitives.d.ts.map +1 -0
  216. package/dist/cli/commands/init-primitives.js +208 -0
  217. package/dist/cli/commands/init-primitives.js.map +1 -0
  218. package/dist/cli/commands/sop.d.ts +14 -0
  219. package/dist/cli/commands/sop.d.ts.map +1 -0
  220. package/dist/cli/commands/sop.js +598 -0
  221. package/dist/cli/commands/sop.js.map +1 -0
  222. package/dist/cli/index.d.ts.map +1 -1
  223. package/dist/cli/index.js +40 -1
  224. package/dist/cli/index.js.map +1 -1
  225. package/dist/config/index.d.ts +153 -0
  226. package/dist/config/index.d.ts.map +1 -0
  227. package/dist/config/index.js +141 -0
  228. package/dist/config/index.js.map +1 -0
  229. package/dist/config/manager.d.ts +136 -0
  230. package/dist/config/manager.d.ts.map +1 -0
  231. package/dist/config/types.d.ts +127 -0
  232. package/dist/config/types.d.ts.map +1 -0
  233. package/dist/core/cache.d.ts +185 -0
  234. package/dist/core/cache.d.ts.map +1 -0
  235. package/dist/core/cache.js +435 -0
  236. package/dist/core/cache.js.map +1 -0
  237. package/dist/cultivation/deep-analyzer.d.ts +129 -0
  238. package/dist/cultivation/deep-analyzer.d.ts.map +1 -0
  239. package/dist/cultivation/deep-analyzer.js +322 -0
  240. package/dist/cultivation/deep-analyzer.js.map +1 -0
  241. package/dist/cultivation/index.d.ts +13 -0
  242. package/dist/cultivation/index.d.ts.map +1 -0
  243. package/dist/cultivation/seed-generator.d.ts +92 -0
  244. package/dist/cultivation/seed-generator.d.ts.map +1 -0
  245. package/dist/cultivation/seed-generator.js +1033 -0
  246. package/dist/cultivation/seed-generator.js.map +1 -0
  247. package/dist/cultivation/types.d.ts +230 -0
  248. package/dist/cultivation/types.d.ts.map +1 -0
  249. package/dist/generators/claude-md.d.ts +7 -0
  250. package/dist/generators/claude-md.d.ts.map +1 -1
  251. package/dist/generators/claude-md.js.map +1 -1
  252. package/dist/generators/docs-init.d.ts +6 -0
  253. package/dist/generators/docs-init.d.ts.map +1 -1
  254. package/dist/generators/docs-init.js.map +1 -1
  255. package/dist/health/checks.d.ts +135 -0
  256. package/dist/health/checks.d.ts.map +1 -0
  257. package/dist/health/index.d.ts +119 -0
  258. package/dist/health/index.d.ts.map +1 -0
  259. package/dist/health/index.js +191 -0
  260. package/dist/health/index.js.map +1 -0
  261. package/dist/health/monitor.d.ts +146 -0
  262. package/dist/health/monitor.d.ts.map +1 -0
  263. package/dist/health/types.d.ts +135 -0
  264. package/dist/health/types.d.ts.map +1 -0
  265. package/dist/index.d.ts +30 -0
  266. package/dist/index.d.ts.map +1 -1
  267. package/dist/index.js +173 -1
  268. package/dist/index.js.map +1 -1
  269. package/dist/integrations/auto-commit.d.ts +175 -0
  270. package/dist/integrations/auto-commit.d.ts.map +1 -0
  271. package/dist/integrations/auto-commit.js +399 -0
  272. package/dist/integrations/auto-commit.js.map +1 -0
  273. package/dist/integrations/git.d.ts +299 -0
  274. package/dist/integrations/git.d.ts.map +1 -0
  275. package/dist/integrations/git.js +465 -0
  276. package/dist/integrations/git.js.map +1 -0
  277. package/dist/mcp-server/bin.d.ts +11 -0
  278. package/dist/mcp-server/bin.d.ts.map +1 -0
  279. package/dist/mcp-server/handlers/index.d.ts +57 -0
  280. package/dist/mcp-server/handlers/index.d.ts.map +1 -0
  281. package/dist/mcp-server/handlers/index.js +235 -0
  282. package/dist/mcp-server/handlers/index.js.map +1 -0
  283. package/dist/mcp-server/index.d.ts +28 -0
  284. package/dist/mcp-server/index.d.ts.map +1 -0
  285. package/dist/mcp-server/server.d.ts +133 -0
  286. package/dist/mcp-server/server.d.ts.map +1 -0
  287. package/dist/mcp-server/server.js +280 -0
  288. package/dist/mcp-server/server.js.map +1 -0
  289. package/dist/mcp-server/tools/agents/index.d.ts +10 -0
  290. package/dist/mcp-server/tools/agents/index.d.ts.map +1 -0
  291. package/dist/mcp-server/tools/agents/list.d.ts +19 -0
  292. package/dist/mcp-server/tools/agents/list.d.ts.map +1 -0
  293. package/dist/mcp-server/tools/agents/spawn.d.ts +19 -0
  294. package/dist/mcp-server/tools/agents/spawn.d.ts.map +1 -0
  295. package/dist/mcp-server/tools/graph/generate.d.ts +21 -0
  296. package/dist/mcp-server/tools/graph/generate.d.ts.map +1 -0
  297. package/dist/mcp-server/tools/graph/index.d.ts +11 -0
  298. package/dist/mcp-server/tools/graph/index.d.ts.map +1 -0
  299. package/dist/mcp-server/tools/graph/query.d.ts +22 -0
  300. package/dist/mcp-server/tools/graph/query.d.ts.map +1 -0
  301. package/dist/mcp-server/tools/graph/stats.d.ts +22 -0
  302. package/dist/mcp-server/tools/graph/stats.d.ts.map +1 -0
  303. package/dist/mcp-server/tools/health.d.ts +21 -0
  304. package/dist/mcp-server/tools/health.d.ts.map +1 -0
  305. package/dist/mcp-server/tools/index.d.ts +13 -0
  306. package/dist/mcp-server/tools/index.d.ts.map +1 -0
  307. package/dist/mcp-server/tools/registry.d.ts +90 -0
  308. package/dist/mcp-server/tools/registry.d.ts.map +1 -0
  309. package/dist/mcp-server/tools/registry.js +663 -0
  310. package/dist/mcp-server/tools/registry.js.map +1 -0
  311. package/dist/mcp-server/tools/search/index.d.ts +10 -0
  312. package/dist/mcp-server/tools/search/index.d.ts.map +1 -0
  313. package/dist/mcp-server/tools/search/nodes.d.ts +22 -0
  314. package/dist/mcp-server/tools/search/nodes.d.ts.map +1 -0
  315. package/dist/mcp-server/tools/search/tags.d.ts +22 -0
  316. package/dist/mcp-server/tools/search/tags.d.ts.map +1 -0
  317. package/dist/mcp-server/types/index.d.ts +286 -0
  318. package/dist/mcp-server/types/index.d.ts.map +1 -0
  319. package/dist/memory/index.d.ts +10 -0
  320. package/dist/memory/index.d.ts.map +1 -0
  321. package/dist/memory/vault-sync.d.ts +212 -0
  322. package/dist/memory/vault-sync.d.ts.map +1 -0
  323. package/dist/memory/vault-sync.js +463 -0
  324. package/dist/memory/vault-sync.js.map +1 -0
  325. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +296 -0
  326. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -0
  327. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +71 -0
  328. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -0
  329. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +26 -0
  330. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js.map +1 -0
  331. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +407 -0
  332. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +1 -0
  333. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1332 -0
  334. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +1 -0
  335. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +71 -0
  336. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.map +1 -0
  337. package/dist/node_modules/ajv/dist/ajv.js +84 -0
  338. package/dist/node_modules/ajv/dist/ajv.js.map +1 -0
  339. package/dist/node_modules/ajv/dist/compile/codegen/code.js +160 -0
  340. package/dist/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
  341. package/dist/node_modules/ajv/dist/compile/codegen/index.js +728 -0
  342. package/dist/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
  343. package/dist/node_modules/ajv/dist/compile/codegen/scope.js +152 -0
  344. package/dist/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
  345. package/dist/node_modules/ajv/dist/compile/errors.js +131 -0
  346. package/dist/node_modules/ajv/dist/compile/errors.js.map +1 -0
  347. package/dist/node_modules/ajv/dist/compile/index.js +234 -0
  348. package/dist/node_modules/ajv/dist/compile/index.js.map +1 -0
  349. package/dist/node_modules/ajv/dist/compile/names.js +44 -0
  350. package/dist/node_modules/ajv/dist/compile/names.js.map +1 -0
  351. package/dist/node_modules/ajv/dist/compile/ref_error.js +22 -0
  352. package/dist/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
  353. package/dist/node_modules/ajv/dist/compile/resolve.js +163 -0
  354. package/dist/node_modules/ajv/dist/compile/resolve.js.map +1 -0
  355. package/dist/node_modules/ajv/dist/compile/rules.js +35 -0
  356. package/dist/node_modules/ajv/dist/compile/rules.js.map +1 -0
  357. package/dist/node_modules/ajv/dist/compile/util.js +173 -0
  358. package/dist/node_modules/ajv/dist/compile/util.js.map +1 -0
  359. package/dist/node_modules/ajv/dist/compile/validate/applicability.js +27 -0
  360. package/dist/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
  361. package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js +58 -0
  362. package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
  363. package/dist/node_modules/ajv/dist/compile/validate/dataType.js +193 -0
  364. package/dist/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
  365. package/dist/node_modules/ajv/dist/compile/validate/defaults.js +43 -0
  366. package/dist/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
  367. package/dist/node_modules/ajv/dist/compile/validate/index.js +522 -0
  368. package/dist/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
  369. package/dist/node_modules/ajv/dist/compile/validate/keyword.js +126 -0
  370. package/dist/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
  371. package/dist/node_modules/ajv/dist/compile/validate/subschema.js +89 -0
  372. package/dist/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
  373. package/dist/node_modules/ajv/dist/core.js +628 -0
  374. package/dist/node_modules/ajv/dist/core.js.map +1 -0
  375. package/dist/node_modules/ajv/dist/refs/data.json.js +24 -0
  376. package/dist/node_modules/ajv/dist/refs/data.json.js.map +1 -0
  377. package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js +25 -0
  378. package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js.map +1 -0
  379. package/dist/node_modules/ajv/dist/runtime/equal.js +16 -0
  380. package/dist/node_modules/ajv/dist/runtime/equal.js.map +1 -0
  381. package/dist/node_modules/ajv/dist/runtime/ucs2length.js +30 -0
  382. package/dist/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
  383. package/dist/node_modules/ajv/dist/runtime/uri.js +16 -0
  384. package/dist/node_modules/ajv/dist/runtime/uri.js.map +1 -0
  385. package/dist/node_modules/ajv/dist/runtime/validation_error.js +20 -0
  386. package/dist/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
  387. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +59 -0
  388. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
  389. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +114 -0
  390. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
  391. package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js +32 -0
  392. package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
  393. package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +22 -0
  394. package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
  395. package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js +100 -0
  396. package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
  397. package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +103 -0
  398. package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
  399. package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js +75 -0
  400. package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
  401. package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js +68 -0
  402. package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
  403. package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js +64 -0
  404. package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
  405. package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js +43 -0
  406. package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
  407. package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js +36 -0
  408. package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
  409. package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +64 -0
  410. package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
  411. package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +81 -0
  412. package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
  413. package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +22 -0
  414. package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
  415. package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js +66 -0
  416. package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
  417. package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +49 -0
  418. package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
  419. package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +23 -0
  420. package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
  421. package/dist/node_modules/ajv/dist/vocabularies/code.js +140 -0
  422. package/dist/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
  423. package/dist/node_modules/ajv/dist/vocabularies/core/id.js +19 -0
  424. package/dist/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
  425. package/dist/node_modules/ajv/dist/vocabularies/core/index.js +27 -0
  426. package/dist/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
  427. package/dist/node_modules/ajv/dist/vocabularies/core/ref.js +132 -0
  428. package/dist/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
  429. package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js +114 -0
  430. package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
  431. package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js +18 -0
  432. package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
  433. package/dist/node_modules/ajv/dist/vocabularies/draft7.js +31 -0
  434. package/dist/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
  435. package/dist/node_modules/ajv/dist/vocabularies/format/format.js +95 -0
  436. package/dist/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
  437. package/dist/node_modules/ajv/dist/vocabularies/format/index.js +16 -0
  438. package/dist/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
  439. package/dist/node_modules/ajv/dist/vocabularies/metadata.js +27 -0
  440. package/dist/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
  441. package/dist/node_modules/ajv/dist/vocabularies/validation/const.js +36 -0
  442. package/dist/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
  443. package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js +56 -0
  444. package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
  445. package/dist/node_modules/ajv/dist/vocabularies/validation/index.js +52 -0
  446. package/dist/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
  447. package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js +34 -0
  448. package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
  449. package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js +39 -0
  450. package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
  451. package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +37 -0
  452. package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
  453. package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +34 -0
  454. package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
  455. package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +33 -0
  456. package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
  457. package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js +34 -0
  458. package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
  459. package/dist/node_modules/ajv/dist/vocabularies/validation/required.js +89 -0
  460. package/dist/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
  461. package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +75 -0
  462. package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
  463. package/dist/node_modules/ajv-formats/dist/formats.js +209 -0
  464. package/dist/node_modules/ajv-formats/dist/formats.js.map +1 -0
  465. package/dist/node_modules/ajv-formats/dist/index.js +51 -0
  466. package/dist/node_modules/ajv-formats/dist/index.js.map +1 -0
  467. package/dist/node_modules/ajv-formats/dist/limit.js +80 -0
  468. package/dist/node_modules/ajv-formats/dist/limit.js.map +1 -0
  469. package/dist/node_modules/fast-deep-equal/index.js +39 -0
  470. package/dist/node_modules/fast-deep-equal/index.js.map +1 -0
  471. package/dist/node_modules/fast-uri/index.js +261 -0
  472. package/dist/node_modules/fast-uri/index.js.map +1 -0
  473. package/dist/node_modules/fast-uri/lib/schemes.js +215 -0
  474. package/dist/node_modules/fast-uri/lib/schemes.js.map +1 -0
  475. package/dist/node_modules/fast-uri/lib/utils.js +261 -0
  476. package/dist/node_modules/fast-uri/lib/utils.js.map +1 -0
  477. package/dist/node_modules/json-schema-traverse/index.js +92 -0
  478. package/dist/node_modules/json-schema-traverse/index.js.map +1 -0
  479. package/dist/node_modules/zod/v4/classic/errors.js +37 -0
  480. package/dist/node_modules/zod/v4/classic/errors.js.map +1 -0
  481. package/dist/node_modules/zod/v4/classic/iso.js +43 -0
  482. package/dist/node_modules/zod/v4/classic/iso.js.map +1 -0
  483. package/dist/node_modules/zod/v4/classic/parse.js +13 -0
  484. package/dist/node_modules/zod/v4/classic/parse.js.map +1 -0
  485. package/dist/node_modules/zod/v4/classic/schemas.js +688 -0
  486. package/dist/node_modules/zod/v4/classic/schemas.js.map +1 -0
  487. package/dist/node_modules/zod/v4/core/api.js +492 -0
  488. package/dist/node_modules/zod/v4/core/api.js.map +1 -0
  489. package/dist/node_modules/zod/v4/core/checks.js +405 -0
  490. package/dist/node_modules/zod/v4/core/checks.js.map +1 -0
  491. package/dist/node_modules/zod/v4/core/core.js +58 -0
  492. package/dist/node_modules/zod/v4/core/core.js.map +1 -0
  493. package/dist/node_modules/zod/v4/core/doc.js +38 -0
  494. package/dist/node_modules/zod/v4/core/doc.js.map +1 -0
  495. package/dist/node_modules/zod/v4/core/errors.js +82 -0
  496. package/dist/node_modules/zod/v4/core/errors.js.map +1 -0
  497. package/dist/node_modules/zod/v4/core/parse.js +60 -0
  498. package/dist/node_modules/zod/v4/core/parse.js.map +1 -0
  499. package/dist/node_modules/zod/v4/core/regexes.js +87 -0
  500. package/dist/node_modules/zod/v4/core/regexes.js.map +1 -0
  501. package/dist/node_modules/zod/v4/core/registries.js +52 -0
  502. package/dist/node_modules/zod/v4/core/registries.js.map +1 -0
  503. package/dist/node_modules/zod/v4/core/schemas.js +1283 -0
  504. package/dist/node_modules/zod/v4/core/schemas.js.map +1 -0
  505. package/dist/node_modules/zod/v4/core/util.js +341 -0
  506. package/dist/node_modules/zod/v4/core/util.js.map +1 -0
  507. package/dist/node_modules/zod/v4/core/versions.js +9 -0
  508. package/dist/node_modules/zod/v4/core/versions.js.map +1 -0
  509. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +2 -0
  510. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js.map +1 -0
  511. package/dist/reasoning/index.d.ts +74 -0
  512. package/dist/reasoning/index.d.ts.map +1 -0
  513. package/dist/reasoning/index.js +124 -0
  514. package/dist/reasoning/index.js.map +1 -0
  515. package/dist/reasoning/tracker.d.ts +210 -0
  516. package/dist/reasoning/tracker.d.ts.map +1 -0
  517. package/dist/reasoning/types.d.ts +146 -0
  518. package/dist/reasoning/types.d.ts.map +1 -0
  519. package/dist/recovery/backup.d.ts +110 -0
  520. package/dist/recovery/backup.d.ts.map +1 -0
  521. package/dist/recovery/index.d.ts +70 -0
  522. package/dist/recovery/index.d.ts.map +1 -0
  523. package/dist/recovery/index.js +186 -0
  524. package/dist/recovery/index.js.map +1 -0
  525. package/dist/recovery/integrity.d.ts +74 -0
  526. package/dist/recovery/integrity.d.ts.map +1 -0
  527. package/dist/recovery/types.d.ts +94 -0
  528. package/dist/recovery/types.d.ts.map +1 -0
  529. package/dist/services/index.d.ts +130 -0
  530. package/dist/services/index.d.ts.map +1 -0
  531. package/dist/services/index.js +134 -0
  532. package/dist/services/index.js.map +1 -0
  533. package/dist/services/manager.d.ts +140 -0
  534. package/dist/services/manager.d.ts.map +1 -0
  535. package/dist/services/types.d.ts +106 -0
  536. package/dist/services/types.d.ts.map +1 -0
  537. package/dist/services/watchers.d.ts +95 -0
  538. package/dist/services/watchers.d.ts.map +1 -0
  539. package/dist/sops/compliance-checker.d.ts +83 -0
  540. package/dist/sops/compliance-checker.d.ts.map +1 -0
  541. package/dist/sops/compliance-checker.js +399 -0
  542. package/dist/sops/compliance-checker.js.map +1 -0
  543. package/dist/sops/gap-analyzer.d.ts +124 -0
  544. package/dist/sops/gap-analyzer.d.ts.map +1 -0
  545. package/dist/sops/gap-analyzer.js +313 -0
  546. package/dist/sops/gap-analyzer.js.map +1 -0
  547. package/dist/sops/index.d.ts +14 -0
  548. package/dist/sops/index.d.ts.map +1 -0
  549. package/dist/sops/overlay-manager.d.ts +115 -0
  550. package/dist/sops/overlay-manager.d.ts.map +1 -0
  551. package/dist/sops/overlay-manager.js +394 -0
  552. package/dist/sops/overlay-manager.js.map +1 -0
  553. package/dist/sops/registry.d.ts +73 -0
  554. package/dist/sops/registry.d.ts.map +1 -0
  555. package/dist/sops/registry.js +919 -0
  556. package/dist/sops/registry.js.map +1 -0
  557. package/dist/sops/types.d.ts +377 -0
  558. package/dist/sops/types.d.ts.map +1 -0
  559. package/dist/sops/types.js +46 -0
  560. package/dist/sops/types.js.map +1 -0
  561. package/dist/utils/error-recovery.d.ts +230 -0
  562. package/dist/utils/error-recovery.d.ts.map +1 -0
  563. package/dist/utils/error-recovery.js +228 -0
  564. package/dist/utils/error-recovery.js.map +1 -0
  565. package/dist/utils/error-taxonomy.d.ts +149 -0
  566. package/dist/utils/error-taxonomy.d.ts.map +1 -0
  567. package/dist/utils/error-taxonomy.js +260 -0
  568. package/dist/utils/error-taxonomy.js.map +1 -0
  569. package/dist/utils/index.d.ts +11 -0
  570. package/dist/utils/index.d.ts.map +1 -0
  571. package/dist/utils/logger.d.ts +139 -0
  572. package/dist/utils/logger.d.ts.map +1 -0
  573. package/dist/utils/logger.js +311 -0
  574. package/dist/utils/logger.js.map +1 -0
  575. package/dist/workflows/index.d.ts +11 -0
  576. package/dist/workflows/index.d.ts.map +1 -0
  577. package/dist/workflows/registry.d.ts +118 -0
  578. package/dist/workflows/registry.d.ts.map +1 -0
  579. package/dist/workflows/registry.js +575 -0
  580. package/dist/workflows/registry.js.map +1 -0
  581. package/dist/workflows/types.d.ts +322 -0
  582. package/dist/workflows/types.d.ts.map +1 -0
  583. package/dist/workflows/types.js +16 -0
  584. package/dist/workflows/types.js.map +1 -0
  585. package/package.json +1 -1
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Database Backup Manager
3
+ *
4
+ * Provides backup creation, restore, and automatic backup scheduling
5
+ * for SQLite databases with optional compression.
6
+ *
7
+ * @module recovery/backup
8
+ */
9
+ import type { BackupConfig, BackupInfo } from './types.js';
10
+ /**
11
+ * Manages database backups with compression and automatic scheduling
12
+ */
13
+ export declare class BackupManager {
14
+ private config;
15
+ private timer?;
16
+ private dbPath;
17
+ /**
18
+ * Create a new BackupManager
19
+ *
20
+ * @param dbPath - Path to the SQLite database file
21
+ * @param config - Optional backup configuration
22
+ */
23
+ constructor(dbPath: string, config?: Partial<BackupConfig>);
24
+ /**
25
+ * Create a new backup of the database
26
+ *
27
+ * @returns Information about the created backup
28
+ * @throws Error if backup creation fails
29
+ */
30
+ createBackup(): Promise<BackupInfo>;
31
+ /**
32
+ * Restore the database from a backup
33
+ *
34
+ * @param backupId - ID of the backup to restore
35
+ * @throws Error if backup not found or restore fails
36
+ */
37
+ restore(backupId: string): Promise<void>;
38
+ /**
39
+ * List all available backups
40
+ *
41
+ * @returns Array of backup information, sorted by timestamp (newest first)
42
+ */
43
+ listBackups(): BackupInfo[];
44
+ /**
45
+ * Get a specific backup by ID
46
+ *
47
+ * @param id - Backup ID
48
+ * @returns Backup information or undefined if not found
49
+ */
50
+ getBackup(id: string): BackupInfo | undefined;
51
+ /**
52
+ * Get the most recent backup
53
+ *
54
+ * @returns Most recent backup or undefined if no backups exist
55
+ */
56
+ getLatestBackup(): BackupInfo | undefined;
57
+ /**
58
+ * Delete a specific backup
59
+ *
60
+ * @param backupId - ID of the backup to delete
61
+ * @returns True if deleted, false if not found
62
+ */
63
+ deleteBackup(backupId: string): boolean;
64
+ /**
65
+ * Verify a backup's integrity
66
+ *
67
+ * @param backupId - ID of the backup to verify
68
+ * @returns True if backup is valid
69
+ */
70
+ verifyBackup(backupId: string): boolean;
71
+ /**
72
+ * Get backup configuration
73
+ */
74
+ getConfig(): BackupConfig;
75
+ /**
76
+ * Update backup configuration
77
+ *
78
+ * @param config - Partial configuration to update
79
+ */
80
+ updateConfig(config: Partial<BackupConfig>): void;
81
+ /**
82
+ * Remove old backups exceeding maxBackups
83
+ */
84
+ private cleanOldBackups;
85
+ /**
86
+ * Calculate SHA-256 checksum of a file
87
+ */
88
+ private calculateChecksum;
89
+ /**
90
+ * Start automatic backup scheduling
91
+ */
92
+ startAutoBackup(): void;
93
+ /**
94
+ * Stop automatic backup scheduling
95
+ */
96
+ stopAutoBackup(): void;
97
+ /**
98
+ * Check if auto backup is running
99
+ */
100
+ isAutoBackupRunning(): boolean;
101
+ }
102
+ /**
103
+ * Create a BackupManager instance
104
+ *
105
+ * @param dbPath - Path to the SQLite database file
106
+ * @param config - Optional backup configuration
107
+ * @returns BackupManager instance
108
+ */
109
+ export declare function createBackupManager(dbPath: string, config?: Partial<BackupConfig>): BackupManager;
110
+ //# sourceMappingURL=backup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/recovery/backup.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgBH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AA0B3D;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAC,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAS;IAEvB;;;;;OAKG;gBACS,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;IAiC1D;;;;;OAKG;IACG,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC;IAqDzC;;;;;OAKG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC9C;;;;OAIG;IACH,WAAW,IAAI,UAAU,EAAE;IA0B3B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI7C;;;;OAIG;IACH,eAAe,IAAI,UAAU,GAAG,SAAS;IAKzC;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAkBvC;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAcvC;;OAEG;IACH,SAAS,IAAI,YAAY;IAIzB;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAejD;;OAEG;YACW,eAAe;IAoB7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,eAAe,IAAI,IAAI;IAcvB;;OAEG;IACH,cAAc,IAAI,IAAI;IAQtB;;OAEG;IACH,mBAAmB,IAAI,OAAO;CAG/B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,aAAa,CAEjG"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Recovery Module
3
+ *
4
+ * Provides backup, restore, and integrity checking capabilities.
5
+ */
6
+ export interface BackupConfig {
7
+ backupDir: string;
8
+ maxBackups?: number;
9
+ compress?: boolean;
10
+ includeDatabase?: boolean;
11
+ includeCache?: boolean;
12
+ includeConfig?: boolean;
13
+ }
14
+ export interface BackupInfo {
15
+ id: string;
16
+ path: string;
17
+ createdAt: Date;
18
+ size: number;
19
+ components: string[];
20
+ version: string;
21
+ checksum?: string;
22
+ }
23
+ export interface RestoreResult {
24
+ success: boolean;
25
+ restoredComponents: string[];
26
+ error?: string;
27
+ warnings: string[];
28
+ duration: number;
29
+ }
30
+ export interface RecoveryOptions {
31
+ force?: boolean;
32
+ verify?: boolean;
33
+ skipComponents?: string[];
34
+ dryRun?: boolean;
35
+ }
36
+ export interface IntegrityCheckResult {
37
+ valid: boolean;
38
+ components: TableIntegrity[];
39
+ issues: string[];
40
+ duration: number;
41
+ }
42
+ export interface TableIntegrity {
43
+ table: string;
44
+ rowCount: number;
45
+ validStructure: boolean;
46
+ fkViolations: number;
47
+ orphanedRecords: number;
48
+ }
49
+ export declare class BackupManager {
50
+ private config;
51
+ constructor(config: BackupConfig);
52
+ createBackup(description?: string): Promise<BackupInfo>;
53
+ listBackups(): Promise<BackupInfo[]>;
54
+ restore(backupId: string, options?: RecoveryOptions): Promise<RestoreResult>;
55
+ deleteBackup(backupId: string): Promise<boolean>;
56
+ private cleanupOldBackups;
57
+ }
58
+ export declare function createBackupManager(config: BackupConfig): BackupManager;
59
+ export declare class IntegrityChecker {
60
+ private dbPath;
61
+ constructor(dbPath: string);
62
+ check(): Promise<IntegrityCheckResult>;
63
+ repair(): Promise<{
64
+ repaired: boolean;
65
+ actions: string[];
66
+ }>;
67
+ }
68
+ export declare function createIntegrityChecker(dbPath: string): IntegrityChecker;
69
+ export declare function checkDatabaseIntegrity(dbPath: string): Promise<IntegrityCheckResult>;
70
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recovery/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AAMD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAW1B,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA0CvD,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAiCpC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAmDhF,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAWxC,iBAAiB;CAWhC;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAEvE;AAMD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAIpB,KAAK,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAuBtC,MAAM,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAIlE;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAEvE;AAED,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAG1F"}
@@ -0,0 +1,186 @@
1
+ class BackupManager {
2
+ config;
3
+ constructor(config) {
4
+ this.config = {
5
+ maxBackups: 10,
6
+ compress: true,
7
+ includeDatabase: true,
8
+ includeCache: true,
9
+ includeConfig: true,
10
+ ...config
11
+ };
12
+ }
13
+ async createBackup(description) {
14
+ const { mkdirSync, existsSync, writeFileSync, statSync } = await import("fs");
15
+ const { join } = await import("path");
16
+ const crypto = await import("crypto");
17
+ if (!existsSync(this.config.backupDir)) {
18
+ mkdirSync(this.config.backupDir, { recursive: true });
19
+ }
20
+ const id = `backup-${Date.now()}`;
21
+ const backupPath = join(this.config.backupDir, id);
22
+ mkdirSync(backupPath, { recursive: true });
23
+ const components = [];
24
+ const manifest = {
25
+ id,
26
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
27
+ description,
28
+ version: "1.0.0",
29
+ components
30
+ };
31
+ writeFileSync(join(backupPath, "manifest.json"), JSON.stringify(manifest, null, 2));
32
+ const stats = statSync(backupPath);
33
+ const hash = crypto.createHash("sha256");
34
+ hash.update(JSON.stringify(manifest));
35
+ const checksum = hash.digest("hex");
36
+ const backupInfo = {
37
+ id,
38
+ path: backupPath,
39
+ createdAt: /* @__PURE__ */ new Date(),
40
+ size: stats.size,
41
+ components,
42
+ version: "1.0.0",
43
+ checksum
44
+ };
45
+ await this.cleanupOldBackups();
46
+ return backupInfo;
47
+ }
48
+ async listBackups() {
49
+ const { readdirSync, existsSync, readFileSync, statSync } = await import("fs");
50
+ const { join } = await import("path");
51
+ if (!existsSync(this.config.backupDir)) return [];
52
+ const backups = [];
53
+ const entries = readdirSync(this.config.backupDir);
54
+ for (const entry of entries) {
55
+ const backupPath = join(this.config.backupDir, entry);
56
+ const manifestPath = join(backupPath, "manifest.json");
57
+ if (existsSync(manifestPath)) {
58
+ try {
59
+ const manifest = JSON.parse(readFileSync(manifestPath, "utf-8"));
60
+ const stats = statSync(backupPath);
61
+ backups.push({
62
+ id: manifest.id,
63
+ path: backupPath,
64
+ createdAt: new Date(manifest.createdAt),
65
+ size: stats.size,
66
+ components: manifest.components || [],
67
+ version: manifest.version || "1.0.0",
68
+ checksum: manifest.checksum
69
+ });
70
+ } catch {
71
+ }
72
+ }
73
+ }
74
+ return backups.sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime());
75
+ }
76
+ async restore(backupId, options = {}) {
77
+ const startTime = Date.now();
78
+ const { existsSync, readFileSync } = await import("fs");
79
+ const { join } = await import("path");
80
+ const backupPath = join(this.config.backupDir, backupId);
81
+ const manifestPath = join(backupPath, "manifest.json");
82
+ if (!existsSync(manifestPath)) {
83
+ return {
84
+ success: false,
85
+ restoredComponents: [],
86
+ error: `Backup not found: ${backupId}`,
87
+ warnings: [],
88
+ duration: Date.now() - startTime
89
+ };
90
+ }
91
+ try {
92
+ const manifest = JSON.parse(readFileSync(manifestPath, "utf-8"));
93
+ const restoredComponents = [];
94
+ const warnings = [];
95
+ if (options.dryRun) {
96
+ return {
97
+ success: true,
98
+ restoredComponents: manifest.components || [],
99
+ warnings: ["Dry run - no changes made"],
100
+ duration: Date.now() - startTime
101
+ };
102
+ }
103
+ restoredComponents.push(...manifest.components || []);
104
+ return {
105
+ success: true,
106
+ restoredComponents,
107
+ warnings,
108
+ duration: Date.now() - startTime
109
+ };
110
+ } catch (error) {
111
+ return {
112
+ success: false,
113
+ restoredComponents: [],
114
+ error: error instanceof Error ? error.message : String(error),
115
+ warnings: [],
116
+ duration: Date.now() - startTime
117
+ };
118
+ }
119
+ }
120
+ async deleteBackup(backupId) {
121
+ const { existsSync, rmSync } = await import("fs");
122
+ const { join } = await import("path");
123
+ const backupPath = join(this.config.backupDir, backupId);
124
+ if (!existsSync(backupPath)) return false;
125
+ rmSync(backupPath, { recursive: true, force: true });
126
+ return true;
127
+ }
128
+ async cleanupOldBackups() {
129
+ const backups = await this.listBackups();
130
+ const maxBackups = this.config.maxBackups || 10;
131
+ if (backups.length > maxBackups) {
132
+ const toDelete = backups.slice(maxBackups);
133
+ for (const backup of toDelete) {
134
+ await this.deleteBackup(backup.id);
135
+ }
136
+ }
137
+ }
138
+ }
139
+ function createBackupManager(config) {
140
+ return new BackupManager(config);
141
+ }
142
+ class IntegrityChecker {
143
+ dbPath;
144
+ constructor(dbPath) {
145
+ this.dbPath = dbPath;
146
+ }
147
+ async check() {
148
+ const startTime = Date.now();
149
+ const issues = [];
150
+ const components = [];
151
+ const { existsSync } = await import("fs");
152
+ if (!existsSync(this.dbPath)) {
153
+ return {
154
+ valid: false,
155
+ components: [],
156
+ issues: ["Database file not found"],
157
+ duration: Date.now() - startTime
158
+ };
159
+ }
160
+ return {
161
+ valid: issues.length === 0,
162
+ components,
163
+ issues,
164
+ duration: Date.now() - startTime
165
+ };
166
+ }
167
+ async repair() {
168
+ const actions = [];
169
+ return { repaired: true, actions };
170
+ }
171
+ }
172
+ function createIntegrityChecker(dbPath) {
173
+ return new IntegrityChecker(dbPath);
174
+ }
175
+ async function checkDatabaseIntegrity(dbPath) {
176
+ const checker = new IntegrityChecker(dbPath);
177
+ return checker.check();
178
+ }
179
+ export {
180
+ BackupManager,
181
+ IntegrityChecker,
182
+ checkDatabaseIntegrity,
183
+ createBackupManager,
184
+ createIntegrityChecker
185
+ };
186
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/recovery/index.ts"],"sourcesContent":["/**\n * Recovery Module\n *\n * Provides backup, restore, and integrity checking capabilities.\n */\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface BackupConfig {\n backupDir: string;\n maxBackups?: number;\n compress?: boolean;\n includeDatabase?: boolean;\n includeCache?: boolean;\n includeConfig?: boolean;\n}\n\nexport interface BackupInfo {\n id: string;\n path: string;\n createdAt: Date;\n size: number;\n components: string[];\n version: string;\n checksum?: string;\n}\n\nexport interface RestoreResult {\n success: boolean;\n restoredComponents: string[];\n error?: string;\n warnings: string[];\n duration: number;\n}\n\nexport interface RecoveryOptions {\n force?: boolean;\n verify?: boolean;\n skipComponents?: string[];\n dryRun?: boolean;\n}\n\nexport interface IntegrityCheckResult {\n valid: boolean;\n components: TableIntegrity[];\n issues: string[];\n duration: number;\n}\n\nexport interface TableIntegrity {\n table: string;\n rowCount: number;\n validStructure: boolean;\n fkViolations: number;\n orphanedRecords: number;\n}\n\n// ============================================================================\n// Backup Manager\n// ============================================================================\n\nexport class BackupManager {\n private config: BackupConfig;\n\n constructor(config: BackupConfig) {\n this.config = {\n maxBackups: 10,\n compress: true,\n includeDatabase: true,\n includeCache: true,\n includeConfig: true,\n ...config,\n };\n }\n\n async createBackup(description?: string): Promise<BackupInfo> {\n const { mkdirSync, existsSync, writeFileSync, statSync } = await import('fs');\n const { join } = await import('path');\n const crypto = await import('crypto');\n\n if (!existsSync(this.config.backupDir)) {\n mkdirSync(this.config.backupDir, { recursive: true });\n }\n\n const id = `backup-${Date.now()}`;\n const backupPath = join(this.config.backupDir, id);\n mkdirSync(backupPath, { recursive: true });\n\n const components: string[] = [];\n const manifest = {\n id,\n createdAt: new Date().toISOString(),\n description,\n version: '1.0.0',\n components,\n };\n\n writeFileSync(join(backupPath, 'manifest.json'), JSON.stringify(manifest, null, 2));\n const stats = statSync(backupPath);\n const hash = crypto.createHash('sha256');\n hash.update(JSON.stringify(manifest));\n const checksum = hash.digest('hex');\n\n const backupInfo: BackupInfo = {\n id,\n path: backupPath,\n createdAt: new Date(),\n size: stats.size,\n components,\n version: '1.0.0',\n checksum,\n };\n\n await this.cleanupOldBackups();\n return backupInfo;\n }\n\n async listBackups(): Promise<BackupInfo[]> {\n const { readdirSync, existsSync, readFileSync, statSync } = await import('fs');\n const { join } = await import('path');\n\n if (!existsSync(this.config.backupDir)) return [];\n\n const backups: BackupInfo[] = [];\n const entries = readdirSync(this.config.backupDir);\n\n for (const entry of entries) {\n const backupPath = join(this.config.backupDir, entry);\n const manifestPath = join(backupPath, 'manifest.json');\n\n if (existsSync(manifestPath)) {\n try {\n const manifest = JSON.parse(readFileSync(manifestPath, 'utf-8'));\n const stats = statSync(backupPath);\n backups.push({\n id: manifest.id,\n path: backupPath,\n createdAt: new Date(manifest.createdAt),\n size: stats.size,\n components: manifest.components || [],\n version: manifest.version || '1.0.0',\n checksum: manifest.checksum,\n });\n } catch {}\n }\n }\n\n return backups.sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime());\n }\n\n async restore(backupId: string, options: RecoveryOptions = {}): Promise<RestoreResult> {\n const startTime = Date.now();\n const { existsSync, readFileSync } = await import('fs');\n const { join } = await import('path');\n\n const backupPath = join(this.config.backupDir, backupId);\n const manifestPath = join(backupPath, 'manifest.json');\n\n if (!existsSync(manifestPath)) {\n return {\n success: false,\n restoredComponents: [],\n error: `Backup not found: ${backupId}`,\n warnings: [],\n duration: Date.now() - startTime,\n };\n }\n\n try {\n const manifest = JSON.parse(readFileSync(manifestPath, 'utf-8'));\n const restoredComponents: string[] = [];\n const warnings: string[] = [];\n\n if (options.dryRun) {\n return {\n success: true,\n restoredComponents: manifest.components || [],\n warnings: ['Dry run - no changes made'],\n duration: Date.now() - startTime,\n };\n }\n\n restoredComponents.push(...(manifest.components || []));\n\n return {\n success: true,\n restoredComponents,\n warnings,\n duration: Date.now() - startTime,\n };\n } catch (error) {\n return {\n success: false,\n restoredComponents: [],\n error: error instanceof Error ? error.message : String(error),\n warnings: [],\n duration: Date.now() - startTime,\n };\n }\n }\n\n async deleteBackup(backupId: string): Promise<boolean> {\n const { existsSync, rmSync } = await import('fs');\n const { join } = await import('path');\n\n const backupPath = join(this.config.backupDir, backupId);\n if (!existsSync(backupPath)) return false;\n\n rmSync(backupPath, { recursive: true, force: true });\n return true;\n }\n\n private async cleanupOldBackups(): Promise<void> {\n const backups = await this.listBackups();\n const maxBackups = this.config.maxBackups || 10;\n\n if (backups.length > maxBackups) {\n const toDelete = backups.slice(maxBackups);\n for (const backup of toDelete) {\n await this.deleteBackup(backup.id);\n }\n }\n }\n}\n\nexport function createBackupManager(config: BackupConfig): BackupManager {\n return new BackupManager(config);\n}\n\n// ============================================================================\n// Integrity Checker\n// ============================================================================\n\nexport class IntegrityChecker {\n private dbPath: string;\n\n constructor(dbPath: string) {\n this.dbPath = dbPath;\n }\n\n async check(): Promise<IntegrityCheckResult> {\n const startTime = Date.now();\n const issues: string[] = [];\n const components: TableIntegrity[] = [];\n const { existsSync } = await import('fs');\n\n if (!existsSync(this.dbPath)) {\n return {\n valid: false,\n components: [],\n issues: ['Database file not found'],\n duration: Date.now() - startTime,\n };\n }\n\n return {\n valid: issues.length === 0,\n components,\n issues,\n duration: Date.now() - startTime,\n };\n }\n\n async repair(): Promise<{ repaired: boolean; actions: string[] }> {\n const actions: string[] = [];\n return { repaired: true, actions };\n }\n}\n\nexport function createIntegrityChecker(dbPath: string): IntegrityChecker {\n return new IntegrityChecker(dbPath);\n}\n\nexport async function checkDatabaseIntegrity(dbPath: string): Promise<IntegrityCheckResult> {\n const checker = new IntegrityChecker(dbPath);\n return checker.check();\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Database Integrity Checker
3
+ *
4
+ * Provides integrity checking and repair operations for SQLite databases.
5
+ *
6
+ * @module recovery/integrity
7
+ */
8
+ import type { IntegrityCheckResult } from './types.js';
9
+ /**
10
+ * Checks and repairs SQLite database integrity
11
+ */
12
+ export declare class IntegrityChecker {
13
+ private dbPath;
14
+ /**
15
+ * Create a new IntegrityChecker
16
+ *
17
+ * @param dbPath - Path to the SQLite database file
18
+ */
19
+ constructor(dbPath: string);
20
+ /**
21
+ * Perform a comprehensive integrity check on the database
22
+ *
23
+ * @returns Detailed integrity check results
24
+ */
25
+ check(): IntegrityCheckResult;
26
+ /**
27
+ * Check integrity of a single table
28
+ */
29
+ private checkTable;
30
+ /**
31
+ * Attempt to repair the database
32
+ *
33
+ * Performs VACUUM and REINDEX operations to clean up and optimize the database.
34
+ *
35
+ * @returns True if repair was successful
36
+ */
37
+ repair(): boolean;
38
+ /**
39
+ * Optimize the database without full repair
40
+ *
41
+ * Runs incremental vacuum and analyze operations.
42
+ *
43
+ * @returns True if optimization was successful
44
+ */
45
+ optimize(): boolean;
46
+ /**
47
+ * Get database statistics
48
+ *
49
+ * @returns Object containing database statistics
50
+ */
51
+ getStats(): {
52
+ pageSize: number;
53
+ pageCount: number;
54
+ freePages: number;
55
+ walMode: boolean;
56
+ journalMode: string;
57
+ encoding: string;
58
+ };
59
+ }
60
+ /**
61
+ * Create an IntegrityChecker instance
62
+ *
63
+ * @param dbPath - Path to the SQLite database file
64
+ * @returns IntegrityChecker instance
65
+ */
66
+ export declare function createIntegrityChecker(dbPath: string): IntegrityChecker;
67
+ /**
68
+ * Convenience function to check database integrity
69
+ *
70
+ * @param dbPath - Path to the SQLite database file
71
+ * @returns Integrity check results
72
+ */
73
+ export declare function checkDatabaseIntegrity(dbPath: string): IntegrityCheckResult;
74
+ //# sourceMappingURL=integrity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrity.d.ts","sourceRoot":"","sources":["../../src/recovery/integrity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,YAAY,CAAC;AAIvE;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;IAEvB;;;;OAIG;gBACS,MAAM,EAAE,MAAM;IAI1B;;;;OAIG;IACH,KAAK,IAAI,oBAAoB;IA8F7B;;OAEG;IACH,OAAO,CAAC,UAAU;IA0FlB;;;;;;OAMG;IACH,MAAM,IAAI,OAAO;IA+BjB;;;;;;OAMG;IACH,QAAQ,IAAI,OAAO;IA8BnB;;;;OAIG;IACH,QAAQ,IAAI;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB;CA0BF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAG3E"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Database Recovery Types
3
+ *
4
+ * Type definitions for backup, restore, and integrity checking operations.
5
+ *
6
+ * @module recovery/types
7
+ */
8
+ /**
9
+ * Configuration for automatic backup scheduling
10
+ */
11
+ export interface BackupConfig {
12
+ /** Whether automatic backups are enabled */
13
+ enabled: boolean;
14
+ /** Interval between backups in milliseconds */
15
+ interval: number;
16
+ /** Maximum number of backups to retain */
17
+ maxBackups: number;
18
+ /** Directory path for storing backups */
19
+ backupPath: string;
20
+ /** Whether to compress backups using gzip */
21
+ compress: boolean;
22
+ }
23
+ /**
24
+ * Information about a single backup
25
+ */
26
+ export interface BackupInfo {
27
+ /** Unique identifier for the backup */
28
+ id: string;
29
+ /** Full path to the backup file */
30
+ path: string;
31
+ /** When the backup was created */
32
+ timestamp: Date;
33
+ /** Size of the backup file in bytes */
34
+ size: number;
35
+ /** SHA-256 checksum for integrity verification */
36
+ checksum: string;
37
+ /** Whether the backup is gzip compressed */
38
+ compressed: boolean;
39
+ }
40
+ /**
41
+ * Result of a restore operation
42
+ */
43
+ export interface RestoreResult {
44
+ /** Whether the restore was successful */
45
+ success: boolean;
46
+ /** Backup ID or path that was restored from */
47
+ restoredFrom: string;
48
+ /** When the restore was performed */
49
+ timestamp: Date;
50
+ /** Number of records restored */
51
+ recordsRestored: number;
52
+ /** Non-fatal issues encountered during restore */
53
+ warnings: string[];
54
+ /** Fatal errors that occurred (empty if success is true) */
55
+ errors: string[];
56
+ }
57
+ /**
58
+ * Options for restore operations
59
+ */
60
+ export interface RecoveryOptions {
61
+ /** Verify backup integrity before restoring */
62
+ verifyIntegrity?: boolean;
63
+ /** Force restore even if integrity check fails */
64
+ force?: boolean;
65
+ /** Specific backup ID to restore from */
66
+ targetBackup?: string;
67
+ }
68
+ /**
69
+ * Result of a database integrity check
70
+ */
71
+ export interface IntegrityCheckResult {
72
+ /** Whether the database passed all integrity checks */
73
+ valid: boolean;
74
+ /** Critical errors found */
75
+ errors: string[];
76
+ /** Non-critical warnings */
77
+ warnings: string[];
78
+ /** Per-table integrity information */
79
+ tables: TableIntegrity[];
80
+ }
81
+ /**
82
+ * Integrity information for a single table
83
+ */
84
+ export interface TableIntegrity {
85
+ /** Table name */
86
+ name: string;
87
+ /** Number of rows in the table */
88
+ rowCount: number;
89
+ /** Whether the table passed integrity checks */
90
+ valid: boolean;
91
+ /** List of issues found in the table */
92
+ issues: string[];
93
+ }
94
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/recovery/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,SAAS,EAAE,IAAI,CAAC;IAChB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,SAAS,EAAE,IAAI,CAAC;IAChB,iCAAiC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kDAAkD;IAClD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,KAAK,EAAE,OAAO,CAAC;IACf,4BAA4B;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sCAAsC;IACtC,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,KAAK,EAAE,OAAO,CAAC;IACf,wCAAwC;IACxC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB"}