@ginkoai/cli 1.0.0 → 1.4.2

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 (506) hide show
  1. package/README.md +19 -0
  2. package/dist/analysis/project-analyzer.d.ts.map +1 -1
  3. package/dist/analysis/project-analyzer.js +68 -4
  4. package/dist/analysis/project-analyzer.js.map +1 -1
  5. package/dist/commands/architecture/architecture-pipeline-enhanced.d.ts.map +1 -1
  6. package/dist/commands/architecture/architecture-pipeline-enhanced.js +10 -6
  7. package/dist/commands/architecture/architecture-pipeline-enhanced.js.map +1 -1
  8. package/dist/commands/backlog/base.d.ts.map +1 -1
  9. package/dist/commands/backlog/base.js +3 -0
  10. package/dist/commands/backlog/base.js.map +1 -1
  11. package/dist/commands/backlog/create.js +20 -20
  12. package/dist/commands/backlog/create.js.map +1 -1
  13. package/dist/commands/backlog/index.d.ts.map +1 -1
  14. package/dist/commands/backlog/index.js +6 -1
  15. package/dist/commands/backlog/index.js.map +1 -1
  16. package/dist/commands/changelog/changelog-reflection.d.ts.map +1 -1
  17. package/dist/commands/changelog/changelog-reflection.js +7 -3
  18. package/dist/commands/changelog/changelog-reflection.js.map +1 -1
  19. package/dist/commands/charter.d.ts +28 -0
  20. package/dist/commands/charter.d.ts.map +1 -0
  21. package/dist/commands/charter.js +434 -0
  22. package/dist/commands/charter.js.map +1 -0
  23. package/dist/commands/documentation/documentation-pipeline.d.ts.map +1 -1
  24. package/dist/commands/documentation/documentation-pipeline.js +15 -7
  25. package/dist/commands/documentation/documentation-pipeline.js.map +1 -1
  26. package/dist/commands/git/git-pipeline.d.ts.map +1 -1
  27. package/dist/commands/git/git-pipeline.js +3 -2
  28. package/dist/commands/git/git-pipeline.js.map +1 -1
  29. package/dist/commands/graph/api-client.d.ts +212 -0
  30. package/dist/commands/graph/api-client.d.ts.map +1 -0
  31. package/dist/commands/graph/api-client.js +143 -0
  32. package/dist/commands/graph/api-client.js.map +1 -0
  33. package/dist/commands/graph/config.d.ts +82 -0
  34. package/dist/commands/graph/config.d.ts.map +1 -0
  35. package/dist/commands/graph/config.js +113 -0
  36. package/dist/commands/graph/config.js.map +1 -0
  37. package/dist/commands/graph/explore.d.ts +19 -0
  38. package/dist/commands/graph/explore.d.ts.map +1 -0
  39. package/dist/commands/graph/explore.js +117 -0
  40. package/dist/commands/graph/explore.js.map +1 -0
  41. package/dist/commands/graph/index.d.ts +17 -0
  42. package/dist/commands/graph/index.d.ts.map +1 -0
  43. package/dist/commands/graph/index.js +104 -0
  44. package/dist/commands/graph/index.js.map +1 -0
  45. package/dist/commands/graph/init.d.ts +21 -0
  46. package/dist/commands/graph/init.d.ts.map +1 -0
  47. package/dist/commands/graph/init.js +173 -0
  48. package/dist/commands/graph/init.js.map +1 -0
  49. package/dist/commands/graph/load.d.ts +21 -0
  50. package/dist/commands/graph/load.d.ts.map +1 -0
  51. package/dist/commands/graph/load.js +224 -0
  52. package/dist/commands/graph/load.js.map +1 -0
  53. package/dist/commands/graph/query.d.ts +23 -0
  54. package/dist/commands/graph/query.d.ts.map +1 -0
  55. package/dist/commands/graph/query.js +145 -0
  56. package/dist/commands/graph/query.js.map +1 -0
  57. package/dist/commands/graph/status.d.ts +15 -0
  58. package/dist/commands/graph/status.d.ts.map +1 -0
  59. package/dist/commands/graph/status.js +88 -0
  60. package/dist/commands/graph/status.js.map +1 -0
  61. package/dist/commands/handoff.d.ts +14 -5
  62. package/dist/commands/handoff.d.ts.map +1 -1
  63. package/dist/commands/handoff.js +84 -142
  64. package/dist/commands/handoff.js.map +1 -1
  65. package/dist/commands/init.d.ts.map +1 -1
  66. package/dist/commands/init.js +88 -41
  67. package/dist/commands/init.js.map +1 -1
  68. package/dist/commands/knowledge/create.d.ts +24 -0
  69. package/dist/commands/knowledge/create.d.ts.map +1 -0
  70. package/dist/commands/knowledge/create.js +180 -0
  71. package/dist/commands/knowledge/create.js.map +1 -0
  72. package/dist/commands/knowledge/graph.d.ts +21 -0
  73. package/dist/commands/knowledge/graph.d.ts.map +1 -0
  74. package/dist/commands/knowledge/graph.js +199 -0
  75. package/dist/commands/knowledge/graph.js.map +1 -0
  76. package/dist/commands/knowledge/index.d.ts +25 -0
  77. package/dist/commands/knowledge/index.d.ts.map +1 -0
  78. package/dist/commands/knowledge/index.js +121 -0
  79. package/dist/commands/knowledge/index.js.map +1 -0
  80. package/dist/commands/knowledge/search.d.ts +23 -0
  81. package/dist/commands/knowledge/search.d.ts.map +1 -0
  82. package/dist/commands/knowledge/search.js +157 -0
  83. package/dist/commands/knowledge/search.js.map +1 -0
  84. package/dist/commands/knowledge/sync.d.ts +28 -0
  85. package/dist/commands/knowledge/sync.d.ts.map +1 -0
  86. package/dist/commands/knowledge/sync.js +251 -0
  87. package/dist/commands/knowledge/sync.js.map +1 -0
  88. package/dist/commands/log.d.ts +32 -0
  89. package/dist/commands/log.d.ts.map +1 -0
  90. package/dist/commands/log.js +632 -0
  91. package/dist/commands/log.js.map +1 -0
  92. package/dist/commands/login.d.ts +27 -0
  93. package/dist/commands/login.d.ts.map +1 -0
  94. package/dist/commands/login.js +177 -0
  95. package/dist/commands/login.js.map +1 -0
  96. package/dist/commands/logout.d.ts +15 -0
  97. package/dist/commands/logout.d.ts.map +1 -0
  98. package/dist/commands/logout.js +31 -0
  99. package/dist/commands/logout.js.map +1 -0
  100. package/dist/commands/project/create.d.ts +22 -0
  101. package/dist/commands/project/create.d.ts.map +1 -0
  102. package/dist/commands/project/create.js +69 -0
  103. package/dist/commands/project/create.js.map +1 -0
  104. package/dist/commands/project/delete.d.ts +19 -0
  105. package/dist/commands/project/delete.d.ts.map +1 -0
  106. package/dist/commands/project/delete.js +73 -0
  107. package/dist/commands/project/delete.js.map +1 -0
  108. package/dist/commands/project/index.d.ts +22 -0
  109. package/dist/commands/project/index.d.ts.map +1 -0
  110. package/dist/commands/project/index.js +134 -0
  111. package/dist/commands/project/index.js.map +1 -0
  112. package/dist/commands/project/info.d.ts +15 -0
  113. package/dist/commands/project/info.d.ts.map +1 -0
  114. package/dist/commands/project/info.js +92 -0
  115. package/dist/commands/project/info.js.map +1 -0
  116. package/dist/commands/project/list.d.ts +20 -0
  117. package/dist/commands/project/list.d.ts.map +1 -0
  118. package/dist/commands/project/list.js +82 -0
  119. package/dist/commands/project/list.js.map +1 -0
  120. package/dist/commands/project/members.d.ts +27 -0
  121. package/dist/commands/project/members.d.ts.map +1 -0
  122. package/dist/commands/project/members.js +140 -0
  123. package/dist/commands/project/members.js.map +1 -0
  124. package/dist/commands/project/update.d.ts +24 -0
  125. package/dist/commands/project/update.d.ts.map +1 -0
  126. package/dist/commands/project/update.js +83 -0
  127. package/dist/commands/project/update.js.map +1 -0
  128. package/dist/commands/reflect.js +0 -3
  129. package/dist/commands/reflect.js.map +1 -1
  130. package/dist/commands/ship.d.ts +3 -1
  131. package/dist/commands/ship.d.ts.map +1 -1
  132. package/dist/commands/ship.js +100 -9
  133. package/dist/commands/ship.js.map +1 -1
  134. package/dist/commands/start/index.d.ts.map +1 -1
  135. package/dist/commands/start/index.js +5 -3
  136. package/dist/commands/start/index.js.map +1 -1
  137. package/dist/commands/start/start-reflection.d.ts +2 -1
  138. package/dist/commands/start/start-reflection.d.ts.map +1 -1
  139. package/dist/commands/start/start-reflection.js +265 -43
  140. package/dist/commands/start/start-reflection.js.map +1 -1
  141. package/dist/commands/status.d.ts +1 -1
  142. package/dist/commands/status.d.ts.map +1 -1
  143. package/dist/commands/status.js +41 -1
  144. package/dist/commands/status.js.map +1 -1
  145. package/dist/commands/team/create.d.ts +15 -0
  146. package/dist/commands/team/create.d.ts.map +1 -0
  147. package/dist/commands/team/create.js +48 -0
  148. package/dist/commands/team/create.js.map +1 -0
  149. package/dist/commands/team/index.d.ts +22 -0
  150. package/dist/commands/team/index.d.ts.map +1 -0
  151. package/dist/commands/team/index.js +109 -0
  152. package/dist/commands/team/index.js.map +1 -0
  153. package/dist/commands/team/list.d.ts +15 -0
  154. package/dist/commands/team/list.d.ts.map +1 -0
  155. package/dist/commands/team/list.js +67 -0
  156. package/dist/commands/team/list.js.map +1 -0
  157. package/dist/commands/team/members.d.ts +27 -0
  158. package/dist/commands/team/members.d.ts.map +1 -0
  159. package/dist/commands/team/members.js +135 -0
  160. package/dist/commands/team/members.js.map +1 -0
  161. package/dist/commands/team/projects.d.ts +19 -0
  162. package/dist/commands/team/projects.d.ts.map +1 -0
  163. package/dist/commands/team/projects.js +107 -0
  164. package/dist/commands/team/projects.js.map +1 -0
  165. package/dist/commands/team.d.ts +22 -0
  166. package/dist/commands/team.d.ts.map +1 -0
  167. package/dist/commands/team.js +238 -0
  168. package/dist/commands/team.js.map +1 -0
  169. package/dist/commands/testing/testing-pipeline-enhanced.d.ts.map +1 -1
  170. package/dist/commands/testing/testing-pipeline-enhanced.js +5 -3
  171. package/dist/commands/testing/testing-pipeline-enhanced.js.map +1 -1
  172. package/dist/commands/testing/testing-pipeline.d.ts.map +1 -1
  173. package/dist/commands/testing/testing-pipeline.js +5 -3
  174. package/dist/commands/testing/testing-pipeline.js.map +1 -1
  175. package/dist/commands/whoami.d.ts +15 -0
  176. package/dist/commands/whoami.d.ts.map +1 -0
  177. package/dist/commands/whoami.js +38 -0
  178. package/dist/commands/whoami.js.map +1 -0
  179. package/dist/core/reflection-pattern.d.ts +1 -1
  180. package/dist/core/reflection-pattern.d.ts.map +1 -1
  181. package/dist/core/reflection-pattern.js +2 -12
  182. package/dist/core/reflection-pattern.js.map +1 -1
  183. package/dist/core/session-log-manager.d.ts +44 -4
  184. package/dist/core/session-log-manager.d.ts.map +1 -1
  185. package/dist/core/session-log-manager.js +132 -31
  186. package/dist/core/session-log-manager.js.map +1 -1
  187. package/dist/index.d.ts +1 -1
  188. package/dist/index.js +116 -17
  189. package/dist/index.js.map +1 -1
  190. package/dist/lib/api/projects-client.d.ts +119 -0
  191. package/dist/lib/api/projects-client.d.ts.map +1 -0
  192. package/dist/lib/api/projects-client.js +125 -0
  193. package/dist/lib/api/projects-client.js.map +1 -0
  194. package/dist/lib/api/teams-client.d.ts +73 -0
  195. package/dist/lib/api/teams-client.d.ts.map +1 -0
  196. package/dist/lib/api/teams-client.js +68 -0
  197. package/dist/lib/api/teams-client.js.map +1 -0
  198. package/dist/lib/charter/charter-editor.d.ts +60 -0
  199. package/dist/lib/charter/charter-editor.d.ts.map +1 -0
  200. package/dist/lib/charter/charter-editor.js +559 -0
  201. package/dist/lib/charter/charter-editor.js.map +1 -0
  202. package/dist/lib/charter/charter-storage.d.ts +92 -0
  203. package/dist/lib/charter/charter-storage.d.ts.map +1 -0
  204. package/dist/lib/charter/charter-storage.js +501 -0
  205. package/dist/lib/charter/charter-storage.js.map +1 -0
  206. package/dist/lib/charter/charter-synthesizer.d.ts +94 -0
  207. package/dist/lib/charter/charter-synthesizer.d.ts.map +1 -0
  208. package/dist/lib/charter/charter-synthesizer.js +521 -0
  209. package/dist/lib/charter/charter-synthesizer.js.map +1 -0
  210. package/dist/lib/charter/charter-versioning.d.ts +57 -0
  211. package/dist/lib/charter/charter-versioning.d.ts.map +1 -0
  212. package/dist/lib/charter/charter-versioning.js +283 -0
  213. package/dist/lib/charter/charter-versioning.js.map +1 -0
  214. package/dist/lib/charter/confidence-scorer.d.ts +263 -0
  215. package/dist/lib/charter/confidence-scorer.d.ts.map +1 -0
  216. package/dist/lib/charter/confidence-scorer.js +737 -0
  217. package/dist/lib/charter/confidence-scorer.js.map +1 -0
  218. package/dist/lib/charter/conversation-context.d.ts +99 -0
  219. package/dist/lib/charter/conversation-context.d.ts.map +1 -0
  220. package/dist/lib/charter/conversation-context.js +297 -0
  221. package/dist/lib/charter/conversation-context.js.map +1 -0
  222. package/dist/lib/charter/conversation-facilitator.d.ts +117 -0
  223. package/dist/lib/charter/conversation-facilitator.d.ts.map +1 -0
  224. package/dist/lib/charter/conversation-facilitator.js +360 -0
  225. package/dist/lib/charter/conversation-facilitator.js.map +1 -0
  226. package/dist/lib/charter/question-templates.d.ts +82 -0
  227. package/dist/lib/charter/question-templates.d.ts.map +1 -0
  228. package/dist/lib/charter/question-templates.js +355 -0
  229. package/dist/lib/charter/question-templates.js.map +1 -0
  230. package/dist/lib/charter/signal-detection.d.ts +49 -0
  231. package/dist/lib/charter/signal-detection.d.ts.map +1 -0
  232. package/dist/lib/charter/signal-detection.js +338 -0
  233. package/dist/lib/charter/signal-detection.js.map +1 -0
  234. package/dist/lib/context-loader-events.d.ts +111 -0
  235. package/dist/lib/context-loader-events.d.ts.map +1 -0
  236. package/dist/lib/context-loader-events.js +475 -0
  237. package/dist/lib/context-loader-events.js.map +1 -0
  238. package/dist/lib/event-logger.d.ts +64 -0
  239. package/dist/lib/event-logger.d.ts.map +1 -0
  240. package/dist/lib/event-logger.js +197 -0
  241. package/dist/lib/event-logger.js.map +1 -0
  242. package/dist/lib/event-queue.d.ts +104 -0
  243. package/dist/lib/event-queue.d.ts.map +1 -0
  244. package/dist/lib/event-queue.js +274 -0
  245. package/dist/lib/event-queue.js.map +1 -0
  246. package/dist/lib/session-cursor.d.ts +80 -0
  247. package/dist/lib/session-cursor.d.ts.map +1 -0
  248. package/dist/lib/session-cursor.js +250 -0
  249. package/dist/lib/session-cursor.js.map +1 -0
  250. package/dist/lib/sync/conflict-detector.d.ts +41 -0
  251. package/dist/lib/sync/conflict-detector.d.ts.map +1 -0
  252. package/dist/lib/sync/conflict-detector.js +124 -0
  253. package/dist/lib/sync/conflict-detector.js.map +1 -0
  254. package/dist/lib/sync/logger.d.ts +89 -0
  255. package/dist/lib/sync/logger.d.ts.map +1 -0
  256. package/dist/lib/sync/logger.js +202 -0
  257. package/dist/lib/sync/logger.js.map +1 -0
  258. package/dist/lib/sync/parser.d.ts +32 -0
  259. package/dist/lib/sync/parser.d.ts.map +1 -0
  260. package/dist/lib/sync/parser.js +180 -0
  261. package/dist/lib/sync/parser.js.map +1 -0
  262. package/dist/lib/sync/scanner.d.ts +34 -0
  263. package/dist/lib/sync/scanner.d.ts.map +1 -0
  264. package/dist/lib/sync/scanner.js +97 -0
  265. package/dist/lib/sync/scanner.js.map +1 -0
  266. package/dist/lib/sync/uploader.d.ts +33 -0
  267. package/dist/lib/sync/uploader.d.ts.map +1 -0
  268. package/dist/lib/sync/uploader.js +188 -0
  269. package/dist/lib/sync/uploader.js.map +1 -0
  270. package/dist/lib/write-dispatcher/adapters/graph-adapter.d.ts +77 -0
  271. package/dist/lib/write-dispatcher/adapters/graph-adapter.d.ts.map +1 -0
  272. package/dist/lib/write-dispatcher/adapters/graph-adapter.js +178 -0
  273. package/dist/lib/write-dispatcher/adapters/graph-adapter.js.map +1 -0
  274. package/dist/lib/write-dispatcher/adapters/local-adapter.d.ts +133 -0
  275. package/dist/lib/write-dispatcher/adapters/local-adapter.d.ts.map +1 -0
  276. package/dist/lib/write-dispatcher/adapters/local-adapter.js +324 -0
  277. package/dist/lib/write-dispatcher/adapters/local-adapter.js.map +1 -0
  278. package/dist/lib/write-dispatcher/write-dispatcher.d.ts +151 -0
  279. package/dist/lib/write-dispatcher/write-dispatcher.d.ts.map +1 -0
  280. package/dist/lib/write-dispatcher/write-dispatcher.js +197 -0
  281. package/dist/lib/write-dispatcher/write-dispatcher.js.map +1 -0
  282. package/dist/types/charter.d.ts +330 -0
  283. package/dist/types/charter.d.ts.map +1 -0
  284. package/dist/types/charter.js +76 -0
  285. package/dist/types/charter.js.map +1 -0
  286. package/dist/types/config.d.ts +65 -17
  287. package/dist/types/config.d.ts.map +1 -1
  288. package/dist/types/config.js +50 -21
  289. package/dist/types/config.js.map +1 -1
  290. package/dist/utils/api-client.d.ts +36 -0
  291. package/dist/utils/api-client.d.ts.map +1 -0
  292. package/dist/utils/api-client.js +97 -0
  293. package/dist/utils/api-client.js.map +1 -0
  294. package/dist/utils/auth-storage.d.ts +56 -0
  295. package/dist/utils/auth-storage.d.ts.map +1 -0
  296. package/dist/utils/auth-storage.js +133 -0
  297. package/dist/utils/auth-storage.js.map +1 -0
  298. package/dist/utils/cleanup.d.ts +21 -0
  299. package/dist/utils/cleanup.d.ts.map +1 -0
  300. package/dist/utils/cleanup.js +122 -0
  301. package/dist/utils/cleanup.js.map +1 -0
  302. package/dist/utils/config-loader.d.ts +76 -0
  303. package/dist/utils/config-loader.d.ts.map +1 -0
  304. package/dist/utils/config-loader.js +269 -0
  305. package/dist/utils/config-loader.js.map +1 -0
  306. package/dist/utils/context-loader.d.ts +154 -0
  307. package/dist/utils/context-loader.d.ts.map +1 -0
  308. package/dist/utils/context-loader.js +411 -0
  309. package/dist/utils/context-loader.js.map +1 -0
  310. package/dist/utils/dispatcher-logger.d.ts +30 -0
  311. package/dist/utils/dispatcher-logger.d.ts.map +1 -0
  312. package/dist/utils/dispatcher-logger.js +128 -0
  313. package/dist/utils/dispatcher-logger.js.map +1 -0
  314. package/dist/utils/ginko-root.d.ts +3 -2
  315. package/dist/utils/ginko-root.d.ts.map +1 -1
  316. package/dist/utils/ginko-root.js +35 -2
  317. package/dist/utils/ginko-root.js.map +1 -1
  318. package/dist/utils/helpers.d.ts +1 -0
  319. package/dist/utils/helpers.d.ts.map +1 -1
  320. package/dist/utils/helpers.js +3 -0
  321. package/dist/utils/helpers.js.map +1 -1
  322. package/dist/utils/log-quality.d.ts +55 -0
  323. package/dist/utils/log-quality.d.ts.map +1 -0
  324. package/dist/utils/log-quality.js +297 -0
  325. package/dist/utils/log-quality.js.map +1 -0
  326. package/dist/utils/reference-parser.d.ts +164 -0
  327. package/dist/utils/reference-parser.d.ts.map +1 -0
  328. package/dist/utils/reference-parser.js +363 -0
  329. package/dist/utils/reference-parser.js.map +1 -0
  330. package/dist/utils/synthesis.d.ts +180 -0
  331. package/dist/utils/synthesis.d.ts.map +1 -0
  332. package/dist/utils/synthesis.js +724 -0
  333. package/dist/utils/synthesis.js.map +1 -0
  334. package/dist/utils/team-awareness.d.ts +127 -0
  335. package/dist/utils/team-awareness.d.ts.map +1 -0
  336. package/dist/utils/team-awareness.js +385 -0
  337. package/dist/utils/team-awareness.js.map +1 -0
  338. package/package.json +7 -4
  339. package/dist/commands/handoff/handoff-reflection-pipeline.d.ts +0 -106
  340. package/dist/commands/handoff/handoff-reflection-pipeline.d.ts.map +0 -1
  341. package/dist/commands/handoff/handoff-reflection-pipeline.js +0 -534
  342. package/dist/commands/handoff/handoff-reflection-pipeline.js.map +0 -1
  343. package/dist/commands/handoff/handoff-save.d.ts +0 -16
  344. package/dist/commands/handoff/handoff-save.d.ts.map +0 -1
  345. package/dist/commands/handoff/handoff-save.js +0 -72
  346. package/dist/commands/handoff/handoff-save.js.map +0 -1
  347. package/dist/commands/handoff/index.d.ts +0 -19
  348. package/dist/commands/handoff/index.d.ts.map +0 -1
  349. package/dist/commands/handoff/index.js +0 -55
  350. package/dist/commands/handoff/index.js.map +0 -1
  351. package/dist/commands/handoff-ai-orig.d.ts +0 -27
  352. package/dist/commands/handoff-ai-orig.d.ts.map +0 -1
  353. package/dist/commands/handoff-ai-orig.js +0 -405
  354. package/dist/commands/handoff-ai-orig.js.map +0 -1
  355. package/dist/commands/handoff-ai.d.ts +0 -27
  356. package/dist/commands/handoff-ai.d.ts.map +0 -1
  357. package/dist/commands/handoff-ai.js +0 -405
  358. package/dist/commands/handoff-ai.js.map +0 -1
  359. package/dist/commands/handoff-enhanced-orig.d.ts +0 -25
  360. package/dist/commands/handoff-enhanced-orig.d.ts.map +0 -1
  361. package/dist/commands/handoff-enhanced-orig.js +0 -349
  362. package/dist/commands/handoff-enhanced-orig.js.map +0 -1
  363. package/dist/commands/handoff-enhanced.d.ts +0 -25
  364. package/dist/commands/handoff-enhanced.d.ts.map +0 -1
  365. package/dist/commands/handoff-enhanced.js +0 -349
  366. package/dist/commands/handoff-enhanced.js.map +0 -1
  367. package/dist/commands/handoff-orig.d.ts +0 -10
  368. package/dist/commands/handoff-orig.d.ts.map +0 -1
  369. package/dist/commands/handoff-orig.js +0 -167
  370. package/dist/commands/handoff-orig.js.map +0 -1
  371. package/dist/commands/init-enhanced.d.ts +0 -20
  372. package/dist/commands/init-enhanced.d.ts.map +0 -1
  373. package/dist/commands/init-enhanced.js +0 -430
  374. package/dist/commands/init-enhanced.js.map +0 -1
  375. package/dist/commands/prd/prd-reflection-enhanced.d.ts +0 -63
  376. package/dist/commands/prd/prd-reflection-enhanced.d.ts.map +0 -1
  377. package/dist/commands/prd/prd-reflection-enhanced.js +0 -310
  378. package/dist/commands/prd/prd-reflection-enhanced.js.map +0 -1
  379. package/dist/commands/start-enhanced.d.ts +0 -19
  380. package/dist/commands/start-enhanced.d.ts.map +0 -1
  381. package/dist/commands/start-enhanced.js +0 -434
  382. package/dist/commands/start-enhanced.js.map +0 -1
  383. package/dist/commands/start.d.ts +0 -10
  384. package/dist/commands/start.d.ts.map +0 -1
  385. package/dist/commands/start.js +0 -119
  386. package/dist/commands/start.js.map +0 -1
  387. package/dist/core/config/config-aware-reflection.d.ts +0 -37
  388. package/dist/core/config/config-aware-reflection.d.ts.map +0 -1
  389. package/dist/core/config/config-aware-reflection.js +0 -97
  390. package/dist/core/config/config-aware-reflection.js.map +0 -1
  391. package/dist/core/config/config-loader.d.ts +0 -154
  392. package/dist/core/config/config-loader.d.ts.map +0 -1
  393. package/dist/core/config/config-loader.js +0 -424
  394. package/dist/core/config/config-loader.js.map +0 -1
  395. package/dist/core/config/config-migrator.d.ts +0 -150
  396. package/dist/core/config/config-migrator.d.ts.map +0 -1
  397. package/dist/core/config/config-migrator.js +0 -423
  398. package/dist/core/config/config-migrator.js.map +0 -1
  399. package/dist/core/config/config-schema.d.ts +0 -276
  400. package/dist/core/config/config-schema.d.ts.map +0 -1
  401. package/dist/core/config/config-schema.js +0 -277
  402. package/dist/core/config/config-schema.js.map +0 -1
  403. package/dist/core/config/index.d.ts +0 -260
  404. package/dist/core/config/index.d.ts.map +0 -1
  405. package/dist/core/config/index.js +0 -283
  406. package/dist/core/config/index.js.map +0 -1
  407. package/dist/core/config/interactive-config.d.ts +0 -76
  408. package/dist/core/config/interactive-config.d.ts.map +0 -1
  409. package/dist/core/config/interactive-config.js +0 -315
  410. package/dist/core/config/interactive-config.js.map +0 -1
  411. package/dist/core/config/path-config.d.ts +0 -121
  412. package/dist/core/config/path-config.d.ts.map +0 -1
  413. package/dist/core/config/path-config.js +0 -210
  414. package/dist/core/config/path-config.js.map +0 -1
  415. package/dist/core/config/path-resolver.d.ts +0 -151
  416. package/dist/core/config/path-resolver.d.ts.map +0 -1
  417. package/dist/core/config/path-resolver.js +0 -343
  418. package/dist/core/config/path-resolver.js.map +0 -1
  419. package/dist/core/config/project-detector.d.ts +0 -58
  420. package/dist/core/config/project-detector.d.ts.map +0 -1
  421. package/dist/core/config/project-detector.js +0 -310
  422. package/dist/core/config/project-detector.js.map +0 -1
  423. package/dist/core/config-backup/config-aware-reflection.d.ts +0 -37
  424. package/dist/core/config-backup/config-aware-reflection.d.ts.map +0 -1
  425. package/dist/core/config-backup/config-aware-reflection.js +0 -97
  426. package/dist/core/config-backup/config-aware-reflection.js.map +0 -1
  427. package/dist/core/config-backup/config-loader.d.ts +0 -71
  428. package/dist/core/config-backup/config-loader.d.ts.map +0 -1
  429. package/dist/core/config-backup/config-loader.js +0 -288
  430. package/dist/core/config-backup/config-loader.js.map +0 -1
  431. package/dist/core/config-backup/interactive-config.d.ts +0 -76
  432. package/dist/core/config-backup/interactive-config.d.ts.map +0 -1
  433. package/dist/core/config-backup/interactive-config.js +0 -315
  434. package/dist/core/config-backup/interactive-config.js.map +0 -1
  435. package/dist/core/config-backup/path-config.d.ts +0 -121
  436. package/dist/core/config-backup/path-config.d.ts.map +0 -1
  437. package/dist/core/config-backup/path-config.js +0 -210
  438. package/dist/core/config-backup/path-config.js.map +0 -1
  439. package/dist/core/config-backup/project-detector.d.ts +0 -58
  440. package/dist/core/config-backup/project-detector.d.ts.map +0 -1
  441. package/dist/core/config-backup/project-detector.js +0 -310
  442. package/dist/core/config-backup/project-detector.js.map +0 -1
  443. package/dist/core/documents/document-manager.d.ts +0 -97
  444. package/dist/core/documents/document-manager.d.ts.map +0 -1
  445. package/dist/core/documents/document-manager.js +0 -441
  446. package/dist/core/documents/document-manager.js.map +0 -1
  447. package/dist/core/documents/document-migrator.d.ts +0 -138
  448. package/dist/core/documents/document-migrator.d.ts.map +0 -1
  449. package/dist/core/documents/document-migrator.js +0 -349
  450. package/dist/core/documents/document-migrator.js.map +0 -1
  451. package/dist/core/documents/document-namer.d.ts +0 -111
  452. package/dist/core/documents/document-namer.d.ts.map +0 -1
  453. package/dist/core/documents/document-namer.js +0 -225
  454. package/dist/core/documents/document-namer.js.map +0 -1
  455. package/dist/core/documents/examples.d.ts +0 -74
  456. package/dist/core/documents/examples.d.ts.map +0 -1
  457. package/dist/core/documents/examples.js +0 -273
  458. package/dist/core/documents/examples.js.map +0 -1
  459. package/dist/core/documents/file-system.d.ts +0 -93
  460. package/dist/core/documents/file-system.d.ts.map +0 -1
  461. package/dist/core/documents/file-system.js +0 -432
  462. package/dist/core/documents/file-system.js.map +0 -1
  463. package/dist/core/documents/index.d.ts +0 -97
  464. package/dist/core/documents/index.d.ts.map +0 -1
  465. package/dist/core/documents/index.js +0 -119
  466. package/dist/core/documents/index.js.map +0 -1
  467. package/dist/core/documents/markdown-processor.d.ts +0 -84
  468. package/dist/core/documents/markdown-processor.d.ts.map +0 -1
  469. package/dist/core/documents/markdown-processor.js +0 -302
  470. package/dist/core/documents/markdown-processor.js.map +0 -1
  471. package/dist/core/documents/sequence-manager.d.ts +0 -107
  472. package/dist/core/documents/sequence-manager.d.ts.map +0 -1
  473. package/dist/core/documents/sequence-manager.js +0 -246
  474. package/dist/core/documents/sequence-manager.js.map +0 -1
  475. package/dist/core/documents/template-engine.d.ts +0 -101
  476. package/dist/core/documents/template-engine.d.ts.map +0 -1
  477. package/dist/core/documents/template-engine.js +0 -440
  478. package/dist/core/documents/template-engine.js.map +0 -1
  479. package/dist/core/platform/hook-migration.d.ts +0 -73
  480. package/dist/core/platform/hook-migration.d.ts.map +0 -1
  481. package/dist/core/platform/hook-migration.js +0 -339
  482. package/dist/core/platform/hook-migration.js.map +0 -1
  483. package/dist/core/platform/hook-migrator.d.ts +0 -49
  484. package/dist/core/platform/hook-migrator.d.ts.map +0 -1
  485. package/dist/core/platform/hook-migrator.js +0 -305
  486. package/dist/core/platform/hook-migrator.js.map +0 -1
  487. package/dist/core/platform/path-resolver.d.ts +0 -120
  488. package/dist/core/platform/path-resolver.d.ts.map +0 -1
  489. package/dist/core/platform/path-resolver.js +0 -339
  490. package/dist/core/platform/path-resolver.js.map +0 -1
  491. package/dist/core/platform/platform-templates.d.ts +0 -62
  492. package/dist/core/platform/platform-templates.d.ts.map +0 -1
  493. package/dist/core/platform/platform-templates.js +0 -364
  494. package/dist/core/platform/platform-templates.js.map +0 -1
  495. package/dist/core/pressure-monitor.d.ts +0 -76
  496. package/dist/core/pressure-monitor.d.ts.map +0 -1
  497. package/dist/core/pressure-monitor.js +0 -156
  498. package/dist/core/pressure-monitor.js.map +0 -1
  499. package/dist/core/validators/git-validator.test.d.ts +0 -12
  500. package/dist/core/validators/git-validator.test.d.ts.map +0 -1
  501. package/dist/core/validators/git-validator.test.js +0 -40
  502. package/dist/core/validators/git-validator.test.js.map +0 -1
  503. package/dist/core/validators/temp_index.d.ts +0 -56
  504. package/dist/core/validators/temp_index.d.ts.map +0 -1
  505. package/dist/core/validators/temp_index.js +0 -94
  506. package/dist/core/validators/temp_index.js.map +0 -1
