@ginkoai/cli 1.0.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +6 -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,363 @@
1
+ /**
2
+ * @fileType: utility
3
+ * @status: current
4
+ * @updated: 2025-10-22
5
+ * @tags: [references, parsing, navigation, context-linking, prd-009, task-010]
6
+ * @related: [config-loader.ts, log.ts, session-log-manager.ts]
7
+ * @priority: high
8
+ * @complexity: medium
9
+ * @dependencies: [fs-extra, path, glob]
10
+ */
11
+ /**
12
+ * Reference Parser
13
+ *
14
+ * Extracts and resolves references between documentation (TASK-XXX, PRD-YYY, ADR-ZZZ, etc.)
15
+ * Enables bidirectional navigation: session logs → sprints → PRDs → ADRs
16
+ *
17
+ * Based on PRD-009 and TASK-010
18
+ */
19
+ import fs from 'fs-extra';
20
+ import path from 'path';
21
+ import { promisify } from 'util';
22
+ import glob from 'glob';
23
+ import { resolveProjectPath, loadProjectConfig } from './config-loader.js';
24
+ // Promisify glob for async/await usage
25
+ const globAsync = promisify(glob);
26
+ /**
27
+ * Reference patterns for extraction
28
+ * Matches: TASK-009, PRD-009, ADR-033, FEATURE-024, SPRINT-2025-10-22-name
29
+ */
30
+ const REFERENCE_PATTERNS = {
31
+ task: /\bTASK-(\d+)\b/g,
32
+ feature: /\bFEATURE-(\d+)\b/g,
33
+ prd: /\bPRD-(\d+)\b/g,
34
+ adr: /\bADR-(\d+)\b/g,
35
+ sprint: /\bSPRINT-(\d{4}-\d{2}-\d{2})-[\w-]+\b/g
36
+ };
37
+ /**
38
+ * Cache for resolved paths to avoid repeated filesystem operations
39
+ */
40
+ const resolvedPathCache = new Map();
41
+ /**
42
+ * Extract all references from text
43
+ *
44
+ * @param text - Text to search for references
45
+ * @returns Array of Reference objects
46
+ *
47
+ * @example
48
+ * const refs = extractReferences("Fixed TASK-006 per PRD-009 and ADR-033");
49
+ * // → [
50
+ * // { type: 'task', id: '006', rawText: 'TASK-006' },
51
+ * // { type: 'prd', id: '009', rawText: 'PRD-009' },
52
+ * // { type: 'adr', id: '033', rawText: 'ADR-033' }
53
+ * // ]
54
+ */
55
+ export function extractReferences(text) {
56
+ const references = [];
57
+ const seen = new Set(); // Deduplicate
58
+ for (const [type, pattern] of Object.entries(REFERENCE_PATTERNS)) {
59
+ // Reset regex state
60
+ pattern.lastIndex = 0;
61
+ let match;
62
+ while ((match = pattern.exec(text)) !== null) {
63
+ const rawText = match[0];
64
+ const id = match[1] || rawText.split('-').slice(1).join('-');
65
+ // Deduplicate based on rawText
66
+ if (!seen.has(rawText)) {
67
+ seen.add(rawText);
68
+ references.push({
69
+ type: type,
70
+ id,
71
+ rawText
72
+ });
73
+ }
74
+ }
75
+ }
76
+ return references;
77
+ }
78
+ /**
79
+ * Resolve a reference to its file path
80
+ * Uses config-loader to map reference types to directory paths
81
+ *
82
+ * @param reference - Reference to resolve
83
+ * @returns ResolvedReference with file path and exists flag
84
+ *
85
+ * @example
86
+ * const resolved = await resolveReference({ type: 'task', id: '006', rawText: 'TASK-006' });
87
+ * // → {
88
+ * // type: 'task',
89
+ * // id: '006',
90
+ * // rawText: 'TASK-006',
91
+ * // filePath: '/path/to/backlog/items/TASK-006.md',
92
+ * // exists: true
93
+ * // }
94
+ */
95
+ export async function resolveReference(reference) {
96
+ // Check cache first
97
+ const cacheKey = `${reference.type}:${reference.id}`;
98
+ if (resolvedPathCache.has(cacheKey)) {
99
+ const cachedPath = resolvedPathCache.get(cacheKey);
100
+ return {
101
+ ...reference,
102
+ filePath: cachedPath || null,
103
+ exists: cachedPath !== null
104
+ };
105
+ }
106
+ try {
107
+ const config = await loadProjectConfig();
108
+ // Map reference type to config path key
109
+ let pathKey;
110
+ let filePattern;
111
+ switch (reference.type) {
112
+ case 'task':
113
+ case 'feature':
114
+ pathKey = 'backlog';
115
+ filePattern = `${reference.rawText}*.md`;
116
+ break;
117
+ case 'prd':
118
+ pathKey = 'prds';
119
+ filePattern = `PRD-${reference.id}*.md`;
120
+ break;
121
+ case 'adr':
122
+ pathKey = 'adrs';
123
+ filePattern = `ADR-${reference.id}*.md`;
124
+ break;
125
+ case 'sprint':
126
+ pathKey = 'sprints';
127
+ filePattern = `${reference.rawText}*.md`;
128
+ break;
129
+ default:
130
+ resolvedPathCache.set(cacheKey, null);
131
+ return { ...reference, filePath: null, exists: false };
132
+ }
133
+ // Resolve directory path
134
+ const dirPath = await resolveProjectPath(pathKey);
135
+ // Handle different directory structures
136
+ let searchPath;
137
+ if (reference.type === 'task' || reference.type === 'feature') {
138
+ // Tasks and features are in backlog/items/
139
+ searchPath = path.join(dirPath, 'items', filePattern);
140
+ }
141
+ else {
142
+ // PRDs, ADRs, sprints are directly in their directories
143
+ searchPath = path.join(dirPath, filePattern);
144
+ }
145
+ // Use glob to find matching files (paths are already absolute)
146
+ const matches = await globAsync(searchPath);
147
+ if (matches.length > 0) {
148
+ // Take first match (should be unique per reference ID)
149
+ const resolvedPath = matches[0];
150
+ resolvedPathCache.set(cacheKey, resolvedPath);
151
+ return {
152
+ ...reference,
153
+ filePath: resolvedPath,
154
+ exists: true
155
+ };
156
+ }
157
+ // No match found
158
+ resolvedPathCache.set(cacheKey, null);
159
+ return {
160
+ ...reference,
161
+ filePath: null,
162
+ exists: false
163
+ };
164
+ }
165
+ catch (error) {
166
+ // Config loading failed or other error
167
+ resolvedPathCache.set(cacheKey, null);
168
+ return {
169
+ ...reference,
170
+ filePath: null,
171
+ exists: false
172
+ };
173
+ }
174
+ }
175
+ /**
176
+ * Validate references - check if all targets exist
177
+ * Non-blocking, returns validation results with warnings
178
+ *
179
+ * @param references - Array of references to validate
180
+ * @returns Validation results with broken references
181
+ *
182
+ * @example
183
+ * const validation = await validateReferences(refs);
184
+ * if (validation.broken.length > 0) {
185
+ * console.warn('Broken references:', validation.broken);
186
+ * }
187
+ */
188
+ export async function validateReferences(references) {
189
+ const resolved = await Promise.all(references.map(ref => resolveReference(ref)));
190
+ const valid = resolved.filter(r => r.exists);
191
+ const broken = resolved.filter(r => !r.exists);
192
+ return { valid, broken };
193
+ }
194
+ /**
195
+ * Load content of a referenced document
196
+ *
197
+ * @param reference - Resolved reference to load
198
+ * @returns File content or null if doesn't exist
199
+ *
200
+ * @example
201
+ * const content = await getReferencedContent(resolvedRef);
202
+ * if (content) {
203
+ * // Parse and use content
204
+ * }
205
+ */
206
+ export async function getReferencedContent(reference) {
207
+ if (!reference.exists || !reference.filePath) {
208
+ return null;
209
+ }
210
+ try {
211
+ return await fs.readFile(reference.filePath, 'utf-8');
212
+ }
213
+ catch {
214
+ return null;
215
+ }
216
+ }
217
+ /**
218
+ * Follow reference chain recursively (with depth limit)
219
+ * Detects circular references
220
+ *
221
+ * @param sourceRef - Starting reference to follow
222
+ * @param maxDepth - Maximum depth to traverse (default: 3)
223
+ * @returns ReferenceChain object
224
+ *
225
+ * @example
226
+ * const chain = await getReferenceChain(taskRef, 3);
227
+ * // → {
228
+ * // source: 'TASK-006',
229
+ * // chain: [
230
+ * // { type: 'feature', id: '024', rawText: 'FEATURE-024', ... },
231
+ * // { type: 'prd', id: '009', rawText: 'PRD-009', ... },
232
+ * // { type: 'adr', id: '037', rawText: 'ADR-037', ... }
233
+ * // ],
234
+ * // depth: 3
235
+ * // }
236
+ */
237
+ export async function getReferenceChain(sourceRef, maxDepth = 3) {
238
+ const chain = [];
239
+ const visited = new Set(); // Circular reference detection
240
+ async function followRef(ref, depth) {
241
+ if (depth >= maxDepth)
242
+ return;
243
+ const resolved = await resolveReference(ref);
244
+ const refKey = `${ref.type}:${ref.id}`;
245
+ // Circular reference detection
246
+ if (visited.has(refKey)) {
247
+ return;
248
+ }
249
+ visited.add(refKey);
250
+ if (!resolved.exists || !resolved.filePath) {
251
+ return;
252
+ }
253
+ chain.push(resolved);
254
+ // Load content and extract more references
255
+ const content = await getReferencedContent(resolved);
256
+ if (!content)
257
+ return;
258
+ const nestedRefs = extractReferences(content);
259
+ // Follow nested references
260
+ for (const nestedRef of nestedRefs) {
261
+ await followRef(nestedRef, depth + 1);
262
+ }
263
+ }
264
+ await followRef(sourceRef, 0);
265
+ return {
266
+ source: sourceRef.rawText,
267
+ chain,
268
+ depth: chain.length
269
+ };
270
+ }
271
+ /**
272
+ * Format reference chain as human-readable string
273
+ *
274
+ * @param chain - Reference chain to format
275
+ * @returns Formatted string like "TASK-006 → FEATURE-024 → PRD-009 → ADR-037"
276
+ *
277
+ * @example
278
+ * const formatted = formatReferenceChain(chain);
279
+ * console.log(formatted);
280
+ * // → "TASK-006 → FEATURE-024 → PRD-009 → ADR-037"
281
+ */
282
+ export function formatReferenceChain(chain) {
283
+ if (chain.chain.length === 0) {
284
+ return chain.source;
285
+ }
286
+ const refs = [chain.source, ...chain.chain.map(r => r.rawText)];
287
+ return refs.join(' → ');
288
+ }
289
+ /**
290
+ * Get backlinks - find all documents referencing a given document
291
+ * Useful for understanding what depends on a document
292
+ *
293
+ * @param targetRef - Reference to find backlinks for
294
+ * @param searchPaths - Array of directory paths to search (defaults to all doc paths)
295
+ * @returns Array of file paths containing references to target
296
+ *
297
+ * @example
298
+ * const backlinks = await getBacklinks({ type: 'prd', id: '009', rawText: 'PRD-009' });
299
+ * // → [
300
+ * // '/path/to/backlog/items/TASK-006.md',
301
+ * // '/path/to/backlog/items/TASK-010.md',
302
+ * // '/path/to/docs/sprints/SPRINT-2025-10-22-configuration-system.md'
303
+ * // ]
304
+ */
305
+ export async function getBacklinks(targetRef, searchPaths) {
306
+ try {
307
+ const config = await loadProjectConfig();
308
+ // Default search paths: all documentation directories
309
+ if (!searchPaths) {
310
+ const pathKeys = ['backlog', 'prds', 'adrs', 'sprints', 'sessions'];
311
+ searchPaths = await Promise.all(pathKeys.map(key => resolveProjectPath(key)));
312
+ }
313
+ const backlinks = [];
314
+ // Search all markdown files in search paths
315
+ for (const searchPath of searchPaths) {
316
+ const pattern = path.join(searchPath, '**', '*.md');
317
+ const files = await globAsync(pattern);
318
+ for (const file of files) {
319
+ try {
320
+ const content = await fs.readFile(file, 'utf-8');
321
+ const refs = extractReferences(content);
322
+ // Check if this file references our target
323
+ const hasReference = refs.some(r => r.type === targetRef.type && r.id === targetRef.id);
324
+ if (hasReference) {
325
+ backlinks.push(file);
326
+ }
327
+ }
328
+ catch {
329
+ // Skip files that can't be read
330
+ continue;
331
+ }
332
+ }
333
+ }
334
+ return backlinks;
335
+ }
336
+ catch {
337
+ return [];
338
+ }
339
+ }
340
+ /**
341
+ * Clear the resolved path cache
342
+ * Useful after file changes or for testing
343
+ */
344
+ export function clearResolvedPathCache() {
345
+ resolvedPathCache.clear();
346
+ }
347
+ /**
348
+ * Get all references from a file
349
+ * Convenience wrapper around extractReferences
350
+ *
351
+ * @param filePath - Path to file to extract references from
352
+ * @returns Array of Reference objects
353
+ */
354
+ export async function getReferencesFromFile(filePath) {
355
+ try {
356
+ const content = await fs.readFile(filePath, 'utf-8');
357
+ return extractReferences(content);
358
+ }
359
+ catch {
360
+ return [];
361
+ }
362
+ }
363
+ //# sourceMappingURL=reference-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-parser.js","sourceRoot":"","sources":["../../src/utils/reference-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,180 @@
1
+ /**
2
+ * @fileType: utility
3
+ * @status: current
4
+ * @updated: 2025-10-20
5
+ * @tags: [synthesis, session-resumption, flow-state, context]
6
+ * @related: [../core/session-log-manager.ts, ../commands/start/start-reflection.ts]
7
+ * @priority: critical
8
+ * @complexity: high
9
+ * @dependencies: [fs, path, simple-git, session-log-manager]
10
+ */
11
+ import { LogEntry } from '../core/session-log-manager.js';
12
+ /**
13
+ * Quality tier for progressive fail-safe
14
+ */
15
+ export type QualityTier = 'rich' | 'medium' | 'basic' | 'minimal';
16
+ /**
17
+ * Flow state assessment (1-10 scale)
18
+ */
19
+ export interface FlowState {
20
+ score: number;
21
+ energy: string;
22
+ emotionalTone: string;
23
+ indicators: {
24
+ positive: string[];
25
+ negative: string[];
26
+ };
27
+ timeContext: string;
28
+ }
29
+ /**
30
+ * Work context from session
31
+ */
32
+ export interface WorkContext {
33
+ completed: string[];
34
+ inProgress: string[];
35
+ blocked: string[];
36
+ }
37
+ /**
38
+ * Sprint context information
39
+ */
40
+ export interface SprintContext {
41
+ goal: string;
42
+ progress: number;
43
+ tasksCompleted: string[];
44
+ tasksRemaining: string[];
45
+ estimatedCompletion: string;
46
+ }
47
+ /**
48
+ * Discoveries made during session
49
+ */
50
+ export interface Discoveries {
51
+ decisions: LogEntry[];
52
+ insights: LogEntry[];
53
+ gotchas: string[];
54
+ }
55
+ /**
56
+ * Resume point with actionable next step
57
+ */
58
+ export interface ResumePoint {
59
+ summary: string;
60
+ nextAction: string;
61
+ suggestedCommand: string;
62
+ contextFiles: string[];
63
+ }
64
+ /**
65
+ * Complete synthesis output
66
+ */
67
+ export interface SynthesisOutput {
68
+ qualityTier: QualityTier;
69
+ workPerformed: WorkContext;
70
+ discoveries: Discoveries;
71
+ sprintContext: SprintContext | null;
72
+ flowState: FlowState;
73
+ resumePoint: ResumePoint;
74
+ warnings: string[];
75
+ }
76
+ /**
77
+ * Session Synthesis Engine
78
+ *
79
+ * Reads session logs and context to synthesize a complete picture
80
+ * for instant flow state on session resumption.
81
+ */
82
+ export declare class SessionSynthesizer {
83
+ private git;
84
+ private sessionDir;
85
+ private projectRoot;
86
+ constructor(sessionDir: string, projectRoot: string);
87
+ /**
88
+ * Synthesize from event-based LoadedContext (ADR-043)
89
+ *
90
+ * When using event-based context loading, this method converts the loaded events
91
+ * into a SynthesisOutput for display during session startup.
92
+ *
93
+ * @param eventContext - Loaded context from event stream (API)
94
+ * @param projectRoot - Project root directory for git operations
95
+ * @returns Synthesis output with resume point based on loaded events
96
+ */
97
+ static synthesizeFromEvents(eventContext: any, // LoadedContext from context-loader-events.ts
98
+ projectRoot: string): Promise<SynthesisOutput>;
99
+ /**
100
+ * Analyze work performed (static helper for event-based synthesis)
101
+ */
102
+ private static analyzeWorkPerformed;
103
+ /**
104
+ * Assess flow state from events (static helper)
105
+ */
106
+ private static assessFlowStateFromEvents;
107
+ /**
108
+ * Generate resume point from events (static helper)
109
+ */
110
+ private static generateResumePointFromEvents;
111
+ /**
112
+ * Format time ago (static helper)
113
+ */
114
+ private static formatTimeAgoStatic;
115
+ /**
116
+ * Check warnings from git (static helper)
117
+ */
118
+ private static checkWarningsFromGit;
119
+ /**
120
+ * Main synthesis method with progressive fail-safe
121
+ */
122
+ synthesize(): Promise<SynthesisOutput>;
123
+ /**
124
+ * Tier 1: Synthesize from session log (rich quality)
125
+ */
126
+ private trySessionLog;
127
+ /**
128
+ * Tier 2: Synthesize from handoff file (medium quality)
129
+ */
130
+ private tryHandoff;
131
+ /**
132
+ * Tier 3: Synthesize from git log (basic quality)
133
+ */
134
+ private tryGitLog;
135
+ /**
136
+ * Tier 4: Git status only (minimal quality)
137
+ */
138
+ private gitStatusFallback;
139
+ /**
140
+ * Analyze work performed from timeline entries
141
+ */
142
+ private analyzeWorkPerformed;
143
+ /**
144
+ * Load sprint context from docs/sprints/
145
+ */
146
+ private loadSprintContext;
147
+ /**
148
+ * Parse sprint markdown content
149
+ */
150
+ private parseSprintContent;
151
+ /**
152
+ * Assess flow state from session log metadata and entries
153
+ */
154
+ private assessFlowState;
155
+ /**
156
+ * Generate resume point from timeline and work context
157
+ */
158
+ private generateResumePoint;
159
+ /**
160
+ * Check for warnings based on session state
161
+ */
162
+ private checkWarnings;
163
+ /**
164
+ * Helper: Format time ago
165
+ */
166
+ private formatTimeAgo;
167
+ /**
168
+ * Helper: Extract section from handoff markdown
169
+ */
170
+ private extractSection;
171
+ /**
172
+ * Helper: Assess flow state from handoff
173
+ */
174
+ private assessFlowStateFromHandoff;
175
+ /**
176
+ * Helper: Generate resume point from handoff
177
+ */
178
+ private generateResumePointFromHandoff;
179
+ }
180
+ //# sourceMappingURL=synthesis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synthesis.d.ts","sourceRoot":"","sources":["../../src/utils/synthesis.ts"],"names":[],"mappings":"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"}