@@ -0,0 +1,324 @@
1
+ /**
2
+ * @fileType: adapter
3
+ * @status: current
4
+ * @updated: 2025-11-02
5
+ * @tags: [write-adapter, local, filesystem, markdown, dual-write, adr-041]
6
+ * @related: [../write-dispatcher.ts, graph-adapter.ts, ../../packages/cli/src/core/session-log-manager.ts]
7
+ * @priority: high
8
+ * @complexity: low
9
+ * @dependencies: [fs-extra]
10
+ */
11
+ import * as fs from 'fs-extra';
12
+ import * as path from 'path';
13
+ /**
14
+ * LocalAdapter
15
+ *
16
+ * Writes knowledge documents to local filesystem as Markdown files.
17
+ * Used during dual-write migration period for safety and rollback capability.
18
+ *
19
+ * Environment Variables:
20
+ * - GINKO_DUAL_WRITE: 'true' to enable local writes alongside graph writes
21
+ *
22
+ * File Structure:
23
+ * - ADR: .ginko/archive/ADR/ADR-{number}-{slug}.md
24
+ * - PRD: .ginko/archive/PRD/PRD-{number}-{slug}.md
25
+ * - Pattern: .ginko/archive/patterns/{slug}.md
26
+ * - Gotcha: .ginko/archive/gotchas/{slug}.md
27
+ * - LogEntry: .ginko/sessions/{user}/current-session-log.md (append)
28
+ *
29
+ * Usage:
30
+ * ```typescript
31
+ * const adapter = new LocalAdapter({
32
+ * ginkoDir: '/path/to/.ginko'
33
+ * });
34
+ *
35
+ * dispatcher.registerAdapter(adapter);
36
+ * ```
37
+ */
38
+ export class LocalAdapter {
39
+ name = 'local';
40
+ config;
41
+ constructor(config) {
42
+ this.config = {
43
+ ginkoDir: config.ginkoDir,
44
+ archiveDir: config.archiveDir || path.join(config.ginkoDir, 'archive'),
45
+ };
46
+ }
47
+ /**
48
+ * Check if adapter is enabled via environment variable
49
+ */
50
+ enabled() {
51
+ return process.env.GINKO_DUAL_WRITE === 'true';
52
+ }
53
+ /**
54
+ * Write knowledge document to local filesystem
55
+ */
56
+ async write(document) {
57
+ if (!this.enabled()) {
58
+ throw new Error('LocalAdapter is not enabled. Check GINKO_DUAL_WRITE environment variable.');
59
+ }
60
+ try {
61
+ const filePath = await this.writeDocument(document);
62
+ return {
63
+ source: 'local',
64
+ path: filePath,
65
+ timestamp: new Date().toISOString(),
66
+ };
67
+ }
68
+ catch (error) {
69
+ throw new Error(`LocalAdapter write failed: ${error instanceof Error ? error.message : String(error)}`);
70
+ }
71
+ }
72
+ /**
73
+ * Write document to appropriate location
74
+ */
75
+ async writeDocument(document) {
76
+ switch (document.type) {
77
+ case 'ADR':
78
+ return this.writeADR(document);
79
+ case 'PRD':
80
+ return this.writePRD(document);
81
+ case 'Pattern':
82
+ return this.writePattern(document);
83
+ case 'Gotcha':
84
+ return this.writeGotcha(document);
85
+ case 'ContextModule':
86
+ return this.writeContextModule(document);
87
+ case 'LogEntry':
88
+ return this.appendLogEntry(document);
89
+ case 'Session':
90
+ return this.writeSession(document);
91
+ case 'CodeFile':
92
+ return this.writeCodeFile(document);
93
+ default:
94
+ throw new Error(`Unsupported document type: ${document.type}`);
95
+ }
96
+ }
97
+ /**
98
+ * Write ADR to docs/adr/
99
+ */
100
+ async writeADR(document) {
101
+ const adrDir = path.join(process.cwd(), 'docs', 'adr');
102
+ await fs.ensureDir(adrDir);
103
+ const slug = this.slugify(document.title);
104
+ const number = document.data.number || this.extractNumber(document.id);
105
+ const filename = `ADR-${number.toString().padStart(3, '0')}-${slug}.md`;
106
+ const filePath = path.join(adrDir, filename);
107
+ const content = this.formatADR(document);
108
+ await fs.writeFile(filePath, content, 'utf-8');
109
+ return filePath;
110
+ }
111
+ /**
112
+ * Write PRD to docs/PRD/
113
+ */
114
+ async writePRD(document) {
115
+ const prdDir = path.join(process.cwd(), 'docs', 'PRD');
116
+ await fs.ensureDir(prdDir);
117
+ const slug = this.slugify(document.title);
118
+ const number = document.data.number || this.extractNumber(document.id);
119
+ const filename = `PRD-${number.toString().padStart(3, '0')}-${slug}.md`;
120
+ const filePath = path.join(prdDir, filename);
121
+ const content = this.formatPRD(document);
122
+ await fs.writeFile(filePath, content, 'utf-8');
123
+ return filePath;
124
+ }
125
+ /**
126
+ * Write Pattern to archive/patterns/
127
+ */
128
+ async writePattern(document) {
129
+ const patternsDir = path.join(this.config.archiveDir, 'patterns');
130
+ await fs.ensureDir(patternsDir);
131
+ const slug = this.slugify(document.title);
132
+ const filename = `${slug}.md`;
133
+ const filePath = path.join(patternsDir, filename);
134
+ const content = this.formatPattern(document);
135
+ await fs.writeFile(filePath, content, 'utf-8');
136
+ return filePath;
137
+ }
138
+ /**
139
+ * Write Gotcha to archive/gotchas/
140
+ */
141
+ async writeGotcha(document) {
142
+ const gotchasDir = path.join(this.config.archiveDir, 'gotchas');
143
+ await fs.ensureDir(gotchasDir);
144
+ const slug = this.slugify(document.title);
145
+ const filename = `${slug}.md`;
146
+ const filePath = path.join(gotchasDir, filename);
147
+ const content = this.formatGotcha(document);
148
+ await fs.writeFile(filePath, content, 'utf-8');
149
+ return filePath;
150
+ }
151
+ /**
152
+ * Write ContextModule to context/modules/
153
+ */
154
+ async writeContextModule(document) {
155
+ const modulesDir = path.join(this.config.ginkoDir, 'context', 'modules');
156
+ await fs.ensureDir(modulesDir);
157
+ const slug = this.slugify(document.title);
158
+ const filename = `${slug}.md`;
159
+ const filePath = path.join(modulesDir, filename);
160
+ const content = this.formatContextModule(document);
161
+ await fs.writeFile(filePath, content, 'utf-8');
162
+ return filePath;
163
+ }
164
+ /**
165
+ * Append LogEntry to session log
166
+ */
167
+ async appendLogEntry(document) {
168
+ const userEmail = document.metadata?.userEmail || 'unknown';
169
+ const userSlug = userEmail.replace('@', '-at-').replace(/\./g, '-');
170
+ const sessionDir = path.join(this.config.ginkoDir, 'sessions', userSlug);
171
+ const logPath = path.join(sessionDir, 'current-session-log.md');
172
+ await fs.ensureDir(sessionDir);
173
+ const entry = this.formatLogEntry(document);
174
+ await fs.appendFile(logPath, entry, 'utf-8');
175
+ return logPath;
176
+ }
177
+ /**
178
+ * Write Session to archive/
179
+ */
180
+ async writeSession(document) {
181
+ const sessionsDir = path.join(this.config.archiveDir, 'sessions');
182
+ await fs.ensureDir(sessionsDir);
183
+ const timestamp = document.metadata?.timestamp || new Date().toISOString();
184
+ const filename = `session-${timestamp.replace(/:/g, '-')}.md`;
185
+ const filePath = path.join(sessionsDir, filename);
186
+ await fs.writeFile(filePath, document.content, 'utf-8');
187
+ return filePath;
188
+ }
189
+ /**
190
+ * Write CodeFile to archive/code/
191
+ */
192
+ async writeCodeFile(document) {
193
+ const codeDir = path.join(this.config.archiveDir, 'code');
194
+ await fs.ensureDir(codeDir);
195
+ const slug = this.slugify(document.title);
196
+ const ext = document.metadata?.extension || '.txt';
197
+ const filename = `${slug}${ext}`;
198
+ const filePath = path.join(codeDir, filename);
199
+ await fs.writeFile(filePath, document.content, 'utf-8');
200
+ return filePath;
201
+ }
202
+ /**
203
+ * Format ADR markdown with frontmatter
204
+ */
205
+ formatADR(document) {
206
+ const frontmatter = this.buildFrontmatter({
207
+ status: document.metadata?.status || 'proposed',
208
+ date: document.metadata?.date || new Date().toISOString().split('T')[0],
209
+ tags: document.metadata?.tags || [],
210
+ ...document.data,
211
+ });
212
+ return `---\n${frontmatter}---\n\n${document.content}`;
213
+ }
214
+ /**
215
+ * Format PRD markdown with frontmatter
216
+ */
217
+ formatPRD(document) {
218
+ const frontmatter = this.buildFrontmatter({
219
+ status: document.metadata?.status || 'draft',
220
+ date: document.metadata?.date || new Date().toISOString().split('T')[0],
221
+ tags: document.metadata?.tags || [],
222
+ ...document.data,
223
+ });
224
+ return `---\n${frontmatter}---\n\n${document.content}`;
225
+ }
226
+ /**
227
+ * Format Pattern markdown
228
+ */
229
+ formatPattern(document) {
230
+ const frontmatter = this.buildFrontmatter({
231
+ category: document.metadata?.category || 'pattern',
232
+ tags: document.metadata?.tags || [],
233
+ ...document.data,
234
+ });
235
+ return `---\n${frontmatter}---\n\n${document.content}`;
236
+ }
237
+ /**
238
+ * Format Gotcha markdown
239
+ */
240
+ formatGotcha(document) {
241
+ const frontmatter = this.buildFrontmatter({
242
+ category: document.metadata?.category || 'gotcha',
243
+ impact: document.metadata?.impact || 'medium',
244
+ tags: document.metadata?.tags || [],
245
+ ...document.data,
246
+ });
247
+ return `---\n${frontmatter}---\n\n${document.content}`;
248
+ }
249
+ /**
250
+ * Format ContextModule markdown
251
+ */
252
+ formatContextModule(document) {
253
+ const frontmatter = this.buildFrontmatter({
254
+ type: 'context-module',
255
+ tags: document.metadata?.tags || [],
256
+ ...document.data,
257
+ });
258
+ return `---\n${frontmatter}---\n\n${document.content}`;
259
+ }
260
+ /**
261
+ * Format log entry for appending
262
+ */
263
+ formatLogEntry(document) {
264
+ const timestamp = document.metadata?.timestamp
265
+ ? new Date(document.metadata.timestamp).toLocaleTimeString('en-US', { hour12: false, hour: '2-digit', minute: '2-digit' })
266
+ : new Date().toLocaleTimeString('en-US', { hour12: false, hour: '2-digit', minute: '2-digit' });
267
+ const category = document.metadata?.category || 'feature';
268
+ const impact = document.metadata?.impact || 'medium';
269
+ const files = document.metadata?.files || [];
270
+ let entry = `\n### ${timestamp} - [${category}]\n`;
271
+ entry += `${document.content}\n`;
272
+ if (files.length > 0) {
273
+ entry += `Files: ${files.join(', ')}\n`;
274
+ }
275
+ entry += `Impact: ${impact}\n`;
276
+ return entry;
277
+ }
278
+ /**
279
+ * Build YAML frontmatter from object
280
+ */
281
+ buildFrontmatter(data) {
282
+ let frontmatter = '';
283
+ for (const [key, value] of Object.entries(data)) {
284
+ if (value === undefined || value === null)
285
+ continue;
286
+ if (Array.isArray(value)) {
287
+ if (value.length > 0) {
288
+ frontmatter += `${key}:\n${value.map(v => ` - ${v}`).join('\n')}\n`;
289
+ }
290
+ }
291
+ else if (typeof value === 'object') {
292
+ frontmatter += `${key}: ${JSON.stringify(value)}\n`;
293
+ }
294
+ else {
295
+ frontmatter += `${key}: ${value}\n`;
296
+ }
297
+ }
298
+ return frontmatter;
299
+ }
300
+ /**
301
+ * Slugify a string for filename
302
+ */
303
+ slugify(text) {
304
+ return text
305
+ .toLowerCase()
306
+ .replace(/[^a-z0-9]+/g, '-')
307
+ .replace(/^-|-$/g, '')
308
+ .substring(0, 60);
309
+ }
310
+ /**
311
+ * Extract number from ID (e.g., 'adr_042' -> 42)
312
+ */
313
+ extractNumber(id) {
314
+ const match = id.match(/\d+/);
315
+ return match ? parseInt(match[0], 10) : Date.now();
316
+ }
317
+ }
318
+ /**
319
+ * Create LocalAdapter from environment and Ginko directory
320
+ */
321
+ export async function createLocalAdapterFromEnv(ginkoDir) {
322
+ return new LocalAdapter({ ginkoDir });
323
+ }
324
+ //# sourceMappingURL=local-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-adapter.js","sourceRoot":"","sources":["../../../../src/lib/write-dispatcher/adapters/local-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ /**
2
+ * @fileType: utility
3
+ * @status: current
4
+ * @updated: 2025-11-02
5
+ * @tags: [write-dispatch, adapter-pattern, multi-backend, adr-041]
6
+ * @related: [adapters/graph-adapter.ts, adapters/local-adapter.ts, api/v1/graph/_cloud-graph-client.ts]
7
+ * @priority: critical
8
+ * @complexity: medium
9
+ * @dependencies: []
10
+ */
11
+ /**
12
+ * Knowledge document types supported
13
+ */
14
+ export type KnowledgeDocumentType = 'ADR' | 'PRD' | 'Pattern' | 'Gotcha' | 'Session' | 'CodeFile' | 'ContextModule' | 'LogEntry';
15
+ /**
16
+ * Knowledge document structure
17
+ */
18
+ export interface KnowledgeDocument {
19
+ type: KnowledgeDocumentType;
20
+ id: string;
21
+ title: string;
22
+ content: string;
23
+ data: Record<string, any>;
24
+ metadata?: {
25
+ tags?: string[];
26
+ status?: string;
27
+ category?: string;
28
+ impact?: string;
29
+ files?: string[];
30
+ timestamp?: string;
31
+ [key: string]: any;
32
+ };
33
+ }
34
+ /**
35
+ * Write operation result
36
+ */
37
+ export interface WriteResult {
38
+ source: string;
39
+ id?: string;
40
+ path?: string;
41
+ error?: string;
42
+ timestamp: string;
43
+ }
44
+ /**
45
+ * Write adapter interface
46
+ * All write destinations implement this interface
47
+ */
48
+ export interface WriteAdapter {
49
+ name: string;
50
+ enabled(): boolean;
51
+ write(document: KnowledgeDocument): Promise<WriteResult>;
52
+ }
53
+ /**
54
+ * WriteDispatcher Configuration
55
+ */
56
+ export interface WriteDispatcherConfig {
57
+ primaryAdapter: string;
58
+ enabledAdapters?: string[];
59
+ dualWrite?: boolean;
60
+ failFast?: boolean;
61
+ }
62
+ /**
63
+ * WriteDispatcher
64
+ *
65
+ * Routes write operations to multiple backends using the adapter pattern.
66
+ * Supports dual-write migration strategy and graceful fallback.
67
+ *
68
+ * Architecture (ADR-041):
69
+ * - Primary adapter (graph) must succeed for write to be considered successful
70
+ * - Secondary adapters (local) run concurrently for dual-write period
71
+ * - Environment variables control which adapters are enabled
72
+ * - Single source of truth: graph for reads, dispatched writes
73
+ *
74
+ * Usage:
75
+ * ```typescript
76
+ * const dispatcher = new WriteDispatcher({ primaryAdapter: 'graph' });
77
+ * dispatcher.registerAdapter(new GraphAdapter());
78
+ * dispatcher.registerAdapter(new LocalAdapter());
79
+ *
80
+ * const result = await dispatcher.dispatch({
81
+ * type: 'ADR',
82
+ * id: 'adr_042',
83
+ * title: 'Use JWT',
84
+ * content: '# ADR-042...',
85
+ * data: { status: 'proposed' }
86
+ * });
87
+ * ```
88
+ */
89
+ export declare class WriteDispatcher {
90
+ private adapters;
91
+ private config;
92
+ constructor(config: WriteDispatcherConfig);
93
+ /**
94
+ * Register a write adapter
95
+ */
96
+ registerAdapter(adapter: WriteAdapter): void;
97
+ /**
98
+ * Unregister an adapter
99
+ */
100
+ unregisterAdapter(name: string): void;
101
+ /**
102
+ * Get list of registered adapters
103
+ */
104
+ getAdapters(): string[];
105
+ /**
106
+ * Get enabled adapters based on configuration
107
+ */
108
+ private getEnabledAdapters;
109
+ /**
110
+ * Dispatch write operation to all enabled adapters
111
+ *
112
+ * Strategy:
113
+ * 1. Execute all enabled adapters concurrently
114
+ * 2. Wait for primary adapter to complete
115
+ * 3. If primary fails, throw error (fail fast)
116
+ * 4. If primary succeeds, return its result
117
+ * 5. Secondary adapter failures are logged but don't block
118
+ *
119
+ * @throws Error if primary adapter fails
120
+ */
121
+ dispatch(document: KnowledgeDocument): Promise<WriteResult>;
122
+ /**
123
+ * Validate configuration and adapters
124
+ */
125
+ validate(): {
126
+ valid: boolean;
127
+ errors: string[];
128
+ };
129
+ /**
130
+ * Get dispatcher status
131
+ */
132
+ getStatus(): {
133
+ primaryAdapter: string;
134
+ registeredAdapters: string[];
135
+ enabledAdapters: string[];
136
+ dualWrite: boolean;
137
+ };
138
+ }
139
+ /**
140
+ * Initialize global dispatcher
141
+ */
142
+ export declare function initializeDispatcher(config: WriteDispatcherConfig): WriteDispatcher;
143
+ /**
144
+ * Get global dispatcher instance
145
+ */
146
+ export declare function getDispatcher(): WriteDispatcher;
147
+ /**
148
+ * Check if dispatcher is initialized
149
+ */
150
+ export declare function isDispatcherInitialized(): boolean;
151
+ //# sourceMappingURL=write-dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/lib/write-dispatcher/write-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,KAAK,GACL,KAAK,GACL,SAAS,GACT,QAAQ,GACR,SAAS,GACT,UAAU,GACV,eAAe,GACf,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,IAAI,OAAO,CAAC;IACnB,KAAK,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,MAAM,CAAkC;gBAEpC,MAAM,EAAE,qBAAqB;IASzC;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAI5C;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,WAAW,IAAI,MAAM,EAAE;IAIvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;;;;;;;;;;OAWG;IACG,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAsDjE;;OAEG;IACH,QAAQ,IAAI;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IA0BhD;;OAEG;IACH,SAAS,IAAI;QACX,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC7B,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,SAAS,EAAE,OAAO,CAAC;KACpB;CAUF;AAOD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,GAAG,eAAe,CAGnF;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,eAAe,CAK/C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD"}